Ruby Metaprogramming (Phần 1) - What is this Magic ?

Để cho các bạn đỡ cái cảm giác chán ngán khi đọc phần mở bài của bất cứ cái bài viết kỹ thuật nào cũng đều bắt gặp format dạng " abc là một beep beep beep được tạo ra bởi oạch oạch oạch phục vụ cho bla bla bla", hôm nay mình sẽ viết cái series này theo một cách freestyle nhất với mục đích là đảm ...

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

Giới thiệu về Axios - một HTTP Client dựa trên Promise của Javascript

Axios là một HTTP client được viết dựa trên Promises được dùng để hỗ trợ cho việc xây dựng các ứng dụng API từ đơn giản đến phức tạp và có thể được sử dụng cả ở trình duyệt hay Node.js. Việc tạo ra một HTTP request dùng để fetch hay lưu dữ liệu là một trong những nhiệm vụ thường thấy mà một ứng ...

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

Cách tích hợp Google Maps vào ứng dụng Ruby on Rails

Điều đầu tiên và quan trọng nhất bạn cần biết về Google Maps service đó là nó thật tuyệt vời! Google cung cấp công cụ Freemium với tốc độ cực nhanh, đáng tin cậy và có khả năng tùy biến cao. Hơn nữa, cho đến khi bạn đạt đến giới hạn 2500 yêu cầu mỗi ngày, nó hoàn toàn miễn phí, vì vậy nó phù hợp ...

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

Session và Cookie

1. Mở đầu Đối với các bạn mới bắt đầu lập trình web, đã từng bao giờ bạn thắc mắc tại sao web site lại chỉ cần login lần đầu tiên, những lần sau thì tự động login, làm thế nào để thực hiện được điều đó ? Đó chính là nhờ session và cookie, việc hiểu rõ và phân biệt hai khái niệm này là một việc ...

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

How To Optimize Your Site With GZIP Compression

Compression là kĩ thuật tương đối đơn giản và hiệu quả để user tiết kiệm được bandawidth và tăng tốc cho website của bạn. Nhưng với cương vị là một Web Developer, bạn đã bao giờ tự tìm hiểu cách mà gzip làm việc hay chưa? hay là vì sao chúng ta lại phải sử dụng nó hay chưa? Trước tiên chúng ta ...

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

Tìm hiểu về Seeder trong Laravel

Xin chào anh em, tiếp tục series Laravel và những điều thú vị về nó , hôm nay mình sẽ giới thiệu về Seeder trong Laravel cho các bạn. Như các bạn biết đấy, khi chúng ta tạo xong CSDL(các bạn có thể tham khảo tại bài viết Migration của mình để rõ hơn cách tạo table bằng Migration trong Laravel). ...

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

Tìm hiểu về hash table

Giới thiệu Thuật toán liên quan đến hash table được ứng dụng ở hầu hết các ngôn ngữ, là một trong những nền tảng về thuật toán và cấu trúc dữ liệu. Trong computing, hash table là một cấu trúc dữ liệu dùng để lưu theo các cặp key value, nó dùng hash function để tính toán tới một index, nơi lưu ...

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

DSL - Giải pháp vô hiệu hóa bộ nhớ đệm cấp trường trong Rails

Trong môi trường phát triển web hiện đại hiện nay, bộ nhớ đệm(cache) là một cách nhanh chóng và mạnh mẽ để tăng tốc ứng dụng của bạn. Khi sử dụng nó một cách hợp lý, bộ nhớ đệm có thể mang lại những cải tiến đáng kể cho performance ứng dụng của bạn. Nhưng khi sử dụng nó không hợp lý, nó sẽ là một ...

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

Android DataBinding in RecyclerView – Phần 2

