JavaRush /Java Blog /Random-KO /모든 프로그래머가 읽어야 할 10가지 기사
Shoggy
레벨 32
Санкт-Петербург

모든 프로그래머가 읽어야 할 10가지 기사

Random-KO 그룹에 게시되었습니다
Java 프로그래머이자 소프트웨어 개발자로서 저는 모든 프로그래머가 알아야 할 사항.....이라는 제목의 많은 기사에서 많은 것을 배웠습니다 . 이 기사는 그렇지 않으면 이해하기 어려운 특정 주제에 대해 유용하고 포괄적인 정보를 많이 제공하는 경향이 있습니다. 발견하다. 지식을 탐구하는 과정에서 나는 다시 읽을 수 있도록 참고 정보로 북마크에 추가한 매우 유용한 기사를 발견했습니다. 많은 프로그래머가 이 모음집을 읽으면 혜택을 받을 수 있다는 생각으로 인해 이 게시물을 작성하고 "모든 프로그래머가 알아야 할 사항" 기사를 모두 여러분과 공유하게 되었습니다. 이 기사에서는 메모리 , 유니코드 , 부동 소수점 연산 , 네트워킹 , 객체 지향 설계 시간 , URL 인코딩 , 문자열 등과 같은 모든 프로그래머가 읽어야 할 10가지 기사 - 1주제에 대해 모든 프로그래머에게 필요한 고전적인 지식 세트에 익숙해질 것입니다 . 이 목록은 실무 지식이 부족한 초보자와 신규 이민자에게 매우 중요합니다. 대부분의 기사는 실제 사례를 기반으로 하기 때문에 초급 및 중급 프로그래머는 이 기사에서 많은 것을 배울 수 있습니다. 또한 경력 초기에 기본 사항을 배우면 다른 프로그래머와 소프트웨어 개발자가 학습 과정에서 이미 저지른 실수를 피하는 데 도움이 됩니다. 불행하게도 설명된 기사의 모든 정보를 처음 읽을 때부터 쉽게 이해할 수 있는 것은 아닙니다. 부동 소수점 숫자에 대한 세부 사항 중 일부를 즉시 이해하지 못할 수도 있고, 메모리의 복잡함으로 인해 혼란스러울 수도 있지만, 이 컬렉션을 편리하게 보관하고 설명을 위해 때때로 참조하는 것이 중요합니다. 그럼 행운을 빌며 이 좋은 글들을 즐겁게 읽어보시기 바랍니다. 그건 그렇고, 아직 우리 목록에 없는 다른 "모든 프로그래머가 알아야 할 사항" 기사를 공유하는 것을 잊지 마십시오.

모든 프로그래머가 메모리에 대해 알아야 할 사항

러시아어로 번역 이것은 기억의 특징을 안내하는 고전적인 기사 중 하나입니다. 그 중 일부는 오래되고 일부는 새로운 것이며 일부는 유명하고 일부는 그리 많지 않습니다. 관리 역할과 편재성에도 불구하고 모든 프로그래머가 메모리에 대한 충분한 수준의 지식을 갖고 있는 것은 아닙니다. 고성능 애플리케이션을 작성하는 업무를 수행하는 경우 최신 시스템의 메모리에 익숙해지는 것의 중요성이 커집니다. 하드웨어 설계자는 CPU 캐시와 같은 보다 복잡한 메모리 관리 모델과 가속 기술을 개발하고 있지만 프로그래머의 도움 없이는 최적의 성능을 발휘할 수 없습니다. 나는 아직도 이 글을 읽고 있는데, 이 글을 통해 RAM, L1 및 L2 캐시와 같은 CPU 캐시, 다양한 유형의 메모리, 직접 메모리 액세스, 메모리 컨트롤러 설계 및 메모리 전반에 대해 얼마나 배웠는지 말할 수 없습니다. . 간단히 말해서, 모든 수준의 프로그래머가 꼭 읽어야 할 책입니다.

부동 소수점 산술에 대해 모든 과학자가 알아야 할 사항

