분류 전체보기

배포를 하자..! 지난 게시글에서 스위스 장인의 시계 처럼, 장인 정신으로 한땀 한땀 배포를 해야하는 프로세스를 만들었다고 말씀드렸습니다. inssa.club 을 사용하시면, 제 손땀 하나하나가 묻어나오는 패킷을 받으실 수 있었던 거죠... Watchfinder & Co./YouTube 개소리는 그만! 말도 안되는 소리는 여기까지만 하고, 지금 구축된 CI/CD 상황을 정리하자면 다음과 같습니다. 현재 상황 docker-stack을 활용해서, ec2위의 docker service들은 정의 / 실행 되고 있어요 각각의 서비스 (waitlist / clubhouse-profile)의 master에 push가 진행되면 다음의 작업들이 진행됩니다 테스트 코드 실행 도커 이미지 빌드 ghcr.io 에 업로드 de..
최근 친구와 시작한 사이드 프로젝트가 있습니다. 클럽하우스 프로필을 웹에서 조회 할 수 있도록 하는 프로젝트입니다. 개인적으로 이 프로젝트를 통해 처음 써본 기술이나 개념들이 많아서, 수동으로 배포를 마친 지금, 조금 뿌듯해서 어떤 기술을 썼는지, 왜 썼는지 적어보려고 합니다. 프로젝트 소개 프로젝트의 주소는 https://inssa.club 입니다. 다시 한번 설명하자면, 클럽하우스 프로필을 웹에서 조회 할 수 있도록 하는 프로젝트 입니다. 그래서 당신. 무슨 약을 하셨길래 22시간을 코딩한거야..? 당연히 22시간 연속으로 개발한 것은 아니고, wakatime에 찍힌 1일 코딩 시간 중 최장 시간을 기록한 날과 2위로 길게 코딩 한 날을 합쳐서 22시간이라고 했습니다. 먼저 인증부터 하겠습니다. 10..
기분 좋게 docker swarm으로 배포를 하려고 하는데, 문제가 발생했다. WAS 의 한 환경변수가 등록이 안되는것이었다! 그래서 두시간동안 삽질을 했다. 참고하길 바라며 글을 남긴다. 1. Docker Stack 에서는 .env를 지원하지 않는다. Docker Stack 에서는 .env를 지원하지 않는다. 그러니까, 우리가 흔히 하는 다음과 같은 사용이 되지 않는다는 것이다. ports: - "${PORTS}:8000" 그렇다. 만약 이런 상태로 실행하게 된다면, 해당 부분은 그냥 빈것으로 처리되어 실행된다. 그렇다면 어떻게 해야 할까? 답은 env_file 이다. 서비스 안에 env_file을 정의함으로써 .env 파일을 사용 할 수 있는데, 이는 다음과 같이 사용하면 된다. services: w..
이제 고3이다. 나는 달라진것이 없는데, 주변에서 바라보는 시선은 나를 다른 사람으로 만들려 하더라. 이맘때 쯤이면 한번쯤 느끼는 새로운 반의 풋풋함과 어색함은 이제 찾아 볼 수 없을것이다. 공부를 조금 못하더라도, '아 나는 시간이 많이 남아있으니까...' 핑계도 이제는 전혀 소용이 없는 나이가 되었다. 물론 나는 대학교 진학 대신 취업을 선택하여서 크게 해당이 되진 않지만 그래도 이런 생각, 누구나 중학교 때 한번쯤은 해보지 않았는가. 나는 취업을 생각하고 있다. 나는 돈을 많이 벌고 싶다. 마치 이태원클라스의 박새로이처럼, 내가 하고 싶은 일을 하기 위해. 내 소신대로 행동하며 살기 위해, 나를 무시하고, 나에게 무례한, 다른 사람들을 존중하지 않는 사람들로부터 나를 지킬 수 있는 유일한 방법이 돈..
https://sunrinsecurity.com 의 첨부파일들이 전부 사라졌다. 파일 업로드 부분의 테스트 코드를 바보같이 짜서 그랬다.. 파일 업로드 테스트 이후 업로드 된 파일들을 모조리 삭제하는데, 그게 프로덕션 미디어 폴더랑 같은 폴더여서, 테스트가 돌때마다 첨부파일이 사라지고 있던 것이었다. 아무튼, 열심히 파일을 복구해서 다시 서버에 파일을 복구했는데, 다운로드가 안되는것이다..! 엥..? 디버깅 뭐가 문젠지 모르겠어서 열심히 디버깅을 해 보았는데, 다음과 같은 결과를 얻을 수 있었다. 파일명이 영문이면 잘 다운로드가 된다 파일명이 한글이면 다운로드가 안된다 서버에 접속해서, 파일명이 한글인 친구들의 이름을 변경해보려 했는데 안되었다. 무엇을 잘 못 했는지 모르겠어서, 로컬(맥)에서 같은 환경..
잠시 redis.io를 들어가볼까요. Redis는 오픈소스(BSD License)이며, 데이터베이스로, 캐시로, 메시지 브로커로 사용되는 in-memory 자료구조의 저장소입니다. Redis는 string, hashes, list, set, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, 그리고 streams와 같은 자료구조를 제공합니다. Redis는 내장된 복제(Replication) 기능, Lua 스크립팅, LRU 정책(LRU eviction), 트랜잭션, 그리고 여러 디스크를 사용한 여러 레벨의 영속성을 갖고 있으며, Rdis Sentinel과 Redis Cluster를 사용한 자동 파티셔닝을 통해 높은 가용성을 ..
생활코딩의 이고잉 님과, 교육자로서 가져야 할 자세, 내가 가야 할 방향에 대한 글 글을 쓰며 지금은 새벽 네 시 입니다. 자기 전, 우연히 생활코딩 유튜브를 들어가게 되어 머신러닝과 관련한 유튜브를 보게 되었습니다. 저는 충격을 받았습니다. 그동안 접해본 머신러닝은 복잡한 수식, 그래프들로 이루어진 미지의 기술이었으니까요. 교양적인 수준으로 이것이 무엇을 가능하게 만들어줄지는 알고 있었지만, 어떤 원리로 이 마법을 가능하게 하는지는 몰랐습니다. 생활코딩 유튜브에서 접한 머신러닝의 설명은 보면서 계속 웃음이 났습니다. 잠깐이지만 보면서 웃음이 지어질 정도로, 머신러닝이 무엇인지 궁금해하게 만들고, 더 배우고 싶어 설레게 했습니다. 몇 가지 생각이 떠올라 정리하고 싶어 침대에 누워있다가 컴퓨터를 켰습니다...
리버스 프록시란? 일단 이 글을 읽을 사람이라면 리버스 프록시가 무엇인지 알고 있을것이라고 생각한다. 리버스 프록시가 뭔지 모르는데 리버스 프록시를 쓴다는게 말이 안되니까.. 쉽게 말해서 Nginx가 HTTP 요청을 받고, 그걸 다른 곳에 연결(프록시) 해주는 기능을 말한다. 이게 왜 리버스프록시 인지 설명하려면 글이 길어질테니, 읽는이의 수준을 감안하여 스킵하겠다. HTTPS 적용은 Let's encrypt를 사용하자! Nginx와 Let's Encrypt를 사용하면 손쉽게 HTTPS를 적용 할 수 있다. Nginx에서 사이트들의 설정파일을 담당하는 /etc/nginx/sites-available 에 내 서비스의 도메인(ex: mengmota.com)으로 파일명을 지정해놓고, 또 설정 파일안에서 ser..
mengmotaYeonGyu
'분류 전체보기' 카테고리의 글 목록 (5 Page)