Q. 가상돔(Virtual DOM)이란?

가상 DOM은 실제 DOM에서 처리하는 방식이 아닌 Virtual DOM과 메모리에서 미리 처리하고 저장한 후 실제 DOM과 동기화하는 프로그래밍 개념이다. 해당 DOM을 컴포넌트 단위로 쪼개어 HTML 컴포넌트 조립품 처럼 다루는 개념이다.

 

가상돔을 사용하면 실제돔에 접근하여 조작하는 대신, 이를 추상화한 자바스크립트 객체를 구성하여 사용한다.

(실제 DOM의 사본)

DOM의 상태를 메모리에 저장하고, 변경 전과 변경 후의 상태를 비교한 뒤 최소한의 내용만 반영 -> 성능 향상

가상 DOM은 DOM의 상태를 메모리 위에 계속 올려두고, DOM에 변경이 있을 경우 해당 변경을 반영함.

 

리액트가 가상DOM을 반영하는 절차

 1) 데이터가 업데이트 되면, 전체 UI를 가상DOM에 리렌더링함.

 2) 이전 가상DOM에 있던 내용과 현재의 내용을 비교함 (가상DOM끼리 비교)

 3) 바뀐 부분만 실제 DOM에 적용이 됨 (컴포넌트가 업데이트 될 떄, 레이아웃 계산이 한번만 이루어짐)

결론

DOM 사용시 작은 규모의 레이아웃이 여러번 발생 -> 가상 DOM 사용으로 큰 규모의 레이아웃이 한 번 발생

리액트는 위와 같은 얕은 비교와 일괄 돔 업데이트 방식을 이용해 성능향상을 꽤한 것 

하지만 개발자의 코드 수준에 따라 가상DOM이 더 낮은 성능을 발휘 할 수도 있다~

 

 

DOM 도 좀 보고가자

DOM에 대해서 알아보자. DOM(Document Object Model)은 웹 페이지를 이루는 태그들을 자바스크립트가 이용할 수 있게 브라우저가 트리구조로 만든 문서 객체 모델을 의미함.

여기서 문서 객체란 html, head(title, meta 등), body(h1, p, ul 등)과 같은 태그처럼 JS가 이용할 수 있는 객체를 의미함.

그니까 DOM은 브라우저가 HTML 과 스크립팅 언어인 JS를 서로 이어주기 위해 사용한다고 보면된다.

JS는 Document 라는 전역 객체를 통해 html 에 접근해 태그들을 조종한다.

(ex. document.getElementById() document.getElementByClass() 등)

 

=>가상 DOM이 나온 이유

실제 예시를 통해 DOM의 문제점을 보자,

document.getElementById('title').innerValue = 'updated value' ;

이 코드가 실행되면 크게 5가지 과정이 일어난다.

 

 1) 브라우저는 HTML을 구문 분석해 title ID를 가진 노드를 찾는다

 2) 이 요소의 자식 요소를 제거한다

 3) 'updated value' 로 요소(DOM)를 업데이트 한다.

 4) 부모 및 자식 노드에 대한 CSS를 다시 계산한다.

 5) 마지막으로 브라우저 디스플레이에 페인팅된다.

 

실제 변경 데이터 뿐 아니라 더 많은 작업이 일어나고 CSS를 다시 계산하고 레이아웃을 변경할때 복잡한 알고리즘이 필요하고 이는 성능에 영향을 미치게된다.

 

이처럼 화면의 변경사항을 DOM을 직접 조작해 브라우저에 반영하면 DOM 트리가 수정될 때마다 렌더 트리가 계속 실시간으로 갱신된다. 화면에 10개의 수정사항이 발생하면 수정할 때 마다 새로운 랜더 트리가 10번 수정되면서 새롭게 만들어지는 비효율이 일어남.

 


Q. React의 함수형 컴포넌트란?

React의 컴포넌트는 크게 class형 과 함수형으로 나뉘는데 간단하게 정의하면,

 

함수형 컴포넌트

 - function 으로 정의하고 return 문에 jsx 코드를 반환

