반응형

전체 글 357

[항해99] TIL 사전과제 스터디 D-11

적응이 되어서 그런지 생각보다 하루 일과가 일찍 끝났다? 근데 사실 막 일찍 끝난건 아닌게 저녁을 안먹었었니 대략 1시간정도 일찍 가는것이다.(현재시각 19시) 사실 강의들이 오늘 전체적으로 짧긴 했다 (지금보니 짧은 것도 짧은 거고 중심적인 내용들이 아니라 들어가는 입문 내용들이었다… react제외 ㅜ) 이래도 되나?.. 근데 오늘 뭐 안 한건 아니니까 약간 개발관련 도서들을 하루에 조금씩이라도 읽으면 좋을 것 같은데 개발 도서 나에게는 프로그래머의 길, 멘토에게 묻다 라는 책이 있긴 한데 이게 진짜 좋은 책이라고 강력 추천 받아서 사긴했지만 안 읽고 있긴 한데.. 하루에 조금씩이라도 읽으면 정말 좋긴 한데… 오늘의 react 이벤트 리스닝 및 이벤트 핸들러 컴포넌트에서 자바스크립트에 onclick이벤..

항해99 2022.07.01

3.Special Sort(버블정렬응용)

📌강의 정리 한 가지의 방법은 반복을 두 번 하는데, 첫번째 반복에서는 음수만 answer에 push하고 그 다음반복에는 양수만 answer에 push하는 것이다. 하지만 정렬의 정의에는 해당하지 않으므로 버블정렬을 사용하면 반복하며 앞과 뒤만 비교해서 양수, 음수면 바꾸고 양수양수, 음수음수면 가만히둔다. 📌느낀점 처음부터 뭔가 이상하긴 했다. 내가 본 문제제목에는 버블정렬응용이란 말이 없었는데… 알았다면 조금 쉬웠겠지만 만약 내가 진짜 구글인터뷰를 한다면 거기서 버블정렬응용하란 말은 안했을테니 같은 상황인 것 같다. 결국 나는 공간복잡도를 2개 늘리면서 정렬의 의미와는 멀어졌다. 이건 문제를 푼게 아니다… 다음에는 정렬에 맞게 풀어볼 수 있도록 하자. //나의 코드 //강사님 코드

[항해99] TIL 사전과제 스터디 D-12

오늘은 강의를 많이 봐서 힘들다 그래도 나름 열심히 했어 아니 근데 지금 자고 내일 일어나서 또 해야 된다… 고3인가?.. 강의 → 리마인드 → 강의 →리마인드 빠르게 한번 돌리기 위해 반복중이다. 효과가 있는지는 모르겠지만 안 하는 것보다는 마음이 편하다. 나는 프론트가 확실하다. node.js 내가 쓰면서도 무슨말을 쓰는지 모르겠다… 다음엔 더 잘 이해가 되겠지 오늘의 react 컴포넌트는 무엇이고 왜 쓰는지? 그냥 함수다 단 html의 표현하는 함수, 그리고 리액트의 전부이다. 함수인데 javascript코드도 쓸 수 있고 html로 표현할수도 있다. 선언적 방식과 명령적방식 자바스크립트는 명령적 방식인데 리액트는 선언적 방식이다. 훨씬 편하고 직관적이다. props 리액트에서 컴포넌트간에 데이터를..

항해99 2022.06.30

2.버블정렬

📌강의 정리 반복문을 두개 돌려서 정렬한다. 두번째 반복의 인수를 이용해서 배열의 원소를 차례로 전부 두개씩 비교한다. 두개씩 비교하며 뒤의 것이 작으면 앞과 뒤를 바꾸기 때문에 반복이 진행될때마다 제일 큰 수가 뒤로 가게된다. 📌느낀점 이번 역시 어렵지는 않았다. 단, 강사님께서는 조금이라도 횟수를 줄이기 위해 생각과 시도를 하셨다는점이 대단했다. 다 풀었다고 끝이 아니라 아주 조금이라도 복잡도를 줄이기 위해 고민해봐야한다. (특히 이런 배열관련 반복문제에서 끝까지 반복안해도 되는 경우) //나의 코드 //강사님 코드

[항해99] TIL 사전과제 스터디 D-13

모하투야 안녕~ 약 2주간 진행했던 모하투 프로젝트를 끝냈다. 사실 더 하고 싶은 욕심이 있었지만 더 잡았다가는 다른 걸 진행하지 못할 것 같아 효율을 위해 못내 놓아준 마음이 더 크다.. 어쩔 수 없는 이별이 이런 느낌일까 다음 프로젝트는 이번 프로젝트를 바탕으로 좀 더 치밀하게 짜야 겠다. 그래도 이번 프로젝트에서 얻은 성과들이 꽤 있다. 개발실력적으로도 협력의 관점에서도 많은 성장을 이루어낸것같다!(물론 내 주관이다..) 깃허브의 README에 적은 회고를 여기에 잠시 발췌해 보고자 한다. 회고록입니다. 14일간 프로젝트를 진행하며 정말 많은 것을 배웠습니다. 제일 의미가 있었던 것은 백엔드는 프론트엔드와는 정말 많이 다르다는 점 내가 아는 유일한 것은 나는 모른다는 점 익숙한 만큼 보인다는 점 이..

