Python ๊ธฐ์ดˆ

Python ๊ธฐ๋ณธ ๋‚ด์žฅ ํ•จ์ˆ˜ ์ž…๋ ฅ ํ•œ์ค„ ๋ฐ›๊ธฐ : a = input() ๋ฐ›์€ ๊ฐ’์€ string ํ˜•ํƒœ์ด๋‹ค. ๋ฐ›์€ ๋‹จ์–ด ๋Š์–ด์„œ ํ•ด์„ : a, b = input().split() split() ํ•จ์ˆ˜ ์•ˆ์˜ ์ธ์ž์— ๋”ฐ๋ผ ๊ตฌ๋ถ„์ž ์„ค์ • ๊ฐ€๋Šฅ. ๋นˆ์นธ์ด๋ฉด ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋Š์–ด์คŒ ๋ฐ›์€ ๋‹จ์–ด ๋Š๊ณ  ์ˆซ์ž๋กœ ๋ณ€ํ™˜ : a, b = map(int, input().split()) int ์™ธ ๋‹ค๋ฅธ ํ˜•ํƒœ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ถœ๋ ฅ print() ์™€ sys.stdout.write() ๋กœ ํ™”๋ฉด์— ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. sys.stdout.write ์•ˆ์—๋Š” string ํ˜•ํƒœ๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. print ์•ˆ์—๋Š” ์ˆ˜์‹ ๋“ฑ์œผ๋กœ string ๋ฐ byte๋ฅผ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. sys.stdout.buffer.write() ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์„ ์ˆ˜์‹์„ ํ†ตํ•ด ์กฐํ•ฉํ•˜๊ณ  ascii ์ฝ”๋“œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•˜๋‹ค. print() ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด prefix๊ฐ€ ๋ถ™์–ด์„œ ์›ํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ์ด๋Ÿด ๋•Œ sys.stdout.buffer.write()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ex) sys.stdout.write(b'A'*0x10 + b'B'*0x20 + b'\xaa\ xbb\xcc\xdd\x00\x00\x00\x00') # ๊ฒฐ๊ณผ: AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ sys.stdout.write(b'A'*0x10 + b'B'*0x20 + b'\xaa\ xbb\xcc\xdd\x00\x00\x00\x00โ€™) # ๊ฒฐ๊ณผ: bโ€™AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\xaa\xbb\xcc\xdd\x00\x00\x00\x00โ€™ ``` ...

<span title='2021-09-01 18:49:18 +0900 KST'>September 1, 2021</span>&nbsp;ยท&nbsp;2 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

React basic

React basic ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ค์น˜ ๋ฐ ์‹คํ–‰ node.js ๋กœ ๋งŒ๋“ค์–ด์ง„ create-react-app ํˆด์„ ์ด์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ react ์•ฑ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. npm์„ ์„ค์น˜ํ•˜๊ณ  ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ create-react-app์„ ์„ค์น˜ํ•œ๋‹ค. npm install -g create-react-app ์›ํ•˜๋Š” ๊ฒฝ๋กœ์— ๋“ค์–ด๊ฐ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. create-react-app <NAME> : NAME ๊ฒฝ๋กœ์— ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์ฃผ์˜ : ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ํด๋”๋ช…์€ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์‹คํ–‰ npm run start ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด localhost:3000์—์„œ ์›นํŽ˜์ด์ง€๋ฅผ ํผ๋ธ”๋ฆฌ์‹ฑํ•œ๋‹ค. ๊ธฐ๋ณธ ์„ค์ • ์‹คํ–‰ ํฌํŠธ package.json ํŒŒ์ผ์—์„œ "proxy": "http://localhost:3000/" ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด ์‹คํ–‰์‹œ ํฌํŠธ๋ฅผ 3000์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ /public/index.html ์—์„œ ๊ธฐ๋ณธ ํ™”๋ฉด ๊ตฌ์„ฑ โ€˜rootโ€™ ์ด๋ฆ„์œผ๋กœ ๋œ division์ด ์žˆ๋Š”๋ฐ, ์ด division์— ๋Œ€ํ•œ ์„ค์ •์€ javascript๋กœ ์ •์˜๋˜์–ด์žˆ๋‹ค. src ๊ฒฝ๋กœ์— javascriptํŒŒ์ผ๋“ค ๊ตฌ์„ฑ โ€˜index.jsโ€™ ์— ๋ฉ”์ธ ํ™”๋ฉด์— ์‚ฌ์šฉ๋œ ๊ฐ์ฒด๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค. ์•„๋ž˜ ๋‚ด์šฉ์€ id๊ฐ€ โ€˜rootโ€™ ์ธ division์— โ€˜Appโ€™์„ ์ ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ...

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