Xây dựng thư viện javascript của riêng mình - Xây dựng thư viện crop ảnh (Phần 2)

Xin chào các bạn! Mình đã quay trở lại rồi đây. Ở phẩn 1 chúng ta đã chọn được ảnh, load được ảnh lên view và xoay ảnh đúng hướng. Trong phần 2 này chúng ta sẽ tạo các hàm thực hiện thao tác người dùng. Cụ thể là các hàm bắt sự kiện di chuyển chuột để di chuyển vị trí của ảnh, cuộn chuột để phóng ...

Tác giả: Hoàng Hải Đăng viết 11:07 ngày 16/08/2018

Angular 2 là kỹ năng lập trình được yêu thích nhất trong năm 2018

Mới đây theo trang Developer-tech mới đây vừa công bố khảo sát toàn cầu về các ngôn ngữ lập trình được yêu cầu nhiều nhất. C trở lại ngoạn mục trở thành ngôn ngữ lập trình phổ biến nhất năm 2017 Top ngôn ngữ lập trình được yêu thích nhất năm 2017 Khảo sát có ...

Tác giả: Bùi Văn Nam viết 11:07 ngày 16/08/2018

Ubuntu 17.10 sẽ không còn hỗ trợ 32-bit installation

Phiên bản LINUX DISTRO được nhiều người dùng lựa chọn, Ubuntu, vừa mới đưa ra thông báo sẽ không còn hỗ trợ 32-bit installations và giờ đây chỉ tập trung vào phiên bản 64-bit. Bắt đầu với Ubuntu 17.10, sẽ ra mắt trong tháng tới, Ubuntu sẽ thực hiện một yêu cầu từ Dimitri John ...

Tác giả: Bùi Văn Nam viết 11:07 ngày 16/08/2018

Kiểm tra thực hiện - Làm thế nào để đối phó với giai đoạn quan trọng nhất và xảy ra trong STLC

Test execution (thực hiện kiểm tra) là không có sự nghi ngờ, là giai đoạn quan trọng nhất và 'xảy ra' trong STLC và cả vòng đời phát triển. Tại sao lại nói vậy ? Bởi vì sự đóng góp công việc của mỗi đội và thành viên trong đội được xác nhận qua các câu hỏi: Nhà phân tích nghiệp vụ có giải ...

Tác giả: Hoàng Hải Đăng viết 11:07 ngày 16/08/2018

FlexboxLayout

