커뮤니티
학습 질문, 프로젝트 공유, 스터디 모집
bash 스크립트에서 exit code 확인하는 방법이 궁금합니다
리눅스 bash 스크립트를 짜다가 막혔습니다. ```bash #!/bin/bash cp /etc/hosts /tmp/backup_hosts echo "복사 완료" ``` 위 스크립트에서 cp 명령이 실패했을 때 …
docker-compose에서 컨테이너 간 통신이 안 되는 이유가 뭔가요?
docker-compose로 웹앱 + DB 띄웠는데 웹앱에서 DB에 연결이 안 됩니다. ```yaml services: web: image: node:18 ports: - "3000:3…
crontab 설정했는데 실행이 안 됩니다 (환경변수 문제?)
매일 새벽 2시에 백업 스크립트를 돌리려고 crontab을 설정했는데 실행이 안 됩니다. ``` 0 2 * * * /home/ubuntu/backup.sh ``` 터미널에서 직접 실행하면 잘 되는데 cron으로는…
DNS TTL이 줄었는데도 캐시가 계속 남아있어요
도메인 TTL을 3600에서 60으로 줄였는데 변경이 너무 오래 걸립니다. 변경한 지 30분이 넘었는데 아직도 옛날 IP로 응답하네요. `dig @8.8.8.8 example.com`으로 확인하면 새 IP가 맞는데…
EXPLAIN ANALYZE 결과 해석을 도와주세요
쿼리가 너무 느려서 EXPLAIN ANALYZE 돌렸는데 어디가 문제인지 모르겠어요. ``` Seq Scan on orders (cost=0.00..18534.00 rows=1000000 width=64) (act…
ss -tulnp 명령어 출력 해석 방법 알려주세요
네트워크 포트 확인하려고 `ss -tulnp` 쳤는데 출력이 너무 많아서 혼란스럽습니다. ``` tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=…
Docker 컨테이너 내부에서 호스트 파일 접근하는 방법
호스트의 `/var/log/app.log` 파일을 컨테이너 내부에서 읽고 싶은데 방법이 있나요? volume mount를 쓰면 되는 건 알겠는데, 읽기 전용으로만 마운트하고 싶어요. 그리고 컨테이너가 재시작돼도 마…
JOIN vs 서브쿼리 언제 어떤 걸 써야 하나요?
같은 결과를 내는 쿼리를 두 가지 방식으로 작성했는데 어느 게 더 좋은 건지 모르겠어요. **방법 1 (JOIN)** ```sql SELECT u.name, COUNT(o.id) as order_count FROM…
파일 권한 755 vs 644 언제 어떤 걸 쓰나요?
리눅스 파일 권한이 헷갈립니다. 실무에서는 어떤 기준으로 설정하나요? 제가 이해한 게 맞는지 확인해주세요: - 755: 실행 파일, 디렉터리 - 644: 일반 파일 - 600: 개인 키, 비밀번호 파일 맞나요? …
Docker postgres 컨테이너 데이터 영구 보존 방법
개발용으로 postgres를 Docker로 띄우고 있는데 컨테이너 재시작하면 데이터가 날아갑니다. ```bash docker run -d --name postgres -e POSTGRES_PASSWORD=mysec…
TCP 3-way handshake가 실패하는 상황은 언제인가요?
네트워킹 공부하다가 궁금해졌는데요, curl로 서버에 요청할 때 connection refused랑 connection timeout이 다른 이유가 뭔가요? - `curl: (7) Failed to connect:…
grep으로 여러 파일에서 패턴 찾고 파일명만 출력하기
로그 파일 여러 개에서 특정 에러가 있는 파일만 추려내고 싶어요. `grep "CRITICAL" /var/log/app/*.log` 를 치면 매칭된 라인이 전부 나오는데, 파일명만 리스트로 보고 싶어요. 어떤 옵션…
Composite index 컬럼 순서가 왜 중요한가요?
인덱스 공부하다가 복합 인덱스 컬럼 순서가 중요하다고 하는데 이해가 안 됩니다. ```sql CREATE INDEX idx_orders ON orders(user_id, status, created_at); ```…
kill -9 vs kill -15 차이가 뭔가요?
프로세스 종료 명령어가 여러 개 있던데 차이가 뭔지 궁금합니다. - `kill {pid}` - `kill -9 {pid}` - `kill -15 {pid}` 실무에서는 어떤 상황에서 어떤 명령을 써야 하나요? -…
Docker network bridge vs host 모드 차이
Docker 네트워크 모드 설정할 때 bridge랑 host 중에 뭘 써야 하는지 모르겠어요. bridge 모드에서 포트 포워딩 설정하면 외부에서 접근 가능한 건 알겠는데, host 모드를 쓰면 포트 포워딩 없이 …
SSH 접속할 때 Host key verification failed 오류
서버 재설치 후 SSH 접속하려니까 이런 오류가 납니다: ``` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS …
Docker 이미지랑 컨테이너 차이가 헷갈려요
Docker 공부하다가 이미지랑 컨테이너 개념이 계속 헷갈립니다. - `docker images`: 이미지 목록 - `docker ps`: 실행 중인 컨테이너 목록 - `docker ps -a`: 중단된 것 포함 …
systemd timer vs crontab 뭐가 더 좋나요?
정기적인 작업을 설정하려고 하는데 crontab이 일반적이라고 알고 있는데, systemd timer도 있더라고요. 둘의 차이가 뭔가요? systemd timer가 더 최신이라고 하는데 crontab 대신 써야 하…
HTTPS 인증서 만료되면 어떻게 되나요?
Let's Encrypt로 SSL 인증서 발급했는데 90일마다 갱신해야 한다고 들었어요. 갱신을 잊어버리면 어떻게 되나요? 사이트가 아예 안 열리나요? 아니면 경고만 뜨나요? 그리고 certbot의 자동 갱신이 …
DELETE vs TRUNCATE 어떻게 다른가요?
테이블 데이터를 전체 삭제할 때 두 방법이 있는데 차이가 궁금합니다. ```sql DELETE FROM table_name; TRUNCATE TABLE table_name; ``` TRUNCATE가 더 빠르다고 …