7 minute read

90 ngày học devops

Nếu bạn muốn học devops mà chưa biết bắt đầu từ đâu thì repo này có thể là tín hiệu vũ trụ gửi đến bạn 😉

Thử mỗi ngày giành ra một giờ để học, trong 90 ngày bạn sẽ các kiến thức nền tảng về 13 lĩnh vực trong devops bao gồm:

– Devops là gì? Vì sao cần sử dụng nó – Học một ngôn ngữ lập trình (Go) – Kiến thức cơ bản về Linux – Kiến thức về mạng (network) – Tìm hiểu về cloud provider – Cách sử dụng git hiệu quả – Tìm hiểu về container – Kubenetes – Học cơ sở hạ tầng dưới dạng code – Tự động quá việc quản lý cấu hình – Tạo CI/CD Pinelines – Theo dõi, quản lý logs và trực quan dữ liệu – Lưu trữ và bảo vệ dữ liệu

Chi tiết nội dung và các nguồn tài liệu của 90 ngày học devops năm 2022 được chia sẻ trên trang web dưới đây. Bạn cũng có thể theo dõi hành trình 90 ngày của năm 2023 đang diễn ra. Lưu, fork và star repo ủng hộ tác giả tại đây

Khảo sát State of Javascript 2022

Mình có từng đăng một bài về khảo sát State of CSS 2022. Với Javascript, khảo sát tương tự có rất nhiều thứ hay ho mà bạn nên cập nhật.

Bạn có biết hay có từng sử dụng các loại sau:

Language – Proxies – Promise.allsettled() – Dynamic import – Private fields – Nullish coalescing – Numberic seperators – String.prototype.replaceall() – String.prototype.matchall() – Logical assignment – Promise.any() – Array.prototype.at() – Top level await – Temporal – Array.prototype.findlast() – Error.prototype.cause – Object.hasown() – Regex match indices

Browser APIs – Service workers – Intl – WebGL – Web Animation – WebRTC – Web Speech API – Websocket – Custom Elements – Shadow DOM – Pgae Visibility API – Broadcast Channel API – Geolocation API – File System Access API – Web Share API – WebXR Device API

Other features – Progressive Web Apps – Webassembly (WASM)

Top Libraries – Frontend frameworks: React, Svelte – Rendering framework: Next.js, Nuxt – Build tools: Vite, esbuild, tsc CLI – Testing: Vitest, Playwright, Testing Library, Jest, Cypress, Storybook – Monorepo tools: pnpm, Nx

Ngoài ra còn có rất nhiều nguồn tài liệu, các tác giả, các phương thức học phổ biến nhất và các bài viết ở mục Resources. Top những người nổi tiếng nhất ở thế giới JS: – Dan Abramov – Rich Harris – Ryan Carniato – Evan You – Josh W. Comeau

Lưu link dưới đây để cập nhật thêm nhé!

https://2022.stateofjs.com/en-US/features/browser-apis/

15 gợi ý cho dự án (Python) cá nhân của bạn

Khi xây dựng dự án cá nhân, hay thường gọi là side project, đầu tiên, dự án đó phải “thú vị” với bạn. Sau đó, có thể trả lời các câu hỏi sau: – Mức độ khó của dự án này thế nào, có phù hợp với khả năng của bạn? – Dự án có thể mở rộng chứ? – Khả năng kiếm tiền từ dự án này như thế nào?

Một số gợi ý dành cho bạn: – Caculator: máy tính đơn giản – Todo list: danh sách công việc hàng ngày – Weather app: ứng dụng thời tiết – Simple game: làm một game đơn giản – Automations: viết script cho hệ điều hành – Web scraper: trích xuất dữ liệu (cào dữ liệu) từ các trang web – Chatbot: robot chat tự động – Markdown editor/viewer: ứng dụng với markdown – Budget tracker: theo dõi chi tiêu – Sentiment Analysis Tools: công cụ phân tích ý kiến – Duplicate code detector: công cụ giúp chỉ ra code lặp – Dependency analyzer: công cụ phân tích các dependency – Metric collector: sưu tập các số liệu – Refactoring helper: công cụ hỗ trợ refactor code

Các gợi ý trên kèm câu trả lời cho 3 câu hỏi về mức độ khó, khả năng mở rộng và khả năng kiếm tiền được ArjanCodes gửi đến bạn qua video sau: https://youtu.be/54XyRw9y8oE

God-tier developer roadmap

Cùng tìm hiểu các cấp bậc: noob, pro, epic, legend với 10 tầng của các ngôn ngữ lập trình bao gồm đối tượng, đặc điểm, các ngôn ngữ.

Tầng 1: Học code

Learn to code – đối tượng: người chưa biết gì về lập trình – ngôn ngữ: scratch, basic – đặc điểm: – scratch: đơn giản, kéo thả các khối lệnh, làm quen với các khái niệm lập trình như biến, điều kiện, vòng lặp, … có kết quả ngay là các trò chơi thú vị – basic: có trước scratch, lập trình cơ bản câu lệnh như IF, PRINT, LET

