Cách debug nodejs bằng google chrome

Cách debug nodejs bằng google chrome

Mở đầu Việc debug các ứng dụng dùng nodejs cần một số thao tác, mình trình bày cách để debug ứng dụng electron làm đại diện. Một ứng dụng electron bao gồm 2 phía là renderer-process (như client) và main-process (như backend), renderer-process chạy trên nền V8 của google chrome nên có thể debug trực tiếp trên browser. Muốn debug được main-process riêng cũng như debug các ứng dụng nodejs nói chung...

Một số khái niệm trong character encoding

Một số khái niệm trong character encoding

Mở đầu Máy tính chỉ làm việc với các bit 0 và 1 (hay chính xác hơn là các trạng thái ON/OFF của transitor trong bo mạch), lưu dữ liệu lên bộ nhớ, đọc dữ liệu, truyền dữ liệu, tất cả đều thao tác với các bit 0 1. Để có thể lưu trữ được dữ liệu lên bộ nhớ, cần một phương pháp để chuyển từ các chữ cái, ký tự,... sang bit 0 1, phương pháp được nhắc tới đó được gọi là encode, v&ag...

Upload ảnh lên imgur trong laravel

Upload ảnh lên imgur trong laravel

Mở đầu Khi phát triển một website, việc lưu trữ ảnh lên các server online thay vì server của chính mình giúp server của chúng ta tiết kiệm được rất nhiều bộ nhớ (disk). Hiện nay có rất nhiều dịch vụ cung cấp lưu trữ ảnh online và free như google photos, imgur, flickr,... Bài này mình xin trình bày một cách đơn giản để upload ảnh l...

Cơ bản về async await trong javascript

Cơ bản về async await trong javascript

Bài này giành cho những bạn bắt đầu học nodejs như mình. Khi bắt đầu lập trình với nodejs, vì javascript(js) là bất đồng bộ(asynchoronous) nên mình gặp khó khăn trong việc tổ chức code giống như trong lập trình đồng bộ (synchoronous). Việc cho các đoạn code vào trong các callback khiến mình cảm thấy code trở lên khó đọc theo luồng như trong PHP hay Ruby, nên mình đã tìm hiểu và sử dụng cú pháp async await theo chuẩn ES6 của JS. Sử dụng các cú pháp mới này giúp c...

Gửi gmail với oauth2 bằng nodemailer

Gửi gmail với oauth2 bằng nodemailer

Để có thể gửi được gmail từ API, bạn cần yêu cầu quyền của chủ tài khoản gmail. Ngay cả khi mail đó là của bạn thì bạn cũng cần phải yêu cầu cấp quyền từ chính mình và trao quyền cho chính mình thì mới dùng mail đó để gửi được. Để gửi được gmail dùng oauth2 thì các bước cấu hình và chuẩn bị khá lằng nhằng, cần tập trung chú ý những điểm sau: Cấu hình chính xác credentials trên console của google...

Giới thiệu về thread từ phần cứng ra phần mềm.

Giới thiệu về thread từ phần cứng ra phần mềm.

1. Nhìn từ phần cứng lên. a, Sơ lược về bộ nhớ. - Bộ nhớ ngoài: là ổ cứng của bạn, ở đây lưu trữ những tệp tin, video, nhạc,... - Bộ nhớ trong(RAM): khi nói tới bộ nhớ là mặc định nói tớ bộ nhớ trong, là bộ nhớ để load dữ liệu từ bộ nhớ ngoài lên RAM khi chạy một chương trình cho CPU truy xuất. RAM có tốc độ truy xuất nhanh hơn bộ nhớ ngoài. - Bộ nhớ cache: là bộ nhớ nằm trong CPU, được load từ RAM lên, giúp cho c&aacut...

Tạo API gateway gọi assyn trong aws

Tạo API gateway gọi assyn trong aws

1. Giới thiệu. AWS: amazon web service là các dịch vụ web do amazon cung cấp trên cloud như là database (RDS đối với mysq, dynamodb đối với nosql), server (EC2), file storate (S3), lambda, .... Trang chủ AWS: https://aws.amazon.com Lambda: Là dịch vụ cung cấp giải pháp tự động tính toán khi nhận một sự thay đổi từ DB hoặc S3 (tự động) hoặc được gọi một cách thủ công (thông qua API Gateway). Assyn: Bình thường nếu gọi hàm lamda th&ig...

joins, preload, include và eager_load với active record trong rails

joins, preload, include và eager_load với active record trong rails

Xét ví dụ: bảng zombies có quan hệ một nhiều với bảng weapons như sau:        1.Joins joins là câu lệnh join 2 bảng bình thường trong sql: Zombie.joins(:weapons) #return 6 rows #<ActiveRecord::Relation [ #<Zombie id: 1, name: "Ashley", graveyard: "Glen Haven Memorial Cemetery">, #<Zombie id: 2, name: "Bob", graveyard: "Chapel Hill Cemetery">, #<Zombie id: 3, name: "Katie", graveyard: "...

Giải thích bản chất của đạo hàm, tích phân và vi phân

Giải thích bản chất của đạo hàm, tích phân và vi phân

Mở đầu Bài này mình xin được giải thích bản chất của 3 khái niệm quan trọng bậc nhất trong đại số giải tích là đạo hàm, tích phân và vi phân để chỉ ra chúng có ý nghĩa như thế nào. Bài viết này sẽ không đi sâu vào chứng minh công thức, định nghĩa mà chỉ tập trung vào nói rõ bản chất của đạo hàm, tích phân v&...

Cách sử dụng webpack trong laravel

Cách sử dụng webpack trong laravel

Giới thiệu Khi làm một trang web, bạn luôn muốn cho trang web của mình trả lời người dùng một cách nhanh nhất có thể. Nó giúp tăng hiệu năng người dùng và cũng giúp cho SEO của web được tốt hơn. Một trong những lý do lớn nhất khiến cho một website phản hồi chậm chính là thời gian của http request lớn. Mỗi lần website lấy các tài nguyên(css, js, images) từ server nó đều phải gửi http request tới, thời gian của http request này chính là thời gian mà đ...