목록내일배움캠프 (19)
개발자 박가나
오늘까지 해서 '영화 사이트 만들기' 프로젝트를 마무리하게 되어 결과물 공유로 TIL을 대신하고자 한다. [영화 사이트 만들기] 프로젝트 구현한 기능영화 목록페이지 로드 시 영화 데이터 20개 가져와서 화면에 보여주기스크롤을 통해 페이지 최하단에 도착할 때마다 영화 데이터 20개 추가로 가져와서 화면에 붙여주기검색검색한 키워드가 제목에 포함된 영화만 추출해서 보기입력 값이 변경될 때마다 실시간으로 검색 수행하기북마크영화 상세 정보 modal 창에서 북마크 추가 및 삭제하기북마크한 영화만 추출해서 화면에 보여주기 배포 링크 영화 사이트 parkgana.github.io Github Repository GitHub - ParkGana/sparta-project-movieContribute to ParkG..
알고리즘 문제 풀이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1차 시도배열을 이용해서 변수 선언 (0번째 index가 x 좌표, 1번째 index가 y좌표)x, y 좌표를 각각의 변수가 아닌 하나의 배열로 선언하고 index로 접근하다보니 코드 상에서 봤을 때 어떤 값을 의미하는지 명확하지 않음function solution(numbers, hand) { let answer = ''; const keypad = [ [1, 3], [0, 0], [1, 0], [2, 0], [0, ..
지금까지는 강의 수강이나 이론 수업, 특강 등이 커리큘럼의 주를 이루다 보니 하루동안 학습한 내용을 정리하는 정도로 TIL을 작성해왔다. 하지만 이제 본격적으로 알고리즘 문제 풀이도 시작했고 개념 습득보다는 코딩의 비중이 늘어나고 있기 때문에, 오늘부터는 단순 정리가 아니라 코딩을 하면서 겪은 어려움과 그것을 해결하기 위한 고민이나 시행착오를 중심으로 TIL을 작성해보려고 한다. 알고리즘 문제 풀이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1차 시도코드 흐름Set 객체를 이용해서 중복 데이터 제거유저 목록을 순회하면서 i번째 유저가 신고한 내역 추출..
Today 1. Github에 알고리즘 Repository 생성 GitHub - ParkGana/algorithm-javascriptContribute to ParkGana/algorithm-javascript development by creating an account on GitHub.github.com지금까지는 알고리즘 문제를 풀면 velog에 포스팅을 하는 방식으로 정리를 해왔었다. 그러다 알고리즘 특강 시간에 Github Repository로 관리하는 방법을 듣게 되면서 블로그 포스팅보다 관리하기도, 나중에 다시 찾아보기도 훨씬 수월하겠다는 생각과 함께 왜 이 방법을 생각하지 못했을까? 싶었다. 알게 된 김에 바로 실천으로 옮기자는 생각으로 Github Repository를 생성하고 특강 시..
Today 1. 알고리즘 문제 풀이 [신고 결과 받기] 문제 풀이일부 테스트 케이스에서 시간 초과 오류 발생내일 한 번 더 시도해보고 해결하지 못할 경우 답안 참고 예정function solution(id_list, report, k) { let result = Array.from({ length: id_list.length }, () => 0) // 중복 신고 제거 (한 유저가 동일한 유저를 여러번 신고해도 1회로 처리) report = Array.from(new Set(report)) for (let i = 0; i item.split(' ')[0] === id_list[i]) for (let j = 0; j { ..
Today 1. [JavaScript 문법 종합반] 강의 콜백 함수다른 코드의 인자로 넘겨주는 함수콜백 함수를 인자로 넘겨받는 함수가 실행에 대한 제어권을 가짐제어권콜백 함수 호출 시점에 대한 제어권인자(의 순서)에 대한 제어권this가 가리킬 대상을 지정할 수 있음콜백 지옥콜백 함수를 반복적으로 사용함으로써 들여쓰기가 깊어져서 가독성이 떨어지는 현상동기 : 현재 실행 중인 코드가 끝난 후 다음 코드를 실행비동기 : 현재 실행 중인 코드의 완료 여부와 무관하게 즉시 다음 코드를 실행비동기 제어 - Promisenew 연산자로 호출비동기 작업이 완료된 후 resolve 또는 reject 함수 호출비동기 제어 - Generator*가 붙은 함수로, 실행 시 Iterator 객체 반환비동기 작업이 완료되는 시..
Today 1. [JavaScript 문법 종합반] 강의 실행 컨텍스트 및 Call Stack실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체실행 컨텍스트는 Call Stack에 쌓임실행 컨텍스트 객체에 담기는 정보 3가지호이스팅매개변수 및 변수는 선언부를 호이스팅함수는 전체를 호이스팅함수 선언문보다는 함수 표현식을 사용하는 것이 좋음상황에 따라 달라지는 this전역 공간에서의 this는 전역 객체를 가리킴메서드로서 호출할 경우 this는 메서드 호출 주체를 가리침함수로서 호출할 경우 this는 전역 객체를 가리킴this 우회 방법변수 활용화살표 함수 사용명시적 this 바인딩 - call함수를 즉시 실행첫 번째 매개변수에 this로 binding할 객체를 넣어줌명시적 this 바인딩 -..
Today 1. [JavaScript 문법 종합반] 강의 ES6 문법let, const화살표 함수삼항 연산자구조 분해 할당단축 속성명전개 구문일급 객체로서의 함수함수를 변수에 할당함수를 다른 함수의 인자로 전달함수를 반환함수를 객체의 프로퍼티로 할당함수를 배열의 요소로 할당Mapkey-value 한 쌍key에 어떠한 데이터 타입도 다 들어올 수 있음key가 정렬된 순서로 저장추가, 검색, 삭제, 제거, 존재 여부 확인 등Set고유한 값을 저장key는 저장하지 않고 value만 저장값이 중복되지 않는 유일한 요소로만 구성추가, 검색, 삭제, 제거, 존재 여부 확인 등데이터 타입의 종류 및 메모리기본형참조형변수 선언과 데이터 할당변수 vs 상수불변하다 vs 불변하지 않다 얕은 복사 / 깊은 복사얕은 복사 :..
Today 1. [JavaScript 문법 종합반] 강의 JavaScript 소개 및 특징브라우저에서 동작하도록 하는 것이 목적AJAX 기술이 등장하면서 사용량 증가객체 지향 프로그래밍 지원동적 타이핑 지원함수형 프로그래밍 지원비동기 처리 가능클라이언트 및 서버 측 모두에서 사용 가능변수이름 : 저장된 값의 고유 이름값 : 변수에 저장된 값할당 : 변수에 값을 저장하는 행위선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위참조 : 변수에 할당된 값을 읽어오는 행위var, let, const를 사용하여 선언데이터 타입숫자문자열booleanundefinednull객체배열형변환암시적 형변환 : 자동으로 변환되는 것명시적 형변환 : 개발자가 임의로 변환하는 것연산자기본 연산자 : 더하기, 빼기, 곱하기, 나누기..
Today 1. [팀 소개 페이지 만들기] 프로젝트 5일차 발표피드백회고 및 마무리프로젝트의 결과물을 발표하고 피드백을 받는 것을 마지막으로 캠프에서의 첫 팀 프로젝트가 마무리되었다. 처음에는 아직 배운 것도 거의 없고 팀원들 실력도 제각각인데 무작정 팀 프로젝트를 하는게 맞나? 싶은 생각이 들었지만, 막상 프로젝트가 끝나고 보니 어설프지만 하나의 협업이 완성이 되어 있었고 그 과정에서 나의 장점과 단점도 파악할 수 있었다. 지극히 내성적인 성격이다보니 어색한 상황, 심지어 비대면으로 진행되는 팀 프로젝트가 부담스럽고 걱정도 많았는데 서로서로 잘 이끌어주고 부족한 부분들을 채워주는 좋은 팀원들을 만나서 무사히 잘 마무리할 수 있었고, I5E1 팀의 일원으로서 지낸 1주일이 좋은 기억으로 남을 것 같다. ..