Blog Posts

Some blog posts written by me.

Xây dựng một cấu hình Emacs từ đầu

Emacs là một trình soạn thảo văn bản đa chức năng và có thể mở rộng các chức năng một cách mạnh mẽ. Khi chưa cấu hình (tất cả thiết lập để ở mặc định), Emacs có thể coi là trình soạn thảo hơi khó dùng, giao diện khá đơn giản, nếu không nói là xấu. Tuy nhiên khi tuỳ biến bằng các tệp cấu hình, bạn có thể biến Emacs thành bất cứ thứ gì bạn muốn. Đó là lý do Emacs có thể tồn tại được từ lần đầu tiên nó được sinh ra (năm 1976) cho tới nay và luôn là một trong các trình soạn thảo code được nhiều lập trình viên sử dụng nhất. Trong bài viết này tôi sẽ hướng dẫn các bạn cấu hình cơ bản Emacs từ đầu cho tới khi trở thành một trình soạn thảo đem lại cho bạn cảm giác thoải mái.

Read More

Một cách nhập xâu kí tự trong C - giải quyết vấn đề của fflush cho Linux, Mac OS

Khi lập trình C trên Windows, bạn có thể sử dụng fflush() để làm sạch bộ đệm trước khi nhập một xâu, tránh tình trạng “lạc trôi” của lệnh nhập xâu. Tuy nhiên khi làm việc với các hệ thống khác như Linux, hay Mac OS, mọi chuyện không đơn giản nữa: nhiều khi fflush() sẽ không làm việc. Bài viết này sẽ cho bạn một cách giải quyết đơn giản có thể chạy được trên cả Linux, Mac OS và cả Windows.

Read More

Lấy địa chỉ IP thật của client trên Heroku với Nodejs

Khi sử dụng Express js của Nodejs, bạn đơn giản chỉ cần sử dụng req.ip để lấy IP người dùng. Tuy thế, khi bạn ứng dụng của chúng ta được host trên Heroku thì việc lấy IP thế này sẽ cho kết quả sai, đơn giản vì Heroku thực hiện một số routing khiến IP bạn nhận được là IP của router Heroku hoặc proxy. Vậy chúng ta nên làm thế nào?

Read More

Tạo contact form đơn giản với Nodejs - nodemailer

Nếu website của bạn sử dụng một CMS như Wordpress thì việc tạo contact form đã khá dễ dàng với các plug-in. Tuy nhiên nếu bạn đang có một website tĩnh, bạn sẽ cần một dịch vụ để xử lí các form liên hệ của bạn. Bài viết này sẽ hướng dẫn bạn tự tạo một backend đơn giản để xử lí các form liên hệ.

Read More

Cài Certbot cho Raspbian Jessie

Certbot là package phía server sử dụng để lấy và deploy chứng chỉ SSL/TSL một cách tự động. Nó giúp setup một kết nối HTTPS cho máy chủ chỉ trong một nốt nhạc và hoàn toàn miễn phí với Let’s Encrypt.

Read More

Kinh nghiệm ban đầu với Fedora Linux

Fedora cũng là hệ điều hành nguồn mở dựa trên nhân linux, nó cũng miễn phí và đem lại cảm giác tự do, thoải mái như trên Ubuntu vậy. Thế đâu là sự khá biệt giữa chúng? Ubuntu được phát triển tập trung trở thành một hệ điều hành ổn định, dễ dùng để có thể thay thế Windows. Còn ở Fedora, ta tìm thấy một hệ điều hành luôn được tích hợp những chức năng, công nghệ mới nhất của thế giới nguồn mở. Fedora là phiên bản cộng đồng của Red Hat, một bản phân phối Linux thương mại khá nổi tiếng sử dụng cho máy chủ. Các tính năng mới nhất luôn được đưa vào Fedora, kiểm soát ổn định một thời gian trước khi trau chuốt và đưa vào phiên bản thương mại Red Hat.

Read More

Thuật toán loang ứng dụng trong game dò mìn

Thuật toán loang (thuật toán vết dầu loang) là một thuật toán dùng khá nhiều trong tin học, ứng dụng trong các bài toán thực tế như các bài toán tìm đường đi, game dò mìn, game line98… Gọi là thuật toán loang vì nguyên lí của thuật toán này rất giống với hiện tượng loang của chất lỏng. Khi ta đổ nước xuống một về mặt phẳng khô, nước có thể loang ra những khu vực xung quanh. Tương tự, thuật toán loang (trong một ma trận) sử dụng kĩ thuật “xét các ô liền kề”, rồi “loang” dần ra từ một vị trí ban đầu.

Read More

Thay đổi độ phân giải màn hình Raspberry Pi

Khi cài đặt các phiên bản hệ điều hành dựa trên Linux, tôi nhận thấy nhiều hệ điều hành đôi lúc không nhận được độ phân giải thật của màn hình máy tính, dẫn đến việc hiển thị màn hình với độ phân giải thấp hơn mức bình thường, khiến các đối tượng trên màn hình bị mờ, nhìn rất xấu.

Read More

Kinh nghiệm tạo website cá nhân với Jekyll (tiếp)

Website VietAnhDev.com sau khi chuyển sang Jekyll

Read More

Kinh nghiệm tạo website cá nhân với Jekyll

Website VietAnhDev.com sau khi chuyển sang Jekyll

Read More

A very simple guide to GNU Emacs

Emacs This guide was written in Emacs editor.

Read More

Lập trình viên nên tạo website cá nhân

Trong thời đại số mà các công nghệ, mạng xã hội đang ngày càng thể hiện sự ảnh hưởng của chúng, mỗi chúng ta không chỉ tồn tại trong thế giới thực, mà còn trong thế giới online. Sự hiện diện của mỗi người trong thế giới online đang dần trở nên quan trọng, khi mà ở đó, ta không những có thể kết nối với những người quen biết xung quanh mà còn được biết đến bởi gần một nửa dân số thế giới (hơn 3 triệu người trên thế giới đang là công dân của thế giới online – Theo internetlivestats). Việc hiện diện này với mỗi lập trình viên lại càng cần thiết. Nó mở ra những cơ hội rất lớn và mang về nhiều lợi ích. Hôm nay Việt Anh sẽ điểm qua một vài lợi ích khi lập trình viên có website cá nhân.

Read More

Designed by @vietanhdev.
Copyrighted