전체 κΈ€

μ•Œκ³ λ¦¬μ¦˜/πŸ—‚οΈ 정리

😺 λ²”μœ„λ₯Ό λ²—μ–΄λ‚  경우 λ°˜λŒ€λ°©ν–₯으둜 μ΄λ™ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜ 😺

μ•Œκ³ λ¦¬μ¦˜μ„ ν’€λ©΄μ„œ 기얡해두면 μ’‹μ„λ§Œν•œ μ½”λ“œλ₯Ό κΈ°λ‘ν•œλ‹€. 😺 상황 μ„€λͺ… 고양이가 μƒν•˜μ’Œμš°λ‘œ L만큼 이동할 λ•Œ λ²”μœ„ λ°–μœΌλ‘œ μ΄λ™ν•œλ‹€λ©΄ 이동방ν–₯을 λ°˜λŒ€λ‘œ λ°”κΎΌ ν›„ 이동을 계속 μ§„ν–‰ν•œλ‹€. λ§Œμ•½ L의 값이 10얡일 λ•Œ for문을 10μ–΅ 번 돌렀 고양이가 μ΄λ™ν•˜κ²Œ λ˜λŠ” μœ„μΉ˜λ₯Ό μ •ν•˜λŠ” 것은 λΉ„νš¨μœ¨μ μ΄λ©° μ‹œκ°„μ΄ˆκ³Όκ°€ λ°œμƒν•œλ‹€. κ³ μ–‘μ΄μ˜ μœ„μΉ˜λ₯Ό 반볡문이 μ•„λ‹Œ 식을 μ΄μš©ν•΄μ„œ κ΅¬ν•΄λ³΄μž. πŸ•ΉοΈ κ΅¬ν˜„ 방법 πŸ”Ή 였λ₯Έμͺ½μœΌλ‘œ 이동할 λ•Œ 4x6의 νŒμ—μ„œ ν˜„μž¬ κ³ μ–‘μ΄λŠ” (2, 2)에 μœ„μΉ˜ν•΄ μžˆλ‹€. 고양이가 λ§Œμ•½ 3μΉΈ μ΄λ™ν•˜λ©΄ λ²”μœ„μ— λ²—μ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€. ν•˜μ§€λ§Œ 였λ₯Έμͺ½μœΌλ‘œ 7μΉΈ 이동할 λ•Œ λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜κ²Œ λœλ‹€. λ‹€μŒ μ΄λ™ν•˜λ €λŠ” 칸이 λ²”μœ„μ— λ²—μ–΄λ‚œλ‹€λ©΄ λ°©ν–₯을 λ°˜λŒ€λ‘œ λ°”κΏ” μ΄λ™ν•˜κ³ , μ΅œμ’…μ μœΌλ‘œ (2, 1)에 μœ„μΉ˜ν•˜κ²Œ λœλ‹€. 12μΉΈ μ΄λ™ν•˜λ©΄ λ™μΌν•œ..

Spring Framework/JPA

[Spring/JPA] Open-in-view와 @Transactional

μŠ€ν”„λ§λΆ€νŠΈ ν”„λ‘œμ νŠΈλ₯Ό μ‹€ν–‰μ‹œν‚€λ©΄ μœ„μ™€ 같은 WARN이 ν‘œμ‹œλœλ‹€. spring.jpa.open-in-view의 기본값은 true이며 ν•΄λ‹Ήν•˜λŠ” WARN은 false κ°’μœΌλ‘œ 지정해주면 없어진닀. 배포용 μͺ½ yml νŒŒμΌμ— spring.jpa.open-in-viewλ₯Ό false둜 ν•΄μ£Όμ—ˆκ³ , 둜컬 μͺ½μ—λŠ” 별닀λ₯Έ 지정을 ν•˜μ§€ μ•Šκ³  λ°°ν¬ν–ˆλ”λ‹ˆ 배포 μ‚¬μ΄νŠΈμ—μ„œ κΈ€ 전체가 μ‘°νšŒλ˜μ§€ μ•ŠλŠ” 상황이 λ°œμƒν–ˆλ‹€. open-in-view:false λ₯Ό μ£Όμ„μ²˜λ¦¬ν•˜λ‹ˆ λ‹€ν–‰νžˆ κΈ€ 전체 μ‘°νšŒκ°€ μ •μƒμ μœΌλ‘œ μž‘λ™ν–ˆλ‹€. open-in-viewκ°€ λ¬΄μ—‡μ΄κΈΈλž˜ μ‘°νšŒμ— 영ν–₯을 λ―ΈμΉ˜λŠ”μ§€ μ•Œμ•„λ³΄κ² λ‹€! 더보기 μ˜ˆμ „μ— λ“€μ—ˆλ˜ κΉ€μ˜ν•œ κ°•μ‚¬λ‹˜μ˜ 'μ‹€μ „! μŠ€ν”„λ§λΆ€νŠΈμ™€ JPA ν™œμš©2 - API 개발 μ„±λŠ₯μ΅œμ ν™”' κ°•μ˜μ—μ„œ μ„Ήμ…˜5 API 개발 κ³ κΈ‰-싀무 ν•„μˆ˜ μ΅œμ ν™” -..