function 함수형컴포넌트(props){
	return(
    	<div>
          `함수형 컴포넌트 와꾸
           당연히 화살표로 해도됨 
           => const 함수형컴포넌트 = (props) => {
				return(
                	<div>이거랑 동일</div>
               )}` 
        </div>
    )
}

 

클래스형 컴포넌트

 - class로 정의하고 render() 함수에서 jsx 코드를 반환

 class 클래스컴포넌트 extends React.Component {

  render(){

    return (

    <div>클래스형 컴포넌트 와꾸</div>
  )
}}

 

react hooks등장 전에는 클래스형 컴포넌트에서'만' state(상태)를 사용할 수 있고 각종 라이프사이클 및 메서드를 이용하여 컴포넌트가 마운트 언마운트 될 때 추가 작업을 하게 조작 할 수 있었고 함수형 컴포넌트는 간단한 componenet 밖에 못 만들었음. 

 

*아래는 hooks에 관한 공식 문서 설명 중 일부

더보기

Hook은 함수 컴포넌트에서 React state와 생명주기 기능(lifecycle features)을 “연동(hook into)“할 수 있게 해주는 함수입니다. Hook은 class 안에서는 동작하지 않습니다. 대신 class 없이 React를 사용할 수 있게 해주는 것입니다. (하지만 이미 짜놓은 컴포넌트를 모조리 재작성하는 것은 권장하지 않습니다. 대신 새로 작성하는 컴포넌트부터는 Hook을 이용하시면 됩니다.)

현재는 React 측에서도 함수형을 권장하고 있지만 class형 또한 계속 지원하니 기존의 것을 수정 할 필요는 없다

또한, 커뮤니티가 매~우 큰 React 생태계에서 기존의 class형 컴포넌트가 유지보수 되고 있고 docs 또한 아직class형이 많다.  나같은 react 병아리는 함수형을 배우되 class형은 개념정도만 알아두면 될듯~ 뭐 회사에서 쓰면 추가로 배워야지모..

 

 

요 며칠 집 근처에 스터디카페를 다니고 있는데 썩 분위기가 좋아서 한달 결재를했다. 독서실도 카페도 나름대로 여기저기 많이 다녀서 별 기대 안했는데 생각보다 좋아서 잘 공부하는중.

며칠 앉아서 계속 미뤄뒀던 마지막 프로젝트 리뉴얼도 하고 (아니~ 같이 작업한 프론트 분이 여기저기 레거시 코드 작성해서 유지보수 하느라 고생좀 함.. 잘 하시는 분이었는데 마지막에 힘이 좀 빠지셨었나봄ㅠ) 면접준비(?) 핑계로 이것저것 강의듣고 공부하고 있음. 트러블 슈팅도 다시 작성해야되는데 카페에서 노트북으로만 하려니 진도가 안나가서 그냥저냥 공부만 하고있다~

특새도 꼬박꼬박 가서 벌써 내일이 마지막이고 운동도 다시 잘 하고있어서 썩어가던 몸이 금방 회복했다 아~주 긍정적! 하 근데, 이력서 좀 수정하고 슬슬 제출해야 되는데 하기 댕싫네^ㅗ^  

[Q. 변수 생성 3단계]

 

선언 / 초기화 / 할당 이있다.

 

1) 선언

 - 변수를 말 그대로 선언만 해서 변수 객체에 등록함

2) 초기화

 - 변수 객체에 대한 메모리를 할당하고, 변수는 undefined로 초기화

3) 할당

 - 초기화된 변수에 값을 할당

 

var / let / const 로 차이를 알아보자!

console.log(name);   // undefined

var name = "jack957";

 =>  error가 아닌 undefined 출력, var는 변수 선언 시 선언과 초기화가 동시에 일어나기 때문

 

아래와 동일함

var name;

console.log(name);

name = "jack957";

 

console.log(name);  // ReferenceError: name is not defined

let name = "jack957";

 =>  let은 error 발생, let도 호이스팅 되었지만 let은 선언과 초기화가 따로 일어남.

       초기화 이전에 변수에 접근하니까 ReferenceError가 발생한 것 

 

const name = "jack957"; // 선언과 초기화가 동시에 일어나서 정상작동

