Giter Site home page Giter Site logo

blog's Introduction

Yong Blog

Since author

๐Ÿ”ฅ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ํ•ญ์ƒ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
๐ŸŒˆ ํ”„๋กœ์ ํŠธ๋‚˜ ์ฝ”๋“œ ์ž‘์„ฑ์„ ํ•˜๋ฉด์„œ ๋“ค์—ˆ๋˜ ์˜๋ฌธ์ ์— ๋Œ€ํ•ด ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
๐Ÿ“š ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋„์„œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

โš™ Table

  1. Book
  2. Architecture
  3. Network
  4. Operating System
  5. Database
  6. Querydsl
  7. Dev
  8. Spring
  9. Git
  10. AWS
  11. Java
  12. Question
  13. Other

๐Ÿ“ Book

์ฝ์€ ์ฑ…

์˜ค๋ธŒ์ ํŠธ
์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” - ์Šคํ„ฐ๋””
๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด
์—˜๋ ˆ๊ฐ•ํŠธ ์˜ค๋ธŒ์ ํŠธ

์ฝ์„ ์ฑ…

ํด๋ฆฐ์ฝ”๋“œ
๋งŒ๋“ค๋ฉด์„œ ๋ฐฐ์šฐ๋Š” ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜
Real MySQL
์นœ์ ˆํ•œ SQL ํŠœ๋‹
๋Œ€๊ทœ๋ชจ ์„œ๋น„์Šค๋ฅผ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ์ˆ 
IT ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ์ž…๋ฌธ

๐Ÿ“ Architecture

Layered Architecture

์™œ layer ๋งˆ๋‹ค dto ์™€ converter ๋ฅผ ๋‘์–ด์•ผ ํ• ๊นŒ?
controller ์™€ service ์—์„œ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋Š” ๋ˆ„๊ตฌ์˜ ์ฑ…์ž„์ผ๊นŒ?
์กฐํšŒ๋กœ์ง์€ ์ „๋ถ€ ๋งŒ๋“ค์–ด์•ผ ํ• ๊นŒ?

๐Ÿ“ Network

์ด๋ก 

OSI 7๊ณ„์ธต, TCP/IP 4๊ณ„์ธต
TCP์™€ UDP์˜ ๋น„๊ต
TCP ํ๋ฆ„์ œ์–ด ํ˜ผํ•ฉ์ œ์–ด(Gyoogle ์ถœ์ฒ˜)
HTTP ์™€ HTTPS
HTTPS ๋ณด์•ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜
SSL and TLS
๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)
DNS Round Robin ๋ฐฉ์‹
Blocking,Non-blocking & Synchronous,Asynchronous

๊ฐœ๋ฐœ

CORS ๋ž€?
get post put delete patch
RESTfulํ•œ URL(7์›์น™)
URL ๊ณผ URI ์˜ ์ฐจ์ด

๋ฉด์ ‘์งˆ๋ฌธ

Network ๋ฉด์ ‘์งˆ๋ฌธ

๐Ÿ“ Database

์ด๋ก 

[database ๊ธฐ์ดˆ]
์ •๊ทœํ™”์— ๋Œ€ํ•ด์„œ
[index]
[transaction]

SQL

inner join, outer join, in
์–ธ์ œ ๋น„๊ด€์ ๋ฝ(pessimistic lock)์„ ์‚ฌ์šฉํ•˜๊ณ  ์–ธ์ œ ๋‚™๊ด€์ ๋ฝ(optimistic lock)์„ ์‚ฌ์šฉํ• ๊นŒ?

Redis

[In-memory DB๋ž€?]
[Redis ์˜ ํŠน์ง•, ์žฅ๋‹จ์ , ์‚ฌ์šฉ์ฒ˜]
[Redis ์™€ Memcached ์˜ ์ฐจ์ด]

๐Ÿ“ Operating System

๐Ÿ“ JPA

