목록개발일지 (101)
뉴히의 개발 로그
타입스크립트 쉬운거 같으면서 왜케어렵냐구요 자꾸 타입에 없다고...undefined일수 잇다고...naver엔 안된다고 ㅎㅎㅎㅎㅎㅎ 호호호 api 받아오는 객체 내용을 몽땅 긁어와서 넣으니까 오류는 해결되긴했다. 아직 어떻게 쓰는지 몰라서 자꾸 막히고 당황시러니 바보가 되는거같구 ㅎㅎㅎㅎㅎ 강의돌려봐도 똑같고~~ 많이 작성해보자 팀원분 그러니까 지금 플젝 팀장님은 계속 모든 타입을 넣어보고 클릭해서 들어가서 타입들보면서 찾아보고 하면서 공부를 하신다고했다. 그래 영상 백번봐바야 ㅎㅎ계속 간단한거라도 만들어보자
정말 고심하고 고심하여 API를 찾고 고르고 주제를 선정하고 와이어프레임짜고 API 명세 작성하고, S.A 작성하고 구현기능 세분화도 다~ 하고 했는데.... 실제로 데이터를 불러와서 뿌려주려하니 이게무슨일 API 초대박 개떡같아서 ... 쓸수가 없을것 같았다. 정말 막노가다로 데이터를 필터링해서 우리만의 데이터를 만들까도 했는데 API를 쓰는 이유가 무엇인고 ? 튜터님께도 찾아가보았다 ㅎㅎ결론은 크게 다르지 않았지만 [VSCode] Thunder Client 배워따 API 요청을 테스트하는 VS 코드 확장팩 ㅎㅎㅎ API URL을 넣고 요청넘겨보면, 불러오는 시간, 데이터 개수 등등 정보를 알 수 있다! 회사에서는 실제로 postman이 많이 쓰인다고 한다 잘 이용해보자. 무튼 정말 제대로된 open ..
갈수록 할것은 산더미! 인데 시간이 너무 빨리간다 ㅎㅎㅎ typescript도 아직 너무 어색하고.. 타입스크립트가 타입추론을 알아서하는데.. 넌왜 그렇게하니? 하는 부분이 아직 너무 많다 ㅎㅎㅎ 객체형태의 타입선언을하고 그 타입의 데이터를 뿌려주려하면 자꾸 undefined일 수 있다고 하는데 if문이나 or 연산자등으로 해결을 한다쳐도 왜인지 ... 잘모르겟다 ㅎㅎㅎ 좀더 공부해보고 튜터님께 여쭤봐야겠다. 그리고.. 알고리즘 문제가 점점어려워 지는데 너무 오래걸린다 ㅠㅠ 초반에 알고리즘 공부를 게을리한탓...이겟지 팀원분들은 정해진 시간내에 딱딱 푸시는데 나는... 자꾸 문제이해가 안된다 헛짓거리로 반이상은 날리는듯? 책을 읽어야 되나? 수학 공부를 해야하나 ㅠㅠㅠ 문제 이해하는데 시간을 너무 잡아먹..
단순히 동작하게 작성하는 것에서 남이 봐도 이해할 수 있도록 작성하는 것 으로 코드를 바라보는 생각의 패러다임을 변경해야한다 클린코드는 비단 깨끗한 코드 그 자체를 넘어 개발자의 마인드셋과 직결되는 문제!! 1. 의미 있는 변수명/함수명 짓기 camelCase kebab-case snake_case PascalCase 코드 컨벤션에 맞게 변수명을 만들면 팀원이 마치 한사람이 짠 코드처럼 코드를 작성할 수 있다. 규칙적인 변수명은 모르는 부분의 코드도 빠르게 파악할 수 있다. 명확한 의미를 담아서 작성 / 길더라도 (약속되지 않은) 줄임말은 쓰지 않기 //bad let a = 1; let b = 86400; const gmName = "kim"; const gf = undefined; //good cons..
[ DNS ] Domain Name Service : IP 주소록 Root Level Domain / Top level Domain / Second Level Domain / Subdomain / Protocol Root DNS Server Root DNS Server는 DNS 계층 구조에서 가장 상위에 위치한 DNS 서버입니다. 모든 DNS 쿼리는 먼저 Root DNS Server에 도착하여 해당 도메인의 TLD(Top-Level Domain) DNS Server의 주소를 알아내야 합니다. Root DNS Server는 인터넷 상에서 전 세계에 총 13개가 운영되고 있으며, 이들은 전 세계의 인터넷 서비스 제공 업체들에 의해 운영됩니다. TLD DNS Server TLD DNS Server는 도메인 이..
import { createSlice } from '@reduxjs/toolkit'; import { Todo } from '../../model/todo'; import shortid from 'shortid'; const initialState: Todo[] = [ { id: shortid.generate(), title: '타입스크립트 lv2과제', contents: '리덕스 툴킷 사용 Todo 리스트 typescript로 만들기', isDone: false }, { id: shortid.generate(), title: '타입스크립트 lv1과제', contents: 'react lv1 과제 typescript로 만들기', isDone: true } ]; const todoListSlice = cr..
제네릭 타입 선언 type SuperPrint = (a: T[]) => T const superPrint : SuperPrint = (a) => a[0] const a = superPrint([1, 2, 3, 4]) const b = superPrint([true, false, true]) const c = superPrint(["a", "b", "c"]) const d = superPrint([1, 2, true, false, "hello"]) function superPrint(a: T[]){ return a[0] } const a = superPrint([1, 2, 3, 4]) // 안써주면 타입스크립트가 알아서 유추함 const b = superPrint([true, false, true]) co..
상위 컴포넌트에서 useState 함수를 넘길 때 마우스를 올리면 내려줘야할 적절한 타입을 제공해준다. 그럼 그대로 내려주면됨 깐깐하고 친절한 타입스크립트 ㅎㅎ React.Dispatch는 TypeScript에서 제공하는 제네릭(Generic) 타입으로, 상태를 업데이트하는 함수의 타입을 지정할 수 있도록 해준다. React.SetStateAction은 todos 상태를 업데이트하는 데 사용될 수 있는 다양한 값들의 유형을 정의합니다. 일반적으로 이 값은 새로운 상태를 나타내는 배열일 수 있지만, 타입에 따라 다른 값을 전달할 수도 있습니다. 예를 들어, 상태를 비우거나 초기값으로 되돌리기 위해 빈 배열을 전달하거나 이전 상태를 유지하기 위해 setTodos(todos)와 같이 현재 상태를 그대로 전달하..