Học lập trình

Cho dù bạn muốn trở thành Front-end developer, Back-end developer, Full Stack developer hay DevOps, bạn nên biết về Hệ điều hành (OS), Internet, Hệ thống kiểm soát phiên bản, v.v... Nhiệm vụ và kỹ năng chi tiết phụ thuộc vào công ty của bạn, tổng quan thì:
  • Giao diện người dùng của một trang web là phần mà người dùng tương tác. Mọi thứ bạn thấy khi điều hướng trên Internet, từ phông chữ, màu sắc cho đến menu thả xuống và thanh trượt, v.v... đều là sự kết hợp của HTML, CSS và JavaScript trên trình duyệt. Front-end developer chịu trách nhiệm về mã giao diện người dùng và kiến trúc của trải nghiệm người dùng. Để thực hiện các mục tiêu đó, các front-end developer phải thành thạo ba ngôn ngữ chính: HTML, CSS và Javascript.
  • Điều gì làm cho giao diện người dùng của một trang web trở nên khả thi? Tất cả dữ liệu đó được lưu trữ ở đâu? Đây là nơi mà cần đến back-end. Back-end của một trang web bao gồm máy chủ, ứng dụng và cơ sở dữ liệu, v.v... Back-end developer xây dựng và duy trì công nghệ cho các thành phần đó.
  • Full-stack developer chịu trách nhiệm phát triển cả front-end và back-end của một ứng dụng.
  • DevOps có nghĩa là phát triển (development) và vận hành (operations). DevOps developer về cơ bản là các chuyên gia CNTT có chuyên môn về viết mã, viết kịch bản và quản lý hoạt động tổng thể của quá trình phát triển và triển khai sản phẩm. DevOps developer chuyển đổi các cách thức truyền thống về phát triển phần mềm, vận hành và kiểm thử thành một môi trường toàn diện để phát triển sản phẩm chất lượng cao.
Phần nội dung bên dưới cho bạn cái nhìn tổng quát. Tôi sẽ trình bày chi tiết từng phần trên blog của tôi sau.

Hệ điều hành


Hệ điều hành là phần mềm hệ thống quản lý phần cứng máy tính, tài nguyên phần mềm và cung cấp các dịch vụ chung cho các chương trình máy tính.
Bạn có thể sử dụng macOS, Windows, Linux, máy tính xách tay dựa trên đám mây (ví dụ: Chrome OS) hoặc bất kỳ thứ gì bạn cho là phù hợp. Cá nhân tôi chọn hệ điều hành dựa trên Debian (Ubuntu và các bản phân phối chính thức của nó hoặc Linux Mint Debian Edition / Linux Mint). Hệ điều hành dựa trên Debian có thể cài đặt phần mềm bằng lệnh APT (Advanced Package Tool), có cấu hình và nhiều thứ khác theo cùng một cách (Ubuntu cũng được hỗ trợ bởi Canonical Ltd.)
Các hệ điều hành phổ biến:
Các bản phân phối Linux cần một desktop environment để cung cấp GUI và các ứng dụng. Đây là nơi bạn sẽ tìm thấy giao diện người dùng để làm việc với các chương trình - nó có thể được sử dụng cho mọi kích thước hoặc thiết bị. Có rất nhiều tính năng tuyệt vời với Linux, nhưng điểm tôi thích nhất là làm thế nào để có rất nhiều desktop environment khác nhau để lựa chọn. Cũng giống như có vô số lựa chọn với các bản phân phối Linux, bạn cũng có các tùy chọn desktop environment khác nhau cho máy của mình.
Các Desktop Environment cho Linux: KDE PlasmaGNOMEMATEXfceDeepinLXQtBudgieCinnamonvà còn nữa...
Khi làm việc với UNIX, bạn cần ánh xạ một số tên máy chủ tới địa chỉ IP trước khi DNS có thể được tham chiếu (cập nhật tệp /etc/hosts) hoặc làm việc với tệp *.sh (Bash Shell Script).

Internet


