์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- ๋ค์ค ์ปจํ ์ด๋
- prod docker-compose
- docker compose
- jvm ๋ฐ๋ฐ๋ฅ๊น์ง ํํค์น๊ธฐ
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- docker
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- s3 log ์ ์ฅ
- JPA
- Codedeploy ์ค๋ฅ
- Entity
- ์คํํ๋ ๋ฏธ์ค
- ์๋ฐ
- aws saa ํฉ๊ฒฉ
- aws ์ฟ ํฐ
- AWS Certified Solutions Architect - Associate
- docker-compose kafka
- redis ํ ์คํธ์ฝ๋
- private subnet ec2 ๋ก์ปฌ ์ ์
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- Kafka
- docker ps -a
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- nGrinder
- redis ์กฐํ
- ํ์ดํผ๋ฐ์ด์
- ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
๋ชฉ๋ก๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/๐๐๐ฏ๐ (15)
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Hm1b1/btsL8VYX91f/YuPV7wjGYtHI35rm6bxcm0/img.jpg)
c, c++์ ๊ฐ์ฒด๋ ๊ฐ๊ฐ์ '์์ ๊ถ' ๋ฟ๋ง ์๋๋ผ ๊ฐ์ฒด์ ์ผ์์ ํ์๋ถํฐ ์ฃฝ์๊น์ง ๊ด๋ฆฌํ ์ฑ ์์ด ์๋ค. ์๋ฐ ๊ฐ๋ฐ์๋ ๊ฐ์ ๋จธ์ ์ด ์ ๊ณตํ๋ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฉ์ปค๋์ฆ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ํด์ ๋ฅผ ์ง์ง์ด ์ฝ๋ฉํ์ง ์์๋ ๋ฉ๋ชจ๋ฆฌ ๋์๋ ์ค๋ฒํ๋ก ๋ฌธ์ ๋ฅผ ๊ฑฐ์ ๊ฒช์ง ์๋๋ค. ํ์ง๋ง ํต์ ๊ถ์ ์์ํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ํ๋ฒ ํฐ์ง๋ง ๊ฐ์ ๋จธ์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ์์ ์ดํดํ์ง ๋ชปํ๋ ํ ํด๊ฒฐํ๊ธฐ๊ฐ ์๋น์ด ์ด๋ ต๋ค. ์๋ฐ ๋จธ์ ์ด ๊ด๋ฆฌํ๋ ๋ค์ํ ๋ฉ๋ชจ๋ฆฌ ์์ญ ๋ฐํ์ ๋ฐ์ดํฐ ์์ญ์๋ฐ ๊ฐ์ ๋จธ์ ์ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ช ๊ฐ์ ๋ฐ์ดํฐ ์์ญ์ผ๋ก ๋๋ ๊ด๋ฆฌํ๋ค. ์ด ์์ญ๋ค์ ๊ฐ๊ฐ ๋ชฉ์ ๊ณผ ์์ฑ/์ญ์ ์์ ์ด ์๋ค. ์ด๋ค ์์ญ์ ๊ฐ์ ๋จธ์ ํ๋ก์ธ์ค์ ์์๊ณผ ๋์์ ๋ง๋ค์ด์ง๋ฉฐ ์ด๋ค ์์ญ์ ์ฌ์ฉ์ ์ค๋ ๋์ ์์/์ข ๋ฃ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tXneU/btsL457VwGH/Tb5miLo3Er1kBtaZJCVB31/img.webp)
์๋ฐํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฟ ์๋๋ผ ์ฌ๋ฌ๊ฐ์ง ์ํํธ์จ์ด์ ๋ช ์ธ๋ก ๊ตฌ์ฑ๋ ๊ธฐ์ ์์คํ ํฌ๋ก์ค ํ๋ซํผ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ์ ๊ณต์๋นํ ์์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์คํ ์ ๊ฐ์ท๋ค.๋ฐํ์์ ํซ์ฝ๋๋ฅผ ๊ฐ์ง, ์ปดํ์ผํ๊ณ ์ต์ ํํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ต์์ ์ฑ๋ฅ์ ๋ด๋๋ก ๋์์ค๋ค.ํ์ค API ํ๋ถ, ์๋ง์ ๊ธฐ์ ๊ณผ ์คํ ์์ค ์ปค๋ฎค๋ํฐ์์ ์ ๊ณตํ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์๋ ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ์ด ๊ฐ๋ฅํ๋ค.์๋ฐ ๊ธฐ์ ์์คํ ์ผ๋ฐ์ ์ผ๋ก ์๋ฐ ๊ฐ์ ๋จธ์ ์์์ ๋์ํ๋ ์ฝํ๋ฆฐ, ํด๋ก์ , JRuby, ๊ทธ๋ฃจ๋น ๋ฑ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ทธ ์ธ ๊ด๋ จ ํ๋ก๊ทธ๋จ๋ค๋ ์๋ฐ ๊ธฐ์ ์์คํ ์ ์ํ๋ค.์ ํต์ ์ผ๋ก ์๋ฐ ๊ธฐ์ ์์คํ ์ ๋ค์ ์์๋ค์ ํฌํจํ๋ค.์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(๋ค์ํ ํ๋์จ์ด ํ๋ซํผ์ฉ) ์๋ฐ ๊ฐ์ ๋จธ์ ๊ตฌํํด๋์ค ํ์ผ ํฌ๋งท์๋ฐ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bCHVdv/btsHyln250s/2Rk5xfeby4KcowYyuvaJOk/img.png)
์๋ฐ ๊ฐ์ ๋จธ์ (Java Virtual Machine, JVM)์ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ์ํํธ์จ์ด ํ๊ฒฝ์ด๋ค. ์๋ฐ ์ฝ๋๋ ๋ฐ๋ก ์คํ๋๋ ๊ฒ ์๋๋ผ ๋ฐ์ดํธ์ฝ๋(.class ํ์ผ)๋ก ๋ณํ๋๊ณ , ์ด ๋ฐ์ดํธ์ฝ๋๋ฅผ ์คํํ๋ ์ญํ ์ ํ๋ ๊ฒ JVM์ด๋ค. JVM์ ์ฃผ์ ์ญํ ๋ฐ์ดํธ์ฝ๋ ์คํ: ์๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ๋ณํํ ๋ฐ์ดํธ์ฝ๋๋ฅผ ํด์ํ๊ณ ์คํํ๋ค.ํ๋ซํผ ๋ ๋ฆฝ์ฑ ์ ๊ณต: ํ ๋ฒ ์ปดํ์ผ๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์ด์ ์ฒด์ ์ ์๊ด์์ด ์คํ ๊ฐ๋ฅํ๋ค. ("Write Once, Run Anywhere")๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ: ๊ฐ๋น์ง ์ปฌ๋ ํฐ(GC)๋ฅผ ํตํด ๋ถํ์ํ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์ ๋ฆฌํ๋ค.๋ฐํ์ ํ๊ฒฝ ์ ๊ณต: ์คํ, ํ, ๋ฉ์๋ ์์ญ ๋ฑ์ ๊ด๋ฆฌํ๋ฉด์ ํ๋ก๊ทธ๋จ ์คํ์ ๋๋๋ค. JVM ์คํ ๊ณผ์ ์์ค ์ฝ๋(.java) ์์ฑ์ปดํ์ผ(javac) → ๋ฐ..
๋งค์ผ ์ฝํ ๋ฌธ์ ๋ฅผ ํ๊ณ ์์ง๋ง ๋ธ๋ก๊ทธ์๋ ์ค๋๋ง์ ์ฝํ ๋ฌธ์ ๋ฅผ ์ฌ๋ ค๋ณธ๋ค. 1. ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ(Lv.2) ๋จ์ BFS ๋ฌธ์ ์ด๋ค. ์ผ๋ฐ BFS๋ฐฉ์์ผ๋ก ํ๋ฉด ์ฝ๊ฒ ํ๋ฆฌ๋ ๋ฌธ์ ์ด๋ค. ๋ค๋ฅธ ์์ด๋ฉด cnt++ ํ๊ณ bfs๋ก ํด๋น ์์ ๊ฐ์๋ฅผ ์ธ์ max_cnt๋ฅผ ๊ฐฑ์ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ํ์๋ค. import java.util.*; class Solution { static boolean[][] visited; static int[] dx = {1, 0, -1, 0}; static int[] dy = {0, -1, 0, 1}; static int max_cnt; public int[] solution(int m, int n, int[][] picture) { visited = new boolean[m][n]; in..
โญAction Tag ์ก์ ํ๊ทธ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์ด๋ค ํ๋์ ํ๋๋ก ๋ช ๋ นํ๋ ํ๊ทธ ๊ธฐ๋ฅ JSP ํ์ด์ง์์ ํ์ด์ง์ ํ์ด์ง ์ฌ์ด๋ฅผ ์ ์ด ๋ค๋ฅธ ํ์ด์ง์ ์คํ๊ฒฐ๊ณผ ๋ด์ฉ์ ํ์ฌ ํ์ด์ง์ ํฌํจ ์๋ฐ ๋น์ฆ (JavaBeans) (์๋ฐ๊ฐ์ฒด) ๋ฑ์ ๋ค์ํ ๊ธฐ๋ฅ ์ ๊ณต ์ข ๋ฅ Include ์ฌ๋ฌ jsp ํ์ด์ง์์ ๊ณตํต์ ์ผ๋ก ํฌํจ ๋ด์ฉ(ex. header, footer)์ด ์์ผ๋ฉด ๋ณ๋ ํ์ผ ์ ์ฅํ๊ณ ํฌํจ ์์ค์ฝ๋ ์์ฒด๊ฐ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ๋ณ์ ์ค๋ณต ์ ์ธ ๋ถ๊ฐํจ. ์๋ ์๋ฌ๋ฐ์ํจ. ๐ action tag๋ฅผ ํตํด ๋ณ๋ ํ์ผ ํฌํจ์ํฌ ์๋ ์์ ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๋ง ํฌํจ๋จ ํด์ํ ๊ฒฐ๊ณผ๋ง ์ ์ ํ ์คํธ๋ก ์ ๋ฌํจ include์๋ 2๊ฐ์ง ๋ฐฉ์์ด ์กด์ฌ include directive(์ง์์ด) ํด๋น ์ฝ๋๋ฅผ ๊ทธ๋๋ก ํฌํจ์ํจ ํ์ ์ปดํ์ผ์ ํ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/1K7ZU/btrPIRGKSOY/aUUuGZRdGwzbeZcmlKIKF1/img.png)
JSP JSP(Java Server Page)๋ Servlet์ ํ์ฅ๋ ๊ธฐ์ ๋ก ๋ธ๋ผ์ฐ์ ์ ํํํ๊ธฐ ์ํ HTML์ฝ๋์ JAVA ์ฝ๋๋ฅผ ํผ์ฉํ์ฌ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค. ์ด๋ก์จ ๋์์ธ๊ณผ ๋ก์ง ๊ฐ๋ฐ์ ๋ถ์ ํ์์ผ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฐํด ๋ผ ์ ์๊ฒํ๋ค. JSP ๊ธฐ๋ณธ๋ฌธ๋ฒ ๋ฐ ์ฉ์ด -> ์ ์ญ๋ณ์, ํจ์ -> ์ฝ๋ฉ, ์ง์ญ๋ณ์ ->๋ฌธ์์ด, ๋ณ์๊ฐ, ํจ์๋ฆฌํด๊ฐ ์ถ๋ ฅ ๋ ํด๋น jspํ์ด์ง์์ ์ด๋ค ๋ฌธ์๋ฅผ ์์ฑํ๋์ง, ์ด๋ค ์๋ฐ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋์ง, ์ธ์ ์ ์ฐธ์ฌํ๋์ง, ์ถ๋ ฅ ๋ฒํผ์ ์กด์ฌ์ฌ๋ถ๋ฑ jspํ์ด์ง๋ฅผ ์คํํ๋๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค. (ex) = exception์ ํธ๋ค๋งํ๊ธฐ์ํด ๋ง๋ ์๋ฌํ์ด์ง์ด๋ค ๋ผ๊ณ ์ ์ธ๋ฌธ. ํด๋น ํ์ด์ง๋ฅผ ์๋ฌํ์ด์ง๋ผ๊ณ ์ ์ธํ๊ฒ ๋๋ฉด์ exception๊ฐ์ฒด๊ฐ ์ด๊ณ ์๋ค. ๊ทธ๋์ exception...
์๋ฐ ์ฐ์ ์์ ํ ์ ํ๋ ๋๊ฐ ๋น ๋ฅธ์์ผ๋ก ์ ๋ ฌ ์๋ก์ด ์ ๋ ฌ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ์ํด์๋ PriorityQueue๋ฅผ Comparator๋ก ์ฌ์ ์ ํด์ผํ๋ค!! package me.day14.practice.practice02; import java.util.Comparator; import java.util.PriorityQueue; public class Main { public static void main(String[] args) { System.out.println("==============================================================================="); System.out.println("\t\t\t\t์ฐ์ ์์ ํ"); System.out.prin..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mxgY0/btrOlIqBip4/sId3Z9pkmviKdiQ1XmrWUK/img.png)
โญ์ ๋ค๋ฆญ ๋ฉ์๋(generic method) ์ ๋ค๋ฆญ ๋ฉ์๋๋ ๋ฉ์๋์ ์ ์ธ๋ถ์ ํ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ฉ์๋๋ฅผ ์๋ฏธ ๋ฐ์ดํฐ ํ์ ์ ์์๊ด๊ณ์ ์๊ด์์ด ๋ค์ํ๊ฒ ์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค. ํํ public class ํด๋์ค๋ช { ... } public interface ์ธํฐํ์ด์ค๋ช { ... } ํน์ง ํ๋ผ๋ฏธํฐ ํ์ ์ด๋ ๋ฆฌํด ํ์ ์ ๋ํ ์ ์๋ฅผ ์ธ๋ถ๋ก ๋ฏธ๋ฃธ ํ์ ์ ๋ํ ์์ ์ฑ๊ณผ ์ ์ฐ์ฑ ํ๋ณด ๋ง์ฝ ์ต์์ ํด๋์ค Object๋ก ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๋๋ค๋ฉด ๊ฐ์ฒด๋ณ์์ ์ค์ ์ธ์คํด์ค ํ๋๋ ๋ฉ์๋์ ์ ๊ทผํ ๋ ํ๋ณํ ํ์ํ๋ค. ๋ํ Object ๊ฐ์ฒด๋ณ์์ ์ค์ ์ธ์คํด์ค ํ๋๋ ๋ฉ์๋์ ์ ๊ทผํ๊ธฐ ์ํด ํ๋ณํ์ ์๋ชปํ ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ๋ ์ด๋ฅผ ์ก์ง ๋ชปํ๋ค. ์ ๋๋ฆญ ์ฅ์ ๋ฐ์ดํฐ ํ ๋ณํ ์ ๊ฑฐ ์ปดํ์ผ์ ๋ฐ์ดํฐ ํ์ ์ฒดํฌ ๊ฐ๋ฅ ์์ impor..