HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
💻
프로그래밍
/
🎤
deep-dive 이웅모님 세미나
🎤

deep-dive 이웅모님 세미나

태그
학습방법
마음가짐
취업조언
대주제
세미나/특강
상태
완료
수정필요 부분
중분류
기타
생성일
Jul 2, 2022 03:43 AM
📅  날짜 : 07/02
😎  강사님: deep-dive 이웅모님
🔗  강의시간 : 240분
🔗  강의질문: slido링크

세션 후 느낀 점
💡
- 3개월 안에 완성된 개발자가 될 수 있을거란 조급함 벗어나라! 부트캠프는 완성된 내모습을 만드는 과정이 아니라, 완성된 내 모습을 위한 과정이라고 생각하니 마음이 한 결 편해진다. - 가독성이 제일 중요 코드는 개발자를 위한 문서이기도 하다. 가독성은 상대방에 대한 배려이자, 유지보수 비용을 줄이기 위한 첫번째 방법 - 이해와 고찰 === 관찰과 해석 무엇을 어려워 하는가에 대한 이해를 바탕으로, 왜 어려워 할까에 대한 고찰이 필요 무엇인지 문제인지 관찰하는 것이 먼저이고, 그 이유를 찾는 것(해석)이 두번째이다. - 프레임워크는 패턴의 집합체고, 패턴에는 컨셉이 존재 불편함을 해결하기 위해 고안한 것이 컨셉 어떤 것이 불편했는지, 어떻게 해결하고자 하는 지 이해하기 vanilla JS로 불편함 느끼는 것 중요

