๋กœ์ผ“๐Ÿพ
article thumbnail
[Java] ์ž๋ฐ” static์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ๋ฒ•
... 2021. 6. 6. 21:53

์ •์ (Static)์ด๋ž€? ์ •์ (static)์€ ๊ณ ์ •๋œ์ด๋ž€ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Static์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Static๋ณ€์ˆ˜์™€ Static๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ ๋‹ค๋ฅธ๋ง๋กœ ์ •์ ํ•„๋“œ์™€ ์ •์  ๋ฉ”์†Œ๋“œ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ์ด ๋‘˜์„ ํ•ฉ์ณ ์ •์  ๋ฉค๋ฒ„๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (ํด๋ž˜์Šค ๋ฉค๋ฒ„๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.) ์ •์  ํ•„๋“œ์™€ ์ •์  ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)์— ์†Œ์†๋œ ๋ฉค๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ผ ํด๋ž˜์Šค์— ๊ณ ์ •๋œ ๋ฉค๋ฒ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ ํด๋ž˜์Šค๋ฅผ ๋กœ๋”ฉํ•ด์„œ ๋ฉ”์†Œ๋“œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ ์žฌํ• ๋•Œ ํด๋ž˜์Šค๋ณ„๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋ž˜์Šค์˜ ๋กœ๋”ฉ์ด ๋๋‚˜๋Š” ์ฆ‰์‹œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •์ (Static) ๋ฉค๋ฒ„ ์ƒ์„ฑ Static ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์ •์ ๋ฉค๋ฒ„๋“ค์€ Heap์˜์—ญ์ด ์•„๋‹Œ Static์˜์—ญ์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. Static ์˜์—ญ์— ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๊ณต..

article thumbnail
์™œ ๊ฐœ๋ฐœ์ž๋Š” ์ž˜๋ชป๋œ ๊ธฐ์ˆ  ์„ ํƒ์„ ๋ฐฅ ๋จน๋“ฏ์ด ํ•˜๋‚˜?
... 2021. 6. 5. 19:02

๊ฐœ๋ฐœ ์ด์Šˆ๊ฐ€ ๋Œ€๋ถ€๋ถ„ ๊ทธ๋ ‡์ง€๋งŒ, ๊ธฐ์ˆ ์ ์ธ ์ธก๋ฉด๋ณด๋‹ค ์˜์™ธ๋กœ ์˜์‚ฌ์†Œํ†ต ๋ฌธ์ œ ๊ฐ™์€ ์ธ์  ์š”์†Œ๊ฐ€ ์›์ธ์ด ๋  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์บ๋ฆฌ ํ”Œ๋ฆฌ์ฒผ์€ "์™œ ๊ฐœ๋ฐœ์ž๋Š” ์ž˜๋ชป๋œ ๊ธฐ์ˆ  ์„ ํƒ์„ ๋ฐฅ ๋จน๋“ฏ์ด ํ•˜๋‚˜?"๋ผ๋Š” ์ œ๋ชฉ์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€์—์„œ ๊ทธ ์›์ธ์„ ๋‹ค์„ฏ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์€ ์™œ ๊ฐœ๋ฐœ์ž๋Š” ์ž˜๋ชป๋œ ๊ธฐ์ˆ  ์„ ํƒ์„ ๋ฐฅ ๋จน๋“ฏ์ด ํ•˜๋‚˜? ์™€ Optimizing Java ๋ผ๋Š” ์„œ์ ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ง€๋ฃจํ•จ ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€๋ถ€๋ถ„ ์ž๊ธฐ ์—ญํ• ์— ์ง€๋ฃจํ•จ์„ ๋Š๋ผ๊ณ  ๋ญ”๊ฐ€ ์ƒˆ๋กญ๊ณ  ๋„์ „์ ์ธ ์ผ์„ ์ฐพ์•„ ๊ฐ™์€ ํšŒ์‚ฌ ๋˜๋Š” ์•„์˜ˆ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋– ๋‚  ๊ถ๋ฆฌ๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ๋‚ด์— ๋”ฑํžˆ ๋งˆ๋•…ํ•œ ๊ธฐํšŒ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํšŒ์‚ฌ๋กœ ์ด์งํ•˜๋Š” ๊ฒŒ ์—ฌ์˜์น˜ ์•Š์„ ๋•Œ๋„ ์žˆ๊ฒ ์ฃ . ๋ฌผ๋ก , ์ง€๋ฃจํ•œ ์ผ์ƒ์„ ์ž˜ ์ฐธ๊ณ  ๊ฒฌ๋”œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์™ธ๋ ค ๋” ์‰ฝ๊ณ  ํŽธ..

article thumbnail
[Java] ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒํด๋ž˜์Šค
... 2021. 6. 1. 20:27

