-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathknow2.html
More file actions
529 lines (444 loc) · 21.7 KB
/
Copy pathknow2.html
File metadata and controls
529 lines (444 loc) · 21.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
<html>
<body>
<h2>Know 2</h2>
<pre>
<a href="https://linked0.github.io/web/solidity.html">solidity.html</a><br>
<a href="https://linked0.github.io/web/know-bak.html">know-bak.html</a><br>
<a href="http://bit.ly/2EluV7n">sites.txt</a><br>
<a href="http://goo.gl/B2Drsz">gdrive 기술문서</a><br>
<a href="http://bit.ly/2HKEsmS">colab aplay</a><br>
<a href="https://github.com/linked0/web/blob/master/know.html">web/know github </a><br>
##################################################################################
GoingWeb - Plan/노드운영 ###
##################################################################################
# Miro
• 이툴을 어떻게 활용할지 고민이 필요
# 이더리엄 네트워크 세팅
○ my-devnet 설치 계속 진행: 30
§ 쓰지도 않는데 유지하면 문제가 생길 수 있으니 빨리 시도해봐야 함.
§ EL까지 성공함. 자 그럼 다음 단계는 Blockscout
# 커버가수들에게 코인
- 커버가수들에게 코인을 주는 시스템.
- 미술품은 원작자에게 로열티를 주는게 필요한 대신에 커버가수들에게는 다른게 필요
# 노드 운영 - Timeout 에러
- 2023.02.20 TextNet에 발생함
- TestNet RPC 접속시에 `UND_ERR_CONNECT_TIMEOUT`에러 발생
- RPC를 다른 노드에 붙이고, 문제가 된 노드의 Pool을 날리고 다시 싱크 맞춤
- 트랜잭션을 지웠다는 얘기인데, 다른 노드에서 실행되고 있기 때문.
- 메타마스크를 껐다 키면 정상동작하지 않을까.
- 메인넷에서 문제가 생기면 큰일임.
##################################################################################
업무 경험
##################################################################################
## Graph Node 및 Subgraph 조사 및 설치: 마켓플레이스 API 제공 일정
□ (2/9~14)목/금/화: Graph 구조 파악, 수: 실제 실행 관련 자료 조사, 목/금: 예제 돌려보기
□ (2/20)월: 테스트넷 예제 컨트랙트 테스트
□ (2/21~23)화/수: ERC1155, AssetContract, ERC721, 업그레이드 확인. 매핑 구현, 리파지토리 만들기
□ (2/23)목: 매핑 공유 및 수정/확정,
- 데이터베이스 패스워드 등에 대해서 테스트해야 함.
□ (2/24)금: Subgraph 수정 및 테스트
□ (2/27)월: AWS 적용 시작
□ (2/28)화: 이사
□ (3/1)수: 삼일절
□ (3/2)목: AWS 적용 완료, Load Balancer로 URL 지정시도 실패, 문서화 및 Subgraph 이름 바꾸기
##################################################################################
1.project-management
##################################################################################
# 프로젝트 관리
* 마인드
지식 다음에는 커뮤니케이션과 작업시스템이다.
네이밍도 철저히 가면 좋다. BoaSpace, BoaSpaceStation
* 매일 스탠드업
- 앉은 자리에서 진행할 수 있으면 좋음. 매일 하는게 좋음. 하기싫을때가 있는게 문제
* 커뮤니케이션
하기 싫어도 매일 회의를 하고 다른 사람의 코드를 좀 봐줘야 상황파악을 정확히 하고 계획을 세울 수 있다.
팀원들이 자신만의 일정을 세울 수 있도록 미리 일주일치의 중요 사항을 전달한다.
매일 스탠드업을 할 수 있는 Brian같은 역할이 필요하다.
엠군처럼 한번 열 받았다고 모른척하는 것은 좋지 못한 행동이다.
눈앞의 목표가 확실해야 덜 힘듬
아무도 보지 않은 WBS는 의미 없음. 차라리 간단하게 미로에 정리하는게 나을 수 있음.
미로는 문서 정리가 아니라 커뮤니케이션이다
엠군의 장점은 일단 네트워크에서 돌려보는, 그러니까 일단 실행시켜보는데 중점을 둔다. 네트워크 세팅 같은 것
* 개발과 코드
Therefore I prefer DvdPlayer. It is more helpful as in Eclipse you can do Ctrl+Shift+T and pick classes by the first letter of each word.
개발 시작전에 코딩 컨벤션을 숙지하라 예: graphql
공통코드는 무조건 함수로 그래야 코드가 간결해지고 가독성과 이해 속도가 높아짐.
stackoverflow에 OpenSea 관련 ContextMixin에 대한 질문도 들어옴.
모든 걸 단번에 알수 없으므로 그것에 맞는 시간이 필요함
코드 정리가 한번이면 됨. 이걸 조금씩 쪼개서 진행하면 됨. 절대 바빠지면 안됨.
테스트해보지 않고 검증하려고만 하기때문에 어려움
첫번째 커밋 "Initial code upload"
##################################################################################
##################################################################################
# 예전 백업
관련 정리 문서: https://docs.google.com/document/d/1Y1BlcpGweRD4ZQuD5yGrR7bzMoH87I2OZSFxv_za7N8/edit
웹 개발 절차: bit.ly/2CafxGJ
1. PM
1) 기획
애자일 업무 방식: 개발을 완성하고 제품을 내놓는 게 아니라 개발하는 과정에서 고객들에게 보여주고 끊임없이 피드백을 받아 수정
2) UI 플로우 설계, 기술 분석, 위험 분석
Google 문서로 공유, 메인 작업자가 있고 댓글 기능으로 협업
위험 분석은 상상력이 필요한 부분
필요 문서: UI 시나리오, 기술 설계서
3) 프로토타이핑
기본 앱의 틀이 마련되어 있어야 함. (Android Studio의 갤러리에서 선택)
4) UI Design
하나의 보편 단말을 기준으로 pixel값을 정의 하고, 그것에 맞게 dpi가 정해진 디자인 가이드 문서가 필요하다.
이미지는 HDPI:240dpi, XHDPI:320dpi, XXHDPI:480dpi, XXXHDPI:640dpi중에서 고해상도와 저해상도 하나씩 있으면 될 것으로 보임.
가장 기본이 되는 XXXHDPI를 기준으로 작업하면 안드로이드가 알아서 줄여준다.
저해상도, 중해상도, 고해상도 이미지를 따로 가지는게 좋다.(참고: http://leipiel.tistory.com/7)
5) 일정 산정
WBS 과정 필요
6) UI 디자인 및 조정
7) 개발 - 일반
중요 내용부터 1차로 개발 진행하고 UI 가이드 및 시나리오를 수정하고 다시 개발 진행
내용이 큰 수정에 대해서 브랜치를 따서 작업한다. (브랜치를 따서 개발을 진행하면 이력이 묶이는 효과가 있다.)
기본 라이브러리는 가지고 있어야 함.
나머지 중요한 사항은 코딩 패턴 참고
개발은 반복적으로(iterative): 일차로 커메라가 되고, 포커스 잡고, 셔터음이 들리는 등→ 프리뷰의 사이즈 고민하는 등
8) 개발 - 안드로이드
Android Layout 원칙
각각의 연속되는 뷰는 마진에 대해서 나눠가는게 좋다.
키노트로 대략의 레이아웃을 그리는게 좋다(어떤 좋은 툴이 있을까?)
layout_height는 wrap_content가 최고다. layout_weight는 주는 것이 좋다.
9) 검증
10) 빌드
개발용 PC와 빌드용 PC는 따로 가지고 있는 것이 좋다(신라 m2빌드시)
11) 지속적인 업데이트/문서관리/이슈관리
이슈관리: 깃헙, 레드마인, 만티스
문서관리
지속적으로 업데이트
지속적인 마일스톤 설정
항상 말도 안되는 것이라도 위험요소를 파악해야함.
2. 개발 & 코딩 패턴
Principles of work
항상 토스트로 띄우자.
UnitTest는 매주 중요 - DLND Gradient 구현 경험을 살리자.
안드로이드 앱 개발시에 항상 https://developer.android.com/guide/부터 들러서 확인, 글로벌 SaaS Camera Activity 개발시 알게된 것
그냥 외우는 것보다 이해를 하면 쉬워진다. 그게 어렵다. (Confusion Matrix)
google colab에서 !echo "hello" >> README 쓰면 됨.
모든 public 함수에는 다음의 코멘트를 추가한다.
/**
* 해당 id의 비컨을 Presence map에 추가한다.
* @param id 추가할 비컨의 id(UUID_MAJOR_MINOR)
* @param x 추가할 비컨의 위도
* @param y 추가할 비컨의 경도
* @param rssi_weight 추가할 비컨의 경도
* @return 추가된 비컨의 id
*/
디버깅코드는 라인수까지 나타나도록 한다.
이유: 디버깅시에 해당 함수를 콜한 위치를 알면 시간이 단축된다.
예시: 문과장 코드 확인 필요
중복되는 코드가 없도록 한다.
이유: 중복되는 코드가 있으면 하나가 바뀌면 모두 바뀌어야 한다. 그러나가 하나로 놓치면 오동작 상황이 발생한다.
예시: iOS setAgreement 통신 코드
불필요한 코드는 없도록 한다.
이유: 코드 분석이나 나중에 수정시 혼란을 초래한다.
예시: iOS setAgreement 통신 코드
상속시 코드는 공통코드만 Parent에 놓고 나머지는 Child에 놓는다.
추가적으로 static 함수를 Parent에 놓는다.
절대 데이터 없이 함수만 존재하는 클래스는 만들지 말아야 한다. 만들어야 한다면 Util클래스 정도
이유는 어떤 데이터에 대해서 flow가 이미 클래스로 존재하는데 또 다른 플로우가 존재하면서 코드가 불분명해진다.
공통적으로 나오는 스크링은 static 변수로 만든다.
PMD 돌리면 “Avoid Duplicate Literals” 에러 떨어짐
if 안에, else없이 중복되는 if를 쓰지 마라.
PMD 돌리면 “Collapsible If Statements” 에러 떨어짐
throws Exception와 catch (Exception e) 중에 하나만 써라
PMD 돌리면 “Signature Declare Throws Exception” 에러 떨어짐
instanceof 연산자를 사용할 경우, null 체크할 필요 없음
if (context != null & context instanceof Activity)
PMD에서 Simplify Conditional 에러 떨어짐
interface 선언내의 함수에 public붙이지 마라.
생성자에서 Override 함수를 호출하지 마라.
Overridable method called during object construction PMD 에러 발생
3. 툴의 사용
이슈 트래킹: Redmin
형상관리: Github, 이슈 관리도 가능, Mantis도 필요없음
이슈 공유: Trello, 일정공유가 좋음, slack은 후보
문서/파일 공유: Google Drive
UML/디자인툴: Draw.io
API 문서: ReadTheDocs, Gitbook, Swagger.io
앱 공유: Dothome, Postman
Character/Object Modeling : Blender
4. 업무 주도성
회의시간에 무엇을 논의할 것인가? 어떻게 전달할 것인가? 결과를 어떻게 책임질 것인가? 생각 못하는 부분은 없는가?
중요한 것은 나의 논리의 무결성이 아니라 올바른 방향으로 나아가는 것.
5. 일정 산정 프로세스
- 주차장 시나리오 개발건의 진행을 확인하고 문제점을 확인하여 실수가 반복되지 않도록 한다.
* 진행 상황
- 11/14(화): 주차장 시나리오 확정, POI 이슈가 확인됨(각 기둥마다 POI를 설정할 것인가 등등)
- 11/17(금): 컨텐츠 설정이 안되는 이슈가 있었음, ACTION_CONTENT에 대한 정보를 전달하지 않아서 YT씨가 혼란을 겪음
- 11/20(월): 주차장의 비콘 마이너번호 설정에 대해서 정책이 없었음
-- 동일 콘텐츠가 여러 비콘에 설정되어 있을 경우 동일한 콘텐츠 이벤트가 발생하는 지에 대한 확인이 없었음.
* 문제점
- 기본적인 코드 검토에 대해서 WBS방식으로 접근하지 못했음. 일단 시간을 내야했고, 예상 문제를 분할해서 점검했어야 했음.
- 세부 위험요소를 확인하지 않음으로 해서 일정 산정에 문제가 있었음.(암센터 음성안내 관련 공수 산정도 문제가 있을 수 있음)
##################################################################################
### 2.etc
##################################################################################
##################################################################################
### 4.python
##################################################################################
###### Python 참고 코드
import requests
res = requests.get('https://api.github.com/some/endpoint', headers={'user-agent': 'my-app/0.0.1'})
res = requests.post('http://redmine.pntbiz.com:13000/projects/indoorplus-lbs-sdk/wiki/IOS_Getting_Started', data = {'username':'hjlee','password':'amadeus0'})
conda create -n autobuild python=3.6
conda create -n py3conda python=3.6 anaconda <=이게 anaconda를 관련 패키지를 다 설치해준다.
python3 -c 'import numpy as np; np.save("res", "hello"+"\n")'
python3 -c 'import pyperclip as pc; pc.copy("hello")'
python3 -c 'import tensorflow; print(tensorflow.__version__)'
image show
import matplotlib.image as mpimg
sun = mpimg.imread('images/sunflower.jpg')
plt.imshow(sun)
gray인 경우, plt.imshow(sun_gray, cmap='gray')
cv2로 읽어줘도 됨
img = cv2.imread('images/space_background.jpg')
img = cv2.cvtColor(background_image, cv2.COLOR_BGR2RGB)
Jupyter Notebook Setting
###### 플로팅을 하는 하나의 셀마다 써주는게 좋음. 그래야, 계속 실행시켜도 이전 것이 지워짐.
%matplotlib inline
%config InlineBackend.close_figures=False
%load_ext autoreload
%autoreload 2
%config InlineBackend.figure_format = 'retina'
###### pandas
import pandas as pd
pd.set_option('display.height', 1000)
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 150)
###### numpy
np.set_printoptions(linewidth=1000)
```
Hangul Character
# -*- coding: utf-8 -*-
```
###### 정산 urllib POST
from urllib.request import urlopen, Request
from urllib.parse import urlencode
import json
url = 'http://130.1.3.85:8880/bccard/order/queryOrder'
values = {'svc_id': 'bccard', 'params': {'orderID': '001-2014-09-30-1234567890'}, 'query_ty': 'query', 'cb_id': 'CB1111223'}
params = json.dumps(values).encode('utf8')
headers = {'Content-Type': 'application/json'}
req = Request(url, data=params, headers=headers)
res = urlopen(req)
print(res.read()).decode('utf8')
###### Flask
(py36kaggle) kaggle-web hyunjaelee$ export FLASK_APP=app.py
(py36kaggle) kaggle-web hyunjaelee$ export FLASK_DEBUG=1
(py36kaggle) kaggle-web hyunjaelee$ flask run
###### map 함수
def pretty_print_review_and_label(i):
print(labels[i] + "\t:\t" + reviews[i][:80] + "...")
g = open('reviews.txt','r') # What we know!
reviews = list(map(lambda x:x[:-1],g.readlines()))
g.close()
g = open('labels.txt','r') # What we WANT to know!
labels = list(map(lambda x:x[:-1].upper(),g.readlines()))
g.close()
##################################################################################
5.node.js
##################################################################################
###### http-server
npm install http-server -g
http-server -a 0.0.0.0 -p 8080
# mocha test 설정
"test": "mocha --exit -r ts-node/register tests/**/*.test.ts",
"start": "ts-node src/main.ts",
"tsc": "tsc",
"lint": "tslint --config tslint.json \"{src,tests}/**/*.ts\"",
"lint-fix": "tslint --fix --config tslint.json \"{src,tests}/**/*.ts\""
##################################################################################
6.blockchain
##################################################################################
###### Ganache
ganache-cli --mnemonic 'trick core barely fold sample icon display hollow smoke task emotion pepper'
* 실행
Private Key 필요
90,000 ETH
ganache-cli --account "0x70f1384b24df3d2cdaca7974552ec28f055812ca5e4da7a0ccd0ac0f8a4a9b00,9000000000000000000000"
###### Truffle
npm install truffle -g
mkdir myProject
cd myProject
truffle init
###### Generate Private Key
openssl ecparam -name secp256k1 -genkey -noout
###### Geth
* install Geth (in Mac)
$ brew tap ethereum/ethereum
$ brew install ethereum
or brew upgrade ethereum
다른 OS에 대해서는 https://ethereum.github.io/go-ethereum/downloads/ 에서 다운 받으면 됨.
Sync to the Rinkeby Test Network
$ geth --rinkeby --syncmode "fast"
##################################################################################
7.java/c/go/d
##################################################################################
###### Go
godoc fmt Printf
godoc cmd/fmt
godoc -http=:8001
go build aSourceFile.go
file aSourceFile
go run aSourceFile.go ← Build and Run
go get -v github.com/mactsouk/go/simpleGitHub
Source
package main
import (
"fmt"
_ "os"
)
import (
"fmt"
"github.com/mactsouk/go/simpleGitHub"
)
func main() {
fmt.Println("Hello there!")
}
###### Java
* Run jar with folder name for class(ex.FirstMDP)
user$ java -cp ./target/classes:/Users/user/.m2/repository/edu/brown/cs/burlap/burlap/3.0.0/burlap-3.0.0.jar FirstMDP
* Compile
javac -cp ./algs4/algs4.jar BinarySearchST.java
java -cp .:./algs4/algs4.jar BinarySearchST < tinyST.txt
java -Xmx1024m <- VM의 Heap을 늘려주기
export JCP=".:~/libjava/stdlib.jar:~/libjava/algs4.jar:~/libjava/utils.jar"
javac -cp $JCP DoublingTest.java
* Run
java -jar jython_installer-2.7.0.jar
* Jar Making
jar -cvmf manifest.txt utils.jar ./utils/*.class
jar tvf stdlib.jar <- 구조보기
We first create a text file named Manifest.txt with the following contents:
Main-Class: MyPackage.MyClass
Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.
* JDK Home
~ jay$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
###### C++
// tests.cpp에 main() 함수가 있고, stdlib를 사용하는 경우
user$ ls
bech32.cpp bech32.h segwit_addr.cpp segwit_addr.h tests.cpp
user$ g++ -std=c++11 *.cpp
user$ chmod 755 a.out
user$ ./a.out
##################################################################################
10. Dev.: Agora & Github & 맥 설치 & VS Code
##################################################################################
###### 맥 설치시 필요한
1. ITerm, OhMyZh 설치
2. Whale, VS Code, D Extension: serve-d, code-d
3. VS Code에서 마우스 오른쪽 버튼: “Go to definition” 하면 인덱싱 함.
4. Karabiner 설치: Control+hjkl 엘레멘트 설치
###### git 일반
지워진 폴더에 대한 스테이징
git rm -r app
git config --global user.name "linked0"
git config --global user.email linked@gmail.com
* fork된 리파지토리 새로운 원본 커밋 가져오고, 머지하기
git fetch upstream
git checkout master // Check out your fork's local master branch.
git merge upstream/master
* 모든 프로젝트에 gitignore 적용시키기
git config --global core.excludesfile ~/.gitignore_global
* stash 이용 방법
git stash save "my_stash"
git stash list // This will list down all your stashes.
git stash pop stash@{n} // To apply a stash and remove it from the stash stack, type:
git stash apply stash@{n} // To apply a stash and keep it in the stash stack, type:
* branch 이름 변경
git branch -m old_branch_name new_branch_name
* 파일 하나를 커밋 전으로 리셋 시키기.
git checkout HEAD~1 -- source/agora/test/EnrollmentManager.d
* 팀원 브랜치를 최신버전으로 갱신하기
git reset --hard mathias/restart-node-issue906
* 특정 커밋에 잘못 올린 파일을 제거하기
git rebase -i HEAD~2
git reset --soft HEAD^
git commit으로 커밋을 새로 생성함, 기존 커밋은 이미 없어진 상태
* rebase 과정중에 특정 파일을 unstage 시키기
git reset HEAD~1 source/agora/consensus/PreImage.d // rebase중인 commit이 HEAD가 된다.
* 팀원, Upstream 깃헙 세팅
git remote add drey git@github.com:AndrejMitrovic/agora.git
git remote add upstream git@github.com:bosagora/agora.git
##### Gist
brew install gist
gist --login
gist -d "test dub.json" dub.json
cd ../../
###### .gitconfig
[user]
email = linked0@gmail.com
name = Hyunjae Lee
[core]
excludesfile = /Users/jaylee/.gitignore_global
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
[commit]
template = /Users/jaylee/.stCommitMsg
[alias]
co = checkout
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%\
Creset' --abbrev-commit
pff = "!f() { REMOTE=$(git remote|grep -E '^upstream$'); git pull --ff-only ${REMOTE:-origin} $(git rev-parse --s\
ymbolic-full-name HEAD); }; f"
rb = "!f() { git rebase -i HEAD~$1; }; f"
ru = "remote update -p"
br = branch
ci = commit
unstage = reset HEAD --
st = status
recentb = for-each-ref --sort=-committerdate refs/heads/ --format='%(HEAD) %(align:20)(%(color:green)%(committerdate:relative)%(color:reset))%(end) %(align:30)%(color:yellow)%(refname:short)%(color:reset)%(end) - %(color:red)%(object\
name:short)%(color:reset) - %(contents:subject)'
[push]
default = current
[pager]
diff = delta
log = delta
reflog = delta
show = delta
[delta]
plus-style = "syntax #012800"
minus-style = "syntax #340001"
syntax-theme = Solarized (light)
navigate = true
line-numbers = true
[interactive]
diffFilter = delta --color-only
###### submodule 업데이트방법
- 이거하고 나서 git submodule update --init하면 자꾸 리셋되는 걸 보면 확실히 agora에는 적용 안되었던 듯
cd submodules/localrest
git fetch
git checkout origin/v0.x.x
###### "code ."으로 VS Code 실행시키기
1) Command Palette (Ctrl + Shift + P)를 열고
2) 'shell command'를 입력하여
3) Shell Command: Install 'code' command in PATH command를 클릭한다.
### 1.project-management
### 2.etc
### 3.cloud/docker -> know.html에 있음
### 4.python
### 5.node.js
### 6.blockchain
### 7.java/c/go/d
### 8.vi -> know.html에 있음
### 9.command -> know.html에 있음
### 10. Dev.: Agora & Github & 맥 설치 & VS Code
<a href="http://bit.ly/2EluV7n"> sites.txt </a><br>
<a href="http://bit.ly/2PmH3XE"> know.html</a><br>
<a href="http://bit.ly/2ZY033D"> know2.html = know-sub.html </a><br>
<a href="https://linked0.github.io/web/know-bak.html"> know-bak.html </a><br>
<a href="http://goo.gl/B2Drsz"> gdrive 기술문서 </a><br>
<a href="http://bit.ly/2HKEsmS"> colab aplay </a><br>
<a href="https://github.com/linked0/web/blob/master/know.html"> web/know github </a><br>
</pre>
</body>
</html>