const name;                    //  Uncaught SyntaxError: Missing initializer in const declaration (선언만 했기 때문에 에러 발생!)

 => const 는 값이 정해지면 변경이 불가능하기 때문에, 선언할 경우 선언과 초기화를 같이 해줘야됨!

 

 

[Q. 호이스팅 이란]

자바스크립트는 실행될 때 ES6의 let, const를 포함한 모든 선언(var, let, const, function, class)를 호이스팅함.

호이스팅이란 유효범위 맨 위로 끌어올리는 것임. 실제로 끌어올리는 건 아니고 내부적으로 처리되고 메모리는 변화x

 

(함수 호이스팅)

함수선언문으로 정의된 함수는 실행되는 시점에 함수선언, 초기화, 할당이 한번에 이루어짐.

때문에 해당 함수는 유효범위 내의 어느곳에서도 호출이 가능.

 

but, 함수표현식으로 정의된 함수는 함수 호이스팅이 아닌 변수 호이스팅이 발생하기 때문에 유효범위 내에 있더라도 

함수 호이스팅이 발생x 함수표현식으로 작성할 때는 사용할 곳보다 위에서 작성해야됨.

 

평소에 함수선언문, 함수표현식, 호이스팅 여부와 관계없이 선언은 맨 위에서 작성하도록하자~

 

 

오늘부터 새벽 특새가있었다.

5시에 일어나야 늦지않게 갈 수 있는데, 2주넘게 새벽2시에 자다보니 자는것도 쉽지가 않았다...

그래도 교회 간다니까 번-쩍 깨워주셔서 일어나는건 어렵지 않았고 주섬주섬 준비해서 따릉이타고 교회로 향했다.

그런데 왠걸 안늦고 잘 갔는데 성전은 이미 꽉꽉 차있어 맨 뒤에 간이 의자에 앉아서 예배를 드렸고 2층도 3층도 만석이었다(세상에..) 사실 5시에 와서 인터치 청년 특송도 같이 했어야됐는데 좀 타협해서 새벽기도만 드리기로했었다.

특송 시간이되자 청년들이 앞에 섰는데, 5시에 온 청년들이 너무너무너무 많아서 찬송 부르기 전부터 그들의 모습에서 큰 은혜를 받았다. 그렇게 느낀건 나뿐만이 아니었으리라. 최상훈 목사님 설교는 말할 필요도 없이 최고였다.

 

새벽 기도가 끝나고 걸어서 집으로 향했는데 문득 '새벽기도엔 2시간30분 정도가 드려지는 시간이구나 하루에 가장 처음을 십일조로 드리는 거구나' 깨달음이 들었다. 처음도 아닌 새벽기도에 이런 생각이 든 것 또한 은혜었으리라.

 

뭐 그러고 집가서 아침먹고 1시간 자긴했다.. 갑자기 아침형 인간이 되기엔 평소랑 괴리가 컸다.. 이렇게 4일 특새 끝나고 나면 나아지겠지! 

10/30 TIL 너무 싱숭생숭한 하루였다.

어제 간만에 친구들만나 잘 놀고와서 12시쯤인가 씻고 누웠는데 카톡방이 시끄러웠다. 보니까 뭐 이태원이 어쩌고 저쩌고 하길래 구글 보니까 '50명이상 심정지... ' 같은 기사가  몇개나 헤드라인을 장식해있었다. 이 정도면 유투브에 영상 제보 있을거 같아서 들어가봤는데 역시 '현재 이태원 상황...'등의 각종 영상제보가 올라와있었다. 영상으로 보니 눈을 의심할 정도로 처참한 상황이 벌어져있었다. CPR 하려고 길거리에 대충 뉘어져있는 수십명의 심정지한 사람들 한명이라도 살리려고 심폐소생중인 사람들 좁은 골목에 너무 많은 인파가 모여 도미노처럼 쌓여있는 사람들 그와중에 할로윈데이라 기괴하게 분장한 모습들 그와 대비되는 이태원의 길거리 곳곳에서 나오는 팝 음악까지 '여기가 진짜 한국인가?' 란 생각이 스쳤고 너무 충격적이라 새벽이 늦도록 잠을 못이루고 계속 관련 영상과 기사를 찾아본 것 같다.   

 

