웹 프로젝트 기본 구조 대부분의 웹 프로젝트들은 여러 프로그램이 같은 네트워크를 통해 연결되는 구조로 이루어진다. 브라우저 or 클라이언트 - 서버에서 전송한 결과를 화면에 보여주고, 사용자의 화면 조작을 이용해서 서버에 원하는 데이터를 보내고 받는 프로그램 - 서버에 요청하여 전달받은 데이터를 화면에 렌더링 - 관련 기술 : HTML / CSS / 자바스크립트 request (요청) → WAS → response (응답) 해서 화면에 보여준다. 렌더링 서버에서 전송한 결과를 HTML 파일로 받아 화면에 보여주는 과정 웹 서버 or WAS - Web Server : 정적인 파일 제공 (HTML, CSS, Javascript), 요청이 있을때만 파일을 저장한다. - WAS (Web Application S..
Set 인터페이스를 구현한 대표적인 컬렉션 클래스인 TreeSet에 대한 정리 TreeSet 범위 검색, 정렬 이진 탐색트리로 구현 범위 검색과 정렬에 유리함 (from~to) 이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖음 하나의 요소에 연결된 요소가 2개까지 가능 각 요소(node)가 나무(tree)형태로 연결 (LinkedList의 변형) 단점 : HashSet보다 데이터 추가, 삭제 시간이 더 걸린다 binary search tree 이진 탐색 트리 (이진 트리의 한 종류) 부모보다 작은 값은 왼쪽, 큰 값은 오른쪽에 저장 단점 : 데이터가 많아질수록 추가/삭제 시간이 더 걸린다 (트리가 커질수록 비교횟수 증가) 트리노드는 저장할 객체가 있고, 왼쪽과 오른쪽을 가리키는 참조변수가 존재한다 ..
Set 인터페이스를 구현한 대표적인 컬렉션 클래스인 HashSet에 대한 정리 HashSet 순서 유지x, 중복x Set이 필요하면 가장 일반적인 HashSet 사용 권장 순서를 유지하려면 LinkedHashSet클래스 사용할 것 메서드 설명 HashSet() HashSet(Collection c) 생성자 (지정된 컬렉션에 모든 객체를 저장) HashSet(int initialCapacity) 초기 용량 지정 HashSet(int initialCapacity, float loadFactor) loadFactor : 보통 용량은 2배로 늘리는데, 언제 두배로 늘릴것인지 지정 boolean add(Object o) 추가 boolean addAll(Collection c) 추가 (합집합) boolean rem..
배열의 장단점 장점 : 배열은 구조가 간단하고, 접근시간 access time (데이터를 읽는데 걸리는시간)이 짧다. 단점 : 1. 크기를 변경할 수 없다. - 크기를 변경해야하는 경우 새로운 배열을 생성 후 데이터를 복사해야 함 - 크기 변경을 피하기위해 처음부터 큰 배열을 생성하면 메모리가 낭비됨 2. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. - 데이터를 추가하거나 삭제하기 위해 다른 데이터를 옮겨야 함 - 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다. (배열 중간의 있는 데이터를 추가하거나 삭제하는걸 말하고, 중간이 비어버리면 뒤에있던 데이터의 자리를 이동하는데 시간이 많이 걸림) 배열의 크기를 변경하는 법 ① 더 큰 배열 생성 ② 데이터 복사 ③ 참조를 변..
ArrayList ArrayList는 기존의 Vector를 개선한 것, 구현원리와 기능적으로 동일하다 차이점으로는 Vector는 자체적으로 동기화처리가 되어있고 ArrayList는 동기화처리가 안되있다 데이터 저장공간으로 배열을 사용 ArrayList의 메서드 메서드 ArrayList() ArrayList(Collection c) ArrayList(int initialCapacity) 배열의 길이 boolean add(Object o) void add(int index, Object element) boolean addAll(Collection c) boolean addAll(int index, Collection c) boolean remove(Object o) void remove(int index)..
Collection Framework 다수의 객체(data)를 다루기위한 표준화된 프로그래밍 방식 (프로그램을 만들때 정해진 틀) 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 객체(data)를 다룬다는 것은 저장, 삭제, 검색, 정렬을 말한다 java.util 패키지에 포함되있고 JDK 1.2부터 제공한다 타인이 짜둔 코드를 원하는대로 유지보수하기 어려워 특정 프레임워크를 사용하기 시작했다. 특정 프레임워크를 사용해서 프로그래밍을 짜면 다른사람이 봤을때 이해도가 높다. 라이브러리 Library 누군가가 미리 만들어 둔 정보 (오디오 라이브러리, 통계 라이브러리, 그래픽 라이브러리 등) Collection Framework 핵심 인터페이스 인터페이스 특징 구현 클래스 List 순서가 있는 데..