๋กœ์ผ“๐Ÿพ
article thumbnail
[AWS] EC2 root ๊ณ„์ • ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 10. 5. 15:29

โ–ถ 1. root ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋จผ์ € ๋ณ€๊ฒฝํ•˜์—ฌ ์ค€๋‹ค. #sudo passwd root โ–ถ 2. sshd_config ์„ค์ •์ •๋ณด ๋ณ€๊ฒฝ #sudo vi /etc/ssh/sshd_config :set nu ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋ผ์ธ์ˆ˜ ํ‘œ์‹œ. 38 ๋ผ์ธ์˜ "PermitRootLogin yes" ๋ถ€๋ถ„์˜ ์ฃผ์„์„ ํ•ด์ œํ•˜๊ณ  ์ €์žฅ (:wq) โ–ถ 3. ๋ฃจํŠธ ๊ฒฝ๋กœ์— .ssh ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ค€๋‹ค. #sudo mkdir /root/.ssh ๋‚˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ด๋ฏธ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ์–ด ์ƒ์„ฑ๋˜์ง„ ์•Š์•˜๋‹ค. โ–ถ 4. ec2์œ ์ €์˜ ์ธ์ฆํ‚ค๋ฅผ root๋กœ ๋ณต์‚ฌํ•œ๋‹ค. #sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh โ–ถ 5. sshd๋ฅผ ๋ฆฌ์Šคํƒ€ํŠธ ํ•œ๋‹ค. #sudo systemctl restart ssh..

article thumbnail
[AWS] ์•„๋งˆ์กด ๋ฆฌ๋ˆ…์Šค์— nginx ์„ค์น˜ํ•˜๊ธฐ
... 2021. 9. 26. 12:58

Amazon Linux 2 OS์˜ EC2์—์„œ nginx ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Amazon Linux 2์—์„œ๋Š” yum์„ ํ†ตํ•œ nginx ์„ค์น˜๊ฐ€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ yum ์„ ํ†ตํ•œ ์„ค์น˜ ์‹œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. sudo yum install nginx yum์œผ๋กœ๋Š” nginx ํŒจํ‚ค์ง€๋ฅผ ์ฐพ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. To use, run ์— ๋‚˜์™€์žˆ๋Š” amazon-linux-extras install : topic ๋ฅผ ์ด์šฉํ•˜์—ฌ nginx ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. amazon-linux-extras list ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•  nginx๋ฅผ ์ฐพ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. amazon-linux-extras list | grep nginx ์กฐํšŒ๋œ nginx1์— ๋Œ€ํ•ด์„œ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ..

article thumbnail
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Reflection ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 9. 13. 15:06

