전체 κΈ€ 479

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [13] [ Database ]

1. λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄(DDL, DML, DCL)에 λŒ€ν•΄ μ„€λͺ… - DDL (μ •μ˜μ–΄ : Data Definition Language) : λ°μ΄ν„°λ² μ΄μŠ€ ꡬ쑰λ₯Ό μ •μ˜, μˆ˜μ •, μ‚­μ œν•˜λŠ” μ–Έμ–΄ ( alter, create, drop ) - DML (μ‘°μž‘μ–΄ : Data Manipulation Language) : λ°μ΄ν„°λ² μ΄μŠ€λ‚΄μ˜ 자료 검색, μ‚½μž…, κ°±μ‹ , μ‚­μ œλ₯Ό μœ„ν•œ μ–Έμ–΄ ( select, insert, update, delete ) - DCL (μ œμ–΄μ–΄ : Data Control Language) : 데이터에 λŒ€ν•΄ 무결성 μœ μ§€, 병행 μˆ˜ν–‰ μ œμ–΄, λ³΄ν˜Έμ™€ 관리λ₯Ό μœ„ν•œ μ–Έμ–΄ ( commit, rollback, grant, revoke ) 2. SELECT 쿼리의 μˆ˜ν–‰ μˆœμ„œ 1. FROM - 각 ν…Œμ΄λΈ”μ„ ν™•μΈν•œλ‹€. 2...

🚩 2024 / 02 TIL[Today I Learned] 회고

πŸ“Œ 2024 / 02 μ˜€λžœλ§Œμ— 회고λ₯Ό μ“°κ²Œ λ˜μ—ˆλ‹€. 2월에 넣은 곳에 ν•©κ²©ν•˜μ—¬ 3μ›” 5일에 μ˜λ“±ν¬λ‘œ 면접을 보러 κ°”λ‹€μ™”λ‹€. κΈ°μˆ λ©΄μ ‘μ΄μ—ˆμ§€λ§Œ 거의 인성면접에 κ°€κΉŒμš΄ λ©΄μ ‘μ΄μ—ˆλ‹€. 기술적인 μ§ˆλ¬Έμ„ ν•˜λ‚˜λ„ 물어보지 μ•Šμ•„μ„œ 쑰금 아쉬웠닀. λ©΄μ ‘ κ²½ν—˜μ΄ λΆ€μ‘±ν–ˆλ˜ 것도 있고 λ˜λŒμ•„λ³΄λ©° μ•žμœΌλ‘œ μ€€λΉ„λ₯Ό ν•΄λ³΄λ €κ³ ν•œλ‹€. λ©΄μ ‘ 질문 리슀트 1. μžμ‹ μ˜ μž₯점은 ? 2. μ™œ μš°λ¦¬νšŒμ‚¬κ°€ 뽑아야 ν•˜λŠ”μ§€ ? 3. μ˜†μ˜ λ‹€λ₯Έ μ§€μ›μžλ“€λ³΄λ‹€ λ‚˜μ€μ μ΄λ‚˜ λΆ€μ‘±ν•œ 점 4. 우리 νšŒμ‚¬μ— μ§€μ›ν•œ 이유 5. ν”„λ‘œμ νŠΈλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ™„μˆ˜ν•  수 μžˆμ—ˆλ˜ 이유 6. ν”„λ‘œμ νŠΈμ—μ„œμ˜ μ—­ν•  7. 단점 3가지 질문이 μ’€ 더 μžˆμ—ˆλŠ”λ° κΈ°μ–΅λ‚˜λŠ” κ²ƒλ§Œ 적어본 것이닀. μžμ†Œμ„œλ₯Ό μž‘μ„±ν•˜λ©΄μ„œ λ©΄μ ‘μ—μ„œ λŒ€ν™”ν•˜λŠ” κ²ƒμ²˜λŸΌ μ“°λŠ” μ—°μŠ΅μ„ ν•΄μ•Όν•  것 κ°™λ‹€. μš°μ„  κ²½ν—˜μ„ μˆ˜μΉ˜ν™” ν•˜λŠ” 것,..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [12] [ Docker ]

