전체 글

전체 글

    [AWS] #2. nginx 적용 및 포트포워딩

    앞 포스팅까지만 한다면, 주소창에 탄력적 IP 주소를 입력했을 때 연결 거부가 뜰 것이다. 이에 대한 해결방법인 nginix를 적용하는 방법과 더 나아가 포트포워딩 방법까지 다루어보려고 한다. nginx 설치하기 (1) EC2 서버에 접속한다. 저는 AWS 사이트 내에서 "EC2 인스턴스 연결" 메뉴를 통해 접속하였습니다. (2) nginx 설치, 실행하는 명령어를 입력한다. 명령어는 아래와 같으며 ubuntu 기준입니다. sudo apt update sudo apt install nginx sudo service nginx start sudo service nginx status (3) 마지막 명령어를 통해 nginx가 정상적으로 active 되어 있는지 확인한다. 보안그룹 설정하기 (1) 생성한 EC..

    [AWS] #1 서버 배포를 위한 EC2 생성

    프로젝트를 진행하다 보면, 내가 직접 서버를 열고 DB를 연결하는 경우가 생기는데 이때 해야 하는 일들을 하나의 시리즈로 포스팅 해보려 한다. EC2 인스턴스 생성하기 1. AWS 사이트에 접속하여 EC2 검색 후 "인스턴스" 메뉴를 클릭한다. 2. 우측 상단에 "인스턴스 시작" 버튼을 클릭한다. 3. 인스턴스 정보를 아래와 같이 설정한다. (1) 기본 이름을 설정하고 (2) Ubuntu로 서버를 설정한다. (3),(4) AMI와 인스턴스 유형은 프리티어를 사용한다. AWS는 첫 가입 1년 간은 프리티어로 서비스들을 저렴하게 사용할 수 있기에 프리티어 스펙으로 설정한다. (5) "새 키 페어 생성"을 클릭하여 키 파일을 다운로드 받는다. 추가 다운로드는 불가하니 보관에 유의해야 한다. 이는 서버에 접속하..

    [토비의 스프링 3.1 Vol1] 3장 템플릿 정리

    3.1 다시 보는 초난감 DAO 3.1.1 예외처리 기능을 갖춘 DAO JDBC 수정 기능의 예외 처리 코드 JDBC 코드는 어떤 상황에서도 가져온 리소스를 반환할 수 있도록 try/catch/finally 구문 사용을 권장한다. 3.2 변하는 것과 변하지 않는 것 3.2.1 JDBC try/catch/finally 코드의 문제점 테스트를 통해 DAO마다 예외상황에서 리소스를 반납하는지 체크하게 해야 하지만 .. 3.2.2 분리와 재사용을 위한 디자인 패턴 적용 메소드 추출 변하는 부분을 메소드로 빼서 독립시킨다. 이렇게 하면 분리시키고 남은 메소드가 재사용이 필요하고, 분리된 메소드는 DAO 로직마ㅏㄷ 새롭게 만들어서 확장되어야 한다. 템플릿 메소드 패턴의 적용 템플릿 메소드 패턴을 이용하여 분리한다...

    [오류 해결] 스프링Spring(Java)

    상황 S3 Bucket에 저장한 이미지 파일을 삭제하는 기능 구현 중 아래와 같은 오류 메세지가 발생하였다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'thumbnailController' defined in file [C:\github\2023-COOKIEE-server\cookiee-server\out\production\classes\com\cookiee\cookieeserver\controller\ThumbnailController.class]: Unsatisfied dependency expressed through constructor parameter 4: Err..

    [동아리] 모바일 앱 프로그래밍 동아리 "APPS" 운영진(회장) 후기

    2023년 1월부터 교내 개발 동아리 APPS의 운영진으로 활동을 하였습니다. 아직 활동이 종료된 것은 아니지만, 우선 1년 간의 내용을 회고로 적어보려 합니다. APPS APPS는 숙명여자대학교 모바일 앱 프로그래밍 동아리이다. 여러 IT/SW 관련 기술 스터디와 프로젝트가 진행되며 이외에도 MT/소풍과 같은 친목 행사, 서브스터디/DevTalk과 같은 정보 공유 활동이 있어 활동 부원들이 다양하게 동아리 활동에 참여할 수 있다. 아래는 APPS에 대한 소개를 담은 카드뉴스이다. 아래 링크트리를 통해 APPS에 관련된 페이지들을 확인할 수 있다 https://linktr.ee/sookmyung_apps Sookmyung APPS | Linktree APPS는 ‘모바일 앱 개발’이라는 공통분모를 가진 학..

    [Spring(Java)] 크리스마스 플레이리스트 선물 서비스 "플리보따리" 개발 과정

    2023년 작년 연말에 교외 사람들과 함께 한 사이드 프로젝트 "플리보따리"에 대한 후기입니다. 저에게도 첫 교외 프로젝트 경험과 배포 경험이었기에 배우고 느낀 점이 많아 이번 회고에 다 풀어내보려고 합니다. 기획 [서비스 주제] 연말을 맞이하여 크리스마스 기간에 친구나 지인에게 플레이리스트와 비밀 편지를 전달하는 서비스 [개발 기간] 2023년 11월 25일 ~ 2023년 12월 22일 [팀원 구성] PM : 1명 (대학생인턴) 디자이너 : 2명 (대학생) 프론트엔드 : 3명 (현직자) 백엔드 : 3명 (대학생,취준생) [기술 스택] 프론트엔드 : React 백엔드 : Spring (Java), MySQL, AWS [협업 툴] Slack, Notion, Github 개발 과정 우선 크리스마스 롤링 페이..

    [행사] 2023 Dev Chat" 컨퍼런스 후기

    Dev Chat" 좋은 기회로 DEVOCEAN에서 사전 등록을 하여 2023년 12월에 진행된 Dev Chat" 컨퍼런스에 참여하였습니다. 이번 주제는 "개발자와 소통하며 가치를 만드는 사람들의 이야기"로 DevRel이라는 직업과 그 직업을 가진 분들의 이야기 등이 공유되었습니다. 10시부터 17시까지 연속하여 강연들이 이어졌습니다. 강연 후기 저는 이날 컨퍼런스를 통해 DevRel에 대해 처음 알게 되었습니다. 개발 관련 직군이 다양한 것은 알고 있었으나, 개발자와 소통하는 직업이 따로 있다는 사실이 흥미로웠습니다. 강연을 들어보니, 본래 다른 직업을 가졌다가 개발에 관심이 생겨 DevRel이라는 직업으로 전향하시는 분들이 많았습니다. 더불어 DevRel 이라는 직업이 신입 채용도 거의 안한다고 하더라..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter3.3 UDP (Connectionless transport)

    UDP란 (User Datagram Protocol) 비교적 간단하다. 상위에서 받아 header을 붙여 아래로 전달하고, 하위에서 받아 header을 떼어 상위로 전달하다. 하는게 없어서 no frills, bare bones라고 부르기도 한다. “best effort” 서비스를 제공한다. "best effort" 란, 보내 놓고 잘 가기를 바라는 것으로 segmet가 lost 되거나 순서대로 전달되지 않을 수도 있다. connectionless 서비스를 한다. 미리 상대방과 링크 설정을 하지 않는다 = handshaking 하지 않는다. UDP segment는 독립적으로 다루어진다. 따라서 각각의 segment마다 IP주소 등을 다 적어주어야 한다. 장점 connection을 미리 설정하지 않아서(n..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter3.2 멀티플렉싱, 디멀티플렉싱 (Multiplexing, Demultiplexing)

    Multiplexing과 Demultiplexing sender에서 multipelxing을 하고, receiver에서 demultiplexing을 한다고 이야기 한다. Connectionless demultiplexing의 과정 UDP에 관한 이야기이다. socket을 만들 때 host의 local port 설정 필요하다. UDP soket으로 보내기 위한 datagram을 만들 때 필요한 것 destination IP address destination Port number(#) receiving host가 UDP segment를 받으면 destination port # 를 체크하고, 그 port#를 가지고 있는 socket으로 보낸다. 같은 dest, port#을 가졌지만 다른 source IP 주..