#89 - Có nên dùng MD5, SHA1, SHA2 để băm mật khẩu?
Grokking TechTalk #34: ZaloPay Merchant Platform on K8S on-premise đã diễn ra với sự tham dự đông đảo của các lập trình viên tại văn phòng của VNG Corporation vào ngày 28/09/2019 vừa qua.
Anh Châu Nguyễn Nhật Thanh đã chia sẻ về những kinh nghiệm và những vấn đề cũng như đau thương khi sử dụng microservices cho hệ thống ZaloPay Merchant Platform sử dụng Kubernetes on-premise. Bạn có thể xem slide tại đây.
Những bài viết hay
How To Safely Store A Password — codahale.com
Chúng ta thường được khuyên hãy dùng muối (salt) để lưu trữ mật khẩu an toàn. Thế nhưng trong thời đại mà sức mạnh tính toán quá rẻ như hiện nay, nhiều muối vẫn chưa đủ, vì vậy việc lựa chọn thuật toán băm tốt hơn là rất quan trọng.
How Rust optimizes async/await — tmandry.gitlab.io
Rust đã được cộng đồng phát triển xây dựng cơ chế xử lý bất đồng bộ async/await. Tuy nhiên cơ chế async/await của Rust gặp những vấn đề về việc sử dụng một lượng lớn bộ nhớ vì vậy cần phải có những cơ chế giúp tối ưu. Quá trình xây dựng cơ chế async/await đi kèm với cải tiến về việc sử dụng bộ nhớ được một tác giả trình bày trong bài viết này.
A Lesson In Timing Attacks (or, Don’t use MessageDigest.isEquals) — codahale.com
Bạn nghĩ gì nếu ai đó bảo bạn phải làm cho code chạy chậm lại 1 tí?, “Nhanh” đã ăn sâu vào tiềm thức của lập trình viên chúng ta. Đó cũng là lí do Early Return pattern được dùng rất phổ biến. Timing Attack tấn công vào suy nghĩ lối mòn đó, và chỉ có 1 cách để phòng chống: cố tình làm cho code chậm lại.
So, I Created a Programming Language — medium.com
Một trong những cách để tìm hiểu về ngôn ngữ lập trình (NNLT) là tạo ra một chương trình dịch. Thông thường chương trình dịch sẽ gồm hai phần là: bộ phân tích cú pháp (lexer, parser) và bộ sinh mã (code generator). Nếu đầu ra của chương trình dịch là bytecode thì cần thêm một bộ máy ảo (virtual machine) để dịch mã bytecode này ra thành machine code trong quá trình khởi chạy. Đó là những thành phần cơ bản của một NNLT. Bài viết sau sẽ giúp bạn hình dung rõ hơn về quá trình tạo ra 1 NNLT đơn giản có tên là Ethereal, kiến trúc của nó cũng được tác giả chia sẻ tại đây
Bạn có biết
HTTP/3: the past, the present, and the future
HTTP/3 chính là HTTP protocol được thiết kế lại trên nền QUIC protocol, thay vì sử dụng TCP ở tầng Transport. Trong giao thức mới này, các request/response có thể thực hiện song song mà ko xảy ra tình trạng "head of line blocking", giúp tăng tốc độ request/response.
Code & Tools
10 lessons learned from the Ruby Refactoring Kata - Tennis Game — blog.arkency.com
Những bài học rút ra khi refactoring game Tennis trên Ruby.
Một số phiên bản OS của Fedora, SUSE và RedHat đã được cập nhật với những thay đổi về bảo mật
Sự kiện công nghệ
.NET Conf 2019 HCMC — devcafevn.github.io
.NET Conf 2019 - HCMC là một sự kiện hoàn toàn miễn phí. Tham gia sự kiện, bạn có cơ hội gặp gỡ các anh/chị .NET expert tại Việt Nam. Đăng kí tham gia .NET Conf 2019 - HCMC để tìm hiểu thêm về .NET Core 3 cũng như hệ sinh thái của .NET Core: Xamarin, gRPC, GraphQL, Blazor . . .
OpenTechSummit Vietnam 2019 — www.facebook.com
Open Tech Summit là chuỗi sự kiện cộng nghệ về chủ đề các giải pháp mã nguồn mở được tổ chức ở Singapore, Ho Chi Minh, Bangkok, Shenzhen, Hyderabad và Berlin. Chuỗi sự kiện này nhằm kết nối lập trình viên và cộng đồng users để giúp chia sẻ kinh nghiệm về những công nghệ mới nhất như AI, Database, Cloud, Open Hardware, ...
Sự kiện OpenTechSummit Vietnam sẽ diễn ra vào ngày 11-12 tháng 11 tại văn phòng Officience Vietnam (16A Le Hong Phong, District 10, HCMC).
BarCamp Saigon 2019 - Off the beaten path — www.facebook.com
Barcamp là format khá nổi tiếng trên thế giới, chỉ tính riêng khu vực Châu Á thì hầu hết mỗi thành phố lớn điều có một Barcamp cho riêng mình. Với các tiêu chí: Unconference, chủ đề đa đạng, miễn phí cho người tham gia và mục tiêu của Barcamp đặt ra là để kết nối mọi người, cùng chia sẻ với nhau.
Sự kiện sẽ diễn ra vào ngày: 06 - 10 - 2019 (Chủ Nhật) sắp tới, tại trường Đại học RMIT (Nguyễn Văn Linh, Quận 7, HCMC).
This week sponsor
Được thành lập từ năm 2004, VNG Corporation là một trong những công ty Internet Công Nghệ hàng đầu tại Việt Nam, được vinh danh là start-up kỳ lân đầu tiên của Việt Nam tính đến thời điểm hiện tại. VNG nuôi dưỡng hệ sinh thái dịch vụ đa dạng như trò chơi trực tuyến, nền tảng kết nối, tài chính, thanh toán, dịch vụ đám mây… Với sứ mệnh “thay đổi Internet để thay đổi cuộc sống người Việt”, VNG không ngừng cải tiến và hoàn thiện hơn các sản phẩm giúp người dùng có những trải nghiệm ấn tượng và tốt đẹp.
VNG hiện có 3 văn phòng tại Việt Nam (Hồ Chí Minh, Hà Nội, Đà Nẵng) và 3 văn phòng tại các nước Thái Lan, Singapore, Myanmar.
Góc tuyển dụng
Game Development Fresher 2019 — career.vng.com.vn VNG Fresher là chương trình Ðào Tạo & Tuyển Dụng do VNG tổ chức dành cho sinh viên năm cuối tại các trường Ðại học tại Việt Nam
Quote
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
John Woods