JavaRush /Blog Java /Random-VI /10 bài viết mọi lập trình viên nên đọc
Shoggy
Mức độ
Санкт-Петербург

10 bài viết mọi lập trình viên nên đọc

Xuất bản trong nhóm
Là một lập trình viên Java và nhà phát triển phần mềm, tôi đã học được rất nhiều điều từ nhiều bài viết có tựa đề Điều mà mọi lập trình viên nên biết về..... , chúng có xu hướng cung cấp nhiều thông tin hữu ích và toàn diện về một chủ đề cụ thể mà khó có thể hiểu được. phát hiện. Trong quá trình tìm kiếm kiến ​​thức, tôi tình cờ gặp được một số bài viết rất hữu ích mà tôi đánh dấu làm thông tin tham khảo để đọc lại. Ý tưởng rằng nhiều lập trình viên có thể được hưởng lợi từ việc đọc bộ sưu tập này đã thôi thúc tôi viết bài này và chia sẻ với bạn tất cả các bài viết "Điều mọi lập trình viên nên biết". 10 bài viết mọi lập trình viên nên đọc - 1Trong bài viết này, bạn sẽ làm quen với bộ kiến ​​thức cổ điển mà mọi lập trình viên cần có, trong các chủ đề như bộ nhớ , Unicode , số học dấu phẩy động , mạng , thiết kế hướng đối tượng), thời gian , Mã hóa URL , Chuỗi và nhiều chủ đề khác. Danh sách này rất quan trọng đối với người mới bắt đầu và người mới học vì họ thường thiếu kiến ​​thức thực tế. Vì hầu hết các bài viết đều dựa trên các ví dụ thực tế nên các lập trình viên trình độ sơ cấp và trung cấp có thể học hỏi được nhiều điều từ chúng. Ngoài ra, việc học những kiến ​​thức cơ bản ngay từ đầu trong sự nghiệp sẽ giúp bạn tránh được những sai lầm mà các lập trình viên và nhà phát triển phần mềm khác đã mắc phải trong quá trình học tập của họ. Thật không may, không phải tất cả thông tin từ các bài viết được mô tả đều có thể dễ dàng tiếp thu ngay từ lần đọc đầu tiên. Rất có thể, bạn có thể không hiểu ngay một số chi tiết về số dấu phẩy động hoặc bạn có thể bị nhầm lẫn bởi sự phức tạp của bộ nhớ, nhưng điều quan trọng là bạn phải giữ bộ sưu tập này trong tầm tay và thỉnh thoảng tham khảo nó để làm rõ. Vì vậy tôi chúc bạn may mắn và thích đọc những bài viết tuyệt vời này. Nhân tiện, đừng quên chia sẻ bất kỳ bài viết "Mọi lập trình viên nên biết" nào khác nếu chúng chưa có trong danh sách của chúng tôi.

Những điều mọi lập trình viên nên biết về bộ nhớ

dịch sang tiếng Nga Đây là một trong những bài viết kinh điển sẽ hướng dẫn bạn về các đặc điểm của trí nhớ, một số cũ, một số mới, một số nổi tiếng và một số không quá nhiều. Mặc dù giữ vai trò quản lý và có mặt khắp nơi nhưng không phải lập trình viên nào cũng có đủ kiến ​​thức về Bộ nhớ. Tầm quan trọng của việc làm quen với bộ nhớ trong các hệ thống hiện đại sẽ tăng lên nếu bạn đang viết các ứng dụng hiệu năng cao. Các nhà thiết kế phần cứng đang đưa ra các mô hình quản lý bộ nhớ phức tạp hơn và các kỹ thuật tăng tốc, chẳng hạn như bộ đệm CPU, nhưng chúng không thể hoạt động tối ưu nếu không có sự trợ giúp từ các lập trình viên. Tôi vẫn đang đọc bài viết này và tôi không thể cho bạn biết tôi đã học được bao nhiêu từ nó về RAM, bộ đệm CPU như bộ đệm L1 và L2, các loại bộ nhớ khác nhau, truy cập bộ nhớ trực tiếp, thiết kế bộ điều khiển bộ nhớ và bộ nhớ nói chung . Nói tóm lại, đây là một cuốn sách phải đọc đối với các lập trình viên ở mọi cấp độ.

Điều mọi nhà khoa học nên biết về số học dấu phẩy động

