목록전체 글 (97)
도도한 개발자
🐈⬛ swagger Swagger 는 REST API를 설계, 빌드, 문서화 및 사용하는 데 도움이되는 OpenAPI 사양을 중심으로 구축 된 오픈 소스 도구 세트이다. 애플리케이션의 API 문서를 자동으로 구성하는 특수 도구, 애플리케이션의 모든 엔드포인트를 살펴볼 수 있을 뿐만 아니라 요청을 보내고 응답을 수신하여 작동 중인 엔드포인트를 즉시 테스트할 수 있다. 🐈⬛ swagger 사용이유 🐾 사용이유는 곧 장점 테스트 할 수 있는 UI를 제공한다. 프로덕션 코드인 Controller가 곧 문서가 된다는 점에서 README.md 파일과 같이 별도로 관리할 문서가 없다. 🐈⬛ swagger 사용 배경 장바구니 협업 미션을 본격적으로 시작하기 위해 프론트엔드의 솔로스타, 네이브와 함께 API 설계를..
이 글은 세시간 동안 작성하다 ec2 인스턴스의 퍼블릭 IP를 확인하기 위해 페이지 이동하다 전부 날린 후 다시 작성하는 글입니다. 정말 많이 속상하고 화가 났지만 '앞으론 습관적으로 임시저장 버튼을 누르자'라는 교훈과 함께 마음을 다 잡고 다시 쓰렵니다...🫠🐈⬛ 주제 선정 이유장바구니 미션에서 Basic Authentication 사용 방법에 대해 충분히 이해하지 못하고 넘어간 것이 마음에 걸려 다시 학습했습니다. 우아한테크코스에서 소개한 인증 방법은 Basic, Session, Token 이렇게 세 가지였으나 장바구니 미션에 Basic 인증을 적용하였으므로 이번 글에선 Basic 인증이 무엇이지, 어떻게 사용하는지에 대해 다루고자 합니다.🐈⬛ Basic 인증Basic Authentication(..
🔔 성공과 실패를 결정하는 1%의 네트워크 원리를 읽고 정리한 글입니다. 🐈⬛ 콘텐츠 배포 서비스를 이용한 부하 분산 🐾 캐시 서버는 어디에 둘까? 서버 측에 두는 경우와 클라이언트측에 두는 경우가 있는데 두 방식에선 이용 효과면에서 차이가 난다. 웹 서버 직전에 둔다면... 웹 서버의 운영자가 캐시 서버를 관리할 수 있지만 트래픽 억제 효과는 없다. 💭 트래픽이 뭘까? 트래픽은 네트워크 내부에 일정 시간 동안 흐르는 데이터의 양이다. 데이터 전송량이라고 말할 수 있다. 즉, 트래픽이 많다는 의미는 데이터 전송량이 많다는 의미와 동일하다. 💭 트래픽 효과가 없다는 건 어떻게 알까? 캐시 서버가 웹 서버 바로 앞에 위치해 있고 이를 웹 서버가 관리하긴 하지만 클라이언트가 혼잡한 인터넷을 통해 전달하는 데..
HTTP 메소드 종류와 특징 HTTP 메소드의 종류는 총 9가지가 있다. 이 중 5가지 메서드(GET, POST, PUT, PATCH, DELETE)를 주로 사용하지만, 이번 장바구니 미션에서 사용한 메서드는 4가지였다. 각각의 이름과 특징에 대해 알아보자. GET Method 리소스 조회 - 데이터를 요청하는데 사용된다. 서버에 전달하고 싶은 데이터는 쿼리 파라미터 등을 통해서 전달한다. 쿼리 문자열은 "q=hello"와 "hl=ko"처럼 이름/값 쌍으로 GET 요청의 URL로 전송된다. 일반적으로 리소스의 위치를 URL에서 쿼리로 표현하기 때문에 RequestBody가 없다. POST Method 요청 데이터 처리 - 요청된 자원을 생성하기 위해 사용되는 메소드이다. POST로 서버에 보내진 데이터는..
* 본 게시물은 우아한테크코스를 수료하는 과정에서 작성한 글입니다. step1에서 git checkout -b step2 로 브랜치를 생성해 거기서 step2를 시작했을 것이다. 구현한 목록도 체크하고, enum도 만들고, 테스트 코드도 작성했다. (맨 위가 최신 커밋) 열심히 작업하다가 들려온 반가운 소식! “step1 이만 merge할게요. 다음 단계를 진행해주세요” ‘어 잠만, 그럼 step2 만들어놓은 건 어쩌지?‘ 천천히 순서대로 해보자. 1. 일단 merge가 됐으면 main 브랜치로 가자 git checkout main 2. 여기서 우아한테크코스 미션 레포지토리에 연결 통로를 만들자 git remote add upstream {우아한테크코스 미션 레포지토리} * upstream은 별칭이다 3..
쓰레드란 무엇일까? 자바 프로그램을 사용하여 뒤에 클래스 이름을 붙이면 적어도 하나의 JVM이 시작된다. 보통 이렇게 JVM.이 시작되면 자바 프로세스(Process) 가 시작하는데, 이 안에 여러 개의 쓰레드라는 것이 수행된다. java 명령어를 사용하여 클래스를 실행시키는 순간, 자바 프로세스가 시작되고, main() 메소드가 수행되면서 하나의 쓰레드가 시작되는 것이다. 왜 쓰레드를 만들었을까? JVM은 기본적으로 아무런 옵션 없이 실행하면 적어도 32MB ~ 64MB의 물리 메모리를 점유하는 반면, 쓰레드를 하나 추가하면 1MB 이내의 메모리를 점유한다. 대부분의 작업을 단일 쓰레드로 실행하는 것보단 다중 쓰레드로 실행하는 것이 더 빠른 시간에 결과를 제공해준다. 따라서 쓰레드를 사용하면 보다 빠른..
Map 이란? 자바에서의 Map은 키(Key)와 값(Value)으로 이루어져 있다. Map에서 다른 데이터와 구분하기 위한 값의 이름을 키라고 하는 이유를 생객해보면 이해하기 쉬울 것이다. Map의 특징은 다음과 같다. 모든 데이터는 키와 값이 존재한다. 키가 없이 값만 저장될 수는 없다. 값 없이 키만 저장할 수도 없다. 키는 해당 Map에서 고유해야만 한다. 값은 Map에서 중복되어도 전혀 상관 없다. Map은 java.util 패키지의 Map이라는 이름의 인터페이스로 선언되어 있고, 구현해 놓은 클래스들도 많이 있다. 이 Map 인터페이스에 선언되어 있는 메소드들의 주요 기능을 보자. 리턴 타입 메소드 이름 및 매개 변수 설명 V put(K key, V value) 첫 번째 매개 변수인 키를 갖는,..
중앙처리장치(CPU)는 명령어의 해석과 자료의 연산, 비교 등의 처리를 제어하는 컴퓨터 시스템의 핵심 장치이다. '인간의 두뇌' 해당한다고 할 정도로 가장 핵심적인 역할을 수행하며, 크게 연산장치, 제어장치, 레지스터와 각 구성 요소를 연결하는 내부 버스로 구성되어 있다. CPU 구성요소 1. 제어 장치 (CU, Control Unit) 명렁어를 순서대로 실행할 수 있도록 제어하는 장치 기억 장치로부터 프로그랭 명령을 순차적으로 꺼내 해독하고, 해석에 따라서 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력 장치 등으로 보내는 장치 프로그램 카운터(PC), 명령 해독기, 부호기, 명령 레지스터 등으로 구성됨 2. 연산 장치 (ALU, Arithmetic and Logical Unit) 산술연..