728x90 300x250 ์ ์ฒด ๊ธ279 [Java] ์ฒ ๋จ์ ์ฝค๋ง ์ฐ๊ธฐ (Format ํด๋์ค , ์ฝค๋ง ์ ๊ท์) ์๋ฆฟ์๊ฐ ๋ง์ ๊ธ์ก์ ๊ฐ๋ ์ฑ์ ํฅ์์ํค๊ธฐ์ํด 3์๋ฆฌ์ ๊ธ์ก์ 1000๋จ์๋ง๋ค ์ฝค๋ง( , )๋ฅผ ์ฐ์ต๋๋ค. *์ฝค๋ง( , )๋ ๋ฌธ์์ด์ด๊ธฐ ๋๋ฌธ์ Stringํ์ ์ ์ ์ฅํด์ผ ํฉ๋๋ค. ์ซ์ ์ฌ์ด์ ์ฝค๋ง( , )๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ์ java.text.DecimalFormat ํด๋์ค๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ๊ท์์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. DecimalFormat ํด๋์ค int money = 999999; DecimalFormat df = new DecimalFormat("###,###"); String formatMoney = df.format(money); System.out.println(formatMoney); // 999,999 ์ ๊ท์ String cash = "999999"; cash = cash.replaceAl.. 2022. 3. 15. [Java] ์๋ฐ ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ / FileRead & FileWrite package view; import java.io.*; public class FileWrite { public static void main(String[] args) { try ( /*์ด๊ณณ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด try ์ข ๋ฃ ํ ์๋์ผ๋ก close ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค. * true : ๊ธฐ์กด ํ์ผ์ ์ด์ด์ ์์ฑ (default๋ false ์ ๋๋ค.) - ๋ฎ์ด์๊ธฐ๊ฐ ๋จ */ FileWriter f_writer = new FileWriter("test.txt"); BufferedWriter b_writer = new BufferedWriter( f_writer ); ) { b_writer.newLine(); // ๋ฒํผ์ ๊ฐํ ์ฝ์ Enter b_writer.write(" โโโโ* I Love U โโโโ"); /.. 2022. 3. 11. [Java] ํ๋ก๊ทธ๋๋จธ์ค - 3์ง๋ฒ ๋ค์ง๊ธฐ (์ ๋ต / ์ค๋ช ) ๐ก๋ฌธ์ ์ค๋ช ์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. n์ 3์ง๋ฒ ์์์ ์๋ค๋ก ๋ค์ง์ ํ, ์ด๋ฅผ ๋ค์ 10์ง๋ฒ์ผ๋ก ํํํ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ์ถ๋ ฅ ์ 45 7 125 229 ์ ์ถ๋ ฅ ์ #1 n (10์ง๋ฒ)n (3์ง๋ฒ)์๋ค ๋ฐ์ (3์ง๋ฒ)10์ง๋ฒ์ผ๋ก ํํ 45 1200 0021 7 ๋ฐ๋ผ์ 7์ return ํด์ผ ํฉ๋๋ค. ์ ์ถ๋ ฅ ์ #2 n (10์ง๋ฒ)n (3์ง๋ฒ)์๋ค ๋ฐ์ (3์ง๋ฒ)10์ง๋ฒ์ผ๋ก ํํ 125 11122 22111 229 ๋ฐ๋ผ์ 229๋ฅผ return ํด์ผ ํฉ๋๋ค. ๐ฉ๐ป๐ป์ ์ถํ ์ ๋ต์ฝ๋ class Solution { public int solution(int n) { String answer = ""; while(n > 0){ answer += n%3; n.. 2022. 3. 11. [Java] 10 ์ง์๋ฅผ x ์ง์๋ก ๋ณํํ๊ธฐ package reverse3์ง๋ฒ; import java.util.ArrayList; import java.util.Collections; import java.util.List; class Solution{ public String solution(int num , int x) { String s = ""; while(num > 0) { System.out.printf("%3d %% %d = %d \n",num,x,num%x); s=num%x+s; num/=x; } return "\n125 -> "+x+" ์ง์๋ณํ : "+s; } } public class check { public static void main(String[] args) { int num = 125; int x = 2; //์ง์ ๋ณ์.. 2022. 3. 10. MyBatis Cache ๋ ๋ฌด์์ธ๊ฐ์? โจ Mybatis Cache ์บ์ ๊ธฐ๋ฅ ํ์ฉ ๋์ ์ ์์ ์๊ฐ ๋ง์์ ์ฑ๋ฅ์ด ๋ฌธ์ ๊ฐ ๋๋ ๊ฒฝ์ฐ ์ฑ๋ฅ ๊ฐ์ ์ MyBatis ์บ์๊ฐ ํจ๊ณผ์ ์กฐํ๊ฐ ํจ์ฌ ๋ ๋ง์ ํ ์ด๋ธ or Mapper๋ฅผ ํตํด์๋ง ๊ทธ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋๋ ๊ฒฝ์ฐ ์ ๋ณด ์์คํ ์์ ๋ณ๋ชฉ ์ง์ ์ ๋๋ถ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๊ฒ์ด ์ ๋ณด์์คํ ์ฑ๋ฅ์ ๊ด๊ฑด์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์บ์(cache)๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์์ ์์ฃผ ํฐ ๋์์ด ๋๋ค. Mybatis์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์บ์๋ mapper ๋ง๋ค ๋ฐ๋ก ์์ฑ๋๋ค. โจ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์บ์ ์ ์ฐจ mapper์ ์กฐํ ๋ฉ์๋๋ @select(…) ์ ์ ์๋ SELECT SQL ๋ช ๋ น์ DB์์ ์คํํ๋ค. ์กฐํ ๊ฒฐ๊ณผ๋ฅผ mapper์ ์บ์์ ์ ์ฅํ๋ค. ์บ์๋ HashMap ํํ์ ์.. 2022. 3. 10. [MySQL] LEFT JOIN / RIGHT JOIN / FULL OUTER JOIN / UNION LEFT JOIN student ํ ์ด๋ธ์ department ์ ์กฐ์ธ์ด ์๋ ๋ฐ์ดํฐ๋ ์ถ๋ ฅํ๋ค๋ ๋ป ( ์ฆ ์ผ์ชฝํ ์ด๋ธ) RIGHT JOIN department ํ ์ด๋ธ์ student ์ ์กฐ์ธ์ด ์๋ ๋ฐ์ดํฐ๋ ์ถ๋ ฅํ๋ค๋ ๋ป ( ์ฆ ์ค๋ฅธ์ชฝํ ์ด๋ธ) *mysql์์๋ FULL OUTER JOIN์ ์ง์ํ์ง ์์ต๋๋ค. BUT LEFT JOIN๊ณผ RIGHT JOIN์ UNIONํ์ฌ FULL OUTER JOIN์ ์ฌ์ฉํ ์ ์์ต๋๋ค. SELECT * FROM A LEFT JOIN B UNION SELECT * FROM A RIGHT JOIN B; ๐ก์ ๋์จ์ ๊ท์น ํ๋์ ORDER BY๋ง ์ฌ์ฉํ ์ ์๋ค. ๊ฐ SELECT์ ์ด์, ํํ์๊ฐ ๊ฐ์์ผ ํ๋ค. SELECT ๋ฌธ๋ค ๋ผ๋ฆฌ ์์๋ ์๊ด์๋ค. ์ ๋์จ์ ํ ๊ฒฐ๊ณผ๊ฐ ์ค๋ณต.. 2022. 3. 7. [Spring Boot] JPA ์ Mybatis ์ฅ/๋จ์ JPA ์ mybatis ๋น๊ต MySQL, Oracle, SQL Server ๋ฑ DBMS ์ ํ ๋ง๋ค SQL ๋ฌธ๋ฒ์ ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ค. ๊ทธ๋์ DBMS ์ ํ์ ๊ต์ฒดํ๋ ค๋ฉด, SQL ๋ฌธ์ฅ๋ ์์ ํด์ผ ํ๋ค. โจ JPA ์ฅ์ SQL ๋ช ๋ น์ ๊ตฌํํ ํ์๊ฐ ์๋ค. ๊ทธ๋์ DBMS ์ ํ์ ๊ต์ฒดํ๋๋ผ๋ ์์ค์ฝ๋๋ฅผ ์์ ํ ํ์๊ฐ ์๋ค. ์๋์ผ๋ก ์ฒ๋ฆฌ๋๋ ๋ถ๋ถ์ด ๋ง์์, ๊ตฌํํ ์์ค์ฝ๋์ ์์ด ์๋์ ์ผ๋ก ์ ๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋๋๋ผ๋ ์ ์ฉํ ์ ์๋ค. โจ JPA ๋จ์ ์ต์ํ์ง ์๋ค. ๋ณต์กํ ์กฐํ ๋ช ๋ น์ ๊ตฌํํด์ผ ํ ๋, ์ต์ํ SQL ๋ช ๋ น์ผ๋ก ๊ตฌํํ ์๊ฐ ์๊ณ , JPA์ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ๊ณต๋ถํด์ผ ํ๋ค. โจ MyBatis ์ฅ์ ์ต์ํ SQL ๋ช ๋ น์ผ๋ก ๊ตฌํํ ์ ์๋ค. SQL ๋ฌธ์ฅ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ ๊ตฌํํ๊ธฐ ๋๋ฌธ์, SQL .. 2022. 3. 7. TDD(Test-Driven-Development) ๋ฐฉ๋ฒ๋ก โฝTDD ๋ ๋ฌด์์ธ๊ฐ? -TDD๋ Test Driven Development ์ ์ฝ์๋ก 'ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ' ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฐ๋ณตํ ์คํธ๋ฅผ ์ด์ฉํ ์ํํธ์จ์ด ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ์์ ๋จ์์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ์ฌ ๊ตฌํํฉ๋๋ค. ์งง์ ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ๋ฐ๋ณต์ ์์กดํ๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ด๋ฉฐ ์ ์์ผ(Agile software development) ๋ฐฉ๋ฒ๋ก ์ค ํ๋์ธ eXtream Programming(XP)์ 'Test-First' ๊ฐ๋ ์ ๊ธฐ๋ฐ์ ๋ ๋จ์ํ ์ค๊ณ๋ฅผ ์ค์์ํ๋ค. ์ด ๊ธฐ๋ฒ์ ๊ฐ๋ฐํ๊ฑฐ๋ '์ฌ๋ฐ๊ฒฌ' ํ ๊ฒ์ผ๋ก ์ธ์ ๋๋ Kent Beck์ 2003๋ ์ TDD๊ฐ ๋จ์ํ ์ค๊ณ๋ฅผ ์ฅ๋ คํ๊ณ ์์ ๊ฐ์ ๋ถ์ด๋ฃ์ด ์ค๋ค๊ณ ๋งํ์๋ค. โฝTDD ๊ฐ๋ฐ์ฃผ๊ธฐ ๋จ๊ณ์์๋ ์คํจํ๋ ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ .. 2022. 3. 7. ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ด๋ ๋ฌด์์ธ๊ฐ? โฝ์ ์์ผ(Agile)์ด๋? agile : 1. ๋ ๋ ตํ, ๋ฏผ์ฒฉํ 2. (์๊ฐ์ด) ์ฌ๋น ๋ฅธ, ๊ธฐ๋ฏผํ 1. ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ์๋ ๊ฐ๋ฐ ์ง์นจ,์ฒ ํ์ ๊ฐ๊น๋ค. 2. ๋ณํ๋ฅผ ์์ฉํ๊ณ ํ์ ๊ณผ ์ ํ์ ๋น ๋ฅธ ์ธ๋๋ฅผ ๊ฐ์กฐํ๋ ๋ฐ๋ณต์ ๊ฐ๋ฐ ๋ฐฉ๋ฒ 3. ๋ฌธ์ํ๋ณด๋ค ์ฝ๋, ํ๋ก๊ทธ๋จ, ์ํํธ์จ์ด ์์ฒด๋ฅผ ์ค์์ ํ๋ค. 4. ์๊ตฌ์ฌํญ์ ๋ณํ๋ ๋ถ๊ฐํผํ๋ฉฐ ์ด์ ๋์ํ๋ ๊ฒ์ด ํ์ค์ ์ด๋ค. 5. ํ๊ฒฝ์ ๋น ๋ฅธ ๋ณํ์ ๋์ํ๋ ๊ฒ์ด ์ค์ํ๋ค. 1.์ ์์ผ ๋ฐฉ๋ฒ๋ก - ์ต์คํธ๋ฆผ ํ๋ก๊ทธ๋๋ฐ (Extreme Programming,XP) 1. ์ข์์ค์ฒ ์ง์นจ๋ค(good practices) ์ ๊ทน์ ์ผ๋ก ์ ์ฉ 2. XP์ ์ค์ฒ ์ง์นจ โ ์๊ณ ๋น๋ฒํ ๋ฆด๋ฆฌ์ฆ - ๋น ๋ฅธ ํผ๋๋ฐฑ๊ณผ ์ง์์ ์ธ ๊ฐ์ โ ๊ณ ๊ฐ๋ ๊ฐ๋ฐ ํ์ ์ผ์ โ ํ๋ก์ธ์ค.. 2022. 3. 7. ์ด์ 1 ยทยทยท 25 26 27 28 29 30 31 ๋ค์ 728x90 300x250