
Sử dụng Heroku Connect kết hợp với Flask và Psycopg2
Heroku Connect có thể dễ dàng build Heroku apps share data với hệ thống Saleforce của bạn. Ở trong bài viết này, mình sẽ giới thiệu cho bạn cách chạy một Python app với Psycopg2 trong Heroku. Với Heroku Connect bạn có thế sync dữ liệu giữa PostgreSQL và Saleforce. Psycopg là một trong những ...

Xử Lý Ngôn Ngữ Tự Nhiên với Python - P1
Xin chào anh em, đợt này tôi có tham gia một dự án khá thú vị về AI. Vai trò của tôi trong dự án và thiết kế các thành phần "biên", hiểu đơn giản là những thứ râu ria bên ngoài hệ thống Trí tuệ nhân tạo kia. Ví dụ viết Mobile App, Web quảng bá, xử lí truy cập API, xử lí dữ liệu đầu vào... Cũng là ...

Tìm hiểu về Software Testing Documentation (Tài liệu kiểm tra phần mềm)
Tất cả chúng ta đọc những bài viết khác nhau về các công nghệ và các phương pháp kiểm thử, nhưng có bao nhiêu người trong chúng ta đã thấy các bài viết về tài liệu kiểm thử phần mềm? có thể là rất ít. Và liệu có phải rằng các tài liệu không phải là thứ quan trọng? Câu trả lời là Không, chẳng qua ...

Bạn chọn QA là nghề nghiệp hay công việc ?
Liệu trong mỗi chúng ta đã bao giờ tự hỏi tại sao ngày hôm nay, tại thời điểm hiện tại, khi đang đọc bài viết này, mình lại là một QA? Tại sao không phải là một Developer hay một công việc hoàn toàn khác!? Bạn bắt đầu làm việc như một QA vì bạn cần một công việc, để kiếm tiền và đảm bảo nhu cầu ...

Cấu trúc dữ liệu OpenStruct
OpenStruct là một cấu trúc dữ liệu, tương tự như một Hash, cho phép định nghĩa các thuộc tính tùy ý với các giá trị kèm theo của chúng. Điều này được thực hiện bằng cách sử dụng metaprogramming của Ruby để xác định phương thức trên lớp. Việc sử dụng OpenStruct một cách hợp lý sẽ giải quyết được rất ...

Android performance improved If you didn''t forget some issues [Part1]
Có những thời điểm chúng ta khó khăn trong việc kiểm soát việc ứng dụng chạy "Đúng" nhưng rất chậm, bài toán lúc này là Performance ? Khi ứng dụng đã hoàn thành, việc đào bới lại code để thay đổi hiệu năng thực sự nó rất khủng khiếp. Bản thân mình đã có những lúc gặp tình trạng này và mong muốn tìm ...

Giới thiệu về Android Architecture Components (Phần I)
Có lẽ gần đây các Android dev chúng ta thường nghe nói (và/hoặc đã làm) về các mô hình kiến trúc (Architecture Pattern) của Android. Google cũng đã xây dựng hẳn 1 github repo dành để giới thiệu (và hướng dẫn) về các mô hình kiến trúc này. Tuy nhiên, việc xây dựng các kiến trúc đó mới chỉ dựa trên ...

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 ...

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 ...

[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ệ ...

[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 đề ...

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 ...

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 ...

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ả ...

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 ...

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ì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 ...

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 ...

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 ( 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 ...