Cái giá phải trả cho Metaprogramming

I. Lời nói đầu: Xin chào các bác. Đến hẹn lại lên, bài viết hôm nay sẽ chia sẻ về Metaprogramming . (dance2) Chắc hẳn các bạn đã từng nghe hoặc sử dụng nó rồi. Metaprogramming là phương pháp viết code động, những đoạn code được sinh ra không phải do lập trình viên viết từ đầu đến cuối, mà nó ...

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

Hai hướng tiếp cận để học lập trình: Top-Down và Bottom-Up

Trước đây hơn 1 năm, tôi may mắn được sếp dẫn đi để cùng phỏng vấn một vài bạn có kinh nghiệm 1, 2 năm. Lần đầu được tham gia với vai trò là người phỏng vấn, tôi khá hứng thú và cũng tự mình chuẩn bị một vài câu hỏi chuyên sâu một tý, nhưng lúc trao đổi với sếp (trước khi vào phỏng vấn) thì sếp lại ...

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

Tạo Một Ứng Dụng Android Theo Mô Hình Flux Architecture

Trong bài viết này tôi sẽ đi vào thực hành là tạo một ứng dụng nho nhỏ, chứ không đi sâu vào lý thuyết . Nhưng trước tiên tôi sẽ nói qua một chút về flux là gì. Giới thiệu sơ qua về kiến trúc Flux(Flux Architecture) Flux Architecture đã được xây dựng và sử dụng bới Facebook. Mục đích ban đầu ...

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

How to write better rspec

