전체글621 DataGrip 에서 안전하게 Command 수행하기 DataGrip을 포함한 GUI 도구로 운영 DB에 쿼리를 수행하는건 항상 조심해야한다. 하지만, 매번 모든 쿼리를 사람이 주의해서 수행하는건 불가능하며, 사람이라면 무조건 실수를 할 수 있다. 사람인 이상 잘못된 쿼리를 실행할 수 있지만, 이게 최대한 치명적인 실수가 발생하지 않도록 장치를 둘 순 있다. 그래서 가능한 실수를 할 수 없는 환경을 조성해서 진행하는게 필요하다. 1. Reader DB 활용 보통 클라우드 서비스를 사용하거나, 어느정도 정비가 되어있는 상황이라면 Reader DB (Replica DB) 가 존재한다. GUI 도구를 사용하다보면 의도치 않게 UI 상에서 데이터 수정을 일으킬 수 있다. 그래서 단순 조회가 필요한 경우 조회 기능 밖에 지원하지 않는 DB (Reader)를 사용한다.. 2023. 3. 13. 유효기간 SNS에 글 올렸다가 기록차 + 추가적인 생각이 들어서 블로그에 남깁니다. 우리팀은 AWS ECS Fargate 를 대부분의 애플리케이션에서 사용한다. 그러다보니 예전처럼 로그 관리에 크게 신경을 쓰지 않게 되었다. 모든 출력에 대해 CloudWatch로 연동이 되어있어서 그전까지 해오던 Logback의 Rotate나 Linux의 Log Rotate 등에 대해 전혀 신경쓰지 않는 것이다. CloudWatch에 적재된 로그는 DataDog으로 전달되어 에러 추적, 모니터링, 알람등으로 사용된다. 용량 혹은 시간 기반으로 로테이트 시킬까 INFO, ERROR 등 각 레벨의 로그 파일은 어디에 위치시킬까 서버 용량에 대한 알람을 걸어두어야한다던가 로그를 모니터링 시스템으로 연동하기 위해 어떤 Agent를 어떻.. 2023. 3. 13. Giscus 댓글, 텔레그램 (Telegram) 으로 알람 받기 최근에 Giscus로 댓글 시스템을 이관하면서 새 댓글이 생성될때 알람을 받을 방법이 없었다. 그래서 간단하게 Github Action과 Telegram을 통해 알람을 받도록 구성했다. 1. 텔레그램 Bot 생성 BotFather 에서 새로운 봇을 생성한다. /newbot 을 입력해서 새로운 봇 생성을 시작 blog-comment 라는 이름으로 봇 생성 방금전에 생성한 blog-comment 봇의 username을 지어야한다. 여기서는 MyBlogCommentBot 으로 지었다. 마지막엔 꼭 bot이 붙어야 한다. 마지막 메세지에 포함된 token 값이 앞으로 사용할 Token이라 별도로 관리를 한다. 해당 Bot의 채널ID를 알아야 API를 사용할 수 있다. chatId를 확인해보기 위해 생성된 Bot.. 2023. 3. 6. Utterances 에서 Giscus 로 마이그레이션하기 블로그의 댓글을 Utterances 에서 Giscus 로 마이그레이션 했다. 기존 댓글을 잘 사용하고 있었지만, 장점이 훨씬 많은 Giscus로 이관하게 되었다. 1. Giscus 장점 Giscus 는 Utterances에 비해 많은 장점들이 있다. 대댓글 댓글 수, 댓글 정렬, 게시물에 대한 반응 다양한 테마 생각보다 많은 테마와 사용자가 직접 생성한 테마를 적용할 수 있다. 블로그에 적용된 테마는 Github Light High Contrast 테마이다. (High Contrast 테마는 JetBrains IDE에서도 사용하는 애정하는 테마이다.) 그 외 장점 지연 로딩 댓글 다국어 (한국어 포함) 봇 자체 호스팅 기타 등등 여러 다양한 옵션들이 존재 가장 중요한건 실제로 계속해서 관리가 되고 있는 .. 2023. 3. 5. 2. 좋은 함수 만들기 - 암묵적 입력/출력 지난 시간에 부작용 (부수효과) 함수에서 어떻게 최대한 부작용과 거리두기를 해서 좋은 함수를 만드는지 간단한 예제로 연습해봤다. 이번 시간에는 좋은 함수가 되기 위해 관리해야할 부작용이란 어떤 것들이 있는지 알아보자. 1. 암묵적 입력/출력 좋은 함수는 "부작용 (부수효과) 이 없으며, 멱등성을 유지할 수 있는 함수" 라고 했다. 이 부작용 (부수효과) 함수에는 크게 2가지 특징이 있다. 암묵적 입력 (implicit input) 암묵적 출력 (implicit output) 1-1. 암묵적 입력 (implicit input) 암묵적 입력이란 함수의 입력값으로 명시적으로 전달되지 않는 파라미터를 의미한다. 예를 들자면 다음과 같은 경우 암묵적 입력이다. 함수의 인자는 없는데 함수 내부에서 쿠키에서 값을 가.. 2023. 3. 1. 다른 관점에서 보기 최근에 읽었던 전국이라는 춘추+전국시대 배경의 소설책에서 나온 이야기인데 꽤 와닿는게 많았다. 지리소라는 꼽추가 있었다. 그는 흉측하고 장애도 있어 남들이 멸시했으나 바느질과 키질로 곡식을 불려 10명이나 되는 식구를 먹여 살렸다. 나라에서 전쟁이 터지자 멀쩡한 장정들을 징집했는데 지리소는 팔팔하게 다녀도 징집되지 않았다. 나라에서 성을 쌓는다며 부역을 시켜도 그는 제외였다. 기근이 들어 나라에서 구휼미를 풀 때는 불구라는 이유로 일반인보다 많이 받았다. 그는 많은 식구를 건사하고도 벌이가 남아 주변 사람을 챙겼고 일반인보다 장수했다. 남들이 쓸모없다고 여기는 게 오히려 장점이 된 경우로 무용지용(無用之用) 의 다른 예화라고 할 수 있다. 전국 17권 중 (장자에서 나오는 일화와 같다) 쓸모없는 것도 관.. 2023. 2. 26. 이전 1 ··· 13 14 15 16 17 18 19 ··· 104 다음