์ถ”์ƒํด๋ž˜์Šค๋Š” abstarct๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋Š” interface๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ธ์ œ ์ถ”์ƒํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์–ธ์ œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋งˆ ๋งŽ์€ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์ด ๋ช…์พŒํ•œ ๋‹ต์„ ๋‚ด๋†“์ง€ ๋ชปํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ € ๋˜ํ•œ ์ถ”์ƒํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ ์ ˆํ•œ ์‚ฌ์šฉ ์šฉ๋„๋ฅผ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๊ฐœ๋ฐœ์„ ํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ์ถ”์ƒํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ƒํด๋ž˜์Šค ์ถ”์ƒํด๋ž˜์Šค๋Š” ์ผ๋ฐ˜ํด๋ž˜์Šค์™€ ๋ณ„๋ฐ˜ ๋‹ค๋ฅผ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€, ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ƒ์†์„ ํ†ตํ•˜์—ฌ ์ž์† ํด๋ž˜์Šค์—์„œ ์™„์„ฑํ•˜๋„๋ก ์œ ๋„ํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฏธ์™„์„ฑ ์„ค๊ณ„๋„๋ผ๊ณ ๋„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. public abstract class ํด๋ž˜์Šค์ด๋ฆ„{ public..

article thumbnail
[AWS] EC2๋ฅผ ์ด์šฉํ•˜์—ฌ Node.js ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ
... 2021. 5. 23. 18:24

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” AWS EC2๋ฅผ ์ด์šฉํ•˜์—ฌ Node.js๋ฅผ ๋ฐฐํฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ๋ฅผ ํ•ด๋ณด์‹œ์ง€ ์•Š์•˜๋‹ค๋ฉด ์กฐ๊ธˆ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. AWS EC2 ์‹œ์ž‘ํ•˜๊ธฐ EC2 ๊ฐ™์€ ๊ฒฝ์šฐ S3์™€ ๋‹ค๋ฅด๊ฒŒ ๋น„์šฉ์ด ๊ฝค ๋‚˜์˜ต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•„์š”ํ•  ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ฐ˜๋“œ์‹œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ ๊ฒฝ์šฐ ์ฒญ๊ตฌ์„œ ๋ณด๊ณ  ์ €์ฒ˜๋Ÿผ ๊นœ์ง ๋†€๋ž๋‹ˆ๋‹ค ใ…œใ…œ AWS EC2์— ์ ‘์†ํ•˜๊ณ , ์ธ์Šคํ„ด์Šค ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ์— 18.04 ๋ฒ„์ „์˜ ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ ํƒํ•ด์ค๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ์œ ํ˜• ์„ ํƒ์—์„œ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ฒดํฌํ•˜๊ณ  ๊ฒ€ํ†  ๋ฐ ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์ญ‰์ญ‰ ๋„˜์–ด์™€์„œ 7๋‹จ๊ณ„์—์„œ ๋ณด์•ˆ ๊ทธ๋ฃน ํŽธ์ง‘์„ ํด๋ฆญํ•ด์ค๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์šฉ์ด๊ธฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ „์„ธ๊ณ„ ๋ˆ„๊ตฌ๋‚˜ ์•„๋ฌด ๊ณณ์—์„œ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒ€ํ†  ๋ฐ ์‹œ์ž‘ ..

article thumbnail
[Java] ์ž๋ฐ”์˜ ๋™์ž‘๊ณผ์ • Java Compiler์™€ JVM
... 2021. 5. 11. 14:12

์ดํด๋ฆฝ์Šค์—์„œ *.java๋ฅผ ๋‹จ์ถ•ํ‚ค ๋ˆŒ๋Ÿฌ์„œ ์‹คํ–‰์‹œํ‚ฌ ์ค„๋งŒ ์•Œ์•˜์ง€ *.java ํŒŒ์ผ์ด ์–ด๋– ํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ ์‹คํ–‰์ด ๋˜๋Š”์ง€๋Š” ์•Œ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์–ด๋–ค ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์–ด๋””์„œ ๋งŽ์ด ๋“ค์–ด๋ณธ JVM์€ ๋ฌด์—‡์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ์ž๋ฐ”์—์„œ *.java๋ฅผ ์–ด๋–ป๊ฒŒ ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰์‹œํ‚ค๋Š” ์ง€์— ๋Œ€ํ•œ ๊ณผ์ •์„ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด๋‚˜ ์งˆ๋ฌธ ์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“ ์ง€ ๋ง์”€ํ•ด์ฃผ์„ธ์š” :) ์ „์ฒด์ ์ธ ์ž๋ฐ”์˜ ์‹คํ–‰๊ณผ์ • ์œ„ ๊ทธ๋ฆผ์€ ์ „์ฒด์ ์ธ ์ž๋ฐ”์˜ ์‹คํ–‰๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๋” ๊นŠ์ˆ™์ด ํŒŒ๊ณ ๋“ค๋ฉด ์ด๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์€ ๊ฒƒ๋“ค์ด ์กด์žฌํ•˜์ง€๋งŒ, ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด์ •๋„๋งŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌํ‚ค์›Œ๋“œ *Java Compiler , *JVM , *Interpreter , *JIT compiler Java Compiler with binar..

article thumbnail
[CA] ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๊ณผ ๋ฐ”์ดํŠธ ํŒŒ์ผ ๊ทธ๋ฆฌ๊ณ  ์ปดํŒŒ์ผ, ๋งํฌ
... 2021. 5. 10. 11:43

์ž๋ฐ”์˜ ์ž‘๋™์›๋ฆฌ๋ฅผ ๊ณต๋ถ€ํ•˜๋˜ ์ค‘ ๋ฐ”์ดํŠธ ํŒŒ์ผ๊ณผ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์˜ ๊ฐœ๋…์„ ์ˆ™์ง€ํ•ด์•ผ๋˜์„œ ๊ด€๋ จ ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Complie๊ณผ Link C์–ธ์–ด๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์†Œ์ŠคํŒŒ์ผ(*.c)์ด ๋ชฉ์ ํŒŒ์ผ(*.obj)๋กœ ๋ณ€ํ™˜๋  ๋•Œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ , ์ฆ‰ 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋ชฉ์ ํŒŒ์ผ์€ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ์˜ ํ˜•ํƒœ์ด์ง€๋งŒ ์‹คํ–‰๋  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์™„์ „ํ•œ ๊ธฐ๊ณ„์–ด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. *์†Œ์ŠคํŒŒ์ผ : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ๊ณ ๋ ˆ๋ฒจ์–ธ์–ด์ธ ์†Œ์Šค์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ๋œ ํŒŒ์ผ ex. *.java, *.py *๋ชฉ์ ํŒŒ์ผ : ์†Œ์ŠคํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด์„œ ์ƒ๊ธด ํŒŒ์ผ ex. ๋ฐ”์ดํŠธ์ฝ”๋“œ, ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ ์ปดํŒŒ์ผ๋Ÿฌ ์— ์˜ํ•ด ๋ณ€ํ™˜๋œ ๋ชฉ์ ํŒŒ์ผ์€ ๋ง์ปค ์— ์˜ํ•ด ์‹คํ–‰๊ฐ€๋Šฅํ•œ ์‹คํ–‰ํŒŒ์ผ(*.exe)๋กœ ๋ณ€ํ™˜๋  ๋•Œ ํ•จ์ˆ˜๋‚˜ ํ—ค๋” ํŒŒ์ผ ๋“ฑ์˜ ์‹ค์ œ ๋ฉ”๋ชจ..

