전체 글 (23) 썸네일형 리스트형 [Spring] 토비의 스프링 3.1 Vol.1 - IoC(제어의 역전)? 쉽게 말해, 프로그램의 제어 흐름 구조가 뒤바뀌는 것이다. 일반적인 흐름은main() 메소드와 같은 프로그램 시작점에서,사용할 (1)오브젝트를 결정하고,결정한 (2)오브젝트를 생성하고,만들어진 오브젝트에 있는 (3)메소드를 호출하고,그 오브젝트 메소드 안에서 ~ 다음에 사용할 것을 결정하고~ 호출하고 ~이런 식의 작업 흐름이 반복된다. 이런 프로그램 구조에서각 오브젝트는 프로그램 흐름을 결정하거나 사용할 오브젝트를 구성하는 작업에 능동적으로 참여한다. 초기 UserDao 클래스를 보면테스트용 main()메소드는 UserDao 클래스의 오브젝트를 직접 생성, 사용하고,UserDao도 마찬가지로 자신이 사용할 ConnectionMaker의 구현 클래스(예를 들어 DConnectionMaker)를 자신이 결정.. [CS / 네트워크] 네이버 접속 과정으로 이해하는 네트워크 프로세스(TCP, OSI 7계층) - (2) 이전 단계https://0htmdwns.tistory.com/21(1) URL 입력 & 요청 준비(2) DNS 조회를 통한 도메인 -> IP주소 변환 3단계. TCP 3-Way Handshake (연결 수립)이제 브라우저는 IP를 알았으니, 223.130.195.95 (NAVER 서버)와 TCP 연결을 시도한다.포트는 HTTPS니까 443번이다. 과정1. 클라이언트 -> 서버 : SYN (연결 요청)2. 서버 -> 클라이언트 : SYN + ACK(요청 수락)3. 클라이언트 -> 서버 : ACK(응답 확인) 이로써 신뢰성 있는 연결이 수립된다.이건 OSI 4계층(전송 계층) 수준의 동작이다. *OSI 7계층 기준 요약 더보기계층역할예시7 응용HTTP 요청/응답GET / , HTML6 표현TLS 암호화 / .. [CS / 네트워크] 네이버 접속 과정으로 이해하는 네트워크 프로세스(DNS, UDP, ISP, TTL) - (1) 결론사용자가 www.naver.com을 입력하면,브라우저가 DNS를 통해 IP(223.130.195.95)를 얻고 (도메인 -> IP 변환), TCP/TLS 연결을 맺고,암호화된 HTTP 요청을 보내며,NAVER 서버가 HTML을 응답하고,브라우저가 이를 렌더링해 사용자가 보는 메인 페이지를 완성한다. 1. URL 입력 & 요청 준비사용자가 브라우저 주소창에 www.naver.com을 을 입력하고 Enter를 누르면, 브라우저는 먼저 이 URL을 해석(parse)해서 다음과 같은 구성 요소로 나눈다.구성요소예시프로토콜https://호스트명www.naver.com포트443(HTTPS 기본 포트)경로/ 브라우저는 이제 이 정보를 기반으로 HTTP(S) 요청 메시지를 만들기 위한 준비를 시작한다. 2. DN.. [CS] API와 REST API란? [React.js] useRef의 작동 방식을 알아보자 [JAVA] Map.put()의 반환 규칙 : null을 반환하는 이유(putIfAbsent 메서드) https://0htmdwns.tistory.com/17 [JAVA] Map : 하나의 key에 여러 value를 저장하는 방법백준 https://www.acmicpc.net/problem/1181개요단어를 입력받고, 입력받은 단어들을 정렬하여 출력한다. 이때,중복을 제거해야한다.길이가 짧은 단어부터 출력한다.길이가 같다면 사전 순으로 출력한다.0htmdwns.tistory.com 개요위 글을 작성하던 중, map의 삽입 방식에서 null을 반환하는 이유가 궁금해 작성하게 되었음. Map.put()의 반환 규칙?put(key, value)는 이전에 그 key에 매핑된 value를 반환하고, value를 덮어 씌우는 것이다.만약 이전에 없었다면 null을 반환한다.Map map = new HashMap(.. [JAVA] Map : 하나의 key에 여러 value를 저장하는 방법 백준 https://www.acmicpc.net/problem/1181개요단어를 입력받고, 입력받은 단어들을 정렬하여 출력한다. 이때,중복을 제거해야한다.길이가 짧은 단어부터 출력한다.길이가 같다면 사전 순으로 출력한다. 접근key : 단어의 길이value : 단어들 key(단어의 길이)를 TreeMap을 활용해 오름차순으로 자동 정렬하게 하고,value(단어) 또한 TreeSet으로 자동 정렬되게 했다. import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(ne.. [JAVA] 슬라이딩 윈도우 알고리즘 백준https://www.acmicpc.net/problem/12891 슬라이딩 윈도우 알고리즘이란?2개의 포인터로 범위를 지정한 다음, 범위를 유지한 채로 이동하며 문제를 해결하는 알고리즘.ex) 창틀에 창문을 놓고 이동하는 모양과 유사함. 나의 접근import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputS.. 이전 1 2 3 다음