Mời các bạn đọc phần 1 tại link này Video demo Bước 1. Tạo project mới: File ⇒ New Project và chọn Basic Activity từ templates. Bước 2. Enable DataBiding trong app/build.gradle. Ngoài ra, thêm dependencies của RecyclerView và Glide sau đó, đồng bộ hóa dự án. android { ...

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

Generic Repository trong Node.js với TypeScript

Generic Repository Pattern Khi làm việc với JavaScript chúng ta thường gặp phải vấn đề là việc share code giữa các app của chúng ta, chúng ta thường viết lại một đoạn code (lặp lại) ở một project khác. Pattern sẽ giúp chúng ta viết thành data abstraction, khi chúng ta có một hoặc nhiều class và ...

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

15 điều bạn cần biết Chrome DevTools

Đây là bài dịch, bài gốc mời các bạn xem ở đây: https://tutorialzine.com/2015/03/15-must-know-chrome-devtools-tips-tricks Google Chrome là trình duyệt web phổ biến nhất được các nhà phát triển web sử dụng ngày nay. Hầu hết các bạn đã quen thuộc với nhiều tính năng như chỉnh sửa CSS, debug ...

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

Thư viện load ảnh React Native Fast Image

Hôm nay mình xin giới thiệu với các bạn một thư viện load ảnh cực kì tiện dụng trong React native, nó dựa trên 2 thư viện SDWebImage đối với iOS và Glide đối Android. Còn hai thư viện này khi code native chắc các bạn cũng đã quá quen thuộc rồi đúng ko ạ. Nhìn vào 2 bức ảnh trên, hẳn các bạn ...

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

Linux Find command

Ở bài viết trước chúng ta đã sử dụng Ag để tìm kiếm các file có chứa các cụm từ cần tìm, nhưng điều gì sẽ xảy ra nếu chúng ta muốn tìm kiếm file bằng các tiêu chí khác thay vì chỉ tìm kiếm theo nội dung của file? Lệnh find là một công cụ tìm kiếm. Với lệnh find chúng ta có thể nhanh chóng tìm ...

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

Tìm hiểu GraphQL, Xây dựng 1 GraphQL server với prisma

1) GraphQL là gì? Được Facebook giới thiệu cùng với Relay tại React.js Conf 2015, GraphQL là một ngôn ngữ query cho API dùng để viết các câu API một cách uyển chuyển chính xác những gì cần có, trong các application hiện đại nhiều lớp với nhiều thành phần phụ thuộc được sử dụng ngày càng phổ ...

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

1 số lưu ý khi dùng rspec

Chào các bạn, chắc hẳn những ai đã và đang làm việc với ngôn ngữ ruby cũng như ruby on rails cũng đều đã sử dụng rspec - 1 công cụ dùng để test những đoạn code chúng ta viết ra xem liệu chúng có chạy đúng theo spec và chức năng hay không. Hôm nay mình xin nêu ra 1 số tips nho nhỏ khi sử dụng rspec ...

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

Working with Random Numbers in Python (Translated)

Một cái nhìn tổng quát về làm việc với sự ngẫu nhiên trong Python, chỉ sử dụng các hàm thư viện chuẩn. Generating Random Floats Between 0.0 and 1.0 Hàm random.random() trả về một số float ngẫu nhiên trong nửa khoảng [0.0, 1.0). Điều này có nghĩa là số ngẫu nhiên trả về sẽ luôn nhỏ hơn điểm ...

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

Xây dựng blog đơn giản (Node + React)

Dạo gần đây mình khá hứng thú với Nodejs và React. Đối với cá nhân mình, khi học công nghệ mới không nhất thiết phải xây dựng một ứng dụng cao siêu nào cả. Thì đó là cũng lý do, mình quyết định xây dựng một blog cá nhân đơn giản nhất. I love basic, mình rất thích những cái đơn giản vì sự đơn giản ...

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

Bắt đầu phát triển iOS Apps với Swift part 6.2 : Tạo Table View

Ở phần Bắt đầu phát triển iOS Apps với Swift part 6.1 : Tạo Table View chúng ta đã học được các kiến thức cơ bản như: Tạo được màn hình storyboard thứ 2 HIểu được các thành phần cơ bản của table view Tạo và thiết kết custom table view cell Ở Phần 6.2 này chúng ta sẽ cùng nhau tìm hiểu ...

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

Sửa lỗi SecurityException trên Android 8 do thiếu ContentProvider.

Nếu bạn nâng cấp targetSDK của ứng dụng lên Android Oreo (API 26) và gặp phải lỗi crash SecurityException, bạn có thể đã đến đúng nơi cần đến rồi đó </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 18:10 ngày 12/08/2018

Tìm hiểu về ARKit

1. ARKit ? Được ra đợi cùng iOS 11 ARKit : (Augmented Reality Kit) là một platform hỗ trợ AR trên các thiết bị di động của iOS (để sử dụng được hầu hết các tính năng, thiết bị cần có chip >= A9 ). ARKit giải quyết các vấn đề liên quan đến thực tại thông qua hình ảnh từ camera. Quen ...

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