전체 글106 [HTTP] Http 상태 코드 (Http Status Code) Http 상태 코드 -> 특정 HTTP 요청이 정상적으로 완료되었는지 여부를 나타내는 3자리 숫자 코드이다.100번 부터 시작해서 500번대까지 크게 총 5개의 타입으로 나눌 수 있다.상태 코드는 항상 상태메시지와 함께 명시된다. 100 -정보 응답 / 요청이 진행 중일때 사용 200 - 성공 응답/ 요청이 성공적으로 처리됨. 300 - 리다이렉션 / 요청한 리소스가 다른 곳으로 이동 400 - 클라이언트 에러 / 잘못된 요청 ㄴ JSP 파일이나 controller 내부 코드 에러 다수 500 - 서버 에러 / 서버에서 처리 중 오류 발생 ㄴ 서버 자체를 refresh 해보거나 clean 하기 혹은 해당 프로젝트를 서버에서 내린 후 .. 2024. 10. 29. [알고리즘] 슬라이딩 윈도우(Sliding Window) 슬라이딩 윈도우(Sliding Window)고정된 사이즈의 윈도우(창)이 배열 안을 이동하면서 윈도우 내에 담은 데이터를 이용해 문제를 푸는 알고리즘.차이가 나는 양쪽 끝 원소를 갱신한다.슬라이딩 윈도우는 항상 구간의 너비가 고정되어 주어진다. 만약, 윈도우의 크기가 3일 경우 sw[0] = arr[0] + arr[1] + arr[2]...sw[n] = sw[n-1] - arr[n-1] + arr[n-1+(윈도우크기)] 예제 Q. 연속된 index n개의 합의 최소를 구하시오. 그리고 합이 최소일 때의 인덱스(a,b)를 구하시오.(a 1. sw배열에 모두 담고 최소값 구하는 방식import java.util.Scanner;public class Main { static Scanner sc.. 2024. 10. 28. [알고리즘] 누적합(Prefix Sum) +Java객체 배열 선언 & 생성 누적합 (Prefix Sum) 누적합이란? 배열의 인덱스가 증가함에 따라 그 누적된 합을 미리 구해 놓는 것, '전처리' 라고도 함.arr배열을 일일히 for문으로 돌면서 합을 구하면 되는것 아닌가란 의문을 던질 수 있다. 하지만 이렇게 하면 시간복잡도 측면에서 성능이 저하된다. (테스트케이스에서 시간초과 문제가 발생하기도 함..) 그러므로 누적합을 미리 구하여 사용한다. 누적합 구현크기가 10인 arr 배열의 누적합을 구해보자 1. 누적합으로 [a] ~ [b] 의 합을 구하기. " acc [ b ] - acc [ a - 1 ] " 2. acc배열을 채우기인덱스 0 일때는 arr[0] 그 자체가 된다.그 이후부터는 acc[i] = acc[i-1] + arr[i] " acc[0]=.. 2024. 10. 28. [JAVA] 문자열 자르기 - indexOf() , substring(), split() 1. indexOf()String finds = "abc-def"int idx = finds.indexOf("-"); // 인덱스값 3 2. substring()String finds = "abc-def";String ans = finds.substring(0,3); //abcString ans2 = finds.substring(4); //def3. split() : 지정한 문자를 기준으로 문자열을 잘라 배열로 반환한다.String finds = "2021/4/13"; // '/'를 기준으로 문자열을 자른다. String date[] = birthday.split("/"); for(int i=0 ; i 2024. 10. 21. [JAVA] Char 문자열로 변환 char를 문자열로 변환하는 방법String.valueOf(charrArr)-> java.lang.String 클래스의 valueOf() 메서드는 char 배열을 파라미터로 받아서 String으로 변환하여 리턴함.char a = '안';char b = '녕';String test = String.valueOf(a) + String.valueOf(b);System.out.println(test); // 안녕 Character 클래스의 toString()-> Character 클래스의 toString() 메서드를 통해서 Char를 String으로 반환할 수 있음.char a = '안';char b = '녕';String test = Character.toString(a) + Character.toString.. 2024. 10. 17. [JAVA] 문자열 길이 정렬 Comparator 을 사용한다.이는 인터페이스(interface)로, 인터페이스 내에 반드시 선언된 메소드를 구현해야한다! @Override //오름차순 정렬 Arrays.sort(str, new Comparator() { @Override public int compare(String s1, String s2) { return s1.length()-s2.length(); } }); for(int i=0;i() { @Override public int compare(String s1, String s2) { return s2.length()-s1.length(); } }); for(int i=0;i 2024. 10. 16. [DB] MyBatis vs. JPA 백엔드에서 데이터베이스를 사용하는 프레임워크에는 가장 흔하게 MyBatis와 JPA가 있다. MyBatis와 JPA의 차이에 대해 정리해보자! 1. DB와 연동하기 위한 기술DB와 연동하기 위한 기술에는 두 가지가 있다. (프레임워크) 1) SQL Mapper 2) ORM (Object Relational Mapping) SQL Mapper: 개발자가 작성한 SQL 실행 결과를 객체에 매핑함.ORM (Object Relational Mapping): 객체, DB데이터를 자동으로 매핑한다 -> 두 기술은 DB에 데이터를 저장한다는 공통점을 가지지만, 서로 다른 접근 방식을 가진다. 2. MyBatis vs. JPA MyBatis 는 SQL Mapper 기술을 제공하며,JPA는 ORM .. 2024. 10. 16. [JAVA] 벡터(vector) · 메서드 정리 목차1. Vector2. Vector 사용하기add()offer()remove()clear()removeAllElements()size()capacity() 1. VectorArrayList와 같이 List 인터페이스를 상속받는 컬렉션 프레임워크.사용법은 ArrayList와 유사하다. 2. Vector 사용하기 선언 Vector 변수명 = new Vector(); ㄴ 위 같은 경우는 자료형에 넣은 자료형만 삽입, 삭제 가능 Vector 변수명 = new Vector(10);ㄴ 초기 크기 지정 '10' 사이즈로! Vector v1 = new Vector(Arrays.asList(1,2,3));ㄴ 초기 값 지정 메소드 정리 add( ) - 요소 추가c++의 insert Vector vec.. 2024. 10. 14. [JAVA] 큐(Queue) · 메서드 정리 목차1. Queue2. Queue 사용하기add()offer()remove()poll()element()peek()clear()contains()isEmpty() 1. Queue (큐)- 큐(Queue)는 가장 먼저 넣은 요소가 가장 처음 나오는 구조다. ( 선입선출 , FIFO ) 2. Queue 사용하기 먼저 자바에서Queue를 사용하기 위해선,import java.util.Queue;import java.util.LinkedList;을 추가해줘야 한다. 선언 Queue 변수명 = new LinkedList(); ㄴ 위 같은 경우는 자료형에 넣은 자료형만 삽입, 삭제 가능Queue 변수명 = new LinkedList(); ㄴ 위 같은 경우는 어떤 자료형이든 삽입, 삭제 가능(이전에 .. 2024. 10. 14. [JAVA] 스택 (Stack) · 메서드 정리 목차1. Stack2. Stack 사용하기push()pop()remove()peek()isEmpty()empty()search()size()set()elementAtclear() 1. Stack (스택) - 스택은 마지막에 넣은 데이터를 가장 먼저 꺼낸다. (후입선출. LIFO)* 참고로 Queue(큐)는 선입선출(FIFO) - 자바 가상 머신(JVM)은 스스로 메모리를 관리하는 기능을 하는데, 이때 Stack은 마지막으로 사용이 끝난 지역변수를 바로 쳐내버리므로, 매우 효율적으로 메모리를 사용하는 방식이다.또, 자바의 Stack 클래스는 Vector 클래스를 상속받는다! 따라서 Thread-safe 특징을 갖는다고 한다. 2. Stack 사용하기 먼저 자바에서 Stack을 사용하기.. 2024. 10. 14. [JAVA] sort함수, 배열 정렬(오름차순, 내림차순) 1차원 배열 정렬1차원 배열 오름차순1차원 배열 내림차순import java.util.Arrays;import java.util.Arrays;import java.util.Collections;Arrays.sort(배열);Arrays.sort(배열, Collections.reverseOrder());int배열 사용가능Wrapper Class 사용(Integer 등) 2차원 배열 정렬2차원 배열 오름차순2차원 배열 내림차순import java.util.Arrays;import java.util.Comparator;import java.util.Arrays;import java.util.Comparator;Arrays.sort(배열,new Comparator(){내부구문});Arrays.sort(배열,.. 2024. 10. 14. [Tomcat] '404에러' 가 발생했다면? JSP,Servlet 잘 연결해서 문제없이 작동하다가도 한번씩 이유없이(?) 에러가 나는 톰캣.. 간단하게 문제진단과 해결을 위해 정리해놓기로.. 🫥 tomcat서버 에러 문제의 대표적 5가지 원인 1. web.xml 에러 servlet등록이 잘못되어 있을 때를 말한다. servlet-name, servlet-classm url-pattern을 오타없이 정확히 기입했는지 확인하자. 2. 서블릿 어노테이션 생성한 servlet의 어노테이션에 오타가 있을 경우 서버가 시작되지 않는다. @로 시작하는 어노테이션 부분을 잘못 썼는지 다시 한번 확인해 보자. (controller에서 이부분 확인해서 오류 해결 한 경우 다수.. 2024. 10. 7. 이전 1 2 3 4 5 6 ··· 9 다음