다음날 아침 다시 본 영상과 뉴스에서 나오는 영상들에는 모자이크가 처리됐는데 밤 사이에 봤던 영상들은 적말이지 적나라해 하루종일 해당 사고가 머리속에서 떠나질 않았다. 교회 가서도 반갑게 인사하는 형제 자매님들이 영상에서 봄 참극과 너무 대비돼서 괴리감이 들었고 찬양부를때도 비슷한 감각에 휩싸여있었다. 뭔가 스트레스 였는지 하루종일 컨디션이 안 좋아 바로 집에가 잠을 청했고 저녁도 먹는둥 마는둥 시리얼 조금 먹고 카페와서 글을 쓴다.

 

아, 아침에 전에 만나던 친구한테 연락을 했었다. 헤어진지 1달정도 됐는데 이태원 가끔 가는 친구라 걱정 반 안부 반으로 연락했는데 카페에 온 지금에서까지 연락이 없어서 내일까지 연락 안되면 한번 집에 가볼 생각이 들정도로 걱정이 커졌었다 (그래도 잘 헤어지기도 했고 연락 안받을 친구는 아니었다). 그러다가 카페에 좀 있으니까 전화와서 30분정도 통화하고 이따 잠깐 보기로했다. 원래 몸이 안좋은 친구여서 사귈때도 걱정 엄청 시키더니 헤어져서 까지 걱정 시키는애는 얘가 처음이다 허허..

 

 

Q. 진행했던 프로젝트에서 어려웠던 부분을 해결한 경험을 설명해주세요

뭐 이것저것 새로운거 도입해서 한 프로젝트라 어려운거 하나 꼽기는 힘든데, 그래도 하나 정하자면 SSE!

SSE는 애초에 자료도 많이 없고 처음에 찾았던 자료들에서 프론트에서 연결만하면 되는 부분이에요~ 에 속아서 가볍게 생각했다가 끝없이 나오는 트러블슈팅에 거의 1주일 갈렸던거같음.

 

적당한 자료가 없어서 결국 전 기수 프로젝트 SSE 관련 코드를 많이 참고했는데 이게 또 우리는 안쓰는 React-Query 스택을 사용해서 어떻게 적용했는지 알아보려고 쿼리까지 거의 하루정도 공부해서 코드 복기했던게 골치가 아팠다

쿼리를 미리 공부좀 해놨으면 모를까 전혀 모르는 상태에서 프로젝트 막바지에 적용 하려고 공부하려니 골머리 아팠음..

 

그리고 요게 백엔드랑 연결하고 메세지 날려보면서 작업을 해야되는데 같이 맡았던 백엔드분이 집안사정으로 프로젝트 막바지에 5일정도 증발하셔서.. 프론트단에서 트러블슈팅부터 안되면 적용할 코드까지 2~3개정도 준비해놓고 백엔드분 올때까지 기다렸는데 지금 생각해도 멘탈 잘 잡고 뒷심 발휘한거 참 기특함.

 

그래서 SSE 하면서 배운건 코드 적인 것도 코든데 백엔드랑 협업할 때 커뮤니케이션이 얼마나 중요한지와 프로젝트에 사용할 스택을 고민하는 방법을 많이 배웠다. 사실 우리는 웹소켓을 사용해서 SSE를 사용할 필요가 없었고 나도 바빠서 백엔드분이 알람에 SSE 사용하자는 말이 그냥 필요한가 보다~ 적용했는데 더블 체크 했으면 며칠은 시간낭비 안했을거다.

뭐 배운것도 많으니 낭비는 아니지만.

 

쓰고보니까 면접질문+1 이아니고 TIL 처럼 됐는데 해당 내용은 깃에 현재진행형으로 더 정리중이라 후에 내용 첨부해야겠당 

 

항해99가 진짜 끝났당

 

스프린터스도 끝나고 항해8기 칭구들이란 쫑파티까지 하고오니까 조~금 끝난 실감이 들었다

