본문 바로가기

전체 글

(86)
세그먼트 트리 (Segment Tree) 특정 구간의 합을 구할 때 사용하는 자료구조 !- 이진 트리 형태- 특정 구간의 합을 선형탐색(for문 등)을 통해 구하면 ≫ O(n)- 트리의 특성 상 세그먼트 트리는 ≫ O(logN)  세그먼트 트리 구조(사진)이진 트리 구조다른 트리와 달리 세그먼트 트리는 인덱스가 1부터 시작루트 노드에는 모든 원소를 더한 값, 각각의 노드에는 반으로 나누어 구간 합을 저장 세그먼트 트리 생성 과정private int build(int[] arr, int node, int start, int end) { if (start == end) { tree[node] = arr[start]; // 리프 노드에 값 할당 return tree[node] } ..
JAVA 자료구조 CollectionIterable 인터페이스 확장add(), addAll()contains(), containsAll(), isEmpty(), equals(), size()clear(), remove(), removeAll() List 인터페이스각 데이터에 대한 위치 존재 (순서가 있음)데이터 중복 허용순서대로 들어오는 데이터에 유리Collection 인터페이스 확장ArrayList, LinkedList, Vector, Stack ...ArrayList- 배열 !- 중간 인덱스 요소 삭제 시 다음 인덱스의 요소들이 한 칸씩 앞으로 이동Vector- ArrayList와 동일한 기능- 동기화 : 멀티쓰레드 환경에서 안전 / 성능 저하 발생 가능LinkedList- 포인터를 통해 링크 체인 형태로 객체 관리-..
스웨거(Swagger) RESTful API를 설계, 문서화, 테스트, 배포하기 위해 사용되는 오픈소스 프레임워크현재는 OpenAPI Specification(OAS)의 일부로 통합됨API를 설계할 때 개발자와 클라이언트 간의 커뮤니케이션을 원활히 함API를 문서 내에서 parameter 조작을 통해 실행할 수 있게 함"API 문서를 자동으로 만들어 주는 라이브러리"자동화된 API 문서 생성 / 테스트 환경 제공어노테이션을 통해 쉽게 적용 가능 스웨거 사용의 장점자동화된 문서화실시간 테스트협업 지원 Springfox vs Springdoc(OpenAPI 3) 두 가지 주요 라이브러리가 있음 !최근 더 권장되는 것은 Springdoc≫ Spring Boot와의 통합이 간단하며 유지보수가 더 활발함 사용 예시 1. 의존성 추가im..
jQuery를 이용한 AJAX jQueryJavaScript 라이브러리 → AJAX를 간편하게 구현할 수 있도록 도와줌 간단한 jQuery 문법$ : 제이쿼리라는 의미 → 제이쿼리 문법을 작성하겠다!$(선택자).동작함수1().동작함수2();  → 선택자로 선택한 요소에 함수 적용$(선택자).동작(function() {...});$(선택자).동작(function() {        $(선택자).동작함수();        $(선택자).동작(function() {...});};jQuery 선택자 - $(선택자)타입 선택자 : 일반 태그 선택$('p') → 태그$('button') → 태그클래스 선택자 : .class$(.클래스명)ID 선택자 : #ID$('#id명')다중 선택자 : A, B$('.클래스명A, .클래스명B')자식 선택자 ..
JSP 기본 문법 템플릿 데이터클라이언트로 출력되는 콘텐츠HTML, JS, 스타일 시트, JSON, XML, 일반 텍스트 등JSP 전용 태그서블릿 생성 시 특정 자바 코드로 바뀌는 태그JSP 내장 객체JSP에서 별도 선언 없이 사용 가능한 필수적 객체 9개  템플릿 데이터클라이언트로 출력되는 콘텐츠서블릿 코드를 생성할 때 출력문으로 바뀜JSP로부터 생성된 자바 서블릿 파일의 소스를 열어보면 템플릿 데이터가 자바 출력문으로 변환된 것을 확인할 수 있음 Welcome, ! Today is . PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(""); ..
JSP(JavaServer Pages)란? JSP (JavaServer Pages)HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행→ 생성된 데이터를 웹페이지와 함께 클라이언트로 응답  웹 어플리케이션 (Web Application)웹에서 실행되는 응용프로그램, 인터넷에서 하는 여러 서비스를 총칭사용자가 필요한 요청을 하고 서버에서는 이에 해당하는 요청을 수행한 뒤 요청한 데이터를 응답웹 브라우저 (Web Browser)클라이언트에서 요청을 하고 전달받은 페이지를 볼 수 있는 환경 (크롬, IE, ...)웹 서버 (Web Server)클라이언트로부터 요청받아 서버에서 리소스를 클라이언트에 전달→ 주로 ..
[HTML] 폼(FORM) form사용자가 입력한 데이터(입력값)을 서버로 보내기 위해 사용하는 태그 서버와 클라이언트클라이언트가 요청하면 서버는 그에 대한 응답으로 정보를 제공클라이언트의 요청이 어떤 것인지에 따라 응답은 달라짐 예1) 사용자가 네이버 홈페이지로 이동하고 싶은 상황클라이언트 : 네이버 홈페이지 주소 입력 → 엔터 → 서버에 네이버 홈페이지로 이동한다는 요청 보냄서버 : 요청을 받아 응답으로 네이버 웹페이지 보냄 (홈페이지 html 문서)클라이언트 : 사용자 웹브라우저에 네이버 홈페이지 오픈됨 예2) 네이버 로그인 상황클라이언트 : 로그인을 위한 아이디, 비밀번호 입력 후 로그인 클릭 (엔터)→ 3가지의 입력 요소서버 : 로그인 정보 확인 후 맞으면 로그인 성공 화면 / 틀리면 로그인 실패를 알림3개의 입력 요소로..
[HTML] SELECT와 TEXTAREA select다수의 옵션(선택지)을 포함할 수 있는 선택 메뉴option 태그 ≫ 메뉴 안에 포함되는 옵션드롭다운이 나타나 사용자 선택 가능첫 번째 선택 항목이 선택된 상태에서 시작 스타벅스 커피빈 이디야 탐앤탐스 textarea여러 줄의 일반 텍스트를 입력할 수 있는 입력 요소input 태그로는 한 줄만 입력할 수 있지만 textarea 태그는 여러 줄 가능name 속성 추가 가능줄 수가 많아지면 자동으로 스크롤이 생김  키우고 싶은 동물 고르기 강아지 고양이 햄스터 앵무새 기본적으로 쓰여 있는 텍스트  selectmultiple 속성 ≫ 여러 개를 선택할 수 있도록 펼쳐진 상태여러 개..