Chủ đề số học dấu phẩy động rất phức tạp và không dễ nắm vững. Nhiều lập trình viên Java thậm chí không biết điều gì có thể sai khi so sánh các giá trị với kiểu float/ doubletoán tử ==. Nhiều người trong chúng ta thường mắc sai lầm khi thực hiện các phép tính tiền tệ dạng floatdouble. Bài viết này là một viên ngọc quý khác của loạt bài này và là bài viết phải đọc đối với tất cả các nhà phát triển và lập trình viên phần mềm. Khi tích lũy được kinh nghiệm, bạn nên đi sâu vào những vấn đề phức tạp của các chủ đề chung và số học dấu phẩy động là một trong số đó. Là một nhà phát triển Java cấp cao, bạn nên biết cách thực hiện các phép tính tiền tệ, khi nào nên sử dụng hoặc floatcách làm tròn số dấu phẩy động, v.v. Ngay cả khi bạn có kiến ​​thức vững chắc về chủ đề này, sau khi đọc bài viết, bạn có thể khám phá ra điều gì đó mới mẻ về các phép toán dấu phẩy động. doubleBigDecimal

Những điều mọi nhà phát triển nên biết về Unicode

Mã hóa ký tự là một lĩnh vực khác mà nhiều lập trình viên gặp khó khăn và "Mức tối thiểu tuyệt đối mà mọi nhà phát triển phần mềm nên biết về Unicode và Bộ ký tự (Không có lý do gì!)" nhằm mục đích lấp đầy khoảng trống đó. Xin lưu ý rằng: Có, đây là tiêu đề đầy đủ của bài viết này. Tác giả của nó là Joel Spolsky, một trong những người sáng lập https://stackoverflow.com . Joel đã viết bài viết này trên blog của mình gần 10 năm trước, nhưng nó vẫn không mất đi sự liên quan trong thế giới hiện đại. Bài viết giải thích Unicode là gì, mã hóa là gì, cách các ký tự được biểu diễn bằng byte và hơn thế nữa. Một trong những điều hay nhất của bài viết này là ngôn ngữ và phương pháp trình bày, ngay cả khi bạn không biết gì về Unicode, bạn sẽ không gặp vấn đề gì khi hiểu nó. Nói tóm lại, một cuốn khác phải đọc dành cho tất cả các lập trình viên, lập trình viên và kỹ sư phần mềm.

Điều mọi lập trình viên nên biết về thời gian

Bên cạnh mã hóa ký tự, thời gian và ngày tháng ( TimeDate) là một lĩnh vực khác mà nhiều lập trình viên, trong đó có tôi, gặp khó khăn. Ngay cả các nhà phát triển cấp cao cũng bị lạc trong GMT, UTC, giờ tiết kiệm ánh sáng ban ngày và giây nhuận. Thành thật mà nói, không dễ để xử lý các múi giờ mà không mắc một số sai sót và việc sử dụng Giờ tiết kiệm ánh sáng ban ngày càng khiến việc này trở nên khó khăn hơn. Vấn đề sẽ trở nên tồi tệ hơn nếu bạn áp dụng phương pháp thử và sai vì bạn sẽ không bao giờ có thể giải quyết được vấn đề của mình bằng cách làm này. Có rất nhiều điều có thể xảy ra sai sót và cũng có một số lượng quan niệm sai lầm tương đương. Những vấn đề như liệu một ngày có chứa múi giờ hay không có thể khiến bạn bối rối, việc chuyển đổi thời gian UNIX sang các múi giờ khác có thể khiến bạn khó chịu và bạn có thể dễ dàng quên đi việc đồng bộ hóa đồng hồ và độ trễ. Tôi hy vọng rằng sau khi đọc bài viết này, nhiều quan niệm sai lầm của bạn về thời gian sẽ biến mất và bạn sẽ có được sự hiểu biết đầy đủ về thời gian.

Những điều mọi nhà phát triển web nên biết về mã hóa URL

Bài viết này mô tả những quan niệm sai lầm phổ biến về mã hóa Bộ định vị tài nguyên thống nhất (URL), sau đó cố gắng làm rõ mã hóa URL cho HTTP, sau đó trình bày các vấn đề và giải pháp phổ biến. Mặc dù bài viết này không dành riêng cho bất kỳ ngôn ngữ lập trình nào nhưng nó minh họa các vấn đề trong Java) và kết thúc bằng các giải thích cách khắc phục các vấn đề về mã hóa URL trong Java và trong các ứng dụng web ở nhiều cấp độ. Bạn sẽ học ngữ pháp URL cơ bản, cú pháp URL chung trong HTTP và các giao thức khác. Bài viết này cũng đề cập đến các lỗi URL phổ biến như mã hóa ký tự, ký tự đặc biệt ở các phần khác nhau của URL và các vấn đề về mã hóa/giải mã URL. Nếu bạn là lập trình viên Java thì bạn cũng sẽ học cách quản lý URL đúng cách trong ứng dụng Java. Cách xây dựng URL và sử dụng thư viện máy khách Apache Commons HTTP. Cuối cùng, nó cũng cung cấp các phương pháp hay nhất và đề xuất để làm việc với URL, chẳng hạn như cách bạn nên mã hóa URL khi xây dựng URL, đảm bảo bộ lọc viết lại URL xử lý URL của bạn một cách chính xác, v.v. Tóm lại, đây là một cuốn sách phải đọc đối với bất kỳ nhà phát triển và lập trình viên web nào.