How to describe your methods Hãy rõ ràng về phương pháp bạn viết describe. Ví dụ, sử dụng documentation convention Ruby của "." (Hoặc: </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 15:47 ngày 12/08/2018

K-Nearest Neighbour trong opencv2

1. K-Nearest Neighbour (kNN) K-nearest neighbor (KNN) là một trong những thuật toán supervised-learning đơn giản nhất trong Machine Learning. Ý tưởng của KNN là tìm ra output của dữ kiệu dựa trên thông tin của những dữ liệu training gần nó nhất. Để hiểu về ý tưởng của KNN thì trước hết ta xem ...

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

Upload large file with rails

Problem Chắc hẳn ai từng động đến việc upload video đều phải đối mặt với vấn đề khi dung lượng video quá lớn, rất có thể chúng ta sẽ không thể upload mà nhận về 1 lỗi 413(request entity is too large) hoặc request time out. Cách phù hợp nhất mình tìm hiểu được để giải quyết vấn đề này là chia ...

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

Lưu trữ API Key trong Rails

Tổng quan Khi làm việc với Rails chắc chắn bạn cũng đã sử dụng quá API Key (hoặc id, password) của các bên thứ 3 ví dụ như : AWS ACCESS KEY GOOGLE ANALYTIC KEY GOOGLE MAP KEY MAILCHIMP_API_KEY ... Và cũng đang thắc mắc là chúng ta nên lưu trữ những thông tin này ở đâu ...

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

Introduction to Org-mode

Org-mode is a personal information management and outlining tool for Emacs. This document is a documentation of what I learn in ord-mode Obtaining org mode Org-mode is part of Emacs 22 and above. Configuration Make sure org-mode get load and add some basic global key combinations: ...

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

Mình đã làm bể cá thông minh như thế nào - Giới thiệu phần cứng - Wemos (phần 2)

Xin chào các bạn! Tiếp tục với chủ đề Làm bể cá thông minh, hôm nay mình xin giới thiệu với các bạn các khái niệm liên quan đến phần cứng. Các lưu ý khi sử dụng bất kì em vi xử lý nào. Bên cạnh đó mình sẽ giới thiệu với các bạn về Esp8266 (cụ thể ở đây là Wemos) và cách chinh phục em nó. Bài ...

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

Tìm hiểu về JQuery part 5

Chào tất cả mọi người. Tháng 8 mình sẽ tiếp tục với các bài viết liên quan đến Jquery. Trong 4 phần trước thì Chúng ta đã tìm hiểu kha khá kiến thức về Jquery rồi . Hôm nay chúng ta sẽ tiếp tục đi tìm hiểu làm thế nào để Thao tác DOM trong jQuery . jQuery cung cấp các phương thức để thao tác với ...

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

API Authentication sử dụng JWT trong Laravel

Hôm nay mình xin giới thiệu tới các bạn một ví dụ về API Authentication trong Laravel sử dụng JWT. Đây là một ví dụ mà mình thấy khá hữu ích trong việc xác thực người dùng trong các ứng dụng web. JSON Web Token (JWT) là một tiêu chuẩn mở (RFC 7519) định nghĩa một cách nhỏ gọn và an toàn để ...

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

[Hackintosh] Cài macOS Sierra lên Skylake

Đối với các bạn yêu thích công nghệ, đặc biệt là các sản phẩm của Apple nói chung và các bạn developer iOS nói riêng thì macOS hay macbook là những sản phẩm được tối ưu giữa phần cứng và phần mềm rất tốt và đặc biệt được các bạn developer sử dụng rất nhiều vì sự tiện lợi, tối ưu của nó. Tuy nhiên ...

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

Generic Protocols with Associated Type

Chúng ta đã biết về protocol và thường xuyên sử dụng chúng. Nhưng bạn đã khi nào nghe nói về generic protocol hay chưa? Trong bài viết này, mình sẽ giới thiệu về generic protocol và dùng nó với associated type. Trước khi đi sau hơn về generic protocols, bạn nên làm quen với đoạn code dưới đây. ...

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

Hướng dẫn tạo RESTfull API sử dụng node js, express và mysql

Để tạo project ta di chuyển đến thư mục project và thực thi dòng lệnh sau bằng cmd hoặc gitbash npm init -y câu lệnh này sẽ tạo cho bạn 1 file package.json tại thư mục hiện hành với các thông tin của project mặc định { "name": "RESTfullApi", "version": "1.0.0", "description": "", "main": ...

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

Từ hàng tỉ phép so sánh đến 10 giây

Mình mới làm một dự án nho nhỏ về xử lý dữ liệu cho khách hàng X. Dữ liệu không lớn lắm, chỉ vài trăm MB nhưng cũng có khá nhiều điều để nói. Mình viết bài này để chia sẻ lại với anh em cách mà mình đã làm nhé. Trong DB (MY_DOMAIN) mình có khoảng 500K domains có dạng /^[w]+(.com)?.vn$/ Hàng ...

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

iOS Animation - Phần 9: Tạo Shapes và Masks Layer

Lời nói đầu Trong bài tiếp theo về iOS Animation, mình xin giới thiệu đến các bạn về cách tạo và animation Shapes và Masks Layer. Với iOS, cách tạo Shapes và Masks Layer rất đơn giản. Chúng ta có thể vẽ một hình khối bất kỳ bằng class CAShapeLayer, đây là 1 subclass của class CALayer (một class ...

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

Yii framework - Tìm hiểu cấu trúc và chạy thử với basic application

Yii framework - cái tên có lẽ không còn xa lạ gì với các PHP Developer. Nhưng không hẳn tất cả chúng ta ai ai cũng sử dụng nó. Trước tiên đi vào nội dung, mình vẫn phải nói rằng "mình là newbie với Yii". Trong quá trình tìm hiểu, mình cũng phải đọc rất nhiều bài viết - tất nhiên không thể thiếu ...

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

Học hỏi thói quen của một lập trình viên năng suất

Cha đẻ của ngôn ngữ lập trình Perl-Larry Wall nói rằng các lập trình viên xuất sắc thường lười biếng, thiếu kiên nhẫn và ngạo mạn. Vì lười biếng nên họ viết chương trình tiết kiệm công sức và chuẩn bị tài liệu thật tốt để không phải trả lời các câu hỏi về chương trình. Sự thiếu kiên nhẫn khiến họ ...

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

kintone Plaform Part 1 - Giải pháp quản trị Database không cần lập trình

kintone Plaform Part 1 - Giải pháp Quản trị dữ liệu không cần lập trình kintone Plaform Part 2 - Sử dụng Plugin để mở rộng chức năng kintone Plaform Part 3 - Hướng dẫn phát triển Plug-in kintone Plaform Part 4 - Plug-ins list Quản trị CSDL luôn là bài toán khó với bất cứ tổ chức công ty nào dù ...

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

[Reactjs-redux] create form and validate with redux-form

Giới thiệu về redux-form redux-form là một components bậc cao cho form được sử dụng trong Redux React. Sử dụng redux-form giúp dễ dàng quản lý các state của form trong redux. Điều quan trọng nhất nó làm dễ dàng để validate các giá trị của form khi input form. Data flow Data flows ...

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