항해99 2022.06.29

1.선택정렬

📌강의 정리 반복문을 두개 돌려서 정렬한다. 처음의 반복에서는 i를 idx라는 이름으로 가져오고 두번째 반복에서는 idx와 j의 값을 비교해 작은 값을 idx의 값으로 지정해준다. 이렇게 반복을 돌리면 idx에는 제일 작은 j값이 들어가 있기에 구조분해할당을 써서 i와 idx의 값을 서로 바꿔준다. (이렇게 해야 원래 i에 있던값도 정렬되었을때의 제자리로 갈 수 있다.) 📌느낀점 어렵지는 않은 문제였으나 복잡도를 따지면 도저히 이해가 안되는 알고리즘이라 그 점이 힘들었다. 하지만 강사님의 코드를 보면 구조분해할당을 쓴 점과 코드의 간결함은 배울 점이 상당히 많았다. //나의 코드 //강사님 코드

[항해99] TIL 사전과제 스터디 D-14

프론트와 백의 퓨전 지금까지 하던 프로젝트의 templates파일들과 app.py를 합치는 작업을 했다. 처음부터 시행착오를 겪으며 하려던거였지만 생각보다도 더 어려웠다.. 이번에 느낀 것은 우선 지식이든 실력이든 다다익선이라는 아주 당연한 사실이다. 지금 필요한 것은? 요즘 다시 리액트를 공부하고 있지만 사실 노드도 새롭게 오늘 부터 공부하기 시작했다. 둘 다 정말 빠르게 듣고 있고 듣는 즉시 입으로 직접 말하며 복습해서 뭔가 자료가 남지는 않았지만 빨리 지식을 쌓고 실전으로 들어가는 것이 좋을 것 같다. 지금 필요한 것은 무엇일까.. 항상 어려운 질문이다. 공부는 항상 어렵다. 오늘 공부한 내용 let & const 화살표함수 export 와 import classes spread와 rest 연산자 ..

항해99 2022.06.28

7.교육과정설계(큐)

📌강의 정리 큐를 이용해서 두 개의 문자열을 비교하며 하나의 문자열이 제대로 규칙에 맞게 작성되었는지 확인하는 문제이다. 첫번째 문자열의 순서가 두번째 문자열에 그대로 있어야하며(문제에서는 선수과목으로 표현함) 첫번째 문자열에 있는게 두번째 문자열에 없어도 안된다. 이 문제는 첫번째 문자열을 split을 이용해 배열로 바꾼후 두번째 문자열을 하나씩 반복하여 우선 두번째 문자열의 문자가 첫번째에 있는지 확인하고 있다면 첫번째와 비교하여 첫번째의 문자열의 첫번째 문자와 같으면 첫번째 문자열에서 그걸 shift해주고 아니라면 바로 return해준다. 📌느낀점 문제를 살짝 어렵게 풀었던게 주어진 필수과목이 반드시 계획에 포함된다는 것을 캐치하지 못했다. 그래서 포함되지 않았을 경우도 포함하여 알고리즘을 짜느라 ..

[항해99] TIL 사전과제 스터디 D-15

git 지옥 만약 그동안 git을 등한시 했다면 그 죄는 여기서 받게된다. 알면 알수록 어려우며 다 이해했다고 생각해도 새로운 어려운점이 또 등장한다. 그래도 내가 이해한 방식을 설명해보자면 우선 프로젝트를 클론해온다. 브랜치를 새로 만든다. 내가 수정되는 내용들을 쭉 만들고 커밋하기 전에 pull main을 한다. 만약 여기서 main에 추가된 내용이 있다면 새롭게 다시 업데이트가 되며(기존의 내 코드는 사라지지 않는다.) 만약 내가 코드를 만들때 추가된 내용이 내가 만든 코드와 충돌된다면 이때 git에서 충돌된다고 알려줄테니 main을 보호할 수 있다. pull하고 나서 나의 브렌치에 우선 push를 하고 그런 다음 웹으로 가서 풀리퀘스트 요청을 한다. merge가 되면 기존의 브렌치를 삭제한다.(이..

항해99 2022.06.27

옵셔널 체이닝 '?.'

옵셔널 체이닝(optional chaining) ?.을 사용하면 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있습니다. 옵셔널 체이닝이 필요한 이유 사용자가 여러 명 있는데 그중 몇 명은 주소 정보를 가지고 있지 않다고 가정해봅시다. 이럴 때 user.address.street를 사용해 주소 정보에 접근하면 에러가 발생할 수 있습니다. let user = {}; // 주소 정보가 없는 사용자 alert(user.address.street); // TypeError: Cannot read property 'street' of undefined 또 다른 사례론 브라우저에서 동작하는 코드를 개발할 때 발생할 수 있는 문제가 있습니다. 자바스크립트를 사용해 페이지에 존재하지 않는 요소에 접근해 요..

반응형