본문 바로가기

전체 글

[TIL]JS스터디- 객체리터럴,원시값과 객체의 비교,함수 기존엔 주2회로 1회당 30~40페이지를 기준으로 분량을 정했었는데 서로가 일정이 바쁜상황이 발생하여 어쩌다 2회분량을 한번에 진행했었는데 괜찮은것같아 이번주부터 분량은 그대로하고 만나는 횟수를 1회로 줄여서 진행하자고 했다. 주2회를 볼때보다 일정관리가 더 편한것같긴하지만 준비를 한번에 몰아서 할까봐 걱정이다..(이번이 변경된이후 처음이였는데 몰아서해버리긴했다..ㅋㅋ) 각 단원은 제목과같다. 객체. 주로 객체의 프로퍼티를 접근하는방식, 객체내의 프로퍼티를 정의하는 방식에대해서 문제를 많이 작성해주셨다. 객체 프로퍼티 키로 사용될 수 있는 값의 형태가 문자열과 심볼형으로 주어지고, 문자열의 경우 식별자 네이밍 규칙을 준수해야 의도하지 않은 에러를 방지할 수 있는점을 알게되었다. 그렇다고 식별자규칙을 적용.. 더보기
[TIL] JS스터디-promise 왜 Promise로 비동기를 관리하려는가. promise는 js에서 비동기 상황을 효율적으로 처리하는 데 사용되는 개념이다. 효율적이라는 말은, 기존에 비동기 상황을 다루기위해선 콜백 함수를 전달하여 비동기 결과값을 사용할 수 있었다. 이렇게 되면 비동기 결과값을 연속적으로 사용하려면 콜백 함수를 계속 전달하게 되어 뎁스가 깊어지고, 코드를 읽는 방식이 아래에서 위로 읽히게 되어 가독성이 떨어지는 문제가 발생한다. 또한 에러 핸들링관련해서도 콜백 함수마다 try catch문을 내부에서 작성해줘야 하기 때문에 코드 자체가 복잡해지는 문제가 발생한다. try { setTimeout(() => { throw new Error("error"); }, 1000); } catch (error) { console.l.. 더보기
좀 쉬면서 약 10개월? 11개월 정도의 취준 시간을 갖고 1주일 정도의 휴식기간을 가졌다. 다녔던 부트캠프(프로그래머스 데브 코스)를 취업으로 인해 거기서 만난 사람들과 진행하는 스터디를 제외하고 정규 과정은 중도 포기로 처리됐다. 함께 병행하는 다른 분들도 계시지만, 지금의 마음으로는 회사에 집중하고 싶은 생각이 매우 강하기 때문이다. 스터디(자바스크립트 딥 다이브) + 회사 이렇게 두 가지를 병행하기로 결정된 상태다. 회사에 집중? 규모가 10~20명 정도의 작은 스타트업이다. 개발자는 나포함 8명(프론트엔드 개발자 3)으로 구성된다. 개발 이외에도 여러 가지로 경험해보고 싶다. 막연한 망상이랄까? 아니면 대기업을 못 가는 것에 대한 자기 위안 일 수도 있는데 그 작은 스타트업에서의 열정 넘치는 분위기를 느껴.. 더보기
[TIL] 프로그래머스 데브코스 - 바닐라JS/ SPA구조로 노션만들기 - 리팩토링(함수네이밍,세션스토리지 추상화,고차함수 적용). 과제 구현 중 멘토님, 동료 피드백 내용을 반영하는 리팩토링을 진행해봤다. 함수 네이밍 함수 네이밍시 동사원형+명사 조합으로 작성해보면 그 함수의 역할을 파악하기가 쉬울 것이다라는 피드백을 받았다. 신기하게도 함수의 이름이 길어졌음에도 가독성이 좋아졌다라는걸 느꼈다. 아래는 가장 눈에띄게 변화를 느낄 수 있었던 변경을 가져와봤다. (각 bannerEvent, editorEvent함수는 Banner, Editor 각 컴포넌트의 외부에서 Banner, Editor의 상태 변경을 지시하는 함수다.) 세션 스토리지 추상화 api호출시 공통된 부분을 index.js로 따로 빼서 작성하는 것과 동일하다.(클로저를 처음으로 사용해봤다.) 고차 함수 적용 인덱스를 찾기 위해 for문 내부에서 findIndex함수를 불.. 더보기
[TIL] 프로그래머스 데브코스 - 바닐라JS/ SPA구조로 노션만들기 -토글기능(+ 약간의 리팩토링). 배포 사이트 : https://vanilla-js-notion-4cckycphd-gangpyono.vercel.app/ 이전에 토글기능을 넣었지만 특정 페이지를 편집중에 새로고침을 눌렀을때 해당 문서가 자식문서임에도 불구하고 토글이 모두 닫혀 왼쪽 배너부분에서의 정확한 위치표시가 안됨 + 아래 문제부분에서의 의문이 있어 주말을통해 개선하고자했다. 1. 문제 서버로부터 토글에 대한 상태를 받아오지 않기 때문에 토글 버튼을 클릭할 때마다 전역에서 관리하는 배너 상태에 임의로 상태 값을 넣어주고 상태 변경에 의한 렌더링으로 보여주고 있었다. 여기서 문제가 총 2가지가 발생했는데 첫 번째로는. 토글 상태를 배너부분외에서 사용하지않을것같은데 전역상태로 관리할 필요가 있는가? -> 토글상태를 전역 상태 관리에서 분.. 더보기
[TIL] 프로그래머스 데브코스 - 바닐라JS/ SPA구조로 노션만들기. 시작. 이번 클론 코딩에서 가장 핵심이라 생각했던 부분은 노션의 왼쪽 배너의 여러 문서들의 트리구조를 어떻게 구현할 것인가 였다고 생각했다. 그래서 이부분만 해결하면 나머지는 쉽게 쉽게 풀릴 줄 알고 사전에 상태 관리를 어떻게 해야 할지, 어떻게 해면 좀 더 확장성이 좋은 코드가 될 수 있는지를 고려하지 않았다. 그 결과 재귀 함수를 활용하여 구현은 했지만(이외에도 무수한 에러를 많이 만났다..), 이후 추가와 삭제 버튼을 만드는 과정에서 아래와 같이 새로 만들어진 문서에 대해서 추가와 삭제 이벤트를 직접 달아줘야 한다라는 문제점을 보고 상태 기반으로 렌더링 하는 방식을 선택해야겠다는 생각을 하게 되었다. 1. 새로운 문서를 생성했을 때, 이에 대한 상태를 관리하고 있는 곳이 있는가? 위의 첫 번째 스크.. 더보기
[TIL] 프로그래머스 데브코스 - 임시팀 마무리,스터디 마무리 2주간 배웠던 내용들이다. 1. JS로 알고리즘 구현 2. 코드 리뷰 3. 자바스크립트 스터디 (코어 자바스크립트) 4. 백준 알고리즘 스터디 1. JS로 알고리즘 구현 이전에 작성한 전위 중위 후위 순회 + trie구현 내용이다. 2. 코드 리뷰 이전 부트캠프에서 팀원과의 동료 외에 시니어 개발자분에게 코드 리뷰를 받아본 적은 처음이다. 내 코드를 직접 읽어봐 주시고 필요한 부분에 대한 조언을 해주셨는데 좋은 코드를 작성할 수 있는 여러 팁들을 얻을 수 있어 유익한 시간이었다. 확실히 코드 리뷰가 여러 유명한 강의나 좋은 자료보다 훨씬 더 직접적인 도움이 되는 것 같다. 동료 분들의 리뷰 또한 내가 모르던 부분을 확인할 수 있는 좋은 계기가 되었다. 나름 신경 쓰면서 작성했지만 분명한 오류가 있었고, .. 더보기
[TIL] 프로그래머스 데브코스 - 전위,중위,후위 순회 + trie 뭘 했는가? 1. 과제 구현(전위, 중위, 후위 순회 + trie) 2. 백준 알고리즘 스터디(2231,1003,1541) 과제구현 1) 전위, 중위, 후위 순회 예전에 인프런 알고리즘 강의에서 재귀 함수시간에 한번 짧막하게 다뤘던 기억이있었는데 까먹었기도하고 이를 JS의 클래스 문법을 사용하면서 직접 노드를 만들고 클래스 내부에 함수를 선언하는 방식으로 구현을 하려다보니 새로운 느낌이 들었다. 핵심로직은 같은데, 아직 클래스 문법이 익숙하지 않아서 였던거 같기도하다. 재귀함수 호출 순서를 계속 머리로만 생각하려다 보니 이해가 안가 시간이 오래 걸렸었는데 그냥 공책에다가 콜 스택을 직접 그려가며 호출 순서를 파악하니 이해하기가 편했다. 2) trie 구현 딱 들었을 때는 검색창에서 입력을 했을 때 입력하.. 더보기