분류 전체보기 161

[database] 오라클 다중 insert 문

1. insert allcreate table test( person VARCHAR(255) PRIMARY KEY, salary INT);insert into test values ('one', 1000),('two', 2000); -- 에러!-- SQL 오류: ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다 mysql(maria db)에서 사용하는 형식의 다중 삽입문이 오라클에서는 SQL 명령어가 올바르게 종료되지 않았다는 에러가 뜨며 동작하지 않는다. 그래서 다른 블로그들을 참고했더니 첫 번째로 이 해결책을 제시했다. insert all into test (person, salary) values ('one', 1000) into test (person, sal..

[디자인패턴] Template Method - 상속

책 [JAVA 언어로 배우는 디자인 패턴 입문 3판;유키 히로시 저]을 참고하여 작성하였습니다. 추상 클래스- 템플릿 메서드에서 추상 메서드 사용- 이 추상 메서드를 구현부에서 구현- 상위 클래스에서는 처리의 뼈대(알고리즘)를 결정- 구체적인 처리 내용은 하위 클래스까지 가야 결정되지만, 추상 클래스 단계에서 처리 흐름을 형성할 수 있다.  구현 클래스 - 하위 클래스에서 그 구체적 내용을 결정 메인부 로직을 공통화할 수 있다 ... 공통된 알고리즘, 유지보수 관점상위 클래스와 하위 클래스의 연계 플레이 ... 상위 클래스의 소스 프로그램 없이 하위 클래스의 구현이 어려울 수 있다하위 클래스를 상위 클래스와 동일시한다 - 상위 클래스형 변수에 하위 클래스의 인스턴스 중 어느 것을 대입해도 제대로 동작할 ..

[JAVA] 스레드

program → process → thread프로그램은 파일로서 보조 메모리(SSD, HDD 등)에 저장되어 있고 프로세스는 컴퓨터의 자원을 할당 받아 실행하고 있는 프로그램이 된다. 스레드는 조금 더 자세히 들어가 이 프로세스 안에 구성되어서 실제로 작업을 수행하고 있는 일꾼이다. 요즘 시대는 멀티 프로세싱, 멀티 스레딩이라고 해서 여러 가지 작업을 동시에 수행하는 수준까지 되었다.  병행/동시성(concurrent): 여러 작업을 시분할로 함께 처리하여 겉으로 봐서는 동시에 수행되는 것처럼 보인다  병렬(parallel): 큰 작업을 여러 개의 작은 작업으로 쪼개어 동시에 처리여러 스레드가 동시에 많은 작업을 처리하기 때문에 공유하고 있는 데이터에 대해 동기화 처리가 필수로 요구된다. synchro..

[JAVA] 컬렉션 프레임워크

컬렉션(collection): 여러 객체 모아놓은 것 → R, W, 검색, 정렬프레임워크(framework): 정해진 틀에 맞춰 프로그래밍 하는 것표준화, 정형화된 체계적인 프로그래밍 방식비슷하니까 이해도 잘 되고 작업 생산성 높음유지 보수하기도 좋음cf. library - 다른 사람들이 만들어 놓은 기능 모아놓은 것 자료 구조라는 것은 데이터들의 구조를 나타낸 것으로 어떻게 하면 데이터를 효율적으로 읽고 저장할 수 있을까를 고민한 것이다. 결국 배열이라는 일체형과 연결형의 모습으로 정리할 수 있다. 트리는 연결형에서 파생된 모습이고 맵은 배열과 연결형을 조합하여 만든 구조이다. 그렇기에 자료구조는 배열이라는 일체형과 연결형이라는 두 가지로 크게 나눌 수 있다. 배열연결형데이터 접근 시간이 짧다링크를 따..

[JAVA] 날짜와 시간 객체, 형식화 클래스

DateCalendarjava.time 패키지Calendar 추상 클래스Calendar cal = new GregorianCalendar(); // 구체적으로 명시Calendar cal = Calendar.getInstance(); // 팩토리 메서드를 사용해 추상화 new를 사용해 구체적인 클래스를 명시하는 것보다 현재 시간을 기준으로 인스턴스를 반환하게 하는 것이 유지보수 관점에서 훨씬 좋은 코드이다.날짜와 시간을 같이 다룬다. month는 0부터 시작한다.요일 또한 int로 반환하기 때문에 따로 문자열 처리를 해 주어야 한다.set() 하기 전에 clear()로 필드 초기화를 해 주는 것이 좋다. 초기화 하지 않으면 ms 차이로 의도한 대로 결과가 나오지 않을 수 있다. add(): 특정 필드..

자바 목차 테스트

1. 자바를 시작하기 전에1. 자바 2. 자바 개발환경 구축하기 3. 자바로 프로그램 작성하기2. 변수1. 변수와 상수 2. 변수의 타입 3. 진법 4. 기본형 5. 형변환3. 연산자1. 연산자란? 2. 단항 연산자 - 증감 연산자, 부호 연산자 3. 산술 연산자 - 사칙 연산자, 나머지 연산자 4. 비교 연산자 - 대소비교 연산자, 등가비교 연산자 5. 논리 연산자 - 논리연산자, 비트 연산자 6. 그 외 연산자 - 조건 연산자, 대입 연산자4. 조건문과 반복문1. 조건문 - if, switch 2. 반복문 - for, while, do-while5. 배열1. 배열 2. String 배열 3. 다차원 배열6. 객체지향 프로그래밍11. 객체지향 언어 2. 클래스와 객체 3. 변수와 메서드 4. 오버로딩 ..

[JAVA] java.lang 패키지

Object 클래스String 클래스StringBuffer/StringBuilder 클래스Math 클래스wrapper 클래스Object 클래스는 모든 클래스의 최고 조상 클래스다다른 말로 우리가 사용하는 모든 클래스가 Object 클래스를 상속받기 때문에 아래의 메서드를 포함하고 있다. 메서드의 내용을 변형하고 싶다면 자손 클래스에서 오버라이딩하여 사용하면 된다. (아래는 자바의 정석 기초편 참고) Object 클래스의 메서드 메서드 설명protected Object clone()객체 자신의 복사본을 반환한다.public boolean equals(Object obj)객체 자신과 obj가 같은 객체인지 알려준다. (주소 비교)protected void finalize()객체가 소멸될 때 가비지 컬렉터에 ..

[network] 혼자 공부하는 네트워크 05-1 추가: DNS 레코드 타입

네임 서버는 DNS 자원 레코드(DNS resource record)를 저장한다.이름(호스트 이름, Record Name)값 (Value)TTL레코드 유형(타입, Record Type)  등해당 IP 주소(1.2.3.4)로 접속 가능한 도메인 네임을 구입한 후 도메인 네임과 IP 주소의 대응 관계를 네임 서버에 알려야 한다. 이를 위해 만들어야 하는 정보가 DNS 자원 레코드다.  도메인 이름과 값의 쌍이 어떤 유형의 데이터인지는 타입으로 확인할 수 있다.

network 2025.01.13

[JAVA] 예외 처리

프로그램의 실행 오류를 발생 시점에 따라 다음과 같이 나눌 수 있다.컴파일 에러 - 실행 전런타임 에러 - 실행 중논리적 에러 - 컴파일도 잘 되고 실행도 잘 되지만 의도한 것과 다르게 동작하는 것 위와 같이 실행 중 발생하는 오류(런타임 에러)는 다시 에러(error)와 예외(exception)로 구분할 수 있다. 에러 - 심각한 오류로 복구 불가능예외 - 덜 심각한 오류로 복구 가능그래서 예외를 처리한다고 할 때 수습하기 어려운 에러를 다루는 것이 아니라 그나마 덜 심각한 오류인 예외를 대비함으로써 프로그램이 종료되지 않도록 한다. try-catch 문에서 catch(Exception e) {} 로 조건식을 정의하면 실행 중 발생하는 모든 예외를 받을 수 있다. 예외(exception)는 또 다시 두..