분류 전체보기
-
[회고록] 프로젝트 시작 후 3개월, 나는 그동안 무엇을 했을까 (PocketMark v1.0)개인회고록 2022. 3. 3. 00:14
12월초에 팀 프로젝트 PocketMark 를 시작하여 3개월의 시간이 흘렀다. 경험하고 싶었던 나 자신과의 싸움(레거시 리팩토링)은 실컷 경험할 수 있어서 좋았지만 이때 쯤이면 솔직히 계획했던 메인서비스와 기본적인 부가서비스들이 모두 구현완료되어 있을 줄 알았다. 자동차는 아니더라도 자전거 정도는 만들어질 줄 알았었는데 대신 킥보드가 만들어져 있었다. 뭐... 일단 굴러가기는 하니 다행이라고 해야하나... 팀원 한분이 취직으로 그만 두셨지만 나는 앞으로도 계속 사이드프로젝트로 두고 키워나갈 예정이다. 3개월간 내가 한 일은 크게 두 가지이다. 첫번째는 사용자 도메인(회원, 로그인, 인증)을 제외 한 모든 도메인의 설계와 서비스 로직을 구현하고 개선 하는 일. 두번째는 반복적으로 해야만했던 노가다성 작업..
-
[Linux] 쉘스크립트 sudo su 실행 안되는 이유Linux & Mac 2022. 2. 26. 02:07
ec2에 배포 할 쉘스크립트를 정성들여 만들었더니 이러고 있더라구요... 그래서 쉘스크립트에 sudo su 커맨드를 넣었는데도 결과는 똑같더군요...!! (???) 스택오버플로우 형님들이 말씀하시길, root shell 에서만 실행가능하다고 합니다. 해결방법으로는 to check whether the current user is root, and if not, re-run the same command with su 을 제시합니다..! 루트사용자가 아니면 re-run 해서 커멘드를 루트권한으로 실행한다네요. 쉘을 새로 실행한다는 것인가...???? (이거이거 잘만 이해하면 뭔가 깨달음을 얻을 것 같네요!) 주변에 여쭤보고 꺠달음을 얻은뒤 다시 수정해서 포스팅하겠습니다..!
-
[CI/CD] Travis CI Job LifeCycle 공식문서와 after_script에 대하여Back End/CI&CD 2022. 2. 26. 01:11
The Build # The .travis.yml file describes the build process. A build in Travis CI is a sequence of stages. Each stage consists of jobs run in parallel. .travis.yml 파일은 빌드 프로세스를 조정하는 파일이다. 트래비스 CI에서 빌드는 stage의 묶음이며, 각 stage는 병렬적으로 실행되는 job들로 이루어져있다. (각 stage가 개별 VM 환경에서 돌아간다는 뜻) 개별 VM에서 병렬적으로 돌아가지 않고, 순차적으로 돌리는 방법도 있긴 하다. The Job Lifecycle # Each job is a sequence of phases. The main phases are:..
-
[Spring/Network] 서블릿과 WAS에 대하여Back End/Spring Boot 2022. 2. 25. 13:32
어떤분께서 "서블릿이 뭔지아세요?" 라고 물어보신적이 있다. 나는 "request랑 response에 접근하게 해주는 객체아니에요?" 라고 답을 했다.. (Spring에서 HttpServlet 객체로 request랑 response랑 접근해서 로직을 짠적이 있으니까...) 그런데 면접 때 이런 질문이 나온다면 이런 대답만으로는 부족할 것 같아 더 알아보기로 했다. (어떤 회사에서는 서블릿을 구현하는 입사과제가 있었다고 한다 ㄷㄷㄷ..) 아마 이 포스팅을 읽다보면 WAS(톰캣)가 계속 등장하게 될텐데, 선수지식은 아래 포스팅을 읽으시면 된다. [Network] Apachi, Nginx, Tomcat 이 하는일이 뭘까? (Feat. Proxy) # 대충 개념 잡기 Apachi, NginX 은 프록시서버(웹서..
-
[AWS] CDN 이란?Back End/AWS 2022. 2. 24. 00:35
# CDN 콘텐츠 전송 네트워크(Content Delivery Network) 지리적 제약 없이 전 세계 사용자에게 빠르게 캐싱된 콘텐츠를 전송하는 기술 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화 # 원리 프록시 서버에서 출발한 웹 캐시의 클라우드화. 전세계 각지에 캐시 서버를 엄청 많이 설치한다. 그리고 한국에 있는 사용자가 접속하면 한국 캐시 서버가 정보를 보낸다. 프랑스에 있는 사용자가 접속하면 프랑스 캐시 서버에서 정보를 보낸다. 이런 식으로 CDN 자체가 알아서 사용자와 가장 가까운 캐시 서버에서 정보를 찾아 보내는 것. 출처 : https://namu.wiki/w/CDN # AWS CloudFront 작동 개요 요약하자면, AWS CloudFront 는 C..
-
[CI/CD] Travis CI 적용기 (Organization Repository)Back End/CI&CD 2022. 2. 24. 00:24
개인 레파지토리 적용은 Travis CI 라는 키워드로 검색하면 쉽게 찾아 볼 수 있다. 허나...! Organization Repository 는 찾아 볼 수가 없다...... 혹여나 저와 같은 증상으로 해메셨다면 잘 찾아오셨습니다 :D!! 레파지토리와 Travis CI를 연결하고 커밋을 했는데 We are unable to start your build at this time. You exceeded the number of users allowed for your plan. Please review your plan details and follow the steps to resolution. 이라는 문구가 뜬다. 너무 불친절하다....! 요금제 초과라고만 말만 하고 해결법은 제시해주지 않는다.....
-
[Network] 정적웹과 동적웹의 정확한 정의를 고민해보자 (Feat. AWS & GitHub Pages)Network Basis 2022. 2. 22. 19:04
* 필자의 지극히 개인적인 생각입니다. GitHub 의 Pages 와 AWS 의 S3 에서 정적웹호스팅이라는 단어를 쓴다. 하지만 정적웹과 동적웹에 대해 구글링을 하면, 뭔가 Git과 AWS의 용어선택이 이상하다는 생각이 든다. 왜냐하면, React 또한 [정적웹호스팅]이라는 단어로 Git과 AWS에서 호스팅하기 때문이다. 이 글은 Git 과 AWS에서 일하시는 분들은 똑똑할꺼니까 그분들이 맞다고 가정하고 기존의 정적웹과 동적웹의 정의를 다시 정의 한 포스팅이다. # 세간에 알려진 정의 (from. 위키백과 + 다른 블로그 포스팅들) ## 정적웹 1. 웹서버에 이미 저장된 html 문서를 클라이언트에게 전송하는 웹 페이지 2. 사용자는 서버에 저장된 데이터가 변경되지 않는 한 고정된 웹 페이지를 보게 됨..
-
[AWS] 7. CloudFront로 HTTPS (SSL) 설정하기 & ACM 에서 인증서 만들기Back End/AWS 2022. 2. 18. 22:29
.................. 현타오는 중................... # 순서 ACM 에서 인증서 발급 -> CloudFront에 ACM 연결 -> Route53에서 원하는 도메인과 CloudFront 연결 # 준비물 구입한 도메인과 구입한도메인사이트에서 해당도메인의 네임서버에 aws 네임서버 4개를 등록한 상태 # ACM 인증서 만들기 콘솔에서 ACM 이라 검색하고 AWS Certificate Manager 에 들어가서 인증서 요청을 누르자 1. 퍼블릭 인증서 요청 * 만드실 때 지역을 [버지니아 북부]로 변경하고 만드셔야 합니다. 안그러면 무한 [검증 대기중]에 빠지실 수 있습니다. 2. Route 53에 레코드 추가 * 빨간색 네모를 누르면 자동생성이 되긴하는데, 개념을 알려드리기 위해 ..