μ•Œκ³ λ¦¬μ¦˜/CodeTree

[CodeTree] λ£¨λŒν”„μ˜ λ°˜λž€ - Java

✨ κ΅¬ν˜„ ➑︎ μ—°μ‡„μ μœΌλ‘œ μ΄λ™μ‹œν‚€κΈ° & μ΄λ™ν•œ μ’Œν‘œ κ°±μ‹ ν•˜κ³  잘 λ°˜μ˜μ‹œν‚€κΈ° https://www.codetree.ai/training-field/frequent-problems/problems/rudolph-rebellion/description?page=1&pageSize=20 μ½”λ“œνŠΈλ¦¬ | μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„λ₯Ό μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜ 정석 κ΅­κ°€λŒ€ν‘œκ°€ λ§Œλ“  μ½”λ”© κ³΅λΆ€μ˜ κ°€μ΄λ“œλΆ μ½”λ”© μ™•μ΄ˆλ³΄λΆ€ν„° 꿈의 직μž₯ μ½”ν…Œ ν•©κ²©κΉŒμ§€, κ΅­κ°€λŒ€ν‘œκ°€ μ—„μ„ ν•œ 컀리큘럼으둜 μ€€λΉ„ν•΄λ³΄μ„Έμš”. www.codetree.ai πŸ“κ³ λ €ν•΄μ•Όν•  점 산타가 κ°€κΉŒμš΄ λ£¨λŒν”„μ—κ²Œ 이동할 λ•Œ, λ°˜λŒ€λ‘œ λ£¨λŒν”„κ°€ κ°€κΉŒμš΄ μ‚°νƒ€μ—κ²Œ 이동할 λ•Œ μ–΄λŠ λ°©ν–₯으둜 이동할지 κ²°μ •ν•˜κΈ° μœ„ν•΄μ„œλŠ” 거리 곡식 계산을 μ΄μš©ν•΄μ„œ 비ꡐ해야 ν•œλ‹€. πŸ‘‰ λ£¨λŒν”„μ˜ 경우 8λ°©ν–₯ 이동 κ°€λŠ₯ν•˜κ³ , μ‚°νƒ€λŠ”..

μ•Œκ³ λ¦¬μ¦˜/πŸ—‚οΈ 정리

🐌 λ‹¬νŒ½μ΄ 이동 효율적인 μ½”λ“œ 🐌

λ‹¬νŒ½μ΄ 이동을 효율적으둜 μž‘μ„±ν•œ μ½”λ“œκ°€ μžˆμ–΄μ„œ κΈ°λ‘ν•œλ‹€. μš°μ„  격자의 ν•œ 변은 무쑰건 ν™€μˆ˜λ‹€. μ•ˆ -> λ°–μœΌλ‘œ μ΄λ™ν•˜λŠ” λ°©ν–₯κ³Ό λ°– -> μ•ˆμœΌλ‘œ μ΄λ™ν•˜λŠ” λ°©ν–₯을 ν•œ λ²ˆμ— μ €μž₯ν•˜λŠ” λ‘œμ§μ΄λ‹€. κ·œμΉ™ μ°ΎκΈ° λ‹¬νŒ½μ΄ μ΄λ™ν•˜λŠ” κ·œμΉ™μ„ 찾아보면 ν˜„μž¬ λ°©ν–₯이 λ§Œμ•½ μœ„ λ˜λŠ” μ•„λž˜μΌ λ•Œλ§ˆλ‹€ μ΄λ™ν•˜λŠ” νšŸμˆ˜κ°€ 1μ”© μ¦κ°€ν•œλ‹€. μ•ˆ βž” λ°–μœΌλ‘œ μ΄λ™ν•˜λŠ” 경우λ₯Ό 보면, β¬†οΈŽ ➑︎ 둜 이동할 λ•ŒλŠ” 1, 3, 5 ... μΉΈμ”© μ΄λ™ν•˜κ³ , β¬‡οΈŽ β¬…οΈŽ 둜 이동할 λ•ŒλŠ” 2, 4, 6 ... μΉΈμ”© μ΄λ™ν•œλ‹€. (0, 0)칸으둜 ν–₯ν•΄ κ°€λŠ” λ§ˆμ§€λ§‰ β¬†οΈŽλŠ” 짝수 칸만큼 μ΄λ™ν•˜μ§€λ§Œ μ–΄μ°¨ν”Ό (0, 0)μ—μ„œ λλ‚˜κΈ° λ•Œλ¬Έμ— breakν•˜λ©΄ λœλ‹€. λ°– βž” μ•ˆμœΌλ‘œ μ΄λ™ν•˜λŠ” λ‹¬νŒ½μ΄ λͺ¨μ–‘은 μœ„μ™€ λ°˜λŒ€λ‘œ μƒκ°ν•˜λ©΄ 되기 λ•Œλ¬Έμ— λ°©ν–₯만 λ°”κΏ”μ£Όλ©΄ λœλ‹€. μ½”λ“œ public st..