부동 소수점 연산의 주제는 까다롭고 익히기가 쉽지 않습니다. float많은 Java 프로그래머는 유형 / double연산자 와 값을 비교할 때 무엇이 ​​잘못될 수 있는지조차 모릅니다 ==. float우리 중 많은 사람들이 유형 및 에서 화폐 계산을 구현할 때 종종 실수를 합니다 double. 이 기사는 이 시리즈의 또 다른 보석이며 모든 소프트웨어 개발자와 프로그래머가 꼭 읽어야 할 기사입니다. 경험이 쌓이면 일반적인 주제의 복잡한 부분으로 들어가야 하며 부동 소수점 연산도 그 중 하나입니다. 수석 Java 개발자로서 금전적 계산 방법, 사용 시기 float, double부동 BigDecimal소수점 숫자 반올림 방법 등을 알아야 합니다. 이 주제에 대한 확실한 지식이 있더라도 기사를 읽은 후 부동 소수점 연산에 대한 새로운 내용을 발견할 수 있습니다.

모든 개발자가 유니코드에 대해 알아야 할 사항

문자 인코딩은 많은 프로그래머가 어려움을 겪는 또 다른 영역이며 "모든 소프트웨어 개발자가 유니코드 및 문자 집합에 대해 절대적으로 알아야 할 최소한의 정보(변명 없음!)"는 이러한 격차를 메우는 것을 목표로 합니다. 참고로, 네, 이것이 이 글의 전체 제목입니다. 저자는 https://stackoverflow.com 의 창립자 중 한 명인 Joel Spolsky입니다 . Joel은 거의 10년 전에 자신의 블로그에 이 기사를 썼지만 현대 세계에서의 관련성을 잃지 않았습니다. 이 기사에서는 유니코드가 무엇인지, 인코딩이 무엇인지, 바이트를 사용하여 문자를 표현하는 방법 등을 설명합니다. 이 글의 가장 좋은 점 중 하나는 언어와 표현 방법입니다. 유니코드에 대해 전혀 몰라도 이해하는데 문제가 없을 것입니다. 간단히 말해서, 모든 프로그래머, 코더, 소프트웨어 엔지니어가 꼭 읽어야 할 책입니다.

모든 프로그래머가 시간에 대해 알아야 할 것

문자 인코딩 외에도 시간과 날짜( TimeDate)는 나를 포함한 많은 프로그래머가 어려움을 겪는 또 다른 영역입니다. 고위 개발자라도 GMT, UTC, 일광 절약 시간 및 윤초를 놓치게 됩니다. 솔직히 말해서, 실수 없이 시간대를 다루는 것은 쉽지 않으며, 일광 절약 시간제를 사용하면 더욱 어렵습니다. 이렇게 하면 문제를 해결할 수 없기 때문에 시행착오를 거치면 문제가 더욱 악화됩니다. 잘못될 수 있는 일이 엄청나게 많고, 그에 못지않게 오해도 많습니다. 날짜에 시간대가 포함되어 있는지 여부와 같은 사항이 혼란스러울 수 있고 UNIX 시간을 다른 시간대로 변환하면 짜증이 날 수 있으며 시계 및 지연 동기화를 쉽게 잊어버릴 수 있습니다. 이 글을 읽고 나면 시간에 대한 많은 오해가 사라지고 시간에 대한 완전한 이해를 얻게 되기를 바랍니다.

모든 웹 개발자가 URL 인코딩에 대해 알아야 할 사항

이 문서에서는 URL(Uniform Resource Locator) 인코딩에 대한 일반적인 오해를 설명하고 HTTP에 대한 URL 인코딩을 명확히 한 다음 일반적인 문제와 해결 방법을 보여줍니다. 이 기사는 특정 프로그래밍 언어에 국한되지 않지만 Java의 문제를 설명하고 Java 및 웹 애플리케이션의 여러 수준에서 URL 인코딩 문제를 해결하는 방법에 대한 설명으로 끝납니다. 기본 URL 문법, HTTP 및 기타 프로토콜의 일반 URL 구문을 배우게 됩니다. 이 문서에서는 문자 인코딩, URL의 여러 부분에 있는 특수 문자, URL 인코딩/디코딩 문제 등 일반적인 URL 문제도 다룹니다. Java 프로그래머라면 Java 애플리케이션에서 URL을 적절하게 관리하는 방법도 배우게 됩니다. URL을 작성하고 Apache Commons HTTP 클라이언트 라이브러리를 사용하는 방법. 마지막으로 URL을 작성할 때 URL을 인코딩하는 방법, URL 재작성 필터가 URL을 올바르게 처리하는지 확인하는 등 URL 작업에 대한 모범 사례와 제안도 제공합니다. 간단히 말해서 웹 개발자와 프로그래머라면 꼭 읽어야 할 책입니다.

