Nhập liệu với JSON Streaming

Tuần vừa rồi tôi khởi động một dự án nho nhỏ để thí nghiệm cách viết một JSON API hoàn chỉnh với Lotus Framework, có một thủ thuật về nhập liệu mà tôi thấy rất hay và muốn chia sẻ với mọi người, thủ thuật tôi gọi là nhập liệu thông qua streaming JSON object. Tôi có viết một gem tên cricos_scrape ...

Tác giả: Tạ Quốc Bảo viết 15:49 ngày 07/09/2018

Các thủ thuật để giấu secret key khỏi source control và ứng dụng với CI trong lập trình Android

Xin chào các bạn. Chắc hẳn mỗi chúng ta đều đã từng phát triển app sử dụng API của bên thứ 3, và chắc mọi người đều biết là hầu hết các API service đều yêu cầu chúng ta phải có 1 API key (secret token) để verify nguồn gốc của các request. Vậy thì tại sao chúng ta lại phải "giấu" API key này khỏi ...

Tác giả: Vũ Văn Thanh viết 15:49 ngày 07/09/2018

Mẹo để phục hồi mã của một gem về ban đầu

Một trong những thói quen của tôi là hay vọc sâu vào mã nguồn của một gem mà app tôi sử dụng qua lệnh bundle open gem_name rồi thêm vào các dòng debug hay thay đổi để xem cách gem nó hoạt động ra sao. Nhưng khổ nỗi là nếu vọc xong thì phải tháo bỏ các thay đổi về như cũ, cách thường làm là gem ...

Tác giả: Bùi Văn Nam viết 15:49 ngày 07/09/2018

Tạo lớp APIClient (Swift 3)

1. Giới thiệu Từ hồi mới bắt đầu làm IOS, thằng nào cũng hỏi mình có biết sử dụng AFNetworking không? Khổ nỗi lúc đó, mình mới chuyển từ làm game sang, rất ít dùng đến lib, đa số tự viết nên lơ tơ mơ không biết chúng nó nói đến cái gì. Dùng anh google tìm hiểu thì mình mới ngộ ra AFNetworking là ...

Tác giả: Vũ Văn Thanh viết 15:48 ngày 07/09/2018

Elixir cho dân Ruby - Phần 2

Bỏ quả phần 1? Xem phần 1 Trong phần này tôi sẽ giới thiệu về cách cấu trúc code trong Elixir, bắt đầu với biến (variable) và module. Để giúp các bạn độc giả Ruby tôi cũng sẽ cung cấp các ví dụ so sánh với các chức năng tượng tự có trên Ruby. Xin lưu ý, toàn bộ code sẽ được đánh thẳng vào iex ...

Tác giả: Bùi Văn Nam viết 15:48 ngày 07/09/2018

Sort, filter in action

Back to basic Hồi học phổ thông, tôi rất ấn tượng với một thằng giải toán bằng định nghĩa. Hắn học chuyên toán tự nhiên, ngồi trên tôi một bàn, quả thực không khó để tôi liếc được bài :D. Một cách giải thật đặc biệt, xuất phát từ định nghĩa cơ bản, trong khi cách giải thông thường là dùng công ...

Tác giả: Bùi Văn Nam viết 15:48 ngày 07/09/2018

Jump Start Sinatra 1.a - Sinatra là gì?

Rails rất "magical", để nhảy vào Rails từ Ruby cơ bản sẽ dễ dàng khiến cho bạn hoa mắt, hãy thử với Sinatra để có thể nắm rõ hơn cách một Web hoạt động và nâng cao kỹ năng lập trình bằng Ruby. Chuỗi bài viết này đều được biên dịch từ Jump Start Sinatra bởi Darren Jones . Đây là những gì mà ...

Tác giả: Trần Trung Dũng viết 15:47 ngày 07/09/2018

Slim tableview

1.Tản mạn Cách đơn giản nhất để giảm bớt bug là viết code ít đi. Chân lý đó đã được đưa vào một định luật nổi tiếng, hồi phổ thông ai cũng từng kinh qua. e = mc2 Dịch một cách chân phương là error = more code (càng nhiều code càng gây lỗi). Khoảng cách giữa coder và tester phụ thuộc ...

Tác giả: Trần Trung Dũng viết 15:47 ngày 07/09/2018

Ruby Object Clone and Duplication

