성령의 열매들은 노력해서 이루어야 할 헬라사람들이 추구하던 미덕이 아니라
예수님의 성품을 묘사하고 있다.
그러므로 성령의 열매는 결국 예수님을 닮는 것이다.
이것이 제자화이다
추천 영어 도움되는 사이트 두 곳
https://youglish.com/ – 내가 쓴 문장을 유브에서 영어 발음 찾아주는 사이트
https://translators.to/?source&target=en&text 한꺼번에 여러 번역문장이 나와서 비교해볼수있음.
Oracle Free tier Cloud로 Plex 미디어 서버 구축하기(Docker 이용) (수정중)
오랫동안 시간이 없다가 이제서야 구축하게 돼서 자료삼아 올려봅니다.
친절하진 않을거예요. 그래도 제가 막혔던 부분은 적어놓아서 추후 참고를 할 수 있겠습니다.
오라클 무료티어도 네트웍은 한달에 10TB까지 사용 가능합니다. 디스크용량은 40기가 정도는 쓸수 있어서 음악서버정도는 다 가능.
오라클 Cloud 가입
Compute instance 생성 – Ubuntu 이미지로 생성
오라클 클라우드용 Free 고정 IP 할당
네트워크 설정 – 포트 열기
iptables로 서버에서 여는거 하고 cloud에서 여는거 다 해야 함. 32400 은 열어줘야 함.
#!/bin/sh
sudo iptables -A INPUT -m state –state NEW,ESTABLISHED -m tcp -p tcp –dport 32400 -j ACCEPT
sudo iptables -A INPUT -m udp -p udp –dport 32400 -j ACCEPT

폴더 만들어놓기
mkdir srv
mkdir srv;mkdir srv/plex; mkdir srv/plex/config ; mkdir srv/plex/data ; mkdir srv/plex/data/music ; mkdir srv/plex/data/tv
(Optional) PLEX_CLAIM 키
(Plex 가입해서 로그인 했다면 You can also hit up https://www.plex.tv/claim/, sign in, and set that value as PLEX_CLAIM
environment variable.)
아래와 같은 페이지가 뜨고 키가 뜰텐데 이걸 입력하면 된다. (도커 스크립트에다가)

Plex docker 이미지 설치
결국 Dockerfile 작성하는거임
docker-compose.yml
# docker-compose.yml
version: "2.1"
services:
plex:
image: ghcr.io/linuxserver/plex
container_name: plex
network_mode: host
environment:
- PUID=1001
- PGID=1001
- VERSION=docker
- PLEX_CLAIM=claim-(아까 복사한 claim 키) 아니면 라인 지우자
volumes:
- /home/ubuntu/srv/plex/config:/config
- /home/ubuntu/srv/plex/data/tv:/tv
- /home/ubuntu/srv/plex/data/music:/music
restart: unless-stopped
실행
sudo docker-compose up -d
실행 잘 되었는지 확인해보기
sudo docker logs plex
이런 식으로 나오면 됨
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 40-chown-files: executing…
[cont-init.d] 40-chown-files: exited 0.
[cont-init.d] 45-plex-claim: executing…
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4837 0 4837 0 0 5792 0 –:–:– –:–:– –:–:– 5785
Server claimed successfully, navigate to http://serverip:32400/web to complete plex setup.
[cont-init.d] 45-plex-claim: exited 0.
[cont-init.d] 50-gid-video: executing…
[cont-init.d] 50-gid-video: exited 0.
[cont-init.d] 60-plex-update: executing…
Docker is used for versioning skip update check
[cont-init.d] 60-plex-update: exited 0.
[cont-init.d] 99-custom-scripts: executing…
[custom-init] no custom files found exiting…
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
SSH tunneling – 웹설정을 위해 필요
putty를 쓰자. 서버의 localhost:32400과 내 PC의 32400 포트 연결하여 접속

