- 학습 노트 위치: https://github.com/Iol-lshh/style-guide
- 정보처리기사
- SQLD
- Java
- modern java 기초를 활용 가능
- 동작 파라미터화, Optional, Stream API, Reflection API
- Eden/Tenured 영역, 병렬 GC의 작동 기초를 설명 가능
- modern java 기초를 활용 가능
- JavaScript
- javascript(ES6+) 기초를 활용 가능
- JavaScript의 기초 개념인 인터프리터, 동적 타입, 실행 컨텍스트, 비동기 동작, 슬롯, 함수, 프록시에 대해 설명 가능
- SpringBoot
- 3.0의 기초적인 기능 활용
- web, flux
- unit, integration test
- MyBatis, Hibernate
- profile
- Spring Security
- AOP
- 3.0의 기초적인 기능 활용
- MSSQL
- 쿼리의 동작 방식, 트랜잭션(MVCC, 잠금, 격리 레벨), 인덱스(자료구조, 물리조인) 같은 기초를 설명 가능
- 실행계획을 보며, 쿼리와 프로시저, DDL, DML, OLTP, OLAP 작성 가능
- MySQL, PostgreSQL의 기초적인 차이점을 설명 가능
- Git
- 기초적인 깃 활용
- Docker
- 도커 파일과 도커 컴포즈 파일을 기초적으로 읽고 쓸 수 있는 능력
- Vue.js
- 옵션 api와 컴포지션 api 방식의 구동 방식을 설명하고, 코드를 작성할 수 있는 능력
- AWS
- ECS (EC2, Fargate)의 기초적인 활용
- .NET Framework
- 상시 기계 공감 Mechanical Sympathy
- You don't have to be an engineer to be be a racing driver, but you do have to have Mechanical Sympathy.
- Jackie Stewart, racing driver
- You don't have to be an engineer to be be a racing driver, but you do have to have Mechanical Sympathy.
- First Principles을 바탕으로 생각하기
- Elon Musk
- 코드는 부채다. 개발자는 기능을 만들어내는 것이 목적이다.
- 코드는 자산이 아니라 부채다. 코드 자체는 가치를 창출하지 않습니다. 가치를 만들어내는 건 바로 '기능'입니다.
사용자의 요구에 부합하는 기능이 자산입니다. 이 기능을 구현하는 코드는 그저 목적지로 가기 위한 수단인 것이죠.
- Software Engineering at Google - Titus Winters 외 2명
- 코드를 읽기 쉽게 만들고, 없애기 쉽게 만들고, 변경하기 쉽게 만들기
- OOP와 DDD
- 시나리오 기반 회귀 테스트
- 코드는 자산이 아니라 부채다. 코드 자체는 가치를 창출하지 않습니다. 가치를 만들어내는 건 바로 '기능'입니다.
사용자의 요구에 부합하는 기능이 자산입니다. 이 기능을 구현하는 코드는 그저 목적지로 가기 위한 수단인 것이죠.
- 테스트가 없는 코드는 스크립트이다.
- 내게 레거시 코드란, 단순히 테스트 루틴이 없는 코드다.
- Wroking Effectively with Legacy Code - Michael C. Feathers
- 좋은 코드는 Testable 하다. Testable 코드가 항상 좋은 코드는 아니지만, 적어도 Testable 하지 않은 코드보다는 좋다.
- 테스트 코드 짤 시간이 없다는 당신에게.. 당신의 1시간 희생이, 이후 당신 코드를 보는 (당신을 포함한) 모든 이들의 100시간을 아껴준다.
- 내게 레거시 코드란, 단순히 테스트 루틴이 없는 코드다.
- 엔지니어링의 핵심. 가상화, 동시성, 영속성
- 우리가 배우게 될 세 개의 주요 아이디어를 말한다네. 가상화, 동시성, 영속성이 바로 그 세 개의 아이디어네
- Operating systems : three easy pieces - Arpaci-Dusseau 외 1명
- 이는 서비스에서도 가용성을 위해 고려해야할, 주요 세 가지 아이디어라고 생각한다. (특히나 분산환경에서 더욱!)
- 데이터를 보존하기 위한 영속성 설계
- 비즈니스의 정합성을 위한 실시간 동시성 처리
- 성능을 위한 캐싱과 프록시 그리고 트레이드 오프들, 가상화 아이디어
- 우리가 배우게 될 세 개의 주요 아이디어를 말한다네. 가상화, 동시성, 영속성이 바로 그 세 개의 아이디어네
- 기간: 2023.12 ~ 2024.02
- 기간: 2021.03 ~ 2021.05
- ES6+ 에 대한 기본 습득
- 기간: 2018.03 ~ 2019.06