분류 전체보기411 Http&Network Basic : 간단한 프로토콜 HTTP (2장) 🌐 간단한 프로토콜 HTTP 2.1 HTTP는 클라이언트와 서버 간에 통신을 한다 HTTP에선 클라이언트와 서버를 명확하게 구별한다. 2.2 리퀘스트와 리스폰스를 교환하여 성립 항상 요청에 따른 응답이 돌아온다. 요청은 메서드, URI, 프로토콜, 헤더 그리고 바디로 이루어져 있다. 2.3 HTTP는 상태를 유지하지 않는 프로토콜 HTTP는 상태를 가지지 않는다. 즉, 항상 새로운 요청과 응답이 생성된다. 웹이 진화함에 따라 추가적인 요구사항에 대응하기 어려워 쿠키라는 개념이 탄생했다. 2.4 리퀘스트 URI로 리소스를 식별 URI를 자원이라고 표현한 이유이다. 받은 요청의 URI로 서버 특정 자원을 식별한다. 2.5 서버에 임무를 부여하는 HTTP 메서드 보통 REST API를 사용하므로 간단하게 알아.. 2023. 5. 30. Http&Network Basic : 웹과 네트워크의 기본 (1장) 😱 웹과 네트워크의 기본 1.1 웹은 HTTP로 나타낸다. 브라우저에 지정된 URL을 입력해 서버로부터 정보를 얻고 있는 것이다. 클라이언트에서 서버까지의 흐름을 결정하는 것이 HTTP라는 프로토콜이다. 프로토콜은 약속이다. 1.2 HTTP는 이렇게 태어났고 성장했다. 1989년에 지식 공유를 위해서 HTTP가 탄생했다. 🌐 WWW (World Wide Web)을 구성하기 위해서 HTML, HTTP, URL의 개념이 등장했다. 웹의 발전으로 많은 기업들이 경쟁하면서 다양한 브라우저가 등장했고 통일된 규칙이 필요해졌다. 오늘날 많이 사용하는 HTTP/1.1 버전은 꽤 오래전에 등장했다. 1.3 네트워크의 기본은 TCP/IP HTTP의 기본은 TCP/IP 프로토콜이다. 각 계층 간 데이터가 이동할 때 추가적.. 2023. 5. 30. [Spring] 트랜잭션 사용 조심하기 😇 들어가기 앞서 로그인 실패 시 핸들링을 구현하면서 발생했던 트랜잭션으로 발생했던 이슈가 있어서 공유하고자 합니다. 트랜잭션에 대해서 추가적인 내용들은 따로 정리를 할 예정입니다. 🙋 트랜잭션이란? 하나의 작업의 단위를 트랜잭션이라고 합니다. 스프링에서는 트랜잭션을 편하게 사용할 수 있도록 AOP와 어노테이션 기반으로 동작합니다. 우리가 꼭 짚고 넘어가야 것은 트랜잭션은 기본적으로 상위 트랜잭션에 포함된다 입니다. 1️⃣ 로그인 실패 로그인 실패 핸들링은 다음과 같은 요구사항을 가집니다. 로그인 실패 시 로그인 실패 회수를 카운팅한다. 카운팅한 결과를 예외에 담아서 던진다. 코드는 다음과 같이 작성했습니다. 인증을 진행하다가 BadCredentialsException가 발생하면 핸들링 로직을 실행합니다.. 2023. 5. 29. [후기] 프로그래머스 백엔드 데브코스 4기 합격 후기 😎 데브코스 합격 후기 😎 하반기 채용을 노리고 있는 저는 남은 기간 동안 무언가 전문적인 교육을 받아보고 싶어서 데브코스를 지원했습니다. 최종합격까지의 과정들을 적어보고 난이도, 면접 질문 그리고 느낀 점들을 공유해 보겠습니다! 🧐 왜 데브코스? 선택에 여러 가지 이유가 있지만 결정적인 이유는 다음과 같습니다. 교육 기간 : SSAFY의 경우 기간이 1년이나 됩니다. 너무 과투자라고 생각하기 때문에 6개월인 데브코스를 선택했습니다. 클라우드 : 지난 프로젝트에서 DevOps의 힘듦을 많이 느꼈는데 커리큘럼이 보다 세부적이었습니다. 많은 프로젝트 : 개인 프로젝트부터 팀 프로젝트 2개, 그중 하나는 프론트 교육생과 협업을 진행합니다. 📑 지원서 작성 어떤 부트 캠프이던 꼭 지원서를 통해서 자기가 어떤 사.. 2023. 5. 23. TIL : Bean 컨테이너와 ComponentScan (22) 🎛️ ApplicationContext 스프링에서 핵심인 ApplicationContext는 Bean을 관리해준다. 싱글톤 레파지토리로도 불리는데 Bean을 싱글톤으로 관리해주기 때문이다. 우리가 작성한 설정 정보를 적용시키려면 @Configuration을 붙여준다. 여기에 싱글톤의 비밀이 들어있다. 설정 정보는 우리가 작성한 순수 자바 클래스가 빈으로 등록되는 것이 아니다. 작성한 자바 클래스를 상속받는 임의의 다른 클래스를 만들고 빈으로 등록한다. 여기서는 CGLIB라는 바이트코드 조작 라이브러리를 사용한다. CGLIB 라이브러리가 내부적으로 어떻게 구현되었는지는 모르겠지만, 빈이 존재하면 기존 인스턴스를 반환하고 아니라면 생성할 수 있도록하는 클래스로 변환될 것이다. 따라서 @Configuratio.. 2023. 5. 17. [Java] 백준 17265번 : 나의 인생에는 수학과 함께 https://www.acmicpc.net/problem/17265 17265번: 나의 인생에는 수학과 함께 세현이의 인생의 목표는 1분 1초 모든 순간 수학과 함께 살아가는 것이다. 그렇기 때문에 매일 수학을 생각하면서 살아가고 있다. 세현이는 밥을 먹을 때도 쌀알의 수를 계산하여 칼로리를 바로 www.acmicpc.net 💡 문제 풀이 그래프 탐색 문제이다. 범위가 작아서 백트래킹으로 구현했다. 전역적으로 연산자에 대해서 관리했다. 따라서, 연산자일 때 새롭게 연산자를 초기화해 주고, 연산자가 아니라면 기존의 연산자로 돌려주는 것이 핵심이다. ✔️ 느낀 점 자바로 푸니까 확실히 어렵지만 할만한 문제였다. 사실 int 형으로 변환할 때 parseInt를 쓰고 싶지 않아서 char형으로 갔는데 타입은 편.. 2023. 5. 17. 이전 1 ··· 4 5 6 7 8 9 10 ··· 69 다음