1. λ„μ»€λž€ ? 도컀(Docker)λŠ” λ¦¬λˆ…μŠ€ μ»¨ν…Œμ΄λ„ˆμ— λ¦¬λˆ…μŠ€ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν”„λ‘œμ„ΈμŠ€ κ²©λ¦¬κΈ°μˆ μ„ μ‚¬μš©ν•˜μ—¬ 더 μ‰½κ²Œ μ»¨ν…Œμ΄λ„ˆλ‘œ μ‹€ν–‰ν•˜κ³  관리할 수 있게 ν•΄μ£ΌλŠ” μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈμ΄λ‹€. λ„μ»€λŠ” 일반적으둜 도컀 엔진 ν˜Ήμ€ 도컀에 κ΄€λ ¨λœ λͺ¨λ“  ν”„λ‘œμ νŠΈλ₯Ό μ˜λ―Έν•œλ‹€. 도컀 엔진(Docker Engine)은 μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” μ£Όμ²΄λ‘œμ„œ 이 μžμ²΄λ‘œλ„ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ œμ–΄ν•  수 있고 λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” λ„μ»€μ˜ ν”„λ‘œμ νŠΈμ΄λ‹€. 도컀 μƒνƒœκ³„μ— μžˆλŠ” μ—¬λŸ¬ ν”„λ‘œμ νŠΈλ“€μ€ 도컀 엔진을 μ’€ 더 효율적으둜 μ‚¬μš©ν•˜κΈ° μœ„ν•œ 것에 λΆˆκ³Όν•˜κΈ° λ•Œλ¬Έμ— λ„μ»€μ˜ 핡심은 도컀 엔진이닀. Virtual Machine (가상머신) vs Docker Container (도컀 μ»¨ν…Œμ΄λ„ˆ) 기쑴에 μ‚¬μš©ν•˜λ˜ 가상화 기술과 λ„μ»€μ˜ 차이점을 μ•Œμ•„λ³΄λ„λ‘ ν•˜μž. κΈ°..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [11] [μžλ°” μ»¬λ ‰μ…˜ / Collection Framework]

1. μ»¬λ ‰μ…˜μ΄λž€ ? μ»¬λ ‰μ…˜μ€ λ§Žμ€ 데이터 μš”μ†Œλ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 자료ꡬ쑰λ₯Ό λœ»ν•˜λ©°, ArrayList, LinkedList, HashMap 등이 ν¬ν•¨λœλ‹€. 그리고 이 μ»¬λ ‰μ…˜λ“€μ€ μ œλ„€λ¦­(generics) ν˜•μ‹μœΌλ‘œ κ΅¬ν˜„λ˜μ–΄ μžˆμ–΄ μ»¬λ ‰μ…˜κ³Ό ν•¨κ»˜ μ œλ„€λ¦­μ— λŒ€ν•΄μ„œλ„ 이해해야 ν•œλ‹€. μžλ°”μ—μ„œλŠ” 이런 μ»¬λ ‰μ…˜μ„ μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€μ™€ ν΄λž˜μŠ€λ“€μ΄ 있으며 자주 μ‚¬μš©λ˜λŠ” ν΄λž˜μŠ€λ“€μ˜ μ’…λ₯˜μ™€ 상속 κ³„μΈ΅λ„λŠ” μ•„λž˜μ˜ 사진과 κ°™λ‹€. 2. μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ μž₯점 1. μΈν„°νŽ˜μ΄μŠ€μ™€ λ‹€ν˜•μ„±μ„ μ΄μš©ν•œ 객체지ν–₯적 섀계λ₯Ό 톡해 ν‘œμ€€ν™”λ˜μ–΄ 있기 λ•Œλ¬Έμ—, μ‚¬μš©λ²•μ„ μ΅νžˆκΈ°μ—λ„ νŽΈλ¦¬ν•˜κ³  μž¬μ‚¬μš©μ„±μ΄ λ†’λ‹€. List list = new ArrayList(); list = new LinkedList(); μ΄λ ‡κ²Œ List μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•˜λŠ” λ‹€λ₯Έ 클래..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [10] [자료ꡬ쑰]

