์ ์ (Static)์ด๋? ์ ์ (static)์ ๊ณ ์ ๋์ด๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Static์ด๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ Static๋ณ์์ Static๋ฉ์๋๋ฅผ ๋ง๋ค ์ ์๋๋ฐ ๋ค๋ฅธ๋ง๋ก ์ ์ ํ๋์ ์ ์ ๋ฉ์๋๋ผ๊ณ ๋ ํ๋ฉฐ ์ด ๋์ ํฉ์ณ ์ ์ ๋ฉค๋ฒ๋ผ๊ณ ํฉ๋๋ค. (ํด๋์ค ๋ฉค๋ฒ๋ผ๊ณ ๋ ํฉ๋๋ค.) ์ ์ ํ๋์ ์ ์ ๋ฉ์๋๋ ๊ฐ์ฒด(์ธ์คํด์ค)์ ์์๋ ๋ฉค๋ฒ๊ฐ ์๋๋ผ ํด๋์ค์ ๊ณ ์ ๋ ๋ฉค๋ฒ์ ๋๋ค. ๊ทธ๋ ๊ธฐ์ ํด๋์ค ๋ก๋๊ฐ ํด๋์ค๋ฅผ ๋ก๋ฉํด์ ๋ฉ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ์ฌํ ๋ ํด๋์ค๋ณ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํด๋์ค์ ๋ก๋ฉ์ด ๋๋๋ ์ฆ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ์ (Static) ๋ฉค๋ฒ ์์ฑ Static ํค์๋๋ฅผ ํตํด ์์ฑ๋ ์ ์ ๋ฉค๋ฒ๋ค์ Heap์์ญ์ด ์๋ Static์์ญ์ ํ ๋น๋ฉ๋๋ค. Static ์์ญ์ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ๋ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๊ณต..
๊ฐ๋ฐ ์ด์๊ฐ ๋๋ถ๋ถ ๊ทธ๋ ์ง๋ง, ๊ธฐ์ ์ ์ธ ์ธก๋ฉด๋ณด๋ค ์์ธ๋ก ์์ฌ์ํต ๋ฌธ์ ๊ฐ์ ์ธ์ ์์๊ฐ ์์ธ์ด ๋ ๋๊ฐ ๋ง์ต๋๋ค. ์บ๋ฆฌ ํ๋ฆฌ์ฒผ์ "์ ๊ฐ๋ฐ์๋ ์๋ชป๋ ๊ธฐ์ ์ ํ์ ๋ฐฅ ๋จน๋ฏ์ด ํ๋?"๋ผ๋ ์ ๋ชฉ์ ๋ธ๋ก๊ทธ ๊ฒ์๊ธ์์ ๊ทธ ์์ธ์ ๋ค์ฏ ๊ฐ์ง๋ก ๋ถ๋ฅํ์ต๋๋ค. ํ๋์ฉ ์์๋ณด๊ฒ ์ต๋๋ค. ์ด ๊ธ์ ์ ๊ฐ๋ฐ์๋ ์๋ชป๋ ๊ธฐ์ ์ ํ์ ๋ฐฅ ๋จน๋ฏ์ด ํ๋? ์ Optimizing Java ๋ผ๋ ์์ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์ง๋ฃจํจ ๊ฐ๋ฐ์๋ ๋๋ถ๋ถ ์๊ธฐ ์ญํ ์ ์ง๋ฃจํจ์ ๋๋ผ๊ณ ๋ญ๊ฐ ์๋กญ๊ณ ๋์ ์ ์ธ ์ผ์ ์ฐพ์ ๊ฐ์ ํ์ฌ ๋๋ ์์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ๋ ๋ ๊ถ๋ฆฌ๋ฅผ ํ๋ ์ฌ๋๋ ์์ต๋๋ค. ํ์ง๋ง ์ฌ๋ด์ ๋ฑํ ๋ง๋ ํ ๊ธฐํ๊ฐ ์๊ฑฐ๋ ๋ค๋ฅธ ํ์ฌ๋ก ์ด์งํ๋ ๊ฒ ์ฌ์์น ์์ ๋๋ ์๊ฒ ์ฃ . ๋ฌผ๋ก , ์ง๋ฃจํ ์ผ์์ ์ ์ฐธ๊ณ ๊ฒฌ๋ ๋ฟ๋ง ์๋๋ผ ์ธ๋ ค ๋ ์ฝ๊ณ ํธ..
์ถ์ํด๋์ค๋ abstarct๋ฅผ ์ฌ์ฉํ๊ณ ์ธํฐํ์ด์ค๋ interface๋ฅผ ์ฌ์ฉํ๋ฉด ๊ตฌํํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ธ์ ์ถ์ํด๋์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ธ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด์ผ ํ ๊น์? ์๋ง ๋ง์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ด ๋ช ์พํ ๋ต์ ๋ด๋์ง ๋ชปํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ ๋ํ ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค์ ์ ์ ํ ์ฌ์ฉ ์ฉ๋๋ฅผ ์ธ์งํ์ง ๋ชปํ ์ฑ ๊ฐ๋ฐ์ ํด์์ต๋๋ค. ๊ทธ๋์ ์ด๋ฒ์ ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค์ ๋ํด ์์ ๋ณด๊ณ ์ ํฉ๋๋ค. ์ถ์ํด๋์ค ์ถ์ํด๋์ค๋ ์ผ๋ฐํด๋์ค์ ๋ณ๋ฐ ๋ค๋ฅผ ๊ฒ์ด ์์ต๋๋ค. ๋จ์ง, ์ถ์ ๋ฉ์๋๋ฅผ ์ ์ธํ์ฌ ์์์ ํตํ์ฌ ์์ ํด๋์ค์์ ์์ฑํ๋๋ก ์ ๋ํ๋ ํด๋์ค์ ๋๋ค. ๊ทธ๋์ ๋ฏธ์์ฑ ์ค๊ณ๋๋ผ๊ณ ๋ ํํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ ์ฝ๋์ ๊ฐ์ด ์์ฑํ๊ฒ ๋ฉ๋๋ค. public abstract class ํด๋์ค์ด๋ฆ{ public..
์ด๋ฒ ๊ธ์์๋ AWS EC2๋ฅผ ์ด์ฉํ์ฌ Node.js๋ฅผ ๋ฐฐํฌํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ถํฌ๋ฅผ ํด๋ณด์์ง ์์๋ค๋ฉด ์กฐ๊ธ ์ด๋ ค์ด ๋ถ๋ถ์ด ์์ ์๋ ์์ต๋๋ค. AWS EC2 ์์ํ๊ธฐ EC2 ๊ฐ์ ๊ฒฝ์ฐ S3์ ๋ค๋ฅด๊ฒ ๋น์ฉ์ด ๊ฝค ๋์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ๋ฐ๋์ ์ธ์คํด์ค๋ฅผ ์ค์งํด์ผ ํฉ๋๋ค. ์๋ ๊ฒฝ์ฐ ์ฒญ๊ตฌ์ ๋ณด๊ณ ์ ์ฒ๋ผ ๊น์ง ๋๋๋๋ค ใ ใ AWS EC2์ ์ ์ํ๊ณ , ์ธ์คํด์ค ์์ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค. ์ฐ๋ถํฌ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ์ 18.04 ๋ฒ์ ์ ์ฐ๋ถํฌ๋ฅผ ์ ํํด์ค๋๋ค. ์ธ์คํด์ค ์ ํ ์ ํ์์ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ฒดํฌํ๊ณ ๊ฒํ ๋ฐ ์์ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค. ์ญ์ญ ๋์ด์์ 7๋จ๊ณ์์ ๋ณด์ ๊ทธ๋ฃน ํธ์ง์ ํด๋ฆญํด์ค๋๋ค. ํ ์คํธ์ฉ์ด๊ธฐ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ์์ต๋๋ค. ์ ์ธ๊ณ ๋๊ตฌ๋ ์๋ฌด ๊ณณ์์ ๋ค์ด์ฌ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒํ ๋ฐ ์์ ..
์ดํด๋ฆฝ์ค์์ *.java๋ฅผ ๋จ์ถํค ๋๋ฌ์ ์คํ์ํฌ ์ค๋ง ์์์ง *.java ํ์ผ์ด ์ด๋ ํ ๊ณผ์ ์ ๊ฑฐ์ณ ์คํ์ด ๋๋์ง๋ ์์ง ๋ชปํ์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฐ ์ปดํ์ผ๋ฌ๋ ์ด๋ค ์ญํ ์ ์ํํ๋ฉฐ, ์ด๋์ ๋ง์ด ๋ค์ด๋ณธ JVM์ ๋ฌด์์ธ์ง ๊ทธ๋ฆฌ๊ณ ์๋ฐ์์ *.java๋ฅผ ์ด๋ป๊ฒ ์ปดํจํฐ๊ฐ ์คํ์ํค๋ ์ง์ ๋ํ ๊ณผ์ ์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด๋ ์ง๋ฌธ ์ฌํญ์ด ์์ผ์๋ฉด ์ธ์ ๋ ์ง ๋ง์ํด์ฃผ์ธ์ :) ์ ์ฒด์ ์ธ ์๋ฐ์ ์คํ๊ณผ์ ์ ๊ทธ๋ฆผ์ ์ ์ฒด์ ์ธ ์๋ฐ์ ์คํ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. ์ฌ์ค ๋ ๊น์์ด ํ๊ณ ๋ค๋ฉด ์ด๊ฒ๋ณด๋ค ํจ์ฌ ๋ง์ ๊ฒ๋ค์ด ์กด์ฌํ์ง๋ง, ์ด๋ฒ ๊ธ์์๋ ์ด์ ๋๋ง ์์๋ณด๊ฒ ์ต๋๋ค. ํต์ฌํค์๋ *Java Compiler , *JVM , *Interpreter , *JIT compiler Java Compiler with binar..
์๋ฐ์ ์๋์๋ฆฌ๋ฅผ ๊ณต๋ถํ๋ ์ค ๋ฐ์ดํธ ํ์ผ๊ณผ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๊ฐ๋ ์ ์์งํด์ผ๋์ ๊ด๋ จ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. Complie๊ณผ Link C์ธ์ด๋ ์ปดํ์ผ๋ฌ์ ์ํด ์์คํ์ผ(*.c)์ด ๋ชฉ์ ํ์ผ(*.obj)๋ก ๋ณํ๋ ๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ , ์ฆ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ฝ๋๋ก ๋ณํ๋ฉ๋๋ค. ๋ชฉ์ ํ์ผ์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๋ฐ์ด๋๋ฆฌ ์ฝ๋์ ํํ์ด์ง๋ง ์คํ๋ ์๋ ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ์์ ํ ๊ธฐ๊ณ์ด๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค. *์์คํ์ผ : ๊ฐ๋ฐ์๊ฐ ์์ฑํ๋ ๊ณ ๋ ๋ฒจ์ธ์ด์ธ ์์ค์ฝ๋๋ก ๊ตฌ์ฑ๋ ํ์ผ ex. *.java, *.py *๋ชฉ์ ํ์ผ : ์์คํ์ผ์ ์ปดํ์ผํด์ ์๊ธด ํ์ผ ex. ๋ฐ์ดํธ์ฝ๋, ๋ฐ์ด๋๋ฆฌ ์ฝ๋ ์ปดํ์ผ๋ฌ ์ ์ํด ๋ณํ๋ ๋ชฉ์ ํ์ผ์ ๋ง์ปค ์ ์ํด ์คํ๊ฐ๋ฅํ ์คํํ์ผ(*.exe)๋ก ๋ณํ๋ ๋ ํจ์๋ ํค๋ ํ์ผ ๋ฑ์ ์ค์ ๋ฉ๋ชจ..
์๋ฐ์คํฌ๋ฆฝํธ ๋ฟ๋ง ์๋๋ผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ์ฒ์์๋ ๊ทธ์ ์ฝ๋ ์ง๊ธฐ์๋ง ๊ธ๊ธํ์ต๋๋ค. ๊ทธ ์ธ์ด์ ์๋์๋ฆฌ ๊ฐ์ ๊ฑด ๋ด๋ ๋๋ฌด์ง ์ดํด๊ฐ ์๊ฐ๊ธฐ์ ๊ด์ฌ์ด ์์์ต๋๋ค. ์๊ฐ์ด ์ ์ฐจ ํ๋ฌ ์ฐ์ฐํ ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋์๋ฆฌ ๊ด๋ จ ๊ธ์ ๋ค์ ๋ณด๊ฒ๋์๋๋ฐ ๊ธ์ด ์ด๋ ต์ง ์๊ณ ์ดํด๊ฐ ๋๊ธฐ ์์ํ์ต๋๋ค. "๊ทธ๋ ์์ฑํ๋ ์ฝ๋๊ฐ ์ด๋์ ์ด๋ฐ์์ผ๋ก ์๋ํ๊ตฌ๋" ๋ฅผ ๊นจ๋ฌ์ผ๋ฉด์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ํด ๋ ์์ธํ ์๊ฒ ๋๊ณ ๋๋ ํ์ธต ๋ ์ฝ๋ฉ์ด ์ฌ๋ฏธ์์ด์ก์ต๋๋ค. ๊ทธ๋์ ์ด๋ฒ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋์๋ฆฌ์ ์์ด ํต์ฌ ์๋ฆฌ์ธ JavasScript Engine(V8), Web API, Callback Queue, ์ด๋ฒคํธ ๋ฃจํ ๊ทธ ์ค ํนํ ์ด๋ฒคํธ ๋ฃจํ ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด๋ ์ง๋ฌธ ์ฌํญ์ด ์์ผ์๋ฉด ์ธ์ ๋ ์ง ๋๊ธ๋ก..
๋๊ตฐ๊ฐ ์ ์๊ฒ ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด์ ์ ๋ํด ๋ฌผ์๋ ์ ์ด ์์๋๋ฐ, ๋ช ํํ๊ฒ ๋๋ต์ ๋ชปํ๊ฒ ๋๋ฌด ์์ฌ์์ ์ด ์ฐธ์ ํ์คํ ๊ณต๋ถํ๊ณ ๋์ด๊ฐ๋ ค ์ด ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. ๊ฐ๋ ๋ค์ด ํ๊ณ ํ๊ณ ๋ค๋ฉด ๋ฐ๋ ๋๋ ์๋ ๊ฒ ๊ฐ์์ ์ด ๊ธ์ ์ดํดํ๋๋ฐ ์์ด ๊ตณ์ด ๋ถํ์ํ ๊ฐ๋ ๋ค์ ๋ํด์ ์ธ๊ธํ์ง ์๊ฒ ์ต๋๋ค. ํ๋ก์ธ์ค์ ์ค๋ ๋๋ ๋ฌด์์ผ๊น? #ํ๋ก์ธ์ค(Process)๋? ํ๋ก์ธ์ค๊ฐ ๋ฌด์์ธ์ง ํ์ ํ๊ธฐ ์ ์ ํ๋ก๊ทธ๋จ์ด๋ ๋ฌด์์ธ์ง ํ์ ํ ํ์๊ฐ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ด๋ ๋จ์ด๋ ์ปดํจํฐ์ ๊ณต์๊ฐ ์๋์ฌ๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ๋ง์ด ๋ค์ด๋ดค์ ๊ฒ์ด๊ณ ์ค์ ๋ก ์ฌ์ฉ๋ ํ๋ ๋จ์ด์ผ ๊ฒ์ ๋๋ค. ํ๋ก๊ทธ๋จ ์ ์ด๋ค ์์ ์ ์คํํ ์ ์๋ ํ์ผ์ ์๋ฏธํฉ๋๋ค. ๋ฐํํ๋ฉด์ LoL.exe , Visual Studio.exe ๊ฐ์ ํ์ผ๋ค์ด ์๋๋ฐ ์ด๊ฒ๋ค์ด ํ..
๋ฆฌ์คํธ ๋ณต์ฌํ๊ธฐ ๋ณ์๋ ๊ฐ์ฒด๋ฅผ ๋ด๋ ๊ทธ๋ฆ์ด ์๋๋ผ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ด๋ฆ์ ๋๋ค. ๋ฐ๋ผ์ ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ๋์ ํ๋ฉด ๋ ๋ณ์๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋ฉ๋๋ค. ๋ค์ ๋งํด, ํ๋์ ๊ฐ์ฒด๋ฅผ ๋ ๊ฐ์ ์ด๋ฆ์ด ๊ฐ๋ฆฌํค๋ ๊ฒ์ด์ง ๊ฐ์ฒด ์์ฒด๊ฐ ๋ ๊ฐ๊ฐ ๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ถ๋ณํ ๊ฐ์ฒดimmutable object์์๋ ํ ๋ณ์์ ์ ๋ฐ์ดํฐ๋ฅผ ๋์ ํด๋ ๋ค๋ฅธ ๋ณ์์ ์ํฅ์ ๋ฏธ์น์ง ์์ง๋ง, ๋ฆฌ์คํธ ๊ฐ์ ๋ณํ ๊ฐ์ฒดmutable object์์๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ์ด๋ ์ฅ์ ์ด ๋๊ธฐ๋ ํ๊ณ , ๋จ์ ์ด ๋๊ธฐ๋ ํฉ๋๋ค. ์ฐ์ ์ฌ๊ธฐ๊น์ง ์ฝ๋๋ก ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค. >>> mu_a = [2020, 'year'] >>> mu_b = mu_a >>> mu_b.append(['hi', 'hello']) >>> mu_a [2020, '..
UUID๋ Universally Unique IDentifier์ ์ฝ์๋ก, ์ ์ธ๊ณ์ ํ๋๋ฐ์ ์๋ ID๋ผ๋ ๋ป์ ๋๋ค. ์ด๋ฐ ID๋ ๊ณ ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์ ์ฌ์ฉ์๋ค์ UUID๋ฅผ ๋ถ์ฌ์ ๊ตฌ๋ถํ๋ ๋ฑ ์ฌ๋ฌ ๋ฐฉ๋ฉด์์ ์ ์ฉํ๊ฒ ์ฐ์ผ ์ ์์ต๋๋ค. UUID๊ฐ ๊ฒน์น๋ฉด ์ด์ฉ์ง? ์ด ๊ธ์ koreanhole ๋์ ๊ธ์ ๋๋ค. Intro ์ต๊ทผ UOS๊ณต์ง์ฌํญ ์ฑ์ ๋ฐฑ์๋ ์์คํ ์ ๊ต์ฒดํ๋ ์์ ์ ํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด Firebase์ Firestore๋ฅผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ ์ด๋ฒ์ ์๋กญ๊ฒ Nestjs๋ก ์๋ฒ๋ฅผ ์์ฑํ๋ kingofbackend.tistory.com ์ค์น $ npm install uuid uuid ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ install ํฉ๋๋ค. ์ข ๋ฅ UUID๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์์ฑ ๊ฐ๋ฅํฉ๋๋ค. v1: ํ์์คํฌํ(์๊ฐ) ๊ธฐ..
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๋ ์ข์ ์๋ฒ ์ฌ์ด๋ ๋ฐํ์์ด๋ผ๊ณ ๋ง..
์ฐ๋ฆฌ๋ ๋ญ์น์๊ฒ ๊ธฐ๋ค๋ ค! ๋จน์ด! ํ๋ จ์ ๊ต์ก์ํค๊ณ ์ถ์ต๋๋ค. ๋ญ์น์ ๋ค๋ฆฌ์ ๊ฐ์์ ์ฌ๋ ค๋๊ณ ๋จน์ด!๋ผ๊ณ ํ์ ๊ฒฝ์ฐ ๋ญ์น๊ฐ ๊ฐ์์ ๋จน์์ผ๋ฉด ํ๋๋ฐ ๋ญ์น๋ ์ฃผ์ธ์ ๋ช ๋ น์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ (๋น๋๊ธฐ ๋ฐฉ์ ๋ฌธ์ ) ์ ๋ฉ๋๋ก ๊ฐ์์ ๋จน์ด๋ฒ๋ ธ์ต๋๋ค...๋ญ์น์๊ฒ ํ๋ จ(์ผ๋ฐ ์ฝ๋ฐฑํจ์)์ ์์ผ๋ณด์์ง๋ง ์ฌ์ ํ ๋ญ์น๋ ๋ง์ ๋ฃ์ง ์์ต๋๋ค. ๋ญ์น๋ ๋ง๋ชปํ๋ ๊ฐ์์ง๋ผ ํผ๋ผ ์๋ ์๊ณ ์ฐ๋ฆฌ๋ ๋์ฒํ ์ํฉ์ ๋น ์ ธ๋ฒ๋ ธ์ต๋๋คใ ใ ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ ์ฌ์ด ํ๋ จ๋ฐฉ๋ฒ(async/await)์ผ๋ก ๋ญ์น๋ฅผ ๊ต์ก์ํค๊ณ ์ ํฉ๋๋ค!! # ๋น๋๊ธฐ์ ๋๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ์ฅ ์ ๊ฒฝ์จ์ผ ํ๋ ๋ถ๋ถ ์ค ํ๋๊ฐ ๋๊ธฐ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ๋๋ค. ๋ถ๋ช ๋ก์ง์ ๋ง๊ฒ ์ง ๊ฑฐ ๊ฐ์๋ฐ ๊ฒฐ๊ณผ๊ฐ์ด undefined ์ด๊ฑฐ๋ ์์ ์๋ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ญ์คํ๊ตฌ ๋น๋๊ธฐ ๋ฌธ์ ๋ฅผ ์์ฌํด..
์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ์์ ์ด๊ณ ์๋คํด๋ ๊ณผ์ธ์ด ์๋๋งํผ ๊ณผ๊ฑฐ์ ๋นํด ๋ค์ํ ๋ฐ์ดํฐ๋ค์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ฌ์ผ๋ฉฐ, ๋ฐ์ดํฐ ํ๋ํ๋๊ฐ ๊ธฐ์ ์ด๋ ๊ฐ์ธ์ ๋ชจ๋ ์์คํ ์์ฐ ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ์์ธ ์ด ์ ์๊ณ , ์์ผ๋ก๋ ๊ทธ๋ด ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ฐฉ๋ํด์ง๋ฉด์ ์๋ฌด๋ฆฌ ์ข์ ์๋ฒ๋ผ๊ณ ํด๋ ์ด๋ฅผ ์์ฉํ๋๋ฐ ์์ด ๋ฌด๋ฆฌ๊ฐ ์์ต๋๋ค. ๊ทธ์ ๋ฐ๋ผ ๊ท๋ชจ๊ฐ ํฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํ์ฌ์ ๊ฒฝ์ฐ ์ฌ๋ฌ ๋์ ์๋ฒ๋ฅผ ๋๊ณ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ์๋ง์ ํธ๋ํฝ์ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ฐํฉ๋๋ค. ์ ๋ง์ ํธ๋ํฝ์ ์ฌ๋ฌ ๋์ ์๋ฒ๋ก ๋ถ์ฐํด์ค ์ ์๋ ๊ธฐ์ ์ด ์๋ค๋ฉด ํธ๋ํฝ์ ๊ฒฐ๊ตญ ํ๋์ ์๋ฒ๋ก ์ง์ค ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์๋น์ค ์๋๊ฐ ์์ฒญ๋๊ฒ ๋๋ ค์ง ๊ฒ์ด๊ณ ์ต์ ์ ๊ฒฝ์ฐ ์๋ฒ๊ฐ ๋ง๋น๋์ด ์๋น์ค ์์ฒด๋ฅผ ์ ๊ณตํ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์ ๋..
์ด๋ฒ ๊ธ์์๋ ์๊ฒฉ์ผ๋ก ์๋ฒ์ ์ ์ํ๊ฒ ํด์ฃผ๋ OpenSSH ์๋ฒ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. OpenSSH ์๋ฒ๋ ํ ๋ท ์๋ฒ์ ๊ธฐ๋ฅ์ด ๋์ผํ๋ค๊ณ ๋ณผ ์ ์์ผ๋ ๋ณด์์ ์์ ํ์ง ๋ชปํ๋ ํ ๋ท์ ๋นํด OpenSSH๋ ํจ์ฌ ์์ ํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. OpenSSH๋ ๋ฐ์ดํฐ ์ ์ก ์ ์ํธํ ํ๋ค๋ ์ฐจ์ด์ ์ด ์์ต๋๋ค. # OpenSSH ์๋ฒ๋ฅผ ๊ตฌ์ถํด๋ณด์ ์ ๋ VMware workstation ํ๊ฒฝ์์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ ๊ฒ์ ๋๋ค. ๋ค์ด๊ฐ๊ธฐ ์์ SSH ์๋ฒ์ ํจํค์ง ์ด๋ฆ์ "openssh-server" ์ด๊ณ ์๋น์ค(๋ฐ๋ชฌ) ์ด๋ฆ์ "sshd"์ ๋๋ค. rpm -qa openssh-server ๋ช ๋ น์ด๋ก ํ์ฌ ์ค์น๋์ด ์๋ openssh-server๋ฅผ ํ์ธํด์ค๋๋ค.(CentOS๋ ๊ธฐ๋ณธ์ ์ผ๋ก openssh๋ฅผ ์ ๊ณตํด์ค๋ค๊ณ ํฉ..
!/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
์ฌ์ฉ์ ์ ์ํจ์ #!/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..
#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 ๋ ์์์ด ๊ฐ์ง ์์ผ๋ฉด..
๋ฆฌ๋ ์ค์ ๋ํ ๋งค์ฐ ์ด๋ณด์ ์ธ ๊ธ์ด๋ฏ๋ก(์ ๊ฐ ๋ฆฌ๋ ์ค ์ด๋ณด์ด๊ธฐ์ ใ ใ ) ์๋ฌ๋ ๊ฐ๋ฐ์๋ถ๋ค์๊ฒ ๋งค์ฐ ์ฌ์ด ๊ธ์ผ ์๋ ์์ต๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง ์ง์ ํด์ฃผ์ธ์ :) '๋ฆฌ๋ ์ค ์ปค๋'๊ณผ '์ปค๋'์ ํผ์ฉํด์ ์ฌ์ฉํ์์ง๋ง ๋์ด ๊ฐ๋ค๊ณ ๋ณด์ ๋ ๋ฌด๋ฐฉํฉ๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ์ด์์ฒด์ ์ ์ปค๋์ ํฐ ์๋ฏธ ์ฐจ์ด๋ฅผ ๋์ง ์๊ณ ์ฌ์ฉํฉ๋๋ค. ์ ๋ํ ์ปค๋์ ๊ทธ๋ฅ ์ด์์ฒด์ ๋ผ ์๊ฐํ๊ณ ๋์ ํผ์ฉํด์ ์ฌ์ฉํ์ต๋๋ค. ํ์ง๋ง ์๋ฏธ๊ฐ ๊ฐ๋ค๋ฉด ๊ตณ์ด ์ด๋ฆ์ ๋ค๋ฅด๊ฒ ํด์ ๋ถ๋ฅผ ํ์๊ฐ ์์์ ๊ฒ์ ๋๋ค. # ์ปดํจํฐ์์ ์ปค๋๊น์ง ์ปดํจํฐ๋ ํฌ๊ฒ ํ๋์จ์ด ์ ์ํํธ์จ์ด ๋ก ๋๋ฉ๋๋ค. ์ด ๋์ ์ปดํจํฐ์ ๋ํ ์ง์์ด ์์ด๋ ์ฝ๊ฒ ๊ตฌ๋ณํ์ค ์ ์์ ๊ฒ์ ๋๋ค. ํ๋์จ์ด๋ ๋์ ๋ณด์ด๊ณ , ์์ผ๋ก ๋ง์ง์ ์๋ ๊ฒ๋ค ์๋ฅผ ๋ค๋ฉด ๋ชจ๋ํฐ, ๋ฐ์คํฌํฑ, CPU ๋ฑ์ด ๋ ์..
ํ์ด์ฌ์ 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..
ํ์ด์ฌ์ 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) ..
itertools๋ ํ์ด์ฌ์์ ๋ฐ๋ณต๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๊ทธ ์ค ์์ฃผ ์ฌ์ฉ๋๋ 4๊ฐ์ง ํด๋์ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์์๋ณด๊ธฐ ์ ๊ณตํต์ผ๋ก ์์๋ ๊ฒ์ด ์์ต๋๋ค. itertools๋ ํ์ด์ฌ ์ธ์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฏ๋ก import ์ ์ธ์ ํด์ฃผ์ด์ผํฉ๋๋ค. ๋ง์ฝ combinations ํด๋์ค๊ฐ ํ์ํ๋ค๋ฉด from itertools import combinations ๋ก ์ ์ธํด์ฃผ์๋ฉด ๋ฉ๋๋ค. ํญ์ list() ๋ฅผ ํด์ฃผ์ด ๋ฆฌ์คํธ ๊ฐ์ฒด๋ก ๋ฐ์์ผ ํฉ๋๋ค. combinations ์ฒ๋ผ ๋ค์ s ๊ฐ ๋ถ์ด์๋์ง ํ์ธํด์ฃผ์ด์ผํฉ๋๋ค. product ๊ฒฝ์ฐ๋ s๊ฐ ์์ต๋๋ค. ํจ์ ์ค๋ช ์ฌ์ฉ๋ฒ permutations iterable ๊ฐ์ฒด์์ r๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์ ์์๋๋ก ๋์ดํฉ๋๋ค. permuta..
ํ์ด์ฌ์๋ ์ปดํ๋ฆฌํจ์ ์ด๋ผ๋ ๊ธฐ๋ฅ์ด ์์ด์ ๋ฆฌ์คํธ(๋ฐฐ์ด)๋ฅผ ์ด๊ธฐํ ํ๋๋ฐ ์์ด์ ์ฝ๋๋์ ๋ง์ด ์ค์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ด์ฌ์์ 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..
ํ์ด์ฌ์์ ๋ฆฌ์คํธ ๊ฐ ์ค ํน์ ๊ฐ๋ค์ ์ ๊ฑฐํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๊ธ์ ๋๋ค. ํ์ด์ฌ์ ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ฆฌ์คํธ(๋ฐฐ์ด)์์ ํน์ ๊ฐ๋ค์ ๋ชจ๋ ์ ๊ฑฐํ๋ ํจ์๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ ์๊ฒ ์ง๋ง ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ๊ตฌํํ์ต๋๋ค. 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๊ณผ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์ด๋ฒ๊ธ์์๋ ํ์ด์ฌ์์ ์์ฃผ ์ฌ์ฉํ๋ ๋ฌธ์์ด ํจ์๋ค์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. # ๋๋ฌธ์์ ์๋ฌธ์๋ก ๋ณํํ๊ธฐ ํจ์ ์ค๋ช ์ฌ์ฉ๋ฒ 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..
์ด๋ฒ ๊ธ์์๋ ํ์ฉ๋๊ฐ ์ ๋ง ๋์ ํจ์์ธ 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,..
์ด๋ฒ ๊ธ์์๋ ํ์ด์ฌ์ ์๋ง์ ํจ์๋ค์ค ๋ฆฌ์คํธ๋ฅผ ์กฐ์ํ ์ ์๋ ํจ์๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. # ๋ฆฌ์คํธ ์กฐ์ ํจ์ ํจ์ ์ค๋ช ์ฌ์ฉ๋ฒ append() ๋ฆฌ์คํธ ๋งจ ๋ค์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ค. list.append("๊ฐ") pop() ๋ฆฌ์คํธ ๋งจ ๋ค์ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ค. list.pop() sort() ๋ฆฌ์คํธ์ ํญ๋ชฉ์ ์ ๋ ฌํ๋ค. list.sort() reverse() ๋ฆฌ์คํธ ํญ๋ชฉ์ ์์๋ฅผ ์ญ์์ผ๋ก ๋ง๋ ๋ค. list.reverse() index() ์ง์ ํ ๊ฐ์ ์ฐพ์ ํด๋น ์์น๋ฅผ ๋ฐํํ๋ค. list.index(์์น, "๊ฐ") remove() ๋ฆฌ์คํธ์์ ์ง์ ํ ๊ฐ์ ์ญ์ ํ๋ค. ๋จ ์ง์ ํ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ๋ฉด ์ฒซ๋ฒ์งธ ๊ฐ๋ง ์ง์ด๋ค. list.remove("์ง์ธ๊ฐ") extend() ๋ฆฌ์คํธ ๋ค์ ๋ฆฌ์คํธ๋ฅผ ์ถ๊ฐํ๋ค. ๋ฆฌ์คํธ์ ๋ํ๊ธฐ ..
ํ์ฌ๋ ์ง์ ํน์ ๋ ์ง๋ฅผ ๋น๊ตํ๋ ์ฝ๋์ ๋๋ค. 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..
์ด๋ฒ ๊ธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ ๋ ์ฌ์ฉํ๋ ํจ์์ธ parseInt์ Number์ ์ฐจ์ด๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ ํจ์ ๋ชจ๋ ๋ฌธ์์ด์ ์ซ์๋ก ํ์ฑํด์ค๋ค๋ ์ ์์ ๊ธฐ๋ฅ์ด ๋์ผํ๋ค๊ณ ๋ณผ ์ ์์ง๋ง, ์ฐจ์ด๊ฐ ์์ต๋๋ค. # ์์ ์ฝ๋ var test = "09"; console.log(parseInt(test, 10)); console.log(Number(test2)); ์์ ๊ฐ์ด ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ถ๋ ฅํด๋ณด์์ต๋๋ค. l parseInt ๋๋ฒ์งธ ์ธ์๋ฅผ ๋ญ๊ฐ์? parseInt์ ๋๋ฒ์งธ ์ธ์๋ก 10์ ๋ฃ์ด์คฌ๋๋ฐ ์ด๋ฅผ ํด์ฃผ์ง ์์ ๊ฒฝ์ฐ 08, 09 ๊ฐ์ด ์์ 0์ด ์์๋ 8์ง์๋ก ์ธ์ํ์ฌ ์๋ฌ๋ฅผ ์ด๋ํ๋ค๊ณ ํฉ๋๋ค. ๋ค์ ๋ณธ๋ก ์ผ๋ก ๋์์ ์์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ ๊ฒ์ ๋ณด์ค์๊ฐ ์์ต๋๋ค. ์ฐจ์ด๊ฐ ์์ด ๋ณด์ด..
์ค๋ผํด์์ ์ง๊ณํจ์์ธ 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์ ๋ํด..
# ์์ธ ๋ด์ฉ์ ๋ณด๋ฉด ๋ ๋ด์ฉ์ ๋ณผ ์ ์์ต๋๋ค. ๋ด์ฉ์ธ ์ฆ ์ค๋ผํด์ ์ ์ํ ๋ ์ง์ ํด์ฃผ๋ SID๊ฐ ์๋๋ฐ ํด๋น SID๋ฅผ ๊ฐ์ง ๋ฆฌ์ค๋๊ฐ ์ฐ๊ฒฐ๋์ด ์์ง ์๋ค๋ ๋ด์ฉ์ ๋๋ค. ์ํฉ์ ๋ฐ๋ผ์ SID์์ฒด๋ฅผ ๋ณ๊ฒฝํด ์ฃผ์ด์ผ๋ง ํด๊ฒฐ์ด ๋ ์๋ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ ์์ด ๋๋ค๊ฐ ์ด๋๋ ๊ฐ์๊ธฐ ์ ์์ด ์๋๋ค๋ฉด ๋ฆฌ์ค๋๊ฐ ์คํ๋์ง ์์์ ๊ทธ๋ ์ต๋๋ค. ๋๋ถ๋ถ์ ์ฐ์ต์ฉ Oracle์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด SID๋ฅผ XE๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. # ํด๊ฒฐ ์๋์ฐํค+R ์ ๋๋ฌ ์คํ์ฐฝ์ ์ด์ด ์ค๋๋ค. ์ด๊ธฐ์ services.msc๋ฅผ ์ ๋ ฅํด ์ค๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์๋น์ค ์ฐฝ์ด ๋น๋๋ค. ๋ฐ์ผ๋ก ๋ด๋ฆฌ๋ค ๋ณด๋ฉด ํด๋น ๋ผ์ธ์ OracleServiceXE ๋ ์ด๋ฆ์ ๋ณด์ค ์ ์์ต๋๋ค. ๋๋ธํด๋ฆญํด ์ค๋๋ค. ์ค๋ผํด์ ์ค์นํ๊ฒ ๋๋ฉด ์๋์ผ๋ก ์..