๊ฐ๋ฐ์์ ์ํคํ ์ณ๊ฐ ์ค์ํ ์ด์
๊ฐ๋ฐ์์ ์ํคํ ์ณ๊ฐ ์ค์ํ ์ด์
I am ๐ฐ๐ท junior back-end developer
who loves to think a lot
I believe in the strength
of communication and collaboration
And I also hope that my work
will turn the imagination into reality
์ฃผ์ด์ง ์ํฉ์์ ์ต์ ์ ๋คํ๊ณ ,
๊ฒฐ๊ตญ์ ์ค๋ง๋ฆฌ์ ํด๊ฒฐ์ฑ
์ ์ฐพ์๋ด๋,
๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด ๋
ธ๋ ฅํฉ๋๋ค.
๊ฑท๋ค๊ฐ ๋๋ถ๋ฆฌ์ ๊ฑธ๋ ค ๋์ด์ง๋ฉด ๋ฉ์ถฐ์ ์ ๊น ์ฌ์ด๊ฐ๋๋ผ๋,
๊ธ์ธ ๋๊ณ ์ผ์ด๋ ์กฐ๊ธ์ฉ์ด๋๋ง ๊พธ์คํ ๊ฑธ์ด ๋๊ฐ๋ ์ค์
๋๋ค.
๊ฐ๋ฐ์์ ์ํคํ ์ณ๊ฐ ์ค์ํ ์ด์
Git Branch ์ ๋ต์ ๋ํ์ฌ
Oracle ๋น์จ ํจ์ RATIO_TO_REPORT()์ ๋ํด
SQL ๋ณต์ํ ํจ์์ ๋ํด
SQL ๋จ์ผํ ํจ์์ ๋ํด
์ค๋ผํด ์ปฌ๋ผ ๊ธธ์ด ์กฐ์ ์ ๋ํด
SQL๊ณผ DBMS์ ๋ํด
์ฟ ๋ฒ๋คํฐ์ค์ ๋ํ์ฌ ์ฟ ๋ฒ๋คํฐ์ค? minikube vs kubernetes ReplicationController vs ReplicaSet vs Deployment kubectl apply(declarative) vs kubectl create(i...
Docker์ ๋ํ์ฌ Container๊ธฐ์ Docker ์ค์น์ ๋ช ๋ น์ด ์ ๋ฆฌ
๋๊ธ์ ๋๊ธ์ ๋ฌ ์ ์๋ ๋ฐฉ๋ฒ ๊ธฐํ ๊ณ ๋ฏผ ์ฝ๋
IT๊ฐ๋ฐ ์ ๋ฌธํ ๋ ๋ง์๊ฐ์ง๊ณผ ๋ฐฉ๋ฒ IT ๊ฐ๋ฐ์ ํจ์จ์ ์ผ๋ก ๋ฐฐ์ฐ๋ ๋ง์๊ฐ์ง IT ๊ฐ๋ฐ์ ํจ์จ์ ์ผ๋ก ๋ฐฐ์ฐ๋ ๋ฐฉ๋ฒ ์์ฝ
QueryDSL์ ๋ํด ์ ์ ์ค์ ์ฌ์ฉ ์์
Thymeleaf์ ๋ํด ์ ์ ์ฌ์ฉ๋ฒ ๋ฌธ๋ฒ ๊ฒฐ๋ก
Spring์์ PageRequest์ Pageable์ ๋ํด ์ ์ PageRequest Pageable ๊ฒฐ๋ก
Spring์์ ๊ฐ๋จํ ์์ธ์ ๋ณต์กํ ์์ธ์ ๋น๊ต ๋ฌธ์ throw new exception() new exception() ๋ถ์ ๊ฒฐ๋ก
Spring์์ ์ปค์คํ ์์ธ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ ๋ฌธ์ Spring์ ์์ธ ์ฒ๋ฆฌ ํ๋ฆ Spring์ด ์ ๊ณตํ๋ ๋ค์ํ ์์ธ์ฒ๋ฆฌ
Gradle์ ๋ํ์ฌ ์ ์ ๋ช ๋ น์ด build.gradle
SVN๊ณผ GitHub์ ์ฐจ์ด ์ ์ SVN ์ฅ๋จ์ GitHub ์ฅ๋จ์
PHP์ Java์ ์ฅ๋จ์ ์ ์ PHP ์ฅ๋จ์ Java ์ฅ๋จ์
ํจํค์ง ๊ตฌ์กฐ์ ๋ํ์ฌ ํจํค์ง ๊ตฌ์กฐ๋ ๊ณ์ธตํ ํจํค์ง ๊ตฌ์กฐ ๋๋ฉ์ธํ ํจํค์ง ๊ตฌ์กฐ
GitHub labels ์ข ์ฝ๊ฒ ์ค์ ํ๊ธฐ ๋ผ๋ฒจ์ด๋ ์ค๋น๋ฌผ ์งํ๊ณผ์ ๊ฒฐ๊ณผํ๋ฉด
์๋ฐ์คํฌ๋ฆฝํธ์์์ ๊ฐ์ฒด ์ ๊ทผ๋ฒ ๋ ๊ฐ์ง, ์ ํ๊ธฐ๋ฒ vs ๊ดํธํ๊ธฐ๋ฒ์ ๋ํด ๊ฐ์ฒด ์ ๊ทผ๋ฒ์ด๋ ์ ํ๊ธฐ๋ฒ ๊ดํธ ํ๊ธฐ๋ฒ
๋ค๋๋ค ๊ด๊ณ์ ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ์ ๋ํด ๋ค๋๋ค ๊ด๊ณ์ ์ ๋ฌธ์ ์ ํด๊ฒฐ
MySQL์์ ์ ๊ธ ์ฟผ๋ฆฌ๋ก ๋์ ์ ๊ทผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต์ ๋ฝ ๋ฐฐํ ๋ฝ MySQL์์ ๊ณต์ ๋ฝ๊ณผ ๋ฐฐํ ๋ฝ ์ฃผ์์
ORACLE๊ณผ MySQL์ ์ฐจ์ด DB๋ ORACLE MySQL ์ฐจ์ด
Code Review๋ฅผ ์ํ๋ ๋ฐฉ๋ฒ ์ฝ๋๋ฆฌ๋ทฐ๋ ์ฝ๋๋ฆฌ๋ทฐ ํต์ฌ ์์ฑ์ ๊ด์ ๋ฆฌ๋ทฐ์ด ๊ด์
curl์ ๋ํ์ฌ curl์ด๋ ์ค์น ๋ฐ ์ฃผ์ ์ต์ HTTP/HTTPS ๋ค์ด๋ก๋(GET Method) POST/File ์ ๋ก๋(POST, PUT) PATCH, DELETE ๋ฉ์๋ HTTP ์ธ์ฆ Cookie HTTP He...
์ด๋ค JDK๋ฅผ ์จ์ผ ํ ๊น JDK๋ JDK ์ข ๋ฅ SDKMan์ ํตํ JDK ๋ชฉ๋ก/์ค์น/๊ด๋ฆฌ release ์ฃผ๊ธฐ
gRPC์ ๋ํด RPC์ ์คํ (stub) gRPC gRPC์ RESTAPI ๋น๊ต ์ฅ๋จ์
Heap์ด๋ผ๋ ์๋ฃ๊ตฌ์กฐ์ ๋ํด heap ์ ์ ํ์ ๋ฐฐ์ด๋ก ๊ตฌํ ์ฝ์ ๊ณผ ์ญ์ ๋ก ๊นจ์ง ํ์ ์ฌ๊ตฌ์กฐํํ๊ธฐ(heapify) ์ฐธ๊ณ ์ถ์ฒ
JPA์์ Pageable์ ๋ํด ํ์ด์ง์ด๋ Spring Data JPA์์์ ํ์ด์ง๊ณผ ์ ๋ ฌ ์ฟผ๋ฆฌ ๋ฉ์๋์์ ํ์ด์ง ์ฌ์ฉํ๊ธฐ ๋ฐํ ํ์ ์ ๋ฐ๋ฅธ ํ์ด์ง ๊ฒฐ๊ณผ Spring Web MVC์์ ๋ ํธํ๊ฒ ํ์ด์งํ๊ธฐ
GitHub credentials ์ ๋ฐ์ดํธ(mac) keychain access๋ก ์๊ฒฉ ์ฆ๋ช ์ ๋ฐ์ดํธ ๋ช ๋ น์ค์ ํตํ ์๊ฒฉ ์ฆ๋ช ์ญ์ Git์์ GitHub ์๊ฒฉ ์ฆ๋ช ์บ์ฑ
CORS์ ๋ํ์ฌ ์ ์ ํ์์ฑ request์ response Access-Control-Allow-Credentials Access-Control-Allow-Origin
์๋ฐ ํ ์คํธ ์, public์ด ์๋ ํ๋๋ฅผ Reflection์ผ๋ก ๋ฃ์ด์ฃผ๋ ๋ฐฉ๋ฒ Reflection ์ ์ ์์ ํด๊ฒฐ
GitHub README ํ์ผ์ ์ด๋ฏธ์ง๋ ๋์์ ์ฒจ๋ถํ๋ ๋ฐฉ๋ฒ ๋งํฌ ์์ฑ ๋งํฌ๋ค์ด ์์ mp4ํ์ผ์ gifํ์ผ๋ก ๋ณํ
JPA์์ Flush์ ๋ํ์ฌ ์ ์ ๋์ ๊ณผ์ ์ฌ์ฉ ๋ฐฉ๋ฒ ์ต์ ์ค์
IntelliJ ๋จ์ถํค(Mac) ์์ฃผ์ฐ๋ ๋จ์ถํค ๋ฉ๋ชจ ๋จ์ถํค Visual Studio Code ๊ธฐํ ๋จ์ถํค
์๋ฐ ์ง๋ ฌํ์ ์ญ์ง๋ ฌํ, JSON, GSON ์ง๋ ฌํ์ ์ญ์ง๋ ฌํ JSON GSON
์๋ฐ throws์ throw Throws Throw
์๋ฐ String Constant Pool์ ๋ํด String ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ String Constant Pool String interning
์๋ฐ ํน์๋ฌธ์, ๊ดํธ, ๋ฐฑ์ฌ๋์, ๋ฐ์ดํ ์ถ๋ ฅํ๊ธฐ Escape Sequence ์ ์ ์ข ๋ฅ ์ฌ์ฉ ์์
Supply Chain Attack์ ๋ํด Left-Pad ์ด์ ์ ์ ์์ ๋์ฒ
์๋ฐ String, StringBuffer, StringBuilder ๋น๊ต String vs StringBuffer/StringBuilder StringBuffer vs StringBuilder
์๋ฐ Calendar ํด๋์ค ์ ์ ์ฌ์ฉ
Log4j2 vs Slf4j Log4j2 SLF4j(Simple Logging Facade For Java) Log4j2๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์
Spring Boot ๋ฆฌํฉํ ๋งํ๊ธฐ Raw ํ์ ์ ์ฌ์ฉํ์ง ๋ง์ Restful API๋ ์์๊ณผ ๋ฉ์๋๋ก ํํํ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋์๋ DTO๋ฅผ ์ด์ฉํ์ final๊ณผ ํจ๊ป ์์ฑ์ ์ฃผ์ ์ ์ฌ์ฉํ๋ผ Controller๋ ์ต๋ํ ๊ฐ๋ณ๊ฒ ๋ง๋ค์ด...
Spring ๋จ์ ํ ์คํธ์ ๋ํ์ฌ ์ฌ๋ฐ๋ฅธ ๋จ์ ํ ์คํธ ํ์ํ ํ๋ ์์ํฌ์ ํ ์คํธ ํจํด ํ ์คํธ์ฉ ๋ชจ์ ๊ฐ์ฒด ํ๋ ์์ํฌ
TDD, ์ ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ์ ์ ์ด์ ๋ฐฉ๋ฒ
Spring Security: (3)Authorization ์ ์ ์ฌ์ ํธ์ถ ์ฒ๋ฆฌ ๊ณ์ธต์ ์ญํ
ThreadLocal์ ๋ํด ThreadLocal์ด๋? ์ฌ์ฉ๋ฒ ์ฃผ์์ฌํญ ํ์ฉ
Spring Boot 3.0 ๋ฒ์ ๋ณ๊ฒฝ ์ฌํญ ์ ๋ฆฌ ์๊ตฌ์ฌํญ ์ ๊ทธ๋ ์ด๋ ๋ง์ด๊ทธ๋ ์ด์ ํต์ฌ ๋ณ๊ฒฝ ์ฌํญ ์ธํ๋ผ ์ธก๋ฉด์์ ๋ณ๊ฒฝ ์ฌํญ
Spring Security: (2)Authentication ์ ์ ๊ตฌ์กฐ
Spring Security: (1)Architecture Spring Security๋ ์ฌ์ฉ ๊ตฌ์กฐ
Transaction์ ๋ํ์ฌ ํธ๋์ญ์ ์ด๋ ๋ณด์ฅํด์ผ ํ๋ ACID ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค Spring์์ ํธ๋์ญ์ Spring์์ ํธ๋์ญ์ ์ฌ์ฉ
DI์ ๋ํ์ฌ DI๋ DI ํ์์ฑ DI ๋ฐฉ๋ฒ ์์ฑ์ ์ฃผ์
ํํฐ์ ์ธํฐ์ ํฐ์ ๊ฐ๋ ๊ณผ ์ญ์ฌ ํํฐ ์ธํฐ์ ํฐ ํํฐ์ ์ธํฐ์ ํฐ์ ์ฐจ์ด DelegatingFilterProxy ๋ฑ์ฅ SpringBoot ๋ฑ์ฅ
URL, URI, URN ๊ฐ๋ URL URI URN
Dirty Checking์ ๋ํ์ฌ Dirty Checking์ด๋ @DynamicUpdate
Persistent Context์ ๋ํ์ฌ Persistent Context๋ ์ํฐํฐ์ ์๋ช ์ฃผ๊ธฐ(Entity LifeCycle) ์ฌ์ฉ ์ด์
JPA์ ๋ํ์ฌ ORM์ด๋ JPA๋ ๋์ ๊ณผ์ ์ฌ์ฉ ์ด์ ์ง์ฐ ๋ก๋ฉ vs ์ฆ์ ๋ก๋ฉ
Vim์ ๋ํ์ฌ Vim์ด๋ ์ฌ์ฉ๋ฒ ๋จ์ถํค ์ ์ฉํ ์ฌ์ดํธ
Thymleaf์ JSP Template Engine JSP Thymleaf
Request Parameter, Data Binding, Data Validation Request Parameter Data Binding Data Validation
Persistent, JDBC, JPA, Hibernate, Mybatis Persistent JDBC JPA Hibernate Mybatis
DAO, DTO, VO DAO(Data Access Object) DTO(Data Transfer Object) VO(Value Object)
(MacOS) MySQL, MySQL Workbench ์ค์น, ์คํ ๋ฐ ๊ธฐ๋ณธ ์ค์ ํ๊ธ์ค์ (UTF-8) ์ญ์ ์ ์ ์ค๋ฅ ์ ์ ๊ถํ ์ค์
Servlet์ด๋ Web Service์ ๊ธฐ๋ณธ์ ์ธ ๋์ ๊ณผ์ HTML Form Servlet
Web Server์ WAS Static Pages์ Dynamic Pages Web Server WAS ๊ตฌ๋ถํ๋ ์ด์
Spring Framework ๋ผ์ด๋ธ๋ฌ๋ฆฌ vs ํ๋ ์์ํฌ ์คํ๋ง ํ๋ ์์ํฌ๋
REST์ REST API, ๊ทธ๋ฆฌ๊ณ RESTful REST REST API RESTful
TCP ์ฐ๊ฒฐ TCP๋ TCP 3-way handshaking TCP 4-way handshaking
Process์ Thread ํ๋ก๊ทธ๋จ ํ๋ก์ธ์ค ์ฐ๋ ๋ ์๋ฐ ์ฐ๋ ๋ ๋ฉํฐ ์ฐ๋ ๋ ๋ฉํฐ ํ๋ก์ธ์ค์ ๋ฉํฐ ์ฐ๋ ๋ ์ฐจ์ด ๋ฉํฐ ํ๋ก์ธ์ค ๋์ ๋ฉํฐ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
Comparable๊ณผ Comparator ์ธํฐํ์ด์ค Comparable์ ์ด์ฉํ ์ ๋ ฌ Comparator์ ์ด์ฉํ ์ ๋ ฌ Overflow vs Underflow
์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ ์ค๋ฒ๋ก๋ฉ(Overloading) ์ค๋ฒ๋ผ์ด๋ฉ(Overriding)
OOP์ ์์น S: ๋จ์ผ ์ฑ ์ ์์น(SRP) O: ๊ฐ๋ฐฉ-ํ์ ์์น(OCP) L: ๋ฆฌ์ค์ฝํ ์นํ ์์น(LSP) I: ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น(ISP) D: ์์กด ์ญ์ ์์น(DIP)
OOP(Object Oriented Programming)์ ํน์ง OOP์ ์ ์(Definition of OOP) ์บก์ํ(Encapsulation) ์์(Inheritance) ๋คํ์ฑ(Polymorphism)
TDD(Test Driven Development)๋ ๋ฌด์์ผ๊น TDD์ ์ ์(Definition of Test Driven Development) TDD์ ํจ๊ณผ(The Effect of Test Driven Development) TDD์ ์ฅ๋จ์ (Adv...
๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ(Daily Scrum)์ด ๋ฌด์์ผ๊น ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ ์ ์(Daily Scrum Definition) ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ ์ฅ์ ๊ณผ ๋ชฉ์ (Advantages and Objectives of Daily Scrum)
์ ์์ผ ๋ฐฉ๋ฒ๋ก (Agile Methodology)์ด ๋ฌด์์ผ๊น ์ ์์ผ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ(Appearance Background) ์ ์์ผ ์ ์(Agile Definition) ์ ์์ผ ํต์ฌ ๊ฐ์น(Agile Core Value) SW ๊ฐ๋ฐ์ ๋ถํ์ค์ฑ๊ณผ ์ฌ์ ์ ๊ฐ...
์ค์๋ก Git Add, Commit, Pushํ ๋ด์ฉ ์ทจ์ git add ์ทจ์ git commit ์ทจ์ git push ์ทจ์ untracked ํ์ผ ์ญ์
GitHub๋ก ํ์ ํ ๋ ์์๋ฌ์ผ ํ ๊ฒ ์ ์ฅ์์ ๋ํ ๊ฐ๋ GitHub๋ก ํ์ ํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด์
ํ์ ํ ๋ ์ฌ์ฉํ๋ Git Branch์ ์ข ๋ฅ Gitflow Workflow์์ ์ฌ์ฉํ๋ Git Branch ์ข ๋ฅ๋ฅผ ์ดํดํ๋ค. Gitflow Workflow์์ ์ฌ์ฉํ๋ Git Branch ์ฌ์ฉ๋ฒ์ ์ดํดํ๋ค.
GitHub์ ์๋ชป ์ฌ๋ฆฐ ํ์ผ ์ญ์ ํ๊ธฐ GitHub pages๋ฅผ ๋ง๋ค ๋ ์ฌ๋ฆด ํ์๊ฐ ์๋ ํ์ผ์ remote origin์ pushํ ๊ฒฝ์ฐ remote origin์ ์๋ชป ์ฌ๋ผ๊ฐ ํ์ผ์ ์ญ์ ํ๊ณ .gitignore์ ๋ฑ๋กํด ๋ฌด์ํ๊ณ ๋ค์ pushํ๋ค
Bundler ๊ฐ๋ ๋ฒ๋ค๋ฌ๊ฐ ์ด๋ป๊ฒ ๋ง๋ค์ด์ก๋ ๋ฒ๋ค๋ฌ์ ์ญํ ๋ฒ๋ค๋ฌ์ ์ฅ์
๋ธ๋ก๊ทธ(GitHub Pages) ํ์ฉ ๋ฐฉ๋ฒ GitHub pages๋ฅผ ๊พธ๋ฏธ๊ณ ๊ฐ ์์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ๋ค ์ ๋ฆฌ ํฌ์คํ ํ ๋ ํ์ฉํ ์ ์๋ ๊ธฐ๋ฅ ์ ๋ฆฌ