์ ์์ค๋ ์๊ณ ๋์ ํด์ฌ๋ฅผ ๊ฒฐ์ ํ๊ณ ํฌ๋ํํค ์ ๊ธ 8๊ธฐ์ ํฉ๋ฅํ์์ต๋๋ค. ์ ์์ ๋น์ผ ์์นจ ์ง์ ๋ฆฌ๋ฅผ ๋ง์น๊ณ 12์์ ํฌ๋ํํค ์ ๊ธ ์ฉ์ธ์บ ํผ์ค์ ๋์ฐฉํ์ฌ ์ฒดํฌ์ธ์ ์งํํ์์ต๋๋ค. ์ดํ 14์ ์ ์์์ด ์งํ๋์์ต๋๋ค.๊ธฐ์์ฌ๊ธฐ์์ฌ์ ๋ํ ์์ธํ ์ด์ผ๊ธฐ๋ ์ฐจํ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ๋ค๋ง ํฌ๋ํํค ์ ๊ธ ์ฉ์ธ ์บ ํผ์ค๊ฐ ์ด๋ฒ์ ์๊ณต๋ ๋งํผ ์ต๊ณ ์ ์์ค์ ๊ฐ์ถ์๋ค๋ ์ ์ ๋ถ๋ช ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ถ๋ฏธ๊ถ ๋ํ์์ ํํ ๋ณผ ์ ์๋ ๋ณต๋์ (corridor style) ๊ตฌ์กฐ์ ๊ฐ๊น์ต๋๋ค. ๋ค๋ง ์ ์ 2์ธ์ค์ ๋๋ค. ์ด์ ์ ๋ํ๊ต ์์ค์ ๊ณต์ ํ๋ ์์ ์๋ 1์ธ์ค ์ ํ์ด ๋ถ๊ฐ๋ฅํ์ง๋ ์์๋ ๋ฏํ๋ฐ, ์ด ๋ถ๋ถ์ ์์ฌ์ด ์ ์ ๋๋ค.3๋ฐ4์ผ ๋ฏธ๋ ํ๋ก์ ํธ๋ณดํต์ ํ๋ก๊ทธ๋จ์ด๋ผ๋ฉด ์ ์ ์ฒซ๋ ์๋ ์ง์ ํ๊ณ ์ ๋นํ ๊ต์ก๊ด์ด๋ ๊ธฐ์์ฌ ์์ค์ ๊ตฌ..
์ด๋ฅธ๋ฐ 'AI ์๋'๊ฐ ๋๋ฉด์ ์๋์ฐ 11 ๋ ธํธ๋ถ๋ค์ ์๋ก์ด ํค๊ฐ ์๊ฒผ์ต๋๋ค. ๋ฐ๋ก ์ฝํ์ผ๋ฟ ํค์ ๋๋ค.์์ฌ์ด ์ ์ด ์๋ค๋ฉด, ํค๋ณด๋์ ์์ ์๋ก์ด ํค๊ฐ ์๊ธด ๊ฒ์ด๋ผ๊ธฐ๋ณด๋ค๋, ๊ธฐ์กด์ ์ฐCtrl / ํ์ / ์ ํ๋ฆฌ์ผ์ด์ ํค๋ฅผ ๋์ฒดํ๋ ํํ๋ก ๋ค์ด์๋ค๋ ๊ฒ์ธ๋ฐ์, ์ด๋ก ์ธํด ๊ธฐ์กด์ ์๋ฒ๋ฆ๋๋ก ํค๋ฅผ ๋๋ฅด๋ค๊ฐ ๋ณธ์ ์๋๊ฒ ์ฝํ์ผ๋ฟ์ด ์ผ์ง๋ ๋ฒ๊ฑฐ๋ก์ด ์ํฉ์ด ์๊ธฐ๊ธฐ๋ ํฉ๋๋ค. ํนํ, ํ์ ํค๋ฅผ ๊ธฐ์กด์ฒ๋ผ ๋๋ฅด๋ค๊ฐ ์ฝํ์ผ๋ฟ์ด ์ผ์ง๋ ์ผ์ด ์ฆ์์ก์ต๋๋ค..์ด๋ฒ ํฌ์คํ ์์๋ Microsoft PowerToys๋ฅผ ์ด์ฉํ์ฌ ์ ์ฝํ์ผ๋ฟ ํค๋ฅผ ๋๊ฑฐ๋, ๋๋ก ์ฐCtrl / ํ์ / ์ ํ๋ฆฌ์ผ์ด์ ํค๋ก ์๋ํ๊ฒ๋ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ธฐ์ข /ํน์ฑ์ ๋ฐ๋ผ ๋ค๋ฅธ ํค๋ก ๋์ฒด๊ฐ ์๋๊ณ ๋๋ ๊ฒ๋ง ๊ฐ๋ฅํ ์๋ ์์ต๋๋ค. Microsof..
์ด ์์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ssh-copy-id์ ์ ์ฌํ ์ญํ ์ ํ๋, ๋์ VM์ ๊ณ์ ์ ๋ก๊ทธ์ธ ์ ธ์ด nologin์ด๋ผ์ ์์ ์ ์ํํ ์ ์์ ๋ ์๋ํด๋ณผ ์ ์๋ค.Public key๋ฅผ ์ฌ์ ๋์์ด `zabbix@10.123.0.8`๋ผ ์น๊ณ , ํด๋น ๊ณ์ ์ ํ ๊ฒฝ๋ก๊ฐ ์์ฑ๋์ด์์ง ์์ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ด ์คํํ ์ ์๋ค.๋ค๋ง ์ด ์์ ์ ์ํด ๋์ VM์ root ๊ถํ์ด ํ์ํ๋ค.ssh root@10.123.0.8 \ "mkdir -p /var/lib/zabbix;chown zabbix:zabbix /var/lib/zabbix; sudo -u zabbix mkdir -p /var/lib/zabbix/.ssh"cat ~/.ssh/id_rsa.pub | \ ssh root@10.123.0.8 \ "sudo ..
OpenVPN Connect ๋ง๊ณ ๊ธฐ์กด์ Community ๋ฒ์ ์ ๋๋ค. ์๋๋ AMD64 (์๋์ฐ 64๋นํธ ์ผ๋ฐ์ฉ) ๋น๋์ ๋๋ค. ์๋๋ ARM64 (Snapdragon ๋ฑ ARM ์นฉ์ด ํ์ฌ๋ ์๋์ฐ) ๋น๋์ ๋๋ค. ์ถ์ฒ: https://openvpn.net/community-downloads/
์๊ตฌ์ ์ผ๋ก ์ถ๊ฐ/์์ ํ๋ ๊ฒ ๋ง๊ณ , ์ค์ง ํ์ฌ 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\'์ถ๊ฐํ ๋ค jav..
์ค๋๋ง์ 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..
์ํฌ๋ก๋ฑ ๋ฆฌ๋๋ ์ด๋๋น์์ ๋ง๋ ์ ๋ช ํ PDF ๋ทฐ์ด์ธ๋ฐ, ํ์์ ๋ฐ๋ผ ๊ตฌ๋ฒ์ ์ ์ค์นํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ด ๋ ์๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ค์นํ ์ ์๋ค. ๋จผ์ , ์ด๋ฏธ ๊น๋ ค ์๋ ์ํฌ๋ก๋ฑ ๋ฆฌ๋๊ฐ ์๋ค๋ฉด ์ ๊ฑฐํ๋ค.๊ทธ ๋ค์, PC์ ์ข์ธกํ๋จ์ ๋ง์ฐ์ค์ฐํด๋ฆญ ํ, ์๋์ ๊ฐ์ด Windows PowerShell (๊ด๋ฆฌ์)๋ฅผ ํด๋ฆญํ๋ค.๊ด๋ฆฌ์ ๋ชจ๋์ฌ์ผ ํ๋ค.๊ผญ! ๊ด๋ฆฌ์ ๋ชจ๋์ฌ์ผ ํ๋ค. ์คํ๋๋ฉด ์๋์ ๊ฐ์ ๋ช ๋ น ํ๋กฌํํธ ๋น์ทํ ์ฐฝ์ด ๋ฐ ๊ฒ์ด๋ค.์๋ ๋ช ๋ น์ด๋ฅผ ๋ฃ์ ๋ค ์ํฐ ์น๋ค. ์ด ๋ช ๋ น์ด๋ฅผ ํตํด choco๋ผ๋ ํ๋ก๊ทธ๋จ ์ค์น ๊ด๋ฆฌ์๋ฅผ ์ด์ฉํ ์ ์๊ฒ ๋๋ค.Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityPro..
๊ธฐ์กด์ ๋ฌผ๋ฆฌ์ ์๋ฒ, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ๋ฑ์ ์ ๋ถ ํด๋ฌ์คํฐ๋ก ๋ฌถ๊ณ ์ถ์ํํ์ฌ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ๊ฐ์ํ๋ ์ธํ๋ผ๋ฅผ ์ฝ๋๋ก ์์ฑ, ๊ด๋ฆฌ, ํ๊ธฐํ๋ ์ผ๋ จ์ ๊ณผ์ ์ '์ฝ๋ํ ์ธํ๋ผ์คํธ๋ญ์ฒ (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๋ก ๋ฐฑ์๋๋ฅผ ์๋น์คํ๋ค ๋ณด๋ฉด ๊ฐ ์๋น์ค๋ค์ ์ํ๋ฅผ ํ ๋์ ๋ณผ ์ ์๋ ์๊ฐํ๋ ๋ชจ๋ํฐ๋ง ์์คํ ์ด ํ์ํด์ง๋ค. ์ด๋ฅผ ์ํด ์ด๋ฒ ํฌ์คํธ์์๋ Spring Boot MSA ํ๋ก์ ํธ์ Prometheus๋ฅผ ์ฐ๋ ํ, Grafana๋ก ์๊ฐํ๋ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค. Prometheus๋? Prometheus๋ ์๋ Soundcloud์์ ๋ง๋ ์คํ์์ค ์์คํ ๋ชจ๋ํฐ๋ง ๋ฐ ์๋ฆผ ํดํท์ ๋๋ค. 2012๋ ์์ ์ด๋, ๋ง์ ๊ธฐ์ ๊ณผ ์กฐ์ง์ด Prometheus๋ฅผ ์ฑํํ์ผ๋ฉฐ, ์ด ํ๋ก์ ํธ๋ ๋งค์ฐ ํ๋ฐํ ๊ฐ๋ฐ์ ๋ฐ ์ฌ์ฉ์ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ํ์ฌ๋ ๋ ๋ฆฝํ ์คํ ์์ค ํ๋ก์ ํธ๋ก์ ์ด๋ค ํ์ฌ๋ก๋ถํฐ๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋๊ณ ์์ต๋๋ค. ์ด๋ฅผ ๊ฐ์กฐํ๊ณ ํ๋ก์ ํธ์ ๊ฑฐ๋ฒ๋..
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: ..
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๋ ์น์์ ํด๋ฆญ ๋ช๋ฒ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ์งํํ ์ ์๋ ์๋ ์ ๋ฐ์ดํฐ๊ฐ ์์ด์ ํธํ๋ค. ํ์ง๋ง, ์ด ์๋ ์ ๋ฐ์ดํฐ๊ฐ ๊ฐ๋์ฉ ์ค๋ฅ๋ฅผ ์ผ์ผํค๋ฉฐ ์ค๋จ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ด ๋, ์น ๋์ ํฐ๋ฏธ๋์ ํตํด ์ ๋ฐ์ดํธ๋ฅผ ์งํํ ์ ์๋ค. ์ฐ๋ถํฌ 22.04 ๋ฐ Apache + PHP ์๋ฒ ๊ธฐ์ค. $ cd /var/www/html/nextcloud $ sudo chmod u+x ./occ $ sudo -u www-data php ./occ upgrade ์๊ธฐ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์์ ๋๋ฆฌ๋ฉด ์ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ ๋ฐ์ดํธ๋ฅผ ์งํํ ์ ์๋ค.