Hướng dẫn full stack python developer - nhà phát triển python đầy đủ
Show
Vậy là bạn đã bắt đầu hành trình vào thế giới của phát triển web. Nhưng bạn học được gì đầu tiên? Internet quá tải với vô số thông tin về hàng triệu công nghệ khác nhau mà một nhà phát triển web có thể biết. Nó không khó để thấy tất cả khó hiểu và gây khó chịu như thế nào. Có rất nhiều thông tin ở đây - vì vậy hãy lấy đồ uống, cảm thấy thoải mái và để bắt đầu thôi nào! The Must Know’sBất kể con đường và mục tiêu nghề nghiệp của bạn là gì, có một số điều mà mọi developer cần phải biết.
Front-endMột front-end developer thường có thể thực hiện các task sau:
Hãy xoáy sâu vào vấn đề này chi tiết hơn một chút nào. HTML/CSSĐây là bánh mì và bơ của sự phát triển front-end. HTML được sử dụng để định vị và đặt các thành phần trên một trang web, trong khi CSS được sử dụng để định kiểu các thành phần đó. Một web developer sẽ được mong đợi biết công cụ này thực sự tốt. Điều quan trọng là phải biết:
Khi bạn đã nắm chắc các điều cơ bản trên, hãy xem những phần nâng cao hơn:
FrameworksGiai đoạn tiếp theo là làm quen với các CSS frameworks. Về cơ bản, đây là những phần tử và styles mà bạn có thể áp dụng trong các dự án của mình. Hầu hết các công ty sử dụng những thứ này vì nó giúp tiết kiệm thời gian cho các developers. Có rất nhiều frameworks, nhưng bản thân tôi khuyên nên chọn một và làm quen với nó. Chúng thường khá giống nhau và một khi đã làm quen với nó, thật dễ dàng để chọn phần còn lại. BootstrapTôi nghĩ bạn nên tìm hiểu Bootstrap (getbootstrap.com). Nó rất phổ biến và được sử dụng bởi rất nhiều công ty.
Một câu hỏi hay. Vâng, có các frameworks, và trong khi rất nhiều công ty sử dụng chúng, bạn sẽ phải tùy chỉnh mọi thứ theo thời gian dựa trên dự án. Đối với điều này, bạn sẽ cần phải biết những điều cơ bản.
JavaScriptJavaScript là ngôn ngữ lập trình của web. Nếu bạn muốn trở thành một developer front-end thành công, bạn cần biết JavaScript. Và thực sự biết điều đó. Vâng, có các frameworks, nhưng giống như chúng ta đã học những điều cơ bản về HTML và CSS trước khi vào các frameworks, chúng ta sẽ làm tương tự ở đây. Điều này sẽ làm cho bạn trở thành một developer tốt hơn trong thời gian dài. Khi các frameworks đến và đi, các yếu tố cốt lõi của ngôn ngữ sẽ vẫn như cũ. Ở mức tối thiểu, là một junior developer, bạn sẽ cần phải biết:
Một junior developer không mong muốn biết tất cả mọi thứ về chủ đề này, nhưng bạn càng biết nhiều thì càng tốt. Khi bạn có thể tạo một ứng dụng web cơ bản mà không cần hướng dẫn, bạn có thể chắc chắn rằng bạn biết JavaScript. Nếu bạn thực sự muốn trở thành một chuyên gia về JavaScript, hiểu đầy đủ ngôn ngữ và nổi bật trước đám đông, một số tài nguyên tuyệt vời để tìm hiểu các chủ đề JavaScript nâng cao hơn là:
Những tài nguyên này không chỉ dạy cho bạn JavaScript mà bạn còn học được rất nhiều về các khái niệm lập trình nói chung. Nghiêm túc mà nói, nếu bạn tìm hiểu các tài nguyên trong các tài nguyên trên, bạn sẽ là một junior developer thực sự tuyệt vời. Một số ý tưởng dự án:
JS FrameworksCó nhiều JS frameworks, chọn một và tìm hiểu nó. Những cái phổ biến tại thời điểm này là Angular.js, React.js và Vue.js. Đây là tất cả các lựa chọn vững chắc. Cá nhân, tôi khuyên dùng React.js, nhưng bạn có thể thử những cái khác và xem bạn thích cái nào hơn. Quick Note - Nếu bạn đã học những điều cơ bản về JavaScript và có nền tảng vững chắc, các khung học tập nên là một miếng bánh! Bất kể bạn chọn frameworks nào, hãy chắc chắn rằng bạn biết rõ về nó. Bạn không cần phải biết tất cả, sẽ có vẻ ấn tượng hơn nếu bạn biết thực sự rõ về một framework, trái ngược với việc có ít kiến thức về nhiều frameworks khác nhau. ReactNó có sự hậu thuẫn lớn từ Facebook, cộng đồng trực tuyến lớn và là phổ biến nhất trong ngành công nghiệp tại thời điểm này. Nếu bạn làm theo các bước trên và học được một chút JavaScript, thì việc chọn React nên không quá khó khăn. Là junior developer, bạn muốn chắc chắn rằng bạn nắm các khái niệm cốt lõi của React:
State Management (e.g Redux)Khi hiểu các khái niệm cốt lõi về React, bước tiếp theo là tìm hiểu Redux. Redux về cơ bản là một state management framework. Hãy nghĩ về nó như một cơ sở dữ liệu mặt trước chứa trạng thái của ứng dụng web của bạn ở một nơi, dễ quản lý. Có rất nhiều bộ phận chuyển sang Redux, vì vậy đừng lo lắng nếu bạn cảm thấy quá tải. Bạn sẽ chỉ cần biết Redux khi làm việc với các ứng dụng web quy mô doanh nghiệp lớn. Tập trung vào việc hiểu các nguyên tắc cơ bản và state management bằng React. Có một số công cụ có sẵn để giúp bạn gỡ lỗi React/Redux:
Web BrowsersLà một front-end developer, điều quan trọng là phải biết cách sử dụng xung quanh các trình duyệt web. Chrome, Firefox và Edge là những cái chính. Bạn sẽ cần có một ý tưởng cơ bản xung quanh:
Deployment & HostingMột front-end developer nên biết cách deploy và host một web app. Điều này là tốt cho portfolios, knowledge, và nói chung có một công việc. Tôi khuyên bạn nên sử dụng một managed service (nghĩa là để người khác thực hiện cách công việc nặng nhọc cho bạn), chẳng hạn như:
Cá nhân tôi khuyên dùng Netlify hoặc Heroku. Nó giúp việc triển khai và lưu trữ ứng dụng thông qua UI rất dễ dàng. Mỗi dịch vụ này cung cấp một cấp miễn phí, do đó, nó không làm bạn tốn nhiều tiền để chạy. Nhược điểm của dịch vụ này là chúng không cung cấp cho bạn quyền truy cập tốt hơn mà một số nhà phát triển sẽ cần, chẳng hạn dịch vụ email, SSH hoặc FTP. Nếu bạn không biết những thứ này thì có lẽ bạn không cần chúng vì vậy dịch vụ đơn giản sẽ hoạt động tốt. Nếu bạn quyết định super-fancy và lưu trữ một số dự án của bạn trên một miền tùy chỉnh (như .com), tôi khuyên bạn nên sử dụng NameCheap cho tên miền. Một lần nữa, thực sự dễ sử dụng và các tên miền, tốt, giá rẻ.NameCheap cho tên miền. Một lần nữa, thực sự dễ sử dụng và các tên miền, tốt, giá rẻ. Back-endTóm lại, đây là nơi lưu trữ dữ liệu từ giao diện người dùng. Ví dụ: khi người dùng tạo Tweet, nó sẽ đi qua máy chủ và được lưu trữ trong cơ sở dữ liệu. Một back-end developer thường có thể thực hiện các tác vụ sau:
Programming LanguagesCó rất nhiều programming languages mà bạn có thể chọn. Có rất nhiều thứ bạn có thể chọn. Nhưng đừng lo lắng, một vài ngôn ngữ chính bạn có thể chọn là:
Một lần nữa, lời khuyên của tôi là chọn một và học nó một các thuần thục. Tôi gợi ý bạn có thể dùng Node.js, như bạn đã có tư duy như việc học JavaScript. Node.js thực sự dễ để tạo REST API's, đó là một trong những nhiệm vụ chính mà một junior developer sẽ cần phải làm.Node.js, như bạn đã có tư duy như việc học JavaScript. Node.js thực sự dễ để tạo REST API's, đó là một trong những nhiệm vụ chính mà một junior developer sẽ cần phải làm. Bất kì ngôn ngữ bạn chọn, hãy chắc chắn rằng bạn biết những điều sau:
Nếu bạn quyết định học Node.js, rất nhiều thứ sẽ quen thuộc với bạn. Đừng cố gắng và tìm hiểu tất cả! Là một junior developer, bạn sẽ không cần. Chọn ngôn ngữ phù hợp nhất với mục tiêu của bạn (nếu nó phát triển web, bất kỳ ngôn ngữ nào trong số đó cũng sẽ làm được) và tập trung vào nó và học tốt nó. Tất nhiên, nếu bạn tò mò về các ngôn ngữ khác (Node.js và Python khá khác nhau) thì hãy thỏa mãn sự tò mò của bạn và tìm hiểu xung quanh chúng. REST API & JSONViệc tạo một REST API tốt là một trong những công việc chính của một backend developer. Bạn sẽ cần biết:
REST API's là cầu nối giữa backed và frontend, vì vậy hãy chắc rằng bạn hiểu cách chúng hoạt động. là cầu nối giữa backed và frontend, vì vậy hãy chắc rằng bạn hiểu cách chúng hoạt động. JSON là ngôn ngữ chính được sử dụng để truyền dữ liệu qua REST API. Dữ liệu được biểu diễn dưới dạng Objects và Arrays. Một lần nữa, nếu bạn đã học JavaScript hoặc front-end development, điều này sẽ trông quen thuộc với bạn. là ngôn ngữ chính được sử dụng để truyền dữ liệu qua REST API. Dữ liệu được biểu diễn dưới dạng Objects và Arrays. Một lần nữa, nếu bạn đã học JavaScript hoặc front-end development, điều này sẽ trông quen thuộc với bạn. Databases & DevOpsĐây là phần cơ sở hạ tầng của web development. Tôi sẽ nói rằng heavy knowledge là một yêu cầu cho một junior developer. Tôi gần như đề xuất điều ngược lại, và nói rằng bạn chỉ thực sự cần biết sâu về nó nếu bạn muốn tham gia vào lĩnh DevOps. Khu vực rộng lớn mà bạn cần biết là:
Tùy thuộc vào team hoặc công ty của bạn, có thể có các team hoặc người khác để quản lý việc này. Đây vẫn là một bộ kỹ năng thú vị và ấn tượng để có, vì vậy nếu bạn tò mò và có chút thời gian rảnh rỗi, việc học một số cơ sở dữ liệu và các kỹ năng DevOp sẽ đi một chặng đường dài. Advanced TopicsDưới đây là một số chủ đề nâng cao tôi khuyên bạn nên một khi bạn đã thành thạo những thứ ở trên. Authentication using JWT/OAuthĐây là một cách tiếp cận phổ biến trong authenticates và authorises users (ví dụ: login) Thêm thông tin tại: https://oauth.net/2/ Design PatternsDesign patterns là giải pháp phổ biến cho các vấn đề phổ biến. Việc học các design patterns sẽ giúp dễ dàng giải quyết vấn đề hơn và chắc chắn là một developer tốt hơn.
Progressive Web App’s and Mobile developmentProgressive web apps ề cơ bản là các ứng dụng web chạy như ứng dụng gốc trên điện thoại người dùng. Khá tuyệt phải không? Kiểm tra chúng nếu bạn có thời gian. Thêm thông tin tại: developers.google.com/web/progressive-web-apps/ Các tùy chọn khác bao gồm:
Thêm thông tin tại: Medium.freecodecamp.org/demystifying-reacts-server-side-render-de335d408fe4 Using the command line (SSH/Bash etc)Đôi khi, bạn sẽ cần sử dụng dòng lệnh khi GUI không khả dụng. Ở mức rất cơ bản, bạn sẽ cần biết cách:
Tham khảohttps://medium.freecodecamp.org/the-10-minute-roadmap-to-becoming-a-junior-full-stack-web-developer-1131d4ffc48 |