전체 글
-
[MariaDB] General log 설정Database 2023. 10. 23. 16:45
* 개요 - MariaDB 서비스를 운영하다보면, DB로 인입되는 쿼리를 볼 필요가 있다. 이때, 아래 설정을 통해서 쿼리 로그를 볼 수 있다. 해당 설정은 서비스의 성능을 엄청나게 떨어뜨리기 때문에 꼭 개발 DB에서만 사용 하길 바랍니다. - 해당 설정은 운영중에 셋업해도 되나, my.cnf 파일에 설정 해줘야 재기동 시에도 적용 된다. (적용 후 서비스 재시작 필요) * General Log 설정 확인 - On/Off 설정을 통해 적용 여부를 확인 가능 하고, 로그를 파일과, 테이블에서 볼수 있다. - 테이블에 남기는것이 보기에는 편하나, 쿼리문 자체가 엄청나게 길어지거나, 복잡해 지면 보기 어렵고, select 하는 시간도 "매우 매우" 오래 걸리므로, 파일로 보는것이 정신건강에 좋다. # 현재 설..
-
[typescript] typescript 프로젝트에서 이상적인 폴더 구조카테고리 없음 2023. 9. 27. 14:27
* 폴더 구조 my-app/ ├── src/ // TypeScript 소스 코드 │ ├── controllers/ // 컨트롤러 로직 │ ├── models/ // 데이터 모델 및 스키마 │ ├── routes/ // 라우팅 및 API 엔드포인트 정의 │ ├── services/ // 비즈니스 로직 서비스 │ ├── middlewares/ // 미들웨어 함수 │ ├── utils/ // 유틸리티 함수 및 헬퍼 │ ├── app.ts // 애플리케이션 진입점 │ └── index.ts // 메인 엔트리 포인트 ├── node_modules/ // npm 패키지 ├── package.json // 프로젝트 의존성 및 설정 ├── tsconfig.json // TypeScript 설정 파일 ├── .gitig..
-
[Docker] Docker Compose 자주 쓰는 템플릿Docker & Kubernetes 2023. 9. 20. 15:14
* Docker compose 파일 작성 시 자주쓰는 옵션 위주로 작성해 보았다. 새로 작성 할 일이 있을때, 이 파일에서 시작하는 편이다. version: '3.8' services: myDatabase: image: mysql:latest container_name: 'myMysql' hostname: 'myMysqlHost' restart: always ports: - "5678:3306" networks: - front-end - back-end volumes: - /docker/db/data:/var/lib/mysql - /docker/db/conf:/etc/mysql/conf.d - /docker/db/log:/var/log/mysql - /docker/db/backup:/var/lib/mys..
-
[windows] 연결한 적이 있는 wifi 비밀번호 확인ETC 2023. 7. 7. 11:52
* 개요 - 무선랜 연결은 자주 하는 행위가 아니므로 접속 정보를 까먹는 경우가 많다. 이 경우 한번 연결했던 적이 있는 PC 를 통해서 암호를 확인 할 수 있다. * 확인 방법 # 윈도우 cmd 에서 실행 # 연결한 적이 있는(프로필이 저장된) wifi 목록 조회 > netsh wlan show profiles # 위 목록에서 조회된 wifi의 상세정보(비밀번호 포함) 확인 > netsh wlan show profiles wifi이름 key=clear
-
[node.js] 환경 설정 파일 분리를 위한 dotenv, env-cmdWEB_DEV 2023. 7. 7. 09:11
* 개요- 개발환경과 운영환경을 분리 하여 .env 파일을 정의 할 수 있다.* 패키지 설치npm install dotenv env-cmd --save* 파일 정의 예시개발환경 -> .env.developmentPORT = "4000"NODE_ENV = "development"APP_URL = "http://localhost:4000"ORIGIN = "http://localhost:3000"JWT_SECRET = "super_secret"운영환경 -> .env.productionPORT = "4000"NODE_ENV = "production"APP_URL = "http://localhost:4000"ORIGIN = "http://localhost:3000"JWT_SECRET = "super_secret"..
-
[SSL] SSL 만료일 체커 (feat. Github)LINUX 2023. 6. 7. 11:25
* 개요 - 서비스를 운영하다보면 나도 모르는 사이 SSL 인증서가 만료되어 낭패를 겪은 적 있을것이다. 간단하게 SHELL 스크립트를 통해서 스마트하게 SSL 만료 알람을 사전에 받아서 대참사를 막아보자 * 코드 - 아래 코드를 응용해서 얼마든시 다양한 Notificator를 만들 수 있을것이다. - 핵심 커맨드 curl --insecure -v $URL 2>&1 | awk 'BEGIN { cert=0 } /^\* SSL connection/ { cert=1 } /^\*/ { if (cert) print }' | awk '/^* expire date: /{print $4,$5,$7}' #!/bin/bash ################Files to be created before starting ex..
-
[git] git diff 내역을 html 파일로 만들기카테고리 없음 2023. 5. 24. 17:38
* 개요 : git과 jenkins를 연동하여 배포 실행 시 mail로 관리자에게 승인을 받는 절차를 만들어 두었다. 이 과정에서 관리자가 어디가 변경되었는지 확인을 하기 위해 git diff를 html 파일로 만들어서 메일에 첨부하면 어떨까 생각해 보며, 아래와 같이 해결 하였다. * DEMO https://diff2html.xyz/demo.html?matching=none&matchWordsThreshold=0.25&maxLineLengthHighlight=10000&diffStyle=word&renderNothingWhenEmpty=0&matchingMaxComparisons=2500&maxLineSizeInBlockForComparison=200&outputFormat=line-by-line&dr..
-
[NGINX] Nginx 버전 숨기기ETC 2023. 5. 9. 08:29
* 개요 : Nginx 의 버전을 알 수 있다면, 공격 포인트가 될 수 있다. 해당 버전에서 어떤 보안 취약점이 있었는지 확인하고 그 부분을 통해 해킹에 노출되기 때문에 버전을 숨겨주면 더 안전한 운영을 할 수 있다. * nginx의 버전 노출 여부 확인 : nginx 서버 응답 헤더값을 보면 알 수 있다. # shell에서 손쉽게 확인 가능 (windows의 경우 wsl 활용) curl -IsL [확인하고자 하는 사이트 URL] --insecure : 위 명령어 실행 시 아래와 같이 노출되는 것을 알 수 있다. : 브라우저 개발자 도구에서도 확인 가능하다. * 숨기는 방법 # 서버의 default.conf 파일에서 server_tokens 값 off로 수정 vi /etc/nginx/nginx.conf ..