Skip to content
Open

d #2

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
ddd9e73
ngrok 설치 및 사용법 추가
lecto17 Dec 27, 2021
0ee28bd
Merge branch 'main' of https://github.com/lecto17/TIL
lecto17 Dec 28, 2021
6b72880
js event.changedTouches 관련 서칭 사이트 추가
lecto17 Dec 28, 2021
d3e2e6f
push test
lecto17 Dec 28, 2021
d75d489
Delete temp.txt
lecto17 Dec 28, 2021
6b80c88
vite GA 연동 작업
lecto17 Dec 29, 2021
d9def12
Update vue-ga[google-analytics].md
lecto17 Dec 29, 2021
aac5b16
Update vue-ga[google-analytics].md
lecto17 Dec 29, 2021
6307c40
rename: 파일명 변경
lecto17 Dec 29, 2021
c496146
vuex 버전 관련 내용
lecto17 Dec 30, 2021
8866d25
vue-ga 발생한 이슈
lecto17 Dec 30, 2021
e7599b8
Update vue-ga[google-analytics].md
lecto17 Dec 30, 2021
58379b1
warning 내용 추가
lecto17 Dec 30, 2021
da5fedd
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Dec 30, 2021
94009c0
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Jan 1, 2022
39bd5f2
실습 내용 추가
lecto17 Jan 1, 2022
8979619
Update 04.할일-관리-애플리케이션.md
lecto17 Jan 1, 2022
a209574
함수 구조를 정의하는 인터페이스까지 정리
lecto17 Jan 2, 2022
d2e3bf1
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Jan 2, 2022
25ffa34
인터페이스 완료
lecto17 Jan 3, 2022
69bbe2c
overflow-wrap:break-word와 word-break:break-word
lecto17 Jan 4, 2022
4e07d27
Update css_notepad.md
lecto17 Jan 4, 2022
6c1ea18
타입 별칭 내용 추가
lecto17 Jan 4, 2022
c952115
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Jan 4, 2022
e121439
async-await 함수 내에서 html dom 접근할 때 발생한 문제
lecto17 Jan 5, 2022
5ebd370
overflow-wrap: word-break 속성 추가 중
lecto17 Jan 5, 2022
aa30136
Update css_notepad.md
lecto17 Jan 5, 2022
fe6eec1
word-break, word-wrap 차이점
lecto17 Jan 5, 2022
a997863
유니언/인터섹션 타입 내용 추가
lecto17 Jan 5, 2022
5f09bac
이넘 내용 추가
lecto17 Jan 5, 2022
01522d7
클래스 내용 추가
lecto17 Jan 6, 2022
a9562f7
제네릭-유니언 타입을 이용한 선언 방식의 문제점까지 추가
lecto17 Jan 18, 2022
317b900
제네릭의 필요성까지 추가
lecto17 Jan 20, 2022
c340ae1
제네릭을 이용한 타입 정의까지 추가
lecto17 Jan 21, 2022
685a361
제네릭 완료
lecto17 Jan 22, 2022
e98726c
Update 10.제네릭.md
lecto17 Jan 22, 2022
2d44e54
Create 10.제네릭.md
lecto17 Jan 22, 2022
7a2933f
Update 08.이넘.md
lecto17 Jan 24, 2022
d1a6eca
Update 05.인터페이스.md
lecto17 Jan 24, 2022
1c1c992
순수함수 내용 추가
lecto17 Jan 24, 2022
7898334
일급함수 추가
lecto17 Jan 24, 2022
c74ad11
Update 10.제네릭.md
lecto17 Jan 25, 2022
c80eabf
타입단언 완료
lecto17 Jan 26, 2022
f3d5119
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Jan 26, 2022
87c71bb
타입가드 완료
lecto17 Jan 26, 2022
c30b651
타입호환 완료
lecto17 Jan 26, 2022
984d5c1
타입 모듈화 모듈화 실습 전까지 완료
lecto17 Jan 26, 2022
b529b39
타입 추론 완료
lecto17 Jan 26, 2022
6e5d2c4
제네릭이 주로 사용되는 경우 추가
lecto17 Jan 26, 2022
f898f69
11.전화번호부-애플리케이션 완료
lecto17 Jan 26, 2022
8eaa648
Update 10.제네릭.md
lecto17 Jan 27, 2022
d597636
js slice
lecto17 Feb 4, 2022
4d6641d
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Feb 4, 2022
14ae531
update 10.제네릭
lecto17 Feb 4, 2022
d15c55d
불필요 파일 삭제
lecto17 Feb 4, 2022
5801a9b
json 내용 추가
lecto17 Feb 4, 2022
9503202
csr, ssr 내용 추가
lecto17 Feb 9, 2022
fa9fe1d
cors 내용 추가
lecto17 Feb 9, 2022
f9436d1
useEffect 훅 관련
lecto17 Feb 12, 2022
ce12198
css, sass 차이
lecto17 Feb 15, 2022
d749e82
console.log, console.dir 추가
lecto17 Feb 17, 2022
2c54d6c
vuex 대용 라이브러리 pinia 특징 2개 추가
lecto17 Feb 18, 2022
ddfc425
event deligation 추가
lecto17 Feb 20, 2022
24db1eb
Update notepad.md
lecto17 Feb 20, 2022
f6feb7a
event bubbling, capturing 추가
lecto17 Feb 21, 2022
0c09fdb
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Feb 21, 2022
fd3b3d0
test
lecto17 Feb 23, 2022
194f2e5
불필요 파일 삭제
lecto17 Feb 23, 2022
c058ef3
프로젝트 설정
lecto17 Feb 23, 2022
5f546c0
수업 목차 추가
lecto17 Feb 23, 2022
380e4b0
tsc test
lecto17 Feb 23, 2022
e8f9b4c
Pick & Omit 타입 추가
lecto17 Feb 24, 2022
036f1b3
js entries
lecto17 Mar 3, 2022
0543135
entries 예제 코드 추가
lecto17 Mar 3, 2022
c5a6323
함수형 프로그래밍 내용 추가
lecto17 Mar 21, 2022
80cd7eb
redux 관한 일부 내용 추가
lecto17 Apr 4, 2022
3ae74ec
npm outdated 명령어 추가
lecto17 Apr 4, 2022
e1b7fbe
library 바뀐 내용 확인할 때 팁 추가
lecto17 Apr 4, 2022
0b9c5e8
codemoe 내용 추가
lecto17 Apr 4, 2022
40a68b4
git push 옵션 추가
lecto17 Apr 6, 2022
fdb6e3d
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Apr 6, 2022
1e20723
failed to push some refs to 'https://github.com/~.git' 에러 추가
lecto17 Apr 6, 2022
be3f6cf
encodeURI/encodeURIComponent 차이
lecto17 Apr 9, 2022
de4e2b0
고차함수 내용 추가
lecto17 Apr 12, 2022
3d98f69
useEffect 부수효과 추가
lecto17 Apr 15, 2022
166f46c
useState VS useReducer
lecto17 Apr 16, 2022
12c0a78
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 Apr 16, 2022
6d0ffa4
메세지 브로커 내용 관련 추가
lecto17 Apr 19, 2022
6798bc6
stateless와 statefull
lecto17 Apr 20, 2022
89d5069
메시지 브로커, 이벤트 브로커 차이
lecto17 Apr 20, 2022
2ecf24f
gts, husky 추가
lecto17 Apr 22, 2022
309a53c
Update readme.md
lecto17 Apr 22, 2022
fd62dd7
removeEventListener 관련 실수
lecto17 Apr 22, 2022
96cc109
middleware
lecto17 May 6, 2022
5e09cd1
mq 내용추가
lecto17 May 7, 2022
59f9f66
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 May 7, 2022
3149c4b
initial commit
lecto17 Oct 17, 2022
b29ba47
http method
lecto17 Oct 18, 2022
5c49890
web assembly 소개
lecto17 Nov 7, 2022
a3e09a6
Update WebAssembly.md
lecto17 Nov 7, 2022
aa7052f
CLS 내용 추가
lecto17 Nov 8, 2022
4e778b9
feconf '컴포넌트 다시 생각해보기' 추가
lecto17 Nov 9, 2022
7b91a5b
prop drilling 추가
lecto17 Nov 10, 2022
2aaec8d
Update readme.md
lecto17 Nov 12, 2022
5c20ecf
Update component.md
lecto17 Nov 14, 2022
0a561f2
webpack5 module federation 간략 내용 추가
lecto17 Nov 27, 2022
8dfc003
LNB 관련 내용 추가
lecto17 Nov 28, 2022
1f72dc2
Update readme.md
lecto17 Nov 28, 2022
e5350e8
Update readme.md
lecto17 Nov 29, 2022
e29f193
domain sharding 추가
lecto17 Dec 1, 2022
ceea093
solve merge conflict
lecto17 Dec 1, 2022
b237f64
domain sharding 추가
lecto17 Dec 3, 2022
12f06d0
도메인 샤딩 내용 추가
lecto17 Dec 4, 2022
ff71bfc
작성할 내용 추가
lecto17 Dec 5, 2022
9916e5f
추후 정리할 내용 추가
lecto17 Dec 7, 2022
b536fee
add todo
lecto17 Dec 7, 2022
1f7583a
add nextjs getStaticProps
lecto17 Dec 7, 2022
faa339e
add next document
lecto17 Dec 7, 2022
cd39a17
try-cath 관련 추가
lecto17 Dec 8, 2022
e67ddc6
react-docker 추가
lecto17 Dec 8, 2022
2c05fbb
add new todo
lecto17 Dec 8, 2022
8c3051b
add new todo
lecto17 Dec 9, 2022
e621591
encodeURI, encodeURIComponent 차이 추가
lecto17 Dec 10, 2022
1b32406
solve merge conflict
lecto17 Dec 10, 2022
b99f886
delete encodeURI, encodeURIComponent
lecto17 Dec 10, 2022
27a3c91
peerDepencies 내용 추가
lecto17 Dec 11, 2022
bb2a191
add new todo
lecto17 Dec 12, 2022
646bcaa
add new todo
lecto17 Dec 13, 2022
82b2bf5
add new todo
lecto17 Dec 14, 2022
f96d26b
add new todo
lecto17 Dec 15, 2022
fe6bc69
add new todo
lecto17 Dec 16, 2022
f929cdb
add new todo about github grass
lecto17 Dec 17, 2022
46999e6
generator 일부 추가
lecto17 Dec 18, 2022
6ca10d7
add new todo
lecto17 Dec 19, 2022
6449c4c
add new todo
lecto17 Dec 20, 2022
988d0cd
지디웹 참가 신청
lecto17 Dec 25, 2022
938bc29
scroll 이벤트 거는 종류 추가
lecto17 Dec 28, 2022
e4eedcb
solve merge conflict
lecto17 Dec 28, 2022
c2a1280
rtk
lecto17 Dec 31, 2022
d783466
go study 할 내용 추가
lecto17 Dec 31, 2022
9666dd7
add swr
lecto17 Jan 1, 2023
19a7700
개발자의 글쓰기 관하여
lecto17 Jan 1, 2023
bceb87d
add to read some articles
lecto17 Jan 2, 2023
2081aa4
solve merge conflict
lecto17 Jan 2, 2023
d511637
memory leak of using map(in writing)
lecto17 Jan 3, 2023
5b8f0c6
md 파일 수정
lecto17 Jan 3, 2023
e0da1a4
bucket overflow 관련 의미 모호한 부분 수정
lecto17 Jan 3, 2023
affd7be
memory leak 내용 작성 완료
lecto17 Jan 4, 2023
45cc4d7
문서 indent 깨지는 문제 수정
lecto17 Jan 4, 2023
15a6002
js gc mechanism
lecto17 Jan 6, 2023
966b837
지인들이랑 밥먹으며 들은 내용 관련 글
lecto17 Jan 7, 2023
a3264fb
for-in/for-of 차이
lecto17 Jan 8, 2023
5bb6e88
solve merge conflict
lecto17 Jan 9, 2023
cd5114f
shift 이벤트 감지하는 법 추가
lecto17 Jan 9, 2023
697aee3
react folder 구조 관련 내용 추가
lecto17 Jan 9, 2023
9a095fc
Update readme.md
lecto17 Jan 10, 2023
fc8f0e4
chatgpt's answer about go and nodejs
lecto17 Jan 11, 2023
8c35c6b
add onfocusout event in react
lecto17 Jan 12, 2023
a9b411b
this 관련 내용 추가 중
lecto17 Jan 16, 2023
d4cd45d
add about go's concurrency
lecto17 Jan 17, 2023
63e4306
type 호환 관련 코드 추가
lecto17 Mar 23, 2023
57f9a0f
js의 dynamic typed 관련 내용 추가
lecto17 Mar 23, 2023
0e50829
타입 추론, 캐스팅 내용 추가
lecto17 Mar 23, 2023
513b421
typescript 클래스 내용 추가
lecto17 Mar 24, 2023
a86ee50
class & static 내용 추가
lecto17 Mar 24, 2023
547a0da
interface 특징 추가
lecto17 Mar 27, 2023
c18db32
type alias 추가
lecto17 Mar 28, 2023
4ac6b03
실행 컨텍스트 장 역할 까지 추가
lecto17 May 11, 2023
f42ed9d
읽을 책 도서 추가
lecto17 May 12, 2023
05b316c
Update readme.md
lecto17 May 12, 2023
8327edb
김영한 강사님의 이직 관련 강의를 듣고
lecto17 May 25, 2023
fb79325
01.소개 추가 중
lecto17 May 30, 2023
069ce13
non-nullable 추가
lecto17 Jun 5, 2023
d3de140
.d.ts 내용 추가
lecto17 Jun 5, 2023
bada8e9
.d.ts 내용 보완
lecto17 Jun 5, 2023
2058876
indent 수정
lecto17 Jun 5, 2023
cd35483
git 실수 추가
lecto17 Jun 7, 2023
d05bb53
reac-query 사용 이유
lecto17 Nov 13, 2023
f5670d9
A/B testing 소개 아티클 추가
lecto17 Jan 5, 2024
33a4798
typescript: type과 interface 차이
lecto17 May 31, 2024
0b2bdca
web: crontab 설명
lecto17 May 31, 2024
335d12c
error: Number type은 연산안되는 내용 추가
lecto17 May 31, 2024
7207710
강의 폴더로 이동
lecto17 May 31, 2024
8e8017d
Merge branch 'master' of https://github.com/lecto17/TIL
lecto17 May 31, 2024
b05b3a8
docs: 고객분석 로드 수집 툴 조사
lecto17 Nov 1, 2024
ecfc34e
Update README.md
lecto17 Nov 1, 2024
1ff7a35
Create electron.md
lecto17 Jan 21, 2025
1b825b6
Update electron.md
lecto17 Jan 21, 2025
aff52e7
typescript: Pick VS Omit
lecto17 Jan 23, 2025
8fc91bd
Update turnover.md
lecto17 Mar 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions commerce/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## 고객 활동 로그 분석

커머스 필드에서 고객의 활동을 분석하는 것은 매출로 이어지기에 고객의 행동을 여러 각도에서 분석하는 것은 중요하다.
야래의 내용은 네이버 스마트 스토어와 고도몰(NHN 쇼핑몰 제작 플랫폼)에서 트래킹하여 사용자들에게 제공하는 요소들이다.

- 고객 데이터: 스토어의 고객 현황 (주문 고객 통계, 성별/연령대/고객 등급간 구매 통계, 재구매 통계)
- 마케팅 분석: 유입이 발생한 마케팅 채널 통계, 마케팅 채널 성과, 키워드별 유입 및 결제 성과
- 쇼핑행동 분석: 페이지/상품별 고객의 주요 행동 데이터(유입 고객 수, 체류 시간, url / 상품 상세 조회 수, 상품 ID, 상품명, 결제 상품 수량)
- 실시간 분석: 1시간 단위의 스토어 거래 정보를 실시간으로 제공
- 판매 분석: 배송 통계, 판매 성과, 상품별 결제 데이터

![image](https://github.com/user-attachments/assets/376ef164-8264-4e4e-ace8-8029e63538ef)

### 고객 활동 분석을 돕는 툴로 GA(Google Analytics), GTM(Google Tag Manger)들이 있는데, 이 둘의 차이를 짚어보자.

### GTM

![img](https://github.com/user-attachments/assets/e1e5e2ee-ea1d-4742-bea8-59882d0b0273)

- GTM 스크립트를 삽입한 뒤, GA 혹은 다른 툴로 연결한다.
- 여러 툴(GA, Facebook 등)을 사용할 수 있게 해주는 중간 다리 역할을 한다.
- GA와 같은 여러 툴(도구)들을 관리할 수 있게 해준다.
- GA에 자바스크립트 추적 코드(= 태그라고도 함)를 쉽게 추가하고 규칙을 정의할 수 있다.
- 사용 목적
- 자바스크립트 추적코드 관리 가능(GA는 이 심어진 코드를 바탕으로 분석 보고서를 제공한다.)

### GA

![Google Analytics](https://github.com/user-attachments/assets/fb9aa3bc-bcda-419d-981c-ff2b6124e182)

- GA 스크립트, 로그 수집 코드를 삽입할 수 있다.
- 유입 및 행동 레포트에 따라 목표 전환이 가능하다.
- 태그를 개발자가 삽입해야한다.
- 사용 목적
- 웹 사이트 방문자 수, 방문자의 접속 지역 파악
- 세션 당 페이지 수, 이탈 수 파악
- 가장 인기있는 페이지, 이벤트 파악
- 접속한 기종(android, ios) 파악

### 정리

- GA - 사이트 활동에 대한 보고서를 제공하는 분석 도구
- GTM - 정의된 규칙에 따라 추적 코드를 실행하는 도구
- GTM과 GA는 서로 완전히 대체될 수 없다.
- 사용 목적이 아예 다르며, GTM은 GA 관리를 편하게 해줄 수 있는 툴이다.
- A/B 테스트나, 유의미한 데이터를 뽑기 위해선 GA를 이용해야한다.

Cf) 참고

- https://mingg123.tistory.com/265
- https://theanalytics.kr/8-%EA%B5%AC%EA%B8%80%ED%83%9C%EA%B7%B8%EA%B4%80%EB%A6%AC%EC%9E%90-gtm%EC%99%80-%EA%B5%AC%EA%B8%80%EC%95%A0%EB%84%90%EB%A6%AC%ED%8B%B1%EC%8A%A44-ga4-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%B0%A8%EC%9D%B4/
63 changes: 63 additions & 0 deletions css/css_notepad.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,67 @@
** css 상식
- css와 sass(Syntatically Awesome Style Sheets) 차이

css를 사용해 style을 적용할 경우,

1. 선택자(Selector)를 지정할 때, 불필요한 부모 요소 선택자를 매번 적어야 한다.

2. 프로젝트 규모가 커져감에 따라 중복해서 수정해야 되는 부분이 늘어난다. 가령, 반복적으로 사용된 부모 요소 선택자의 이름이 변경 된 경우.

3. 연산 기능에 한계가 있다.

4. 구문이 존재하지 않는다.

-> 따라서 sass는 css의 태생적 한계를 보완하기 위해 아래와 같은 기능을 제공한다.

1. 변수의 사용

2. 조건문과 반복문

3. import

4. 중첩(nesting)

5. mixin

6. extend / inheritance

- word-break와 word-wrap의 차이

이 정도까지 알아야 싶나 하지만, 혹시나 하는 마음에 어느정도 큰 틀만 알고 다음에 다시 보기 위해 해당 내용 관련해서 캡처한 것을 올린다.

참고 사이트: cf)https://wit.nts-corp.com/2017/07/25/4675

word-break 속성:

![image](https://user-images.githubusercontent.com/53415000/148174541-7ef24ee2-1588-4402-b762-cb344f2eb525.png)


<br/>
word-wrap 속성:

![image](https://user-images.githubusercontent.com/53415000/148174651-87321c04-a87c-4d0f-a82e-52fac866c9c9.png)

미세한 차이가 있는 듯하다.


- overflow-wrap: break-word vs word-break: break-word

![image](https://user-images.githubusercontent.com/53415000/148054710-437d9cfe-88df-4e64-9bdb-00cf77492887.png)

요약해서 정리하자면,

- overflow-wrap: word-break (<=> break-words, tailwind에서 같은 표현)

![image](https://user-images.githubusercontent.com/53415000/148173454-68534762-d8a0-4cd3-b7a5-2e24a9bee215.png)

- word-break: break-all(<=> break-all, tailwind에서 같은 표현)

![image](https://user-images.githubusercontent.com/53415000/148173592-974f5060-aa95-49a8-b6ec-e0a81ecb9609.png)


- word-wrap: word-break



- self-start(<=> align-self: flex-start)

Expand Down
25 changes: 25 additions & 0 deletions feconf/component.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<h1>컴포넌트, 다시 생각하기</h1><br/>
<br/>

<blockquote>
<div>
<span>
<b>질문</b>이 <b>정답</b>보다 중요하다. <br/>
</span>
<span>
<b>관점</b>이 <b>기술</b>보다 중요하다.
</span>
</div>
</blockquote>

* Coponent 설계 시 Principle

1. 비슷한 관심사는 가까운 곳에(co-location)

2. 데이터를 ID 기반으로 정리하기

3. 의존한다면 의존성 그대로 드러내기

4. 모델 기준(리모트 데이터)으로 컴포넌트 분리하기

cf) 보다 자세한 내용은 블로그에 정리해놓았습니다.<br/> https://searching-power.tistory.com
58 changes: 58 additions & 0 deletions functionalProgramming/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
* 함수형 프로그래밍


니콜라스의 영상을 보며 정리한 내용입니다.


- '함수형 프로그래밍'은 코드 작성 '스타일'이다. 함수형 프로그래밍 개념을 어떤 프로그래밍 언어에도 사용가능하다.

- clojure와 scala는 아예 함수형 프로그래밍으로 설계된 언어이고 빌트인 기능이 있어 함수형 코드를 작성하기 쉽다.(cf, Clojure, F#, Elixir, Erlang)

- 함수형 프로그래밍을 배우면, 프로그래밍 문제를 해결할 때 유용한 새로운 관점과 접근 방식을 얻을 수 있다.

- 함수형 방식에서는 버그 자체가 발생하기 어렵다.

<br />
* 왜 함수형프로그래밍이 좋을까?

- 이 이유를 알려면 명령형(imperative) 코드, 선언형(declarative) 코드간의 차이를 살펴야 한다.

- 선언형: 원하는 결과를 표현하기 위해 코드가 작성(ex, '토스트를 만들어줘')

- 명령형: 원하는 결과를 얻기 위해 필쵸한 지침에 따라 코드가 작성(ex, '빵을 가져오고, 토마토를 가져오고, 햄을 가져와서 합쳐라')

- 선언형 코드의 예시

- css는 선언형 언어(원하는 결과만 작성하면 된다.)

- 선언형 코드는 원하는 결과값을 선언하는 것. / 명령형 코드는 결과값에 어떻게 도달하느냐에 관한 것.

- js에는 선언형 코드 형태의 함수를 갖고 있다. filter, replaceAll 등과 같은.

- 텍스트 문자열에서 공백을 제거하고, 다른 문자로 대체하는 작업을 한다고 가정한다고 할 경우,

```
명령형(imperative) 코드에서는 아래와 같이 작업
function spaceToHeart(text) {
let result = "";
for (let i=0; i<text.length; i++) {
if (text === " ") {
result += "♥"
} else {
result += text[i]
}
}
return result;
}

선언형 코드에서는 아래와 같이 작업
text.replaceAll(" ", ♥);
```

- 명령형 코드는 요구사항을 충족하는데 필요한 모든 단계를 하나씩 적는다.

- 명령형 코드가 읽기가 더 쉽고, 함수가 무슨 역할을 하는지 이해하기가 편하다. 그리고 요구사항의 구현이 개발자에게 달려있는데, 이때 개발자가 코드를 원하는 대로 작성하다 보면 버그나 실수가 더 생길 수 있고, 동료들이 이해하는데 어려울 수 있다.

- 모든 선언형 코드는 명령형코드 위에 쓰여진다고 말할 수 있다.

- 선언형 코드를 간혹 싫어하는 경우도 있는데, replaceAll, filter과 같은 함수들의 작동방식을 미리 알아야 하기 때문이다.
13 changes: 13 additions & 0 deletions git/errorList.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
* failed to push some refs to 'https://github.com/~.git' 에러

- 위 오류는 깃헙에서 readme.md 파일을 생성한 후 local에서 pull을 안 한 상태로 작업을 진행했기 때문에 발생한다.

- 해결방법은 아래와 같다.

```
1) git push -u origin master

2) git pull origin master

3) git push -f origin master // 기존의 commit 이력을 강제로 덮어씌운다
```
3 changes: 3 additions & 0 deletions git/pushOption.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* git push시 -u 옵션(git push -u origin master)

- '-u' 옵션은 앞으로 master 라는 현재 브랜치를 자동으로 origin이라는 원격저장소의 master 브랜치로 연결해, 간단히 git push/pull만 입력하여 작업할 수 있도록 해준다.
30 changes: 30 additions & 0 deletions git/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## git clone 시 동일 repo 다른 branch clone 할 때

* https://icerabbit.tistory.com/69

- 위 사이트에서 소개된 내용대로 -b 옵션으로 브랜치에 있는 내용을 가져오되 repo의 이름을 다른 이름으로 재지정해주면 같은 repository의 다른 브랜치의 내용을 local로 가져올 수 있다.

```
eg)

1) git clone git:url~~

2) git clone -b git:url~~ DIR_NAME

```

## git reset --hard 명령어로 파일 날려버린 일..

* 특정 시점으로 파일을 전부 되돌리려고 하여 위 명령어를 실행했다.

- 결과, 특정 시점으로 프로젝트를 돌렸지만, 작업 중이던 파일들도 깨끗이 사라졌다....

- 이러한 참사를 되돌리고자 검색 중, git reflog 명령어로 HEAD 목록을 확인하고 그 목록 중에 원하는 시점의 HEAD 번호로 git reset --hard(지웠던 내용을 다시 지우는 꼴)를 통해 복구할 수 있다고 한다.

- 하지만, 이 방법이 유효하려면 commit이 되어 있어야 한다는 전제가 있다..

- 결국, commit 이 되지 않은 파일이 날아간 상황에서 해당 파일들을 복구할 수 있는 방법이 없었다..

- 그러다 vscode에 자체적으로 지원하는 TIMELINE 기능으로 특정 파일들에 대해 저장된 내역을 확인할 수 있다는 동료의 말을 듣고 날아갔던 파일들을 복구할 수 있었다.

- 함부로 git reset --hard 사용하지 말 것, 커밋을 자주할 것..
Loading