일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- conda 기초 설정
- 오블완
- conda base 기본 설정
- 티스토리챌린지
- 3000 port kill
- window netstat time wait 제거
- conda 가상환경 설정 오류
- conda base 활성화
- 려려
- 실행중인 포트 죽이기
- time wait port kill
- Today
- Total
모도리는 공부중
2022.01. 내 궁금증, 검색한 것들, 공부 일기 본문
공부는 계속 하고 있습니다. 다만 전처럼 블로그가 계속 더럽(?)혀지는 느낌으로 글을 쓰기보단 좀 정리된 상태에서 글을 쓰는 것이 더 낫다는 판단 하에 메모장처럼 써내리는 글은 비공개로 작성하고 이처럼 검색한 것을 정리하는 것은 월별로 정리하여 올리기로 했습니다.
작년(2021) 하반기처럼 글을 난잡하게 쓰지 않는 것이 올해(2022) 목표입니다. 최대한 깔끔히 쓰려고 노력해보겠습니다...
5일
나는 백엔드 개발을 하고자 하는데 요즘 자꾸 인프라에 대한 부분을 요구 받는 느낌이다. 정말.. 혼돈이다.
그래서 좀 알아봐야겠다.
아래 글은 상당히 길다. 시간을 내서 읽어야겠다.
그리고 이건 서칭하다 발견한건데 한 때 나의 고민이었기에 차후 읽어보고자 킵.
6일
1
위 글 내용 중에서 내가 처음 보는 부분이 있다.
가상환경 익스포트하기(배포용 yaml만들기)
conda env export> "가상환경이름.yaml"
익스포트한 가상환경 임포트하기
conda env create -f "가상환경이름.yaml"
이것이 뭔지 알아볼 필요가 있겠다.
2
리눅스에서 vim 명령어를 통해 파일을 수정하다가 잘못 누른게 있어서 ctrl+z를 누르던 와중에 갑자기 파일이 꺼져버렸다. (잘못 누른 것이 무엇이냐면.. 편집 기능을 활성화시키지 않고 무언가를 지운 다음 입력하려고 했더니 어긋난 상황이다.) 그래서 다시 vim 파일명 을 입력하자 뜬 에러 E325: ATTENTION
이 에러가 발생하면 파일을 이전과 같이 정상적으로 수정할 수 없고 파일 오픈과 동시에 이 에러를 무조건 보여준다. 그래서 구글링했더니 역시나 나와 같은 사람이 여기 또 있더라.
위 글에 있는 사진처럼 보일 것이다. 나는 안타깝게도 캡쳐를 남기지 못하여 따로 글을 작성할 수 없으며, 어차피 해결법도 위에 있는 글과 동일하다 ^^
해결이 되면 vim으로 파일 오픈시 두 번 다시 그 에러 화면을 띄우지 않고 정상적으로 진입될 것이다. 해결이 되지 않았단면 유감이다..
이전달에도 검색해서 남긴 링크가 있지만 지금 시점에서 또 남기기. find 명령어 사용법 글이다.
3
python Django를 Node.js로 마이그레이션하기 위해서 Django를 좀.. 공부할 필요를 느낀다. 아래 글을 읽으면서 공부 좀 해야겠다.
anaconda 설치는 했지만 jupyter notebook은 설치하기 싫은데.. 흠.. 일단 시간내서 글 차분히 읽으면서 따라해봐야지.
+)
이건 뭘까...
7일
어제 퇴근 쯤에 궁금해진 모니위키에 대해서 좀 더 찾아보았다.
읽어도 아직까진 무엇인지 감이 안 잡힌다. 나중에 누군가에게 물어봐야지.
프로세스 확인
위 링크도 도움되지만 좀 더 상세한 것은 아래 링크인듯
11일
dev에서 작업 후 test를 위해 dev로 commit했더니 master로 commit하라고 하셔서 merge하려는데 오류 발생
error: Merging is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
그래서 검색했더니 okky 글이 최상단에 표출.
적절히 수정해서 add하는 것이 답이라는 것을 참고해서.. 그렇게 했는데.. 왜 merge하니까 Already up to date.가 나오니? 그래놓고 merge 안된건 뭘까?
-> 너무 오랜만에 하니까 head를 어디에 두고 해야하는지를 내가 헷갈렸다. 이러니 안됐지...
주르륵... git 다시 후다닥 체화시켜야겠다.......
awk가 뭘까
그럼 args는?
음~ 일단 맥락 이해했으니 내일 마저 다 읽고 사용법 정리 끝내도록 하자. 오케이..
12일
1
출근하자마자 사이트를 확인해보니 또 502 BadGateway가 떴다. 그래서 서버에 접속해 확인해보니 back은 켜져있으나 front가 꺼져있는 상태였다. 그래서 실험삼아 ssh 접속에서 back과 front를 각각 실행하고 각각 꺼봤더니 여전히 back은 살아있으나 front는 ssh 접속을 종료하는 순간 바로 process가 내려지는 것을 확인됐다.
ssh 터미널 접속을 끊은 후에도 실행이 유지되도록 검색하면서 얻은 소득은 ;와 &, &&의 역할. 기존에 작성되어있던 sh파일을 보면 & 명령어가 써져있는 것을 볼 수 있는데 이게 뭔지 궁금했었다.
& ?
- 프로세스를 실행할 때, 백그라운드에서 동작하도록 만드는 역할을 한다.
- 실행하고자 하는 명령어 맨 끝에 &를 붙여준다.
- 백그라운드로 동작하기 때문에 터미널이 끊기면 &로 실행하는 프로세스도 같이 종료된다.
두 번째 줄부터의 내용을 읽지 않고 리눅스 터미널에서 돌리기 전에 로컬 쉘에서 먼저 돌려봤다. 이렇게.
cd frontend/npm run serve & cd backend/npm run start
& 명령어가 무엇인지 깨닫게 된 소득은 있는데.. 결국 지금 내게 필요한 소득은 아니었다. 그럼 여태까진 front단 프로세스가 터미널을 종료해도 어떻게 돌아갈 수 있었던거지? sh를 알아야하나?
그렇게 sh를 겁대가리 없이 vim으로 깠다가 외계어..를 맞이하고 바로 뒤로 다시 나왔다.
구글링하면 nohup를 이용하면 된다고 하는데.. 여기저기서 말해대는 nohup에 대해서 알아볼 필요성을 느꼈다. 그래서 검색해보았더니 결국 내가 검색해본 위 글과 유사한 내용을 담고 있었다. 좀 더 자세하다고 내가 느꼈으므로 이것도 여기에 note.
그리고.. 이건↓ 나중에 내가 읽어보기 위해 keep.
1. 리눅스 계정 생성
2. 부팅시 프로그램 동작 스크립트
3. shell script 기초
nohup에 대해 고민중인 것을 식사하러 가는 길에 사수에게 의논했더니 로컬에서 테스트해보라고 하셨다. 하지만 나는 로컬에 리눅스를 안해놨는걸.. 내 공부를 위해서라도 우분투 설치를 고려해봐야겠다는 생각이 든다.
기존에 쉘스크립트로 자동실행시키던 것은 백그라운드에서 돌아가도록 되어있었음을 알리자 사수는 백그라운드에서 돌리게 되면 속도가 안 나기에 포그라운드를 선호한다고 말씀하셨다. 이에 대해 궁금증이 일어서 검색.
2
ubuntu에서도 git 사용은 할 줄 알아야지!
3
★pm2와 nginx 공부하고 오세요★
후다닥 공부하겠습니다.
글을 읽다보면 궁금해지는 포크 모드와 클러스터 모드
번역체라서 알듯 말듯... 기반 지식이 없는 상태의 나는 무슨 말인지 모르겠어서 추가 리딩을 택했다.
그리고 나는 왠지 또 깊이 파고들고 있는 느낌이다.. 😓
13일
search: fs module write folder 생성
17일
PM2
위 글로 pm2 이어서 학습중
SIGINT 신호는 터미널 인터럽트 신호로서 기본 동작이 종료이다. (인터럽트: 방해하다, 중단시키다)
SIGKILL 킬. 신호를 잡거나 무시할 수 없음.
reload 과정에서 서비스 중단이 발생하는 경우
1. 새로 만들어진 프로세스가 실제로는 아직 요청을 받을 준비가 안됐는데 ready 이벤트를 보내는 경우
2. 클라이언트 요청을 처리하는 도중에 프로세스가 죽어버리는 경우
Nginx
- 정적 파일을 처리하는 HTTP 서버로서의 역할
- Event-Driven 구조로 동작하여 고정된 프로세스만 생성하고 비동기 방식으로 요청들을 concurrency(동시성)하게 처리한다. 웹 서버의 역할은 HTML, CSS, JavaScript, 이미지와 같은 정보를 웹 브라우저에 전송하는 역할을 한다. (HTTP 프로토콜을 준수)
- 응용 프로그램 서버에 요청을 보내는 리버스 프록시로서의 역할
- 리버스 프록시: 외부 클라이언트에서 서버로 접근 시(요청, request) 중간에서 내부 서버(응용프로그램 서버, revers server)로 접근할 수 있도록 중개자 역할을 하는 서버(프록시 서버, nginx)를 뜻함.
- nginx(reverse proxy)는 요청을 배분하는 역할을 함으로써 클라이언트가 직접 app 서버에 요청을 넣어 프로세스 한 개가 응답 대기 상태에 걸리게 되지 않도록 한다.
위 글은 좀 심화 내용 같으므로 나중에 읽어봐야 할 듯. [Nginx] Nginx 이해하기 글에서도 기본 환경설정 튜닝하기 파트는 나중에 읽어봐야겠다.
오 이 사람!!! 나처럼 옆길로 새는 사람이다!!!! 냠냠냠 꼭꼭 씹어먹어 소화하도록 하겠습니다. 감사..
그리고 이제 apache tomcat을 조사해야하는데, 일단 오늘은 여기서 끝.
+) PPT 작성중인데 자동 번호 매김이 안되어있길래 답답해서 추가
20일
path.join(__dirname, './${name})을 사용하는 중에 자꾸 catch로 빠지길래 검색
path.dirname : 내가 입력한 경로를 제대로 받아왔는지 확인
path.basename : 파일명을 제대로 가져왔는지 확인
그리고 문제는 역시나 또 오타였다... 😓
21일
path 모듈을 이용해서는 내가 원하는 경로를 찾을 수 없다. 그것이 가장 큰 문제.
지금은 내가 직접 경로를 찾아서 수정해주었지만 다음에는 그렇게 해결하면 안되겠지. 이것에 대해서는 방법을 좀 찾아봐야겠다.
이와 관련하여 찾아본 링크를 첨부해본다. 아직 시도해보지 않았으며, 어쩌면 이것이 현재 내게 필요한 답은 아닐지도 모른다.
24일
지금까진 나 혼자 로컬에서만 작업했지만 더 이상은 그러면 안되고 공유하면서 내 개발 과정을 오픈해야 한다. 그래서 git push가 필요한 상황인데, 지금은 필요 파일이라고 생각해 올릴지라도 나중엔 필요 없어서 지워야할 수도 있다. 이에 대해 먼저 학습을 진행 후 git 공유를 하도록 해야겠다.
그리고.......
입사 초 첫 사수였던 분이 내게 git 사용법을 알려주면서 workspace의 편리함을 알려주셨었는데 익힐 때 이후로 사용을 안했더니 결국엔 지금까지 안 쓰고 있게 되었다.
이렇게는 더 이상 안되겠다는 생각에 다시 공부하고자 검색검색
나는 여태 .vscode 폴더 상에 디버깅을 위한 launch.json만 설정해놓고 사용했다. 이것밖에 모르기도 했고..
근데 오늘 검색을 이어가다보니 프로젝트별로 설정값을 따로 만질 수 있는 기능도 있음을 발견했다.
위 글을 보다보면 내가 업무를 할 때 항상 귀찮게 느끼는 폴더인 node_modules를 보이지 않도록 설정하는 방법을 알 수 있다. 너무 유용하게 느껴져서 여기에 기록하고 내 개인 공부 공간이자 테스트 공간에 만들어봐야겠다.
일단 작업공간인 workspace부터 만들고,
ctrl + shift + p → >setting 입력 → 기본 설정: 설정 열기(UI) 선택
작업 영역 탭에서 exclude 입력 → 패턴 추가 클릭 → node_modules 입력, 확인
하면 놀랍게도 node_modules가 그대로 남아있다.(... 왜죠?)
그래서 혹시나.. 하며 다른 설정들과 동일하게 **/를 앞에 추가했더니, 놀랍게도 곧바로 사라지는 것을 확인했다.
근데 왜 저는 settings.json이 안 생겼을까요? 좀 더 공부가 필요하겠군요! 🥲
.
.
.
네.. 어째선지 여기에 추가되었습니다. 우와...?
26일
이제 협업을 위해 git 연습도 필요할 뿐더러, 팀원의 놑북에 프로젝트 연결을 해주어야 한다. 내가 부족한 git을 후다닥 공부를 해야 이따가 알려줄 때 도움될 것이라는 생각 하에, 마침 회사 작업 영역에 멤버 추가도 안 되어 있으시니 문의에 답이 올 때까지 공부하면서 익혀둬야겠다.
기본적으로 bitbucket은 workspace에 따라 멤버 설정을 달리 할 수 있으며, workspace내 생성한 프로젝트별로 관리자를 달리 둘 수 있다. 나의 경우 github 사용도 필요한 오픈소스를 검색 후 git clone밖에 사용 안해본 상태에서 입사를 했고, github와 같은 bitbucket을 협업툴로 가장 먼저 접하게 되었다. 그리고 이것이 맨 처음에 다 설정된 상태로 받아보았기 때문에 지금 내 동료분처럼 프로젝트가 확인되지 않는 문제는 발생한 적이 없다.. 어서 빨리 해결해주셨으면 좋겠는데 말이지.
내 첫 사수가 내 놑북 환경에 git 설정을 맨 처음 해주었을 때 git remote 기능을 이용했었다. 원격에 있는 프로젝트에 붙어서 로그인하는 법, 원격 branch를 로컬로 가져오는 작업과 pull까지 모두 도와주셨었다. 내 경우는 장고를 만져야했기 때문에 가상환경 자동 진입 및 설정하는 방법까지 도와주셨었는데, 나와 협업할 동료는 front단이므로 아마 해당 부분까지는 만지지 않아도 될 것 같다.
공유할 프로젝트에 관리자 권한은 넘기지 않을 생각이다. 해당 프로젝트는 손대지 않고 분석용으로만 사용할 수 있도록 할 계획이므로. 하지만 이건 알아둬야겠지.
// git remote 저장소 확인
$ git remote -v
// 로컬 저장소 branch 확인
$ git branch -r
// 원격 저장소 branch 확인
$ git branch -a
// 원격 저장소 branch 가져오기
// ex) git checkout -t [원격 branch명]
$ git checkout -t origin/dev
// 원격 branch명을 로컬에 변경해서 가져오기
// ex) git checkout -b [로컬에 생성할 branch명] [원격 branch명]
왜 git은 공부를 해도 어렵지.. 이것도 결국 내가 사용할 툴 중에 하나일 뿐인데..
'내 지식 정리 > 날것 그 자체' 카테고리의 다른 글
2022.03. 내 궁금증, 검색한 것들, 공부 및 개발 일기 (0) | 2022.03.01 |
---|---|
2022.02. 내 궁금증, 검색한 것들, 공부 및 개발 일기 (0) | 2022.02.05 |
2021.12. 검색한 것들. (0) | 2021.12.13 |
[MongoDB] 학습 다이어리 (+json) (0) | 2021.12.02 |
2021.11.30. 오늘 검색한 것들. (0) | 2021.11.30 |