모든 프로그래머는 웹 개발에 대해 무엇을 알고 있습니까?

프로그래머스StackExchange의 이 흥미로운 기사는 웹 애플리케이션의 기술적 세부 사항을 구현하는 모든 프로그래머가 사이트를 대중에게 공개하기 전에 고려해야 할 사항에 관한 것입니다. 여기에는 인터페이스 디자인 및 사용자 경험, 보안, 웹 표준, 성능, 검색 엔진 최적화(SEO), 사용된 기술 및 일부 중요한 리소스 분야의 내용이 포함됩니다. 오늘날의 세계는 인터넷에 크게 의존하고 있으며 프로그래머가 개인 웹사이트나 블로그를 갖는 것은 매우 흔한 일입니다. 이 기사에서 얻은 경험은 귀하의 전문적인 활동뿐만 아니라 귀하의 프로젝트에서도 유용할 것입니다. HTTP, HTML, XML, CSS, JavaScript, 브라우저 호환성, 사이트 로딩 시간 단축을 위한 팁, XML 사이트맵, W3C 사양 및 기타 여러 핵심 사항과 같은 모든 핵심 기술에 대해 배우게 됩니다.

모든 프로그래머가 SEO에 대해 알아야 할 사항

이것은 웹 개발자, 프로그래머 및 블로거에게 매우 유용한 또 다른 기사입니다. SEO는 무시하기에는 너무 크며, 많은 프로그래머와 블로거가 Google에서 콘텐츠를 찾아 동료 프로그래머에게 표시할 수 있도록 검색 엔진 최적화의 기본 사항을 아는 것이 중요합니다. 오늘날 연결된 세상에서 웹이 없으면 어떤 회사도 살아남을 수 없기 때문에 SEO가 더욱 중요해졌습니다. 어떤 제품을 판매하는 스타트업이 있다면 SEO는 꼭 챙겨야 할 부분입니다. 모든 프로그래머, 특히 웹 개발자는 이 기사를 통해 큰 이점을 얻을 수 있습니다. 검색 엔진 최적화는 광범위하고 매우 동적이며 Google, Yahoo 등 다양한 검색 엔진에 따라 다릅니다. 따라서 이 주제를 마스터하려면 항상 지식을 업데이트해야 합니다.

모든 C 프로그래머가 정의되지 않은 동작에 대해 알아야 할 사항 #1/3

C 프로그래밍 언어에는 "정의되지 않은 동작"이라는 개념이 있습니다. 정의되지 않은 동작은 미묘한 차이가 많은 광범위한 주제이며, 이것이 제가 Java를 좋아하는 이유 중 하나입니다. 정의되지 않은 동작이 적고, 혼란이 적고, 안정성이 높으며, 평화로움이 더 큽니다. C에서 합리적으로 보이는 많은 것들은 실제로 정의되지 않은 동작을 갖고 있으며, 이는 프로그램 버그의 일반적인 원인입니다. 또한 C의 정의되지 않은 동작은 하드 드라이브를 포맷하는 코드를 생성하거나 완전히 예상치 못한 작업을 수행하거나 더 나쁜 작업을 수행하는 구현(컴파일러 및 런타임)에 권한을 부여합니다. 예측할 수 없는 행동의 바다에 대해 자세히 알아보려면 이 훌륭한 기사를 읽어보세요.

모든 프로그래머가 네트워크에 대해 알아야 할 사항

기사 자체에서 "당신은 프로그래머입니다. 멀티 플레이어 게임이 어떻게 작동하는지 궁금한 적이 있습니까? 외부에서 보면 두 명 이상의 플레이어가 마치 실제로 동일한 가상 세계에 함께 존재하는 것처럼 온라인에서 공동 작업 경험을 공유하는 것처럼 보입니다. 그러나 "프로그래머 여러분, 우리는 실제로 일어나고 있는 일이 여러분이 보는 것과는 상당히 다르다는 사실을 알고 있습니다. 그것은 모두 환상이라는 것이 밝혀졌습니다." 이것은 게임 프로그래머를 위해 작성된 네트워킹에 관한 매우 흥미로운 기사이지만 모든 프로그래머와 개발자가 이 기사에서 이익을 얻을 수 있다고 생각합니다.

모든 Java 개발자가 문자열에 대해 알아야 할 사항