article thumbnail
[JS]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋™์ž‘์˜ ์‚ผ์œ„์ผ์ฒด! - V8, Web API, Event Loop
... 2021. 5. 3. 23:29

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ์ฒ˜์Œ์—๋Š” ๊ทธ์ € ์ฝ”๋“œ ์งœ๊ธฐ์—๋งŒ ๊ธ‰๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์–ธ์–ด์˜ ์ž‘๋™์›๋ฆฌ ๊ฐ™์€ ๊ฑด ๋ด๋„ ๋„๋ฌด์ง€ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ”๊ธฐ์— ๊ด€์‹ฌ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ ์ฐจ ํ˜๋Ÿฌ ์šฐ์—ฐํžˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ž‘๋™์›๋ฆฌ ๊ด€๋ จ ๊ธ€์„ ๋‹ค์‹œ ๋ณด๊ฒŒ๋˜์—ˆ๋Š”๋ฐ ๊ธ€์ด ์–ด๋ ต์ง€ ์•Š๊ณ  ์ดํ•ด๊ฐ€ ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. "๊ทธ๋•Œ ์ž‘์„ฑํ–ˆ๋˜ ์ฝ”๋“œ๊ฐ€ ์ด๋ž˜์„œ ์ด๋Ÿฐ์‹์œผ๋กœ ์ž‘๋™ํ–ˆ๊ตฌ๋‚˜" ๋ฅผ ๊นจ๋‹ฌ์œผ๋ฉด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ๊ฒŒ ๋˜๊ณ  ๋‚˜๋‹ˆ ํ•œ์ธต ๋” ์ฝ”๋”ฉ์ด ์žฌ๋ฏธ์žˆ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ž‘๋™์›๋ฆฌ์— ์žˆ์–ด ํ•ต์‹ฌ ์›๋ฆฌ์ธ JavasScript Engine(V8), Web API, Callback Queue, ์ด๋ฒคํŠธ ๋ฃจํ”„ ๊ทธ ์ค‘ ํŠนํžˆ ์ด๋ฒคํŠธ ๋ฃจํ”„ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด๋‚˜ ์งˆ๋ฌธ ์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€๋กœ..

article thumbnail
[OS] ๋” ์ด์ƒ ์–ด๋ฒ„๋ฒ„ํ•˜์ง€๋ง์ž!! ์Šค๋ ˆ๋“œ์™€ ํ”„๋กœ์„ธ์Šค
... 2021. 4. 26. 22:35

๋ˆ„๊ตฐ๊ฐ€ ์ €์—๊ฒŒ ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ๋ฌผ์—ˆ๋˜ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋ช…ํ™•ํ•˜๊ฒŒ ๋Œ€๋‹ต์„ ๋ชปํ•œ๊ฒŒ ๋„ˆ๋ฌด ์•„์‰ฌ์›Œ์„œ ์ด ์ฐธ์— ํ™•์‹คํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ ค ์ด ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋…๋“ค์ด ํŒŒ๊ณ ํŒŒ๊ณ  ๋“ค๋ฉด ๋ฐ‘๋„ ๋๋„ ์—†๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ด ๊ธ€์„ ์ดํ•ดํ•˜๋Š”๋ฐ ์žˆ์–ด ๊ตณ์ด ๋ถˆํ•„์š”ํ•œ ๊ฐœ๋…๋“ค์— ๋Œ€ํ•ด์„  ์–ธ๊ธ‰ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๋Š” ๋ฌด์—‡์ผ๊นŒ? #ํ”„๋กœ์„ธ์Šค(Process)๋ž€? ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์ „์— ํ”„๋กœ๊ทธ๋žจ์ด๋ž€ ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด๋ž€ ๋‹จ์–ด๋Š” ์ปดํ“จํ„ฐ์ „๊ณต์ž๊ฐ€ ์•„๋‹ˆ์—ฌ๋„ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์ด ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๊ณ  ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋„ ํ•˜๋Š” ๋‹จ์–ด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์€ ์–ด๋–ค ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”ํƒ•ํ™”๋ฉด์— LoL.exe , Visual Studio.exe ๊ฐ™์€ ํŒŒ์ผ๋“ค์ด ์žˆ๋Š”๋ฐ ์ด๊ฒƒ๋“ค์ด ํ”„..

article thumbnail
[Python] list(๋ฆฌ์ŠคํŠธ)์˜ ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ
... 2021. 4. 25. 21:28

