카테고리

서론 이번 프로젝트는 특히 코드, 네이밍, 구조에 신경을 많이 쓰면서 개발을 하다 보니 기존에 했던 방식에 의문이 생겼다. 로그인 시에 사용자가 입력한 id를 백 단에서 조회할 때 해당 id가 없다면, 해당 id가 없다는 것을 성공적으로 확인했으니 클라이언트에게 status code를 200(ok)으로 응답하는 게 맞는 걸까? 아니면 해당 id가 없기 때문에 404(not found)로 응답하는 게 맞는 걸까? 영한님 강의에서도 200을 던지는 것도 방법 중 하나라는 것을 얼핏 들었던 것 같기도 하고 서버에서 정상적으로 처리를 한 것이기 때문에 200을 던져도 무방하다고 생각은 했지만 뭔가 찝찝해서 이번 기회에 개발 오픈 채팅방에 물어봤다. 200인가 404인가 질문을 잘..한 것 같진 않지만 뭐 XY..
· BE/Docker
도커로 노드 js 이미지를 만들고 5000:8080으로 포트 매핑 후 run 해보니.. docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5000 -> 0.0.0.0:0: listen tcp 0.0.0.0:5000: bind: address already in use. ERRO[0000] error waiting for container: context canceled 이런 에러가 떴다.. 보니까 이미 5000번 포트를 사용 중이라는 건데.. 로컬에서 다른 서버를 사용하지도 않는데 뭔가 싶었다. 사용 중인 포트를 확인해보니 ControlCe가 사용 중이었고, 찾아보니 맥북 AirPlay에서 5000 ..
서론 개인 노션 페이지에 매일 TIL을 적고 있는데, 큰 깨달음을 얻은 부분은 글로 정리하는 게 좋을 것 같다는 생각에 다시 블로그 글을 쓰게 됐다. 이번엔 소마를 시작한 지가 벌써 5개월이 넘었는데, 기획 과정에서 깨달았던 것들을 정리해보려 한다. 아이템 회의 팀이 구성되고 시간이 없다고 느낀 나와 팀원들은 바로 프로젝트 주제를 결정하기로 했다. 일단 평소에 불편했던 점을 말하고 그걸 해결하기 위한 아이템을 브레인스토밍으로 쏟아냈다. 여러 아이디어들 중에서 나왔던 아이디어가 일반인도 쉽게 디자인할 수 있고, 디자인한 옷을 판매, 구매할 수 있는 플랫폼이 가장 재밌어 보이기도 하고 소마에서 해볼 법 한 아이디어였다고 생각했다. 아이템 선정 과정에서의 문제점 제일 큰 문제는 시장, 경쟁사, pain poi..
서론 IP 주소에서 호스트의 0, 1은 각각 네트워크 전체를 가리키는 네트워크 주소와 같은 네트워크 안에 있는 모든 컴퓨터나 장비에게 패킷을 전송하는 브로드캐스트 주소를 의미한다고 했다. A 클래스만 해도 1677만 7214개의 주소를 사용할 수 있는데, 모든 컴퓨터에게 브로드캐스트 패킷을 전송하면 네트워크가 혼잡해질 것이다. 이 문제는 A 클래스 같은 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다. 서브넷팅 위의 그림처럼 네트워크를 분할하는 것을 서브넷팅(Subneting)이라 하고, 분할된 네트워크를 서브넷(Subnet)이라고 한다. A 클래스는 앞의 8비트(1 옥텟)는 네트워크 ID로, 뒤의 24비트는 호스트 ID로 사용할 수 있는데, 뒤의 24비트..
· VCS
서론 지금은 혼자 스프링으로 하고 있지만 branch를 따서 협업하는 일이 앞으로 많이 생길게 분명하기 때문에 연습을 좀 해둬야겠다고 생각이 들어서 글을 쓰게 됐다. git status로 현재 상태를 확인할 수 있다. git branch로 현재 branch를 확인할 수 있고, git checkout -b [브랜치 이름] 으로 브랜치를 만들고 이동할 수 있다. 작업을 한다. 나는 woi test 주석을 하나 달았던 것을 삭제했다. 작업을 완료하고 git status를 쳐보면 수정 사항이 나온다. git add . 를 쳐보면 .gitignore 파일을 이유로 오류가 뜨지만 intellij에서 commit, push를 하고 깃랩으로 가보면.. woi-delete-test가 생겼다! 들어가보자 들어가 보면 wo..
서론 웹에 대해 아무것도 모를 때는 로컬에서는 실행되는 걸 확인했는데, 이걸 다른 사람이 확인하려면 나랑 똑같이 인텔리제이를 설치해서 실행해봐야 되는 건가 하는 의문이 있었다. 똑같은 환경을 구축하여 실행해도 되지만 Docker로 image를 만들고 run하면 정말 쉽게 로컬에 서버를 구축할 수 있다. 프로젝트 Jar 파일 만들기 jar 파일은 여러 개의 클래스 파일들과 관련 리소스 및 메타 데이터를 하나의 파일로 모아서 배포를 위해 만들어진 소프트웨어 패키지 파일 포맷이다. (jar은 zip으로 이루어진 압축 파일이다.) 대부분의 스프링부트 사용자들은 인텔리제이를 사용할 텐데, 오른쪽에 보면 Gradle이 보일 것이다. 눌러보면 Tasks -> build -> bootjar 이 보일 것이다. 클릭하자 ..
람다가 vpc 밖에 있는 이유? -> 인스턴스 띄워서 사용하는 서비스가 아니기 때문 AMI를 어떻게 가져올까? 1. 사전 구축된 것 사용 2. AWS Marketplace 3. 자체 생성 인스턴스는 이름은 위와 같이 해석할 수 있다. 아래와 같은 타입들이 있다. T : 범용 (웹 서버 등) R, X : 스토리지 최적화 C : 고성능 G : 머신러닝 인스턴스 세대 = 프로세서 세대수(숫자가 클수록 좋음) 인스턴스 크기는 cpu 개수와 메모리 크기에 비례(일반적으로 두 배씩 커짐) EC2 인스턴스 생명 주기 EC2는 EBS를 사용하는데, 인스턴스를 중지하게 되면 EBS에 남아있다. 근데 종료하면 EBS에 있는 정보까지 삭제되므로 인스턴스를 종료하면 다시 실행할 수 없다. 인스턴스를 중지하면 금액이 발생하지 ..
IPv4 와 IPv6 AWS에서는 둘 다 지원함 CIDR (Classless Inter-Domain Router) IPv4, IPv6는 특정한 주소를 나타내는 반면에 CIDR은 주소 공간을 표기할 때 사용한다. 네트워크에서 클래스를 A, B, C라고 나눠서 주소 공간을 표기하는데, 이런 클래스 표기를 사용하지 않고 CIDR Block을 사용하여 주소 공간을 나눈다. "서울시 강남구 역삼동 센터필드 12층" 은 AWS korea 사무실을 정확히 가리킨다. 만약 센터필드 12층을 주지 않았다면 역삼동만큼의 주소 공간을 의미한다. 예를 들면, 10.0.0.0 / 32 -> IP는 2^0 = 1 이다. -> 센터필드 12층까지 준 느낌 10.0.0.0/24 -> IP는 2^8 = 256이다. -> 역삼동까지 표..
aodtns
'분류 전체보기' 카테고리의 글 목록 (2 Page)