새벽에도 게더 들어가면 몇명씩 모여서 공부하고 있고 항해도 '이거하세요 저거하세요~' 채찍질 하던게 엊그제라 실전 프로젝트 끝나고도 뭔가 계속 항해99 메타버스 안에 있는 느낌이 들었는데 이젠 진짜 니인살해~ 하니까 약간 섭섭한 거 같음

 

한 2주 잘 쉬었으니 바짝 취업준비해서 일해야징

생각해보면 나도 안 쉬고 잘 달려온거 같아 대견하다, 올해 2월까지 회사다니다가(3년동안 야근 오지게했음ㅎㅎ) 3개월 사전공부하고 항해 참가해서 여태 달려왔으니 뭔가 실전 프로젝트 끝나고 탁- 하고 전원이 꺼진거 같았다.

뭐 다들 그렇게 살아용~ 하면서 별거 아니라고 생각할 수도 있지만 그래도 나한테 칭찬 해주고 싶다 :) 

 

항해에서도 나처럼 다른직종 일하다가 -> 항해로 개발자 코스 밟은 사람들 꽤 있었는데 다들 잘됐으면 좋겠다 다들 열심히하자구~ 🙂

 

 

RESTful하다는 것은 어떤 의미인지 설명해주세요

RESTful 이란 REST API의 설계규칙을 올바르게 지킨 시스템을 의미합니다.