ํŽ˜์น˜ ์กฐ์ธ
update ์—์„œ bulk ์—ฐ์‚ฐ
์†์„ฑ ์ปจํ…์ŠคํŠธ(Persistence Context) - ์—”ํ‹ฐํ‹ฐ ์ƒ๋ช…์ฃผ๊ธฐ์™€ ๊ธฐ๋Šฅ๋“ค
OneToOne ๊ด€๊ณ„๋Š” ๊ณผ์—ฐ ์ง€์—ฐ๋กœ๋”ฉ์ด ๋˜๋Š”๊ฐ€?
[JPA N+1 ๋ฌธ์ œ]
[Offset & Cursor]

๐Ÿ“ Querydsl

Spring gradle ์—์„œ QueryDSL ์„ค์ •
JpaRepository ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ QueryDSL ์ ์šฉ
QueryDsl ๊ธฐ๋ณธ
fetchResults fetchCount depreciated
[Querydsl Projection ๋ฐฉ๋ฒ•]

๐Ÿ“ Dev

Jasypt ๋ฅผ ํ†ตํ•œ ์ •๋ณด ์•”ํ˜ธํ™”
Flyway ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜•์ƒ๊ด€๋ฆฌ - ์ถ”๊ฐ€ ์ •๋ฆฌ ํ•„
Sentry ๋ฅผ ์ด์šฉํ•œ ๋กœ๊ทธ ๊ด€๋ฆฌ
Spring admin

๐Ÿ“ Spring

Spring ์ดํ•ด

Web Server์™€ WAS(Web Application Server)์— ๋Œ€ํ•˜์—ฌ
์„œ๋ธ”๋ฆฟ(Servlet) ์ด๋ž€?
Dispatcher-Servlet(๋””์ŠคํŒจ์ฒ˜ ์„œ๋ธ”๋ฆฟ)์ด๋ž€?
Filter, Interceptor ์ฐจ์ด
ํ•„ํ„ฐ(Filter) ๊ฐ€ ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก๊ณผ ์ฃผ์ž…์ด ๊ฐ€๋Šฅํ•œ ์ด์œ 
Spring ์˜ AOP ํ”„๋ก์‹œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

Spring ๊ธฐ๋Šฅ

Spring ์—์„œ CORS ์„ค์ •ํ•˜๊ธฐ
Spring profile
Spring h2 ์„ค์ •
JpaAuditConfig ์—์„œ Authentication Principle ์ ์šฉํ•˜๊ธฐ
[RestControllerAdvice ์™€ error code ๋ฅผ ํ™œ์šฉํ•œ error handling]
[Yaml ์„ค์ • ๋ฐ”์ธ๋”ฉ]
Logback ์„ค์ •
[redis ์„ค์ • ๋ฐ ์‚ฌ์šฉ๋ฒ•]

Security

Spring Security - Lambda DSL
depreciated ๋œ WebSecurityConfigurerAdapter ์ˆ˜์ •ํ•˜๊ธฐ
OncePerRequestFilter์™€ Filter์˜ ์ฐจ์ด
AuthenticationSuccessHandler ๋กœ๊ทธ์ธ ์„ฑ๊ณต ํ›„ ํŠน์ • url redirect ๋ฐฉ๋ฒ• : RedirectStrategy
Filter ์™€ Interceptor ์˜ ์ฐจ์ด
Filter ์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌํ•˜๊ธฐ
Spring Security ์—์„œ Cors ์„ค์ •ํ•˜๊ธฐ

OAuth2

JWT ์ธ์ฆ์˜ ์˜๋ฏธ
AccessToken๊ณผ RefreshToken์˜ ํŠน์ง•๊ณผ ์œ„์น˜
redis ํ™œ์šฉ - ์ถ”๊ฐ€ ์ •๋ฆฌ ํ•„์š”
[JWT ํ™œ์šฉ ์‹œ Bcrypt ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ]
[JWT ๊ตฌ์กฐ]
[OAuth flow]
[Spring token ๊ด€๋ฆฌ๊ตฌํ˜„1(RefreshToken:redis, AccessToken:front ๊ด€๋ฆฌ)]
[Spring token ๊ด€๋ฆฌ๊ตฌํ˜„2(RefreshToken:redis, AccessToken:Cookie ์‚ฌ์šฉ)]

