08/22, self study + weird saturday

Ian·2020년 8월 22일
0

Today I Learned

목록 보기
5/40
post-thumbnail

따로 찾아본 것들

에서 arrow function 부분의({}) 에 대해 질문이 있습니다. 이 부분 전체를 () 를 통해 묶어주는 이유가 궁금합니다. 혹시 return () ****과 같은 의미를 가지게 하기 위해서 묶어주는 것인가요? → 헬데에 올리기

  • export defaultexport 의 차이는 무엇일까?

MDN 의 유명 내보내기와 기본 내보내기의 문서를 참고하였다 - MDN export

export default 를 통해서 내보내는 기본 내보내기는 어떤 이름으로든 가져올 수 있다는 장점이 있다.

// test.js
let k; 
export default k = 12;

/* ------------------------------ */

//anotherFile.js
import m from './test';
console.log(m); // 12

default 키워드를 통해서 하나를 지정해 놓았기 때문에 값 하나를 내보내고 자유롭게 사용해야 할 때 유리하다.

반면 그냥 default 를 통해서 내보내는 유명 내보내기 방식은 여러개의 값을 한 번에 내보낼 때 유리하다.

// test.js
export {a, b, c};

let a = 1;
let b = 2;
let c = 3;

/* ------------------------------ */

//anotherFile.js
import {a, b, c} from './test';

console.log(a); // 1
console.log(b); // 2
console.log(c); // 3

대신 값을 딱히 지정한 것이 없으므로, 가져올 때는 내보낸 이름과 동일한 이름을 사용해야한다.


오늘 공부, 오늘 하루를 요약하자면

기존의 공부를 마저 하였다

React 의 12가지 개념을 지금도 보고있다. 오늘은 conditional rendering, event handling, list and key 를 공부하였고 해당 내용들은 어제 작성한 포스팅인 "start intro react + recast.ly" 에 마저 채워넣었다. 분량이 적지만 오늘은 차이를 두고 공부했다.

그러나 어제와는 다른 공부를 했다

어제의 공부와 오늘의 공부의 차이는, 직접 손으로 "따라해봤다" 라는 것. 어제는 정말 쪽지시험이라도 대비하는 것처럼 React 의 공식 문서를 읽고, notion 에 정리하기만 했다. 그러나 뭔가 머리에 남는 것이 없었다. 그리고 공부도 되게 더뎠고, 그렇게 몰입이 되지 않았다. 그 이유를 생각해보면 내가 배운 것으로 무언가를 만든다는 느낌이 없었기 때문일듯 하다. 심지어 어제 원래대로라면 했어야 했을 recast.ly 스프린트도 하지 못했다. 왜냐면, 공식문서를 아직 다 읽지 못했기 때문이다. 그래서 오전에 페어분에게 말씀을 드리고 오전동안 공부하고, 그래도 끝나지 않아서 오후도 마저 공부하다가, 그 날은 하루종일 React 의 문서만 보고 공부를 마무리했다.

그러다가 Office Hour 때, 머리를 빡 때리는 이야기를 들었다.

공식문서 그거 읽고 정리만 하는게 아니라 따라서 해보기도 해야하는 거에요

정말 나는 이 당연한 걸 왜 하지 않았을까 하는 후회가 들었다. 결국에 내가 머리속으로 구현한걸 손으로 나타낼 수 있어야 하는거고, 프로그래밍 언어도, 그 언어의 부산물인 프레임워크도 어떻게 보면 언어인데, 언어에 익숙해지기 위해선 많이 해보야 하는건 당연한건데, 그걸 정말 하나도 생각 안 하고 그저~ 공식문서를 읽고 정리만 하고 있었다. 정말 저 말을 듣고 머리를 빡 하고 맞은 느낌이었다.

그래서 오늘은 create-react-app 을 이용해서 보일러플레이트를 깔고, 내 git 과 연동시킨 다음, 주요 개념마다 branch 를 바꿔가며 코드를 따라해보고 구동해보고 이런저런 실험들도 하면서 공부를 했었다. branch 사용을 거의 하지 않았었는데, 이번 김에 그나마 조금 사용해 볼 수 있어서 다행이란 생각도 들고 확실히 코드를 따라치고 내가 만든 결과물이 화면에 뜨니까 성취감이 느껴져서 공부하는 맛도 확실히 났다.

그럼에도 불구하고 공부량이 너무 적다

이건 부정할 수 없는 사실이다. 오늘은 뭔가 딴 짓을 하는데 시간을 너무 많이 할애했다. 스스로에 대한 변명이라도 할 겸 오늘 뭘 했는지 자랑이나 해보자.

