조건문 if
- js 보다 조금 더 어려울 수도 ! : 직관적이지가 않다.
- 조건 비교연산자 : 숫자일 때와, 문자열일 때가 다르다.
windowsd terminal 옵흔
cd ~
cd scripts //어제 만든 폴더
vi practice7.sh // 새 파일 열기
아래 코드 입력 , 저장
sh practice7.sh // -> ls -l의 내용이 쭉 나옴
숫자 비교
연산 6가지 | |
== | -eq |
!= | -ne |
< | -lt |
<= | -le |
> | -gt |
>= | -ge |
-> 요 것들로 연습해보기 => 참 / 거짓
폴더 찾기 조건 걸어보기
vi practice9.sh
-d (directory) ~ (home) /scripts/log 'log'라는 폴더가 있는지 확인
log 폴더를 만들어주기 (현재 scripts에 log 폴더 없음 )
파일 찾기 조건 걸기 (현재 /log/ 에 text.sh 이라는 파일 없음)
vi practice10.sh
아래 코드 작성
질문
exit 0 이 없어도 나오는데 꼭 써야하는건지 ?
cd log
vi test.sh
아래 코드 생성
만들어주기
매개변수
vi practice11.sh
아래 코드 작성
sh practice11.sh => 아무것도 안나옴
* 실행하는 방법 : 매개변수를 입력해보기 (아무거나)
For 문
list
vi practice12.sh
아래 코드 작성
sh practice12.sh //실행
* 띄어쓰기를 기준으로 for 문이 돌아감!
구분값 : 띄어쓰기
파이썬 " : " , JS " { } " 으로 구분하는 구간은 "do", "done"으로 구분함. (do or done 중 하나라도 없으면 오류 )
array => ERROR! => 명령 아래처럼 ! (sh 대신)
zsh practice12.sh
or
bash practice12.sh
집가서 연습할 것 :
https://jhnyang.tistory.com/191
FIND 찾기 - 유용함 ! 어디에 설치했는지 까먹었을 때
find -help 로 아래 읽어보기
find / -name node // 모든 디렉토리에서 (/) 이름이 node 인 것을 찾아라 => 엄청 많이 나옴
* 특정한 것만 (ex. 파일만, 폴더만) 찾고 싶을 때 - 옵션 달기
find / -type f -name node
* 확장자를 찾고 싶다하면 ?
find / -type f -name "*".js // -> 굉장히 많이 나옴,,,
find ~/ -type f -name "*".js // -> home/utan/에서부터 파일을 찾음 -> 조금 덜 나옴
mv
User 만들기
cd /etc/
vi passwd
cd ~
sudo useradd -m utan2
-> 기존 계정의 password 입력
cd /home
ls //방금 만든 utan2 가 생김
password setting
cd ~
sudo passwd utan2
utan2에 대한 password 입력 X 2 (두 번 !)
계정 생성 요약
sudo useradd -m utan2
sudo passwd utan2
계정 생성 확인
vi /etc/passwd /// -> list확인
-> 계정 생성 완료 !
게임 부캐 로그인하면 본캐 로그아웃 먼저 해야하는 것처럼 바꿔주기
su utan2
pwd // > home/utan2 -> 예전 오리지널 linux로 돌아옴 (예전에 theme 세팅한건 utan이었기때문!)
=> 계정별로 환경을 구축할 수 있다!
su utan2
cd /home/utan/scripts
vi node4.txt // -> 아무거나 수정하려고 해봐 ! -> ERROR 수정 불가 Only by utan
sudo vi node4.txt // sudo(최고관리자) 로 열려고 해도
ERROR : utan2 is not the sudoers file. This incident will be reported.
utan2에게 권한을 주지 않아서 생기는 문제라고 함 !
계정 돌아가서 권한을 줘보기 !
su utan
비번 입력
sudo vi /etc/sudoers
아래처럼 코드 수정
su utan2
sudo vi /etc/sudoers
리눅스는 권한에 따라 파일 접근이 되는 곳이 있고 안되는 곳이 있음
최고 관리자는 모든 권한이 있음
시작이 home부터 시작하는 것들은 새로 생성된 계정
요 안에 있는 내가 소속된 것들에 내가 접근 가능 but! 내 소속이 아니면 파일에 접근 불가 - > 접근하려면 위에서처럼 관리자 권한을 주어서 수정 가능하게 만듬
리눅스가 윈도우보다 좋은 장점 :
위와같이 다중 계정 기능이 강력하다 !
🔍 블록체인 첫 수업
JS 로 blockchain coin 개념 알기 / 환경세팅
-> 오늘 들은 설명을 JS 로 구현할 예정(이번주)
express 통해 http 통신에 대한 부분 만들고 / socket 통신으로 만들 것 / 알고리즘 ++
다른 언어로 구축된 실제 코인들 / 블록체인 빌드 -
리눅스를 통해 빌드해서 우리만의 코인 발행
합의 알고리즘
라이트코인
비트코인
+dapp (이더리움 기반) - solidity 언어 기반 - web3.js
vs 옵흔
block.js 파일 생성
개념 정리
// node.js 환경에서 class 문법 사용 예정
// 블록 체인이란 ? 블록이 체인ed된 것 - 연결된 블록들
// 블록 ? 노드 ? => 객체다 ~
암호 : key 값은 hash256과 같은 암호화 한 key.. (예전에 한 JWT 처럼!)
알고리즘 要 : 아래와 같은 블록이 엄~청 많아지면 데이터 찾는데 최적화된, 효율적인 알고리즘을 알아야함
통신 : 탈중앙 (그동안 해온 중앙화 server와 다름)
노드들이 너~ 무 많아지면 한 서버에서 다 가지고 있기 어려우니까 서버마다 노드들을 따로 담음 (=데이터를 잘라 놓음) => 데이터의 무결성 위배 => 때문에 나오게 된 게 어떤 알고리즘! (근데 뭔지를 모르겟네..) 객체(블록) 안에 address 라는게 생김
너클.... !? -> 찾아보긔 ~
최상위 객체는 ↓↓ == 제네시스 블록 (최초의 블록)
{
name:asdf,
id:aaa,
key:null,
},
=> 요러한 객체들을 연결하는게 체인
{
name:zxcv,
id:bbb,
key:aaa,
},
{
name:qwer,
id:ccc,
key:bbb,
}
'블록체인 기반 핀테크 및 응용 SW개발자 양성과정 일기' 카테고리의 다른 글
[116일차 복습] 리눅스/셸Shell script if문, for문, 반복문, break, continue (0) | 2021.09.01 |
---|---|
[117일차] 블록체인 제네시스 블록 만들기 with JavaScript (0) | 2021.09.01 |
[115일차 복습] 리눅스 기초 Ubuntu 입/출력 및 기타 기본 명령어 공부 (0) | 2021.08.30 |
[115일차] 리눅스 ubuntu 입/출력 (0) | 2021.08.30 |
[114일차] Next Redux - 동적라우팅, infinite스크롤이벤트 (0) | 2021.08.27 |