목록IT/서버 (7)
altair의 프로젝트 일기

회고 취준과 공부, 개발을 동시에 하려니 생각보다 셋 다 속도가 나지 않았다. 그래도 이제는 프로젝트의 개발의 패턴이 어느 정도 자리잡아 간다고 느낀다. 기술 스택과 CI/CD 파이프라인 등이 정해지니 이제 비로소 개발 본질에 집중하게 된 듯하다. 이번 글에서는 지금까지 어떤 진전이 있었고 어떤 문제와 해결이 있었는지 적어보려한다. 프론트엔드 - 디자인 반영 가장 눈에 띄는 변화는 드디어 프론트엔드 디자인의 대부분이 반영되었다는 점이다. 다음은 디자인 가이드와 실제 웹 페이지다. 몇몇 수정 외에는 거의 디자인 가이드를 따라가보았다. 사실 보고 그대로 만들기만 하면 되는 건데 뭐가 대단하냐 할 지 모르겠다. 그렇지만 이전까지 바닐라JS만 겨우 끄적대봤던 나이기에 NextJS를 통해서긴 하지만 처음으로 ..

CI/CD를 해야하는 이유 내 서버에 올라가는 서비스를 개발할 때, 나는 제일 먼저 CI/CD 파이프라인부터 구축한다. 자동화된 테스트와 통합, 배포 과정은 개발이 진행될수록 점점 그 구축 비용이 증가하는 경향이 있다. 테스트는 라이브러리와 프레임워크 의존성에 큰 영향을 받고, 통합은 VCS의 브랜치 전략 등에, 배포는 Docker, LXC 등의 서버 인프라와 Dockerfile 등의 빌드 과정에 크게 좌지우지 된다. 만약 CI/CD를 미리 구축하지 않고 개발하기 시작하면 우선 로컬에서만 테스트할 것이고, 손수 SFTP 등으로 배포하게 될 것이다. 개발이 진행됨에 따라 테스트 및 배포 비용이 부담되어 그때 가서 CI/CD 파이프라인을 구축한다면 여러 문제가 발생한다. 다음은 내가 경험한 문제들이다. 기존..

개요 소프트웨어 마에스트로 과정에서 개발한 서비스가 단어마다 중요도를 매기는 서버를 필요로 했다. 우리의 백엔드는 스프링부트 웹서버와 단어 가중치 서버로 구성된다. 스프링 서버는 입력 받은 페이지의 단어들을 분석하기 위해 단어 가중치 서버에게 단어들의 중요도를 부여해달라고 요청한다. 이번 글에서는 더 늦어 잊어버리기 전에 해당 서버를 어떤 방식으로 구축하고 서버가 어떤 방식으로 단어들의 중요도를 평가하는지 설명해보려 한다. 문제 우리가 만든 서비스 빈채는 학생들을 위한 빈칸 자동 생성 서비스이다. 학생들이 개념서 페이지를 찍어 올리면 거기에 있는 단어들을 분석해 외워야 할 단어들에 빈칸을 치는 방식이다. 그렇기 때문에 OCR을 처리하는 기능과 단어 목록을 받아 각 단어들의 중요도를 평가하는 기능이 필요하..

개요 평소에 Self-hosting에 관심이 많다보니 비교적 가격이 싼 중고 컴퓨터나 미니PC를 자주 찾아다니는 편이다. 하지만 지난 해 메모리 반도체 가격이 폭락했을 때를 제외하면 눈에 띄는 싼 가격을 찾기 어려운 것이 현실이다. 인텔 N100 CPU는 어림도 없고 아톰, 셀러론 라인업도 생각보다 높은 가격으로 판매한다. 솔직히 서버용 미니PC에 10만원 이상을 지불하고 싶지 않다. 라즈베리파이에 대한 경험 때문이지 않을까. 그러던 중 알리익스프레스에서 이런 제품을 발견했다. 비록 저전력 듀얼코어로 CPU파워가 약하긴 하지만 생각보다 큰 램과 SSD 용량을 갖고도 10만원 정도의 가격을 보여준다. 무엇보다 눈에 띄는 점은 랜선 구멍이 4개나 되고 랜 칩셋이 인텔 i225V 또는 i226V라는 것이다..

개요 요새 소프트웨어 마에스트로에서 프로젝트를 하느라 정신이 없다. 백엔드와 기타 잡무(...)를 맡아 불태우는 중이다. 저저번 주에 예비군을 갔다와서 몸살에 걸려 저번 주를 통째로 날렸지만 말이다... 시간도 없는데 이게 무슨 날벼락인지 모르겠다. 어쨌든 프로젝트 개발 과정에서 발생한 나름 큰 난관의 해결책을 한국어 웹에서 잘 찾아볼 수 없어서 여기에라도 남기려한다. 문제가 발생한 배경은 다음과 같다. 지금까지는 퍼블릭 서브넷에 있는 EC2의 퍼블릭 IP를 통해 스프링 서버에 API 요청을 보냈다. 하지만 아무리 개발 서버라고 해도 퍼블릭 서브넷에 스프링 서버를 두는 것은 좋지 않다. 게다가 오토스케일링이나 로드밸런서도 포함되어 있지 않았다. 그래서 다음과 같이 바꾸었다. 이런 식으로 구성하면 애..

문제 홈서버 구축기 서버 1 - 삼성 노트북 저번 글에서도 말했다시피 집에 두 라즈베리파이를 실행 중이었다. 하나는 깃랩 서버로, 하나는 나스로 말이다. 그러던 중 이모가 다른 곳으로 이사를 가시면서 오래된 노 altair823.tistory.com 저번 홈서버 구축기 글에서 어떻게 홈서버를 만들고 사용하게 되었는지 소개했다. 당시에는 우분투 서버를 설치해 그 위에 도커를 올려 여러 서비스를 사용했다. RocketChat과 Jupyter Notebook 같은 것들 말이다. 한동안 꽤 재미있었다. 어느 날 Netdata를 도커로 설치해 서버 부하를 테스트해봤다. 어찌보면 당연하게도, 주피터 노트북이 아니면 딱히 부하랄 것도 없고 주피터 노트북 마저 항상 돌리지는 않으니 서버 자체가 항상 놀고 있는 상태가 ..