๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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.
728x90
300x250

์ฝ”๋“œ