개발 (99) 썸네일형 리스트형 의존성 + ( IoC / DI 란 ) 의존성이란? Spring IoC, DI를 알아보기 전에 의존성이라는 개념에 대해 먼저 알아야 한다. 자바에서 의존성은 A 객체 생성자에서 다른 B 객체 생성자를 생성해야 한다면, .A가 B에 의존한다고 한다. +의존한다는 것은 의존 관계를 가지게 되는데, 이 관계는 집합관계와 구성관계로 나뉜다. 집합관계: 부분이 전체와 다른 생명 주기를 가질 수 있다. ( 집 - 냉장고 ) 구성관계 부분은 전체와 같은 생명 주기를 갖는다. ( 사람 - 심장 ) 말보다 코드로 보는게 더 이해가 빠르겠다.(+ 이걸 말로만 설명하려면 어떻게 해야할지 모르겠다) 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 31 32 33 34 .. [Spring] Spring 구조와 특징 Spring MVC 구조 동작 과정 URL로 접근하여 정보를 요청한다. DispatcherServlet이 해당 요청을 매핑한 컨트롤러가 있는지 검색한다. 요청한 컨트롤러가 있다면, HandlerMapping이 Controller에 처리를 요청한다. Controller - Service - DAO - DB 계층 구조로 요청에 대한 Response와 결과를 출력할 View이름을 리턴한다. DispatcherServlet이 Response, View이름을 받아, ViewResolver를 통해 해당 View이름이 있는지 검색한 후 처리 결과 View를 반환한다. 최종 결과를 받은 DispatcherServlet이 최종 결과를 Client에게 최종 반환해준다. DispatcherServlet이란? 스프링 MVC는.. Servlet이란 Servlet이란? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 상세 설명 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 하지만 그전에 어떠한 요청을 하면 그에 대한 결과를 전송해주는 역할을 한다. 이러한 서블릿은 자바로 구현된 CGI라고도 말한다. 일반적으로 웹 서버는 정적인 페이지만 제공하여 동적인 페이지로 만들기 위해서는 다른 곳에 도움을 요청해야 한다. 이때 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이다. + CGI란? Common Gateway Interface의 약어로, 웹 서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. 웹 서버도 종류가 여러가지 있을 것이고,.. [Spring] Spring 터미널에서 백그라운드 실행하는 방법 보호되어 있는 글입니다. [백준 / Python] 파티_1238 첫 번째 풀이 코드12345678910111213141516171819202122232425262728293031323334353637383940import sysfrom heapq import heappush, heappop n, m, x = map(int, input().split())data = [[] for _ in range(n + 1)]INF = int(1e9)for _ in range(m): a, b, c = map(int, sys.stdin.readline().split()) data[a].append((b, c)) def dijkstra(start, end): distance = [INF for _ in range(n+1)] distance[start] = 0 q = [] heappush.. [BOJ] 좋은수열_2661 이 문제는 내 힘으로 풀지 못하였다. 요 몇일 백트래킹 문제를 풀고 있는데, 내가 이 개념을 아는 줄 알았는데 잘 모르는 것 같다. 이 상태로 문제를 더 푸는건 의미가 없는 것 같다. 여기서 바로 잡고 가자. 재귀와 basecase를 어떻게 활용하는지 공부해보자. 재귀와 base case를 공부하여 밑에 정리하고 왔다. 조금은 보이지 않던 것들이 보이는 것 같다. 그래도 다시 흠칫하는 것은, data[-i:] == data[-i*2:-i]부분이다. 나라면 길이가 if cnt == n이 된다면 이때 판별할 것 같았다. 하지만 이렇게 되면 길이가 n이 될떄까지의 모든 경우의 수를 다 구해놓고, 나쁜 수열이 된다면 버려야 한다. 즉, 소모가 매우 크다. data[-i:] == data[-i*2:-i] -> 이.. [BOJ] 차이를 최대로_10819 이 문제는 가장 기본적인 순열 문제이다. 하지만 라이브러리를 쓰지 않고, 직접 구현하라고 하면 할 수 있을까? 하는 생각이 들었다. 구현 방법은 dfs 백트래킹을 사용하여 모든 경우의 수를 구해주면 되겠다 싶었지만, 막상 코드를 작성하려 하니 손이 움직이지 않았다. 그러니 dfs로 구현해보자. 재귀를 사용했다. - 재귀는 베이스 케이스를 잘 지정해야 한다. 여기선 개수가 m개일 때, 루프문을 나가는 것으로 하였다. [BOJ] 행성 터널_2887 위 문제는 N개 노드의 간선이 될 수 있는 모든 경우의 수를 판단해 준 후, 크루스칼 알고리즘을 활용하려 했다. 하지만 N의 갯수가 최대 10만이기 떄문에 N(N-1)과 같은 방식으론 해결할 수 없다. 이를 해결한 풀이는 다음과 같다. x, y, z를 각각 나눠서 생각해본다. x=[]에는 x값을 정렬한 후, 거리를 계산한 값만 추가한다. y, z, 도 방금 한 x와 똑같이 수행한다. 그 후 data배열에 다 추가한다. 그럼 완벽히 최소 값부터 정렬된 것은 아니겠지만, 그래도 x, y, z의 각각 자신이 갖고 있는 최소값을 추가해주는 상황이다. 이전 1 2 3 4 5 6 7 8 ··· 13 다음