Internet
Internet là một mạng lưới rộng lớn kết nối các máy tính trên toàn thế giới. Thông qua Internet, mọi người có thể chia sẻ thông tin và giao tiếp từ mọi nơi có kết nối Internet.
HTTP
HTTP là một giao thức để tìm nạp các tài nguyên như tài liệu HTML. Nó là nền tảng của bất kỳ trao đổi dữ liệu nào trên Web và nó là một giao thức máy khách-máy chủ, có nghĩa là các yêu cầu được khởi tạo bởi người nhận, thường là trình duyệt Web. Một tài liệu hoàn chỉnh được tạo lại từ các tài liệu con khác nhau được tìm nạp, chẳng hạn như văn bản, mô tả bố cục, hình ảnh, video, tập lệnh, v.v...
HTTPS
Giao thức truyền siêu văn bản an toàn (HTTPS) là phiên bản bảo mật của HTTP, là giao thức chính được sử dụng để gửi dữ liệu giữa trình duyệt web và trang web. HTTPS được mã hóa để tăng tính bảo mật khi truyền dữ liệu. Điều này đặc biệt quan trọng khi người dùng truyền dữ liệu nhạy cảm, chẳng hạn như bằng cách đăng nhập vào tài khoản ngân hàng, dịch vụ email hoặc nhà cung cấp bảo hiểm sức khỏe.
SSL
SSL viết tắt của Secure Sockets Layer; và nói ngắn gọn, đó là công nghệ tiêu chuẩn để giữ kết nối internet an toàn và bảo vệ mọi dữ liệu nhạy cảm đang được gửi giữa hai hệ thống, ngăn chặn tội phạm đọc và sửa đổi bất kỳ thông tin nào được truyền, bao gồm cả các chi tiết cá nhân tiềm ẩn. Hai hệ thống có thể là máy chủ và máy khách (ví dụ: trang web mua sắm và trình duyệt) hoặc máy chủ đến máy chủ (ví dụ: ứng dụng có thông tin nhận dạng cá nhân hoặc thông tin về bảng lương).
Trình duyệt
Trình duyệt (browser) là một chương trình ứng dụng cung cấp cách xem và tương tác với tất cả thông tin trên World Wide Web. Điều này bao gồm các trang Web, video và hình ảnh.
Tên miền
Tên miền (domain name) là một địa chỉ duy nhất, dễ nhớ được sử dụng để truy cập các trang web, chẳng hạn như ‘google.com’ và ‘facebook.com’. Người dùng có thể kết nối với các trang web sử dụng tên miền nhờ hệ thống DNS.
DNS
Hệ thống tên miền (DNS) là danh bạ của Internet. Con người truy cập thông tin trực tuyến thông qua các tên miền, như nytimes.com hoặc espn.com. Các trình duyệt web tương tác thông qua địa chỉ Giao thức Internet (IP). DNS dịch tên miền thành địa chỉ IP để trình duyệt có thể tải tài nguyên Internet.
Máy chủ
Máy chủ (Server) là một máy tính hoặc hệ thống cung cấp tài nguyên, dữ liệu, dịch vụ hoặc chương trình cho các máy tính khác, được gọi là máy khách, qua mạng. Về lý thuyết, bất cứ khi nào máy tính chia sẻ tài nguyên với máy khách thì chúng được coi là máy chủ. Có nhiều loại máy chủ, bao gồm máy chủ web, máy chủ thư điện tử và máy chủ ảo.
Cloud
Cloud được tạo thành từ các máy chủ trong các trung tâm dữ liệu trên toàn thế giới. Chuyển sang Cloud có thể tiết kiệm tiền cho các công ty và thêm tiện lợi cho người dùng.
SaaS
Phần mềm như một Dịch vụ (SaaS) là một cách phân phối các ứng dụng qua Internet - như một dịch vụ. Thay vì cài đặt và bảo trì phần mềm, bạn chỉ cần truy cập nó qua Internet, giải phóng bản thân khỏi việc quản lý phần mềm và phần cứng phức tạp.
Máy khách
Máy khách (client) là một phần của phần cứng hoặc phần mềm máy tính truy cập dịch vụ do máy chủ cung cấp như một phần của mô hình máy khách-máy chủ của mạng máy tính. Máy chủ thường (nhưng không phải luôn luôn) trên một hệ thống máy tính khác, trong trường hợp này máy khách truy cập dịch vụ bằng đường mạng.
Mạng nội bộ
Mạng nội bộ (Intranet) có thể được định nghĩa là mạng riêng được sử dụng bởi một tổ chức. Mục đích chính của nó là giúp các nhân viên giao tiếp với nhau một cách an toàn, lưu trữ thông tin và giúp cộng tác.
Website
Website còn gọi là trang web hoặc trang mạng là tập hợp các trang thông tin chứa nội dung dưới dạng văn bản, số, âm thanh, hình ảnh, video, v.v... được lưu trữ trên một máy chủ (web server), ví dụ như các trang web wikipedia.org, google.com.vn, amazon.com, v.v...
Hosting
Hosting (hay web hosting) là một dịch vụ online giúp bạn xuất bản website hoặc ứng dụng web lên Internet. Khi bạn đăng ký dịch vụ hosting, tức là bạn thuê mộ chỗ đặt trên server chứa tất cả các files và dữ liệu cần thiết để website của bạn chạy được.
Email
Viết tắt của thư điện tử, email là thông tin được lưu trữ trên máy tính được trao đổi giữa hai người sử dụng qua mạng viễn thông. Nói một cách dễ hiểu hơn, email là một tin nhắn có thể chứa văn bản, tệp, hình ảnh hoặc các tệp đính kèm khác được gửi qua mạng tới một cá nhân hoặc một nhóm cụ thể.
VPN
VPN là viết tắt của "Virtual Private Network", thiết lập kết nối mạng được bảo vệ khi sử dụng các mạng công cộng. VPN mã hóa lưu lượng truy cập internet của bạn và che giấu danh tính trực tuyến của bạn. Điều này khiến các bên thứ ba khó theo dõi các hoạt động trực tuyến của bạn và đánh cắp dữ liệu hơn. Quá trình mã hóa diễn ra trong thời gian thực.
ISP
Thuật ngữ Nhà cung cấp dịch vụ Internet (ISP) dùng để chỉ một công ty cung cấp quyền truy cập Internet cho cả khách hàng cá nhân và doanh nghiệp. ISP giúp khách hàng của họ có thể lướt web, mua sắm trực tuyến, kinh doanh, kết nối với gia đình và bạn bè — tất cả đều phải trả phí. ISP cũng có thể cung cấp các dịch vụ khác bao gồm dịch vụ email, đăng ký tên miền, lưu trữ web và các gói trình duyệt. ISP cũng có thể được gọi là nhà cung cấp dịch vụ thông tin, nhà cung cấp dịch vụ lưu trữ, nhà cung cấp dịch vụ Internet (INSP) hoặc bất kỳ sự kết hợp nào của ba yếu tố này dựa trên các dịch vụ mà công ty cung cấp.
CDN
Mạng phân phối nội dung (CDN) đề cập đến một nhóm máy chủ được phân phối theo địa lý, hoạt động cùng nhau để cung cấp nội dung trên Internet nhanh chóng.
Artificial Intelligence