REST는(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다.

REST API의 설계규칙은 소프트웨어 간 HTTP로 통신할 때

자원(Resource)은 URI로 /행위는 method로 /결과는 응답코드(ex.201)로 나타내는 것이 설계 규칙이고 규칙대로 설계하여 HTTP 가 원래 가지고 있는 특성을 잘 활용한 형식을 RESTful 하다고 합니다.

 

좀 더 Deep한! 우아한 TECH 영상 정리

https://www.youtube.com/watch?v=Nxi8Ur89Akw&t=334s

→ 1. 자원에 대한 식별

자원 이란 이름을 지닐 수 있는 모든 정보/ 개념적인 대상(

ex. 문서, 이미지, 자원들의 집합, 실존하는 대상 등)

→ 2. 행위를 통한 자원의 조작

행위: 특정한 상태의 자원에 대한 표현 (CRUD)

→ 3. 자기 서술적 메세지 (메시지는 스스로에 대해 설명해야 한다. 보고 이해할 수 있어야함.)

 

이해하기 쉽게 설명한 유투브

https://www.youtube.com/watch?v=iOueE9AXDQQ

참고 사이트

https://khj93.tistory.com/m/entry/네트워크-REST-API란-REST-RESTful이란

 

어제 친척 결혼식이라 광주(전남) 댕겨왔다 하루종일 차 타고 식장에서 뭐좀 하고 그러고 왔더니

이력서 준비하기 개~싫어서 일요일 저녁 카페 오기까지 빈둥빈둥 놀았다.

내일은 진짜 이력서 수정하고 어느정도 완성해야지 화요일에 제출하는데.. 잘 할 수있겠지?

체력이 바닥 난 거 같아서 요번주부터 다시 좀 뛰면서 운동하고있다. 진짜 힘들면 아무것도 못하는듯 나이든거 또 한번 체감한다.

무튼 면접 예상질문 공부하다가 졸려서 끄적여봤다.

항해기간 열심히 했으니까 마지막까지 잘 해서 취업해 봅시다~~ 다들 화이팅!

 

 

 

Q. 브라우저에 ‘naver.com’을 입력하면 내부적으로 어떤 일이 일어나는지 설명해주세요

 

① 사용자가 웹 브라우저에서 'naver.com' 을 입력한다

③ 원래 naver의 IP 주소는 125.209.222.141 인데 어려운 IP 주소를 외워서 사용하기는 힘드니, DNS(Domain Name System)이란 곳에서 IP를 외우고 접근하기 쉽게 설정해주고 그 정보들을 가지고 있다. 따라서 DNS 에 naver의 IP 주소를 물어보고 가져오는 과정을 거친다.

⑦⑧ IP 주소를 얻었으니 IP 주소에 해당하는 서버에 요청을 하고, 해당 서버는 요청을 받고 요청에 맞는 데이터를 다시 전송해 줄 것이다.  

우리가 받은것은 UI가 완성된 데이터가 아니라 HTML 문서이다. 그러면 이 문서를 읽고 출력을 해야한다
받아온 HTML 문서를 파싱하여 DOM 트리를 구축한다음, CSS 또한 파싱하여 오브젝트 모델을 만든 후
렌더트리를 형성한다. 그리고 그 렌더트리를 이용해서 각각의 노드들이 위치를 지정하는 레이아웃 과정을 거쳐
최종적으로 브라우저 화면에 출력하게 된다.

 

 

자세한 흐름은 하기 사이트 참고!

https://amunre21.github.io/web/1-site-works/

간단한 흐름은 하기 사이트 참고!

https://velog.io/@seungmini/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EC%A3%BC%EC%86%8C%EC%B0%BD%EC%97%90-www.naver.com-%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%98%EB%A9%B4-%EC%83%9D%EA%B8%B0%EB%8A%94-%EC%9D%BC

 

 

 

10/14(금) 간만에 TIL

 

실전프로젝트가 끝나고 이력서 주간이다.

이력서 주간인데.. 프로젝트 끝나고 힘이 쪽- 빠져서 일주일 정도 그냥저냥 이력서 준비하는 척 하면서 놀고 있다.

이러면 안돼~ 1주일만 더 힘내서 이력서 제출하고 면접준비 잘 해놓자! 하면서도 금방 유튜브 보고, 밀린 드라마 보러가버림. 뭐 우리 항해 친구들도 다들 실전 끝나고 힘 빠져서 비슷한 상황 이길래 죄책감이 덜했다..ㅎ 

 그러다가 1주일만에 정신차리고 부랴부랴 이력서 다듬고 면접질문 준비중.

 

일단 나도 이력서 제출에 집중하긴 할건데, 무턱대고 이력서 제출 + 면접준비만 하기보다는

30일? 정도의 기간을 잡고 도전하려고 한다.

 

30일 기간을 잡은 이유는 아직 지원할 이력서 등을 더 다듬고 싶고 항해99 하면서 기초를 너무 다지고 싶었는데 그걸 좀 하고 가고 싶은 욕심이 있어서!

 그래서 크게는 내 실전프로젝트 레퍼지토리에 스택 선정 이유/ 트러블 슈팅/ 시연영상 /코드 리펙토링까지 빠방하게 정리하고, 30일간 블로그도 좀 다듬고 면접문항을 자세하게 파고들어서 꼭 알아야 하는것들은 시간을 들여 천천히 정리하려고 한다. 또 강의는 강의대로 들어야하니까 아침엔 좀 프레쉬하게 코드 리팩토링관련 하고 점심엔 강의 듣고~~ 
저녁이후엔 git 블로그 정리 + js 책 읽으면서 30일을 알차게 보내면 취업도 하고 내 실력도 다지고 참 좋을 거 같은 뇌피셜이당

 

 

 

 

돌고 돌아 TIL~

 

항해 63일차 일요일.. 시간이 참 빠르다 어느새 실전 프로젝트 중간발표가 1주일도 채 남지않았다.

추석이 껴서 그런지 항해에서도 분위기가 조금 몽실몽실하다.

 

디자이너님 의욕이 뿜뿜 이셔서 이번주는 추가 기획 + 메인페이지 커스텀 슬라이더 등등 디자인적 요소를 넣느라 시간이 호로록~ 지나갔다. 

 

슬슬 마감 시간이 다가오니까 쫄린다.. 뭔가 남은 양이 엄~청 많아 보이지만, 그동안 잘 했으니까 이번에도 잘 끝내겠지..?

화이팅하자 화이팅~! 

 

아래는 항해원들 캐릭터로 4조 갓 디자이너님이 그려주신... 보고 뭉클했당

다들 복 많이 받자~

써야지 써야지하면서 TIL 정도만 쓰고 넘어갔는데... 항해를 진행하며 느끼는 감정들이 아까워서 기록을 하러 슬며시 기어나왔따..

 

일단 항해99에 탑승한 상태니 여기에 관해 먼저 이야기를 해보려한다

대상은 항해가 궁금한 사람들 + 우리 항해 동기들 + 내 감정풀이용? 이다

 

저번 WIL까지는 살짝 까는 형태로 작성이됐는데, 이번에는 대놓고 까야겠워.. :)