notion의 inline codeblock error

나는 주로 notion 을 사용해 공부내용을 정리하는 편이다. 그리고 inline codeblock 을 사용할 때 backqoute 를 통해 사용하는 편이었다. 그런데 그게 오늘 갑자기 이상해졌다. 원래대로라면 inline codeblock 과 같이 나와야 할 것이, inline codeblock 으로 나오면서 code block 이 생성이 되어도 backqoute 가 사라지지 않는것이다. 정말 별 거 아닌 부분인데 갑자기 그것에 포커스가 꽂혀서 그 문제를 해결하기 위해 내가 해 볼 수 있는 걸 다 해봤다. 페이스북 notion.so 코리아 홈페이지에 오류제보, 22기 슬랙 채널에 오류제보, 구글링, 데이터 초기화 및 로그아웃, notion 재설치, 그리고 컴퓨터 재부팅까지. 그러나 문제는 아주 잠깐 일시적으로 해결되었고 해결이 도저히 되지 않았다.

그래서 결국엔 GIF로 해당 에러를 캡처하고 에러 내용을 기술하고, 이전까지 잘 되던 상황과 지금 갑자기 안 되는 상황에서 변경된 사항은 무엇인지 점검하여 기술하였고, 사용중인 notion 의 버전, 운영체제의 버전을 간결하게 요약해 notion 팀에게 메일을 보내는 것으로 마무리했다.

다행히도 나름의 대안을 찾았는데, notion 에 inline codeblock 을 만드는 shortcut 이 있었다는 사실을 발견했다. macOS 기준으로 cmd + e 를 누르면 인라인 코드블락이 생성되기 시작하고, 다시 해당 shortcut 을 실행하면 인라인 코드블럭이 거기서 끝나게 된다. 아마 당분간은 이걸 이용할 듯 하다.

제대로 확인하지 못 한 도서관 공지가 불러온 나비효과

에어컨은 너무 틀고싶은데 전기료가 걱정되어 마음껏 틀을 수 없었고, 또 주말이면 평일을 열심히 보낸 나를 제외한 가족들이 쉬어야 하기 때문에 나는 매 주말마다 웬만해서는 공부를 하기위해 학교 도서관을 갔었다. 오늘도 마찬가지였다.

출발하기 전에 혹시 무슨 일이 있나 홈페이지에 들어가보니 공지가 하나 올라온 걸 확인했는데 이런 공지가 올라와 있었다.

교내 통신 회선 증설 및 라우터 교체로 인하여 아래와 같이 일부 서비스의 중단 및 제한이 있을 예정입니다. 인터넷 통신 환경 및 네트워크 인프라 성능 개선을 위한 중단이오니 이용에 불편이 있으시더라도 양해 부탁드립니다.

1. 서비스 중단일시 : 2020년 8월 22일(토) 09:00 ~ 21:00(12시간)
2. 서비스 중단내용
가. 교외에서의 도서관 홈페이지 접속 및 이를 통한 전자자원 교외접속이 불가하며, 모바일ID 앱 실행이 불가합니다.
나. 교내에서도 교내 네트워크 중단으로 인해 전자자원 접속이 불가합니다.

나는 이 "전자자원" 이라는 단어를 임의로 "학교의 DB로 구축한 웹 서비스", 즉 학교의 홈페이지 및 웹메일 등을 이야기한다고 멋대로 생각했다. 그리고 그랬으면 안 됐다. 비가 온다는 예보를 듣고 우산을 챙겨 학교에 도착해 코딩을 하려고 노트북을 세팅하고 펴는 그 순간...

인터넷 연결이 없다고 나왔다.

진짜 이 때 별별 생각이 다 들었다. 공지를 임의대로 읽어서 생긴 이런 상황을 저지른 내 스스로가 너무 원망스러웠고(땀 뻘뻘 흘리면서 한시간이나 대중교통을 타고 걸어서 학교에 도착했는데 너무 허탈했다) 그냥 오늘은 놀아버릴까 생각을 하기도 했고 하여튼간에 별별 생각을 다 했다. 그렇지만, 그냥 이내 멘탈을 다잡고 해야 하는 공부들이 산더미만큼 있는 걸 확인한 뒤엔 내가 할 수 있는 가장 좋은 선택을 하자고 결심했다. 그냥, 그 근처의 카페에 갔다.

그래서 그렇게 결심을 하고 도서관 밖을 나가는 순간 하늘이 찢어지는 소리가 나면서 비가 쏟아졌다. 진짜 그때는 다 때려치고 학교 온 김에 친구들이랑 놀아버릴까 생각도 했겠지만 "우산을 챙겨왔으니 그래도 좀 덜 서러워서 다행이다" 생각을 하고 카페에 가서 마저 공부를 하다가... 그렇게 공부를 하다가 집에 왔다.

그래서 오늘 느낀 점은

문제점이 생기면 여러가지 방법으로 최대한 해결해보려고 노력해보자

그러면 반이라도 가는 거 같기 때문이다. 이건 notion 의 backqoute error 에서 배웠다. 내가 만약 해결책을 찾으려 하지 않았다면 inline codeblock 과 같이 코드블럭을 만들고 backquote 를 하나하나 다 지워갔을 것이다. 그러나 그나마 트러블슈팅을 위해 찾아봤던 덕분에 cmd + e 라는 shortcut 도 알게 되었고 notion 팀에게 해당 사항을 제보하여 혹시라도 생기는 제 2의 나같은 경우가 생길 확률을 줄여 서비스를 사용하는 다른 사람들이 짜증이 덜 날 상황을 만들었다는 뿌듯한 느낌도 들었다.

항상 생길 변수에 대응하고 낯선 충격에 익숙해져라

나는 오늘 내가 도서관 문서를 잘못 읽을 줄 몰랐다. 스스로의 무지를 모른 것이다. 그래서 예상치 못한 실수를 했고 그래서 잠시 혼돈이 왔다. 하지만 만약 내가 세상 일이 계획대로는 흘러가지 않는다고 꾸준히 생각하고 바로바로 대처를 할 수 있는 그런 멘탈을 단련해왔더라면 그렇게 패닉이 오고, 놀고싶어지는 충동을 "억눌러" 마저 공부를 하지는 않았을 것이다. 나중에 현업 개발자가 되어도 (나에겐)처음보는 에러들, (나에겐)처음보는 지식들을 배울것인데, 거기서 스트레스를 받지 않을 능력을 미리 연습해야겠다는 생각을 했고 그를 기르기 위한 구체적인 계획을 짰다.

문제가 생겨도 그 문제를 훌훌 털어낼 수 있는 힘을 "회복탄력성" 이라고 하는데, 관련 책을 이전에 읽었던 기억을 되짚어 하루 30분 이상 땀 흘리며 운동 + 하루 감사한 일을 다섯가지 쓰기 를 밀리지 않고 하루하루 꾸준히 실천해야겠다는 생각을 했다. 뭐 사실 운동은 이미 하고있었고, 일기에 다섯가지 감사한 일을 적는 것도 하고 있었으니 계획을 짰다기보다는 마음을 다시 먹었다는 표현이 맞겠지만, 여튼 그렇다.

내 임의대로 해석하지 말아라

이건 내가 오늘 도서관 문서를 잘못 읽었던 걸로부터 배웠다. 내가 만약 저 애매했던 부분을 도서관 당직실이나 도서관 근로장학생들에게 물어라도 봤으면 이런 일이 생겼을까? 아니다. 상대방과의 대화도 그렇다. 나는 상대방의 행동을 이렇게 해석했는데, 상대방은 다른 의도로 표현한 것이라면 나는 내 잘못된 이해를 바로잡아야 한다. 그래야 의사소통을 원활하게 할 수 있을 것이고, 협업을 위해 하는 의사소통이라면 둘의 장애물을 서로 치워내고 같이 일을 하게 되는 상황일테니 능률이 확실히 오를 것이다.

여튼, 그렇다. 오늘의 공부일지 끝.


별책부록 - notion 팀에 오늘 보낸 메일

bug report

hello, notion teams. at first, thanks for making such this fancy product.

i send message because of a problem. before today, i use inline code block with key, but from now, the backquotes are not disappeared, 'like this'.
only changed thing is the account subscribe option. yesterday i changed personal option to personal-pro option(education). and changed mail to gmail to education mail of my university. that's the only thing i changed.

now i making inline code block with cmd + e and it works good as the alternative of using backquotes, but i still want to use making code blocks with backquotes also. could you fix this error and tell me what is wrong with me for trouble shooting by myself?

my environment
notion ver 2.0.8, macOS 10.15.6, personal-pro subscribe option(education)

trouble captured with GIF : https://imgur.com/ze0PTKd

From Inseob Jeon, South Korea

profile
правда и красота, truth and beauty

0개의 댓글