#83 - Kernel Address Space Layout Randomization
Để giúp cải thiện chất lượng nội dung của newsletter, mong bạn dành ít thời gian phản hồi cũng như đóng góp ý tưởng giúp team thông qua link khảo sát hàng tuần ở đây nhé: tại đây.
Những bài viết hay
Dijkstra's Banker's Algorithm — www.hackerearth.com
Deadlock State là một trạng thái không an toàn tất cả process đều giữ tài nguyên mà chúng đang sử dụng và yêu cầu thêm tài nguyên của nhau. Để tránh rơi vào trạng thái deadlock, thuật toán Banker được tạo bởi Dijkstra nhằm cấp phát tài nguyên hợp lý cho những process yêu cầu.
Transactional Memory — berb.github.io
Khái niệm một transaction trong database là tập hợp những thao tác đọc ghi những row data mà nó tách biệt với những transaction khác. Với memory, khái niệm transaction memory cũng được thiết kế với mục đích tương tự với đối tượng là thread.
Kernel address space layout randomization — lwn.net
Khi một process được thực thi, những tài nguyên cần thiết được load vào main memory và được cấp những địa chỉ vùng nhớ khác nhau. Một người có thể tấn công vào hệ thống bằng cách thêm vào những đoạn code để process đó thực thi nếu biết được địa chỉ vùng nhớ của một function. Do vậy, Kernel address space layout randomization (KASLR) là cơ chế cấp phát địa chỉ vùng nhớ được nghiên cứu và áp dụng để ngăn chặn vấn đề này. Ngoài ra còn những phương pháp khác có thể tìm hiểu tại đây.
Bạn có biết
Từ C# 7.2, một kiểu dữ liệu mới được Microsoft đưa ra với tên gọi Span<T> với mục đích giúp tăng performance bằng cách cho phép developer làm việc trực tiếp với memory một cách dễ dàng hơn.
Cho phép làm việc với tất cả các loại memory thậm chí là unmanage memory.
Cần System.Memory package, C# 7.2 trở lên.
Làm việc với native memory dễ dàng hơn.
Đơn giản hóa con trỏ (pointer arithmetic).
Tránh việc phân bổ và sao chép memory bằng cách sử dụng slice.
Hỗ trợ .NET Standard 1.1+
Hiệu suất ngang bằng với Array
Tuy nhiên nó cũng có một số giới hạn do việc chỉ hỗ trợ stack
Các bạn có thể tham khảo thêm thông tin tại đây
Code & Tools
Introduction · React Bits — vasanthk.gitbooks.io
Tổng hợp các kỹ thuật, patterns and tips trong ReactJS
GitHub - hoanhan101/ultimate-go — github.com
Gợi ý tài liệu hướng dẫn cho những bạn muốn tìm hiểu Go
Sự kiện công nghệ
Google Cloud Platform Seminar in Ha Noi — www.facebook.com
Sự kiện do Cloud Ace - Google Cloud Premier Partner tổ chức MIỄN PHÍ dành cho tất cả các bạn quan tâm đến nền tảng Google Cloud.
Thời gian: 16h-18h, Thứ Sáu, 23/8/2019
Địa Điểm: VTI Corporation, Tầng 8, Tòa nhà AC, ngõ 78 Duy Tân, Cầu Giấy, Hà Nội
Google Cloud Platform Seminar in Ho Chi Minh city — www.facebook.com
Sự kiện do Cloud Ace - Google Cloud Premier Partner kết hợp cùng CoderSchool tổ chức MIỄN PHÍ dành cho tất cả các bạn quan tâm đến nền tảng Google Cloud.
Thời gian: 9h-11h, Thứ Tư, 28/8/2019
Địa điểm: Circo Coworking space, Lầu 1, 384 Hoàng Diệu, P. 6, Q. 4, TP. HCM
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 — career.vng.com.vn Với lộ trình thiết kế để Fresher được phát triển toàn diện về kiến thức chuyên môn lẫn kỹ năng mềm, VNG sẵn sàng chào đón các bạn trẻ CNTT tài năng ngay cả khi còn ngồi trên ghế nhà trường. Đừng để cơ hội vụt khỏi tầm tay, nắm bắt ngay thông tin mới nhất về Game Development Fresher 2019 nhé!
Quote
"One of the best programming skills you can have is knowing when to walk away for awhile." - Oscar Godson