μ•Œκ³ λ¦¬μ¦˜/CodeTree

[CodeTree] 싸움땅 - Java

✨ κ΅¬ν˜„ https://www.codetree.ai/training-field/frequent-problems/problems/battle-ground/description?page=1&pageSize=20 μ½”λ“œνŠΈλ¦¬ | μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„λ₯Ό μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜ 정석 κ΅­κ°€λŒ€ν‘œκ°€ λ§Œλ“  μ½”λ”© κ³΅λΆ€μ˜ κ°€μ΄λ“œλΆ μ½”λ”© μ™•μ΄ˆλ³΄λΆ€ν„° 꿈의 직μž₯ μ½”ν…Œ ν•©κ²©κΉŒμ§€, κ΅­κ°€λŒ€ν‘œκ°€ μ—„μ„ ν•œ 컀리큘럼으둜 μ€€λΉ„ν•΄λ³΄μ„Έμš”. www.codetree.ai πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν•΄λ‹Ήν•˜λŠ” 칸에 μžˆλŠ” 총듀을 λΉ„κ΅ν•˜κ³  κ°€μž₯ 곡격λ ₯이 높은 총을 μ„ νƒν•΄μ•Όν•œλ‹€. 진 μ‚¬λžŒμ˜ 경우 총을 ν•΄λ‹Ήν•˜λŠ” 칸에 두고, 쑰건에 따라 μ΄λ™ν•œλ‹€. πŸ•ΉοΈ μ•Œκ³ λ¦¬μ¦˜ κ³Όμ • 진 μ‚¬λžŒμ΄ 총을 버리고 μ΄λ™ν•΄μ•Όν•˜λŠ”λ°, λ²„λ¦¬λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ§€ μ•Šμ•„ λ””λ²„κΉ…ν•˜λŠ”λ° μ‹œκ°„μ„ 생각보닀 많이 μŸμ€ 것 μ™Έμ—λŠ” λ”±νžˆ..

CS/🌐 λ„€νŠΈμ›Œν¬

[🌐 λ„€νŠΈμ›Œν¬] Cookie와 Session 그리고 JWT

HTTP νŠΉμ„± HTTPλŠ” stateless, connectionless νŠΉμ§•μ„ 가지고 μžˆμ–΄ μš”μ²­μ— λŒ€ν•œ 응닡을 μ²˜λ¦¬ν•˜κ²Œ 되면 연결을 λŠμ–΄λ²„λ¦°λ‹€. λ”°λΌμ„œ ν΄λΌμ΄μ–ΈνŠΈμ— λŒ€ν•œ μ΄μ „μ˜ μƒνƒœ 정보 및 ν˜„μž¬ ν†΅μ‹ μ˜ μƒνƒœκ°€ λ‚¨μ•„μžˆμ§€ μ•Šλ‹€. 연결을 계속 μœ μ§€ν•œλ‹€λ©΄ 이에 λ”°λ₯Έ μžμ› λ‚­λΉ„κ°€ 심해지기 λ•Œλ¬Έμ΄λ‹€. ν•˜μ§€λ§Œ μƒνƒœκ°€ λ‚¨μ•„μžˆμ§€ μ•Šμ•„ μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 식별할 수 μ—†λŠ” 단점이 μžˆλ‹€. λ‘œκ·ΈμΈμ„ ν•˜λ”λΌλ„ λ‹€μŒ μš”μ²­μ—μ„œ ν•΄λ‹Ή ν΄λΌμ΄μ–ΈνŠΈλ₯Ό κΈ°μ–΅ν•˜μ§€ λͺ»ν•˜λ―€λ‘œ λ‹€μ‹œ λ‘œκ·ΈμΈμ„ ν•΄μ•Όν•˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” 것이닀. μ΄λŸ¬ν•œ λΉ„μ—°κ²°μ„±κ³Ό λ¬΄μƒνƒœμ„± νŠΉμ§•μ„ λ³΄μ™„ν•œ 기술이 Cookie와 Session이닀. Cookie πŸ‘‰ ν΄λΌμ΄μ–ΈνŠΈ(μ›Ή λΈŒλΌμš°μ €)에 μ €μž₯λ˜λŠ” μž‘μ€ 데이터 쑰각 Key-Valueν˜•μ‹μœΌλ‘œ μ €μž₯되며 ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­μ„ 보낼 λ•Œλ§ˆλ‹€ 맀번 ..

