목록분류 전체보기 (68)
개인공부용123 프로그래밍 블로그
코드만 #include #include using namespace std; #define MAX 200 char stack[MAX]; int top; bool isEmpty() { return top == 0 ? true : false; } bool isFull() { return top == MAX ? true : false; } void push(char data) { if (isFull()) return; stack[top++] = data; } char pop() { if (isEmpty()) return -1; char ret = stack[top - 1]; stack[--top] = 0; return ret; } string validation(char* str) { int len = str..
1. 풀이 방식( DP, 재귀, 반복문) - 재귀 풀이 방식(search) : 첫번째 아이템부터 하나씩 선택해나가면 최대값을 찾음 메모제이션을 활용하여 이미 찾은 값은 또 찾지 않도록 처리 - 반복문 방식 (search2) : 가능한 모든 무게에 item을 하나씩 추가 하여 가장 큰 가중치를 찾아나감 2. 유의 사항 : 없음 출처: https://survivalking.tistory.com/75 [생존몬의 프로그래밍 블로그] #include #include #include using namespace std; #define MAX 100000 int N, K; int W[101]; int V[101]; int dp[101][MAX + 1]; int dp2[MAX + 1]; int search(int po..
1. 풀이 방식 - 가능한 모든 수열의 갯수를 찾아야 함 - 수열의 오름차순으로 나와야함 - 완전탐색을 하되 이미 pick한 값은 제외 하여 탐색, pick한값들은 배열에 임시 저장해둠 - 고를수있는 숫자를 전부 고르면 임시저장해둔 값을 출력 - 탐색은 1부터 진행하므로 오름차순 정렬을 보장 2. 유의 사항 : pick 한 후 다시 자기 step에 왔을때 pick 한 숫자를 풀어줘야함 #include #include using namespace std; #define MAX 1000000 bool check[9]; int arr[9]; int n,m; void suyeol(int cur, int st) { // 결과 값 출력 if (cur == m) { for (int i = 0; i < m; ++i) ..
1. 풀이 방식 : 단순 재귀 함수로 구현 2. 유의 사항 : 0! = 1 #include #include using namespace std; int recur(int n) { if (n == 0) return 1; return n * recur(n - 1); } int main() { int N; cin >> N; printf("%d\n", recur(N)); return 0; }
BOJ 2751 정렬문제 1. 풀이 방식 : Merge Sort로 NlogN 타임에 구현 - 직접 머지 소스 구현 - stl을 사용한 구현 2. 유의 사항 : C++ 입출력을 사용시 TimeOut이 나옴 * Merge 코드 구현 #include #include using namespace std; #define MAX 1000000 int sort[MAX]; // 오름차순 정렬 // st ~ mid, mid + 1 ~ en void merge(int* list, int start, int mid, int end) { int i = start; int j = mid + 1; int k = start; int l; while (i
프로젝트 구동시 참여 : web.xml(톰캣 관련), root-context.xml, servlet-context.xml 로딩 순서 1. web.xml : ContextLoaderListener를 구동 2. root-context.xml : 빈 설정들을 동작, 빈들이 Spring의 context영역안에 생성 객체들간의 의존성 처리 3. DispacherServlet이 작동하면서 XmlWebApplicaitonContext를 이용하여 servlet-context.xml을 동작 이 과정에서 등록된 객체들을 기존에 만들어진 객체들과 같이 연동
1. POJO기반의 구성 - 일반적인 Java코드를 이용해서 객체를 구성하는 방식 - 개발자가 특정 라이브러리나 컨테이너에 종속 되지 않음 - 생산성 유리, 코드 테스트 작업 유연하게 할 수 있음 2. DI - 타 객체에 의존적인 객체의 의존성을 외부에서 주입 - 스프링에서는 ApplicationContext 이러한 역할을 하고 관리하는 객체를 Bean이라 부름 3. AOP 지원 - 반복적인 코드의 제거 - 비지니스 로직에 집중할 수 있음 - 유지 보수 용이함 4. 트랜잭션 지원 - 데이터베이스 이용시 하나의 업무가 여러작업으로 이루어지는 경우의 트랜잭션 처리를 XML이나 어노테이션으로 관리 가능
1. IoC(Inversion of Control) - 프로그램의 제어 흐름 구조가 바뀜 - 자신이 사용할 object를 생성하거나 선택하지 않고 어떻게 사용되는지 알 수 없음 - Container에 위임하고, Container는 Bean 설정 정보를 바탕으로 Bean을 만들어 DI하고 이로 인해 IoC가 이루어짐 - Spring에서는 ApplicationContext가 제어권을 가짐 2. DI(Dependency Injection) - 의존하는 클래스에 대한 인스턴스를 직접 생성하지 않고 컨테이너로부터 생성된 Bean을 Setter 혹은 생성자를 통해 외부로 부터 주입 - 코드 재사용성 증가, 결합도 감소 3. AOP(Aspect oriented programming) - 공통된 기능을 재사용(OOP를..
icon? display-name? description? distributable? context-param* filter* filter-mapping* listener* servlet* servlet-mapping* session-config? mime-mapping* welcome-file-list? error-page* taglib* resource-env-ref* resource-ref* security-constraint* login-config? security-role* env-entry* ejb-ref* ejb-local-ref* 위와 같은 순서로 작성을 권장
#1.상태정보 유지 - HTTP 프로토콜 방식은 무상태, 비 연결성 방식 - 클라이어트가 이전 요청에서의 처리 결과를 이후 요청에도 사용하고 싶다면 서버 혹은 클라이언트에 저장이 필요 - 서블릿, JSP 또한 HTTP 프로토콜 기반이므로 상태정보 유지 기술이 필요 1)저장 위치에 따른 분류 - 클라이언트 측 : Cookie - 서버 측 : ServletContext, HttpSession, HttpServletRequest 2) 유지 기간에 따른 분류 - 웹 어플리케이션 단위(애플리케이션이 서비스되는동안 유지) : ServletContext - 클라이언트 단위(클라이언트 별로 유지) : Cookie, Session - 요청 단위 유지(서비스 요청 종료 시 까지 유지) : HttpServletRequest