Mọi lập trình viên đều biết gì về phát triển web?

Bài viết thú vị này của lập trình viênStackExchange nói về những điều mà mọi lập trình viên triển khai các chi tiết kỹ thuật của ứng dụng web nên cân nhắc trước khi mở một trang web ra công chúng. Nó bao gồm những thứ từ các lĩnh vực Thiết kế giao diện và Trải nghiệm người dùng, Bảo mật, tiêu chuẩn Web, Hiệu suất, Tối ưu hóa công cụ tìm kiếm (SEO), công nghệ được sử dụng và một số tài nguyên quan trọng. Thế giới ngày nay chủ yếu phụ thuộc vào Internet và việc một lập trình viên có một trang web hoặc blog cá nhân là điều khá phổ biến. Kinh nghiệm thu được từ bài viết này sẽ hữu ích không chỉ trong hoạt động nghề nghiệp của bạn mà còn trong các dự án của riêng bạn. Bạn sẽ tìm hiểu về tất cả các công nghệ chính như HTTP, HTML, XML, CSS, JavaScript, khả năng tương thích của trình duyệt, mẹo để giảm thời gian tải trang web của bạn, sơ đồ trang web XML, thông số kỹ thuật của W3C và một số điểm chính khác.

Những điều mọi lập trình viên nên biết về SEO

Đây là một bài viết khác sẽ khá hữu ích cho các nhà phát triển web, lập trình viên và người viết blog. SEO quá lớn để có thể bỏ qua và điều quan trọng là nhiều lập trình viên và người viết blog phải biết những kiến ​​thức cơ bản về tối ưu hóa công cụ tìm kiếm để giúp Google tìm thấy nội dung của họ và hiển thị nội dung đó cho các lập trình viên đồng nghiệp. Vì không công ty nào có thể tồn tại nếu không có sự hiện diện của web trong thế giới kết nối ngày nay, SEO càng trở nên quan trọng hơn. Nếu bạn đang khởi nghiệp kinh doanh bất kỳ sản phẩm nào thì SEO là điều bạn nên quan tâm. Tất cả các lập trình viên, đặc biệt là các nhà phát triển web, có thể hưởng lợi rất nhiều từ bài viết này. Hãy nhớ rằng, tối ưu hóa công cụ tìm kiếm rất rộng và rất năng động, đồng thời khác nhau giữa các công cụ tìm kiếm khác nhau, chẳng hạn như Google, Yahoo và các công cụ khác. Vì vậy, để nắm vững chủ đề này bạn phải luôn cập nhật kiến ​​thức của mình.

Điều mà mọi lập trình viên C nên biết về hành vi không xác định #1/3

Ngôn ngữ lập trình C có khái niệm "hành vi không xác định". Hành vi không xác định là một chủ đề rộng với nhiều sắc thái và đó là một trong những lý do khiến tôi yêu thích Java: ít hành vi không xác định hơn, ít nhầm lẫn hơn, ổn định hơn và yên bình hơn. Nhiều thứ có vẻ hợp lý trong C thực sự có hành vi không xác định và đây là nguồn lỗi phổ biến trong các chương trình. Ngoài ra, bất kỳ hành vi không xác định nào trong C đều cấp quyền cho việc triển khai (của trình biên dịch và thời gian chạy) để tạo mã định dạng ổ cứng, thực hiện những điều hoàn toàn không mong muốn hoặc tệ hơn. Hãy đọc bài viết xuất sắc này để tìm hiểu sâu hơn về biển hành vi khó lường.

Những điều mọi lập trình viên cần biết về mạng

Ngay từ bài viết "Bạn là một lập trình viên. Bạn đã bao giờ tự hỏi trò chơi nhiều người chơi hoạt động như thế nào chưa? Nhìn từ bên ngoài, điều đó có vẻ kỳ diệu: hai hoặc nhiều người chơi chia sẻ trải nghiệm hợp tác trực tuyến, như thể họ thực sự tồn tại cùng nhau trong cùng một thế giới ảo. Nhưng làm thế nào "Các lập trình viên, chúng tôi biết sự thật rằng những gì đang thực sự xảy ra hoàn toàn khác với những gì bạn thấy. Hóa ra tất cả chỉ là ảo ảnh." Đây là một bài viết rất thú vị về mạng được viết cho các lập trình viên trò chơi, nhưng tôi nghĩ mọi lập trình viên và nhà phát triển đều có thể hưởng lợi từ nó.

Điều mọi nhà phát triển Java nên biết về chuỗi