ConstraintLayout (được công bố vào sự kiện Google I/O năm 2016) cho phép bạn thiết kế những layout phân cấp theo kiểu khung nhìn phẳng (flat view) lớn và có độ phức tạp cao. Tương tự như RelativeLayout , tất cả các view sẽ được phân bố theo bố cục các cấp bậc (tức là sẽ có các layout cha, và ...

Tác giả: Trịnh Tiến Mạnh viết 11:07 ngày 16/08/2018

Crack Password File Zip và Rar đơn giản với Python sử dụng kĩ thuật Brute Force

Bài viết tên kipalog– của tác giả Thành Minh Như các bạn đã biết, định dạng .zip và .rar là 1 trong những định dạng nén phổ biến nhất trên PC hay kể cả mobile. Việc crack password file zip hay rar cũng thực sự không hề khó, chỉ là việc hơi mất thời gian đối với các mật khẩu phức ...

Tác giả: Bùi Văn Nam viết 11:07 ngày 16/08/2018

Constraint Animations đơn giản trong ứng dựng iOS sử dựng Xcode và Swift

Có khi nào bạn lướt qua một ứng dụng iOS và thấy những animation thú vị, bạn tự nhủ "Mình có thể ứng dụng cái này nhưng nó nhìn có vẻ phức tạp". Trong bài viết này tôi sẽ giúp bạn sử dụng một số animation đơn giản mà không cần phải dùng đến bất kì một framework nào khác, bạn sẽ thấy nó không phức ...

Tác giả: Tạ Quốc Bảo viết 11:07 ngày 16/08/2018

Laravel Pagination - Đa phân trang trong một trang web

Trong Laravel 5.3 trở về trước, một trang web có nhiều hơn 1 phân trang sẽ là một vấn đề thì với Laravel 5.4 đã làm cho vấn đề này trở nên khá đơn giản. Tại sao phải có đa phân trang, ta xét với ví dụ sau đây: trong một website thương mại điện tử, khi thực hiện tìm kiếm, chúng ta muốn sẽ tìm ...

Tác giả: Trịnh Tiến Mạnh viết 11:07 ngày 16/08/2018

Debug gem trong rails

Khi code của gặp vấn đề ,chúng ta sẽ theo dõi màn hình console để biết được lỗi gì đang xảy ra.Nhưng đôi khi console không giúp chúng ta tìm được gốc rễ của lỗi mà chúng ta gặp phải .Khi đó gem byebug sẽ giúp bạn giải quyết vấn đề đó. Chúng ta có thể sử dụng byebug gem để đặt breakpoints và ...

Tác giả: Bùi Văn Nam viết 11:07 ngày 16/08/2018

Nên học ngôn ngữ trình nào cho người mới bắt đầu?

Đây một câu hỏi mà mình thường nhận được từ các em sinh viên mới ra trường, mới vào đại học, hoặc chưa biết gì về lập trình: “Giờ mình nên học ngôn ngữ lập trình nào đây?”. Nghe đơn giản, nhưng đây là 1 câu hỏi có độ khó khá cao, sánh ngang với câu “Em nên làm nghề gì, vào đại ...

Tác giả: Tạ Quốc Bảo viết 11:07 ngày 16/08/2018

Bạn đã thực sự hiểu rõ String chưa?

Hồi trước đi làm test của mấy công ti thấy lạ sao họ cho nhiều câu về String thế, thực sự lúc đó tôi chỉ nghĩ String thì có đếch gì đâu nhỉ, chỉ là 1 mảng các char + vài hàm phụ thêm thôi chứ có gì đâu, cái cần quan tâm là Thread, là OOP kia kìa… Cho đến một ngày, tôi đã tò mò ...

Tác giả: Hoàng Hải Đăng viết 11:06 ngày 16/08/2018

Windows 10 chuẩn bị có update lớn miễn phí vào ngày 2/8 này.

Hôm nay Microsoft sẽ cập nhật bản Windows 10 Anniversary vào ngày 2 tháng 8. Đây cũng đánh dấu ngày tròn 1 năm của Windows 10 kể từ lần xuất hiện hồi 29 tháng 7 năm 2015. Microsoft cho biết bản update này sẽ được miễn phí cho tất cả người đang dùng Windows 10, bản update bao gồm ...

Tác giả: Tạ Quốc Bảo viết 11:06 ngày 16/08/2018

Làm thế nào để report bug tốt? Mẹo và thủ thuật

1. Tại sao phải report bug tốt? Nếu báo cáo lỗi - report bug của tester có hiệu quả, thì cơ hội có thể fix bug sẽ cao hơn. Vì vậy, việc fix bug phụ thuộc ít nhiều vào mức độ hiệu quả của báo cáo. “ Mục tiêu của việc báo cáo vấn đề là để sửa lỗi ” - “ The point of writing ...

Tác giả: Tạ Quốc Bảo viết 11:06 ngày 16/08/2018

Các extension VS Code không thể thiếu cho coder sành điệu

Sau một thời gian dài sử dụng Sublime Text cho việc phát triển web thì tôi đã chuyển sang VS Code sau khi thấy được sự hữu dụng của nó. Và một phần không thể thiếu của mọi phần mềm code editor đó là extensions (ứng dụng mở rộng). Dưới đây tôi liệt kê một số extension sẽ làm cho cuộc đời coder của ...

Tác giả: Hoàng Hải Đăng viết 11:06 ngày 16/08/2018

Những điểm khác biệt chính giữa React JS và React – Native?

React native đã ra đời khoảng 4 năm, và trở thành một framework thực sự thú vị vì nó có thể được sử dụng cho Android và còn có thể xây dựng các ứng dụng di động đa nền tảng. Một số người đóng góp cũng framework tùy chỉnh để xây dựng ứng dụng dành cho máy tính để bàn cho Mac và Windows, khá hay ho. ...

Tác giả: Tạ Quốc Bảo viết 11:06 ngày 16/08/2018

Triết lý Unix và Node.js

Tại hội nghị TxJS vừa rồi, tôi đã có một bài trình bày trong đó có đề cập rằng Triết lý Unix là một phần quan trọng của mô hình, quan điểm, và văn hóa của Node.js. Như thường lệ, tôi đã đăng tải slide bài trình bày đó lên internet trước khi có thêm một video bàn về vấn đề này. Vì một ...

Tác giả: Hoàng Hải Đăng viết 11:06 ngày 16/08/2018

Kotlin standard functions: run, with, let, also and apply

Một vài standard functions trong Kotlin khá giống nhau khiến chúng ta không chắc chắn nên sử dụng function nào cho hợp lý. Bài viết này sẽ giới thiệu tới các bạn cách đơn giản để phân biệt rõ ràng sự khác biệt của chúng và cách chọn cái nào để sử dụng. Scoping functions Chúng ta có thể hiểu, ...

Tác giả: Trịnh Tiến Mạnh viết 11:06 ngày 16/08/2018

[RubyonRails] Ruby method lookup path

Một câu hỏi đơn giản nhưng khó trả lời. Ruby có nhiều cách khác nhau trong việc định nghĩa một method và thêm nó vào một class: Thêm nó vào singleton class Thêm nó vào class Include một module Prepend một module Extend một module Kế thừa từ superclass Nguyên ...

Tác giả: Trịnh Tiến Mạnh viết 11:06 ngày 16/08/2018

Software testing trends to watch out for in 2019

With the advent of Agile and DevOps development technologies, the software development industry is undergoing major disruptions. This has lead to the evolution of new testing approaches. The Quality Assurance professionals have to rapidly adapt to the changes in the software testing industry to ...

Tác giả: Tạ Quốc Bảo viết 11:06 ngày 16/08/2018

Quản lí giao tác (transaction) và điều khiển tương tranh

Như chúng ta đã từng biết một trong các chức năng chính của hệ QTCSDL là phải đảm bảo tính tin cậy, tính nhất quán của CSDL, ngay cả khi có nhiều người dùng đồng thời truy cập vào CSDL hay thậm chí ngay cả khi xảy ra sự cố (phần cứng hay phần mềm). Trong bài viết này chúng ta sẽ cùng nhau đi tìm ...

Tác giả: Tạ Quốc Bảo viết 11:06 ngày 16/08/2018