Callback trong Javascript

Khi bắt đầu làm việc hay tìm hiểu về Javascript, ta thường bắt gặp khái niệm gọi là callbacks. Bản thân mình khi mới bắt đầu làm việc vs Js cũng thấy khá là khó hiểu và chỉ sử dụng mà không hiểu bản chất. Tuy nhiên đây là khái niệm khá là quan trọng và cần nắm rõ cách thức hoạt động để khai thác ...

Tác giả: Trịnh Tiến Mạnh viết 15:53 ngày 12/08/2018

Thêm Pull-to-Refresh một cách đơn giản cho TableView và CollectionView

Pull to Refresh là 1 trong những thành phần giao diện phổ biến thường được sử dụng để làm mới nội dung, data trên 1 TableView hoặc CollectionView. Đây là 1 UI rất tiện lợi và đơn giản để sử dụng và sử dụng rộng rãi. Thao tác thực hiện rất đơn giản, bạn chỉ cần vuốt màn hình xuống để tải lại dữ liệu ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

[Bulk insert] Đôi chút về gem ''activerecord-import'' và cách sử dụng.

Khi phát triển phần mềm, việc ứng dụng sẽ có mốt số chức năng cần insert số lượng lớn bản ghi là điều dễ dàng gặp, ví dụ như thêm dữ liệu từ file excel, xml... hay khi ứng dụng được nâng cấp, đổi mã nguồn thì thường cần thiết phải convert một số lượng lớn dữ liệu từ hệ thống cũ. Nếu xây dựng hệ ...

Tác giả: Hoàng Hải Đăng viết 15:53 ngày 12/08/2018

[Ruby On Rails][Carrierwave] The solution for preventing the upload with dupplicate file name

Gem carrierWave có lẽ không còn xa lạ với cộng đồng Ruby on Rails Developer. Nó cùng với paperclip là 2 gem được sử dụng phổ biến nhất trong việc upload file. Tuy nhiên trong quá trình upload file, vấn đề mà có lẽ bất kì developer nào cũng gặp phải là việc dupplicate tên file. Để xử lý được vấn đề ...

Tác giả: Trịnh Tiến Mạnh viết 15:53 ngày 12/08/2018

Kỹ năng giao tiếp trong dự án Offshore

Bài viết sau dịch từ 1 bài trên qiita: オフショア開発とコミュニケーション Từ các kinh nghiệm của tôi đặc biệt là vào thời điểm khi các dự án outsource ngày càng nhiều thì tôi cho rằng với các kỹ sư Nhật Bản thì điều quan trọng nhất là kỹ năng giao tiếp. Chúng ta thuộc về nhiều nền văn hóa khác nhau, nói những ...

Tác giả: Hoàng Hải Đăng viết 15:53 ngày 12/08/2018

CSRF Protection in Rails

Đầu tiên, tấn công CSRF là gì? Cross-Site Request Forgery (CSRF) là kiểu tấn công cho phép một người dùng xấu giả mạo các yêu cầu hợp pháp và gửi chúng đến hệ thống của bạn. Chúng cố gắng gửi đến hệ thống như một người dùng đã được chứng thực trong hệ thống. Rails xây dựng hệ thống bảo vệ chống ...

Tác giả: Tạ Quốc Bảo viết 15:53 ngày 12/08/2018

Cách để zoom ảnh chỉ với Javascript và CSS thuần

Khi xây dựng một website bán hành điện tử, giới thiệu sản phẩm... ta luôn muốn sử dụng thật nhiều ảnh đẹp có độ chi tiết cao để gửi đến khách hàng những góc nhìn chi tiết nhất về sản phẩm. Tôi tin rằng phần lớn các website bán hàng đều có khả năng zoom vào các ảnh giới thiệu sản phẩm. Tất cả ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

Vai trò test lead trong dự án Agile là gì?

Trong thế giới phần mềm ngày nay, phương pháp agile đã không còn quá xa lạ, mà đã trở thành công cụ được sử dụng bởi nhiều công ty, nhưng nhiều tester sẽ tự hỏi, vậy con đường sự nghiệp đối với tester truyền thống sẽ như thế nào. Nhiều người trong chúng ta mặc định coi mục đích trong nghề làm test ...

Tác giả: Tạ Quốc Bảo viết 15:53 ngày 12/08/2018

Tuyệt đối không được Settings "Dưới 13 tuổi" khi test Apple ID!!!

Khái quát Nếu setting ngày tháng năm sinh của AppleID để tuổi là dưới 13 tuổi Khi đó account này đã trưởng thành??? Và nếu setting như vậy dẫn đến câu chuyện không thể sửa lại được ( ; ; ) Apple ID ? Mô tả chính thức về Apple ID các bản tham khảo tại đây: Apple Id Đó chính là tài khoản ...

Tác giả: Trịnh Tiến Mạnh viết 15:53 ngày 12/08/2018

Tìm hiểu Laravel từ số 0 (P9)