Spring ํ™œ์šฉ

์œ ๋‹ˆํฌ ์ œ์•ฝ ์กฐ๊ฑด ์˜ˆ์™ธ์ฒ˜๋ฆฌ
[Spring Boot S3 ํŒŒ์ผ ์—…๋กœ๋“œํ•˜๊ธฐ]

Test & Document

Mockito ์™€ BDDMockito ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜์—ฌ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?
[Spring RestDocs ์™€ Swagger ์˜ ์žฅ๋‹จ์ ]
[F.I.R.S.T ์›์น™]
[ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์™€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ]
test container
@nested

๐Ÿ“ Git

git submodule
[git rebase]
git ์ „๋žต(main 1๊ฐœ๋งŒ ์“ฐ๋Š” ๊ฑฐ๋ž‘ dev ๋ฅผ ํ™œ์šฉํ•˜๋Š” ์ฐจ์ด)
git merge ์ „๋žต(๊ธฐ๋ณธ merge, rebase, squash ์ฐจ์ด)

๐Ÿ“ AWS

๊ธฐ๋ณธ

๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด
EC2 ์ƒ์„ฑ, ํƒ„๋ ฅ์ IP, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค, vi, shell
RDS, S3
CloudWatch, ELB, lambda
CI/CD, Elastic-beanstalk
Docker, IAM, VPC
CI/CD ์—์‹œ, Document DB, DevOps

CI CD

[AWS CodeDeploy ์™€ GitHub Action ์„ ์ด์šฉํ•œ CICD]
Spring Boot - Docker ๋ฅผ ์ด์šฉํ•œ ์ˆ˜๋™ ๋ฐฐํฌ
Docker ์™€ GitHub Action ์„ ์ด์šฉํ•œ CICD(1) - CICD ๊ตฌ์ถ•
Docker ์™€ GitHub Action ์„ ์ด์šฉํ•œ CICD(2) - MySQL, Redis ์—ฐ๋™
[Docker ์™€ GitHub Action ์„ ์ด์šฉํ•œ CICD(3) - Https ์ ์šฉ] [nginx ๋ฅผ ์ด์šฉํ•œ 80 ํฌํŠธ 8080 ํฌํŠธ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ]
[Let's Encrypt ๋ฅผ ์ด์šฉํ•œ https ์ ์šฉํ•˜๊ธฐ]

๐Ÿ“ Java

Checked Exception, UnChecked Exception
Generics(1) - ์„œ๋ธŒํด๋ž˜์‹ฑ(SubClassing)๊ณผ ์„œ๋ธŒํƒ€์ดํ•‘(SubTyping)
Generics(2) - ๊ณต๋ณ€(Contravariace)๊ณผ ๋ฐ˜๊ณต๋ณ€(Covariance)
Generics(3) - Generic ํƒ€์ž…๊ณผ ๋„ค์ด๋ฐ
Generics(4) - Raw Type ๊ณผ type inference
Generics(5) - ์‚ฌ์šฉ ๋ฐฉ์‹
record ํด๋ž˜์Šค์™€ sealed ํด๋ž˜์Šค์™€ interface(1) - record ํด๋ž˜์Šค
record ํด๋ž˜์Šค์™€ sealed ํด๋ž˜์Šค์™€ interface(2) - sealed ํด๋ž˜์Šค์™€ interface

๐Ÿ“ Question

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฐจ์ด
์ƒํ™ฉ์— ๋งž๋Š” get, post, put, patch, delete ์‚ฌ์šฉ๊ณผ ๊ฒฝ๋กœ
Url ๋‹จ์ถ•

๐Ÿ“ Other

Jira

blog's People

Contributors

yhlee9753 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.