Text Editor & IDE


Trình soạn thảo văn bản (text editor) chỉ đơn giản là một chương trình máy tính và một công cụ được sử dụng để chỉnh sửa văn bản thuần túy. Mặt khác, IDE là một môi trường phần mềm chính thức hợp nhất các công cụ phát triển cơ bản cần thiết để xây dựng và kiểm tra phần mềm. Nếu không có IDE, một nhà phát triển sẽ phải chọn và quản lý tất cả các công cụ này một cách riêng biệt, nhưng IDE tập hợp tất cả các công cụ này lại với nhau dưới dạng một khuôn khổ hoặc dịch vụ duy nhất.
Tùy thuộc vào hệ điều hành, ngôn ngữ mã nguồn ưa thích, ngân sách và sở thích cá nhân, bạn sẽ chọn trình soạn thảo Văn bản hoặc IDE phù hợp. Phổ biến có:
IDE trên mây/ sân chơi

Front-end Developer


Giao diện người dùng của một trang web là phần mà người dùng tương tác. Mọi thứ bạn thấy khi điều hướng trên Internet, từ phông chữ, màu sắc cho đến menu thả xuống và thanh trượt, v.v... đều là sự kết hợp của HTML, CSS và JavaScript trên trình duyệt
HTML
HTML là ngôn ngữ đánh dấu được sử dụng để cấu trúc và cung cấp ý nghĩa cho nội dung web, ví dụ: xác định các đoạn văn, tiêu đề và bảng dữ liệu hoặc nhúng hình ảnh và video vào trang.
Nơi học HTML trực tuyến:
W3 SchoolsSoloLearnMozillacodecademyLinkedIn LearningHTML cheat sheetHTML Best Practices
CSS
CSS là một ngôn ngữ của các quy tắc kiểu mẫu được sử dụng để áp dụng kiểu mẫu cho nội dung HTML, chẳng hạn như đặt màu nền và phông chữ, đồng thời bố trí nội dung trong nhiều cột, v.v...
Nơi học CSS trực tuyến:
W3 SchoolsSoloLearnWeb.dev by GoogleMozillacodecademyLinkedIn LearningCSS cheat sheet
Javascript
JavaScript là một ngôn ngữ kịch bản cho phép bạn tạo nội dung cập nhật động, điều khiển đa phương tiện, tạo hình ảnh động và khá nhiều thứ khác.
Nơi học Javascript trực tuyến:
W3 SchoolsSoloLearnThe Modern JavaScript TutorialLinkedIn LearningYoutubeLearn JavaScriptJavascript cheat sheetJavaScript best practices
Package Managers (trình quản lý gói) là một hệ thống sẽ quản lý các phần phụ thuộc vào dự án của bạn. Trình quản lý gói phổ biến: Node package managerYarn
Là một front-end developer, bạn sẽ nghe thấy khái niệm Responsive web design (Thiết kế web đáp ứng). Bạn có thể tự viết mã hoặc sử dụng các thư viện tích hợp sẵn như BootstrapTailwind CSSBulmaChakra UIMaterial DesignFoundationUIkitMilligramPureTachyonsMaterializePicoSemantic UI
Để viết mã CSS ngắn gọn, dễ đọc và hiệu quả, bạn có thể sử dụng Leaner Style Sheets (Less)Syntactically Awesome Style Sheets (SASS)PostCSSCSS Modulesstyled-componentsstyled-jsx
Để sử dụng các phông chữ đẹp và tuyệt vời trên trang web, bạn có thể sử dụng Google fontsFont SquirrelMyFontsdafontEverything FontsFontGetFontShare
Bên cạnh Javascript truyền thống, chúng ta cũng cần học TypeScriptCoffeeScript (Chuyển đổi Javascript sang Coffee: js2.coffee)ES6JSX
Javascript build tools WebpackesbuildGruntNPM scripts
Kiểm tra ứng dụng của bạn với JestReact Testing LibraryCypressEnzyme
Render phía máy chủ (SSR) với VueJSAngularReactRedux
Tạo các trang web tĩnh với Next.jsGatsby
Bạn muốn xây dựng các ứng dụng di động? Hãy thử React NativeFlutterNativeScriptIonic
Bạn muốn xây dựng các ứng dụng trên máy tính? Hãy thử ElectronCarloProton native
Tạo HTML dễ dàng, đẹp mắt và hiệu quả với Haml (HTML abstraction markup language) (Chuyển đổi HTML / ERB sang HAML: awsm-toolsHtml2Haml)HandlebarsMustacheEJSJadeBlazeJS
Để tạo văn bản, hình ảnh và JSON giả, bạn có thể sử dụng Lorem Ipsum generatorLorem PicsumFake JSONJSON Placeholdermicro-jaymockmockable Hình ảnh miễn phí UnsplashSKUAWKPexels
Công cụ chuyển đổi tệp trực tuyến cho JSON, XML, Excel, PDF và các định dạng khác Conversion ToolsTạo HTML, CSS, JSON-LD, Twitter Cards, Open Graph, v.v... với Web Code ToolsXây dựng các ứng dụng Javascript Full-Stack với MeteorWAVE cho phép bạn đánh giá các vấn đề về khả năng tiếp cận trang web trong trình duyệt của bạn