๋ฆฌ์ŠคํŠธ ๋ณต์‚ฌํ•˜๊ธฐ ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๋ฅผ ๋‹ด๋Š” ๊ทธ๋ฆ‡์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๋ฉด ๋‘ ๋ณ€์ˆ˜๋Š” ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๋‘ ๊ฐœ์˜ ์ด๋ฆ„์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด์ง€ ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ๋‘ ๊ฐœ๊ฐ€ ๋œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๋ณ€ํ˜• ๊ฐ์ฒดimmutable object์—์„œ๋Š” ํ•œ ๋ณ€์ˆ˜์— ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ž…ํ•ด๋„ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์ง€๋งŒ, ๋ฆฌ์ŠคํŠธ ๊ฐ™์€ ๋ณ€ํ˜• ๊ฐ์ฒดmutable object์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์žฅ์ ์ด ๋˜๊ธฐ๋„ ํ•˜๊ณ , ๋‹จ์ ์ด ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์—ฌ๊ธฐ๊นŒ์ง€ ์ฝ”๋“œ๋กœ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. >>> mu_a = [2020, 'year'] >>> mu_b = mu_a >>> mu_b.append(['hi', 'hello']) >>> mu_a [2020, '..

article thumbnail
[Node.js] uuid ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 4. 12. 16:43

UUID๋Š” Universally Unique IDentifier์˜ ์•ฝ์ž๋กœ, ์ „์„ธ๊ณ„์— ํ•˜๋‚˜๋ฐ–์— ์—†๋Š” ID๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ID๋Š” ๊ณ ์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๋“ค์— UUID๋ฅผ ๋ถ™์—ฌ์„œ ๊ตฌ๋ถ„ํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฉด์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UUID๊ฐ€ ๊ฒน์น˜๋ฉด ์–ด์ฉŒ์ง€? ์ด ๊ธ€์€ koreanhole ๋‹˜์˜ ๊ธ€์ž…๋‹ˆ๋‹ค. Intro ์ตœ๊ทผ UOS๊ณต์ง€์‚ฌํ•ญ ์•ฑ์˜ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๊ต์ฒดํ•˜๋Š” ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Firebase์˜ Firestore๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ์ƒˆ๋กญ๊ฒŒ Nestjs๋กœ ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜๋Š” kingofbackend.tistory.com ์„ค์น˜ $ npm install uuid uuid ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ install ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜ UUID๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. v1: ํƒ€์ž„์Šคํƒฌํ”„(์‹œ๊ฐ„) ๊ธฐ..

article thumbnail
Node.js์— ๊ด€ํ•œ 10๊ฐ€์ง€ ํ›„ํšŒ - ๋ผ์ด์–ธ ๋‹ฌ๊ณผ Deno.js
... 2021. 4. 11. 22:25

Node.js๋ฅผ ๊ฐœ๋ฐœํ•œ ๋ผ์ด์–ธ ๋‹ฌ(Ryan Dahl) ์€ ์ง€๋‚œ 2018๋…„ 6์›” Javascript ์ตœ๋Œ€ ์ฝ˜ํผ๋Ÿฐ์Šค์ธ JSConf 2018์—์„œ 10 Things I Regret About Node.js ์„ ๋ฐœํ‘œํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ Node.js๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ƒ๊ฒผ๋˜ ํ›„ํšŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ƒˆ๋กœ์šด ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋Ÿฐํƒ€์ž„์ธ Deno.js๋ฅผ ๋ฐœํ‘œํ•˜์˜€์Šต๋‹ˆ๋‹ค. (Node์—์„œ de๋ฅผ no ์•ž์— ์“ด๊ฑด๋ฐ ์ด๊ฑฐ ๋ˆˆ์น˜์ฑ„๊ณ  ์†Œ๋ฆ„์ด.. ) ๋ผ์ด์–ธ ๋‹ฌ์€ Node.js ๋งŒ๋“ค๋ฉด์„œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ HTTP ์„œ๋ฒ„(Event driven HTTP server)์— ์ƒ๋‹นํžˆ ๋งŽ์€ ์‹ฌํ˜ˆ์„ ๊ธฐ์šธ์˜€์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ Node.js๋ฅผ ๋งŒ๋“ค๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ์ด ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ HTTP ์„œ๋ฒ„๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” ์—ฌ์ „ํžˆ Node๋Š” ์ข‹์€ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋Ÿฐํƒ€์ž„์ด๋ผ๊ณ  ๋ง..

article thumbnail
[JavaScript] ๊ธฐ๋‹ค๋ ค! ๋จน์–ด! async/await ์ดํ•ดํ•˜๊ธฐ
... 2021. 3. 28. 12:14

์šฐ๋ฆฌ๋Š” ๋ญ‰์น˜์—๊ฒŒ ๊ธฐ๋‹ค๋ ค! ๋จน์–ด! ํ›ˆ๋ จ์„ ๊ต์œก์‹œํ‚ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ญ‰์น˜์˜ ๋‹ค๋ฆฌ์— ๊ฐ„์‹์„ ์˜ฌ๋ ค๋†“๊ณ  ๋จน์–ด!๋ผ๊ณ  ํ–ˆ์„ ๊ฒฝ์šฐ ๋ญ‰์น˜๊ฐ€ ๊ฐ„์‹์„ ๋จน์—ˆ์œผ๋ฉด ํ•˜๋Š”๋ฐ ๋ญ‰์น˜๋Š” ์ฃผ์ธ์˜ ๋ช…๋ น์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ (๋น„๋™๊ธฐ ๋ฐฉ์‹ ๋ฌธ์ œ) ์ œ๋ฉ‹๋Œ€๋กœ ๊ฐ„์‹์„ ๋จน์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค...๋ญ‰์น˜์—๊ฒŒ ํ›ˆ๋ จ(์ผ๋ฐ˜ ์ฝœ๋ฐฑํ•จ์ˆ˜)์„ ์‹œ์ผœ๋ณด์•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ญ‰์น˜๋Š” ๋ง์„ ๋“ฃ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ญ‰์น˜๋Š” ๋ง๋ชปํ•˜๋Š” ๊ฐ•์•„์ง€๋ผ ํ˜ผ๋‚ผ ์ˆ˜๋„ ์—†๊ณ  ์šฐ๋ฆฌ๋Š” ๋‚œ์ฒ˜ํ•œ ์ƒํ™ฉ์— ๋น ์ ธ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹คใ… ใ…  ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋” ์‰ฌ์šด ํ›ˆ๋ จ๋ฐฉ๋ฒ•(async/await)์œผ๋กœ ๋ญ‰์น˜๋ฅผ ๊ต์œก์‹œํ‚ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค!! # ๋น„๋™๊ธฐ์™€ ๋™๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ถ„๋ช… ๋กœ์ง์€ ๋งž๊ฒŒ ์ง ๊ฑฐ ๊ฐ™์€๋ฐ ๊ฒฐ๊ณผ๊ฐ’์ด undefined ์ด๊ฑฐ๋‚˜ ์•Œ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์‹ญ์ค‘ํŒ”๊ตฌ ๋น„๋™๊ธฐ ๋ฌธ์ œ๋ฅผ ์˜์‹ฌํ•ด..

article thumbnail
[Server] ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ(Load Balancer)๋Š” ์™œ ํ•„์š”ํ• ๊นŒ?
... 2021. 3. 15. 16:55

์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์†์— ์‚ด๊ณ  ์žˆ๋‹คํ•ด๋„ ๊ณผ์–ธ์ด ์•„๋‹๋งŒํผ ๊ณผ๊ฑฐ์— ๋น„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋“ค์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚ฌ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ๊ธฐ์—…์ด๋‚˜ ๊ฐœ์ธ์˜ ๋ชจ๋‘ ์†Œ์ค‘ํ•œ ์ž์‚ฐ ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์—†์ธ ์‚ด ์ˆ˜ ์—†๊ณ , ์•ž์œผ๋กœ๋„ ๊ทธ๋Ÿด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐฉ๋Œ€ํ•ด์ง€๋ฉด์„œ ์•„๋ฌด๋ฆฌ ์ข‹์€ ์„œ๋ฒ„๋ผ๊ณ  ํ•ด๋„ ์ด๋ฅผ ์ˆ˜์šฉํ•˜๋Š”๋ฐ ์žˆ์–ด ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ๊ทœ๋ชจ๊ฐ€ ํฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํšŒ์‚ฌ์˜ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ๋‘๊ณ  ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ์ˆ˜๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์ด ์—†๋‹ค๋ฉด ํŠธ๋ž˜ํ”ฝ์€ ๊ฒฐ๊ตญ ํ•œ๋Œ€์˜ ์„œ๋ฒ„๋กœ ์ง‘์ค‘ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋œ๋‹ค๋ฉด ์„œ๋น„์Šค ์†๋„๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๋Š๋ ค์งˆ ๊ฒƒ์ด๊ณ  ์ตœ์•…์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„๊ฐ€ ๋งˆ๋น„๋˜์–ด ์„œ๋น„์Šค ์ž์ฒด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์—†๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์— ๋Œ€..

article thumbnail
[Linux] OpenSSH ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ
... 2021. 3. 9. 20:05

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์›๊ฒฉ์œผ๋กœ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” OpenSSH ์„œ๋ฒ„์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. OpenSSH ์„œ๋ฒ„๋Š” ํ…”๋„ท ์„œ๋ฒ„์™€ ๊ธฐ๋Šฅ์ด ๋™์ผํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์œผ๋‚˜ ๋ณด์•ˆ์ƒ ์•ˆ์ „ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ํ…”๋„ท์— ๋น„ํ•ด OpenSSH๋Š” ํ›จ์”ฌ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OpenSSH๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ์•”ํ˜ธํ™” ํ•œ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. # OpenSSH ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•ด๋ณด์ž ์ €๋Š” VMware workstation ํ™˜๊ฒฝ์—์„œ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ SSH ์„œ๋ฒ„์˜ ํŒจํ‚ค์ง€ ์ด๋ฆ„์€ "openssh-server" ์ด๊ณ  ์„œ๋น„์Šค(๋ฐ๋ชฌ) ์ด๋ฆ„์€ "sshd"์ž…๋‹ˆ๋‹ค. rpm -qa openssh-server ๋ช…๋ น์–ด๋กœ ํ˜„์žฌ ์„ค์น˜๋˜์–ด ์žˆ๋Š” openssh-server๋ฅผ ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค.(CentOS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ openssh๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค๊ณ  ํ•ฉ..

article thumbnail
[shell] ์…ธ ์Šคํฌ๋ฆฝํŠธ for๋ฌธ๊ณผ while๋ฌธ ๋ฐ˜๋ณต๋ฌธ
... 2021. 3. 9. 19:40

!/bin/sh hap=0 for i in 1 2 3 4 5 6 7 8 9 10 do hap=`expr $hap + $i` done echo "1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ:"$hap hap2=0 for((i=0;i

article thumbnail
[shell] ์…€ ์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 3. 9. 16:52

์‚ฌ์šฉ์ž ์ •์˜ํ•จ์ˆ˜ #!/bin/sh myFunction(){ echo "ํ•จ์ˆ˜ ์•ˆ์œผ๋กœ ๋“ค์–ด์™”์Œ" return } echo "ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค." myFunction echo "ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค." exit 0 ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ #!/bin/sh sumFunction(){ echo "$1 $2 ๊ฐœ์˜ ํ•ฉ์€ `expr $1 + $2` ์ž…๋‹ˆ๋‹ค" } echo "ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” $1 ์™€ $2 ์ž…๋‹ˆ๋‹ค" sumFunction $1 $2 #!/bin/sh myFunction(){ result=`expr $1 + $2` return "$result" } temp=$(myFunction 1 2) echo $? export ์™ธ๋ถ€ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. #!/bin..

article thumbnail
[shell] ์…ธ ์Šคํฌ๋ฆฝํŠธ if๋ฌธ๊ณผ case๋ฌธ
... 2021. 3. 8. 21:05

#if ๋ฌธ if [ ์กฐ๊ฑด ] then ์ฐธ์ผ ๊ฒฝ์šฐ ์‹คํ–‰ fi *์ฃผ์˜ํ• ์  : '[ ์กฐ๊ฑด ]' ์‚ฌ์ด์˜ ๊ฐ ๋‹จ์–ด์—๋Š” ๋ชจ๋‘ ๊ณต๋ฐฑ์ด ์žˆ์–ด์•ผ ํ•จ if [ ์กฐ๊ฑด ] ๋Œ€์‚ฐ if test ๋„ ๊ฐ€๋Šฅ #!/bin/sh if [ "woo" = "woo" ] then echo "์ฐธ์ž…๋‹ˆ๋‹ค" fi if test "woo1" = "woo1" then echo "์ฐธ2์ž…๋‹ˆ๋‹ค" fi exit 0 ์กฐ๊ฑด๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž ๋ฌธ์ž์—ด ๋น„๊ต ๊ฒฐ๊ณผ "๋ฌธ์ž์—ด1" = "๋ฌธ์ž์—ด2" ๋‘ ๋ฌธ์ž์—ด์ด ๊ฐ™์œผ๋ฉด ์ฐธ "๋ฌธ์ž์—ด1" != "๋ฌธ์ž์—ด2" ๋‘ ๋ฌธ์ž์—ด์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด ์ฐธ -n "๋ฌธ์ž์—ด" ๋ฌธ์ž์—ด์ด NULL์ด ์•„๋‹ˆ๋ฉด ์ฐธ -z "๋ฌธ์ž์—ด" ๋ฌธ์ž์—ด์ด NULL์ด๋ฉด ์ฐธ ์‚ฐ์ˆ  ๋น„๊ต ๊ฒฐ๊ณผ ์ˆ˜์‹1 -eq ์ˆ˜์‹2 ๋‘ ์ˆ˜์‹์ด ๊ฐ™์œผ๋ฉด ์ฐธ ์ˆ˜์‹1 -ne ์ˆ˜์‹2 ๋‘ ์ˆ˜์‹์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด..

article thumbnail
[Server] ๋ฆฌ๋ˆ…์Šค ์ปค๋„(kernel)์ด๋ž€?
... 2021. 3. 2. 09:33

๋ฆฌ๋ˆ…์Šค์— ๋Œ€ํ•œ ๋งค์šฐ ์ดˆ๋ณด์ ์ธ ๊ธ€์ด๋ฏ€๋กœ(์ œ๊ฐ€ ๋ฆฌ๋ˆ…์Šค ์ดˆ๋ณด์ด๊ธฐ์— ใ… ใ… ) ์ˆ™๋‹ฌ๋œ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์—๊ฒŒ ๋งค์šฐ ์‰ฌ์šด ๊ธ€์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ง€์ ํ•ด์ฃผ์„ธ์š” :) '๋ฆฌ๋ˆ…์Šค ์ปค๋„'๊ณผ '์ปค๋„'์„ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜์˜€์ง€๋งŒ ๋‘˜์ด ๊ฐ™๋‹ค๊ณ  ๋ณด์…”๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์šด์˜์ฒด์ œ์™€ ์ปค๋„์— ํฐ ์˜๋ฏธ ์ฐจ์ด๋ฅผ ๋‘์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ € ๋˜ํ•œ ์ปค๋„์„ ๊ทธ๋ƒฅ ์šด์˜์ฒด์ œ๋ผ ์ƒ๊ฐํ•˜๊ณ  ๋‘˜์„ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜๋ฏธ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๊ตณ์ด ์ด๋ฆ„์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„œ ๋ถ€๋ฅผ ํ•„์š”๊ฐ€ ์—†์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. # ์ปดํ“จํ„ฐ์—์„œ ์ปค๋„๊นŒ์ง€ ์ปดํ“จํ„ฐ๋Š” ํฌ๊ฒŒ ํ•˜๋“œ์›จ์–ด ์™€ ์†Œํ”„ํŠธ์›จ์–ด ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ์ด ๋‘˜์€ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†์–ด๋„ ์‰ฝ๊ฒŒ ๊ตฌ๋ณ„ํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋Š” ๋ˆˆ์— ๋ณด์ด๊ณ , ์†์œผ๋กœ ๋งŒ์งˆ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ชจ๋‹ˆํ„ฐ, ๋ฐ์Šคํฌํ†ฑ, CPU ๋“ฑ์ด ๋ ์ˆ˜..

article thumbnail
[Python] sort()์—์„œ์˜ key lambda ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 2. 22. 21:34

ํŒŒ์ด์ฌ์˜ sort() ํ•จ์ˆ˜๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋˜ํ•œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์ด ๋ฉ๋‹ˆ๋‹ค. sort(reverse=True) ๋˜๋Š” reverse()๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ๋„ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” key ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” sort()์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. key ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” sort() ํ•จ์ˆ˜๋Š” key ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์€ ์˜ค๋ฆ„์ฐจ์ˆœ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ lambda์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์ค€ 1181๋ฒˆ ๋ฌธ์ œ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ ๊ฐ™์€ ๊ฒฝ์šฐ sort(key)๋ฅผ ์ด์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. data_list = ['but','i','wont','hesitate','no','more','no','more','it','cannot','wait','im','yo..

article thumbnail
[Python] collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ deque, Counter
... 2021. 2. 21. 21:22

ํŒŒ์ด์ฌ์˜ collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์œ ์šฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” deque์™€ Counter์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์—์„œ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์žˆ์–ด Queue๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ deque๋ฅผ ์ด์šฉํ•˜์—ฌ ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฆฌ์ŠคํŠธ ๊ฐ€์žฅ์•ž์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ• ๋•Œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N)์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ deque์˜ appendleft()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ O(1)๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ deque ๊ฐ€์žฅ ์•ž์ชฝ์— ์›์†Œ ์ถ”๊ฐ€(appendleft(x)) O(N) O(1) ๊ฐ€์žฅ ๋’ค์ชฝ์— ์›์†Œ ์ถ”๊ฐ€(append(x)) O(1) O(1) ๊ฐ€์žฅ ์•ž์ชฝ์— ์žˆ๋Š” ์›์†Œ ์ œ๊ฑฐ(leftpop()) O(N) ..

article thumbnail
[Python] ์ˆœ์—ด, ์กฐํ•ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ itertools
... 2021. 2. 17. 22:02

itertools๋Š” ํŒŒ์ด์ฌ์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” 4๊ฐ€์ง€ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•Œ์•„๋ณด๊ธฐ ์ „ ๊ณตํ†ต์œผ๋กœ ์•Œ์•„๋‘˜ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. itertools๋Š” ํŒŒ์ด์ฌ ์™ธ์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋ฏ€๋กœ import ์„ ์–ธ์„ ํ•ด์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ combinations ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด from itertools import combinations ๋กœ ์„ ์–ธํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ list() ๋ฅผ ํ•ด์ฃผ์–ด ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด๋กœ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. combinations ์ฒ˜๋Ÿผ ๋’ค์— s ๊ฐ€ ๋ถ™์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. product ๊ฒฝ์šฐ๋Š” s๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ์„ค๋ช… ์‚ฌ์šฉ๋ฒ• permutations iterable ๊ฐ์ฒด์—์„œ r๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. permuta..

article thumbnail
[Python] ํŒŒ์ด์ฌ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ์ดˆ๊ธฐํ™”
... 2021. 2. 17. 21:21

ํŒŒ์ด์ฌ์—๋Š” ์ปดํ”„๋ฆฌํ—จ์…˜์ด๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์–ด์„œ ๋ฆฌ์ŠคํŠธ(๋ฐฐ์—ด)๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ์ฝ”๋“œ๋Ÿ‰์„ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒŒ์ด์ฌ์—์„œ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ์ดˆ๊ธฐํ™” ํ• ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ปดํ”„๋ฆฌํ—จ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. n = 3 m = 4 array = [[0]*m for _ in range(n)] print(array) #[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] array[1][1] = 5 print(array) #[[0, 0, 0, 0], [0, 5, 0, 0], [0, 0, 0, 0]] ๋งŒ์•ฝ ์ปดํ”„๋ฆฌํ—จ์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์„ ์–ธํ•œ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. n = 3 m = 4 array = [[0]*m] * n print(array) array[1][1] = 5 print(arra..

article thumbnail
[Python] ๋ฆฌ์ŠคํŠธ ํŠน์ •๊ฐ’ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ธฐ
... 2021. 2. 17. 21:11

ํŒŒ์ด์ฌ์—์„œ ๋ฆฌ์ŠคํŠธ ๊ฐ’ ์ค‘ ํŠน์ • ๊ฐ’๋“ค์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์€ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ฆฌ์ŠคํŠธ(๋ฐฐ์—ด)์—์„œ ํŠน์ • ๊ฐ’๋“ค์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์žˆ๊ฒ ์ง€๋งŒ ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. a = [1,2,3,3,3,3,5,5,5] remove_set = {3,5} result = [i for i in a if i not in remove_set] print(result)#[1, 2] a ๋ฆฌ์ŠคํŠธ์— 3, 5๊ฐ€ ์ค‘๋ณต๋˜์–ด ์žˆ๋Š” ๋ฐ remove_set๊ณผ ์ปดํ”„๋ฆฌํ—จ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

article thumbnail
[Python] ๋ฌธ์ž์—ด ํ•จ์ˆ˜ ์ด ์ •๋ฆฌ
... 2021. 2. 14. 13:23

์ด๋ฒˆ๊ธ€์—์„œ๋Š” ํŒŒ์ด์ฌ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ž์—ด ํ•จ์ˆ˜๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. # ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ํ•จ์ˆ˜ ์„ค๋ช… ์‚ฌ์šฉ๋ฒ• upper() ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค string.upper() lower() ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค string.lower() swapcase() ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ, ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค string.swapcase() title() ๊ฐ ๋‹จ์–ด์˜ ์•ž๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ฐ ๋‹จ์–ด ์ค‘๊ฐ„์— ๋Œ€๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. string.title() inputStr = "ByungJun And Jiwon" upperStr = inputStr.upper() print(upperStr)#BYUNGJUN AND JIWON lowerStr = inputStr.low..

article thumbnail
[Python] Set() ์„ธํŠธ ํ•จ์ˆ˜
... 2021. 2. 13. 23:39

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ™œ์šฉ๋„๊ฐ€ ์ •๋ง ๋†’์€ ํ•จ์ˆ˜์ธ set() ํ•จ์ˆ˜์— ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. # set() ํ•จ์ˆ˜ set๋Š” ํ‚ค๋งŒ ๋ชจ์•„ ๋†“์€ ๋”•์…˜๋„ˆ๋ฆฌ์˜ ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ์˜ ํ‚ค๋Š” ์ค‘๋ณต๋˜๋ฉด ์•ˆ๋˜๋ฏ€๋กœ set์— ์žˆ๋Š” ๊ฐ’์€ ํ•ญ์ƒ ์œ ์ผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆฌ์ŠคํŠธ์—์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. myList = [20,30,10,10,10,20] myList = set(myList) print(myList) #{10, 20, 30} ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด 10๊ณผ 20์˜ ์ค‘๋ณต์€ ๋ชจ๋‘ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. set ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋”•์…”๋„ˆ๋ฆฌ ๋“ฑ์„ set๋กœ ๋ณ€๊ฒฝ์‹œ์ผœ์ค๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๋”•์…˜๋„ˆ๋ฆฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณ„๋„์˜ ์ˆœ์„œ๋กœ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ฆฌ์ŠคํŠธ์™€ ๋‹ค๋ฅด๊ฒŒ ์ˆœ์„œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. # set() ํ™œ์šฉ ์‹ฌํ™” myList = [20,30,..

article thumbnail
[Python] ๋ฆฌ์ŠคํŠธ ์กฐ์ž‘ ํ•จ์ˆ˜
... 2021. 2. 13. 23:05

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํŒŒ์ด์ฌ์˜ ์ˆ˜๋งŽ์€ ํ•จ์ˆ˜๋“ค์ค‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. # ๋ฆฌ์ŠคํŠธ ์กฐ์ž‘ ํ•จ์ˆ˜ ํ•จ์ˆ˜ ์„ค๋ช… ์‚ฌ์šฉ๋ฒ• append() ๋ฆฌ์ŠคํŠธ ๋งจ ๋’ค์— ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. list.append("๊ฐ’") pop() ๋ฆฌ์ŠคํŠธ ๋งจ ๋’ค์— ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•œ๋‹ค. list.pop() sort() ๋ฆฌ์ŠคํŠธ์˜ ํ•ญ๋ชฉ์„ ์ •๋ ฌํ•œ๋‹ค. list.sort() reverse() ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ ๋‹ค. list.reverse() index() ์ง€์ •ํ•œ ๊ฐ’์„ ์ฐพ์•„ ํ•ด๋‹น ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. list.index(์œ„์น˜, "๊ฐ’") remove() ๋ฆฌ์ŠคํŠธ์—์„œ ์ง€์ •ํ•œ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค. ๋‹จ ์ง€์ •ํ•œ ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด ์ฒซ๋ฒˆ์งธ ๊ฐ’๋งŒ ์ง€์šด๋‹ค. list.remove("์ง€์šธ๊ฐ’") extend() ๋ฆฌ์ŠคํŠธ ๋’ค์— ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ๋”ํ•˜๊ธฐ ..

article thumbnail
[JS] ํ˜„์žฌ๋‚ ์งœ์™€ ํŠน์ •๋‚ ์งœ ๋น„๊ตํ•˜๊ธฐ
... 2021. 2. 4. 10:55

ํ˜„์žฌ๋‚ ์งœ์™€ ํŠน์ •๋‚ ์งœ๋ฅผ ๋น„๊ตํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ex) ์˜ˆ์•ฝ๋‚ ์งœ๋ฅผ ํ˜„์žฌ๋‚ ์งœ๋ณด๋‹ค ์ „์œผ๋กœ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ ์งœ ํ˜•์‹์ด "YYYY-MM-DD"์ด๋ฉด ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋งž์ถ”์–ด ์ค€ ๋‹ค์Œ์— ๋น„๊ต๋ฅผ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. "2020-01-01", "2020-1-1" ์ด๋ ‡๊ฒŒ ๋น„๊ตํ•˜๋ฉด false๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ํ˜•์‹์€ ๊ผญ ๋งž์ถฐ์•ผ ํ•ฉ๋‹ˆ๋‹ค. function leadingZeros(n, digits) { var zero = ''; n = n.toString(); if (n.length < digits) { for (i = 0; i < digits - n.length; i++) zero += '0'; } return zero + n; } var rsvDate = "2020-01-01"; var now = new Date(); if(r..

article thumbnail
[JS] ๋ฌธ์ž์—ด ์ˆซ์ž ๋ณ€ํ™˜ parseInt์™€ Number ์ฐจ์ด
... 2021. 2. 1. 23:20

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ• ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์ธ parseInt์™€ Number์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‘ ํ•จ์ˆ˜ ๋ชจ๋‘ ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ํŒŒ์‹ฑํ•ด์ค€๋‹ค๋Š” ์ ์—์„œ ๊ธฐ๋Šฅ์ด ๋™์ผํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. # ์˜ˆ์ œ ์ฝ”๋“œ var test = "09"; console.log(parseInt(test, 10)); console.log(Number(test2)); ์œ„์™€ ๊ฐ™์ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ถœ๋ ฅํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. l parseInt ๋‘๋ฒˆ์งธ ์ธ์ž๋ฅผ ๋ญ”๊ฐ€์š”? parseInt์˜ ๋‘๋ฒˆ์งธ ์ธ์ž๋กœ 10์„ ๋„ฃ์–ด์คฌ๋Š”๋ฐ ์ด๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์„ ๊ฒฝ์šฐ 08, 09 ๊ฐ™์ด ์•ž์— 0์ด ์žˆ์„๋•Œ 8์ง„์ˆ˜๋กœ ์ธ์‹ํ•˜์—ฌ ์—๋Ÿฌ๋ฅผ ์ดˆ๋ž˜ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋ณธ๋ก ์œผ๋กœ ๋Œ์•„์™€ ์œ„์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ ๊ฒƒ์„ ๋ณด์‹ค์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐจ์ด๊ฐ€ ์—†์–ด ๋ณด์ด..

article thumbnail
[Oracle] COUNT() ์ง‘๊ณ„ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 2. 1. 15:01

์˜ค๋ผํด์—์„œ ์ง‘๊ณ„ํ•จ์ˆ˜์ธ COUNT()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. SELECT COUNT(CASE WHEN CRSE_TY = '0' THEN 1 END) FROM DUAL # ์˜ˆ์‹œ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋Š” ์œ„ ์ด๋ฏธ์ง€๋ณด๋‹ค ๋” ๋งŽ์Šต๋‹ˆ๋‹ค. SELECT COUNT(CASE WHEN CRSE_TY = '0' THEN 1 END) AS CRSE_TY_ELRN ,COUNT(CASE WHEN CRSE_TY = '1' THEN 1 END) AS CRSE_TY_OFL ,COUNT(CASE WHEN CRSE_TY = '2' THEN 1 END) AS CRSE_TY_BLEND FROM CRSE_MASTR WHERE EDC_TY = '001' CASE WHEN์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง‘๊ณ„ํ•  ์ปฌ๋Ÿผ์˜ ์กฐ๊ฑด์„ ๊ฑธ์–ด์ฃผ๊ณ  THEN์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ์น˜ํ•  ๋•Œ 1์„ ๋”ํ•ด..

article thumbnail
[Oracle] Listener refused the connection with the following error
... 2021. 1. 26. 20:36

# ์›์ธ ๋‚ด์šฉ์„ ๋ณด๋ฉด ๋ž€ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์šฉ์ธ ์ฆ‰ ์˜ค๋ผํด์— ์ ‘์†ํ•  ๋•Œ ์ง€์ •ํ•ด์ฃผ๋Š” SID๊ฐ€ ์žˆ๋Š”๋ฐ ํ•ด๋‹น SID๋ฅผ ๊ฐ€์ง„ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ SID์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•ด ์ฃผ์–ด์•ผ๋งŒ ํ•ด๊ฒฐ์ด ๋  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ ‘์†์ด ๋˜๋‹ค๊ฐ€ ์–ด๋Š๋‚  ๊ฐ‘์ž๊ธฐ ์ ‘์†์ด ์•ˆ๋œ๋‹ค๋ฉด ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•„์„œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ์Šต์šฉ Oracle์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด SID๋ฅผ XE๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. # ํ•ด๊ฒฐ ์œˆ๋„์šฐํ‚ค+R ์„ ๋ˆŒ๋Ÿฌ ์‹คํ–‰์ฐฝ์„ ์—ด์–ด ์ค๋‹ˆ๋‹ค. ์—ด๊ธฐ์— services.msc๋ฅผ ์ž…๋ ฅํ•ด ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค. ๋ฐ‘์œผ๋กœ ๋‚ด๋ฆฌ๋‹ค ๋ณด๋ฉด ํ•ด๋‹น ๋ผ์ธ์˜ OracleServiceXE ๋ž€ ์ด๋ฆ„์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”๋ธ”ํด๋ฆญํ•ด ์ค๋‹ˆ๋‹ค. ์˜ค๋ผํด์„ ์„ค์น˜ํ•˜๊ฒŒ ๋˜๋ฉด ์ž๋™์œผ๋กœ ์ž..

profile on loading

Loading...