Back

    EB nginx 설정 건드리기

    EB 쓰다가 EB에 nginx설정을 건드려야할 때가 있다.처음에 eb + ecr 도커 이미지로 연결해서 올려 놓은 후에,nginx바꾸려고하면 eb에선 그런거 설정할 수 있는 것도 제공 안한다. alb에 들어가서 수정할려하면 수정도 안되고, (잠깐은 되는데 바로 바뀜ㅎ)지멋대로 돌아가고 아주 짜증이 난다ㅎㅎ..몇개 있는 레퍼런스들이라고는 거지같고, 동작도 안한다 ㅎㅎ..결론은 nginx건드리고 싶으면무조건 zip파일만 올려야 된다 ㅎㅎ.. 난 zip파일 올리기 싫은데, 그냥 ecr에 있는 이미지만 활용하고 싶은데 ㅎㅎ시간도 없고, 일단 zip파일을 올리기로 했다. 여튼 각설하고간단하게루트 디렉토리에 이렇게 만들어주고.내용은 바꾸고 싶은 내용을 적자 (예시)client_max_body_size 20M;  이..

    [API] H?D 교육 스킵

    H?D 직장인 교육 듣기 싫어 하하하하하하하 하하하 일잘러의 슬기로운 노트 뭐시기라니 하하하하하 이걸 안들으면 독촉 전화가 오기 때문에 꼭 들어야 한다.본론1. 개발자 도구에서 쿠키값을 복사한다.2. postman, insomnia등 api툴에도 cookie 셋팅을 고대로 해준다.3. origin, referer을 해당 도메인과 똑같이 맞춘다.4.payload랑 header 잘 보고,Chapter_Number, Chapter_Seq, Contents_idx 등등1씩 더해 주고,progressTime완성된 채로 찍는다.스크립트를 만들어 두고, 계속 돌리면 모든 팀원들의 소중한 시간을 아낄 수 있따

    [Nestjs, ElasticCache] Cluster, TypeError

    여튼 이런저런 졀차로 여린백셩을 홀뺴히여겨 평소처럼 ElasticCache를 사용하려 했따. 매우 비싸지만 괜찮다. (진짜 짱비쌈) 적당히 활용하면, RDS 1개 추가하는 것보단 나은 효율을 보이니, 속도와 비용 모두 적절히 잡을 수 있기 때문이시다. EC2에 왜 redis를 안까냐면.. 둘다 해보았지만.. 한달에 2~5만원 더 내는 것이, 1. 인건비 리소스도 아끼고(비용), (** 항상 본인의 인건비도 리소스로 생각하는 훌륭한 개발자 될지어다 **) 2. 작업 리소스도(시간) 아끼고, 3. 확장성 있게 가고, 4. 여러 관리가 용이하다. 이런 이유로 유용하기 떄문일지어다. Nestjs 공식문서에도 뭐 많을텐데 만약 당신이 이 글을 보고 있다면 이걸 봤겠지 "message": "Type 'typeof ..

    [Monorepo, React, Next, Nest] 모노레포 앱구조

    때는 새벽 심심하기도 하고, 잠도 오지 않아서, 진행중인 사이드 프로젝트 구조를 모노레포로 대강 나눠 보기로 하였다. 백엔드 프론트 모두 구조가 동일하며, 패키지는 apps, libs로 나뉜다. apps는 실제 프로덕트에 반영될 앱이고, libs는 공용으로 사용될 친구들이다. 각각 별개의 독립적인 앱으로 운용할 수 있겠다. 다음은 결과 사진이다. (각각의 앱들은 모두 Next, Nest다) 이렇게 된 경우, 프론트와 백엔드의 구조가 동일하여, 작업자들이 어디를 봐야하는지가 더 명료해진다. 사실 작업자가 별로 없고, 모두 풀스택이라, 걍 이렇게하면 main, novel, social 등등 각각 알아서 맡은 부분 풀스택으로 다 해버리라는 느낌이긴했당ㅋ + 공용으로 사용할 부분 공용으로 사용하고~! 각각의 앱..

    [Monorepo, Yarn Berry, Github Private Package] can't be resolved to a satisfying

    킹 받는 오류 다 ^ ^ .npmrc 에서 사용하면 됐는데, npm .pkg.github에서 찾아야하는데 yarn berry + 모노레포를 사용하는데, .npmrc를 읽어갈 수 없었다. 이유는 자꾸 yarnpkg에서 찾았던 것이 이유 ^^ 2시간 내내 해결하다가 npmScopes를 변경해주는 것으로 해결했다. 루트 디렉토리에 .yarnrc npmScopes: 사용하는 패키지이름: npmRegistryServer: "https://npm.pkg.github.com" npmAlwaysAuth: true npmAuthToken: "내깃헙토큰^^" 요렇게 해주었다. 이럼 github package에서 읽어간다 ^^ 다만 deploy할 때 루트에서 먹히지 않는 경우가 있는데.. 일단^^ 모노레포 패키지 폴더 안에..

    [SQS, MSA, Nodejs] MSA & Message Queue

    요번에 이쁘게 구조도를 만들어 봤다ㅎㅎ (모두가 예쁘다고 좋아했다) 모름지기 개발이란, 성능과 사용성보단, 예쁜게 중요하다. 팀에 합류하고, 공통 모듈을 따로 만들고, 전체 푸시 알람 만들고.. 디비 코멘트도 달고... GPT socket하고 이것저것 했는뎅, 내가 처음으로 와서 한 일은 MSA 및 메시지큐를 도입했다. 푸시 알람이나 AI등 여러 기능들을 묶일 수 있는 공통의 그룹으로 묶고, 분리하려 했다. 이유는 다음과 같다. 1. 특정 섹션에서 병목이 나면, 다른 기능에 영향을 주기 싫었고, 2. 특정 섹션에 더 많은 계산이나 트래픽이 많다면, 부분적으로 스케일아웃, 업을 할 수 없는 구조 였다. 3. 처음에는 리소스가 많이 들어가지만, 정착되면 유지보수에 있어서 리소스가 적어질 것이라 판단했기 때문..

    [GPT, Node.js, React] 실시간으로 ChatGPT 연동하기

    일을 하다가~ 요새 핫한 ChatGPT를 활용한 프로덕트를 만들었다. OpenAI의 API는 JSON으로 받아 내는데, 속도가 매우 매우 - 매우 오래 걸렸기 때문에, 유저 경험이 좋지 않았다ㅠ.ㅠ 소켓으로 뚫기로 했다. 나는 유저 경험을 매우 소중히 생각하는 친절하고 배려심있고 착한 낭만 개발자기 때문이다. 그래서 요렇게 만들었다. 1. 프론트에서는 채팅방에 입장하자마자 Socket을 연결한다. 2. 상호작용이 있을 때(채팅) API 호출 3. Node에서 GPT로 Stream를 받는다. 4. 연결된 Socket으로 Stream데이터를 쏜다. Easy~~! 물론 실프로덕트에선.. 시스템 프롬프트와, 각종 예외 처리등등.. MSA.. 여러가지 잔처리 일들이 많았다~ 정말로~ 공식문서에서도 Node는 지원..

    MySQL, PostgreSQL

    비교 연결 방식 쿼리 구문 차이 인덱싱 서버내 실사용 차이