Tầng sâu số 2: Cực phổ biến

Mega popular – dynamic high level languages – đối tượng: hầu khắp giới lập trình viên – ngôn ngữ: python, javascript – đặc điểm: gần ngôn ngữ tự nhiên, cho phép kiểu dữ liệu chuyển đổi tự do nên gọi là dynamic – python: cú pháp đơn giản – javascript: cú pháp phức tạp hơn nhưng là ngôn ngữ chuẩn trên các trình duyệt web

Tầng sâu số 3: Phổ biến

Specific – dynamic high level languages – đối tượng: cụ thể tuỳ mục đích – ngôn ngữ: bash, powershell, SQL, php, lua, Roblox, Ruby (Rails framework), R, julia – đặc điểm: sử dụng cụ thể cho các mục đích nhất định – bash, powershell: viết script – html, css: cấu trúc và style web – SQL: ngôn ngữ truy vấn cơ sở dữ liệu – php: xây dựng server-side web app – R, julia: data science

Tầng sâu số 4:

Static high-level languages – đối tượng: các dự án lớn, phức tạp, giúp dễ hiểu và dễ debug, giảm lỗi – đặc điểm: gần ngôn ngữ tự nhiên, không cho phép chuyển đổi kiểu dữ liệu nên gọi là static – ngôn ngữ: java, C# (.NET framework), typescript (JavaScript), Kotlin (Android), Swift (iOS), Dart (Flutter framework), Go

Tầng sâu số 5:

Functional languages – đối tượng: lập trình viên mệt mỏi với OOP quá lớn và nặng nề, muốn tìm cách tốt hơn – đặc điểm: lập trình hướng chức năng, không hoặc hạn chế OOP – ngôn ngữ: Haskell, Miranda, F Sharp, Scala, Closure, Ocaml, Elixir, Elm, – Haskell: biến không thể thay đổi, hàm không có side-effects

Tầng sâu số 6:

System languages – đối tượng: lập trình cho bộ nhớ, xử lý với ram, game engine, code compiler, … – đặc điểm: quản lý và tối ưu bộ nhớ thủ công do đó để sử dụng hiệu quả cần nhiều kiến thức về thuật toán, … – ngôn ngữ: C, C++, R

Tầng sâu số 7:

Modern languages – đặc điểm: các ngôn ngữ hiện đại ít phổ biến – ngôn ngữ: V, Zig, nim, carbon, Solidity, Hack

Tầng sâu số 8: ngôn ngữ mang tính lịch sử

Historical important languages – đặc điểm: ngôn ngữ có vai trò lịch sử, làm nền tảng cho nhiều ngôn ngữ hiện đại – ngôn ngữ: Fortran, Lisp, Algol, Cobol, APL, Turbo Pascal, Simular, Small talk, Erlang, Ada, Prolog, ML

Tầng sâu số 9: ngôn ngữ bí truyền

Esoteric languages – ngôn ngữ: Intercal, Brainf**k, Malbolge, Chef, Shakespeare, Piet, Lolcode, Emojicode, C–, Holy C

Tầng dưới cùng:

Behind the curtain – ngôn ngữ: asm, Binary, Transistor, Logic gates, Quantum electrodynamics

Điều duy nhất mình biết là mình chưa biết gì hết cả ^^

Bạn xem nội dung thú vị này ở video sau https://youtu.be/pEfrdAtAmqk

Hướng dẫn theo dõi và quản lý bản tin công nghệ

Một số bạn nhắn hỏi mình làm sao có thể có nhiều nguồn tài liệu hay về tech như vậy, và cách mà mình cập nhật về tech. Mình có chia sẻ qua về các newsletter mà mình đang theo dõi cũng như cách quản lý ở bài viết này trên blog.

Bài viết gửi đến bạn nội dung gồm 3 phần:

  1. Các điểm mạnh khi cập nhật tech với newsletters
  2. Cách tìm các newsletters hay, và gợi ý newsletter
  3. Cách quản lý các newsletters

Ở phần 1, là một số điểm mạnh khi cập nhật tech với newsletter như: – chủ động lựa chọn nguồn phù hợp với công việc – có khả năng lưu trữ trong mail – nội dung thường được chọn lọc rồi và ít quảng cáo

Ở phần 2, là các tìm kiếm các newsletter và một số gợi ý tham khảo. Trong đây có một số loại newsletters mà mình thích đọc nhất như: – Josh W Comeau – RealPython – ByteByteGo

Ở phần 3 nêu lên vấn đề trong việc quản lý email của nhiều newsletter kèm gợi ý về cách quản lý bằng gmail filters và label. Nội dung này mình có hướng dẫn chi tiết kèm minh họa rất dễ hiểu.

Sau khi đã có bộ newsletters của mình rồi thì cứ mỗi ngày đọc một ít để cập nhật thông tin công nghệ nhé bạn. Đừng quên luôn mà tội các bạn ý :3

đọc thêm