분류 전체보기 515

[Pro Git] 1-6. 시작하기: Git 최초 설정

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. Git 최초 설정 사용 환경을 설정해 주어야 합니다. 한번만 하면 됩니다. 수정 가능합니다. 설정한 내용은 업그레이드를 해도 유지됩니다. 설정 디렉토리 /etc/gitconfig 시스템의 모든 사용자와 모든 저장소에 적용되는 설정 파일 입니다. --system 옵션을 사용합니다. ~/.gitconfig 특정 사용자에만 적용되는 설정 파일 입니다. --global 옵션을 사용합니다. .git/config 특정 디렉토리에만 적용되는 설정 파일 입니다. --local 옵션을 사용합니다. 명령어 사용자 정보 설정 git config --global user.name "John Doe" git config ..

Git 2024.01.13

[Pro Git] 1-3. 시작하기: Git 기초

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. Git 기초 차이가 아니라 스냅샷 델타 기반 버전관리 시스템 파일의 변경 사항만을 시간순으로 관리하면서 버전관리를 수행합니다. 제품 : CVS, Subversion, Perforce 등 스냅샷 기반 버전관리 시스템 시간순으로 파일 시스템의 '스냅샷'으로 관리한다는 것을 의미합니다. 커밋할 때마다, 변경된 파일 전체를 저장합니다. 변경사항이 없는 파일은 링크만을 저장합니다. 거의 모든 명령을 로컬에서 실행 오프라인 상태이더라도 작업이 가능합니다. 로컬 저장소에서 작업하고 원격 저장소에 동기화 가능 Git의 무결성 체크섬 고유 식별자 (fingerprint 역할) 데이터 무결성 검증을 위해 사용되는 값..

Git 2024.01.13

[Pro Git] 1-2. 시작하기: 짧게 보는 Git의 역사

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 짧게 보는 Git의 역사 Git 오픈소스 프로젝트인 Linux Kernel의 소스코드를 관리하기 위해 개발 역사 처음에는 BitKeeper 사의 상용 DVCS를 사용하여 관리하였습니다. BitKeeper의 상용화로 인해 Linux 개발 커뮤니티에서 자체 도구를 만들게 되었습니다. 창시자 리누스 토발즈 (리눅스 창시자) 목표 빠른 속도 단순한 구조 파일 시스템의 스냅샷과 작은 변경 사항을 기반으로 합니다. 비선형적인 개발 수천개의 브랜치를 동시에 관리할 수 있습니다. 브랜치 간의 전환, 병합, 리베이스 등이 용이합니다. 완벽한 분산 모든 클라이언트는 전체 코드베이스와 그 히스토리의 복사본을 로컬에 ..

Git 2024.01.13

[Pro Git] 1-1. 시작하기: 버전 관리란?

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 버전 관리란?시간의 흐름에 따라 파일 변화를 기록하고, 필요할 때 특정 시점의 버전으로 복원할 수 있는 시스템입니다.” 로컬 버전 관리간단한 데이터베이스를 사용해서 파일의 변경 정보를 관리했습니다. RCS (Revision Control System)버전 관리 시스템의 초기 형태 중 하나 입니다.텍스트 파일의 변경 이력을 관리하기 위해 사용됩니다. Patch Set 파일 변경 내용을 담은 파일입니다. 효율적인 디스크 공간 사용 RCS는 Patch Set만 저장하여 디스크 공간을 효율적으로 사용합니다. 시점 되돌리기 일련의 Patch Set들을 적용해서 파일을 특정 시점으로 되돌릴 수 있습니다. 중앙집중..

Git 2024.01.13

[쉽게 배우는 운영체제] 2. 컴퓨터의 구조와 성능 향상

조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다. 1. 컴퓨터의 기본 구성하드웨어 구성구성 요소설명CPU (중앙 처리 장치)- 명령어를 해석하여 실행하는 장치 - 외부에서 정보를 입력받고, 기억하고, 연산하고, 출력Memory (주기억장치)- 작업에 필요한 프로그램과 데이터를 저장 - 바이트 단위로 분할되며, 분할 공간마다 주소로 구분됨I/O Device (입출력 장치)- 외부 세계와의 데이터 전송 담당- 보조기억장치  - 자성 저장장치: 플로피 디스켓, 하드디스크  - 레이저 저장장치: CD, DVD, Blu-ray Disc  - 메모리 저장장치: USB flash drive, SD Card, SSDMain Board (메인보드)- 컴퓨터의 PCB- 시스템의 핵심 부품을 장착할 수 있는..

OS 2024.01.11

[자바 ORM 표준 JPA 프로그래밍] 8. 프록시와 연관관계 관리

