분류 전체보기
-
[Spring] RedirectAttributesSpring 2021. 6. 21. 15:19
RedirectAttributes 폼 형식의 문서를 작성 후, 서버로 보내면(POST 방식) 곧이어 다른 페이지로 리다이렉트 하는데, 이러한 리다이렉트 방식은 GET방식이라 전송에는 적절치 않다. 리다이렉트 특징은 다음과 같은데, spitter 객체를 보내려고 한다 리다이렉트가 발생하면 원래 요청은 끊어지고, 새로운 HTTP GET 요청이 시작된다. 때문에 리다이렉트 실행 이전에 수행된 모델 데이터는 소멸한다. 따라서 리다이렉트로 모델을 전달하는 것은 의미없다. 그러나 GET의 특징을 사용하면 리다이렉트로도 데이터를 전달할 수 있는 방법이 존재한다. 리다이렉트는 HTTP GET 메소드 방식이기때문에 아래 그림 처럼 header에 ? 파라미터를 붙여서 전달한다. 하지만 GET 방식의 특성상 URL에 노출된..
-
[Algorithm] 완전탐색 (Brute-Force Search ) 알고리즘알고리즘 & 자료구조/알고리즘 2021. 6. 20. 22:04
완전 탐색이란? 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법 '무식하게 푼다'라는 의미로 Brute-Force 라고 하기도 한다. 완전 탐색 기법 완전 탐색 방법을 이용하기 위해서 여러가지 알고리즘 기법이 이용된다. -단순 Brute-Force -비트마스크(Bitmask) -재귀 함수 -순열 (permutation) -BFS / DFS (너비 우선 탐색 / 깊이 우선 탐색) 1. 단순 Brute-Force 단순히 for문과 if문 등으로 모든 case들을 만들어 답을 구하는 방법 2. 비트마스크 2진수를 이용하는 컴퓨터의 연산을 이용하는 방식 3.재귀 함수 재귀 함수를 통해서 문제를 만족하는 경우들을 만들어가는 방식 4.순열 서로 다른 N개를 일렬로 나열하는 순열의 경우의 수는 N 이므로 완전 ..
-
메소드(함수) 호출 방식 Call by Value & Call by ReferenceJAVA 2021. 6. 18. 17:45
Call by value Class CallByValue{ public static void swap(int x, int y){ int temp = x; x = y; y = temp; } } public static void main(String[] args){ int a = 1; int b = 2; System.out.println("swap() 호출전: a= " +a+ ", b = " + b); // a = 1, b = 2 swap(a,b); System.out.println("swap() 호출 후 : a = " + a + ",b = " + b); //a = 1, b = 2 } 출력결과 값이 바뀌지 않았다. 왜그럴까? main()에서 선언된 각각의 변수 a, b는 메모리의 0x0001 ,0x0005 ..
-
[C++] 스택 & 큐 (라이브러리 사용하기)C \ C++ 2021. 6. 17. 19:21
스택 (Stack) LIFO(Last in First Out) 1 2 3 4 5 순서로 집어넣었을때 5 4 3 2 1 순서로 꺼내지게 됨 #include 을 이용하여 라이브러리를 사용할 수 있다. #include #include using namespace std; int main(void) { stack tmp; //int 형 스택 선언 tmp.push(1); //스택에 1 넣음 tmp.push(2); tmp.push(3); tmp.push(4); tmp.pop(); //가장 마지막에 넣은 요소 꺼내기 //출력 while(!tmp.empty()) { cout
-
[Web] 아파치 & 톰캣 / 웹서버와 와스카테고리 없음 2021. 6. 17. 17:43
아파치(apache)란? 세계에서 가장 많이 쓰는 웹 서버 중 하나, 아파치 소프트웨어 재단에서 관리하는 http 웹 서버이다. 다양한 추가기능에, 구축이 쉽다는 이유때문에 많이 쓰인다.(무료) 톰캣이란(Tomcat)? 톰캣은 아파치 소프트웨어 재단의 웹 어플리케이션 서버(와스: Web Application Server)로서, 자바 서블릿을 실행시키고 JSP코드가 포함되어 있는 웹 페이지를 만들어준다. 톰캣은 웹 서버에서 넘어온 동적인 페이지를 읽어들여 프로그램을 실행하고 그 결과를 다시 html 로 재구성하여 아파치에게 돌려준다. 톰캣은 자체적으로 보유하고 있는 내부 웹 서버와 함께 독립적으로 사용될 수 도 있지만, 아차피나 넷스케이프 엔터프라이즈 서버, IIS등 다른 웹서버와 함께 사용될 수도 있다...
-
[Data Structure] 힙 (heap)알고리즘 & 자료구조 2021. 6. 14. 17:47
힙(heap)이란? 힙은 일종의 트리로 수의 집합에서 가장 작은 수(키)나 가장 큰 수만을 자주 꺼내올때 유용한 자료구조 힙은 완전 이진 트리를 사용하는데 완전이진트리는 자식은 항상 2개, leaf의 가장 왼쪽부터 채우는 트리구조이다. 힙에는 최대힙과 최소힙이 있는데 최소힙은 가장 작은 값이 루트이고 최대힙은 가장 큰 값이 루트이다. 1.힙이 삽입(insert) 되는 과정 here 는 현재 삽입될 위치, 인덱스는 8 5와 1을 비교한다. 1이 더작으므로 5는 here의 자리에 오게된다. 이제 here의 인덱스는 4, 4와 1을 비교한다. 1이 더 작으므로 here의 자리는 4가 들어간다. 마찬가지로 동일하게 1과 2를 비교, 2가 더 크기 때문에 here에는 2가 들어가게 된다. 이제 더이상의 부모는 없..
-
[JAVA]Map.Entry 인터페이스JAVA 2021. 6. 8. 16:44
Map.Entry 인터페이스란? - Map 인터페이스의 내부 인터페이스(inner interface) 이다. - Map에 저장되는 key-value 쌍을 다루기 위해 내부적으로 Entry 인터페이스를 정의해 놓았다. - Map인터페이스를 구현하는 클래스 에서는 Map.Entry 인터페이스도 함께 구현해야 한다. - 맵에 저장되는 엔트리의 조작을 위한 메소드가 정의되어있다. Map.Entry 인터페이스 주요 메서드 메소드 설명 boolean equals(Object o) 동일한 Entry 인지 비교한다. Object getKey() Entry의 key 객체를 반환한다. Object getValue() Entry 의 value 객체를 반환한다. int hashCode() Entry 의 해시코드를 반환한다. ..
-
[JAVA] 자료구조 - HashMAPJAVA 2021. 6. 8. 16:31
Map 의 계층구조 HashMap 이란? Map 은 Collection Framework에 Map으로 나누어진 객체로 Key, Value 형식을 가지고 있다. HashMap 이란 Map의 인터페이스 중 하나로써, key 와 Value 값으로 묶어 데이터를 저장하는 자료구조이다. 사람의 주민번호와 이름으로 예시를 들 수 있다. 주민번호는 동일한 주민번호가 존재할수 없지만, 이름은 동일한 이름이 존재 할 수 있다. 1. key는 중복일 수 없다. 2. key 와 value 중 하나만 존재하지 않는다. 3. Value 는 중복이 가능하다. 예시 Map user = new HashMap(); user.put("1", "june"); user.put("2", "senni"); user.put("3", "yune"..
-
[Spring] modelSpring 2021. 6. 8. 15:15
model 객체란? -Controller 에서 생성된 데이터를 담아서 View로 전달할 때 사용하는 객체 -Servlet의 request.setAttribute() 와 유사한 역할 jsp의 경우 request.setAttribute("date", new java.util.Date()); RequestDispatcher dispatcher = request.getRequestDispatcher("url"); dispatcher.forward(request, response); 스프링의 경우 public String home(Model model) { model.addAttribute("date", new java.util.Date()); return "home"; } View에 데이터 전달하기 1.Mode..
-
SQL문을 이용하여 데이터 가져오기 -1DB 2021. 6. 5. 15:02
SELECT / FROM / WHERE 절 SELECT -테이블에 저장된 데이터를 조회하기 위한 명령어 -SELECT 문에는 FROM 키워드가 반드시 따라와야함 SELECT 컬럼 FROM 테이블; WHERE -SELECT 문에서 마지막에 쓸 수 있는데 원하는 레코드만 검색하고자 할 때 쓰인다. -조건절의 구성은 컬럼, 연산자, 비교대상값이 올 수 있다. ex) SELECT * FROM EMP WHERE SAL > 3000; 산술 / 비교 / 논리 연산자 산술 연산자 SQL에서 산술 연산자를 사용하여 조회 가능하다. ex) SELECT ENAME, SAL, SAL + 100 FROM EMP; 비교 연산자 논리 연산자 여러개의 조건을 조합해서 결과를 얻어야 할 경우 논리 연산자를 사용한다. -AND : 두가..