Spring_boot

Spring Boot Spring boot๋Š” ์„œ๋ฒ„ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋„๊ตฌ๋กœ, spring ํ”„๋ ˆ์ž„์›Œํฌ์— ํŽธ์˜์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚จ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. Java, Kitlin, Groovy ๋“ฑ์˜ ์–ธ์–ด๋กœ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐœ๋ฐœํ™˜๊ฒฝ java ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ์— jdk ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. (22๋…„ ๊ธฐ์ค€) 11๋ฒ„์ „ ์ด์ƒ์„ ๋‹ค์šด๋ฐ›๋Š”๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. IDE vs code๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ™•์žฅํŒจํ‚ค์ง€๋กœ โ€˜Java Extension Packโ€™ ๊ณผ โ€˜Spring Boot Extension Packโ€™ ์„ ์„ค์น˜ํ•œ๋‹ค. java ๊ฐœ๋ฐœ์„ ์œ„ํ•œ eclips๋‚˜ intelliJ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค. spring ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ start.spring.io ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€๋ฉด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” UI๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์›ํ•˜๋Š”๋Œ€๋กœ ์„ค์ • ํ›„ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. gradle ์„ค์น˜ https://gradle.org/releases/ ์ฃผ์†Œ์—์„œ gradle ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๋Š”๋‹ค. ์ดํ›„ path ์„ค์ •์„ ๋งˆ์นœ ํ›„, ํ”„๋กœ์ ํŠธ root directory์—์„œ gradle wrapper ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•ด gradlewํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. ๊ธฐ๋ณธ ์„ค์ • ํฌํŠธ ์„ค์ • application.properties (ํ˜น์€ yml)ํŒŒ์ผ์„ ์—ด๊ณ , server.port = 8080 ์™€ ๊ฐ™์ด ๊ธฐ์ž…ํ•˜๋ฉด ๋™์ž‘ ํฌํŠธ๋ฅผ 8080์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. devtools ์„ค์ • ์ •์  ํŒŒ์ผ๋“ค์„ ๊ฐฑ์‹ ํ–ˆ์„ ๋•Œ, ์„œ๋ฒ„ ์žฌ์‹คํ–‰ ์—†์ด explorer๋งŒ reload ํ•ด ์ฃผ๋ฉด ๋ณ€๊ฒฝ์ ์ด ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ...

<span title='2022-05-30 19:20:23 +0900 KST'>May 30, 2022</span>&nbsp;ยท&nbsp;9 min&nbsp;ยท&nbsp;AswinBlue

Spring basic

Spring basic ์„ค์น˜ spring CLI๋ฅผ ์„ค์น˜ํ•œ๋‹ค. ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„์„œ ์›ํ•˜๋Š” ๊ณณ์— ์••์ถ•์„ ํ‘ผ ํ›„ PATH์„ค์ •์„ ํ•ด ์ฃผ๋Š”๊ฒŒ ๋น ๋ฅด๋‹ค. ์ฐธ์กฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ CLI๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด ๋ณด์ž. spring init --build=gradle -d=web -a=myApp -g=com.aswin.blue [location] --build=gradle ๊ธฐ๋ณธ์œผ๋กœ maven์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ gradle๋กœ ์„ค์ • ๊ฐ€๋Šฅํ•˜๋‹ค. -d=web dependency๋ฅผ web์œผ๋กœ ์„ค์ • -a=myApp artifactId, ์ฆ‰ project๋ช…์„ ์„ค์ •ํ•œ๋‹ค. -g=com.aswin.blue ๊ทธ๋ฃน ๋ช…์„ ์„ค์ •ํ•œ๋‹ค. [location] ์ƒ์„ฑํ•  ํด๋”๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์—†์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑํ•œ๋‹ค. ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด zip ํ˜•ํƒœ๋กœ ์••์ถ•ํ•ด์„œ ์ƒ์„ฑํ•œ๋‹ค. ์„ค์ • maven์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด pom.xml์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ์ข… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด dependency์™€ repository ์„ค์ •์„ํ•ด ์ค˜์•ผ ํ•œ๋‹ค. โ€œhttps://mvnrepository.com/" ์ฃผ์†Œ์ฒ˜๋Ÿผ maven repository๋ฅผ ์ •๋ฆฌํ•ด ๋†“์€ ์‚ฌ์ดํŠธ์—์„œ ์›ํ•˜๋Š” repository๋ฅผ ์ฐพ์•„์„œ dependency๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. repository ์ถ”๊ฐ€์‹œ compile dependency๋ฅผ ํ™•์ธํ•˜๊ณ  ์ถ”๊ฐ€๋กœ pom.xml์„ ์ž‘์„ฑํ•œ๋‹ค. maven ์‚ฌ์ดํŠธ๋ณด๋‹ค๋Š” github์˜ readme๋ฅผ ๋” ์‹ ์šฉํ•˜์ž, maven ์‚ฌ์ดํŠธ ์—…๋ฐ์ดํŠธ๊ฐ€ ์•ˆ๋ผ์„œ ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋„ ์žˆ๋‹ค. ์‹คํ–‰ maven ํ”„๋กœ์ ํŠธ์˜ ์‹คํ–‰์—๋„ maven์ด ์‚ฌ์šฉ๋œ๋‹ค. mvn -X clean install exec:java -Dexec.args="" ๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. -X ๋Š” ๋””๋ฒ„๊น… ๋กœ๊ทธ ์ถœ๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค. -Dexec.args= ๋Š” main ํ•จ์ˆ˜์˜ argv๋ฅผ ์„ค์ •ํ•œ๋‹ค. ...

<span title='2021-08-23 19:21:55 +0900 KST'>August 23, 2021</span>&nbsp;ยท&nbsp;1 min&nbsp;ยท&nbsp;AswinBlue

Jython

Jython Java ํ™˜๊ฒฝ์—์„œ python์„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜ ์—ญ์œผ๋กœ Jython ํ™˜๊ฒฝ์—์„œ java๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๊ธฐ๋„ ํ•˜๋‹ค. spring์—์„œ jython์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฌ˜์‚ฌํ•˜๊ฒ ๋‹ค. ์„ค์น˜ pom.xml์— ์˜์กด์„ฑ์„ ์ž‘์„ฑํ•œ๋‹ค. pom์„ ์‚ฌ์šฉํ•˜๋ฉด jython์„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  ์ผ๋ถ€ ๋™์ž‘์ด ์‹คํ–‰๋˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์™ธ๋ถ€ ๋ชจ๋“ˆ ์‚ฌ์šฉ์—๋Š” ์ œํ•œ์ ์ธ ๋ถ€๋ถ„์ด ์žˆ๊ธฐ์— ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋ฉด ์„ค์น˜๋ฅผ ํ•ด์•ผํ•œ๋‹ค. <!-- https://mvnrepository.com/artifact/org.python/jython --> <dependency> <groupId>org.python</groupId> <artifactId>jython</artifactId> <version>2.7.0</version> </dependency> ์‹คํ–‰ PythonInterpreter ์„ ์„ ์–ธํ•œ๋‹ค. ์ดํ›„ execfile, exec ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ python ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. PythonInterpreter jython; jython.execfile(PYTHON); jython.exec("print(1+1)"); execfile๋กœ ํŠน์ • ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์˜€๋‹ค๋ฉด ๊ทธ ์•„๋ž˜์— ์žˆ๋Š” execํ•จ์ˆ˜์—์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

<span title='2021-08-23 19:20:47 +0900 KST'>August 23, 2021</span>&nbsp;ยท&nbsp;1 min&nbsp;ยท&nbsp;AswinBlue