포스트

2022-03-21-TIL

Today I Learned

Software Release

릴리즈 버전은 보통 3개의 구간으로 나누어서 표시한다.

[Major].[Minor].[Patch]

Semantic Versioning 2.0.0은 각 자리를 올리는 기준을 이렇게 정한다. 하위 호환이 깨지는 API 변경이면 MAJOR, 하위 호환을 유지하며 기능을 추가하면 MINOR, 하위 호환을 유지하는 버그 수정이면 PATCH를 올린다. 1.0.0-alpha, 1.0.0-rc.1처럼 하이픈 뒤에 붙는 꼬리표는 정식 버전보다 앞선 프리릴리즈를 뜻한다.

소프트웨어 릴리즈 생명주기는 보통 내부 테스트용 알파, 외부 사용자에게 공개하는 베타, 출시 후보(RC), 정식 출시(GA 또는 stable) 순으로 진행된다. Git에서는 릴리즈 시점의 커밋에 git tag -a v1.2.0 -m "..."처럼 주석 태그를 달고 git push origin v1.2.0으로 원격에 올린다. Git Flow에서는 release 브랜치를 master에 병합할 때 이 태그를 단다.

  • http://minsone.github.io/git/git-addtion-and-modified-delete-tag
  • https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
  • https://en.wikipedia.org/wiki/Software_release_life_cycle
  • https://www.techtarget.com/searchsoftwarequality/definition/release

Jekyll css 커스텀하기

두 가지 방법이 있다. 첫 번째는 직접 정해진 경로에 custom.js 와 custom.scss 파일을 두어서 빌드하는 방법이고, 나머지 하나는 _config.yml 파일에 원하는 scss를 작성해두는 방법이다.

이 방법은 jekyll-rtd-theme(rundocs) 테마가 제공하는 커스터마이징 지점이다. 테마마다 덮어쓸 수 있는 경로가 다르므로, 다른 테마에서는 해당 테마 문서에서 사용자 스타일 파일 위치를 확인해야 한다.

scss를 커스터마이징 하려면 크롬의 개발자 도구에서 command + shift + c 로 바꾸고자 하는 엘리먼트를 찾아서 해당 코드블록을 그대로 복사해서 붙여넣으면 된다.

via file:

1
2
_includes/assets/custom.js
_includes/assets/custom.scss

via _config.yml:

1
2
3
4
5
6
7
script: |
  alert("it");
  alert("works!");

scss: |
  .wy-nav-content-wrap{background:#fcfcfc}
  .wy-nav-content-wrap .wy-nav-content{max-width:none}
Please do not use double slashes in script, and be sure to add the semicolon(;) at the end!
  • https://github.com/rundocs/jekyll-rtd-theme/issues/40
  • https://github.com/rundocs/jekyll-rtd-theme/issues/34
  • https://github.com/rundocs/rundocs.io/blob/master/docs/configuring/custom.md
  • https://encycolorpedia.kr/3b5998#:~:text=16%EC%A7%84%20%EC%83%89%EC%83%81%20%EC%BD%94%EB%93%9C%20%233b5998,%25%20%EB%85%B9%EC%83%89%20%EB%B0%8F%2059.61%25%20%ED%8C%8C%EB%9E%91.

make와 Makefile

make는 Makefile에 적힌 규칙에 따라 빌드를 자동화하는 도구다. 규칙은 만들 대상(target), 대상이 의존하는 파일(prerequisites), 실행할 명령(recipe)으로 이루어지고, 명령 줄은 반드시 탭으로 시작해야 한다. make는 대상 파일보다 의존 파일이 더 최근에 수정되었을 때만 명령을 다시 실행하므로, 바뀐 파일과 관련된 부분만 다시 빌드한다.

1
2
3
4
5
6
7
8
app: main.o util.o
	gcc -o app main.o util.o

main.o: main.c util.h
	gcc -c main.c

clean:
	rm -f app *.o

clean처럼 실제 파일을 만들지 않는 대상은 .PHONY: clean으로 선언해 같은 이름의 파일이 있어도 항상 실행되게 한다.

  • https://bowbowbow.tistory.com/12
참고한 자료외부 출처 2

외부 출처

이 글은 저작권자의 CC BY 4.0 라이선스를 따릅니다.

댓글

아직 댓글이 없습니다