1. μžλ£Œκ΅¬μ‘°λž€ ? μ—¬λŸ¬ λ°μ΄ν„°λ“€μ˜ λ¬ΆμŒμ„ μ €μž₯ν•˜κ³ , μ‚¬μš©ν•˜λŠ” 방법을 μ •μ˜ν•œ 것 2. 자료ꡬ쑰λ₯Ό μ‚¬μš©ν•˜λŠ” 이유 ? 1. 데이터λ₯Ό μ²΄κ³„μ μœΌλ‘œ μ €μž₯ν•˜κ³ , 효율적으둜 ν™œμš©ν•˜κΈ° μœ„ν•΄ 자료ꡬ쑰λ₯Ό μ‚¬μš©ν•œλ‹€. 2. λŒ€λΆ€λΆ„μ˜ μžλ£Œκ΅¬μ‘°λŠ” νŠΉμ • 상황에 놓인 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데에 νŠΉν™”λ˜μ–΄ μžˆλ‹€. 3. 자료ꡬ쑰의 μ’…λ₯˜μ™€ ꡬ뢄 μ„ ν˜•κ΅¬μ‘° - λ°°μ—΄(Array) - μ—°κ²° 리슀트(LinkedList) - μŠ€νƒ(Stack) - 큐(Queue) λΉ„μ„ ν˜•κ΅¬μ‘° - 트리(Tree) - κ·Έλž˜ν”„(Graph) Stack, Queue, Tree, Graphκ°€ 일반적으둜 κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” μžλ£Œκ΅¬μ‘°μ΄λ‹€. μŠ€νƒ [Stack] LIFO(Last In First Out) 즉, μŠ€νƒμ€ λ§ˆμ§€λ§‰μ— λ“€μ–΄μ˜¨ 것이 κ°€μž₯ λ¨Όμ €λ‚˜κ°€λŠ” ν›„μž…μ„ μΆœμ„ 가지고 μžˆλŠ” μžλ£Œκ΅¬μ‘°μ΄λ‹€. ..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [9] [Servlet]

1. Servlet μ΄λž€ ? μ„œλΈ”λ¦Ώμ΄λž€ 동적 μ›Ή νŽ˜μ΄μ§€λ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©λ˜λŠ” μžλ°” 기반의 μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ‘œκ·Έλž˜λ° κΈ°μˆ μ΄λ‹€. 웹을 λ§Œλ“€ λ•Œ Request, Responseμ—λŠ” κ·œμΉ™μ΄ μ‘΄μž¬ν•˜λŠ”λ° μ΄λŸ¬ν•œ μ›Ή μš”μ²­κ³Ό μ‘λ‹΅μ˜ 흐름을 κ°„λ‹¨ν•œ λ©”μ„œλ“œ 호좜만으둜 μ²΄κ³„μ μœΌλ‘œ λ‹€λ£° 수 있게 ν•˜λŠ” κΈ°μˆ μ΄λ‹€. Servlet의 μ£Όμš” νŠΉμ§• ν΄λΌμ΄μ–ΈνŠΈμ˜ Request에 λŒ€ν•œ λ™μ μœΌλ‘œ λ™μž‘ν•˜λŠ” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ»΄ν¬λ„ŒνŠΈ HTML을 μ‚¬μš©ν•΄ Response Java의 μŠ€λ ˆλ“œλ₯Ό 이용 MVC νŒ¨ν„΄μ—μ„œ 컨트둀러둜 이용 java.servlet.http.HttpServlet 클래슀λ₯Ό 상속 UDP 보닀 속도가 λŠλ¦¬λ‹€ HTML λ³€κ²½ μ‹œ Servlet을 재 컴파일 해야함 μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆλž€? μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆλž€ μ„œλΈ”λ¦Ώμ„ λ‹΄κ³  κ΄€λ¦¬ν•΄μ£ΌλŠ” μ»¨ν…Œμ΄λ„ˆμ΄λ‹€. 클..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [8] [OSI 7 Layer]