์ž๋ฐ”์—์„œ ๋ณ€์ˆ˜๋ช…์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ์ธ์Šคํ„ด์Šคํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ• 1-์ธ์ˆ˜๋Š” ์—†๊ณ  ์ƒ์„ฑ์ž๋งŒ ์žˆ๋Š” ํด๋ž˜์Šค์—๋งŒ ํ•ด๋‹น ํด๋ž˜์Šค์— ์ธ์ˆ˜๊ฐ€์—†๋Š” ์ƒ์„ฑ์ž๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Class๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Class domainClass = Class.forName("com.femarket.domain." + domainName); Object domain = domainClass.newInstance(); ๋ฐฉ๋ฒ• 2 ํด๋ž˜์Šค์— ์ธ์ˆ˜๊ฐ€์—†๋Š” ์ƒ์„ฑ์ž๊ฐ€์—†๋Š” ๊ฒฝ์šฐ์—๋„ ์ž‘๋™ํ•˜๋Š” ๋” ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์€ ํด๋ž˜์Šค ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ํ•ด๋‹น Constructor๊ฐœ์ฒด ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ์ด ๊ฐœ์ฒด์— ๋Œ€ํ•œ newInstance()๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Class clazz = Class.forName("..

article thumbnail
[EKS] EKS๋กœ ๊ตฌ์ถ•ํ•œ cluster ์™ธ๋ถ€ ์ ‘๊ทผํ•˜๊ธฐ
... 2021. 9. 10. 13:08

kube config์—์„œ eks ์ •๋ณด๊ฐ€ ์žˆ์–ด์•ผํ•ด์š” ์›Œ์ปค๋…ธ๋“œ ์ƒ์„ฑ ์ „์—๋„ ์ ‘๊ทผ๊ฐ€๋Šฅํ•ด์š” ๋งˆ์Šคํ„ฐ๋Š” ์–ด์ฐจํ”ผ aws์—์„œ ๊ด€๋ฆฌํ•ด์„œ aws sts get-caller-identity ์ด๊ฑธ๋กœ ๋ณธ์ธ local ์ปดํ“จํ„ฐ์—์„œ access key, secret key ์„ค์ •ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹œ๊ณ  aws eks --region ${region_name} update-kubeconfig --name ${cluster_name} ์ด๊ฑธ๋กœ kube config ํŒŒ์ผ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š” https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/managing-auth.html ํด๋Ÿฌ์Šคํ„ฐ ์ธ์ฆ - Amazon EKS ์ด ํŽ˜์ด์ง€์— ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์„ ์•Œ๋ ค ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹ค๋ง์‹œ์ผœ ๋“œ๋ ค ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ž ๊น ์‹œ๊ฐ„..

article thumbnail
[JavaScript] ํ˜„์žฌ ๋‚ ์งœ, ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ (yyyy-MM-dd HH:mm:ss)
... 2021. 9. 9. 14:18

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ˜„์žฌ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Date ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. Date ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ์˜ ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด YYYY-MM-DD์™€ ๊ฐ™์€ ํ˜•์‹์˜ ๋‚ ์งœ ํฌ๋งท์œผ๋กœ ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, Date ๊ฐ์ฒด์—์„œ ์ œ๊ณตํ•˜๋Š” ์ถ”์ถœ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ ์งœ ํฌ๋งท์„ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค. ํ˜„์žฌ ๋‚ ์งœ, ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ var today = new Date(); console.log(today); // ๊ฒฐ๊ณผ : Sun May 30 2021 15:47:29 GMT+0900 (๋Œ€ํ•œ๋ฏผ๊ตญ ํ‘œ์ค€์‹œ) // ๊ฒฐ๊ณผ : Sun May 30 2021 15:47:29 GMT+0900 (๋Œ€ํ•œ๋ฏผ๊ตญ ํ‘œ์ค€์‹œ) Date ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‚ ์งœ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ถœ๋ ฅํ•˜๋ฉด, ํ‰์ƒ์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๋‚ ์งœ ํฌ๋งท(YYYY-MM-DD ..

article thumbnail
[Javascript] JSON๊ณผ JavaScript Object์˜ ์ฐจ์ด์ 
... 2021. 9. 3. 10:33

ajax ์‚ฌ์šฉํ•˜๋˜ ์ค‘ ํ•œ๊ฐ€์ง€ ์˜๋ฌธ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ์™œ JSON.stringify๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ฉด ์™œ ์Šคํ”„๋ง @RequestBody์—์„œ ๋ฐ›์งˆ ๋ชปํ•˜๋Š”์ง€ ๋ง์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ data : {test : "test"} ์™€ data : JSON.stringify์˜ ํƒ€์ž…๋“ค์„ ์ฝ˜์†”๋กœ ์ฐ์–ด๋ณธ ๊ฒฐ๊ณผ ์ „์ž๋Š” object์ด๊ณ  ํ›„์ž๋Š” string์ด์˜€์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์•„ํ•˜! ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ”ํžˆ ๋งํ•˜๋Š” json๊ณผ js์—์„œ ์‚ฌ์šฉํ•˜๋Š” javacscript Object๋Š” ๋‹ค๋ฅธ๊ฑฐ๊ตฌ๋‚˜! ๊ทธ๋ž˜์„œ ์ด๊ฑฐ์— ๋Œ€ํ•ด ๊ธ€์„ ์ฐพ์•„๋ณธ ํ›„ ์ •๋ง ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์‹  ๊ธ€์ด ์žˆ์–ด์„œ ๊ฐ€์ ธ์™€๋ดค์Šต๋‹ˆ๋‹ค. ์ด๊ธ€์€ yongseong.log ๋‹˜์˜ ๊ธ€์ž…๋‹ˆ๋‹ค. [๊ฐœ๋ฐœ์ƒ์‹] JSON๊ณผ JavaScript Object์˜ ์ฐจ์ด์  ์•ˆ๋…•ํ•˜์„ธ์š”. ๊น€์šฉ์„ฑ์ž…๋‹ˆ๋‹ค.์ •๋ง ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฒจ๋จน์€..

[JavaScript] ๊ฒ€์ƒ‰์€ ๊ท€์ฐฎ๊ณ  ๊ธฐ์–ต์€ ์•ˆ๋‚˜๊ณ  ajax ๊ธฐ๋ณธ ์˜ˆ์ œ
... 2021. 9. 3. 10:10

var data = {"name":"John Doe"} $.ajax({ type : "post", url : "/test", dataType : "json", //์„œ๋ฒ„์—์„œ ๋ฐ›์„ ๋ฐ์ดํ„ฐ ํƒ€์ž… contentType: "application/json; charset=utf-8", //์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž… data : JSON.stringify(data), success : function(result) { alert(result.success); }, error: function(e){ alert("fail"); } }); ๋งจ๋‚  ๊นŒ๋จน์–ด์„œ ์ œ๊ฐ€ ๋ณด๊ธฐ ์œ„ํ•ด ์”๋‹ˆ๋‹ค. $.ajax({ type : `http method type`, url : `url`, data : `์„œ๋ฒ„์— ์ „์†กํ•  ๋ฐ์ดํ„ฐ`, contentTy..

article thumbnail
[Network]์‚ฌ์ด๋”(CIDR) ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?
... 2021. 8. 31. 21:51

CIDR? AWS, GCP, Azure ๋“ฑ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ๋“ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋„คํŠธ์›Œํฌ ์„ค์ •์—์„œ VPC ๋ฐ Subnet ์„ ์ƒ์„ฑํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ CIDR(Classless Inter-Domain Routing) ๋ธ”๋ก์„ ์ด์šฉํ•˜์—ฌ 10.10.1.0/24 ๋“ฑ๊ณผ ๊ฐ™์ด ํ‘œ์‹œํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๊ผฌ๊ผฌ๋งˆ ์‹œ์ ˆ์—๋Š” AWS ์ฝ˜์†”์—์„œ ๋„คํŠธ์›Œํฌ, ์‹œํ๋ฆฌํ‹ฐ๊ทธ๋ฃน ๋“ฑ์—์„œ ๋งŽ์ด ๋ด ์™”์ง€๋งŒ ์„ ๋ฐฐ๋“ค์ด ์•Œ๋ ค์ค€ ๋Œ€๋กœ ๊ทธ๋ƒฅ Cํด๋ž˜์Šค์ผ๋•Œ๋Š” /24, ํŠน์ •IP๋งŒ ์ง€์ •ํ• ๋•Œ๋Š” /32 ๋กœ ์•Œ๊ณ  ์‚ด์•„์™”์—ˆ๊ณ , ์•„์ง๋„ ๊ทธ๋ ‡๊ฒŒ ์•Œ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ถ„๋ช…ํžˆ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์ •ํ™•ํ•˜๊ฒŒ! ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑ ํ•ด ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ CIDR๋Š” ์‚ฌ์ด๋” ๋ผ๊ณ  ์ฝ์œผ๋ฉด ๋˜๊ณ , ์œ ํˆฝ์—์„œ ๋ฏธ๊ตญ์ธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐœ์Œํ•˜๋Š”๊ฑธ ๋“ค์–ด๋ณด๋‹ˆ ์‹ธ์ด๋” ์ •๋„๋กœ ๋ฐœ์Œ ํ•ฉ..

article thumbnail
[MySQL] ํ”„๋กœ์‹œ์ €๋ฅผ ์ด์šฉํ•œ ๋”๋ฏธ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ธฐ
... 2021. 8. 31. 09:54

๋”๋ฏธ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ํ”„๋กœ์‹œ์ € ์ƒ์„ฑ ํŽ˜์ด์ง• ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์ด ๋งŽ์€ ์–‘์˜ ๋”๋ฏธ๋ฐ์ดํ„ฐ(dummy data)๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ํ”„๋กœ์‹œ์ €๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋”๋ฏธ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. Workbench์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค. DELIMITER $$ DROP PROCEDURE IF EXISTS loopInsert$$ CREATE PROCEDURE loopInsert() BEGIN DECLARE i INT DEFAULT 1; WHILE i

article thumbnail
[Network] L4 LoadBalancer์™€ L7 LoadBalancer ๋น„๊ต
... 2021. 8. 31. 09:08

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ž€? ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋Š” ์„œ๋ฒ„์— ๊ฐ€ํ•ด์ง€๋Š” ๋ถ€ํ•˜(=๋กœ๋“œ)๋ฅผ ๋ถ„์‚ฐ(=๋ฐธ๋Ÿฐ์‹ฑ)ํ•ด์ฃผ๋Š” ์žฅ์น˜ ๋˜๋Š” ๊ธฐ์ˆ ์„ ํ†ต์นญํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ํ’€(Server Pool, ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์„œ๋ฒ„๋“ค์˜ ๊ทธ๋ฃน) ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋ฉฐ, ํ•œ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ๋ถ€ํ•˜๊ฐ€ ์ง‘์ค‘๋˜์ง€ ์•Š๋„๋ก ํŠธ๋ž˜ํ”ฝ์„ ๊ด€๋ฆฌํ•ด ๊ฐ๊ฐ์˜ ์„œ๋ฒ„๊ฐ€ ์ตœ์ ์˜ ํผํฌ๋จผ์Šค๋ฅผ ๋ณด์ผ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๋งŒ์•ฝ Scale-out์˜ ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์ฆ์„คํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„์‚ฐํ•ด์ฃผ๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค. OSI 7 ๊ณ„์ธต์ด๋ž€? ๋„คํŠธ์›Œํฌ ํ†ต์‹  ์‹œ์Šคํ…œ์€ ํฌ๊ฒŒ ์ผ๊ณฑ ๊ฐ€์ง€์˜ ๊ณ„์ธต(OSI 7 layers, ๊ฐœ๋ฐฉํ˜• ํ†ต์‹ ์„ ์œ„ํ•œ ๊ตญ์ œ ํ‘œ์ค€ ๋ชจ๋ธ)์œผ๋กœ ๋‚˜๋‰œ๋‹ค. ๊ฐ๊ฐ์˜ ๊ณ„์ธต(Layer)์ด L1/L2/L3โ€ฅโ€ฅL7์— ํ•ด๋‹นํ•œ๋‹ค. ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์žฅ๋น„๋Š” ํ•˜์œ„ ๊ณ„์ธต์˜ ์žฅ..

article thumbnail
[AWS] AWS ๊ด€๋ จ ์ฃผ๋œ ์„œ๋น„์Šค ๋ฐ ์šฉ์–ด
... 2021. 8. 30. 23:14

S3 S3๋Š” AWS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. 99.999999%๋ผ๋Š” ๋†’์€ ๋‚ด๊ตฌ์„ฑ์ด ํŠน์ง•์ธ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋ฏธ๋ฆฌ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰ ๋“ฑ์„ ์ •์˜ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ณต๊ฐœ ์ •์ฑ…, ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”, ๋น„์šฉ ํšจ์œจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์žฅ๊ธฐ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ดํ”„์‚ฌ์ดํด ์ •์ฑ… ๋“ฑ์˜ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์œ ์šฉํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. S3์—์„œ๋Š” ์Šคํ† ๋ฆฌ์ง€์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ '๋ฒ„ํ‚ท'์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์˜์—ญ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ์•ˆ์— ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. CloudFront CloudFront๋Š” AWS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ฝ˜ํ…์ธ  ์ „์†ก ๋„คํŠธ์›Œํฌ(Content Delivery Network, CDN) ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. CDN์€ ์ธํ„ฐ๋„ท์—์„œ ์›น ์ฝ˜ํ…์ธ , ์ด๋ฏธ์ง€, ๋™์˜์ƒ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ์„ ๋น ๋ฅด๊ฒŒ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. CloudFront๋Š” ์ „ ..

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ์„ ๋ณด์‹œ๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
article thumbnail
[ElasticSearch+Java] analyze ์ž๋ฐ”์—์„œ ๊ตฌํ˜„ํ•˜๊ธฐ
... 2021. 8. 27. 11:16

ํ‚ค๋ฐ”๋‚˜์—์„œ ์•„๋ž˜ ์ฝ”๋“œ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์‘๋‹ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. analyzer๋Š” ์ปค์Šคํ…€ analyzer ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. tokenizer๋Š” nori๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , filter๋Š” shingle๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ์ž๋ฐ”์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. AnalyzeRequest request = AnalyzeRequest.withIndexAnalyzer("st_pdt", "nori_discard_1", pdt.getS_name()); AnalyzeResponse response = client.indices().analyze(request, RequestOptions.DEFAULT); List tokens = response.getTokens(); for(An..

article thumbnail
[JavaScript] ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ
... 2021. 8. 27. 10:55

๋ฌดํ•œ ์Šคํฌ๋กค์€ ์ด์ปค๋จธ์Šค ๊ด€๋ จ๋œ ์›น์ด๋‚˜ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์Šคํฌ๋กค์˜ ์œ„์น˜๊ฐ€ ์–ด๋– ํ•œ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๊ฒŒ ๋˜๋ฉด ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒํ’ˆ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. [JavaScript] ๋ฌดํ•œ ์Šคํฌ๋กค ์‹œ ์ƒํ’ˆ ์œ„์น˜ ์œ ์ง€ ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์žˆ์–ด ๋ฐ˜๋“œ์‹œ ๋ณ‘ํ–‰๋˜์–ด์•ผ ํ•  ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ๋ Œ๋”๋ง๋œ ์ƒํ’ˆ์„ ๋ˆ„๋ฅด๊ณ  ๋‹ค์‹œ [๋’ค๋กœ๊ฐ€๊ธฐ]๋ฅผ ํ–ˆ์„ ์‹œ ์—ฌ์ „ํžˆ ๊ทธ ์ƒํ’ˆ์˜ ์œ„์น˜๋กœ ์™€์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ kingofbackend.tistory.com ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€ ๋ฐ”๋กœ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌดํ•œ ์Šคํฌ๋กค ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. var stopping = false; var end = false; $(window).scroll(function () { var cst = $(window).scrollTop(); var ..

article thumbnail
[JavaScript] ๋ฌดํ•œ ์Šคํฌ๋กค ์‹œ ์ƒํ’ˆ ์œ„์น˜ ์œ ์ง€
... 2021. 8. 27. 10:30

๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์žˆ์–ด ๋ฐ˜๋“œ์‹œ ๋ณ‘ํ–‰๋˜์–ด์•ผ ํ•  ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ๋ Œ๋”๋ง๋œ ์ƒํ’ˆ์„ ๋ˆ„๋ฅด๊ณ  ๋‹ค์‹œ [๋’ค๋กœ๊ฐ€๊ธฐ]๋ฅผ ํ–ˆ์„ ์‹œ ์—ฌ์ „ํžˆ ๊ทธ ์ƒํ’ˆ์˜ ์œ„์น˜๋กœ ์™€์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. [JavaScript] ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ๋ฌดํ•œ ์Šคํฌ๋กค์€ ์ด์ปค๋จธ์Šค ๊ด€๋ จ๋œ ์›น์ด๋‚˜ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์Šคํฌ๋กค์˜ ์œ„์น˜๊ฐ€ ์–ด๋– ํ•œ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๊ฒŒ ๋˜๋ฉด ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒํ’ˆ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€ kingofbackend.tistory.com ๋งŒ์•ฝ, ์ด ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ์ƒํ’ˆ์„ ๋ˆ„๋ฅด๊ณ  ๋ง˜์— ๋“ค์ง€ ์•Š์•„ [๋’ค๋กœ๊ฐ€๊ธฐ]๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ ๋‹ค์‹œ ์ด ์ƒํ’ˆ์ด ๋‚˜์™”๋˜ ๊ณณ๊นŒ์ง€ ์Šคํฌ๋กค์„ ๋‚ด๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์˜ ์ง‘, ์•„์ด๋””์–ด์Šค์€ ์–ด๋–ป๊ฒŒ ๋˜์–ด์žˆ๋Š” ์ง€ ํ•œ๋ฒˆ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. [์˜ค๋Š˜์˜ ์ง‘] ์˜ค๋Š˜์˜ ์ง‘..

article thumbnail
[JavaScript] sessionStorage ์ด์šฉํ•˜๊ธฐ
... 2021. 8. 27. 10:09

function setSessionStorage(key, value){ sessionStorage.setItem(key, value); } function getSessionStorage(key){ return sessionStorage.getItem(key); } function setJSONSessionStorage(key, value){ sessionStorage.setItem(key, JSON.stringify(value)); } function getJSONSessionStorage(key){ return JSON.parse(sessionStorage.getItem(key)); } function removeSessionStorage(key){ sessionStorage.removeItem(ke..

article thumbnail
[AWS] IAM ์œ ์ € ๋ฐ MFA ์ƒ์„ฑํ•˜๊ธฐ
... 2021. 8. 26. 22:15

IAM ์ด๋ž€? IAM(AWS Identity and Access Management)์€ AWS ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. IAM์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ๋œ ๋Œ€์ƒ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. ์ถœ์ž…์ด ํ—ˆ๊ฐ€๋œ ์ธ์›๋“ค์€ ์ถœ์ž… ์นด๋“œ๋ฅผ ํ†ตํ•ด ์ถœ์ž…ํ•˜๊ฑฐ๋‚˜, ๋ฆฌ์ŠคํŠธ์— ๋ฐฉ๋ฌธ ๊ธฐ๋ก์„ ํ•˜๊ณ  ํ—ˆ๊ฐ€๋ฅผ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. IAM์€ ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ์ถœ์ž… ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ์ถœ์ž…์นด๋“œ๋‚˜, ๋ฐฉ๋ฌธ ํ—ˆ๊ฐ€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” AWS ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋ณด์•ˆ ์ฃผ์ฒด๊ฐ€ ์ธ์ฆ(Authentication)๊ณผ ๊ถŒํ•œ๋ถ€์—ฌ(Authorization)์„ ๋ฐ›์•„ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์Šน์ธํ•˜๋Š” ๊ฒƒ์ด IAM์˜ ์ฃผ์š” ์ž‘๋™ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. AWS ๊ณ„์ •์„ ์ฒ˜์Œ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ „์ฒด AWS ์„œ๋น„..

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ์„ ๋ณด์‹œ๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
article thumbnail
[Docker] ์™ธ๋ถ€์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์ ‘์†ํ•˜๊ธฐ
... 2021. 8. 25. 13:02

์ด ๊ธ€์€ ๋„์ปค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. $ docker run -d -p 8080:80 --name nginx-exposed --restart always nginx ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์™ธ๋ถ€์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -d(detach) : ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์˜ต์…˜ -p(publish) : ์™ธ๋ถ€์—์„œ ํ˜ธ์ŠคํŠธ๋กœ ๋ณด๋‚ธ ์š”์ฒญ์„ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€๋กœ ์ „๋‹ฌํ•˜๋Š” ์˜ต์…˜์œผ๋กœ -p : ํ˜•์‹์ž…๋‹ˆ๋‹ค. * ์ฐธ๊ณ  : ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ จ ์„ค์ •์€ ์ถ”ํ›„ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์„ค์ •์„ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒˆ๋กญ๊ฒŒ ๋‹ค์‹œ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋„์ปค์˜ ํŠน์ง•์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌ ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋„์™€์ค๋‹ˆ๋‹ค.

article thumbnail
UUID๊ฐ€ ๊ฒน์น˜๋ฉด ์–ด์ฉŒ์ง€?
... 2021. 8. 25. 09:15

์ด ๊ธ€์€ koreanhole ๋‹˜์˜ ๊ธ€์ž…๋‹ˆ๋‹ค. Intro ์ตœ๊ทผ UOS๊ณต์ง€์‚ฌํ•ญ ์•ฑ์˜ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๊ต์ฒดํ•˜๋Š” ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Firebase์˜ Firestore๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ์ƒˆ๋กญ๊ฒŒ Nestjs๋กœ ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. UOS๊ณต์ง€์‚ฌํ•ญ์˜ ์„œ๋ฒ„์—๋Š” ์ด 3๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ( department, notice, user )์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ชจ๋ธ์˜ ๋ ˆ์ฝ”๋“œ ๋งˆ๋‹ค ๊ณ ์œ ์˜ id๊ฐ’์„ ๋ฐœ๊ธ‰ํ–ˆ๋Š”๋ฐ ๋ชจ๋‘ uuid(v4)๋กœ ๋ฐœ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. uuid๋ฅผ ๋งˆ๊ตฌ์žก์ด๋กœ ๋ฐœ๊ธ‰ํ•˜๊ฒŒ ๋˜๋ฉด ํ˜น์‹œ ๋‚˜์ค‘์— ๊ฒน์น˜๋Š” uuid๊ฐ€ ์žˆ์ง€ ์•Š์„๊นŒ? UUID ์†Œ๊ฐœ uuid๋Š” ๋ฒ”์šฉ๊ณ ์œ ์‹๋ณ„์ž(Universal Unique IDentifier)๋ผ๊ณ  ํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ์ƒ์— ์กด์žฌํ•˜๋Š” ๊ฐœ์ฒด๋“ค์„ ์‹๋ณ„ํ•˜๊ณ  ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ ์ฃผ์ฒด๊ฐ€ ์Šค์Šค๋กœ ์ด๋ฆ„์„ ..

article thumbnail
[Node.js] Socket.io Cors(ํฌ๋กœ์Šค ๋„๋ฉ”์ธ) ํ•ด๊ฒฐํ•˜๊ธฐ
... 2021. 8. 24. 21:38

์›น์„ ๊ฐœ๋ฐœํ•˜๋ฉด ํ•œ๋ฒˆ์€ ๊ผญ Cors ๋ฌธ์ œ๋ฅผ ๋งž๋‹ฅ๋œจ๋ฆฝ๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์„œ๋ฒ„๋ฅผ aws๋กœ ๊ตฌ์ถ•ํ•˜๊ณ , ๋กœ์ปฌ์—์„œ ์ฑ„ํŒ… ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฑ„ํŒ…์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์—ญ์‹œ๋‚˜ ๋„๋ฉ”์ธ์ด ๋‹ฌ๋ผ Cors ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. Node.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ค‘ 'Cors'๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ Socket.io์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ผ์„œ ์ด๊ฑธ๋กœ๋Š” ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณธ ๊ฒฐ๊ณผ Socker.io ๊ณต์‹๋ฌธ์„œ์— ๋‹คํ–‰ํžˆ ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. "socket.io": "^4.1.3" ๋ฒ„์ „ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. const io = require("socket.io")(server, { cors: { origin: "*", methods: ["GET", "POST"] } }); ์œ„ ์ฝ”๋“œ๋ฅผ server-side์— ์ž‘์„ฑํ•ด์ฃผ์‹œ๊ณ , client-side์—๋Š” ์•„..

article thumbnail
[Docker] ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์•Œ์•„๋ณด๊ธฐ
... 2021. 8. 24. 20:55

์ด ๊ธ€์€ ๋„์ปค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ผ๊ณ  ํ•˜๋Š” ์ €์žฅ์†Œ์— ๋ชจ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ๋„์ปค ํ—ˆ๋ธŒ์ผ์ˆ˜๋„ ์žˆ๊ณ , ๋‚ด๋ถ€์— ๊ตฌ์ถ•ํ•œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ณ„๋„์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด ๋„์ปค ํ—ˆ๋ธŒ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. $ docker search nginx ์œ„ ๋ช…๋ น์–ด๋กœ nginx์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. INDEX : ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. NAME : ๊ฒ€์ƒ‰๋œ ์ด๋ฏธ์ง€ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๊ณต์‹ ์ด๋ฏธ์ง€๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด '๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฃผ์†Œ/์ €์žฅ์†Œ ์†Œ์œ ์ž/ ์ด๋ฏธ์ง€ ํ˜•ํƒœ' ์ž…๋‹ˆ๋‹ค. DESCRIPTION : ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. STARS : ์ข‹์•„์š” ๊ฐฏ์ˆ˜์ž…๋‹ˆ๋‹ค. OFFICAL : ์ด๋ฏธ์ง€์— ํฌํ•จ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฏธ๋“ค์›จ์–ด ๋“ฑ์„ ๊ฐœ๋ฐœํ•œ ์—…์ฒด์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•œ..

article thumbnail
[Elastic Search] TokenFilter - NGram
... 2021. 8. 24. 15:09

์ด ๊ธ€์€ ๊น€์ข…๋ฏผ(kimjmin@gmail.com)๋‹˜์˜ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌด๋‹จ ๋ณต์ œ/์ˆ˜์ •์„ ๊ธˆํ•ฉ๋‹ˆ๋‹ค. Elasticsearch๋Š” ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ๋  ํ…€ ๋“ค์„ ๋ฏธ๋ฆฌ ๋ถ„๋ฆฌํ•ด์„œ ์—ญ ์ธ๋ฑ์Šค์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณผํ•™ ์šฉ์–ด์ง‘ ๊ฒ€์ƒ‰ ๊ฐ™์€ ํŠน์ •ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋”ฐ๋ผ ํ…€์ด ์•„๋‹Œ ๋‹จ์–ด์˜ ์ผ๋ถ€๋งŒ ๊ฐ€์ง€๊ณ ๋„ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. RDBMS์˜ LIKE ๊ฒ€์ƒ‰ ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” wildcard ์ฟผ๋ฆฌ๋‚˜ regexp (์ •๊ทœ์‹) ์ฟผ๋ฆฌ๋„ ์ง€์›์„ ํ•˜์ง€๋งŒ, ์ด๋Ÿฐ ์ฟผ๋ฆฌ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ๋งŽ๊ณ  ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— Elasticsearch์˜ ์žฅ์ ์„ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‚ฌ์šฉ์„ ์œ„ํ•ด ๊ฒ€์ƒ‰ ํ…€์˜ ์ผ๋ถ€๋งŒ ๋ฏธ๋ฆฌ ๋ถ„๋ฆฌํ•ด์„œ ์ €์žฅ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ๋‹จ์–ด์˜ ์ผ๋ถ€๋ฅผ ๋‚˜๋ˆˆ ๋ถ€์œ„๋ฅผ NGram ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต์€ unigram(์œ ๋‹ˆ๊ทธ๋žจ ..

article thumbnail
[Kubernetes] ๋ฐฐํฌ๋œ ํŒŒ๋“œ์˜ ์„ธ๋ถ€ ๊ฐ’์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•
... 2021. 8. 24. 12:42

์ด ๊ธ€์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. $ kubectl get pod pod-name -o yaml ์œ„ ๋ช…๋ น์–ด๋Š” ํŒŒ๋“œ์— ๋Œ€ํ•œ yaml ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. $ kubectl get pods pod-name -o yaml > pod.yaml ๋”ฐ๋ผ์„œ ์œ„์— ๋ช…๋ น์–ด๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ์ถ”ํ›„ ํ•ด๋‹น ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.

article thumbnail
[Kubernetes] ํŒŒ๋“œ(pods)์˜ ๋™์ž‘ ๋ณด์ฆ ๊ธฐ๋Šฅ
... 2021. 8. 24. 12:35

์ด ๊ธ€์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ํŒŒ๋“œ ์ž์ฒด์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŒŒ๋“œ๋ฅผ ์ž๋™ ๋ณต๊ตฌํ•ด์„œ ํŒŒ๋“œ๊ฐ€ ํ•ญ์ƒ ๋™์ž‘ํ•˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. deployment๋กœ ์ƒ์„ฑํ•œ ์˜ค๋ธŒ์ ํŠธ์™€ ๊ทธ๋ƒฅ ํŒŒ๋“œ ์˜ค๋ธŒ์ ํŠธ 2๊ฐœ๊ฐ€ ์žˆ๊ณ , ์ด๋ฅผ ์‚ญ์ œํ–ˆ๋‹ค๊ณ  ํ–ˆ์„ ์‹œ kubectl get pods ๋ช…๋ น์–ด๋กœ์˜ค๋ธŒ์ ํŠธ๋“ค์„ ํ™•์ธํ•ด๋ณด๋ฉด deployment ์˜ค๋ธŒ์ ํŠธ๋งŒ ์‚ด์•„์žˆ์Šต๋‹ˆ๋‹ค. deployment ์•ˆ์— ์žˆ๋Š” replicat์…‹์— ์˜ํ•ด์„œ ํŒŒ๋“œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์— deployment๋กœ ์ƒ์„ฑํ•œ ํŒŒ๋“œ๋“ค์€ ์‚ญ์ œ๋˜๋„ ๋‹ค์‹œ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. age๋ฅผ ๋ด๋„ ๋‹ค์‹œ ์ƒ์„ฑ๋œ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ƒฅ ํŒŒ๋“œ๋Š” ์ด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™๋ณต๊ตฌ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. *์ฐธ๊ณ  : ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ..

article thumbnail
[Kubernetes] kubectl exec -it ๋ช…๋ น์–ด์—์„œ -- ์˜๋ฏธ
... 2021. 8. 24. 12:28

์ด ๊ธ€์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌํ•œ ํŒŒ๋“œ์— ์ ‘๊ทผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” $ kubectl exec -it nginx-pod -- /bin/bash ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ 2๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ์˜ˆ์ œ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. $ kubectl exec -it nginx-pod ls -l /run $ kubectl exec -it nginx-pod -- ls -l /run ์ฒซ๋ฒˆ์งธ ๋ช…๋ น์–ด๋Š” -l ์˜ต์…˜์„ exec์˜ ์˜ต์…˜์œผ๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‘๋ฒˆ์งธ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์˜๋„ํ•œ๋Œ€๋กœ /run์˜ ๊ถŒํ•œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๊ตณ์ด ํ•„์š”ํ•˜์ง€ ์•Š์•„๋„ exec๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ช…์‹œ์ ์œผ๋กœ '--'๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

article thumbnail
[Node.js] Ubuntu์—์„œ Node.js ๋ฒ„์ „์—… ํ•˜๊ธฐ
... 2021. 8. 24. 12:24

distro-stable version ์„ค์น˜ (apt) ๊ฐ„๋‹จํ•˜๊ฒŒ apt๋ฅผ ์ด์šฉํ•ด ์„ค์น˜ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. $ sudo apt update $ sudo apt install nodejs $ sudo apt install npm ๊ทธ๋Ÿฐ๋ฐ ๋ฒ„์ „์ด ๋„ˆ๋ฌด ๋‚ฎ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์„ ๋ฐ›๊ธฐ ์œ„ํ•ด PPA(Personal package archive)๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. PPA๋กœ ์„ค์น˜ NodeSource์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋Š” PPA์—์„œ ์ข€ ๋” ์ตœ์‹  ๋ฒ„์ „์„ ๋ฐ›์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ ์ผ์ž ๊ธฐ์ค€ LTS ๋ฒ„์ „์€ 12.18.3, Latest ๋ฒ„์ „์€ 14.7.0์ธ๋ฐ Latest์ธ 14๋ฒ„์ „์œผ๋กœ ์„ค์น˜ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. $ curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_14_setup.sh ์„ค..

article thumbnail
[Kubernetes] ๋””ํ”Œ๋กœ์ด๋จผํŠธ(Deployment)์™€ yaml ์ž‘์„ฑ๋ฒ•
... 2021. 8. 20. 16:51

์ด ๊ธ€์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์˜ค๋ธŒ์ ํŠธ๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ ์ž ๊ธฐ๋ณธ ์˜ค๋ธŒ์ ํŠธ ์™ธ ๋‹ค์–‘ํ•œ ์˜ค๋ธŒ์ ํŠธ๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋ฒˆ์—” ๋””ํ”Œ๋กœ์ด๋จผํŠธ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋””ํ”Œ๋กœ์ด๋จผํŠธ ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋Š” ํ•œ๋งˆ๋””๋กœ ํŒŒ๋“œ + ๋ ˆํ”Œ๋ฆฌ์นด์…‹์ž…๋‹ˆ๋‹ค. * ์ฐธ๊ณ  : ๋ ˆํ”Œ๋ฆฌ์นด์…‹์€ ํŒŒ๋“œ์˜ ์ˆ˜๋ฅผ ๋ณด์žฅํ•ด์ฃผ๋Š” ์˜ค๋ธŒ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ API ์„œ๋ฒ„์™€ ์ปจํŠธ๋กค๋Ÿฌ ๋งค๋‹ˆ์ €๋Š” ๋‹จ์ˆœํžˆ ํŒŒ๋“œ์˜ ๊ฐ์‹œ๊ฐ€ ์•„๋‹Œ ๋””ํ”Œ๋กœ์ด๋จผํŠธ์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ฐ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋กœ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ create, apply ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋กœ ์ƒ์„ฑํ•œ ํŒŒ๋“œ๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด scale ๋ช…๋ น์–ด๋ฅผ ๋‹ค์‹œ ์ณ์•ผํ•˜์ง€๋งŒ yaml์„ ์‚ฌ์šฉํ•˜์—ฌ ๋””ํ”Œ..

article thumbnail
[Kubernetes] ์˜ค๋ธŒ์ ํŠธ(Object)๋ž€?
... 2021. 8. 20. 16:25

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

article thumbnail
[Kubernetes] ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ์‹œ run, create, apply ์ฐจ์ด
... 2021. 8. 20. 13:06

์ด ๊ธ€์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•œ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋ช…๋ น์–ด๋งŒ์œผ๋ก  ํ•œ๊ณ„๊ฐ€ ์žˆ์–ด yaml์— ์ŠคํŽ™์„ ์ž‘์„ฑ ํ›„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑํ•œ yaml ํŒŒ์ผ ๊ธฐ์ค€์œผ๋กœ run, create, apply๋กœ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ create, apply์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. run๊ณผ create ๋น„๊ต run์€ ํŒŒ๋“œ 1๊ฐœ๋งŒ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. create๋Š” ๊ทธ๋ฃน ๋‚ด ํŒŒ๋“œ 1๊ฐœ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. run์œผ๋กœ ์ƒ์„ฑํ•œ ํŒŒ๋“œ๋Š” ์ดˆ์ฝ”ํŒŒ์ด1๊ฐœ์ด๊ณ , create๋กœ ์ƒ์„ฑํ•œ ํŒŒ๋“œ๋Š” ์ดˆ์ฝ”ํŒŒ์ด ๋ฐ•์Šค ์•ˆ์— ์žˆ๋Š” ์ดˆ์ฝ”ํŒŒ์ด1๊ฐœ์ž…๋‹ˆ๋‹ค. create๊ณผ apply ๋น„๊ต ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ๋””ํ”Œ๋กœ์ด๋จผํŠธ ์ผ ๊ฒฝ์šฐ replicas ๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด์„œ ํŒŒ๋“œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ณด์žฅ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ create๋ฅผ ์ด์šฉํ•˜์—ฌ ๋””ํ”Œ๋กœ์ด๋จผํŠธ ์ƒ์„ฑํ–ˆ์„ ๊ฒฝ์šฐ y..

profile on loading

Loading...