Các bài viết ngắn phần 24

Cơ sở dữ liệu và ngữ cảnh sử dụng

Có rất nhiều loại cơ sở dữ, phải đến hàng trăm loại, phổ biến hiện nay như PostgresSQL, Oracle, MySQL, MariaDB, SQLite, MongoDB, S3, Ceph, …

Có thể phân thành nhiều nhóm và ngữ cảnh sử dụng như sau:

Relational Database: cơ sở dữ liệu quan hệ, có thể sử dụng cho đa số các mục đích
ví dụ: Oracle, mySQL, PostgresSQL, SQL Server, …


In-memory store
: tốc độ nhanh và kích thước dữ liệu hạn chế do đó lý tưởng cho các loại dữ liệu tính toán hay sử dụng nhanh (caches)
ví dụ: Redis, Hazelcast, Aerospike, …


Time-series database
: lưu trữ và quản lý dữ liệu đánh dấu theo thời gian
ví dụ: InfluxDB, Prometheus, Aeroskipe, …


Graph database
: phù hợp với dữ liệu nhiều quan hệ phức tạp và phi cấu trúc
ví dụ: Neo4j, OrientDB, ArangoDB, …


Document store
: kho tài liệu phù hợp các dữ liệu lớn ít hay không thay đổi
ví dụ: Amazon DynamoDB, MongoDB, …


Wide column store: sử dụng cho dữ liệu lớn, như phân tích, báo cáo, các dữ liệu không chuẩn hoá

ví dụ: Microsoft Azure Cosmos DB, ScyllaDB, Amazon Keyspaces, …

Ref: https://blog.bytebytego.com/p/ep36-types-of-databases-and-use-cases

Các bài viết trên blog được yêu thích (cập nhật)

Số lượng hot blog posts của blog BeautyOnCode đã từ số 16 lên con số 49 trong 3 tháng nha mọi người ^^

Một số bài gần đây cập nhật thêm:
– BeautyOnCode đạt top 1 trên Careerly
– Vấn đề của cuộc sống
– Lexical Enviroment trong JavaScript
– Chơi cùng JavaScript
– Mảng trong JavaScript
– Khai báo biến với var, let, const trong JavaScript
– CSS trong JS là gì?
– Điều gì xảy ra khi chạy chương trình JavaScript?

Mọi người ghé đọc nha <3

Sắp đến mình có dự định gửi newsletter cho mọi người tổng kết các nội dung từ blog BeautyOnCode, các bạn đăng ký để vào mail list này nhé.
Các newsletter đã gửi:

BeautyOnCode #1 Newsletter

BeautyOnCode #2 Newsletter

State of CSS 2022

State of CSS là cuộc khảo sát hàng năm về các xu hướng mới nhất của CSS.

Bạn nghĩ mình đã biết gì về CSS?
Xem qua khảo sát này để biết thế giới đang dùng gì và bạn đang dùng gì nhé ^^

CSS đã phát triển thành một ngôn ngữ mạnh nhờ các tiến bộ từ Flexbox, Grid và CSS Variables.
Danh sách các tính năng có thể làm thay đổi cuộc chơi như parent selector, native nesting, container layer, cascade layer, … sẽ khiến bạn sốc đấy ^^

Danh sách các chủ đề:

Features: bao gồm nhiều loại cú pháp, từ khoá

Layout: cách các thành phần hiển thị trên trang như subgrid, writing modes, css logical properties, aspect-ratio, content-visibility, flexbox gap, @container, object-view-box, viewport percent length unit, media queries range context

 Shape & Graphics: blend-mode, filters & effects, backdrop filter, intrinsic sizing, conic-gradient(),

 Colors: colors(), accent-color, curentcolor, color-mix, wide gamut color, relative colors, gradient color spaces

 Interaction: scroll snap, overscroll behavior, touch action, scroll behavior, scrollbar-gutter

 Typography: font-display, line-clamp, variable fonts, font palette,

 Accessibility: prefer reduced motion, prefer color scheme, prefer reduced data, color constrast, color scheme, prefers constrast, forced-color, :focus-visibile

 Selectors: ::marker, :has(), :where()

Ở mỗi phần sẽ bao gồm tỉ lệ số người biết và số người sử dụng, link CanIUse để kiểm tra support, link MDN để tìm hiểu thêm, và các resource gợi ý để bạn tìm hiểu thêm.

https://2022.stateofcss.com/

Kỹ năng tìm kiếm thông tin

Kỹ năng tìm kiếm thông tin (research)

Research skills refer to the ability to search for, extract, organize, evaluate and use or present information that is relevant to a particular topic.

Tạm dịch:
Kỹ năng nghiên cứu là nói đến khả năng biết tìm kiếm, phân loại, đánh giá và sử dụng thông tin liên qua đến một chủ đề cụ thể.

Qua định nghĩa trên thì kỹ năng này có thể chia thành các kỹ năng nhỏ sau:

1. Tìm kiếm thông tin:
– học cách tìm kiếm, các mẹo tìm kiếm hiệu quả
– sử các từ khoá phù hợp
– đọc là chìa khoá để tìm các từ khoá về các chủ đề, e có thể đọc sách,
– các bài báo, blog, các newsletters
– lại search để tìm từ khoá “keyword for …”
– hỏi người có kinh nghiệm hơn để tìm gợi ý

