일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- CPU
- URL
- 코딩테스트
- stack
- CPU bound
- 동시성문제
- springMVC
- TCP/IP
- green thread
- DICTIONARY
- 문자열 내마음대로 정렬하기
- reflection
- IO bound
- 십진수 이진수 전환
- dns
- java
- 가장 가까운 단어
- 크기가 작은 부분 문자열
- Queue
- annotation
- 프로그래머스
- Split
- http
- deque
- Spring
- process
- port
- frontPattern
- 2차원 배열 출력
- 문자열
- Today
- Total
목록전체 글 (50)
아무나개발하자
문제 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 문제 해결 방법 1. queue를 하나 만든다. 2. t를 str리스트로 만든다 t_list (예 "1234" -> ["1","2","3","4"]) 3. p의 길이 만큼 t_list를 queue에 담는다. 4. "queue의 길이 >= p의 길이" 인 상황에서 queue의 값과 p의 값을 비교 (문제에서 요구하는 작거나 같으면 ++) 5. queue.popleft() """ ..

지금부터 프로세스, 스레드, 멀티 태스킹, 멀티 스레딩, 멀티 프로그래밍, 프로그램이 모든것을 정리한다. 간단한 개념 정리 프로그램 → 컴퓨터가 실행 할 수 있는 명령어들의 집합 프로세스 → 컴퓨터에서 실행중인 프로그램인데, 즉 OS로부터 독립된 가상의 메모리공간을 할당 받아 실행중인 프로그램 CPU → 명령어를 실행하는 연산장치 메인 메모리 : 프로세스가 CPU에서 실행되기 위해 대기하는 곳, CPU가 글씨를 쓰기 위한 연습장이라고 간단히 생각해라 IO : 파일을 읽고 쓰거나, 네트워크의 어딘가와 데이터를 주고 받거나, 입출력 장치와 데이터를 주거나 받는것 프로세스 시스템의 정리 최초의 프로세스 시스템 : 단일 프로세스 시스템(한번에 하나의 프로그램만 실행됨) 단일 프로세스 P1이 실행된다고 가정할때,..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 1 : 1 2 : 2 3 : 2 4 : 1 5 : 2 문제 해결 방법 1. 딕셔너리 하나 만들고 tangerine 돌면서 dic안에 값이 있으면 ++, 없으면 1 (이렇게 해야 시간복잡도 지킴) 2. 딕셔너리를 value 크기 순서대로 sort(나는 처음에 max를 찾는걸 생각했는데 이것도 시간 효율에 걸린다, 계속 맥스를 찾는것 보다, 큰 순서대로 정리하는게 더 좋다) 해서 ..
지날글에 내용을 간단히 요약하겠다. RequestMapping Class // Retention을 통해 RequestMapping이 런타임시점에서 동작하도록 설정 (compile시점에서 동작하는것도 가능) @Retention(RetentionPolicy.RUNTIME) // Target을 통해 이 어노테이션을 어디다 설정할지를 결정 (TYPE : 클래스, METHOD : 메서드, FIELD : 필드) @Target({ElementType.METHOD}) public @interface RequestMapping { String value; } - 어노테이션을 직접 설정하였고 UserController -2 //@Controller public class UserController { @RequestMap..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ want {"바나나" : 3} {"사과" : 2} {"쌀" : 2} {"돼지고기" : 2} {"냄비" : 1} 1일 : 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀 2일 : 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비 3일 : 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나 4일 : ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ''' 문제 해결 방법 이건 스택으로 풀면 될거 같다 1. 스택 배열을 선언한다. 2. 스택의 len이 2개 이상이면 두개의 문자열 알파벳이 동일한지 비교 3. 같으면 pop 2번, 아니면 그냥 넘어감 ''' def solution(s): answer = -1 stack = [] for elem in s: stack.append(elem) if (len(stack) >= 2): back..

Spring MVC 구조 자바 reflection에 대해 잘 이해하기 위해서는 우선 spring MVC의 개념에 대해 알아야한다. - 전체적인 spring mvc 구조를 잘 보여주고 있는 그림이다. 사용자 즉 브라우저에서 HTTP 요청이 오면 우선 Filter로 요청이 가고 그 다음 DispatcherServlet으로 요청이 넘어가고 DispatcherServlet에서는 해당 요청을 처리할 수 있는 컨트롤러와 컨트롤러를 실행하기 위한 Adapter를 찾아 URl에 해당하는 컨트롤러를 실행한다. 그리고 머 상황에 따라 MVC 구조면 View까지 랜더링해서 응답하고 아니면 json형식으로 응답하는 방식으로 진행된다. 그럼 이야기를 왜 했는지 의문이 들을 수 있다. 그 이유는 이러한 과정이 모두 컴파일 시점에..

HTTP (HyperText Transfer Protocol) (거의 모든 형태의 데이터 전송 가능, 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대!) 1. HTTP 메시지에 모든 것을 전송 2. HTML, TEXT 3. MAGE, 음성, 영상, 파일 4. JSON, XML (API) 기반 프로토콜 - TCP : HTTP/1.1, HTTP/2 - UDP : HTTP/3.0 HTTP 특징 (중요) 1. 클라이언트 서버 구조 2. 무상태 프로토콜 (stateless), 비연결성 3. HTTP 메시지 4. 단순함 (확장이 가능) 1. 클라이언트 서버 구조 - Request, Response 구조 - 클라이언트는 서버에 요청을 보내고, 응답을 대기 - 서버가 요청에 대한 결과를 만..

웹 브라우저의 요청 흐름과 응답 흐름에 대해 자세하게 다루어 보겠다. 웹 브라우저에서 위의 URL을 입력했을때 어떻게 될까용~~~???? 이제부터 엄청나게 자세하게 설명해주겠다. 1. DNS를 통해 www.google.com에 해당하는 목적지 즉 서버의 IP 주소를 찾는다. 200.200.200.2를 찾았다고 가정하자! (DNS내부적으로 리버스 프록시 서버의 IP를 줘서 로드밸런싱을 하는 경우는 일단은 생략하겠다.) 2. 서버의 포트를 찾는다 -> HTTPS는 443(Listen 포트)를 사용해서 생략도 가능하다. (HTTP : 80, HTTPS: 443) 3. 클라이언트의 브라우저에서 HTTP 요청 메시지를 만든다. - 요청 메시지는 이런식으로 생겼다. 뒤에서 더욱 자세하게 설명하겠지만 HTTP 메세지..

HTTP의 기본 용어에 대해 알고가자 1. 인터넷 통신 2. IP 3. TCP/ UDP 4. PORT 5. DNS 1. 인터넷 통신망 복잡한 인터넷 망은 노드(컴퓨터)를 통해 통신을 한다. -> 컴퓨터를 통해 어떻게 통신할 수 있을까??? -> 답 : IP를 통해 할 수 있다 - 답을 저렇게 해놓으면 많은 이견이 달릴 수도 있을것 같다. 나도 안다 자세하게는 나중에 설명하겠다. 2. IP 간단하게만 얘기해서 송신지 IP와 목적지 IP를 통해서 패킷을 전달할 수 있다. IP 패킷은 이러한 형식으로 생겼다. 여기서 중요한것은 패킷에 송신지 IP와 수신지 IP가 모두 있다는 것이다. 이렇게 함으로써 양방향 통신이 가능하게 하였다. 하지만 IP 프로토콜만으로는 한계가 있다. IP 프로토콜의 한계 - IP 프로토..