이것은 내 기사 java.lang.String이며 개인적으로 모든 Java 프로그래머가 이에 대해 알아야 한다고 생각합니다. 문자열은 일상적인 Java 프로그래밍에서 매우 중요하므로 Java 개발자에게는 좋은 지식이 필수입니다. 이 문서에서는 문자열 풀, 문자열 리터럴, 문자열을 ==vs 와 비교 equals(), 바이트를 문자열로 변환, 문자열이 불변인 이유, 적절한 문자열 연결 등을 포함하여 문자열의 많은 중요한 측면을 다룹니다. 고급 프로그래머는 이미 이러한 기능을 모두 알고 있을 수도 있지만 그래도 검토해 보는 것이 좋습니다.

모든 프로그래머가 보안에 대해 알아야 할 것은 무엇입니까?

이 질문은 StackOverflow의 학생 프로그래머가 질문했습니다. 우리가 운영 체제, 알고리즘, 데이터 구조, 컴퓨터 아키텍처 및 기타 사항과 같은 일반적인 프로그래밍 개념에 대해 많이 알고 있는 것처럼 보안에 대해서도 아는 것이 중요합니다. 보안이라는 주제는 암호화/복호화, SSL, 웹 보안, 난독화, 인증, 권한 부여 등의 영역을 포괄하는 매우 광범위하지만 모든 프로그래머에게 필요한 최소한의 기본 지식이 있습니다. 개인적으로 경력 초기에는 보안에 대해 잘 몰랐습니다. Servlet/JSP 기반 Java 웹 애플리케이션을 작성하기 시작했을 때 웹 보안과 SQL 주입, 서비스 거부, XML과 같은 여러 보안 위협에 대해 배웠습니다. 주입, 크로스 사이트 스크립팅 및 기타. Java 개발자로서 저는 이제 Fortify, PMP 및 기타 정적 코드 분석기 제공업체에서 제공하는 안전한 Java 프로그래밍 방식을 따릅니다. 이 문서에는 매우 다양한 보안 주제와 링크가 포함되어 있으며 코딩 여부에 관계없이 이 리소스를 통해 확실히 이점을 얻을 수 있습니다.

모든 프로그래머가 알아야 할 지연 시간 수치

이 기사는 보너스이지만 모든 프로그래머가 꼭 읽어야 할 글입니다. Java 또는 C++ 등 프로그래밍 언어로 고성능 애플리케이션을 작성하려면 기본 대기 시간 값을 알아야 합니다. 예를 들어 메모리, L1 캐시, L2 캐시에서 변수를 읽는 데 걸리는 시간 등을 알아야 합니다. SSD와 디스크에서 무작위 읽기. 한 도시에서 다른 도시로 데이터 패킷을 보내거나 한 데이터 센터 내에서 왕복을 수행하기 위해 뮤텍스를 잠그거나 잠금 해제하는 데 시간이 얼마나 걸립니까? 이러한 지연 시간 값은 프로그래밍 언어와 무관하며 개발자가 고부하, 낮은 지연 시간 애플리케이션을 작성해야 하는 기본 지식의 일부입니다. 이 링크의 긍정적인 점은 이러한 가치가 수년에 걸쳐 어떻게 진화했는지에 대한 비교 분석을 제공한다는 것입니다. 2006년의 가치는 어떠했고, 현재는 어떠한지 확인할 수 있습니다. 모든 프로그래머가 읽어야 할 기사 목록은 이것이 전부입니다. 모든 프로그래머 또는 개발자가 알아야 할 사항 과 같은 기사를 읽으면 특정 주제에 대한 지식이 깊어집니다. 솔직히 프로그래머가 배워야 할 것이 너무 많고, Java와 같은 프로그래밍 언어를 배우는 것은 빙산의 일각에 불과하지만 우리 대부분은 배움에 대한 열정을 갖고 있지 않습니다. 프로그래밍은 지속적인 개발이 필요한 작업이며, 경력 전반에 걸쳐 모든 프로그래머에게 유용할 유일한 것은 메모리 , 유니코드 , 부동 소수점 숫자 , 시간 , 보안(보안) 과 같은 기본 지식입니다 . Java의 문자열 및 모든 C 프로그래머가 정의되지 않은 동작에 대해 알아야 할 사항에 대한 내 게시물과 같은 일부 사항은 언어별로 다르지만 많은 초보자와 개발자가 배우기에 좋습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION