Skip to content

Commit

Permalink
2025-01-02 TIL 문서 복사
Browse files Browse the repository at this point in the history
  • Loading branch information
rlaisqls authored and github-actions[bot] committed Jan 2, 2025
1 parent 3630407 commit 444300d
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/content/docs/TIL/개발/AI/임베딩.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ lastUpdated: 2025-01-01T23:30:53
- 잠재 디리클레 할당(LDA): 각 문서에 어떤 주제들이 존재하는지에 대한 확률 모형, 문서를 주제 확률 분포로 나타내 각각을 벡터화한다는 점에서 LDA를 임베딩 기법의 일종으로 이해할 수 있다.
- ELMo: 입력 단어 시퀀스 다음에 어떤 단어가 올지 낮추는 과정에서 학습된다. ElMo의 입력은 문자 단위, 출력은 토큰 단위이고, 문자단위 CNN, LSTM, Elo 레이어 세 요소로 구성되어 있다.
- 트렌스포머 네트워크: Scaled Dot-Product Attention과 멀티에드 어텐션, Positoin-wise Feedforward Networks 세 요소로 구서오딘 블록이다. 입력 문자으이 의미적, 문법적 관계 추출에 뛰어난 성능을 보여 주목받았다. GPT, BERT 등이 트랜스포머 네트워크를 기본 블록으로 사용한다.
- BERT: 입력 문장으 ㄹ양방향으로 분석하는 모델이다. 주어진 시퀀스 다음 단어를 맞추는 것에서 벗어나, 일단 문장 전체를 모델에 알려주고, 빈칸에 해당하는 단어가 어떤 단어일지 예측하는 과정에서 학습한다.
- BERT: 입력 문장을 양방향으로 분석하는 모델이다. 주어진 시퀀스 다음 단어를 맞추는 것에서 벗어나, 일단 문장 전체를 모델에 알려주고, 빈칸에 해당하는 단어가 어떤 단어일지 예측하는 과정에서 학습한다.

---
참고
Expand Down
7 changes: 7 additions & 0 deletions src/content/docs/TIL/개발/Nightly build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: 'Nightly build'
lastUpdated: 2025-01-02T18:07:10
---
Nightly build

- 매일 발생하는 소프트웨어에 대한 수정사항을 포함하고 있는 소프트웨어 배포버전이다. 소프트웨어는 테스트가 되어 있지 않을 수 있기 때문에 매우 불안정한 상태이다.
48 changes: 48 additions & 0 deletions src/content/docs/TIL/개발/Tools/vi/vim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: 'vim'
lastUpdated: 2025-01-02T18:07:10
---
## map, noremap

> <https://stackoverflow.com/questions/3776117/what-is-the-difference-between-the-remap-noremap-nnoremap-and-vnoremap-mapping>
map, noremap 둘다 특정키를 매핑하는 역할을 한다.
둘의 차이는 recursive vs non-recursive 이다. 에를 들어

```
:map j gg
:map Q j
```

를 하면 j를 누르면 gg를 누른 것과 동일한 효과를 얻게 된다.
만약 대문자 Q를 누른다면 j로 매핑한다음 다시 j가 gg를 가리키므로 결과적으로 Q는 gg를 수행하게 된다.
그래서 map을 ‘recursive’하다라고 얘기한다. 매핑되는 키의 또다른 매핑되는 키를 찾아가게 된다.

하지만 noremap은 non-recursive map이다.

```
:map j gg
:noremap Q j
```

Q를 누르면 j를 누르는 효과이다.

map command에 대한 mode별 버전들이 있다.

nmap - works recursively in normal mode.
imap - works recursively in insert mode.
vmap - works recursively in visual and select modes.
xmap - works recursively in visual mode.
smap - works recursively in select mode.
cmap - works recursively in command-line mode.
omap - works recursively in operator pending mode.

non-recursive 버전도 동일하다.

nnoremap - works non-recursively in normal mode.
inoremap - works non-recursively in insert mode.
vnoremap - works non-recursively in visual and select modes.
xnoremap - works non-recursively in visual mode.
snoremap - works non-recursively in select mode.
cnoremap - works non-recursively in command-line mode.
onoremap - works non-recursively in operator pending mode.
25 changes: 25 additions & 0 deletions src/content/docs/TIL/개발/Tools/vi/vim 단축키.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,43 @@ title: 'vim 단축키'
lastUpdated: 2024-04-28T11:46:58
---
# Vim 이동

## 기본 이동

-`h`, `j`, `k`, `l` : 좌, 하, 상, 우 커서 이동

- `-` : 줄의 처음 위치로 커서 이동
- `gg` : 맨 위로 커서 이동
- `shift + g` : 맨 아래로 커서 이동

## 단어 단위로 이동

- `w` : 단어의 시작 위치로 커서 이동 (오른쪽 방향)
- `b` : 단어의 시작 위치로 커서 이동 (왼쪽 방향)
- `e` : 단어의 마지막 위치로 커서 이동 (오른쪽 방향)
- `ge` : 단어의 마지막 위치로 커서 이동 (왼쪽 방향)

## 한 문장 내에서 이동

- `0 (숫자)` : 라인 맨 앞으로 커서 이동
- `^` : 문장 맨 앞으로 커서 이동
- `$` : 문장 맨 뒤로 커서 이동

## 현재 페이지에서의 이동

- `shift + h` : 현재 보이는 페이지에서 커서를 맨 위로 이동
- `shift + m` : 현재 보이는 페이지에서 커서를 중간 위치로 이동
- `shift + l` : 현재 보이는 페이지에서 커서를 맨 아래로 이동

## 페이지 이동

- `ctrl + f` : 다음 페이지의 첫 줄로 커서 이동
- `ctrl + b` : 다음 페이지의 마지막 줄로 커서 이동
- `ctrl + u` : 페이지의 절반 크기만큼 위로 커서 이동
- `ctrl + d` : 페이지의 절반 크기만큼 아래로 커서 이동

## 원하는 줄 위치로 이동

- 줄 번호 on/off 설정
on -> [`:set number` / `:set nu`]
off -> [`:set nonumber` / `:set nonu`]
Expand All @@ -42,13 +52,15 @@ lastUpdated: 2024-04-28T11:46:58
3. `shift + g` 입력

## {}을 기준으로 이동

- `]]` : {로 커서 이동 (오른쪽 방향) - 없으면 페이지 맨 아래로 커서 이동
- `[[` : {로 커서 이동 (왼쪽 방향)
- `][` : }로 커서 이동 (오른쪽 방향) - 없으면 페이지 맨 아래로 커서 이동
- `[]` : }로 커서 이동 (왼쪽 방향)
- `%` : `{}`, `()`에서 현재 괄호의 짝을 찾아 커서 이동

## 특정 문자로 이동

- `f(문자)` : 문자의 위치로 이동 ; 를 누르면 계속 이동
- `F(문자)` : 백워드로 문자의 위치로 이동
- `t(문자)` : 문자의 앞위치로 이동
Expand All @@ -57,14 +69,17 @@ lastUpdated: 2024-04-28T11:46:58
# Vim 선택

## 문자 단위로 선택

- `v` : 문자 단위로 블럭지정

## 줄 단위 선택

- `shift + v` : 줄 단위로 블럭지정

# Vim 편집

## 삭제, 잘라내기, 수정에 관한 단축키

- `dd` : 커서가 위치한 줄 잘라내기
- `숫자 + dd` : 커서가 위치한 줄부터 숫자의 줄 만큼 잘라내기
- `dw` : 커서가 위치한 곳 부터 단어의 마지막까지 잘라내기
Expand All @@ -78,6 +93,7 @@ lastUpdated: 2024-04-28T11:46:58
- `r + 변경할 문자` : 현재 커서의 문자를 변경

## 복붙 관련 단축키

- `yl` : 현재 커서가 위치한 문자 하나만 복사
- `yy` : 현재 커서가 위치한 줄 복사
- `yw` : 현재 커서의 위치부터 단어의 마지막까지 복사
Expand All @@ -93,19 +109,23 @@ lastUpdated: 2024-04-28T11:46:58
- `숫자 + p` : 숫자만큼 붙여넣기 반복

# Vim 검색

- `/ + 찾을 단어` : 문서에서 단어 찾기
1. `n` 또는 `*` : 다음 찾기
2. `N` 또는 `#` : 이전 찾기

# 기타

## 다음 줄을 현재 커서의 줄 뒤로 붙이기

- `shift + j` : 다음 줄을 현재 커서의 줄 뒤로 이어 붙인다

## 대소문자 전환

- `shift + ~` : 현재 커서의 문자의 대소를 전환한다.

## 창 열기, 탭 이동

- `: + vs` : 현재 창을 세로로 분할된 창으로 열기
- `: + new` : 새 창을 현재 창 위에 분할된 창으로 열기
- `ctrl + w 2번 누르기` : 분할된 창 간에 이동
Expand All @@ -114,16 +134,21 @@ lastUpdated: 2024-04-28T11:46:58
- `gT` : 왼쪽 탭으로 이동

## 취소하기, 되돌리기

- `u` : 이전으로 취소하기
- `ctrl + r` : 이전으로 취소한걸 다시 되돌리기

## 명령어 다시 실행하기

- `.` : 이전 명령어를 다시 실행

## 코드 접기, 펼치기

- `zc` : 코드 접기 (fold)
- `zM` : 코드 모두 접기 (fold)
- `zo` : 접힌 코드 펼치기
- `zR` : 접힌 코드 모두 펼치기
- `zd` : fold 지우기
- `zD` : 모든 fold 지우기

---
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,7 @@ Challenges of this approach

---
reference
- https://www.striim.com/blog/change-data-capture-cdc-what-it-is-and-how-it-works/

- <https://www.striim.com/blog/change-data-capture-cdc-what-it-is-and-how-it-works/>
- <https://sihyung92.oopy.io/architecture/cdc>

0 comments on commit 444300d

Please sign in to comment.