1. OSI 7 Layer OSI 7 계측은 λ„€νŠΈμ›Œν¬μ—μ„œ 톡신이 μΌμ–΄λ‚˜λŠ” 과정을 7 λ‹¨κ³„λ‘œ λ‚˜λˆˆ 것을 λ§ν•œλ‹€. λ‚˜λˆˆ μ΄μœ λŠ” 톡신이 μΌμ–΄λ‚˜λŠ” 과정을 λ‹¨κ³„λ³„λ‘œ νŒŒμ•…ν•  수 있기 λ•Œλ¬Έμ΄λ‹€. 7단계 쀑 νŠΉμ •ν•œ 곳에 이상이 μƒκΈ°κ²Œ 되면 λ‹€λ₯Έ λ‹¨κ³„μ˜ μž₯λΉ„λ‚˜ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 건듀지 μ•Šκ³  이상이 생긴 κ³„μΈ΅λ§Œ 고치면 되기 λ•Œλ¬Έμ΄λ‹€. PCλ°©μ—μ„œ μˆ˜κ°•μ‹ μ²­μ„ ν•˜λŠ”λ° λ¬Έμ œκ°€ 생겼닀. - PC방의 λͺ¨λ“  컴퓨터가 λ¬Έμ œκ°€ μžˆλ‹€λ©΄ -> λΌμš°ν„°(λ„€νŠΈμ›Œν¬ 계측) 문제 - λ‚΄ PC만 λ¬Έμ œκ°€ μžˆλ‹€. -> μˆ˜κ°•μ‹ μ²­ μ‚¬μ΄νŠΈ(μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 계측)의 문제 μ΄λ ‡κ²Œ νŠΉμ •ν•œ κ³„μΈ΅μ˜ 문제λ₯Ό νŒŒμ•…ν•˜κ³  ν•΄κ²°ν•  수 μžˆλ‹€. 이번 κΈ€μ—μ„œλŠ” 3계측 λΆ€ν„° μžμ„Ένžˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž. 3계측 - λ„€νŠΈμ›Œν¬ 계측 (Network Layer) 이 κ³„μΈ΅μ—μ„œ κ°€μž₯ μ€‘μš”ν•œ κΈ°λŠ₯은 데이터λ₯Ό ..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [7] [@Transactional / AOP]

@Transactional κ³Ό AOP의 관계 + Proxy 객체 spring κ°œλ°œμ„ μ§„ν–‰ν•˜λ©΄ νŠΈλžœμž­μ…˜ 처리λ₯Ό ν•΄λ³Έ κ²½ν—˜μ΄ μžˆμ„ 것이닀. μ‹€μ œλ‘œ @Transactional 만 μ‚¬μš©ν•΄λ³΄κ³  λ‚΄λΆ€μ μœΌλ‘œ μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”μ§€μ— λŒ€ν•΄μ„œ 잘 μ΄ν•΄ν•˜μ§€ λͺ»ν•˜κ³  μžˆμ—ˆλ‹€. λ©΄μ ‘ μ€€λΉ„λ₯Ό ν•˜λ©΄μ„œ aop에 λŒ€ν•΄ κ³΅λΆ€ν•˜λ‹€ νŠΈλžœμž­μ…˜ 처리, λ‘œκΉ… 등을 aop둜 μ²˜λ¦¬ν•œλ‹€λŠ”λ° λ‘œκΉ…μ„ μ²˜λ¦¬ν•˜λŠ” 것은 ν–ˆμ–΄λ„ νŠΈλžœμž­μ…˜μ€ λ”°λ‘œ κ΅¬ν˜„ν•œ 적이 μ—†μ—ˆλ‹€. κ·Έλž˜μ„œ 쑰금 더 μžμ„Ένžˆ μ•Œμ•„λ³΄κ³  λ‚΄λΆ€μ μœΌλ‘œ μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”μ§€ μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€. 1. Transaction [ νŠΈλžœμž­μ…˜ ] / AOP [ 관점지ν–₯ν”„λ‘œκ·Έλž˜λ° ] λ¨Όμ € νŠΈλžœμž­μ…˜μ΄λž€ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚€κΈ° μœ„ν•΄ μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ˜ λ‹¨μœ„λ₯Ό λœ»ν•œλ‹€. λ‹¨μˆœνžˆ λͺ…λ Ήμ–΄ λ‹¨μœ„κ°€ μ•„λ‹Œ μž‘μ—…μ˜ λ‹¨μœ„μΈ 것을 잘 이해해야 ..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [6] [Data Base]

