2022/12 60

221216 TIL

오늘 미니프로젝트를 시작했다. 주특기를 배우고 백엔드분들과 처음 협업하는 것이라 좀 두렵다. 백엔드분들은 이래저래 슥슥 api를 작성하고 팍팍 하는게 신기했다. 프론트엔드는 첫날 와이어프레임 짜고, api명세서 읽어보고, View를 작성하느라 정신이 없다. api명세서는 익숙하지도 않아서 이게왜 이건지,, 모를때도 많다... 오늘 희석님께서 SA작성을 주도하셨는데, 정책(제한사항)도 미리정하는 것이 신기했다. 또 github 협업 repo에서 project를 만들어 issue가 한 곳에서 확인이 가능 하도록 하는 것도 신기했다. 오늘은 딱히 trouble shooting도 없었다. 첨부파일의 크기를 확인하는정도? const foodImgChangeHandler = (e) => { //첨부파일 정보 변수화..

1차 공부/TIL 2022.12.17

221215 TIL

주특기 심화주차 팀프로젝트가 끝이 났다. 마지막에 배포하는 부분에서 문제가 발생했었다. db.json파일을 vercel로 배포했는데, vercel로 배포한 db.json은 읽기전용이어서 get요청은 잘 작동하지만, patch, post 등 데이터를 변경하는 행동은 작동하지 않았다. 다행히 동석님께서 도와주셔서 db.json을 복사해서 변환하고 그걸 동일화하는 작업을 설정해주셔서 해결이 되었지만 결국 또 동석님의 도움을 받아 ec2로 배포를 할 수 있었다. 배포는 너무 어렵다~

1차 공부/TIL 2022.12.15

221214 TIL

오늘 댓글 수정을 하는 버튼에대한 기능을 완성했는데, 수정하기 버튼을 누르면 이전에 있던 값이 input창에 미리 적어져있기를 바랬다. 그래서 수정버튼으로 수정하는 공간을 보이게 할 때 comment에 저장되어있는 commentdesc가 NewCommentDesc로 미리 setState를 해 input칸에 들어가있도록 설정했다. 아직 코로나기운이 많이 남아있어 너무 힘들다. 어지럽고 기침이나오고 목이아프고 빨리 나아서 금요일에 시작하는 프로젝트에 지장이 없으면 좋겠다.

1차 공부/TIL 2022.12.14

221214 스터디자료 env

환경변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임이다. 이름 자체에 어떤 변수값을 말하는데, os에서 자식프로세스를 생성할 때 참조하는 변수들 이라고 생각하면된다. env란 환경변수의 목록을 출력하거나 현존하는 환경을 수정하지 않고도 변경된 환경 내에서 다른 유틸리티를 실행하는데 사용할 수 있다. env를 사용함으로써 변수를 추가하거나 제거할 수 있으며, 기존 변수는 새로운 값을 이들에 할당함으로써 변경할 수 있다. dotenv는 환경변수를 .env라는 파일에 저장하고 process.env로 로드하는 의존성 모듈이다. 이를 사용하는 이류로는 개발과정에서 사용되는 고유 api key값, DB 접근 비밀번호 등 민감한 정보의 보안을 위해서다. 깃헙같이 오픈소스에 공개될 경우 ..

항해 4주차 주특기 숙련 WIL

이번주는 리덕스를 활용하여 입문주차때 했던 Todolist를 만드는 것이었다. 분명 props를 사용해 state를 내려주는 것 보다는 전역상태관리가 더 효율적이라는 것은 알겠지만, 공부하는데 너무 고통스러웠다. 전에 사용했던 props는 내가 직접 내려주고 받아서 사용하다보니 뭔가 직관적이어서 이해가 쉬웠는데, 중앙store에서 state를 관리하고 그것을 뿌려주는 형식이다보니 이해가 어려웠다. 클래스, 함수형 컴포넌트 각각의 lifecycle은 예전에 정리했었다. https://codingpracticenote.tistory.com/62 Hook이란? component의 lifecycle이란? component가 리렌더링되는 조건은? Hook이란 기존 class바탕의 코드를 작성할 필요 없이 상태 값..

1차 공부/WIL 2022.12.13

221213 TIL

토요일부터 상태가 좋지 않았다. 일요일에 강의를 다 듣고 코딩작업을 늦어도 월요일에 시작해야지 했는데 일요일에 상태가 매우 안좋아지더니 월요일에도 좋지않아 이틀 내리 쉬었다. 아무래도 목요일까지 과제 완성이고, 금요일부터 미니프로젝트 시작이다보니 더 쉴수는 없을 것 같아 오늘 다시 참석하여 강의를 듣고 코딩을 시작했다. 재정님께서 내 분량도 많이 도와주셔서 팀프로젝트는 많이 진행된 상태였다. 하지만 나는 강의도 듣지못했어서 일단 빠르게 thunk부분까지 듣고 코딩을 진행했다. 아직 optimize, customhook, s3배포를 듣지 못했는데, 이는 어느정도 코드를 완성하고 들어야겠다. 오늘 강의를 어느정도 듣고, 재정님과 다른분들이 진행하신 코드를 먼저 읽었다. 이해가 가지않는 부분은 강의와 비교해가..

1차 공부/TIL 2022.12.13

Thunk 두번째

확실히 쓰면서 이해하니까 어지러운 와중에도 머리속에 들어오는 것 같다. 사전 설정 1. json-server설치 및 서버가동 (db.json) { "todos": [] } 2. Slice로 todos 모듈 추가 구현 (이전 챕터에서 작성했던 todos 모듈 뼈대) // src/redux/modules/todosSlice.js import { createSlice } from "@reduxjs/toolkit"; const initialState = { todos: [], }; export const todosSlice = createSlice({ name: "todos", initialState, reducers: {}, }); export const {} = todosSlice.actions; expor..

thunk가 뭔데 도대체

안그래도 코로나 걸려서 정신이 없는데 json서버니 axios니 thunk니 나를 괴롭힌다. 머리에 들어오질 않고, 민들레 홀씨 퍼지는 것 마냥 날아가버려서 좀 정리해보려고한다. 리덕스에서 dispatch를 하면 action이 리듀서로 전달되고, 리듀서는 새로운 state를 반환합니다. 근데 미들웨어를 사용하면 이 과정 사이에 우리가 하고 싶은 작업들을 넣어서 할 수 있습니다. 만약 counter프로그램에서 더하기 버튼을 클릭했을 때 바로 +1을 더하지않고 3초를 기다렸다가 +1이 되도록 구현하려면 미들웨어를 사용하지 않고서는 구현할 수 없습니다. 왜냐하면 dispatch가 되자마자 바로 action이 리듀서로 달려가 새로운 state를 반환해버리기 때문입니다. 즉 여기서 '3초를 기다리는 작업'을 미들..

221213 UUID 공부자료

UUID란 Universally Unique IDentifier의 약자로, 전 세계에서의 고유한 ID라는 뜻이다. 설치 //npm npm install uuid //yarn yarn add uuid UUID를 생성하는 데는 4가지 방법이 있다. v1 : MAC 주소 (시간 기준으로 생성) v3 : MD5 해시 (MD5 해시 기준으로 생성) v4 : 랜덤 (랜덤값을 기반으로 생성) v5 : SHA-1 해시 (SHA-1 해시 기준으로 생성) import import { v1 as uuid } from "uuid"; import { v3 as uuid } from "uuid"; import { v4 as uuid } from "uuid"; import { v5 as uuid } from "uuid"; 사용하는..