Back-end Developer


Nội dung đang được cập nhật...

DevOps


Nội dung đang được cập nhật...

Hệ thống kiểm soát phiên bản


Hệ thống kiểm soát phiên bản là công cụ thiết yếu để cộng tác và phát triển phần mềm. Chúng cho phép các nhóm theo dõi các thay đổi, quản lý các phiên bản mã khác nhau và làm việc cùng nhau hiệu quả hơn. Git, SVN và Mercurial là một trong những hệ thống kiểm soát phiên bản phổ biến nhất, mỗi hệ thống đều có điểm mạnh và điểm yếu riêng. Để tìm hiểu thêm về các hệ thống kiểm soát phiên bản và cách chúng có thể cải thiện quá trình phát triển phần mềm, hãy nhấp vào https://vulehuan.com/vi/blog/2023/03/hieu-ve-git-va-cac-he-thong -kiem-soat-phien-ban-khac-43.html để đọc toàn bộ bài viết.

Sự đóng gói và ảo hóa


Công nghệ ảo hóa có thể hữu ích khi tồn tại những hạn chế với máy cục bộ, chẳng hạn như không đủ tài nguyên, vấn đề tương thích, nhu cầu bảo mật cao và nhu cầu chạy ứng dụng trên nhiều hệ điều hành hoặc tái tạo môi trường thử nghiệm và phát triển nhất quán.
Hướng dẫn cho người mới bắt đầu về Docker và Công nghệ ảo hóa
Tôi rất vui được chia sẻ rằng trang web của tôi hoàn toàn miễn phí sử dụng và tôi tận tâm cung cấp các tài nguyên hữu ích cho người dùng của mình. Nếu bạn thấy trang web của tôi hữu ích và muốn hỗ trợ tôi, bây giờ bạn có thể chuyển khoản ủng hộ. Các khoản đóng góp được chuyển trực tiếp vào tài khoản ngân hàng của tôi và giúp tôi tiếp tục cung cấp nội dung chất lượng.
Cảm ơn sự hỗ trợ của bạn!
Bạn cũng có thể đóng góp cho tôi bằng cách đăng ký các dịch vụ này:
Vui lòng Đăng nhập để đăng bình luận.
Tìm kiếm
Analytics