책소개
이 책은 소프트웨어 개발자들이 꼭 알아야 할 기본 상식들을 다루고 있다. 소프트웨어 개발에 필요한 기술적인 지식 뿐만 아니라, 프로젝트 관리, 팀워크, 커뮤니케이션 등의 비기술적인 요소들도 다루고 있다. 이 책을 통해 소프트웨어 개발자들은 더 나은 개발 방법과 팀워크를 구축할 수 있을 것이다. 또한, 이 책은 초보 개발자들에게는 필수적인 지식을 제공하며, 경험 많은 개발자들에게는 다시 한번 상기시켜 줄 것이다.
목차
프로그래밍 언어 (예 : Java, Python, C ++)
데이터 구조 및 알고리즘
객체 지향 프로그래밍 원리
버전 제어 시스템 (예 : GIT)
통합 개발 환경 (예 : Eclipse, Visual Studio)
디버깅 기술
소프트웨어 테스트 방법론
민첩한 개발 방법론
소프트웨어 디자인 패턴
관계형 데이터베이스 (예 : SQL)
NOSQL 데이터베이스 (예 : MongoDB)
웹 개발 프레임 워크 (예 : Django, Ruby on Rails)
프론트 엔드 웹 개발 (예 : HTML, CSS, JavaScript)
백엔드 웹 개발 (예 : Node.js, PHP)
편안한 웹 서비스
클라우드 컴퓨팅 플랫폼 (예 : AWS, Azure)
가상화 기술 (예 : Docker)
마이크로 서비스 아키텍처
지속적인 통합 및 배포 (CI/CD)
DevOps 관행
보안 모범 사례
암호화 기본 사항
네트워크 프로토콜 (예 : TCP/IP)
운영 체제 (예 : Linux, Windows)
명령 줄 인터페이스 (CLI) 기본 사항
정규 표현 (Regex)
텍스트 편집기 (예 : vim, 숭고한 텍스트)
코드 편집기 (예 : Visual Studio Code, Atom)
코드 검토 프로세스
코드 문서 관행
소프트웨어 개발 수명주기 (SDLC)
프로젝트 관리 방법론 (예 : Scrum, Kanban)
사용자 경험 (UX) 디자인 원칙
사용자 인터페이스 (UI) 설계 원칙
모바일 앱 개발 프레임 워크 (예 : React Native, Flutter)
기계 학습 기본
인공 지능 기본
자연어 처리 (NLP) 기본 사항
빅 데이터 기술 (예 : Hadoop, Spark)
데이터 시각화 도구 (예 : Tableau, Power BI)
사물 인터넷 (IoT) 기본 사항
블록 체인 기본
소프트웨어 라이센스 및 저작권법
오픈 소스 소프트웨어 원리
소프트웨어 개발 윤리
기술 작문 기술
프리젠테이션 기술
대인 관계 커뮤니케이션 기술
시간 관리 기술
문제 해결 기술