Who am I 👨‍💻

  • 👨‍💻 소통하는 개발자, 김민준

    김 민 준 Backend developer. Contact. Email : minjun.kim.mj@gmail.com Channel. GitHub LinkedIn Resume click👆🏻 Introduce. 3년차 개발자로서 백앤드 개발 및 devops를 함게 겸하였습니다. 주로 웹 서비스의 백앤드 개발을 담당하였으며 AWS, K8S등 devops도 겸업하였습니다. 작은 규모의 팀에서 주도적으로 팀장같은 역할을 맡기도 하며 디자인과 고객 관리팀과의 협업을 주도적으로 진행하여 CAPA 서비스의 오픈을 책..

최신글

  • [Mac OS, Mysql] error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' 에러

    brew install mysql 로 설치하고 실행을 하려하니 error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 에러가 발생했다. 이유는 mysql이 실행이 되고있지 않아서인데, mysql.server start 을 입력하면 간단히 실행된다

  • 암걸린_개발자 - <3> 살아갈거면 살아야지.</3>

    이전 이야기 3줄 요약 MRI를 찍어보니 조직검사각. 조직검사 해보니 암임. 치료 받을 병원을 고름 이번 이야기 3줄 요약 방사선 치료 시작함 스터디 만을어서 운영함 크기가 줄어들음 방사선 치료? 방사선 치료 뭔가 듣기만 해도 후들거리고, 엄청 아플꺼 같고, 머리는 다빠질것 같은 이름이다. 체르노빌과 우라늄이 생각나고, 뭔가 암을 죽이기 위해 넘으면 안되는 강을 건너는 느낌이지 않은가? 사실 그렇지않다. 방사선과 방..

  • 암걸린_개발자 - <2> 암환자가 되다.</2>

    이전 이야기 3줄 요약 회사 퇴사함 손목아파서 병원간김에 다리도 점검받음 이상함. 흰덩이리가 보임. MRI찍으라는 말을 들음 거의 반년만에 뒷 이야기를 쓰다니... 항상 이런저런 이유로 늦장을 부렸지만. 더는 안된다. 이제 다음 이야기를 해보도록 해보겠다. 생각해보니 읽기 귀찮은 사람도 있을꺼 같다. 그래서 바쁜 현대인을 위하여 3줄 요약을 먼저 적고 가려고한다. 이번 이야기 3줄 요약 MRI를 찍어보니 조직검사각. 조..

  • [ROW_NUMBER()]컬럼에 1씩 증가하는 숫자 추가

    이번에 sql에 새로운 컬럼을 추가해야 하는데, 특정한값을 기준으로 1부터 증가하는 값이 존재하는 컬럼을 만들어야 했다. 바로 컨텐츠의 에피소드의 챕터숫자를 추가해야한다. 컨텐츠는 여러개의 에피소드를 가지고 있다. 에피소드는 여러개의 챕터를 가지고있고, 1부터 시작한다. 위와 같은 조건으로 increase가 되는 값을 입력을 해야하는데 문제점은 이미 insert되어있는 데이터에 추가를 하는것이기에 쉽지가 않았다. 결론..

  • 300명 넘는 소프트웨어 마에스트로 13기 오픈 톡방을 만들다

    오픈 톡방을 만들다 때는 바야흐로 2021년 12월 말, 소프트웨어 마에스트로에 지원을 하겠다는 결심으로 열심히 알고리즘 공부를 하고있었습니다. 여러 소프트웨어 마에스트로 12기 후기를 보던중 ‘오픈톡방에서 준비했다’ 라는 글을 읽었는데,오픈톡방을 찾아봐도 13기 준비방이 없었습니다. 그래서 없으면 내가 만들기로 했습니다. 나의 개발자로서의 무기중 하나는 ‘커뮤니케이션이 잘 되고 팀에 잘 스며드는 개발자’라고..

인기글

  • node.js crypto를 이용한 random string 얻는법

    node.js에는 많은 기본제공 모듈이 있다. 그중에서 암호화,복호화 기능을 제공하는 crypto 모듈을 이용해서 랜덤 스크링을 얻을수 있는 방법이있어서 소개해 주려한다 랜덤 스트링의 경우 환경설정등의 key 값으로 종종 사용되기에 알아두면 편리하다 코드는 매우 간단하다 const crypto = require("crypto"); console.log(crypto.randomBytes(20).toString('hex')) 위와 같이 몇줄 안되는 소스로 영어 소문자+숫자의 랜덤스트링..

  • typeorm 에러 typeorm syntaxerror: cannot use import statement outside a module (import { Entity, ....} from 'typeorm';)

    Nest에서 TypeORM을 연결해서 사용을 시도하였었다. 하지만 npm script에 자동으로 생성되는 npm run start:dev로 실행을 하자 아래와 같은 에러가 발생되었다. import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'; ^^^^^^ typeorm syntaxerror: cannot use import statement outside a module 기본적으로 typescript가 정상적으로 컨버트가 안되는것이 원인으로 생각이 되었고, 해법을 찾아야 했다. 먼저, 위의..

  • [Nest.js] Exceptionfilter, DTO, Entity, DTO와 Entity의 차이점

    Exceptionfilter 문서링크 Nest에는 애플리케이션 전체에서 처리되지 않은 모든 예외를 처리하는 예외 레이어가 내장되어 있습니다 Throwing standard exceptions Nest는 @nestjs/common 패키지에서 노출된 내장 HttpException 클래스를 제공합니다 일반적인 HTTP REST/GraphQL API 기반 애플리케이션의 경우 특정 오류 조건이 발생할 때 표준 HTTP 응답객체를 보내는 것이 가장 좋습니다. Built-in HTTP exceptions Nest는 기본..

  • [K8S, Grafana, Loki] 쿠버네티스 log monitoring tool Loki 설치법

    이전글에서 kong Ingress controller plugin으로 Prometheus를 설치했고, 이후에 Grafana와 연동해서 대시보드에서 Metrics를 확인할수 있게 되었다. 이전글 보러가기 그라파나 대시보드에 domain으로 접속하는법 burning-camp.tistory.com/71?category=959180 하지만 Prometheus는 CPU, Memory와 같은 Metrics수집이기에 각 pod에서 찍히는 log들을 볼수는 없다. 그렇기에 Log monitoring을 위하여 Loki를 선택하였다. 마지막까..

  • [K8S, Kong, Grafana] 그라파나 대시보드에 domain으로 접속하는법

    docs.konghq.com/kubernetes-ingress-controller/1.1.x/guides/prometheus-grafana/ 위의 문서를 통해 Kong Ingress를 사용하며 플러그인으로 Grafana와 Prometheus를 EKS환경에 설치를 했다. 하지만, 위에 예제에서는 Grafana를 portforwading 으로 접근하도록 가이드를 하고 있으나, production에서는 그럴수 없으니 미리 만들어둔 Ingress에 grafana service를 연결하려고 하였다. 하지만 Ingress에 연결해준뒤에 브라우저..

  • Prisma게섯거랏 HASURA가 나가신다 - HASURA 란?

    왜 사용을 했나? 새로운 프로젝트를 진행하면서, 제품의 런칭을 애자일을 통하여 MVP로 빠르게 개발을 하기로 결정이 되었었다. 초기에는 Node.js + NestJs로 Restful API을 만들어서 개발을 진행 하였다. 하지만 기존의 restful api개발 방식으로는 시간의 소모가 심하였고 또한 첩첩산중으로 개발되었던 back office 서비스에 심각한 버그가 발생한데다 퇴사자가 발생함으로서 필연적으로 다시 개발을 해야만 하였다. 아... 망..