분류 전체보기
[TIL] #10. 배열
2022.5.10. (화) 1. 오늘의 소감 오늘 같이 공부한 페어분이 문제 하나 하나 풀 때마다 리액션을 잘해주셔서 기분이 좋았다. 난 표현을 잘 못하는 성격이지만 이제부터라도 페어님의 후한 리액션에 보답해드려야지!^0^ 코플릿을 풀면서 느낀 배열 공부의 핵심은! 사용하는 메서드가 immutable(원본 유지)인지 mutable(원본 변형) 인지 확인하는 것! 그리고 메서드의 **반환값 과 원본 배열의 변경을 혼동하지 않는 것!**이 되겠다. 예를 들어 배열 앞에 요소를 추가하는 arr.unshift(ele) 메서드를 보자. 원본 배열을 변경하는 mutable 메서드이기 때문에 해당 명령문 이후의 원본 배열은 ‘앞에 요소 하나가 추가된 배열’이 된다. 하지만 arr.unshift(ele)의 반환값(re..
[TIL] #9. CLI... nvm... node.js... npm...
2022.5.9. (월) 1. 오늘의 소감 익혀야할 새로운 용어들도 많았고 설치할 것도 많아서 바빴던 하루😢 터미널 명령어 익히는 부분은 재밌었다. 개인적으로 터미널창을 사용할 때야말로 굉장히 개발자... 뽕...이 차기 때문에...ㅎㅎ... ‘오, 나 좀 간지나~’ 이런 느낌으로 배웠던것 같다. 오늘 공부는 앞으로 코딩을 위해 필요한 여러 프로그램들과 패키지 매니저들을 설치하는 게 주된 진도였다. 잘 진행하다가 node.js 의 버전 관리 매니저인 nvm 을 설치하는 부분에서 문제가 생겼다. nvm 설치 완료후 잘 되었는지 nvm --version 으로 확인하니까, zsh: command not found: nvm 라는 메시지만 출력는 것이다! 분명 설치 완료까지 떴는데!!! 이것저것 구글링해도 잘 해..
[JS] 동적 계획법 (Dynamic Programming, DP)
1. Dynamic Programming 이란? 주어진 문제를 여러 개의 작은 문제로 나누어 풀고, 작은 문제들의 해결 방법을 결합하여 최종 문제를 해결하는 방법 하위 문제를 계산한 뒤 그 해결책을 저장 → 나중에 동일한 하위 문제를 만날 경우 저장된 해결책을 적용해 계산 횟수를 줄인다. 하나의 문제는 단 한 번만 풀도록 하는 알고리즘이 바로 이 다이내믹 프로그래밍! 2. 다이내믹 프로그래밍 조건 ❗️다이내믹 프로그래밍은 다음 두 가지 가정이 만족할 때 사용한다. Overlapping Sub-problems : 큰 문제를 작은 문제로 나눌 수 있고, 이 작은 문제가 중복해서 발견된다. Optimal Substructure : 작은 문제에서 구한 정답을 큰 문제에서도 사용할 수 있다. 3. 예제 🧩 피보나..
[JS] 룸 생성 모달에서 날짜 클릭 없이 바로 생성하면 에러 발생
2022.10.3 (월) 작성 1. 에러❗️ 룸 생성 모달에서 룸 이름만 작성하고 바로 룸 만들기를 클릭하면 날짜 관련 오류가 발생했다. 2. 상황 에러 메시지 3. 시행착오 확인해보니, Date 객체를 받아와서 날짜 포맷(yyyy-MM-dd) 형식으로 바꿔주는 작업에서 에러가 발생했다. const setDateStr = (dateObj) => { return ( dateObj.getFullYear() + '-' + (dateObj.getMonth() + 1 < 9 ? '0' + (dateObj.getMonth() + 1) : dateObj.getMonth() + 1) + '-' + (dateObj.getDate() < 9 ? '0' + dateObj.getDate() : dateObj.getDate()..
[TIL] #8. 계산기를 만들자!
2022.5.6. (금) 1. 오늘의 소감 코린이는 계산기 하나 구현하는 것도 쉽지 않다😇... 정상적으로 입력시, 기본적인 계산기 기능 구현은 힘들지않았다. 하지만 연산자를 여러번 누른 다거나, 숫자가 입력 안된 상태에서 엔터키를 누른다거나, 연산자가 여러 번 들어간 식을 계산해야할 때 같은 Edge Case(극단적인 매개변수 인풋 상황)에서 어김없이 에러가 났다. 비정상적인 입력값을 처리하기 위해 if문 지옥에 빠졌다. 각 예외 케이스를 처리하면서도 이걸 어떤 조건으로, 어떤 순서대로 작성해야 오류없이 처리가 되는지 감이 잡히지 않아 울고싶었다. 우선 나올 수 있는 경우의 수를 다 적은 뒤 정리 후 코드를 쓰는 게 나은걸까. 저녁에 올라올 레퍼런스 코드를 보고 복습해봐야겠다. git 은 항상 잔디 심..
[TIL] #7. CSS 적용해보기
2022.5.4. (수) 1. 오늘의 소감 여러모로 현타도 오고, 자극도 받는 하루. 오늘 수업에서는 이틀동안 만든 계산기 목업을 자랑하는 시간을 가졌다. 난 맥 계산기와 갤럭시 계산기의 기본형을 충실히 구현하는 정도로만 CSS를 작성했다. 동기분들의 계산기 디자인이 엄청났다. 박스쉐도우를 활용해 뉴모피즘 디자인을 구현하신 분도 계셨고, 계산기에 타이머를 넣는다던가, 다크 모드를 구현한다던가... 심지어 음성인식 기능을 넣으신 분도 계셨다… 다른 분들의 발표를 들으면서 내가 적용해보고 싶은 내용들을 꼽아보자면. 1) CSS 에 변수 넣기, 2) fontawesome 사이트에서 아이콘 적용해보기. 특히 CSS 변수는 이런게 있다는 것을 알고 있었는데, 미리 공부해놓지 않아 정작 필요할 때 사용할 생각을 못..