본문 바로가기

분류 전체보기

(197)
JDK / JRE / JVM 자바는 어떤 운영체제에서도 동일한 형태로 실행시킬 수 있는 특징이 있다. 이를 가능하게 해주는 것은 다름 아닌 JVM이다. 어떻게 해주는데? 자바 컴파일러는 코드가 실행되면 .java 파일을 .class 파일로 변환해주는 과정을 거치는데 .class 파일은 운영체제가 알지 못한다. 이때, JVM이 운영체제에 상관없이 동작할 수 있게 해준다. Java의 동작 원리 사람이 이해할 수 있게 만들어진 컴퓨터 언어 "java"로 소스코드를 입력한다. (.java) 컴파일하면 이클립스가 컴퓨터가 이해할 수 있는 언어로 변환한다. (.class) 실행을 누르면 이클립스가 컴퓨터에 설치된 java virtual machine으로 사인을 보낸다. 사인을 받은 java virtual machine은 컴퓨터에 사인을 보낸다..
자바 / OOP / 객체 / 클래스 / 인스턴스 / JVM 메모리구조 자바 제임스 고슬링 개발 객체지향 언어 OS에 붙어서 실행되는 것이 아니라 JVM 위에서 실행되기 때문에 OS의 제약이 없음 JVM이 OS에 맞게 알아서 변환해서 전달해줌 객체지향 언어 (Object Oriented Programing) 객체 단위로 쪼개서 프로그래밍 하는 것 -> 코드의 재사용성 + 중복 제거 but, 처리 속도가 상대적으로 느리다는 점과 설계 시에 많은 시간과 노력이 필요하다는 단점이 있음 - 캡슐화 비슷한 속성과 기능을 하나의 클래스로 묶은 것 그리고 클래스 내부를 외부에 공개하지 않음으로써 이 클래스를 맘대로 수정하지 못하게 함 - 정보 은닉 객체의 멤버 변수는 private로 설정하여 외부에서 getter/setter로만 접근 가능하도록 함 - 객체의 무결성 보장 - 상속 부모 ..
오류(error)와 예외(exception) 에러 / 오류 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우, 이러한 결과를 초래하는 원인을 일컫는 말 발생 시점에 따른 에러의 종류 1. 컴파일 에러 컴파일 시에 발생하는 에러 컴파일러는 언어를 기계어로 번역하는데 그 과정에서 생긴 에러를 말함 이클립스에 뜨는 빨간 줄 같은 것 컴파일이 성공적으로 마치고 나면 class 파일 생성되고, 생성된 class 파일 실행 ex) 오타, 구문 체크, 자료형 체크, 번역, 최적화, 생략된 코드 추가 2. 런타임 에러 프로그램 실행 시에 발생하는 에러 컴파일 에러가 발생하지 않아도 런타임 에러가 발생할 수 있다 -> 이를 방지하기 위해 대비가 필요 ex) JVM 단계에서의 에러 3. 논리적 에러 실행은 되지만, 의도와 다르게 동작..
SQL과 NoSQL SQL - MySQL - RDBMS (관계형) - 체계적이나 보수적임 NoSQL - MongoDB - Node.js - 덜 체계적이나 자유로움 상황에 맞게 선택하여 사용하자. SQL ( 관계형 데이터베이스 ) - 구조화 된 쿼리 언어 (Structured Query Language) - 특정 유형의 데이터베이스와 상호 작용하는 데 사용하는 쿼리 언어. CRUD 가능. - 엄격한 스키마(구조)가 존재 : 행(로우, 튜플, 레코드)과 열(컬럼, 속성, 필드)로 구성된 하나의 테이블(관계) - 관계: 외래키, 조인 때문에 데이터의 중복이 없음 SQL 장점 - 명확하게 정의된 스키마, 데이터 무결성 보장 * 데이터 무결성: 데이터의 정확성과 일관성을 유지하고 보증하는 것 - 관계는 각 데이터를 중복없이 한번만 ..
DBeaver 새 연결 추가하기 오라클을 기준으로 아래와 같이 연결한다. + 첫 연결이라면 Edit Driver Settings를 눌러 아래와 같이 설정해주자.
Iterator 인터페이스 Iterator, ListIterator, Enumeration 컬렉션(List, Set, Map)에 저장된 요소를 접근하는데 사용하는 인터페이스 Iterator Enumeration의 최신 버전으로 이 인터페이스를 사용하기를 권장 컬렉션의 요소를 읽어오는 방법을 표준화했기 때문에 코드의 재사용성 극대화 ListIterator Iterator에 양방향 조회 기능을 추가 (List를 구현한 경우에만 사용 가능) Enumeration Iterator의 구버전 iterator() 메서드 Collection 인터페이스에 정의된 메서드 Collection 인터페이스의 자손인 List, Set에도 iterator() 메서드가 포함되어 있다. boolean hasNext() 메서드 컬렉션 클래스에서 읽어올 요소가 남..
URI와 URL의 차이 URL (Uniform Resource Locator) - 인터넷 상 자원의 위치 - 어떤 파일의 위치 URI (Uniform Resource Identifier) - 인터넷 상의 자원을 식별하기 위한 문자열의 구성 - URI는 URL을 포함. URI가 더 포괄적인 범위.
docker 컨테이너 시간 UTC -> KST로 변경하기 우선, 마음의 안정을 위해 docker commit, save를 했다는 가정하에 아래 과정을 이어 진행하자. 기존 컨테이너는 건드리지 않고, save한 tar 파일을 load하여 새로운 컨테이너로 작업을 한다. 1. 백업한 tar 파일 복원하기 docker load < oracle.tar 2. 이미지가 제대로 복원되었는지 확인 docker images oracle11g-test라는 이름으로 이미지 생성됨 3. 컨테이너 생성 및 실행 docker run -v /etc/localtime:/etc/localtime // localtime으로 설정하여 컨테이너를 생성 및 실행하겠다 --name oracle11g // 이름은 oracle11g로 할 것이며 -d -p 8080:8080 -p 1521:1521 ora..