2. Trích xuất và phân loại thông tin:
– ghi lại những gì bạn đọc được
– phân loại nội dung theo chủ đề

3. Sử dụng nội dung
– chia sẻ nội dung bạn ghi lại
– thảo luận chủ đề bạn tìm hiểu
– viết các note tổng hợp theo chủ đề

Bạn ghé đọc thêm về cách nguồn tài nguyên mình gợi ý trong blog này nha.
https://beautyoncode.com/ky-nang-tim-kiem-thong-tin/

Security dành cho developer

Hôm qua mình có tham gia nghe buổi chia sẻ của anh HieuPC, chuyên gia về bảo mật do cộng đồng Dwarves Foudation tổ chức.

Dưới đây là một vài note muốn chia sẻ đến bạn.

Lập trình viên thường tập trung phát triển sản phẩm, một ngày nào đó bị hack thì sẽ bảo mật sau.
–> đây là mindset chưa đúng và có thể gây hậu quả nghiêm trọng cho dự án, khách hàng và công ty.

An ninh mạng (cybersecurity) chia làm 4 yếu tố:

1. credentiality – bảo mật tài nguyên hệ thống
2. competence – nói về năng lực, mỗi con người tham gia nên làm công việc phù hợp với khả năng của mình. Tránh tình trạng không biết mà cố làm gây những lỗi, hạn chế gây ảnh hưởng hệ thống
3. intellectual property rights – vấn đề quyền sở hữu, ví dụ như việc sử dụng các resource như code sẽ có các loại license khác nhau.
4. computer abuse – không dùng kỹ năng về bảo mật để làm hại người khác

Việc bảo vệ dữ liệu khách hàng sẽ làm tăng uy tín công ty. Một công ty bị lộ thông tin người dùng thì tỉ lệ bị tẩy chay rất cao (30%).

Hướng dẫn về bảo mật:
– bảo mật ngay từ đầu
– phòng bệnh hơn chữa bệnh
– luôn kiểm tra lỗi bảo mật
– xây dựng cơ sở hạ tầng

Tất cả các tài khoản quan trọng cần bật bảo mật 2 bước, vì mỗi mật khẩu thôi thì không đủ.

Lập trình viên nên:
– tìm hiểu thêm về các chuẩn bảo mật
– thường xuyên thực hiện core review
– tập trung vào functional requirement
– đưa ra guideline về bảo mật cho dự án, áp bảo mật vào từng giai đoạn phát triển sản phẩm
– tìm hiểu và áp dụng OWAP top 10 (https://owasp.org/www-project-top-ten/)
– tìm hiểu thêm cheatsheet series owap (https://cheatsheetseries.owasp.org/)
– tìm hiểu về security requirements của từng loại công nghệ, tải về benchmark để tìm hiểu thêm (https://www.cisecurity.org/cis-benchmarks/)

Một số nguồn tìm hiểu về bảo mật:
https://www.securecodewarrior.com/ (trial 14 days – good resource to learn & practice)
https://portswigger.net/web-security (free)

Anh HiếuPC cũng chia sẻ rất nhiều về bảo mật trên các kênh của anh ấy, mọi người có thể tìm kiếm thêm nhé.

Nội dung này thuộc BeautyOnCode’s short posts là các bài viết ngắn tóm tắt nội dung và ý kiến cá nhân từ các nguồn như các slack channels (công ty, cộng đồng), các new letters, …

Các bài viết này cũng được đăng ở:

👉 BeautyOnCode trên Careerly (lời hứa với Careerly) Trên đây có hơn 4200 người theo dõi, và là trang tin công nghệ khá hay, bạn có thể tải app rồi theo dõi mình nhé.

👉 Blog BeautyOnCode, chuyên mục “Short Posts”

👉 Fanpage BeautyOnCode

👉Trang notion này tổng kết các bài viết

Nếu bạn thích đọc hàng ngày thì hãy follow các trang trên nhé. Chúc bạn đọc vui ^^

Nếu bạn nghĩ những nội dung này là hữu ích, bạn có thể khích lệ mình bằng cách:

Mời mình ☕️ cafe qua Ko-fi hay Momo

Theo dõi 👀 để nhận các bài viết mới trên: Careerly, fanpage, linkedin

🤘 Nhắn mình nhé 🤘

RELATED POST

Web Developer Learning Resources

Developer Roadmap roadmap.sh is a community effort to create roadmaps, guides and other educational content to help guide developers in…

Git

Bài này note lại vài tài liệu hay về git. How Git Commands work? https://www.youtube.com/watch?v=e9lnsKot_SQ Git Merge vs. Git Rebase…

Relation fields in Django Rest Framework Serializer

The Django model offers various types of relationships such as OneToOneField, ForeignKey, ManyToManyField, and GenericForeignKey.  To present or write data…

Các bài viết ngắn phần 31

Blog từ tiết kiệm đến miễn phí Chia sẻ kinh nghiệm viết blog từ tiết kiệm đến miễn phí Khi…