김영한 님의 "자바 ORM 표준 JPA 프로그래밍" 책을 정리한 포스팅 입니다. 1. 프록시엔티티를 조회할 때, 연관된 엔티티를 항상 사용하는 것은 아닙니다.모든 연관관계를 한꺼번에 가져오게 될 경우, 성능이 떨어질 수 있습니다. 지연 로딩엔티티가 실제 사용될 때, 데이터베이스 조회를 하는 방법입니다. 프록시 객체실제 엔티티 객체 대신에 가짜 엔티티 객체를 사용합니다. (DB 접근 위임)실제 클래스를 상속받아 만들어짐 (겉모양 같음)실제 객체의 참조를 보관하며, 프록시 객체의 메소드를 호출하면 실제 객체의 메소드를 호출 (데이터베이스 조회 지연 목적) em.getReference()Member member = em.getReference(Member.class, "id1");member.getName(..

[자바 ORM 표준 JPA 프로그래밍] 7. 고급 매핑

김영한 님의 "자바 ORM 표준 JPA 프로그래밍" 책을 정리한 포스팅 입니다. 1. 상속 관계 매핑데이터베이스의 슈퍼타입-서브타입 논리를 테이블로 구현 조인 전략엔티티 각각을 테이블로 생성 + 자식 테이블의 기본키를 기본키+외래키로 사용 (부모 테이블의 기본키 받기)테이블에 컬럼을 따로 추가해주기 (DTYPE: 구분 컬럼)테이블 정규화 O + 참조 무결성 제약 O (외래키)단점: 조회 쿼리 복잡 + 삽입 쿼리 두 번 실행 @Inheritance조인 전략 지정 (상속 매핑 시)부모 클래스에 작성 @DiscriminatorColumn구분 컬럼 지정 (부모클래스)자식 테이블 구분용@Entity@Inheritance(strategy = InheritanceType.JOINED)@DiscriminatorColu..

[자바 ORM 표준 JPA 프로그래밍] 6. 다양한 연관관계 매핑

김영한 님의 "자바 ORM 표준 JPA 프로그래밍" 책을 정리한 포스팅 입니다. 1. 다대일여러 개의 엔티티가 하나의 동일한 엔티티와 연관될 수 있는 관계 단방향 [N:1]@ManyToOne@JoinColumn(name=”TEAM_ID”)private Team team; 양방향 [N:1, 1:N]@ManyToOne@JoinColumn(name=”TEAM_ID”)private Team team;@OneToMany(mappedBy="team")private List members = new ArrayList();양방향은 외래 키가 있는 쪽이 연관관계의 주인입니다.양방향 연관관계는 항상 서로를 참조해야 합니다. 2. 일대다하나의 동일한 엔티티가 여러 개의 엔티티와 연관될 수 있는 관계 단방향 [1:N]@One..

[자바 ORM 표준 JPA 프로그래밍] 5. 연관관계 매핑 기초

김영한 님의 "자바 ORM 표준 JPA 프로그래밍" 책을 정리한 포스팅 입니다. 1. 단방향 연관관계객체 연관관계참조로 연관관계를 맺음. 단방향 관계한 객체가 다른 객체 참조 O (다른 객체가 반대 객체 참조 X)객체 그래프 탐색을 통해 연관관계 파악 가능 테이블 연관관계외래키로 연관관계를 맺습니다. 양방향 관계한 객체가 다른 객체 참조 O + 다른 객체가 반대 객체 참조 O연관관계인 모든 테이블이 조인 쿼리에 쓰임 연관 관계 매핑@JoinColumn외래키 설정 (조인 시 사용)name외래키 이름referencedColummnName외래키가 참조하는 컬럼명foreignKey외래키 제약조건 (테이블 생성시에만) @ManyToOne다대일 관계 매핑optional관련 엔티티 존재 유무truefetch페치 전략..

[쉽게 배우는 운영체제] 1. 운영체제 개요

조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다 1. 소개프로그래밍의 도입초기 컴퓨터는 설계된 대로만 사용할 수 있었습니다.사용자의 개입이나 프로그래밍 구현이 부족했습니다.프로그래밍을 통해원하는 프로그램을 추가하고 실행할 수 있게 되었습니다. 기능기능설명자원 관리- 프로그램이 사용하는 자원을 관리 - 자원 종류: 메모리, CPU 시간, 디스크 공간, 네트워크 대역폭 등사용자 인터페이스 제공- 사용자가 시스템과 상호작용할 수 있도록 지원 - 프로그램이 데이터를 처리하고 사용자에게 전달하는 방식 - GUI, CLI 등 다양한 인터페이스 제공동시성 관리- 병렬 처리를 통해 여러 작업을 동시에 실행할 수 있도록 지원 - 동시 실행에 필요한 자원 및 스케줄링 관리 2. 역사발전 과정특징ENIAC..

OS 2023.12.26