목록전체 글 (183)
천진난만 코딩 스토리
오늘은 알고리즘 모의고사로 진이 빠져서..... 가볍게 깃 명령어에 대해 공부하고, 자바스크립트 기초 문법과 함수에 대해 복습을 해보았다. 내일부터는 또 해야할게 많기에 오늘까지는 가볍게 하기로 했다.. 기본적으로 커밋하는 것과 브랜치를 만들고 브랜치를 합쳐보았다. 머지와 리베이스의 차이도 이때 확실하게 알게 되었다. 헤더의 분리와 상대참조하는 법도 알게 되었고, 깃을 되돌리는 방법 두 가지도 알게 되었다. 체리픽과 인터랙티브 리베이스도 알게 되었는데 이 두가지를 한번에 보고 나니 둘 중 하나만 쓰게 되었다... 이 외에도 많은 명령어가 있는데 이건 차근차근 알아가야겠다. 자바스크립트의 기초 문법과 함수는 알고 있는 내용을 한 번 더 복습하는 개념으로 훑어보며 긴가민가 했던 개념을 익혔다.
이번주에는 알고리즘 문제도 풀어보고 리액트의 기초가 될 자바스크립트의 문법에 대해서도 공부했다. 자바스크립트의 함수와 객체에 대해 미리 공부하였기에 알고리즘 문제를 풀 때 많은 도움이 되었다. 고차함수에 대해서 다시 한번 짚어보기도 하였고, 콜백함수에 대해서도 공부를 하였는데, 두 가지 모두 완벽하지는 않다. 고차함수의 사용법과 이런 이론적인 내용은 알겠지만, 직접 사용해보며 익숙해져야 할 것 같다. 콜백함수는 어떤 것이 콜백함수이고 콜백지옥인지 알겠지만, 콜백지옥을 빠져나가기 위해서 프로미스 하는 과정이 어려웠다. 이 부분은 반복학습과 추가적인 학습이 필요한 것 같다.
오늘은 콜백함수와 비동기에 대해 강의도 보고, 알고리즘 문제도 풀어보았다. 알고리즘 문제 3개를 풀었는데 두개는 풀만 했지만 나머지 하나는 조금 힘들었다... 아직 내 실력 쭈구리 인걸로...... 알고리즘 문제를 푸는 것은 아직 for 문과 if문을 사용했기에 어려움은 없었지만, 고차함수도 사용하는 것은 연습이 필요하다고 느꼈다. 강의를 보며 콜백함수와 비동기에 대해 공부했지만 아직은 개념이 머릿속에 제대로 정리되지 않아서 다시 공부해야 할 것 같다...
자꾸만 헷갈리는 고차함수에 대해 다시 공부해 보았다. 1) map () / forEach () forEach와 map의 차이점은 리턴값이 있느냐, 없느냐이다. forEach는 for문을 대체하여 내부에서 주어진 배열을 순회하고 리턴값이 없다. 그에 반해 map은 내부에 주어진 배열을 순회하여 콜백함수에서의 실행결과를 리턴값으로 이루어진 배열을 만들어 반환한다. arrr.map ((currentValue, index, array) => { }, thisArg) currentValue : 처리할 현재 요소 index : 처리할 현재 요소의 인덱스 array : map()을 호출한 배열 thisArg : callback을 실행할 때 this로 사용되는 값 const array1 = [1, 4, 9, 16]; ..
알고리즘 문제 28개를 모두 풀어냈다. 초반의 문제들에 비해 어려웠지만 팀원들과 함께하여 구현해낼 수 있었다. 물론 새롭게 알게 된 것도 많았지만 이 전에 비해 확연히 줄었다! 1) reverse() 배열의 순서를 반전하게 하는 메서드이다. 2) Math.sqrt() 숫자의 제곱근을 반환하는 함수이다. Math.sqrt(9); // 3 Math.sqrt(2); // 1.414213562373095 Math.sqrt(1); // 1 Math.sqrt(0); // 0 Math.sqrt(-1); // NaN 3) Math.pow() Math.sqrt()와 반대로 제곱한 값을 반환하는 함수이다. Math.pow(7, 2); // 49 Math.pow(7, 3); // 343 Math.pow(2, 10); // ..
알고리즘 문제를 풀며 내가 작성한 코드와 다른 사람의 코드도 비교해보며, 잊고 있었던 함수와 새로운 함수를 알게 되었다. 1) repeat() 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환하는 것이다. 분명 알고 있었고 사용해 본 메서드였지만 잊고 있었다가 다시 떠올리게 되었다! 2)? : 함수 if 문을 ?를 사용하여 더 짧고 간결하게 작성할 수 있다. 처음에는 if문으로 작성하여 풀어서 제출하고, 그 뒤에 다시한번 코드를 정리하여 제출해보기도 했다. 3) Math.floor Math 함수를 완전 잊고 있었다가 다시 떠올리게 되었다. 그 중에서 반내림 함수를 사용하는 문제가 있어서 유용하게 사용할 수 있었다. 4) Math.min/max 처음에는 if문과 for문을 반복 사용하여 풀었다. ..
오늘도 자바스크립트에 대해 공부했다. 이번에는 함수와 객체에 대해 공부하였는데 자바스크립트에서 함수가 중요한 만큼 내용도 많고 어렵거나 모르는 것도 많았다. 그렇기에 오늘도 새롭게 알게 된 것이 많다. 1) 병합 연산자 병합연산자인 ??를 사용하면 0처럼 falsy로 평가되는 값들을 일반 값처럼 처리할 수 있다. // 매개변수 'count'가 `undefined` 또는 `null`이면 'unknown'을 출력해주는 함수 function showCount(count) { alert(count ?? "unknown"); } showCount(0); // 0 showCount(null); // unknown showCount(); // unknown 2) 본문이 여러줄인 화살표 함수 화살표 함수를 사용할 때 ..
오늘은 자바스크립트에 대한 자료를 보며 공부를 했다. 자바스크립트의 기본인 변수, 연산자, 함수 등 기초부터 다졌는데 새로운 개념들을 알게 되었다. 1) 엄격모드 먼저 엄격모드라는 것에 대해 알게 되었다. "use strict"라는 지시자가 최상단에 오면 스크립트 전체가 “모던한” 방식으로 동작하게 되는데 이 엄격모드는 실행되면 되돌릴 수 없다는 것을 보고 함부러 작성하면 안된다는 것을 알게 되었다. 2) prompt, confirm alert에 대해서는 이미 알고 있었다. 하지만 prompt와 confirm는 처음 알게 되었다. prompt는 텍스트 메시지와 입력 필드, 확인 및 취소버튼이 있는 모달 창을 띄워주는 것이다. confirm은 매개변수로 받은 질문과 확인 및 취소 버튼이 있는 모달 창을 보..
그동안 보았던 강의 내용을 마지막으로 복습하기로 하였다. 문제없이 잘 해결해 나가는데 마지막 부분인 배포를 하는 과정에서 오류가 생겼다. 여러 개의 오류가 있었는데 크게 나누자면 1. port 5000 연결 오류 2. 파일질라 자체의 오류 3. 인스턴스 연결 오류 이렇게 있었다. 포트 5000으로 서버를 연결하였었는데 기존에 쓰던 서버들을 모두 종료했는데도 불구하고 사용하고 있는 포트라고 오류가 떴다... 그래서 임시방편으로 5001번으로 사용하여 해결했다. (이 문제는 추후 알아서 고쳐졌다.....!) 파일질라의 문제를 해결하기 위해 구글링을 했는데 업데이트를 하면 된다고 해서 찾아보았지만 최신버전이었다..... 그래서 그냥 다시 다운했더니 문제없이 돌아갔다!! 인스턴스의 문제는 기존 인스턴스가 종료된..

1) 수정기능 (CRUD) 수정기능을 구현하기가 쉽지 않았다... 기록하기 버튼을 누르면 기록폼이 나타나고 작성하면 업로드가 되게 하였다. 업로드된 도서 카드 밑의 삭제 버튼을 누르면 삭제가 되게 하였고 수정 버튼을 누르면 수정폼이 나타나게 하는 것까지는 구현을 했다. 하지만 수정폼에 기존의 데이터를 어떻게 불러와서 보여지도록 하는지 감이 잡히지 않았다... 그래서 update_one의 기능을 다 찾아보고 하나씩 적용시켜 보았지만 내가 원하는 결과물을 얻을 수 없었다... 수많은 오류를 마주하며 시행착오 끝에 수정객체에 대한 API를 만들어야 하고 GET으로 불러오게 하고 수정완료 버튼 클릭 시 update_one을 할 수 있도록 해야 한다는 것을 알게 되었다. 같은 key값에 수정되는 새로운 값을 업데..