지속적으로 업데이트 중입니다...
독학으로 가는 길은 멀고도 멀다. 끊임없이 요약하고 반성하고 공유해야만 우리는 성장할 수 있다!
저에게 연락하시려면 [공식 계정]으로 이동하여 저에게 직접 개인 메시지를 보내시거나 [WeChat]에 저를 추가해 주세요.
학습 경로
참고: 업로드 후 이미지가 압축될 수 있습니다. 고화질 대형 이미지의 무손실 버전이 필요한 경우 WeChat 공개 계정 "CodeSheep"으로 이동하여 "고화질 대형 이미지"라는 네 단어로 답장할 수 있습니다. 그것을 얻기 위한 배경.
- C 언어/C++ 개발 학습 경로(백엔드 측)
- 리눅스 학습 경로
- 프론트엔드 개발 학습 경로
프로젝트 추천
- 이 글을 읽고 나면 다른 사람들의 오픈소스 프로젝트 구조를 이해할 수 있을 것입니다.
- 지난번에 누가 Java 오픈소스 프로젝트가 필요하다고 말했습니까? 오다!
- 초보자에게 적합한 여러 C 언어/C++ 오픈 소스 프로젝트 공유
- AI를 배우고 싶어하는 친구들은 이 멋진 오픈 소스 프로젝트를 살펴볼 수 있습니다.
- 오픈소스 프로젝트를 몇 개 더 정리해보세요. 연습/완성/개인 작업에 대해 걱정할 필요가 없습니다.
- C/C++ 분야 실습을 위한 오픈소스 프로젝트, 친구들이 맡아주세요
- 배우고 실천할 가치가 있는 엔터프라이즈급 오픈소스 프로젝트 5가지!
- 인터넷 개발 분야 상위 10개 오픈 소스 프로젝트 둘러보기!
- 몇 가지 멋진 Python 오픈 소스 프로젝트를 추천해 주세요
도서 추천
- Java 백엔드 개발에 대한 나의 작은 책장 공유
- 꼭 읽어야 할 컴퓨터 프로그래밍 도서 추천! 프로그래머 남자가 책장을 옮겼습니다!
- C/C++ 독학을 위한 추천도서 (C/C++ 독학을 위한 추천 독서 경로)
독학 프로그래밍
프로그래밍의 기초!
기본 기술을 재미있게 학습
- 상사는 말했다: 상품의 양을 정의하기 위해 두 배를 사용하려는 사람은 누구나 짐을 싸서 가야 합니다.
- 인터페이스를 프로그래밍하는 이유는 무엇입니까? !
- IMHO, 열거형을 많이 사용하지 않은 것 같습니다.
- 직렬화와 역직렬화를 자세히 설명하는 기사
- 죄송합니다만 참겠습니다! 방금 Java 11을 사용하기 시작했습니다.
- 약속해 주세요. 만약/그렇지 않다면 세상을 장악하는 것을 그만둘 수 있나요?
- 약속해 주세요. "C++ 버전"으로 세상을 장악하는 것을 중단하시겠습니까?
- 주석만 사용할 수 있고 직접 작성할 수는 없다고 들었습니다.
- 면접 질문을 통해 프로그래머의 몇 가지 기본 기술을 배우십시오
- 테스트를 하나 덜 작성했다는 이유만으로 코드가 온라인에 공개된 후 폭발했습니다!
- 나중에 다시 for 루프를 작성하면 나 자신을 자책할 것입니다.
- 무엇? 아직도 프로젝트에서 시간을 표시하기 위해 Date를 사용하고 있나요? !
- 인터뷰어: 왜 해시코드와 같음 메소드를 다시 작성해야 합니까?
- 이것이 프로그래밍 학습의 기초입니다!
- 부동 소수점 숫자를 이진수로 변환하는 방법을 모르는 친구가 실제로 있습니까?
- 목록은 함정 기록을 사용합니다.
- 맵은 트랩 레코드를 사용합니다.
멀티스레딩/동시성
- ThreadLocal 소스 코드 분석
- 스레드 풀에 대한 자세한 설명
- 다양한 "자물쇠"에 대한 대중 과학
- JUC 도구 클래스 분석
JVM
- JVM 메모리 모델 분석
- JVM 가비지 컬렉션에 대한 자세한 설명
- 클래스 로딩 메커니즘
- 성능 튜닝 및 문제 해결
데이터 구조 및 알고리즘
- 24개의 그림, 9개의 주요 데이터 구조가 명확하게 정리되어 있습니다!
- 제갈량 vs 사마의, 정렬 알고리즘 대결에서 최후의 웃음을 짓게 될 사람은 누구일까?
- 상위 10개 고전 정렬 알고리즘 검토(애니메이션 그림 + 코드)
- 데이터 구조의 다양한 어려운 "트리"를 하나의 기사로 이해하세요
- 재귀적 방법을 사용하여 문제를 해결하는 방법을 철저하게 배울 수 있는 기사!
- 해시 알고리즘에 대한 자세한 설명
컴퓨터 네트워크(TCP/IP 프로토콜 스택)
- 온 가족이 함께 즐길 수 있는 지왕 IP 지식통, 가져갈 수 있는 사진 45장 세트
- ping 명령이 이렇게 사용되는 원리를 알고 계시나요? 일러스트레이션!
- 탐구: 데이터 패킷은 네트워크에서 어떻게 이동합니까?
- 어려운지 아닌지는 당신에게 달려 있습니다! 수백 번이나 받은 TCP 3자 핸드셰이크와 4자 웨이브 인터뷰 질문 전체 그림
- 하드코어! 일반적인 HTTP 인터뷰 질문에 대한 30가지 다이어그램
- 인터뷰에서 GET과 POST의 차이점에 대해 다시 묻는다면 이 기사를 제공하세요.
- JiNet TCP/UDP에 대한 빈번한 인터뷰 질문 모음
운영 체제
- 하드코어 과학 대중화: 프로그래머가 꼭 알아야 할 89가지 핵심 운영체제 개념
데이터베이스/SQL
- 왼쪽 조인, 오른쪽 조인 및 조인의 차이점을 알 수 없습니까?
- 데이터베이스 인덱스란 정확히 무엇입니까?
- 데이터베이스 인덱스의 원리 및 사용 지침
- 데이터베이스 잠금 메커니즘
- 데이터베이스 트랜잭션 특성 및 격리 수준에 대한 자세한 설명
- SQL 최적화에 대한 자세한 설명
- 에이전트 기반 데이터베이스 하위 테이블 프레임워크 Mycat 실습
다른
- UML 대중과학: 14가지 UML 다이어그램을 한 글로 정리
도구 및 소프트웨어
[상위 1] 10일 밤낮을 지새운 끝에 PDF 버전의 "소프트웨어 설치 매뉴얼"이 나왔습니다.
[상위 2] 이틀 밤의 노력 끝에 "서버 프로젝트 배포"에 대한 실용적인 PDF 매뉴얼을 작성했습니다.
리눅스 시스템
- 일반적으로 사용되는 Linux 배포 운영 체제의 포괄적인 인벤토리
- 한 사람과 함께 Linux 환경 구축: macOS 버전 튜토리얼
- 누구나 Linux 환경을 가지고 있습니다: Windows 버전 튜토리얼
- 인터뷰에서 자주 묻는 리눅스 명령어 20가지
- 쓸모없는 컴퓨터 구제책: 클라우드 서버를 구축하면 좋지 않을까요?
힘내/SVN
- 한 번에 GitHub 다운로드를 가속화하세요!
- Git이 해변에서 SVN을 때린 이유!
- Git의 기원, 데이터 모델 및 기본 명령
- 이 기사는 Git 작업 및 명령에 충분합니다!
소프트웨어 개발
- Chuanxin IDEA 2020.1 정말 향기로운 경험입니다!
- 이 IDEA 플러그인을 사용해본 적이 없나요? 코드를 작성하는 데 머리가 아픈 것도 당연합니다.
- JetBrains의 새로운 공식 프로그래밍 글꼴을 테스트해보세요. 좋은 냄새가 납니다!
지속적인 통합
- Jenkins가 성장했습니다. 이제 파이프라인을 사용할 시간입니다!
- 버그를 적게 작성하는 것을 어떻게 방지할 수 있나요?
문서관리
기타 소프트웨어 및 도구
- 내가 자주 사용하는 소프트웨어를 공개합니다!
- 프로그래밍 학습 웹사이트가 너무 많아서 귀하에게 적합한 웹사이트가 분명히 있을 것입니다.
- 프런트엔드와 백엔드가 분리되었으니 이제 유용한 API 관리 시스템을 구축할 차례입니다!
- 서버 소프트웨어 인벤토리!
- 효율성과 B 수준을 향상시키는 여러 소프트웨어 아티팩트
- 내가 가장 좋아하는 온라인 도구 웹사이트
애플리케이션 프레임워크
Spring 시리즈 프레임워크
- Spring Boot 애플리케이션 시작 프로세스 탐색
- SpringBoot의 @SpringBootApplication 주석 뒤의 3개 몸체 구조 탐색
- Spring Boot 로깅 프레임워크 실습
- 아티팩트 BTrace를 사용하여 온라인 Spring Boot 애플리케이션 런타임 정보 추적
- Spring Boot 프로젝트는 전역 고유 ID 생성기 UidGenerator를 통합합니다.
- Spring Boot Admin 2.0 언박싱 경험
- SSO Single Sign-On + Spring Security Oauth2 기반 JWT 권한 제어 실습
- 일련번호 ID 생성기 캡슐화: id-spring-boot-starter
- 나만의 elasticsearch-spring-boot-starter 만들기
- Spring Security와 JWT를 기반으로 한 인증 시스템 설계
- Spring Boot 프로젝트는 글로벌 고유 ID 생성기 Vesta를 통합합니다.
- 마이바티스 플러스는 사용하기 너무 쉽습니다.(나라사랑의 축복)
- 무엇? 아직도 복잡한 매개변수 검증을 직접 작성하고 있다고 들었습니다.
- Spring Boot Starter를 만들어 원격 공용 서버에 푸시하는 방법
- Spring Boot 애플리케이션 캐싱 실습: Ehcache 축복
- Spring Boot에 자연어 처리 툴킷 HanLP 적용
- Spring Boot 기반으로 이미지 업로드/워터마크 동작 구현
- Spring Boot의 EVCache 캐싱에 대한 실제 전투
- Spring Boot 애플리케이션에서 Guava Cache 로컬 캐싱 실행
- Spring Boot 프로젝트는 MyBatis Generator를 사용하여 데이터 계층 코드를 자동으로 생성합니다.
- Kotlin+SpringBoot 공동 프로그래밍에 대한 예비 탐색
- Spring Boot의 우아한 코딩: Lombok 축복
- Spring Boot 애플리케이션 모니터링 실습
- Spring Boot 애플리케이션은 외부 Tomcat 컨테이너에 배포됩니다.
- Spring Boot 핫 배포 지원
- 데이터베이스 비밀번호 구성 항목이 암호화되지 않습니까? 내 마음이 너무 커요!
- 누군가 감히 Map을 사용하여 매개변수를 다시 전달하려는 경우 나는 JIO였습니다.
앞부분과 뒷부분 분리
- 이번에는 앞부분과 뒷부분의 분리를 설명할 수가 없는데 어떻게 하면 될까요!
- 프론트엔드와 백엔드 분리를 위한 인터페이스 사양, 이것이 우리가 하는 일입니다!
- 별도의 프런트엔드 및 백엔드 개발: 효율적인 협업을 위한 10가지 팁
- 프런트엔드와 백엔드가 분리되었으니 이제 유용한 API 관리 시스템을 구축할 차례입니다!
마이크로서비스
- RPC 프레임워크 실습: Apache Thrift
- RPC 프레임워크 실습: Google gRPC
- 마이크로서비스 콜체인 추적센터 구축
- Zipkin을 사용하여 Mysql 데이터베이스 호출 체인 추적
- Spring Cloud Feign의 두 가지 사용 자세
- Spring Cloud Eureka Server 고가용성: 온라인 확장
- Eureka Server가 Spring Security Basic 인증을 활성화합니다.
- Eureka Server는 https 서비스 가이드를 활성화합니다.
Docker 컨테이너/클러스터
- ELK를 사용하여 Docker 컨테이너화된 애플리케이션 로그 센터 구축
- Docker 컨테이너 시각 모니터링 센터 구축
- Docker 컨테이너 호스트 간 통신: 직접 라우팅 방법
- TICK을 사용하여 Docker 컨테이너 시각적 모니터링 센터 구축
- 효율적인 Dockerfile 작성을 위한 몇 가지 지침
- Kubeadm을 사용하여 Kubernetes 1.13.1 클러스터 실습 기록 배포
- Docker Swarm의 과거와 현재의 삶
- Docker Swarm 클러스터에 대한 예비 연구
- K8S 기술 스택을 활용한 개인 프라이빗 클라우드 구축(연재: 첫 번째 장)
- K8S 기술스택을 활용한 개인 프라이빗 클라우드 구축(연속: K8S 클러스터 구축)
- K8S 기술스택을 활용한 개인 프라이빗 클라우드 구축 (연재: K8S 환경 이해 및 실습)
- K8S 기술스택을 활용한 개인 프라이빗 클라우드 구축(연재:기본 영상 제작 및 실험)
- K8S 기술스택을 활용한 개인 프라이빗 클라우드 구축(연속: K8S 자원제어)
캐시/미들웨어/운영 및 유지보수
- Redis 문자열 유형의 내부 인코딩 분석
- Redis 해시 구조 메모리 모델 분석
- 자세히 공부하지 않았을 수도 있는 TCP/IP
- Nginx 서버 언박싱 경험
- 구성 목록에서 Nginx 서버 구성에 대한 자세한 설명
- 에이전트 기반 데이터베이스 하위 테이블 프레임워크 Mycat 실습
- Jenkins가 성장했습니다. 이제 파이프라인을 사용할 시간입니다!
- Linux 시스템의 일반적인 모니터링 도구를 자세히 설명하는 기사
- 하나의 기사로 Elasticsearch의 일반적인 시각적 관리 도구를 시작해보세요
- 정의 파일에서 ELK의 Logstash 플러그인 구조에 대한 자세한 설명
- Elasticsearch 인덱스 매핑 구성에 대한 자세한 설명
- CentOS7에서 다중 노드 Elasticsearch 클러스터 구축
- 경량 Memcached 캐싱 프록시 twemproxy 실습
- 프런트엔드와 백엔드가 분리되었으니 이제 유용한 API 관리 시스템을 구축할 차례입니다!
소스코드를 보세요
- Java(JDK) 소스코드 읽기 환경 구축
- Spring Boot 소스코드 읽기 및 디버깅 환경 구축
- Redis 소스 코드 읽기 및 디버깅 환경 구축
면접 관련
면접 질문 공유
- Java 기본 지식 인터뷰 질문의 대규모 모음
- JVM(Java Virtual Machine) 인터뷰 질문의 대규모 모음
- Java 동시성 및 멀티스레딩 기본 인터뷰 질문의 대규모 컬렉션
- JiNet TCP/UDP에 대한 빈번한 인터뷰 질문 모음
- 인터뷰에서 자주 묻는 리눅스 명령어 20가지
- Spring 클래식 인터뷰 질문의 대규모 컬렉션
- Spring Boot 기본 인터뷰 질문의 대규모 컬렉션
- Spring Cloud 기본 인터뷰 질문의 대규모 컬렉션
- C 언어/C++ 기본 면접 지식의 방대한 모음
대면 경험 공유
- 친구의 개인적인 경험: Linux 백엔드 개발을 준비하는 방법
- 인턴십이 없는 두 권의 책이 Didi JD.com에 게재되었습니다. 58 리뷰(1부)
- 인턴십 없는 책 두 권이 Didi JD.com에 상륙했습니다 58·리뷰(2부)
- 친구들과 경험 공유하기(1): 확신함(답변 포함)
- 친구들과 경험 공유하기 (2): JD.com (답변 포함)
- 가을 소프트웨어 개발직 프로그래머 면접 경험
- 이력서 작성 → 면접 → 연봉협상 : 한 그린이 북쪽으로 향함
이력서 템플릿
도시/회사 선택
- 1선 및 2선 도시의 유명 IT 인터넷 기업 목록
리소스 추천
- Java 백엔드 개발에 대한 나의 작은 책장 공유
- 프로그래밍 학습 웹사이트가 너무 많아서 귀하에게 적합한 웹사이트가 분명히 있을 것입니다.
- Alibaba Java 개발 매뉴얼 공유
- 이력서 템플릿 공유
기타 기술 기사
- 결제를 위해 QR코드를 스캔하는 원리는 사실 이렇습니다.
저자 소개
자기소개
연락처 정보
- WeChat 공식 계정의 비공개 메시지를 통해 저에게 연락해주세요.
나의 여행
- 내 졸업식엔 예식 같은 게 없어
- 석사 졸업 후 개발에 종사할 예정인데 왜 석사 공부를 해야 하나요?
- 2급 도시의 프로그래머들은 잘 살고 있을까?
- 독학 프로그래밍에 대한 8가지 오해! 극복하세요!
- 나의 학부 회고록: 혼란과 낮은 자존감에서 화과과기대학교 입학까지
- 야근을 할 때 효과적으로 자신을 향상시키는 방법에 대해 이야기해 봅시다.
- 대학원 입학시험을 치르고 싶나요?
- 어젯밤 우한으로 돌아가는 꿈을 꾸었는데..
- 직업을 바꾸는 여정은 실제로 조금 피곤합니다 ...
- 스테이션B에 1년동안 오고나서 사람처럼 되었어요!
- 거의 30세가 되어서야 드디어 첫 10만 위안을 벌었습니다!
글쓰기의 길
- 저는 3년 동안 블로그를 운영해 왔으며 몇 가지 비밀 도구를 공유하고 있습니다.
- Win10에서 Hexo 블로그를 설정하고 Alibaba Cloud 서버를 실제로 배포하는 방법에 대한 튜토리얼
- Github+docsify를 사용하여 개인 블로그를 설정하는 데 반나절이 걸렸습니다.
잡담/산과 강에 대한 이야기
- 선생님께 우아하게 표현하는 방법: 이번 주에 과제가 많이 진행되지 않았나요?
- C 언어가 쓸모없어지지 않는 이유
- 드디어 대학원 학위를 취득하고 양치기인 멘토를 만난다면 어떻게 해야 할까요?
- 프로그래머 Piggy 팀원 행동상
- 대학원생/중학생 모집을 확대했는데, 포기할 이유가 없습니다!
- 솔직히 15일 동안 재택근무를 하고 나니 자폐증이 좀 생긴 것 같아요
- 2020년 초, C언어가 정점으로 돌아옵니다!
- 예배! 맛있게 드셔주신 큰분들께 감사드립니다!
- 글쎄요, 한동안 Kotlin 프로그래밍 언어를 사용해봤는데 냄새가 정말 좋아요!
- 프로그래머도 로맨스 연기를 할 수 있다? [프로그래머가 아닌 분은 입장하실 수 없습니다]
- 실제 IT 분야의 2/8 법칙은 가슴 아프네요!
IT 상담, 업데이트, 리소스를 원하시면 QR 코드를 스캔하여 개인 메시지를 보내주세요!