웹페이지 접속, 셋업 완료.
localhost:32400으로 접속하여 설치 마무리 하자.
추가로 할 일?
Plex 서버에 앱으로 (잘) 접속하려면 추가로 열어줄 포트들이 있을 수도..?
요구사양 관련 참고자료
요구사양 키워드 정리된 ietf 페이지: 이 곳에서 찾을 수 있다.
https://www.ietf.org/rfc/rfc2119.txt
INCOSE Guide for Writing Requirements 라는 문서가 있다.
https://dokumen.pub/incose-guide-for-writing-requirements-2019.html
gg
libconfig 오픈소스 config library
http://hyperrealm.github.io/libconfig/libconfig_manual.pdf
오픈소스 config library이고 이런식으로 쓴단다
Example application configuration file
# Example application configuration file
version = "1.0";
application:
{
window:
{
title = "My Application";
size = { w = 640;
h = 480;
};
pos = { x = 350;
y = 250;
};
}
;
list = (("abc", 123, true), 1.234, (/* an empty list */));
books = ( { title = "Treasure Island";
author = "Robert Louis Stevenson";
price = 29.95;
qty = 5; },
{ title = "Snow Crash";
author = "Neal Stephenson";
price = 9.99;
qty = 8; } );
misc:
{
pi = 3.141592654;
bigint = 9223372036854775807L;
columns = [ "Last Name", "First Name", "MI" ];
bitmask = 0x1FC3; // hex
umask = 0027; // octal. Range limited to that of "int"
};
}
;
GCOVR 로 커버리지 측정 – 소스와 gcda파일이 다른 경로에 있을 경우
gcovr은 내부적으로 gcov를 사용하나봄
gcovr ./path/to/gcda_gcno/files.dir -r /path/to/src.dir -s -p –html –html-details –gcov-executable /usr/bin/gcov -o /path/to/output/Test.html -verbose
파일포맷 설명: 아래 링크 참조하였다.
gcno – 빌드한 파일의 소스넘버가 들어있음.
gcda – 실행하면 실행카운트가 업데이트되는 데이터파일
-r 옵션 : 소스코드 디렉토리
-o 옵션 : 출력할 파일들이 저장될 경로
1. gcc의 특정 flag와 함께 테스트하고자하는 프로그램을 컴파일
– -fprofile-arcs -ftest-coverage
– .gcda , .gcno 파일 생성
2. 테스트하고자 하는 프로그램을 실행
– .gcda 파일에 실행한 프로그램의 커버리지 정보가 저장됨
3. gcov 프로그램을 사용하여 커버리지 정보를 분석
– gcov options
[Git] monorepo 상황에서 통합(PR) 전에 브랜치의 커밋들을 squash해서 하나로 모으고 리베이스 하기
monorepo 형태로 운용한다면
브랜치의 merge가 허락되지 않고
아래처럼 거부될 수 있다.
remote: Merge commits are not allowed. You should rebase rather than merge
remote: =====================================================================
...
! [remote rejected]…
그 때 방법은 rebase를 통하는 것인데
rebase를 하면서 내 커밋들을 하나로 묶어서 간단하게 로그를 만드는 경우에
(이미 push로 올린 브랜치에서)
다음과 같이 하면 된다.
$ git checkout master # (또는 develop 등 메인 브랜치 이름)
$ git pull # 서버(원격 저장소)에서 다 가져온다
$ git checkout {내 브랜치 이름} # 예 git checkout feature/my-123
$ git rebase -i master # master의 내용들로 내 브랜치를 리베이스 한다.
이 때 이미 내 브랜치에서 커밋했던 내용들이 보이고, 이 중에 필요한 것들은 squash 등으로 첫 단어 이름을 바꿔 적고 저장하면 묶여진다. 그 다음 단계로 커밋 메시지 수정하라고 나온다.
$ git push -f origin {내 브랜치 이름} # 원격 저장소의 내 브랜치에 적용해서 올려준다.
서울의 평년 강수일, 기온
30년간의 기후자료. 서울 (1981~2010년) | ||||||||||||
요소 | 01월 | 02월 | 03월 | 04월 | 05월 | 06월 | 07월 | 08월 | 09월 | 10월 | 11월 | 12월 |
강수일수1.0mm이상 | 3.9 | 3.5 | 5 | 5.9 | 7 | 7.7 | 13.4 | 12 | 6.7 | 4.9 | 6.4 | 4.2 |
최고기온(℃) | 1.5 | 4.7 | 10.4 | 17.8 | 23 | 27.1 | 28.6 | 29.6 | 25.8 | 19.8 | 11.6 | 4.3 |
최저기온(℃) | -5.9 | -3.4 | 1.6 | 7.8 | 13.2 | 18.2 | 21.9 | 22.4 | 17.2 | 10.3 | 3.2 | -3.2 |
자전거 탈 때 참고..