๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

IT ๊ณต๋ถ€91

Docker๋ž€? ๐Ÿš€ Docker๋ž€?Docker๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ(Container) ๋ผ๋Š” ๊ฐ€๋ฒผ์šด ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.โœ… 1. Docker์˜ ํ•ต์‹ฌ ๊ฐœ๋…๐Ÿ”น 1) ์ปจํ…Œ์ด๋„ˆ(Container)์ปจํ…Œ์ด๋„ˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ํฌํ•จํ•˜๋Š” ๊ฐ€๋ฒผ์šด ํŒจํ‚ค์ง€๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋ฐฐํฌ๊ฐ€ ํŽธ๋ฆฌํ•˜๊ณ , ์˜์กด์„ฑ ๋ฌธ์ œ ์—†์Œ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ → ๋ฆฌ์†Œ์Šค ํšจ์œจ์  ์‚ฌ์šฉ๐Ÿ”น 2) ์ด๋ฏธ์ง€(Image)์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ (Blueprint)ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํฌํ•จ๋จDockerfile์„ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ŒDocker Hub์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ( docker pull ) ๊ฐ€๋Šฅ๐Ÿ”น 3) Dockerfile์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑ.. 2025. 2. 21.
JPA์—์„œ Enum ์ปฌ๋Ÿผ ์ œ๋Œ€๋กœ ์ €์žฅํ•˜๊ธฐ ์˜ค๋Š˜์€ Entity๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ ๊ฒช์€ ์ด์Šˆ์ธSpring Boot JPA์—์„œ Enum ์ปฌ๋Ÿผ ๋งคํ•‘ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.  โ›๏ธ ์ฒ˜์Œ ์ฝ”๋“œ์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ@Column(name = "status", nullable = false)private OrderStatusEnum status = OrderStatusEnum.PENDING; Hibernate๊ฐ€ Enum์„ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™˜ํ•ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ IllegalArgumentException์ด ๋ฐœ์ƒํ–ˆ๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ Hibernate๊ฐ€ ORDINAL(์ˆซ์ž)๋กœ ์ €์žฅํ•˜๋ คํ•ด์„œ DBํƒ€์ž…๊ณผ ์ถฉ๋Œํ•œ๋‹ค.  โ›๏ธ @Enumerated(EnumType.STRING) ์ถ”๊ฐ€  @Enumerated(EnumType.STRING) @Column(name = "stat.. 2025. 2. 21.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค) ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ)https://school.programmers.co.kr/learn/courses/30/lessons/178871  ํ’€์ด)import java.util.*;class Solution { public String[] solution(String[] players, String[] callings) { String[] answer = {}; // Map ์œผ๋กœ ์„ ์ˆ˜, ๋“ฑ์ˆ˜ ๊ด€๋ฆฌ Map map = new HashMap(); for(int i=0; i playerList = new ArrayList(Arrays.asList(players)); // ์ด๋ฆ„์ด ๋ถˆ๋ฆด๋•Œ๋งˆ๋‹ค Collections.swap ์„ ์ด์šฉํ•ด Li.. 2025. 2. 21.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค) ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘ ์œ ํšจ๊ธฐ๊ฐ„ ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ)https://school.programmers.co.kr/learn/courses/30/lessons/150370ํ’€์ด)import java.util.*;class Solution { public int[] solution(String today, String[] terms, String[] privacies) { List arr = new ArrayList(); Map expiryDate = new HashMap(); // ์•ฝ๊ด€ ์ •๋ณด ํŒŒ์‹ฑ for (String s : terms) { String[] split = s.split(" "); char termType = split[0].char.. 2025. 2. 20.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค) ๋ฐ”ํƒ•ํ™”๋ฉด ์ •๋ฆฌ ๋ฌธ์ œ)https://school.programmers.co.kr/learn/courses/30/lessons/161990 ํ’€์ด1) -> ์„ฑ๋Šฅ์ด ๋” ์ข‹์€ ์ฝ”๋“œ ( ์ข€ ๋” ํšจ์œจ์ )class Solution { public int[] solution(String[] wallpaper) { int lux = wallpaper.length; int luy = wallpaper[0].length(); int rdx = 0; int rdy = 0; for(int i=0; i ํ’€์ด2) -> ์„ฑ๋Šฅ์€ ๋น„์Šทํ•˜๊ฑฐ๋‚˜ StreamAPI์‚ฌ์šฉ์‹œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๋น„์šฉ์ด ์ถ”๊ฐ€๋˜์–ด ์กฐ๊ธˆ ๋” ๋–จ์ด์งˆ ์ˆ˜ ์žˆ์Œ but, ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ๊ณผ ์ตœ์†Œ, ์ตœ๋Œ€๊ฐ’ ์ฐพ์„ .. 2025. 2. 19.
git branch ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์ผ๋•Œ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์ถฉ๋Œ&ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ •๋ฆฌ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ branch๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๋กœ์ปฌ์—์„œ ์ˆ˜์ •ํ•œ ํŒŒ์ผ์ด ๋‚ ๋ผ๊ฐ€๋Š” ์ด์Šˆ๊ฐ€ ์ƒ๊ฒผ๋‹ค.๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๋ฉด์„œ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์ถฉ๋Œ ์ด์Šˆ๋“ค๊ณผ ๊ทธ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. ๐Ÿ› ๏ธ git pull ์‹œ ์ถฉ๋Œ (Merge Conflict)์ด์Šˆ๋กœ์ปฌ์—์„œ ์ˆ˜์ •ํ•œ ํŒŒ์ผ์ด ์›๊ฒฉ ์ €์žฅ์†Œ(๋ฆฌ๋ชจํŠธ)์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ์ถฉ๋Œํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒgit pull ์‹œ ์ž๋™ ๋ณ‘ํ•ฉ์ด ์‹คํŒจํ•˜๊ณ , ์ถฉ๋Œ ํ•ด๊ฒฐ์ด ํ•„์š”ํ•จํ•ด๊ฒฐ ๋ฐฉ๋ฒ•git status ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ํŒŒ์ผ ๋ชฉ๋ก์„ ํ™•์ธํ•ด๋‹น ํŒŒ์ผ์„ ์—ด์–ด >>>>>> branch_name ๋“ฑ์˜ ์ถฉ๋Œ ํ‘œ์‹œ๋ฅผ ๋ณด๊ณ  ์ง์ ‘ ์ˆ˜์ •git add "์ถฉ๋Œ ํ•ด๊ฒฐ ํŒŒ์ผ" ์ง„ํ–‰git commit -m "Resolve merge confilct"์ง„ํ–‰ ๐Ÿ› ๏ธ git pull .. 2025. 2. 18.