목록전체 글 (29)
가자미의 파닥파닥 프로그래밍
AWS EC2 셋팅 EC2 (Elastic Compute Cloud) - 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스 간단히 aws가 운영하는 데이터 센터의 PC 한대를 빌린다. 장점 클릭 몇 번으로 서버를 생성할 수 있어, 실제 서버를 구축하는(서버용 PC를 구매하고 이런저런 셋팅하는것)에 비해 훨씬 간편하다. 비용 절감 → 서버를 구축하기 위한 PC를 구매하지 않아도 된다. 단점 다른 서비스를 붙이려고 하면 생각보다 어렵다… EC2 만들기 이름 및 태그 정하기 : 말그대로 내가 빌리는 PC의 이름을 지정해주는 것이다. AMI(Amazon Machine Image) 선정하기 : 빌릴 PC에 OS를 설정하는 단계이다. OS는 여러가지가 될 수있다. 최근에 macOS가 추가 되었다고 한다. 인스턴..

Fitingle 프로젝트의 서버 개발이 거의 끝나갑니다.. 프론트에서도 그 동안 내부적으로 문제들을 해결 하느라 서버와의 연동및 API 테스트를 진행해보지 않아서, 이제야 테스트를 시작하게 되었습니다. 그러던중 CORS 에러가 발생하는 것을 확인 하였고, CORS에 대해서 알아보고 해결하는 방법을 알아 보겠습니다. 또한, 아직 해결하지 못한 문제점을 알아 보겠습니다. CORS란? Cross Origin Resource Sharing(교차 출처 리소스 공유 정책) 서로 다른 도메인간에 자원을 공유하는 것을 의미합니다. 기본적으로 서로 다른 도메인간의 자원을 공유하는 행위는 브라우저에서 차단이 됩니다. 그 이유는 보안상의 이유입니다. 만약, 악의적인 사용자가 자바스크립트를 이용하여 악의적으로 서버에 접근을 ..
네트워크(Network) 두 개 이상의 컴퓨터를 연결한 구조를 네트워크라고 한다. 연결 매체(전송 매체) 두 개의 이상의 컴퓨터를 연결해 주는 물리적인 매체 - 구리선, 광섬유, 전파 등등 연결 방식(근거리 통신(LAN)) 1. 직접 연결 방식 - 연결을 하려고 하는 두 개이상의 컴퓨터를 구리선으로 직접 연결하여 전기 신호를 이용하여 데이터를 주고 받는다. - 단점 - 새로운 컴퓨터를 연결하려고 할 때, 구리선을 각각 모두 연결해 줘야한다. (N+1 개의 연결 비용 발생) 2. 공유 라인 사용 방식 - 연결 하려는 컴퓨터들을 하나의 공유된 라인을 통해서 연결한다. - 버스형 토폴로지 - 공유기에서 많이 사용됨 - 양 끝점이 있는 직선형의 공유된 라인을 사용 - 특정 컴퓨터에만 보내는게 아니라 다른 모든 ..
이전에 Fitingle 인증과 인가 처리에서 userId가 필요한 API들에 userId가 필요한 요청들에 대해서 직접 userId를 포함해서 보내던 것을 인증 객체에서 userId를 빼내어서 사용하는 것으로 해결해 보았습니다. 이번에는 인증 처리 Filter에서 Filter 처리하던 코드가 가독성이 너무 떨어져 이를 해결해 보려고 합니다. 이슈 내용 기존에 토큰을 검증하는 부분의 가독성이 떨어지고 있습니다. 바로 Filter에서 토큰을 해석하고, 맞지 않으면 response를 Filter 자체에서 반환하고 있기 때문입니다. 가독성이 떨어지면 문제가 발생했을때, 체크하기도 어렵고 내용을 팀원들과 공유하기도 힘들어집니다. 해결 근본적인 문제는 검증이 실패하면, 응답을 해당 Filter에서 직접 반환하기 때..
서블릿과 JSP의 한계 JSP와 서블릿은 결과적으로 다음과 같은 문제점이 있습니다. 비즈니스 로직과 UI와의 의존성이 있다. 비즈니스 로직과 UI 코드가 같이 존재해서 어느 하나를 수정하더라도 둘다 수정해야된다. 즉, 유지 보수에 어려움이 있다. 변경의 라이프 사이클이 다르다. 변경의 라이프 사이클이라 함은 변경하는 시점이 다르다는 것이다. 즉, UI를 수정하는 일과 비즈니스 로직을 수정하는 일은 각각 다르게 발생한다. 이 역시, 유지 보수를 어렵게 만든다. 기능 특화 JSP와 같은 뷰 탬플릿은 사실 화면을 랜더링 하는데 최적화 되어 있다. 이런 기능이 특화 되어 있는것에 부가적인 기능이 추가되는 비즈니스로직이 들어가는 것은 효과적이지 못하다. 그럼 이런 문제를 어떻게 해결하면 될까? 정답은 역할을 나누..

1. RabbiMQ 설치 먼저, 현재 실행중인 EC2에 접근해 줍니다. 그리고, 다음의 명령어를 수행해 줍니다. 이명령어를 입력해주고 기다리면 실제 설치는 끝납니다...(많이 허무합니다...) sudo apt-get update // apt 최신화 sudo apt-get install rabbitmq-ser // rabbitmq server 설치 2. RabbitMQ 실행 // root 권한으로 이전 systemctl start rabbitmq-server //서비스에 등록 systemctl enable rabbitmq-server //rabbitmq 확인 netstat -nl | grep -E -i "proto|5672" 3. RabbitMQ 대쉬보드 //대쉬 보드 설정 rabbitmq-plugins ..