1. 데이터 베이슀의 νŠΉμ§• ? 1. μ‹€μ‹œκ°„ μ ‘κ·Όμ„± (Real-Time Accessibility) - λΉ„μ •ν˜•μ μΈ μ§ˆμ˜μ— λŒ€ν•˜μ—¬ μ‹€μ‹œκ°„ μ²˜λ¦¬μ— μ˜ν•œ 응닡이 κ°€λŠ₯ν•΄μ•Ό 함 2. 지속적인 λ³€ν™” (Continuous Evolution) - λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλŠ” 동적. 즉, μƒˆλ‘œμš΄ λ°μ΄ν„°μ˜ μ‚½μž…(Insert), μ‚­μ œ(Delete), κ°±μ‹ (Update)으둜 항상 μ΅œμ‹ μ˜ 데이터λ₯Ό μœ μ§€ν•΄μ•Ό 함 3. λ™μ‹œ 곡용 (Concurrent Sharing) - λ°μ΄ν„°λ² μ΄μŠ€λŠ” μ„œλ‘œ λ‹€λ₯Έ λͺ©μ μ„ 가진 μ—¬λŸ¬ μ‘μš©μžλ“€μ„ μœ„ν•œ κ²ƒμ΄λ―€λ‘œ λ‹€μˆ˜μ˜ μ‚¬μš©μžκ°€ λ™μ‹œμ— 같은 λ‚΄μš©μ˜ 데이터λ₯Ό μ΄μš©ν•  수 μžˆμ–΄μ•Ό 함 4. λ‚΄μš©μ— μ˜ν•œ μ°Έμ‘° (Content Reference) - λ°μ΄ν„°λ² μ΄μŠ€μ— μžˆλŠ” 데이터λ₯Ό μ°Έμ‘°ν•  λ•Œ 데이터 λ ˆμ½”λ“œμ˜ μ£Όμ†Œλ‚˜ μœ„μΉ˜μ— μ˜ν•΄μ„œκ°€ ..

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [5] [Spring AOP]

1. Spring AOP λž€? AOPλŠ” Aspect Oriented Programming 의 μ•½μžλ‘œ 관점 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μœΌλ‘œ λΆˆλ¦°λ‹€. 관점 지ν–₯은 μ‰½κ²Œ λ§ν•΄μ„œ μ–΄λ–€ λ‘œμ§μ„ κΈ°μ€€μœΌλ‘œ 핡심적인 관점, 뢀가적인 κ΄€μ μœΌλ‘œ λ‚˜λˆ„μ–΄μ„œ 보고 κ·Έ 관점을 κΈ°μ€€μœΌλ‘œ 각각 λͺ¨λ“ˆν™”ν•˜κ² λ‹€λŠ” 것이닀. μ˜ˆλ‘œλ“€μ–΄ 핡심적인 관점은 κ²°κ΅­ μš°λ¦¬κ°€ μ μš©ν•˜κ³ μž ν•˜λŠ” 핡심 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직이 λœλ‹€. λ˜ν•œ 뢀가적인 관점은 핡심 λ‘œμ§μ„ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„œ ν–‰ν•΄μ§€λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²°, λ‘œκΉ…, 파일 μž…μΆœλ ₯ 등을 예둜 λ“€ 수 μžˆλ‹€. AOPμ—μ„œ 각 관점을 κΈ°μ€€μœΌλ‘œ λ‘œμ§μ„ λͺ¨λ“ˆν™”ν•œλ‹€λŠ” 것은 μ½”λ“œλ“€μ„ λΆ€λΆ„μ μœΌλ‘œ λ‚˜λˆ„μ–΄μ„œ λͺ¨λ“ˆν™”ν•˜κ² λ‹€λŠ” μ˜λ―Έλ‹€. μ΄λ•Œ, μ†ŒμŠ€ μ½”λ“œμƒμ—μ„œ λ‹€λ₯Έ 뢀뢄에 계속 λ°˜λ³΅ν•΄μ„œ μ“°λŠ” μ½”λ“œλ“€μ„ λ°œκ²¬ν•  수 μžˆλŠ” 데 이것을 흩어진 관심사 (Crosscut..