반응형

전체 글 357

3.크레인 인형뽑기(스택):카카오

📌강의 정리 forEach와 반복문을 사용해서 주어진 2차원 배열에서 0이 아닐때까지 반복했다가 0이 아니면 그 숫자를 stack에 넣어주되 넣기전에 그 숫자가 stack에 쌓여있던 숫자와 같은지 비교하고 같으면 answer+=2하고 아니면 그냥 stack에 넣어준다. 📌느낀점 이번문제는 문제의 이해에서 두번 돌아갔다. 알고리즘 또한 막 어려운건 없지만 세세하게 까다로운 조건들이 있었으며 그래서 시간이 조금 오래걸린것같다.. forEach를 썼다면 조금 더 편했을 수 있었기에 항상 메서드들을 잘 활용할 줄 알아야겠다. //나의코드 //강사님 코드

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

오늘의 결실 어쩌면 스파르타 첫주에 하게 될 로그인 기능의 거의 모든 것의 뼈대를 구현했다. 또 그 뼈대 코드를 내 나름대로 최선을 다해 a-z까지 다 설명했다. 사실 이 부분에서 뭔가 괜한 짓을 했나 생각이 들기도 한다. (팀원분들이 좋으신분들이라 다행이지 이 행동은 내 뼈대코드가 좋을수록 영향력을 선사하게 되고 그러면 백엔드분들의 그동안의 코드를 무시하게 되는 결과로 이어질 수 있는것 또한 분명한 사실이기 때문이다.) 사실 어떻게 보면 그 설명의 과정에서 제일 로그인에대해 배운사람은 나일 것이다. 나의 이득을 취하고 더더욱 이기적이었나 생각이 들기도 한다. 다시금 생각하게 된다. 오늘의 이게 “미움받을 용기”가 맞았는지.. 답은 언제나 “모르겠다”이지만 다음에는 좀 더 성숙하고 성장하기를 바라며 적어..

항해99 2022.06.23

참조에 의한 객체 복사

객체와 원시 타입의 근본적인 차이 중 하나는 객체는 ‘참조에 의해(by reference)’ 저장되고 복사된다는 것입니다. let message = "Hello!"; let phrase = message; 그런데 객체의 동작방식은 이와 다릅니다. 변수엔 객체가 그대로 저장되는 것이 아니라, 객체가 저장되어있는 '메모리 주소’인 객체에 대한 '참조 값’이 저장됩니다. 그림을 통해 변수 user에 객체를 할당할 때 무슨 일이 일어나는지 알아봅시다. let user = { name: "John" }; 객체는 메모리 내 어딘가에 저장되고, 변수 user엔 객체를 '참조’할 수 있는 값이 저장됩니다. 따라서 객체가 할당된 변수를 복사할 땐 객체의 참조 값이 복사되고 객체는 복사되지 않습니다. let user = ..

18. 리덕스 미들웨어를 통한 비동기 작업 관리(1)

리액트 웹 애플리케이션에서 API 서버를 연동할 때는 API 요청에 대한 상태도 잘 관리해야 합니다. 예를 들어 요청이 시작되었을 때는 로딩 중임을, 요청이 성공하거나 실패했을 때는 로딩이 끝났음을 명시해야 합니다. 요청이 성공하면 서버에서 받아 온 응답에 대한 상태를 관리하고, 요청이 실패하면 서버에서 반환한 에러에 대한 상태를 관리해야 합니다. 리액트 프로젝트에서 리덕스를 사용하고 있으며 이러한 비동기 작업을 관리해야 한다면, ‘미들웨어(middleware)’를 사용하여 매우 효율적이고 편하게 상태 관리를 할 수 있습니다. 미들웨어란? 리덕스 미들웨어는 액션을 디스패치했을 때 리듀서에서 이를 처리하기에 앞서 사전에 지정된 작업들을 실행합니다. 미들웨어는 액션과 리듀서 사이의 중간자라고 볼 수 있습니다..

2.괄호 문자 제거(스택)