1. 질문

  • 개발 서적, 글쓰기 관련
    • Q. 딥다이브 내용 중, 가장 신경 써서 작성한 부분이 있다면?
      • 실행컨텍스트
        • 책마다 다른 내용, Outdated 된 자료들
        • ECMA Script Spec은?
      Q. 개발서적을 쓸 때 중요하게 생각해야 할 점은 무엇일까요?
      • (관련 질문) TIL을 작성하며, 어느 부분을 강조하고 어떤 부분을 덜어낼 지 고민이 많다.
        • 웅모님만의 글 작성 룰과 톤앤매너가 있는지 궁금
      • 개발자는 문학서가 아닌 전문서를 쓰는 사람
        • 아름다움을 추구하는 것이 아닌 사실을 이해하기 좋게 서술하는 것이 목표
        • 단정적인 표현 vs 열린 결말
          • ..이다. / ..라고 볼 수 있다.
          • 정답이 없는 것이 많다. ⇒ 나의 견해와 사실 구분해야함
      • 룰
        • 사실: 정확한 내용을 위한 cross check!
          • 프로토타입, 실행 컨텍스트, 비동기 …
          • 최소 10개의 관련 글을 읽으며 cross Check 해보기
        • 이해: 일반적으로 이해 가능한 내용인가?
          • 너무 난해하거나, 일반적으로 필요하지 않은 내용 삭제
        • 이유(원인): 현상의 원인은 무엇인가?
          • 변수는 왜 사용해야 하는가?
          • 호이스팅은 왜 발생하나?
            • 호이스팅은 선언부가 스코프의 최상단으로 끌어올려지는 것
              • 근데 왜 나왔냐!
              • 호이스팅은 의도된 것인가, 부작용인가
              • 호이스팅은 부작용이기 때문에 anti패턴으로, 사용을 지양해야하는 현상이다.
          • 클로저는 어떻게 라이프사이클이 종료된 식별자를 참조할 수 있는가?
            • 이것 자체가 궁금해야한다.
      • TIL
        • TIL은 누구를 가르칠 목적이 아니라, 미래의 나에게 쓰는 비망록
        • TIL은 인간의 기억을 믿지 못하기 때문에, 미래의 나를 위한 기록이다.
          • 글을 쓰게 된 동기
            • 무엇을 모르는지, 정확히 작성하기
            • ex) 클로저가 어떤 개념인 줄은 알았지만, 무슨원리로 종료된 식별자를 참조할 수 있는지 궁금하였다.
          • 새롭게 알게된 사실
          • 결론
            • 부작용이 있으니 사용을 지양하자
            • 매우 유용하니 앞으로 적극적으로 사용하자
            • 결론이 없는 TIL이 많은데, 배운 내용의 활용에 대해서 고민해봐야한다!
        • 글은 숙성시킬 필요가 있다.
          • 쓰면 쓸수록 좋아지는 것이 글이다.
      Q. 개발 서적쓰기가 어려운 이유
      • 정확한 용어의 사용
        • 선언, 정의
        • 순회, 열거
          • 순회는 순서를 가진 리스트
          • 열거는 순서는 의미가 없는 리스트
        • 문, 식
          • 변수에 담을 수 없는 것이 ‘문’
          • 값으로 치환 가능한 것은 ‘식’
          • 할당, 바인딩 (링크)
            • 할당은 변수에 값의 메모리 공간을 바인딩하는 행위
      • 모든 현상에는 원인이 있다.
        • 원인이 무엇인지 파악하는 것이 우선(관찰 ⇒ 해석)
      • 문법은 만들어진 이유가 있다.
        • var 키워드 존재하는데 let과 const는 왜 필요한가
        • undefined라는 값이 필요한 이유는?
        • NaN이 왜 필요한가?
        • 생성자 함수가 존재하는데 클래스는 왜 필요한가?
        • 프로토타입은 왜 필요한가?
        • DOM은 왜 존재하나?
        • 이벤트는 왜 전파되는가?
        • 꼭 비동기로 해야하나?
      • 연역적 전개와 귀납적 전개
        • 대부분 연역적 전개를 어렵다고 느낀다. 단, 연역적 전개가 더 필요한 경우가 있다.
        • 연역적 전개
          • 명제 ⇒ 사례 ⇒ 결론
          • 용어: 변수, 값, 표현식
        • 귀납적 전개
          • 현상 ⇒ 이유 ⇒ 결론
          • 호이스팅, 클로저
      • 서사
        • 대부분의 개념이 순환적 구조를 가지고 있다.
          • 함수 ↔ 객체
            • 함수는 객체이기 때문에, 객체공부 필요
            • 객체는 함수로 만들어지기 때문에 함수공부 필요
            • 순서를 정하기 어렵다.
          • 메타지식이 필요한 경우가 대부분이다
            • 변수 ⇒ 스코프 ⇒ 실행 컨텍스트 ⇒ 클로저
  • 지식 및 트렌드 습득 관련
    • IT 인사이트를 얻는 사이트가 있나요?
      Stack Overflow - Where Developers Learn, Share, & Build Careers
      monthly visitors to Stack Overflow & Stack Exchange Times a developer got help since 2008 from companies using Stack Overflow for Teams Stack Overflow for Teams instances active every day A community-based space to find and contribute answers to technical challenges, and one of the most popular websites in the world.
      Stack Overflow - Where Developers Learn, Share, & Build Careers
      https://stackoverflow.com/
      Stack Overflow - Where Developers Learn, Share, & Build Careers
      NAVER D2
      NAVER D2
      https://d2.naver.com/home
      Archives | CSS-Tricks
      Calendars, shopping carts, galleries, file explorers, and online libraries are some situations where selectable items are shown in grids (i.e. square lattices). You know, even those security checks that ask you to select all images with crosswalks or whatever....
      Archives | CSS-Tricks
      https://css-tricks.com/archives/
      Archives | CSS-Tricks
      Overreacted
      Personal blog by Dan Abramov. I explain with words and code.
      Overreacted
      https://overreacted.io/
      Overreacted
      데브코스에서 너무 많은 지식을 한 번에 습득하고 있어 혼란스러움을 느끼는데, 많은 정보를 나의 지식으로 내재화 시키는 방법이 있을까요?
      • 메타인지
        • 내가 아는 것과 모르는 것 구분하기
        • 말로 설명하기
      • 어려운 것과 익숙치 않은 것 구분하기 쉽지 않다
        • 어려운 것은 조금 흘려보내보아라
          • 나중에 돌아왔을 때 의외로 쉽게 이해되는 경우가 많다
      • 이해(익숙)될 때까지 무한 반복
      • 나무만 보지 말고 숲을 보기
      • 글로 정리하기
      • 만들어보기
       
      • 어떻게 하면 될까 (HOW) vs 왜 안될까 (WHY)
        • 구현에 급급하지 말고, 문제를 파악하고 원인을 찾자
        • 되면 왜 되는지, 안되면 왜 안되는지
        • 최선을 고민하기
          • for vs map/filter/reduce ( imperative vs declarative 차이)
          • 시간/공간 복잡도 vs 가독성
          • 좋은 코드란 무엇일까?
            • 프론트엔드에서는 변화에 대한 유연성이 중요하다.
              • 약간은 말랑말랑한 상태를 가지고 있고, 쉽게 고칠 수 있도록 가독성 좋은 코드가 좋은코드
  • 신입 개발자가 갖춰야할 것
    • React, Vue 등 라이브러리를 사용할 때, 이 개념만은 꼭 알고 가야한다는 부분
      • 프레임워크는 패턴의 집합체고, 패턴에는 컨셉이 존재
        • 불편함을 해결하기 위해 고안한 것이 컨셉
        • 컨셉을 패턴화해 구현해놓은 것이 프레임워크
        • 리액트의 핵심은 reconcilation을 통한 렌더링 최적화이고, 그것을 이루기 위해 상태화 렌더링을 동일시하여 해결하고자 한다.
      • 왜 이렇게 해야하나 ⇒ 컨셉의 이해
      • 이렇게 하면 무엇이 좋아지는 가 ⇒ 패턴이 해결하려는 문제
        • 이러한 불편함과 문제점은 바닐라자바스크립트를 사용해야만 알 수 있다.
          • html, css 재사용, innerHTML을 이용한 DOM mutate
      • 렌더링
        • 대부분의 Front-end 프레임워크는 DOM을 다루는데 관심이 많다
      • 상태
        • 사용자의 action(event, 데이터fetching) 에 의해 변경될 수 있다.
          • 상태가 변경되면 리렌더링 되어야 한다.
        • Action ⇒ 상태변경 ⇒ 렌더링 (상태와 DOM을 동기화)
        • 코드의 일관성 추구
      어떤 신입 개발자를 원하는가?
      • 인성(===태도, ≠착함)이 좋으면 성장 가능성이 크다.
        • 좋은 태도란
          • 피드백에 대한 태도 (지적 겸손함)
          • 공부하는 태도 (성실함)
          • 동료나 강사에 대한 태도 (예의)
          • 자기자신에 대한 태도 (자존감)
        • 마음가짐
          • 일을 하면서 행복하면 좋겠다.
          • 좋아하는 일을 하면 매일이 즐겁다.
          • 즐거운 사람과 일하고 싶다.
          • 좋아하면 → 관심 → 공부 → 잘하고 → 칭찬 → 더잘하기 → 연봉상승
        • 뇌를 속이기
          • 부정적 생각을 버리고 긍정적 생각가지기
          • 뇌는 의외로 쉽게 속는다.