Lately I've faced some Ruby Object Problems Actually this is the OOP object copy problem.But I dont know much about OOP so... Ok, enough trash talking. Let's do some code I used rails c for this mini testing test = {:a => 1, :b => 2 } a = test b = test a[:a] = 3 puts a {:a => ...

Tác giả: Tạ Quốc Bảo viết 15:46 ngày 07/09/2018

Cách tạo chuỗi query đơn giản

Có nhiều cách viết blog công nghệ hơn là làm bánh hay làm tình. Những ngày này Hà Nội mưa liên miên, được cái mát giời, mình lại tức cảnh sinh tình, bỗng dưng thèm viết blog. Chả là, dự án mình đang làm, phía đối tác cung cấp khá nhiều query để call api được thuận tiện. Để tạo một chuỗi query ...

Tác giả: Hoàng Hải Đăng viết 15:46 ngày 07/09/2018

Quản lý bộ nhớ trong Swift

Tại sao cần phải biết quản lý bộ nhớ? Nhà giàu mà không biết tiêu tiền cũng sạt nghiệp. Mặc dù phần cứng máy tính/điện thoại ngày càng phát triển, nhưng cứ tiêu xài hoan phí bộ nhớ thì dẫn đến app rất chậm, lag. Users chửi, khách hàng chửi Biết để đi phỏng vấn. Mình chưa đi phỏng vấn lần nào ...

Tác giả: Tạ Quốc Bảo viết 15:46 ngày 07/09/2018

Android Working With Volley Library

Volley là một Networking Library để quản lý các request Network và lưu trữ những response không cần các Developer viết nhiều code như trước . Các tools bên trong Volley cho phép cùng một lúc thưc hiện nhiều request trên các thread khác nhau với các mức độ ưu tiên ( priority ) khác nhau. Tất ...

Tác giả: Trần Trung Dũng viết 15:46 ngày 07/09/2018

Permit params trong Rails

Hôm nay mình xin chia sẻ về cách permit params trong Rails. Khi gửi data cho backend với dạng Content-Type: application/json Trường hợp 1: cái này đơn giản: { phone: "+84935999999" email: "[email protected]" } Ở controller chúng ta sẽ permit: def info_params ...

Tác giả: Tạ Quốc Bảo viết 15:45 ngày 07/09/2018

Enum hack

Giới thiệu Có nhiều cách để viết Enum hơn là làm bánh hay làm tình. Ở bài viết này mình sẽ trình bày một hướng đi, hi vọng mọi người sẽ like :D Kiểu phổ thông Chắc hẳn chúng ta thấy kiểu viết enum này rất quen thuộc, đặc biệt là đối với những ai dùng alamofire enum Result<T> { ...

Tác giả: Hoàng Hải Đăng viết 15:45 ngày 07/09/2018

Elixir cho dân Ruby - Phần 1

Tôi biết đây sẽ là câu hỏi đầu tiên của bất cứ lập trình viên nào trước khi quyết định dành thời gian học một ngôn ngữ nào đó. Có muôn vàn câu trả lời với nhiều quan điểm trái chiều nhưng tôi nghĩ các bạn đều đồng ý với tôi là mục tiêu tối thượng của lập trình là lựa chọn giải pháp hợp lý để ...

Tác giả: Trịnh Tiến Mạnh viết 15:45 ngày 07/09/2018

Tìm hiểu về Collection trong Laravel (Phần 1)

Collection là một class trong Laravel giúp lập trình viên làm việc với mảng dễ dàng hơn, đặc biệt khi thao tác với lượng dữ liệu từ Database vì mặc định trong Laravel kiểu dữ liệu trả về từ Laravel sẽ là Collection. Một điều đặc biệt nữa là giá trị trong collection sẽ bất biến (immutable), nghĩa ...

Tác giả: Bùi Văn Nam viết 15:44 ngày 07/09/2018

[Nghịch ngợm] Lỗ hổng của MXH mới Tsu.co và sự bất cẩn của lập trình viên

Tsu.co là gì? Gần đây mình mới biết đến 1 mạng xã hội mới có tên là Tsu.co nhờ thông qua mấy bài báo trên mạng về việc "Facebook đã ra tay chặn hoàn toàn mạng xã hội Tsu.co" . Để có thể hiểu hơn về Tsu.co các bạn có thể tham khảo trên mạng với từ khóa mình vừa kể trên. Nó có liên quan gì tới ...

Tác giả: Trần Trung Dũng viết 15:44 ngày 07/09/2018

So sánh UX giữa Google Maps và Apple Maps (phần 1)

Bài phân tích này lược dịch từ một bài trong chuỗi series về UX của UX Launchpad. Bạn có thể tìm đọc bài gốc trong link này. Trước khi đi sâu vào chi tiết, chúng ta hãy đồng ý với nhau 3 quan điểm dưới đây: Đội phát triển của Apple và Google (hẳn) là những con người cực kỳ thông minh và ...

Tác giả: Bùi Văn Nam viết 15:44 ngày 07/09/2018

Chạy ứng dụng React Native (Android) trên Window

Mục đích của cái log này là gì? ReactJS và React Native đang là những cái tên khá hot hiện nay, với phương châm "Learn once, write anywhere" , bộ đôi này giúp cho các Developer với kiến thức Javascript tốt có thể dễ dàng dev app cho cả IOS và Android. Tuy nhiên, Facebook team chỉ chính thức hỗ ...

Tác giả: Trịnh Tiến Mạnh viết 15:44 ngày 07/09/2018

Cài đặt Swift trên Ubuntu

Bài viết mình viết lại các bước cài đặt swift trên docker image ubuntu https://swift.org/download/#linux Đầu tiên tạo thư mục tạm để tải file : mkdir /tmp/swift cd /tmp/swift // có thể lấy link mới nhất trên trang chủ của swift wget https://swift.org/builds/ubuntu1404/swift-2.2 ...

Tác giả: Tạ Quốc Bảo viết 15:43 ngày 07/09/2018