Quần Cam

#programming

Elixir - Ngôn ngữ được viết bằng macros

Macro không những là một trong những viên gạch giúp bạn meta-program với Elixir, mà nó còn là công cụ giúp Elixir meta-program … chính nó nữa.

Một số kĩ thuật caching với HTTP/1.1

Giới thiệu RFC7234 và một số kỹ thuật tăng tốc web với HTTP/1.1 Caching.

IO data và Vectored IO

Bài viết giới thiệu về IO data, Vectored I/O và tối ưu hóa hệ thống dùng Elixir bằng cách tận dụng Vectored I/O.

do {} while(0) loop

[Web nhà nghèo] Tui đã viết tính năng “chém gió” như thế nào?

Trình bày cách tui xây dựng chức năng comment cho blog thay cho Disqus mà không tốn một đồng nào cả.

[XML DoS] Những nụ cười rực rỡ

Làm thế nào để chỉ với một đoạn text vài trăm ký tự, bạn có thể làm ngốn vài gigabyte bộ nhớ và từ chối dịch vụ của một hệ thống dùng XML?

Poolboy và kĩ thuật pooling trong Erlang/Elixir

[Phỏng vấn] Parse file XML kích thước lớn như thế nào?

DOM là cách thông thường và gần như là chuẩn mực để parse file XML, tuy nhiên với những file XML lớn thì dùng DOM không thực sự hiệu quả. Bài viết giới thiệu cách dùng SAX parser với Saxy.

My engineering life

Hôm nay tui muốn kế cho các bạn nghe một câu chuyện phiếm về đời engineering, và cách học mà tui cho là hiệu quả.

[Elixir RSS Reader] Phần 1 - HTTP client

Đây là phần 1 của loạt bài viết hướng dẫn học Elixir của mình qua việc viết một RSS reader. Ở phần này mình sẽ viết về GenServer.

Build a blog in Elixir with Nabo and Phoenix

Nabo is a simple, extendable and fast blog engine written in Elixir. This blog post shows how easy it is to integrate Nabo into your Phoenix application.

Euruko 2017 Notes

Vừa rồi mình đi Euruko 2017 ở Budapest, một số bài nói cũng khá thú vị nên mình sẽ note lại ở đây.

Thế giới của abstraction và khi abstraction bị rò rỉ

Thế giới của chúng ta đang sống được xây dựng dựa trên các abstraction, vậy khi abstraction bị rò rỉ là ra sao?

Six confusing features in Ruby

In this post I am trying to point out some Ruby features you might want to use with a lot of caution.

How to explain rsync to a six year old

What would be the easiest way to explain how rsync works to a six year old?

[DIY] Tự viết driver cho Redis trong 30 phút với Rust

Rust là một ngôn ngữ lập trình mới đang khá nổi, vậy ngại gì mà không thử làm một cái gì với nó, như viết driver chẳng hạn

Bundler Gotcha

A few days ago I encountered a strange behavior of Bundler so this post notes down how my experience with it was.

Five Rails Gotchas

It’s undeniable that Rails is a great framework to speedily build up your application. However, despite of its handiness, like other frameworks, Rails has its own flaws and is never a silver bullet. This post is going to show you some of the gotchas (or pitfalls you name it) I encountered while working with Rails.

You don't need RVM gemset

We can’t deny the contribution RVM gemset gave up to the Ruby community, but do we really need gemsets to isolate our project dependencies these days?

Using Factory Girl with Hanami model

Hanami is one of the most popular and trending Ruby frameworks today, well-known for its clean architecture and testability. In this post we are going to explore how we can use Hanami Model with Factory for fast testing data generation.

Monkey Patching for good

Monkey-patching has been widely considered as bad practice in software development, in terms of source code management and maintainability.

How to BEM your front-end code with sass

I tried to refactor my CSS about two months ago when I started to realize that my CSS became unmaintainable, slow and messy.