Đây là bài viết của tôi java.lang.Stringvà cá nhân tôi nghĩ mọi lập trình viên Java đều nên biết về nó. Chuỗi rất quan trọng trong lập trình Java hàng ngày và đó là lý do tại sao kiến ​​thức tốt là điều bắt buộc đối với bất kỳ nhà phát triển Java nào. Bài viết này đề cập đến nhiều khía cạnh quan trọng của Chuỗi, bao gồm nhóm chuỗi, chuỗi ký tự, so sánh chuỗi với ==vs equals(), chuyển đổi byte thành chuỗi, tại sao chuỗi là bất biến, nối chuỗi thích hợp, v.v. Một lập trình viên nâng cao có thể đã biết tất cả các tính năng này, nhưng ngay cả như vậy thì cũng nên xem lại.

Mọi lập trình viên nên biết gì về bảo mật?

Câu hỏi này được một sinh viên lập trình trên StackOverflow đặt ra. Cũng như chúng ta biết rất nhiều về các khái niệm lập trình chung như hệ điều hành, thuật toán, cấu trúc dữ liệu, kiến ​​trúc máy tính và những thứ khác, điều quan trọng là phải biết về bảo mật. Mặc dù chủ đề Bảo mật khá rộng, bao gồm các lĩnh vực mã hóa/giải mã, SSL, bảo mật web, che giấu mã nguồn, xác thực, ủy quyền, v.v., nhưng mọi lập trình viên đều cần có kiến ​​thức cơ bản tối thiểu. Cá nhân tôi khi bắt đầu sự nghiệp tôi không biết nhiều về bảo mật, khi bắt đầu viết ứng dụng web Java dựa trên Servlet/JSP, tôi đã tìm hiểu về bảo mật web và một số mối đe dọa bảo mật như SQL Tiêm, Từ chối dịch vụ, XML Tiêm, kịch bản chéo trang và những thứ khác. Là một nhà phát triển Java, giờ đây tôi tuân theo các phương pháp lập trình Java an toàn do Fortify, PMP và các nhà cung cấp trình phân tích mã tĩnh khác cung cấp. Bài viết này chứa rất nhiều lựa chọn tốt về các chủ đề và liên kết bảo mật và cho dù bạn có viết mã hay không, bạn chắc chắn sẽ được hưởng lợi từ tài nguyên này.

Số độ trễ mà mọi lập trình viên nên biết

Bài viết này là một phần thưởng, tuy nhiên, nó phải đọc đối với bất kỳ lập trình viên nào. Để viết một ứng dụng hiệu suất cao bằng bất kỳ ngôn ngữ lập trình nào, có thể là Java hoặc C++, bạn phải biết các giá trị độ trễ cơ bản, ví dụ: sẽ mất bao lâu để đọc một biến từ bộ nhớ, từ bộ đệm L1, từ bộ đệm L2, trong một khoảng thời gian. đọc ngẫu nhiên từ ổ SSD và từ đĩa. Mất bao lâu để khóa/mở khóa một mutex để gửi gói dữ liệu từ thành phố này sang thành phố khác hoặc thực hiện một chuyến khứ hồi trong một trung tâm dữ liệu. Các giá trị độ trễ này độc lập với ngôn ngữ lập trình và là một phần kiến ​​thức cơ bản mà nhà phát triển phải có để viết các ứng dụng có tải cao, độ trễ thấp. Điều tích cực về liên kết này là nó cung cấp phân tích so sánh về cách các giá trị này đã phát triển trong những năm qua. Bạn có thể xem giá trị năm 2006 là bao nhiêu và hiện tại. Đó là tất cả trong danh sách các bài viết mà mọi lập trình viên nên đọc. Bằng cách đọc các bài viết như Điều mà mọi lập trình viên hoặc nhà phát triển nên biết, bạn sẽ nâng cao kiến ​​thức của mình về một chủ đề cụ thể. Thành thật mà nói, có quá nhiều thứ để lập trình viên phải học, và việc học một ngôn ngữ lập trình như Java chỉ là phần nổi của tảng băng chìm, nhưng không phải hầu hết chúng ta đều có niềm đam mê học tập. Lập trình là một công việc đòi hỏi sự phát triển không ngừng và điều duy nhất có ích cho bất kỳ lập trình viên nào trong suốt sự nghiệp của họ là kiến ​​thức cơ bản về những thứ như bộ nhớ , Unicode , số dấu phẩy động , thời gian , bảo mật (bảo mật) . Một số nội dung dành riêng cho ngôn ngữ, chẳng hạn như bài đăng của tôi về Chuỗi trong Java và Những gì mọi lập trình viên C nên biết về hành vi không xác định, nhưng chúng rất hữu ích cho nhiều người mới bắt đầu và nhà phát triển.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION