PowerShell์—์„œ ์ผ์‹œ์ ์œผ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ˆ˜์ •ํ•˜๊ธฐ
๊ฐœ๋ฐœ&IT/Infra. & Arch. & Cloud2024. 4. 2. 15:55PowerShell์—์„œ ์ผ์‹œ์ ์œผ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ˆ˜์ •ํ•˜๊ธฐ

์˜๊ตฌ์ ์œผ๋กœ ์ถ”๊ฐ€/์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ ๋ง๊ณ , ๋‹ค๋งŒ ํ˜„์žฌ Powershell ์„ธ์…˜์—์„œ๋งŒ ์ ์šฉํ•˜๋ ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ๋‹ค. $env:Path # shows the actual content $env:Path = 'C:\foo;' + $env:Path # attach to the beginning $env:Path += ';C:\foo' # attach to the end ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•ด๋‹น ์„ธ์…˜์—์„œ๋งŒ ํŠน์ • ๊ฒฝ๋กœ์˜ java๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ž…๋ ฅํ•˜์—ฌ Path๋ผ๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์›ํ•˜๋Š” ๊ฐ’์„ ์ผ์‹œ์ ์œผ๋กœ ๋ง๋ถ™์ธ๋‹ค. $env:Path += ';C:\pts\openjdk-17_windows-x64_bin\jdk-17\bin\' ์ถ”๊ฐ€ํ•œ ๋’ค java๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฐ์น˜ ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. PowerS..

Ubuntu ๋จธ์‹  ๋ณต์ œ ์‹œ IP ์ฃผ์†Œ ๊ฒน์นจ ๋ฌธ์ œ ํ•ด๊ฒฐ
๊ฐœ๋ฐœ&IT/Infra. & Arch. & Cloud2024. 3. 29. 19:53Ubuntu ๋จธ์‹  ๋ณต์ œ ์‹œ IP ์ฃผ์†Œ ๊ฒน์นจ ๋ฌธ์ œ ํ•ด๊ฒฐ

์˜ค๋žœ๋งŒ์— VirtualBox๋ฅผ ์“ธ ์ผ์ด ์žˆ์—ˆ๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์ด Ubuntu VM์„ ๋ณต์ œํ•˜๋‹ˆ IP ์ฃผ์†Œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๋ฌธ์ œ๋Š” MAC ์ฃผ์†Œ๋ฅผ ๋ฐ”๊พธ๊ณ  ์žฌ๋ถ€ํŒ…ํ•ด๋„ IP ์ฃผ์†Œ๊ฐ€ ๊ทธ๋Œ€๋กœ ์ค‘๋ณต๋œ๋‹ค๋Š” ์ ์ด์—ˆ๋‹ค. ๋ณด๋‹ค์‹œํ”ผ VirtualBox VM๋“ค๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•œ ๋ณ„๋„์˜ NAT ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•ด๋†“์€ ์ƒํƒœ์ด๊ณ , ์—ฌ๊ธฐ์„œ MAC ์ฃผ์†Œ๋„ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋™์ผํ•œ `10.0.119.5`๋ผ๋Š” IP ์ฃผ์†Œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ MAC ์ฃผ์†Œ๋ฅผ ๋ฐ”๊พธ๊ณ  ์žฌ๋ถ€ํŒ…ํ•ด๋„ IP ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” `nano /etc/netplan/00-installer-config.yaml`์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•œ๋‹ค. ์ด๋•Œ IP ์ฃผ์†Œ๋ฅผ ์ƒˆ๋กœ ๋ฐ›๊ณ ์ž ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” `enp0s3`์ด๋ผ ๊ฐ€์ •ํ•œ๋‹ค. ํŠนํžˆ ์ € `dhcp-iden..

Ansible ์„ค์น˜ ๋ฐ Ansible๋กœ AWS EC2 ์ƒ์„ฑํ•˜๊ธฐ
๊ฐœ๋ฐœ&IT/Infra. & Arch. & Cloud2024. 3. 11. 15:19Ansible ์„ค์น˜ ๋ฐ Ansible๋กœ AWS EC2 ์ƒ์„ฑํ•˜๊ธฐ

๊ธฐ์กด์˜ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋“ฑ์„ ์ „๋ถ€ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฌถ๊ณ  ์ถ”์ƒํ™”ํ•˜์—ฌ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ ๊ฐ€์ƒํ™”๋œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ์ƒ์„ฑ, ๊ด€๋ฆฌ, ํ๊ธฐํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ '์ฝ”๋“œํ˜• ์ธํ”„๋ผ์ŠคํŠธ๋Ÿญ์ฒ˜ (IaC; Infrastructrure as Code)'๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ํ•ด๋‹น ๊ณผ์ •์˜ ์ผ๋ถ€์ธ ์ž๋™ํ™”๋ฅผ Ansible๋ฅผ, AWS EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•˜์—ฌ ๋‹ค๋ฃจ์–ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” ์œ ์ €์˜ Windows PC๊ฐ€ ๊ด€๋ฆฌ ๋…ธ๋“œ๊ฐ€ ๋˜๋ฉฐ, ์œ ์ €์˜ PC ==> WSL (Windows Subsystem for Linux) Ubuntu 22.04 LTS + Ansible๋กœ ์ง์ ‘ AWS์— ์ ‘๊ทผํ•˜์—ฌ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๊ฒƒ์ด๋‹ค. ํ™˜๊ฒฝ ๊ตฌ์„ฑ Ansible์„ ์œ„ํ•œ ๊ฒฝ๋กœ ์ƒ์„ฑ ์ด์ œ EC..

Spring Boot MSA ๋ชจ๋‹ˆํ„ฐ๋ง: Spring Boot MSA + Prometheus + Grafana
๊ฐœ๋ฐœ&IT/DevOps2024. 3. 8. 15:47Spring Boot MSA ๋ชจ๋‹ˆํ„ฐ๋ง: Spring Boot MSA + Prometheus + Grafana

Spring Boot๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ์„œ๋น„์Šคํ•˜๋‹ค ๋ณด๋ฉด ๊ฐ ์„œ๋น„์Šค๋“ค์˜ ์ƒํƒœ๋ฅผ ํ•œ ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐํ™”๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•ด์ง„๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” Spring Boot MSA ํ”„๋กœ์ ํŠธ์— Prometheus๋ฅผ ์—ฐ๋™ ํ›„, Grafana๋กœ ์‹œ๊ฐํ™”๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. Prometheus๋ž€? Prometheus๋Š” ์›๋ž˜ Soundcloud์—์„œ ๋งŒ๋“  ์˜คํ”ˆ์†Œ์Šค ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์•Œ๋ฆผ ํˆดํ‚ท์ž…๋‹ˆ๋‹ค. 2012๋…„ ์‹œ์ž‘ ์ด๋ž˜, ๋งŽ์€ ๊ธฐ์—…๊ณผ ์กฐ์ง์ด Prometheus๋ฅผ ์ฑ„ํƒํ–ˆ์œผ๋ฉฐ, ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋งค์šฐ ํ™œ๋ฐœํ•œ ๊ฐœ๋ฐœ์ž ๋ฐ ์‚ฌ์šฉ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ๋…๋ฆฝํ˜• ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋กœ์„œ ์–ด๋–ค ํšŒ์‚ฌ๋กœ๋ถ€ํ„ฐ๋„ ๋…๋ฆฝ์ ์œผ๋กœ ์œ ์ง€ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐ•์กฐํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์˜ ๊ฑฐ๋ฒ„๋„Œ..

๊ฐœ๋ฐœ&IT/๊ธฐํƒ€2023. 12. 17. 00:05์Šคํ„ฐ๋”” ๋…ธํŠธ 12์›” 13์ผ: VIM

1. VIM์˜ 3๊ฐ€์ง€ ๋ชจ๋“œ ๋ช…๋ น ๋ชจ๋“œ (Normal mode) ๋ฌธ์„œ ๊ฒ€์ƒ‰, ์ค„๋ฐ”๊ฟˆ, ์ปค์„œ ์ด๋™ ๋“ฑ. ์ž…๋ ฅ ๋ชจ๋“œ (Insert mode) ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •. Ex ๋ชจ๋“œ (Command-line mode) ':'๋ฅผ ๋ˆŒ๋Ÿฌ Ex ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•˜๋ฉด, ํŒŒ์ผ ์ €์žฅ, ์ข…๋ฃŒ, ์ฐพ๊ธฐ ๋ฐ ๋ฐ”๊พธ๊ธฐ ๋“ฑ ๋ช…๋ น ์ž…๋ ฅ. 2. ์ฃผ์š” ๋‹จ์ถ•ํ‚ค ๋ฐ ๊ธฐ๋Šฅ ๋ช…๋ น ๋ชจ๋“œ (Normal mode) h, j, k, l: ์ปค์„œ ์ด๋™ (โ—€, โ–ผ, โ–ฒ, โ–ถ) x: ํ˜„์žฌ ์ปค์„œ ์œ„์น˜์˜ ๋ฌธ์ž ์‚ญ์ œ dd: ํ˜„์žฌ ์ค„ ์‚ญ์ œ yy: ํ˜„์žฌ ์ค„ ๋ณต์‚ฌ p: ๋ถ™์—ฌ๋„ฃ๊ธฐ u: ์‹คํ–‰ ์ทจ์†Œ (Undo) Ctrl + r: ๋‹ค์‹œ ์‹คํ–‰ (Redo) gg: ํŒŒ์ผ์˜ ์‹œ์ž‘๋ถ€๋ถ„์œผ๋กœ ์ด๋™ G: ํŒŒ์ผ์˜ ๋๋ถ€๋ถ„์œผ๋กœ ์ด๋™ /:๊ฒ€์ƒ‰์–ด: ํ…์ŠคํŠธ ๊ฒ€์ƒ‰ n: ๋‹ค์Œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ์ด๋™ N: ..

๊ฐœ๋ฐœ&IT/์›น ๋ฐฑ์—”๋“œ2023. 12. 17. 00:02์Šคํ„ฐ๋”” ๋…ธํŠธ 12์›” 15์ผ: JPA ๋ฐ JPA์—์„œ ์“ฐ์ด๋Š” XML ๋ฌธ์„œ

JPA: Java Persistence API RDB์˜ ๊ตฌ์กฐ์— ๋งž๋„๋ก ์ž๋™ ์ƒ์„ฑ ๊ถŒ์žฅ์‚ฌํ•ญ ๋ณต์žกํ•œ ํ…Œ์ด๋ธ” ๊ด€๊ณ„ ํ˜•์„ฑ ๋ฐ ์ƒ์„ฑ์€ SQL๋ฌธ์œผ๋กœ ํ•˜์ž. ๋งค์šฐ ๋ณต์žกํ•œ SQL๋ฌธ์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ, JPA์˜ API๋กœ๋Š” ํ•ด๊ฒฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ. ์ด๋Ÿด ๋•Œ๋Š”, JDBC API + ์ˆœ์ˆ˜ SQL๋ฌธ + JPA + ... ์ˆœ์ˆ˜ ์ž๋ฐ” ์ฝ”๋“œ๋กœ DDL (Create, Drop, Alter), DML () ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ. ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ ๋ฉ”์„œ๋“œ๊ฐ€ ์กด์žฌ. ํŠน์ง• ์žฆ์€ ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๋™์— ๊ธฐ๋ฏผํ•œ ๋Œ€์‘์ด ๊ฐ€๋Šฅ. ์ „ํ†ต์  ๋ฐฉ์‹: DROP TABLE ... ==> CREATE TABLE ... ==> ๋ฐ์ดํ„ฐ ์ด๊ด€ ==> ์ž๋ฐ” ์†Œ์Šค ์ˆ˜์ • ==> ์ปดํŒŒ์ผ ... JPA๋Š”, ๊ทธ๋ƒฅ entity ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋“ค ์ˆ˜์ •ํ•˜์—ฌ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ. persistenc..

Nextcloud ์—…๋ฐ์ดํŠธ๋ฅผ ์›น ๋Œ€์‹  ์ฝ˜์†”์ฐฝ์—์„œ ํ•˜๊ธฐ
๊ฐœ๋ฐœ&IT/Infra. & Arch. & Cloud2023. 6. 22. 18:28Nextcloud ์—…๋ฐ์ดํŠธ๋ฅผ ์›น ๋Œ€์‹  ์ฝ˜์†”์ฐฝ์—์„œ ํ•˜๊ธฐ

Nextcloud๋Š” ์›น์—์„œ ํด๋ฆญ ๋ช‡๋ฒˆ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋™ ์—…๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์–ด์„œ ํŽธํ•˜๋‹ค. ํ•˜์ง€๋งŒ, ์ด ์ž๋™ ์—…๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€๋”์”ฉ ์˜ค๋ฅ˜๋ฅผ ์ผ์œผํ‚ค๋ฉฐ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ, ์›น ๋Œ€์‹  ํ„ฐ๋ฏธ๋„์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ถ„ํˆฌ 22.04 ๋ฐ Apache + PHP ์„œ๋ฒ„ ๊ธฐ์ค€. $ cd /var/www/html/nextcloud $ sudo chmod u+x ./occ $ sudo -u www-data php ./occ upgrade ์ƒ๊ธฐ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์—์„œ ๋Œ๋ฆฌ๋ฉด ์œ„ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

Flatpak ๊ธฐ๋ฐ˜ Bottles์˜ ์‹คํ–‰ ์˜ˆ์‹œ
๊ฐœ๋ฐœ&IT/๊ธฐํƒ€2022. 7. 17. 20:54Flatpak ๊ธฐ๋ฐ˜ Bottles์˜ ์‹คํ–‰ ์˜ˆ์‹œ

cd "/home/asdf/MAME 0.244b/" flatpak run --command=bottles-cli com.usebottles.bottles run -b 'MAME' -e ./mame.exe --args 'mslug -debug' ์ด๋Š” ์ฆ‰ /home/asdf/MAME 0.244b/๋กœ ๊ฒฝ๋กœ๋ฅผ ์˜ฎ๊ฒจ์„œ, Flatpak๊ฐ€ Bottles๋ฅผ ์ผค ๋•Œ MAME๋ผ๋Š” bottle ํ™˜๊ฒฝ์œผ๋กœ ๋Œ๋ฆฌ๋ฉฐ, ํ•ด๋‹น ๊ฒฝ๋กœ์˜ mame.exe์„ mslug -debug ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„ฃ๊ณ  ์‹คํ–‰ํ•˜๋ผ๋Š” ์˜๋ฏธ์ž„.

image