Tiếp sau phần 8 thì phần 9 này tôi sẽ trình bày nốt về những nội dung cuối cùng trong chuỗi bài về Laravel cơ bản này. Bao gồm các nội dung sau : Middleware Relationships Route Model Binding ! Trong phần trước chúng ta đã có thể login vào nhưng vẫn chưa có cơ chế điều khiển để những ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

6 kỹ năng cơ bản mà mỗi Tester nên có

Thử nghiệm Phần mềm hoặc QA là nền tảng tốt nhất cho những người mới đến vào ngành công nghiệp CNTT bất chấp những quan niệm sai lầm rằng đó là công việc được trả lương thấp hoặc thấp hơn. Kỹ năng quan trọng nhất mà người thử nghiệm cần là khả năng tìm ra lỗi . Và, nếu bạn là người yêu thích tìm ...

Tác giả: Trịnh Tiến Mạnh viết 15:53 ngày 12/08/2018

Bắt Đầu với Javascript (P4)

Trong phần này sẽ tiếp tục tìm hiểu về các câu lệnh, cấu trúc lệnh của javaScript. Trong javaScript kết thúc mỗi câu lệnh sẽ dùng dấu chấm phẩy (</p> <div class= Tác giả: Hoàng Hải Đăng viết 15:53 ngày 12/08/2018

The walking step ( Đếm bước chân di chuyển)

Các điện thoại thông minh (smartphone) ở phân khúc tầm trung trở lên ngày nay đều có định vị vệ tinh (GPS), lẫn các cảm biến, con quay hồi chuyển, gia tốc kế... nên đo đạc được các vận động cơ thể, và có độ chính xác cao hơn nếu là smartphone cao cấp. Điều kiện cần đã có, điều kiện đủ là các ứng ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

Tìm hiểu về Play Framework

Tổng quan Play framework giúp xây dựng web application với Java và Scala dễ dàng hơn. Play đi theo hướng phát triển web nhẹ và thân thiện với người dùng. Được xây dựng trên Akka, Play cung cấp resource tiêu thụ dự đoán và tối thiểu (CPU, bộ nhớ, các threads) cho các ứng dụng có khả năng mở rộng ...

Tác giả: Trịnh Tiến Mạnh viết 15:53 ngày 12/08/2018

Admin login as User with gem user_impersonate2

Có khi nào bạn tự hỏi người dùng đang làm những gì trong hệ thống của mình không? Nếu bạn đang triển khai 1 hệ thống, bạn ghi log, đọc log, query trong cơ sở dữ liệu của mình, bla bla, -> cũng không vất vả lắm nhỉ (yaoming) ( không bàn đến khía cạnh của khách hàng) chúng ta là những lập trình ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

Những điều cần biết về Web Cache

I. Giới thiệu Web cache là gì? Đó là thứ nằm giữa client và server, liên tục xem xet request và response, tìm kiếm bất cứ response nào có thể cached (lưu vào bộ nhớ đệm). Bởi vậy thời gian phản hồi sẽ rút ngắn khi cùng một request được gửi đi nhiều lần. Trước khi đi vào chi tiết, mình sẽ ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

Giới thiệu Vue Router

Ngày này, Khi các bạn lên google tìm kiếm với từ khóa "Vuejs" thì chắc chắn thông tin bạn nhận đc sẽ vô cùng nhiều. Bởi vì Vuejs bây giờ đã trở thành một trong những JS Framework đáng học nhất và ngày càng trở lên phổ biến. Ví dụ như mình search với từ khóa "Vuejs là gì?" thì có vô vàn kết quả ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

Tạo màn hình settings với SharedPreferences

Các ứng dụng android thường bao gồm màn hình setting cho phép người dùng thay đổi các tính năng cũng như hành vi của ứng dụng. Ví dụ, tắt-bật thông báo hay bao lâu thì ứng dụng sẽ đồng bộ dữ liệu từ trên cloud. Nếu muốn tạo màn hình setting cho ứng dụng của mình, ta nên dùng Android's preference ...

Tác giả: Tạ Quốc Bảo viết 15:53 ngày 12/08/2018

Tìm hiểu Smoke Testing

Smoke testing là một kịch bản kiểm tra nhỏ và nhanh chóng để kiểm tra các chức năng cơ bản nhất nhưng quan trọng nhất của hệ thống. Đó là một phép thử đơn giản cho thấy sản phẩm đã sẵn sàng để cho QA kiểm tra hay chưa, để tránh cho QA phải lãng phí thời gian và công sức. Việc thực hiện Smoke ...

Tác giả: Bùi Văn Nam viết 15:53 ngày 12/08/2018

Khi nào thì sử dụng Automation Testing?

Automated test là phương pháp hữu dụng và ấn tượng, thường được sử dụng để giúp tiến hành test một cách hiệu quả. Tuy nhiên, automated test lại không phù hợp với tất cả các dự án. Nguyên nhân là do thiếu thời gian và thiếu kĩ thuật . Là quá trình kiểm tra hệ thống với dữ liệu đầu vào và đầu ra ...

Tác giả: Hoàng Hải Đăng viết 15:53 ngày 12/08/2018