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

2022.04.18 ์˜ค๋Š˜์˜ ๊ธฐ๋ก

by GroovyArea 2022. 4. 18.

โ–ถ ์ฃผ๊ฐ„ ์ •๋ฆฌ

1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ด์Šˆ

-> ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜์Œ

 

1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ํˆด (Gradle) 

-> ์–˜๋Š” ๊ทธ๋ž˜๋„ ๋ฉ”์ด๋ธ์ด๋ž‘ ๋น„์Šทํ•ด์„œ ์‰ฌ์›€

 

2) ์—๋„ˆํ…Œ์ด์…˜ ์ ์šฉ์ด ์•ˆ๋˜๋Š” ๋ถ€๋ถ„

-> ์•„๋ฌด๋ฆฌ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด๋„ ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„์€ ๋ฒ„์ „์ด ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜๋ฉฐ ๋”ฐ๋กœ ๋ชจ๋“ˆํ™”๊ฐ€ ๋œ ๋ถ€๋ถ„์ด ๋งŽ๊ธฐ๋„ ํ•˜๊ณ , 

๋”ฐ๋กœ import ํ•ด์ค˜์•ผ ํ•˜๋Š” junit์˜ ๋‹จ์ ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค..

 

3) ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ํด๋ž˜์Šค๋ช… + Test ๋ผ๊ณ  ์ด๋ฆ„ ๋ถ™์ด๋ฉด ๋จ..

์ด๋ ‡๊ฒŒ ๋ง๊ณ  ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋”ฐ์•ผํ•จ. ๋‹จ์ถ•ํ‚ค ์ด์šฉ!

4) ์ž‘์„ฑ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธ์ฝ”๋“œ์— ๋„ฃ์ง€ ๋ง๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž.

๋ณด์ˆ˜ ๋˜์—ˆ์„ ๋•Œ๋ฅผ ์ƒ๊ฐํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž. ํ™•์žฅ์„ฑ์„ ๋ˆ ์ฝ”๋“œ๋กœ ์ƒˆ๋กœ ์ž‘์„ฑํ•˜์ž

 

2. ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ์ด์Šˆ (ํšŒ๊ณ  ์ž‘์„ฑํ•˜์ž)

-> ์ž‘์„ฑ ์™„๋ฃŒ

 

3. ์Šคํ”„๋ง ๊ฐœ๋… ์ •๋ฆฌ ๊ด€๋ จ๋œ ์ด์Šˆ (์ž‘์„ฑ ์˜ˆ์ •)

 

1) ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด์ด ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฌด์—‡์ธ์ง€.

 

2) Bean Scope๊ฐ€ ๋ฌด์—‡์ด๊ณ , ์™œ ์กด์žฌํ•˜๋Š” ๊ฑด์ง€

 

3) Bean Lifecycle

=> destroy์— ํ•„์ˆ˜์ ์œผ๋กœ ๋“ค์–ด๊ฐˆ ์˜ˆ์ œ ์ฝ”๋“œ ์ƒ๊ฐํ•ด๋ณด๊ธฐ

 

4) postconstruct ์™€ ์ƒ์„ฑ์ž ์ฐจ์ด

=> ๋‘๊ฐœ ๋‹ค ์ดˆ๊ธฐํ™”์˜ ๊ณผ์ •์ธ๋ฐ ๋ฌด์—‡์ด ๋‹ค๋ฅผใ„ฒ? 

 

5) ํ•ธ๋“ค๋Ÿฌ ์ถ”์ƒํด๋ž˜์Šค๋กœ ์™œ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€
๊ณ ๋ฏผํ•ด๋ณด์ž 3๊ฐœ

โ–ถ 1์ฃผ ํ•„์š”ํ•œ ๊ณ„ํš

1. real Mysql ๊ณต๋ถ€ (๋А๋ฆฌ๋”๋ผ๋„ ์ดํ•ดํ•˜๋ฉด์„œ ์ฝ๊ธฐ)

2. Docker ๋ณธ๋ฌธ ์ฝ๊ธฐ

3. Spring boot ํ”„๋กœ์ ํŠธ repo ๋ฐ wiki ์ƒ์„ฑ

4. ์ž๊ธฐ์†Œ๊ฐœ์„œ ์ž‘์„ฑ

5. gradle test ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •

6. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ๊ฒƒ 3๊ฐœ ํ’€๊ธฐ

7. ์•Œ๋ฐ” ํ™•์ •์ง“๊ธฐ

 

=> ํ• ๊ฒŒ ๋„ˆ๋ฌด๋„ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ ์ฃผ๋Š” ์ ˆ๋Œ€ ๋‹ค๋ฅธ ์ƒ๊ฐ๋ง๊ณ  ํ•ด์•ผ๋  ๊ฒƒ ๊ฐ™๋‹ค.

 

โ–ถ ์žฅ๊ธฐ ๊ณ„ํš

1. ํ† ๋น„์˜ ์Šคํ”„๋ง, ์ž๋ฐ” junit ๋„์„œ ๊ตฌ๋งค

2. CS ๊ธฐ์ˆ  2๊ถŒ ๊ตฌ๋งค (๋ˆ ์ƒ๊ธฐ๋ฉด..)

 

โ–ถ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

=> ํ•˜์ƒค๋“œ ์ˆ˜ ๋ฌธ์ œ

class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        
        String y = String.valueOf(x);
        
        char[] c = y.toCharArray();
        
        int[] ab = new int[c.length];
        
        for(int a= 0; a<c.length; a++){
           ab[a]=Character.getNumericValue(c[a]);
            
          
        }
        
        int sum = 0;
        for(int b= 0; b<ab.length; b++){
            
            sum += ab[b];
        }
        
        if(x % sum == 0){
            answer = true;
        }
        else{
            answer= false;
        }
        return answer;
    }
}

=> ๋”๋Ÿฝ๊ธด ํ•˜์ง€๋งŒ.. ์ง€๊ธˆ๊นŒ์ง€ ํ‘ผ ๋ฌธ์ œ์ค‘์—์„œ ์˜จ์ „ํžˆ ํž˜์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค

๋ฐ˜์‘ํ˜•

'Legacy' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

2022.04.20 ์˜ ๊ธฐ๋ก  (0) 2022.04.20
2022.04.19์˜ ๊ธฐ๋ก  (0) 2022.04.19
2022.04.16 ์˜ ๊ธฐ๋ก  (0) 2022.04.16
2022.03.18~03.20์˜ ๊ธฐ๋ก  (2) 2022.03.19
2022.03.17์˜ ๊ธฐ๋ก  (2) 2022.03.17