Docker jenkins 설치시 permission 오류
run시에 젠킨스가 올라가지 않고 /var/jenkins/home
에 파일 퍼미션 오류가 발생할 때 다음과 같이 해결하면 된다.
해결
마운트한 볼륨에 1000 유저 권한을 준다. (jenkins의 uid는 1000) docker hub에 나와있는 내용이긴 한다.
chown 1000 {볼륨 경로}
run시에 젠킨스가 올라가지 않고 /var/jenkins/home
에 파일 퍼미션 오류가 발생할 때 다음과 같이 해결하면 된다.
마운트한 볼륨에 1000 유저 권한을 준다. (jenkins의 uid는 1000) docker hub에 나와있는 내용이긴 한다.
chown 1000 {볼륨 경로}
웹 상에서 파일을 업로드할 때 md5 checksum 오류가 발생해 파일이 전체가 다 안 올라가는 경우도 있고, 세션이 만료되 올라가는 도중에 끊기기도 하는 것 같다.
업로드 할 bucket 의 이름을 조회한다.
aws s3 ls
앞이 복사할 폴더이고 뒤가 파일이 복사될 s3 bucket 경로이다.
aws s3 cp ./ s3://{bucket_name}/{path}/ --recursive --exclude "*.mp4" --acl public-read
mp4 를 제외한 폴더의 모든 하위 파일들을 public-read 권한으로 업로드했다.
cli docs에서 디테일한 옵션은 확인 가능하다.
폴링은 주변장치의 상태보존을 하지 않음, 프로그램 제어하의 직접 입출력 방식
바인딩
- 프로그램 내에서 변수 등을 실제 값으로 배정하는 것
- 명령문과 데이터를 주기억장치에 특정 위치로 옮기는 것
페이지 사상테이블 항목
- 페이지 존재 비트
- 보조 기억장치 주소
- 페이지 프레임 번호
상호 배제
- 공유자원을 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 하며 다른 프로세스가 공유자원에 대해 접근하지 못하게 하는 기법
UNIX 시스템의 3가지 구성요소
- 쉘
- 커널
- 어플리케이션
프로그램 입출력의 횟수나 크기와 관계없는 공간 요구
f(n) <= cg(n)
인 조건을 만족하는 두 양의 정수 c와 n0이 존재하기만 하면 f(n) = O(g(n))이다.순서 리스트의 문제점
- 삽입 삭제시 많은 이동
- 할당 공간 부족시 재할당
- 표현방법과 기억 공간의 크기가 달라지면 컴파일부터 다시 실행
원형 연결 리스트에서 헤드 노드를 사용하는 이유 모든 원소가 환형으로 연결되어 있기 때문에 무한 루프에 빠질 수 있어 헤드 노드를 두어 리스트의 시작을 알린다.
- 이진트리에서 루트 레벨이 1로 시작할 때 레벨 i에서 최대 노드의 수는 2^(i-1) 개 이다.
- 이진트리에서 깊이가 i라면 최대 노드 수는 2^i-1개다.
interval = n/2
에서 시작해 매번 interval = interval / 2
로 interval 값이 0보다 큰 경우에 반복 수행한다.커스텀 validation을 추가해야할 때가 있다. created에 $validator 인스턴스를 확장해주면 된다.
const option = {
created: function () {
this.$validator.extend("customRule", {
getMessage: function (field, args) {
return "오류 메세지";
},
validate: function (value, args) {
// 체크 로직
return true;
},
});
},
};
모듈형태거나 전역설정이면 import { Validator } from 'vee-validate';
후에 Validator.extend
로 접근하면 된다.
추가한 룰 이름으로 v-validate 속성에 넣어주면 끝이다.
<input type="text" name="help" v-validate="'required|customRule'" />
attach 메소드로 붙히면 된다.
this.$validator.attach("help", "customRule");
다른 사용법은 공식문서를 참조하자
참조할 테이블의 PK가 increment로 정의되어 있고, 연결할 테이블의 FK가 integer로 되어있는데, SQL Syntax ERROR가 날 경우에 다음과 같이 처리하면 된다.
increment가 기본적으로 unsigned이기 때문에 외래키를 걸 컬럼이 unsigned인지 확인해보자. (컬럼 타입이 완전히 같은지 확인해보자.)
<?php
...
// FK
$table->integer('pk_id')->unsigned();
// PK
$table->increment('id');
...
ALTER TABLE CONSTRAINT FORIEN KEY
구문에 문제가 있는 줄 알고 한참 삽질
단말기와 단말기 사이를 전송매체가 연결하여 데이터를 주고받는 행위
통신망의 목적 자원의 공유와 신뢰도 향상 및 처리기능의 분산과 프로세스 간의 통신 제공
위상변조 잡음에 강하고, 레벨 변화의 영향을 적게 받으며, 일정한 크기의 대역폭을 필요로 한다. 간단한 회로 구성
동기화 송신 측과 수신 측 사이에 정보를 보내는 시점을 합의하는 절차
PCM 신호를 양자화, 표본화, 부호화하여 펄스 변조하는 불연속 펄스 변조 펄스코드변조
다중화 정적인 채널의 공유 방안, 채널에서 주파수 대역이나 타임슬롯을 사전에 할당, 입출력의 비트율(용량)이 일치한다.
클록 드리프트 클록 속도가 달라 비트 간 발생시간이 다르거나, 송수신단의 독립적인 두 개의 클록이 정확하게 일치되지 않는 클록의 어긋남
ARQ 자동 반복 요구, Automatic Repeat reQuest
Checksum 데이터의 정확성을 검사하기 위한 용도로 사용되는 오류 검출 방식 1의 보수 연산을 사용
하위 계층에서 상위 계층으로 데이터가 이동할 때 헤더는 삭제되고 상위 계층에서 하위 계층으로 데이터가 이동할 때 헤더는 추가된다.
PDU 프로토콜 데이터 단위 계층 구성의 프로토콜에서 상위 프로토콜 계층으로부터 송신을 위해 주어지는 데이터 단위 LLC의 부계층에서 만들어 진다. 응용계층: 메세지, 전송계층: 세그먼트, 네트워크계층: 데이터그램, 데이터링크계층: 프레임
피기백킹 piggybacking, 수신한 패킷에 대한 확인 응답을 전송하는 패킷에 포함하여 같이 전송
베이스 밴드 특정 반송파를 변조하기 위해 사용되는 모든 신호에 의해 얻어지는 주파수 대역 기저대역
MAU Media Attachment Unit 호스트 컴퓨터상의 부착 유닛 인터페이스 포트를 UTP 또는 동축 케이블 등과 같은 이더넷 네트워크 매체에 접속하기 위한 장치
DES CBC, CFB, OFD, ECB 모드
베스천 호스트 철저한 방어정책이 구현된 방화벽 외부로부터의 일차적인 연결을 받아들이는 시스템
차례대로 실행만 해주면 된다.
## python 설치 안 된 경우
## $ apt install python
## pip 설치
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py --user
## PATH 등록
$ export PATH=~/.local/bin:$PATH
## aws cli 설치
$ pip install awscli --upgrade --user
$ aws --version