전체 글
-
리눅스 기초 훑기기타/리눅스 2021. 4. 23. 11:29
목차 디렉터리 구조 쉘의 종류 기본 명령어 텍스트 에디터 vi 리다이렉트와 파이프 파일 명령어 심볼릭 링크와 하드 링크 시스템 관리 네트워크 사용자 환경 설정 경로 설정 로그 설정 마운트 디렉터리 구조 디렉터리 역할 bin 바이너리 형식의 실행 파일이나 명령이 보관되어 있다. dev 디바이스 관련 파일이 보관되어있다. etc 각종 설정 파일 등 다양한 파일이 보관되어 있다. root 루트 디렉터리와 별도로 준비된 시스템 관리자용인 홈 디렉터리이다. sbin 관리자용 시스템 표준 명령이 보관되어 있다. usr 각 사용자의 데이터나 애플리케이션이 보관되어 있는 장소이다. home 이 디렉터리 아래에 사용자별 디렉터리가 만들어지고, 그곳이 각 사용자의 홈 디렉터리이다. var 애플리케이션의 기록(로그)파일이나..
-
JPA > 연관관계 매핑BackEnd/JPA 2021. 4. 18. 01:02
연관관계 매핑 기초 객체와 테이블간 연관관계를 맺는 차이 테이블은 FK 하나로 양방향이 되지만, (테이블은 PK, FK 연결된 키로 조인해 항상 양방향의 정보를 다 수집할 수 있다.) 객체에는 단방향만 있다. 객체에서 양방향 관계를 만들기 위해서는 각 객체가 서로의 참조를 가지고 서로를 가르키는 두 개의 단방향 갖게 해야한다. 위 표에서 객체의 연관관계는 Member 객체가 team 필드를 통해 Team 에 단방향을 갖고 있고, 테이블에서 연관관계는 MEMBER 테이블의 TEAM_ID 라는 외래키를 통해 양방향을 갖고있다고 할 수 있다. 이 때 Member.team 과 MEMBER.TEAM_ID 을 매핑하는 것이 연관관계 매핑이다. 여러 회원은 한개의 팀에만 속할 수 있다는 조건에서 회원과 팀은 N : ..
-
JPA 기본BackEnd/JPA 2021. 4. 4. 22:08
객체와 관계형 데이터베이스의 차이 객체지향 프로그램은 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공한다. 비지니스 요구사항을 정의한 도메인 모델도 객체로 모델링하면 객체지향 언어가 가진 장점을 활용할 수 있다. 하지만 이 객체를 메모리가 아닌 어딘가에 영구 보관해야하는데, 이는 관계형 데이터베이스이다. 관계형데이터베이스는 객체지향과 목적이 다르므로 기능과 표현방법이 다르다. 1. 상속 테이블에는 상속이라는 개념이 없다. 비슷하게 슈퍼타입, 서브타입이 있지만 객체지향에서 말하는 상속과 다르다. 예를 들어 Item 이라는 부모 테이블에 Album, Movie 등의 자식 테이블이 있다면, 관계형 데이터베이스에서 이를 관리하기 위해서 Item 과 해당 자식..
-
쉘스크립트의 셔뱅 shebang기타/리눅스 2021. 3. 29. 10:10
쉘 스크립트란 쉘에서 사용할 수 있는 명령어들의 조합을 모아서 만든 배치(batch) 파일이다. 일반적으로 Python, Perl, Ruby 등 스크립트 언어는 각각의 고유한 인터프리터가 있다. 따라서 각 언어용 인터프리터를 따로 설치해야 한다. 쉘 스크립트는 특별한 경우인데, 인터프리터가 쉘 자체에 이미 포함되어 있어서 쉘에서 인터프리트 과정을 진행한다. 쉘 스크립트는 스크립트 언어로 만든 프로그램으로, 우리가 사용하는 운영체제의 쉘과 연동시키는 데에 사용된다. 스크립트는 인터프리터가 처리하고 실행하는데, 쉘 스크립트의 경우는 쉘이 직접 스크립트를 인터프리트한다. https://vallhalla-edition.tistory.com/28 아래와 같이 test.sh 를 작성하였다. 하지만 ./test.sh..
-
도커 이미지 빌드 DockerfileBackEnd/도커 2021. 3. 28. 21:40
도커는 레이어드 파일 시스템을 기반으로 한다. 레이어드 파일 시스템에는 AUFS, BTRDS, Overlayfs 등이 있다. Docker는 하나의 이미지로 부터 하나 이상의 컨테이너를 만들 수 있다. 이 과정은 하나의 프로그램 이미지(파일)로 부터, 여러 개의 프로세스를 실행 할 수 있는 리눅스 프로세스 모델과 매우 비슷한 측면이있다. 도커 이미지는 프로그램 이미지에 대응되며, 컨테이너는 프로세스에 대응된다. 이미지는 읽기 전용과 쓰기 가능 두 가지로 나뉜다. 하나의 도커 이미지로 부터 여러 개의 컨테이너를 만들려면, 도커 이미지가 "변경"이 되면 안 될 것이다. 프로그램의 파일이 변경되면 안 되듯이 원칙적으로 도커 이미지의 데이터는 변경이 되면 안된다. 실제 도커를 기반으로 SaaS 환경을 구축할 경우..
-
도커 컴포즈BackEnd/도커 2021. 3. 24. 20:50
상황1 . 아래와 같이 컨테이너를 실행하는데 설정해야할 요소가 많으면 명령어를 직접 쓰기 어려워진다. docker run -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app 이미지아이디 상황2 . 여러가지 앱을 하나의 서비스로 묶어 실행하고자 할 수도 있다. 이를 docker-compose.yml 을 정의해 해결할 수 있다. docker-compose.yml version: '2' services: db: image: mysql:5.7 volumes: - ./mysql:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpr..
-
도커 컨테이너 실행하기BackEnd/도커 2021. 3. 7. 14:25
컨테이너 실행하기(run) > 웹 앱 실행하기 > mysql 에 워드프레스 설치하기 > 자주 사용하는 명령어 도커 실행 도커 허브를 켜야 도커 클라이언트를 사용할 수 있다. > cmd 에서 docker 명령을 하기 위해서는 로컬 pc 에 설치한 도커 허브를 시작해야한다. docker 라는 명령어를 통해 client 에서 server 로 명령을 전달할 수 있다. 컨테이너 실행하기 docker run [option] 이미지명:태그 [command] [arg..] * run 은 create + start 를 합친 명령어로, 명령어가 컨테이너를 생성, 실행함. - create 할 때 파일스냅샷을 컨테이너 하드디스크에 적재 - start 할 때 run 명령어를 컨테이너 실행 명령어로 적재 이미지가 cache 저장..
-