CS/🌐 λ„€νŠΈμ›Œν¬

[🌐 λ„€νŠΈμ›Œν¬] CORS & SOP

ν”„λ‘ νŠΈμ—”λ“œμ™€ λ°±μ—”λ“œ κ°„μ˜ 톡신을 ν•˜λ €κ³  ν•  λ•Œ 즉, ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ APIλ₯Ό 직접 ν˜ΈμΆœν•  λ•Œ CORS μ •μ±… μœ„λ°˜μœΌλ‘œ 였λ₯˜κ°€ λ‚˜λŠ” 상황이 λ°œμƒν•œλ‹€. CORSλŠ” "ꡐ차 좜처 λ¦¬μ†ŒμŠ€ 곡유"λ₯Ό μ˜λ―Έν•˜κ³ , SOPλŠ” κ·Έ λ°˜λŒ€μΈ "동일 좜처 μ •μ±…"을 μ˜λ―Έν•œλ‹€. "μΆœμ²˜κ°€ κ΅μ°¨ν•œλ‹€"λŠ” μ˜λ―Έκ°€ 뭘까? 좜처 (Origin) μš°μ„  CORS와 SOP κ³΅ν†΅μœΌλ‘œ Origin(좜처)μ΄λΌλŠ” 단어λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€. μΆœμ²˜λž€ URLμ—μ„œ 도메인, ν”„λ‘œν† μ½œ, ν¬νŠΈκΉŒμ§€ ν¬ν•¨ν•˜λŠ” κ°œλ…μœΌλ‘œ 이 쀑 ν•˜λ‚˜λΌλ„ λ‹€λ₯΄κ²Œ 되면 CORS μ—λŸ¬λ₯Ό λ§Œλ‚˜κ²Œ λ˜λŠ” 것이닀. 도메인 (Hostname) : myshop.com 좜처 (Origin) : https://myshop.com "μΆœμ²˜κ°€ κ΅μ°¨ν•œλ‹€" πŸ‘‰ λ¦¬μ†ŒμŠ€λ₯Ό μ£Όκ³ λ°›μœΌλ €λŠ” '두 μΆœμ²˜κ°€ μ„œλ‘œ λ‹€λ₯΄λ‹€'λ₯Ό 의미 CORS ..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 17837 μƒˆλ‘œμš΄ κ²Œμž„2 - Java

✨ κ΅¬ν˜„ https://www.acmicpc.net/problem/17837 17837번: μƒˆλ‘œμš΄ κ²Œμž„ 2 μž¬ν˜„μ΄λŠ” 주변을 μ‚΄νŽ΄λ³΄λ˜ 쀑 체슀판과 말을 μ΄μš©ν•΄μ„œ μƒˆλ‘œμš΄ κ²Œμž„μ„ λ§Œλ“€κΈ°λ‘œ ν–ˆλ‹€. μƒˆλ‘œμš΄ κ²Œμž„μ€ 크기가 N×N인 μ²΄μŠ€νŒμ—μ„œ μ§„ν–‰λ˜κ³ , μ‚¬μš©ν•˜λŠ” 말의 κ°œμˆ˜λŠ” Kκ°œμ΄λ‹€. 말은 μ›νŒλͺ¨μ–‘이고, ν•˜ www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν•œ μ’Œν‘œ μ•ˆμ— μ—¬λŸ¬ 개의 말이 λ“€μ–΄κ°ˆ 수 μžˆλ‹€. βž” μ΄λ™ν•˜λ €λŠ” 칸에 말이 μ‘΄μž¬ν•œλ‹€λ©΄ κ·Έ μœ„μ— 말이 올라감 ν•œ 말이 이동할 λ•Œ μœ„μ— 올렀져 μžˆλŠ” λ§κΉŒμ§€ λͺ¨λ‘ μ΄λ™ν•œλ‹€. μ—¬λŸ¬ 개의 말이 λ“€μ–΄κ°ˆ λ•Œ μ’Œν‘œμ˜ 색깔에 따라 μ •λ ¬ 기쀀이 μ‘΄μž¬ν•œλ‹€. μ’Œν‘œμ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜κ±°λ‚˜ μ’Œν‘œ 칸이 νŒŒλž€μƒ‰μΌ λ•Œμ˜ 쑰건을 μœ μ˜ν•΄μ•Όν•œλ‹€. πŸ•ΉοΈ 풀이과정 μ–΄λ–€ 자료ꡬ쑰둜 ν™œμš©ν• μ§€ μ •ν•˜κΈ°λ§Œ ν•˜λ©΄ μ‰½κ²Œ ν’€..

soogoori
πŸƒπŸ»‍β™€οΈμŠ€ν…λ°”μ΄μŠ€ν…