2021-10-01-TIL
멀티 태그 검색
태그 하나가 아니라 “A이면서 B인 것”처럼 여러 해시태그를 함께 걸어 게시물을 찾는 방법과, 그런 검색을 제공하는 서비스를 찾아본 링크다.
- https://www.istartips.com/ko/search-multiple-hashtags-instagram.html#Multiple_Hashtag_Search
- https://mulpix.com/
- https://brunch.co.kr/@wlsalsdnek/79
GitHub
GitHub Action
GitHub Actions는 저장소에서 일어나는 이벤트에 맞춰 빌드, 테스트, 배포 같은 작업을 자동으로 실행하는 기능이다. 구성 요소는 다음과 같다.
- 워크플로(workflow): 하나 이상의 job을 실행하는 자동화 단위.
.github/workflows에 YAML 파일로 정의한다. - 이벤트(event): 워크플로를 시작시키는 일. push, PR 생성, 스케줄 등이 있다.
- job: 같은 러너에서 실행되는 step의 묶음. 기본적으로 job끼리는 병렬로 실행된다.
- step: job 안에서 순서대로 실행되는 셸 명령이나 action.
- action: 저장소 체크아웃처럼 자주 쓰는 작업을 재사용할 수 있게 묶어 둔 것.
- 러너(runner): 워크플로를 실제로 실행하는 서버.
1
2
3
4
5
6
7
8
name: build
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: ./gradlew test
두 번째 링크는 GitHub 계정을 여러 개 쓸 때의 Git 설정에 관한 글이다. Git의 조건부 include를 쓰면 저장소가 있는 디렉터리에 따라 다른 설정 파일을 적용할 수 있다. 예를 들어 ~/work/ 아래 저장소에서는 회사 이메일을, ~/personal/ 아래에서는 개인 이메일을 쓰게 할 수 있다.
1
2
3
4
[includeIf "gitdir:~/work/"]
path = ~/.config/git/work.inc
[includeIf "gitdir:~/personal/"]
path = ~/.config/git/personal.inc
- https://zzsza.github.io/development/2020/06/06/github-action/
- https://www.lainyzine.com/ko/article/useful-git-settings-when-using-github-multi-account/
GitHub 자격증명 변경
Git은 HTTPS로 원격 저장소에 접근할 때 쓰는 아이디와 비밀번호를 credential helper라는 외부 프로그램에 맡겨 저장한다. Windows에서는 Git Credential Manager나 wincred, macOS에서는 osxkeychain이 대표적이다. 계정을 바꿨는데 예전 계정으로 계속 push가 시도된다면 이 저장소에 남은 자격 증명 때문이다. Windows라면 자격 증명 관리자에서, macOS라면 키체인에서 해당 항목을 지우면 다음 접근 때 새로 입력하게 된다.
- https://yunseul-light.blogspot.com/2017/08/github-windows-git.html
JavaScript
Currying
커링(currying)은 인자를 여러 개 받는 함수를, 인자를 하나씩 받는 함수들의 연쇄로 바꾸는 기법이다. 논리학자 해스켈 커리의 이름에서 왔다. 부분 적용(partial application)과 비슷해 보이지만, 부분 적용은 일부 인자를 고정한 함수를 한 번 만드는 것이고 커링은 함수를 인자 하나짜리 단계로 쪼개는 변환이다.
1
2
3
4
5
6
7
8
const add = (a, b, c) => a + b + c;
const curriedAdd = a => b => c => a + b + c;
add(1, 2, 3); // 6
curriedAdd(1)(2)(3); // 6
const addTen = curriedAdd(10); // 앞 인자를 미리 정해 둔 함수 재사용
addTen(1)(2); // 13
앞쪽 인자를 미리 넣어 둔 함수를 만들어 재사용하거나, 인자 하나짜리 함수를 이어 붙이는 함수 합성에서 쓸모가 있다.
- https://sujinlee.me/currying-in-functional-javascript/
댓글
아직 댓글이 없습니다