목록기록/TIL(Today I Learned) (32)
코딩일상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FBXZa/btrQ5lymff3/Z6ObxGND1yKMKaubhDJBg1/img.png)
JSX사용법 Babel을 맨날 말로만 들어보다가 하는역할의 일부를 알게되었다. React가 JSX방식을 이해할수있도록 React.creatElement로 바꿔주는 역할을 하고있었다. 확실히 createElemnet보다는 JSX방식이 간단했는데 이를 변환해주는 것도 있다니.. 여긴 뭐 천재들의 세상인거 같다. React의 역할은 state가 바뀌면 다시 리렌더링을 해준다는것 React. memo 한번 렌더링이되었는데 바뀌지도 않은것에대해 다시 렌더링하지않도록 React에게 알려주는기능 React Top-Level API – React A JavaScript library for building user interfaces reactjs.org Props Components와 Props – React A J..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uPB11/btrQaJ83vBg/NIVhrye9Cb5HpM2MOALKB0/img.png)
절차지향 프로그래밍 { type CoffeeCup = { shots: number; hasMilk: boolean; }; const BEANS_GRAMM_PER_SHOT: number = 7; let coffeeBeans: number = 0; function makeCoffee(shots: number): CoffeeCup { if (coffeeBeans < shots * BEANS_GRAMM_PER_SHOT) { throw new Error("Not enough coffee beans!"); } coffeeBeans -= shots * BEANS_GRAMM_PER_SHOT; return { shots: shots, hasMilk: false, }; } coffeeBeans = 3 * BEANS_GRA..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dSBiIE/btrQb4rsNFQ/kJotEQB5f2tKHu3LEsDoV0/img.png)
계산기 함수 만들기 console.log(calculate('add', 1, 3)); // 4 console.log(calculate('substract', 3, 1)); // 2 console.log(calculate('multiply', 4, 2)); // 8 console.log(calculate('divide', 4, 2)); // 2 console.log(calculate('remainder', 5, 2)); // 1 위 조건을 이뤄낼수 있는 함수를 만들어내는것이었다. 어려운것이 아니지만 강사님이 작성한것과 내가 작성한것에 차이를 적으면서 비교를 기록으로 남기려고한다. 내가 만든함수방식 type Tool = 'add' | 'substract' | 'multiply' | 'divide' | 're..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wwMMA/btrPJFlqBD6/KD0XfK7KlHGNuQDrRgDV00/img.png)
요즘 node.js 백엔드 채용공고를 보니 TypeScript 를 다룰수있냐라는 부분이 너무 많이 보여 TypeScript 공부해야겠다는 생각이 들었다. 하지만 그냥 무작정 공부를 하는것보다 역시 이유가 있어야 좀 더 내가 공부를 하는데 목표와 동기가 생길것 같아 TypeScript가 왜 생겨 났으며? 뭐가 좋은지에 대해 알아 보았다. 타입스크립트란? JavaScript With Syntax For Types. TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tNX9G/btrPDltiLA6/5CciV4f0XpHreonjE1kHLK/img.png)
입사 면접 과제로 NewsApi를 이용하여 프로젝트를 만들면서 NewsApi 사용법에 대해 정리해보려고 한다. 이 API를 통해서 하니 정말 쉽게 전세계 곳곳의 News를 쉽게 가져올수 있어서 좋았다. NewsApi 소개 api명답게 news정보를 가져올수 있는 open api 이다. News API – Search News and Blog Articles on the Web “Ascender AI has a mission to apply AI to the media, and NewsAPI is one of our most valuable resources. Ascender is redefining how users interact with complex information, and the NewsAP..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/btbsgE/btrMjdGPB16/f1xF2OJAudUT5Jtck9WXV1/img.png)
현재 실전프로젝트 기능 서비스는 SNS의 특징들이 있다. 그렇기 때문에 팔로우 상대피드조회 활동게시물 저장등의 관계를 이루고있는 데이터들이 많아 당연하게 DB를 관계형DB인 SQL을 선택하게 되었다. 그렇기에 처음에 는 관계성DB의 장점이 데이터중복도 없이 각자의 관계를 통해서 현 서비스를 구현하였다. (누구한테나 그럴싸한 계획은 있다 ㅊ쳐.... 마ㅏ...기...) 그런데 가장 API요청이 많이가는 요청에 응답값을 주기 위해서는 단순하나의 테이블이 필요한게 아니라 메인인 todos테이블과 user,comment,challengTodo테이블의 데이터를 전부 가져와야 요구된 응답값을 줄수있게 되었다..... 그결과는 코드 복잡성을 높게 하였고...코드를 짜면서도 수많은 map함수 + findAll;.. 과..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Bvysr/btrL0UsghQ7/oRHmIS0tVJ8bH6AVjr14PK/img.png)
오늘의 한줄평 불편함이 나를 움직인다. 오늘 한 것 / 공부한 것/ 느낀 것 젠킨스 서버 재설정 실수한점:새로운 서버가 열려서 ssh를 통해 새로 열어야 했는데 그러지 못햇다. 나혼자만의 생각으로 설계를 미스했다. 협업을 하는만큼 좀 더 자주 의사 소통을 하자 ORM(sequlize)를 통해 이중조인이 가능하다는 점 알게된계기:ERD 재설정을 하면서 관계설정의 장점인 조인을 사용하다보니 혹시 sql처럼 이중조인이 우리가 쓰고 있는 ORM으로도 할 수있을까 document를 찾아보니 있었다... 그동안 map 함수를 써서 해결했던 부분을.. 덕분에 좀더 간결한 코드를 작성할 수있게 되었다. 깨달은점: 도구를 사용하게된다면 도구가 가진 기능들에 대해 최대한 파악 해놓자!! 리눅스 문서 편집 VI 기능 공부한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9RNlx/btrJ71gd2oP/9yHfglKfoqe95KrIdGvRCk/img.jpg)
오늘의 한줄평 준비를 철저히 해보자!!! 오늘 한 것 / 공부한 것/ 느낀 것 클로코딩 API 설계 및 ERD작성 담당 구현 부분인 유저(로그인, 회원가입, 중복체크등)기능 구현 도전해보고싶은 기능 목표설정(이메일 인증,에러헨들러,https, 소셜로그인, 실시간 채팅) 내일 할 것 장바구니 기능 구현 기능 합치고 전체 테스트 오늘 회고 벌써 실전프로젝트 전 마지막 주차이다. 시간이 정말 빠르게 가는것 같다. 이제 나름 기본적인 게시판 , 댓글, 유저 등등 CRUD는 빠르진 않지만 이해를 하고 활용하면서 구현을 해내는것 같다. 그리고 저번주차 였던 미니 프로젝트에서 데이터베이스 설계중 하나인 ERD를 실수를 하여 제대로 못했던 경험들을 삼아 요번에는 좀더 실질적인 데이터의 흐름을 고려하여 설계를 진행하였다..
오늘의 한줄평 하루하루 꾸준히 정진하자 오늘 한 것 / 공부한 것/ 느낀 것 미니프로젝트 담당 기능 구현 완료 SQL 강의 4강 듣기(조금은 더 친해지고 익숙해진것 같다.) 내일 할 것 E2E오류 체크 전체 과정 체크 오늘 회고 오늘은 오전 오후 저녁이렇게 계획을 했던대로 문제가 없이진행이 되었다. 음 그래서 더 불안한것도 많다. 이렇게 잘될리가 없는데 아마 내일 무언가 큰 응급처치를 해야할수도 있을것 같다는 느낌? 역시 아직까지도 부족한게 너무 많다고 느끼며, 차근차근 나아가자 오늘은 무엇을 적어야 할지 애매하다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byWEKz/btrJC5Q7WiE/q7B1bjKaLCnFKZPNMpipz1/img.jpg)
오늘의 한줄평 모르는 것에 대해 두려워하지 말자!! 근데 언제 스스로 문제를 해결해나갈 수 있을까..ㅜ 오늘 한 것 / 공부한 것/ 느낀 것 ERD작성을 하면서 관계형데이터에대해 좀 더 공부 SQL강좌 공부 및 정리 관계형 데이터 구현 내일 할 것 SQL 남은 강의 마져 듣기 DB구성 오늘 회고 오늘 하루도 어떻게 지나갔는지 모를 만큼 하루가 빨리 갔다. 오전에 빠르게 과제를 해결하고 db의 관계형 데이터를 만들어 보려고 하였다. 하지만 공식사이트와 온갖 예제를 찾아보아도 답을 찾을 수가 없어서, 도대체 어떻게 해결해야하지 막막함만 들었었다. 한글 문서에서 찾을수없어서 영어로 검색을 하였는데도, 봐도... 이해를 할 수가 없어서 큰 답답함을 느꼈다. 앞으로도 모르는 기능이 나와도 스스로 어느 정도 해결할..