1. Pair 클래스 구현 후, 목적에 맞게 정렬하기 예제 예시) second 내림차순, first 오름차순 예제 import java.util.Collections; import java.util.Comparator; import java.util.Vector; public static void main(String[] args) { Vector result = new Vector(); // second 내림차순, first 오름차순 예제 Collections.sort(result, new Comparator() { public int compare(Pair p1, Pair p2) { // second 먼저 내림차순 if(p1.second > p2.second) { return -1; } // 같으면 ..
### 컬렉션 프레임웍 데이터 군을 저장하는 클래스들을 표준화한 설계 데이터 군을 다루고 표현하기 위한 단일화된 구조 ### 컬렉션 다수의 데이터, 즉 데이터 그룹 ### 프레임웍 표준화된 프로그래밍 방식 ### 컬렉션 프레임웍의 핵심 인터페이스 컬렉션 프레임웍에서는 컬렉션데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의(List, Set, Map) 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의 즉, 컬렉션 프레임웍의 모든 컬렉션 클래스들은 List, Set, Map 중의 하나를 구현하고 있다. 1. List: 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. 구현..
### 16.1 네트워킹(Networking) 네트워킹이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것을 말한다. 자바에서 제공하는 java.net패키지를 사용하면 이러한 네트워크 어플리케이션의 데이터 통신 부분을 쉽게 작성 할 수 있으며, 간단한 네트워크 어플리케이션은 단 몇 줄의 자바코드 만으로도 작성이 가능하다. ### 16.1.1 클라이언트/서버(client/server) 서버는 서비스를 제공하는 컴퓨터이고, 클라이언트는 서비스를 사용하는 컴퓨터가 된다. 웹서버에 접속하여 정보를 얻기 위해서는 웹브라우저(클라이언트 프로그램)가 있어야 히고, FTP서버에 접속해서 파일을 전송받기 위해서는 알 FTP와 같은 FTP클라이언트 프로그램이 필요하다. 네트워크를 구성할 때 전용서버를 두는..
에러 종류 3가지 컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 에러 VS 예외 에러와 예외 모두 실행 시(runtime) 발생하는 오류이다. 에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 -메모리 부족, 스택오버플로우 예외: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외 클래스의 계층구조 Exception과 Error클래스 역시 Object클래스의 자손들이다. 모든 예외의 최고 조상은 Exception클래스이다. Exception -IOException -ClassNotFoundException -... -RuntimeException -ArithmeticException -Class..
생성자에 접근 제어자를 사용함으로써 인스턴스의 생성을 제한할 수 있다. 생성자의 접근 제어자를 private으로 지정하면, 외부에서 생성자에 접근할 수 없으므로, 인스턴스를 생성할 수 없게 된다. (그래도 클래스 내부에서는 인스턴스를 생성할 수 있다.) class Singleton { private Singleton() { ... } ... } 대신에 인스턴스를 생성해서 반환해주는 public 메서드를 제공함으로써, 외부에서 이 클래스의 인스턴스를 사용하도록 할 수 있다. 이 메서드는 public인 동시에 static이어야 한다. class Singleton { // getInstance()에서 사용될 수 있도록 인스턴스가 미리 생성되어야 하므로, static이어야 한다. private static Si..
JAVA 프로그래밍 면접 이렇게 준비한다(노엘 마크엄 지음/정원천 옮김) p.245 ~ 249 내용 정리 2021.12.27(월) 23:00 ~ 23:30 메모리는 어떻게 할당하는가? new 키워드는 자바 힙 영역에 메모리를 할당 한다. 힙은 애플리케이션 영역에 접근할 수 있는 메인 영역이다. 객체를 할당할 때 이용할 수 있는 메모리가 충분치 않으면 JVM(자바 가상머신)은 가비지 컬렉션을 이용해 힙에서 메모리를 재사용하려고 시도한다. 그래도 충분한 메모리 영역을 확보할 수 없다면 OutOfMemoryError가 발생하며 JVM이 종료된다. 힙은 제너레이션이라는 몇 가지 영역으로 구분된다. 가비지 컬렉션에서 객체가 수집 대상에서 제외된다면 다른 제너레이션으로 옮겨진다. 예를 들어 older제너레이션은 가..
JAVA 프로그래밍 면접 이렇게 준비한다(노엘 마크엄 지음/정원천 옮김) p.475 ~ 494 내용 정리 2021-12-28(화) 23:00 ~ 23:40 메이븐이란 무엇인가? 프로젝트의 자원을 모두 하나로 합치는 데 집중하는 애플리케이션인 메이븐과 앤트가 있다. 자바 프로젝트를 위해 가장 많이 사용되는 빌드 도구다. 메이븐은 프로젝트 전체를 포괄하는 빌드 도구로, 자바 프로젝트를 컴파일, 테스트, 배포하는 데 사용된다. 설정을 통해 만든 규칙을 따르도록 설계되어 있다. 대부분의 자바 애플리케이션용 빌드는 매우 비슷한 방법으로 정의될 수 있으며, 비슷한 구조로 소스 코드를 작성하면 메이븐은 필요한 자원들을 어디서 찾아야 하는지 파악해 여러 가지 빌드 작업을 수행한다. 메이븐에는 대부분의 프로젝트 설정이 ..
코드로 배우는 스프링 웹 프로젝트(구멍가게 코딩단) p.1 ~ 46 내용 정리 2021.12.29(수) 21:40 ~ 22:10 1.5 Java Configuration을 하는 경우 Eclipse(STS)를 통해 생성하는 'Spring Legacy Project'의 경우 XML 기반으로 스프링 관련 설정을 하도록 되어 있다. 프로젝트가 생성된 후에는 다음과 같은 작업을 진행한다. 1. web.xml의 파일 삭제 및 스프링 관련 파일 삭제 -web.xml, servlet-context.xml, root-context.xml 2. pom.xml의 수정 및 스프링 버전 변경 3. Java 설정 관련 패키지 생성 java 설정을 이용하는 경우에는 XML 대신 설정 파일을 직접 작성할 필요가 있다. 스프링은 @c..
2021.12.30(목) 23:00 ~ 23:53 코드로 배우는 스프링 웹 프로젝트(구멍가게 코딩단) p.47 ~ 58 내용 정리 프레임워크 프레임워크란 말 그대로 뼈대나 근간을 이루는 코드들의 묶음이다. 프레임워크를 이용한다는 의미는 프로그램의 기본 흐름이나 구조를 정하고, 모든 팀원이 이 구조에 자신의 코드를 추가하는 방식으로 개발하게 된다. 스프링은 경량 프레임워크인데, 경량 프레임워크는 특정 기능을 위주로 간단한 jar 파일 등을 이용해서 모든 개발이 가능하도록 구성된 프레임워크이다. 스프링의 가장 눈에 띄는 변화 - Spring 2.5버전: 어노테이션을 활용하는 설정을 도입하면서 편리한 설정과 개발이 가능하도록 지원 - Spring 3.0버전: 별도의 설정 없이도 Java 클래스만으로 설정 파일..
버전 관리 시스템(Version Control System) 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템으로 거의 모든 컴퓨터 파일의 버전을 관리할 수 있다. CVS(Concurrent Version System), SVN(Subversion), Git 등이 있다. 중앙집중식 VS 분산 중앙집중식 버전 관리 시스템(Centrailzed Version Control System) 서버에 저장소를 집중 배치하여 하나의 소프트웨어를 개발할 때 하나의 저장소만 존재한다. 누가 무엇을 하고 있는지 알 수 있다.(예를들어, 파일에 작업자와 상태 표시) 데이터가 중앙 서버에 집중되므로 관리하기가 매우 단순해지지만, 서버에 접속할 수 없거나 서버가 고장나면 최신 소스 코드..
- Total
- Today
- Yesterday