항해의 불친절? 은 주특기[숙련]인 4주차부터 시작되었다.

리덕스 툴킷을 쓰지않은 오리지널 리덕스를 훈련하는 주차였고 다들 그런가보다~ 하고 꾸역꾸역 진도를 나갔다.

그 전까지는 다들 고만고만한 실력? 인데 4주차부턴 실력의 차이가 확연히 생긴다.

 

우선 1달 온라인종합반 정도만 정도만 깔짝 듣고 시작한 No Base 비 전공자들은 멘탈부터 갈리기 시작한다.

여러 이유가 있는데 크게 2가지 인거 같다.

1. 진도 따라가느라 벅차다 

2. 옆에 잘 하는 동기들을 보며 마음이 급해진다(잘하는 동기들은 최소 주특기 한 두번 돌리고 + 4개월 이상 공부를 하고옴)

 

그 상태로 주특기[심화]인 5주차를 들어가면 진도가 말이 안 된다

저번주 까지 배웠던 리덕스는 안쓰고, 리덕스 툴킷(RTK) / 미들웨어인 Thunk / Mock API 인 Json-server / 커스텀 훅 까지..

이럴거면 전 주차에 툴킷쓰고 + Thunk 맛이라도 보여주던가 리덕스만 천천~히 진도나가다가 다음주부터 난이도가 이상해진다, 물론 React 기초 한 두번 정도만이라도 돌리고 온 사람이라면 그래도 그래도 따라갈 수 있다.

 

근데, 노베이스 비전공자들은 안 된다. 

 

하고싶은 말은 항해99의 과대광고? 에 속아서 정말 노베이스로 항해에 탑승하지 말라는거... 4~5주차에 react 엄청 나가떨어진 걸 실시간으로 보고나니 항해 시작하는 분 들께 꼭! 하고싶은 말이었음ㅠ

 

뭐 요정도만 하고,

다음은 항해시스템 칭찬도 좀 하려고한다

 

위의 요소들을 이겨내고 팀 프로젝트가 본격적으로 진행되는 5주차부터는 실력이 엄청나게 향상한다.

일단 Git 협업 능력은 깔고가고 주특기인 React를 프로젝트에 적용해보면서 실시간으로 실력이 올라감  

6주차 미니프로젝트 부터는 백엔드도 합류해서 FE 2 / BE 3 비율로 진행되는데,

API 연결하고 data 가공하고 view 만들고.. 프론트는 갈리면서 실력이 계속올라간다..

 

백엔드도 합류하니까 알게된 충격적인 사실이 있었는데, 백엔드는 프론트보다 실력차이가 극심하다. 여포들이 많아서 일단 노베이스로 시작한 분들은 프로젝트에서 정말 작은 부분밖에 참여 못하고, 심하면 프로젝트는 같이 진행했지만 나중엔 잘하는 사람 코드만 가져가고 나머지는 다 밀려버린다고 들었다.. (Git 에 본인꺼는 점 하나만 찍혀있다고 함..)

 

이제 실전프로젝트 10일정도 됐는데 1주일은 정말 꼬박 프로젝트 '기획' 만 한거 같다.. 하루는 15시간동안 기획 만 한 날도 있어서 "이제 코딩시켜주세요.." 라며 한숨을 쉬던 팀원도 있었음ㅠ

매번 생각하는데 팀으로 작업하는게 정말 어려운 것 같다. 실력적인 부분은 부차적이고 우선 인성적으로나 상대방 배려가 없으면 같이 일 하기가 너무 힘든거 같다. 다행히 이번 팀원들은 그렇게 모난 사람은 없다. 역시 나를 꼭 있어야 할 자리에 두신다. 감사하다.

 

이제 기획은 끝나서 MVP 기능들 구현하고 View 시작 중인데 모든 프로젝트를 성공적으로 끌고왔으니 마지막 프로젝트도 잘 할거라 믿는다. 나 뿐 아니라 다들 :) 

 

화이팅하자 칭구들!

 

  

 

+ Recent posts