📌강의 정리 문자열 내의 괄호안의 문자들을 전부 제거하는 문제였다. for문을 돌리며 문자들을 계속 스택에 쌓다가 “)”를 만나면 “(”까지의 모든 스택에 쌓인 모든 문자들을 pop해준다. 📌느낀점 이번에는 복잡도로만 따지면 내 풀이가 조금 더 괜찮지 않나? 하는 생각도 살짝 들기는 한다. 스택에 와서는 알고리즘 실력이 조금 늘어서인지 아직 여유가 있는 것 같다. 좋다. //나의 코드 //강사님 코드

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

오늘의 목표 [x] detail.html의 style 수정하기 [x] 팀 github 다시 만들기 [x] 내 분량 올리기 [x] 몽고DB 폴더 나누는법 찾아보기 [ ] 만화록을 존경장처럼 리팩토링 계획짜기 언제나 계획짜는게 어렵다... 백엔드(jwt, jinja, route)를 연습할 수 있는 코드 항해99의 첫프로젝트에서 백엔드분야에 나오는 키워드들을 하나의 계단형식의 예제를 만들면 좋을 것 같아 오늘 실행에 옮겼다. 우선 1단계는 flask의 route와 render_template를 이용하여 라우팅 기능을 구현하는것 2단계는 jinja와 DB를 이용하여 index가 렌더링 되었을때 DB에 저장된 내용을 화면에 뿌려주는 기능 마지막 3단계는 jwt와 cookie를 이용하여 로그인 기능을 작게나마 구현..

항해99 2022.06.22

17. 리덕스를 사용하여 리액트 애플리케이션 상태 관리하기(3)

최종 구조 App ├─ Counter Container │ └─ Counter Component └─ Todos Container └─ Todos Component 리액트 애플리케이션에 리덕스 적용하기 요약 루트 리듀서 만들기 counter와 todo 모듈을 설정하면 counter 리듀서와 todo 리듀서 두 개가 생성된다. 리덕스에서 제공하는 combineReducers 유틸함수를 통해 modules/index.js에서 rootReducer 생성한다 const rootReducer = combineReducers({ counter, todos }) 스토어 생성하기 redux의 createStore 함수로 src/index.js에 생성 ( 전역으로 사용하기 때문에 ) Provider 컴포넌트를 사용하여 ..

객체

자료형챕터에서 배웠듯이 자바스크립트엔 여덟 가지 자료형이 있습니다. 이 중 일곱 개는 오직 하나의 데이터(문자열, 숫자 등)만 담을 수 있어 '원시형(primitive type)'이라 부릅니다. 그런데 객체형은 원시형과 달리 다양한 데이터를 담을 수 있습니다. 키로 구분된 데이터 집합이나 복잡한 개체(entity)를 저장할 수 있죠. 객체는 자바스크립트 거의 모든 면에 녹아있는 개념이므로 자바스크립트를 잘 다루려면 객체를 잘 이해하고 있어야 합니다. 서랍장을 상상하면 객체를 이해하기 쉽습니다. 서랍장 안 파일은 프로퍼티, 파일 각각에 붙어있는 이름표는 객체의 키라고 생각하시면 됩니다. 복잡한 서랍장 안에서 이름표를 보고 원하는 파일을 쉽게 찾을 수 있듯이, 객체에선 키를 이용해 프로퍼티를 쉽게 찾을 수 ..

1.올바른 괄호(스택)

📌강의 정리 괄호가 제대로 성립하지 확인하는 문제이다. 스택이란 자료구조를 사용한다. 반복문으로 문자열을 반복하며 그 문자들을 봐서 ( 일때는 스택에 쌓고 ) 일때는 스택에서 ( 를 뺀다. 이때 스택에 아무것도 없는데 ) 가 나오면 괄호가 성립안되므로 NO를 리턴한다. 반복이 끝나고 스택의 길이가 0이면 YES 아니면 NO이다. 📌느낀점 알고리즘을 구현하는건 쉬웠지만 문제를 제대로 이해하지못했다. 지금 생각해보면 괄호가 성립되어야 하므로 나중에 ) 가 스택0일때 나오면 NO가 맞고 또 알고리즘짤때도’ ) 가 먼저 나오면 어떻게 처리해야하지’ 를 생각했어야 했는데 그걸 생각못했다.. 알고리즘 짤때 짜기전에 미리 생각을 많이 하고 흐름을 만들어둬야 한다. //나의 코드 //강사님 코드

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

여러가지를 했지만 지금 기억에 남는건 크게 뭔가 없다… 진짜 하면서 계속해서 메모를 해야한다. 오늘은 여러가지 js와 flask에서의 오류들을 발견했다. 에러 모음집 그래도 오늘 에러모음들을 작게나마 정리했어서 그걸 올린다. 예비군 국가가 나에게 1년에 한번씩 주는 체력단련 이번에는 가게 되었다… 날짜가 오묘한게 항해 시작하고 이틀뒤인데 어떻게든 진도를 좀 빼놓고 가야 그때의 팀원들에게 덜 미안할 것 같다… 팀원들에게 미리 사과의 말을 전해본다... 어쩌다보니 저녁을 못먹었다. 현재 시각은 21:26 저녁 먹으러 출발! AttributeError: 'str' object has no attribute 'decode' 에러 파이썬의 app.py에서 위와 같은 에러가 뜬다면 뒤의 .decode()를 지우면 ..

항해99 2022.06.21
반응형