본문 바로가기

전체 글

(70)
[Typescript] Utility Types 공식문서: https://www.typescriptlang.org/ko/docs/handbook/utility-types.html Documentation - Utility Types Types which are globally included in TypeScript www.typescriptlang.org Typescript 를 더 잘 활용하고 싶다면 Utility types를 써보도록 하자. Partial interface Person { name:string; age:number; favoriteFood:string; } const update=(person:Person, updatedData:Partial) =>{ return {...person, ...updatedData} } const Jo..
[TS] type narrowing, discriminated union 타입스크립트 공식문서 :https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions Documentation - Narrowing Understand how TypeScript uses JavaScript knowledge to reduce the amount of type syntax in your projects. www.typescriptlang.org 서버에 api 요청을 보냈다. 요청이 별 문제 없이 성공할 경우 내가 원하는 데이터가 넘어올 것이고 요청이 실패한다면 넘어오지 않을 것이다. 이 때 에러처리를 위해서 요청이 실패할 경우, 각 경우에 맞는 에러객체를 만들어서 반환하도록 설계해보자. 그러면 이제 ap..
[JS]proxy pattern Proxy Pattern : 디자인패턴 중 하나. Proxy는 객체를 지켜보다가 객체에 특정한 행동을 할 때 (getter로 필드 값을 가져오거나 setter로 필드 값을 설정하거나 constructure로 인스턴스를 생성하거나) 설정해놓은 핸들러(메소드)를 거치게 하는 스펙이다. 간단한 예로 person이라는 객체가 있고 그 객체를 프록시로 감싸보자. const person = {name:'Heather', age:29} const proxyPerson = new Proxy(person, { // 여기서 원하는 행동을 선언해준다. } 첫번째 인자로는 지켜보고자 하는 객체를 받고 두번째 인자로는 핸들러 객체를 받는다. 핸들러 객체에는 내장 메소드가 정해져 있다. 간단한 get과 set을 써보자 const..
2022 회고 4L (Liked, Lacked, Learned, Longed for) with DP(Delibrate Practice)스터디 그룹 Liked (좋았던 점) 새로운 사람들을 많이 만났다. 모두모두 너무 좋은 사람들이라 인생이 한층 풍성해졌다. 프로그래밍 공부를 시작했다. 나에게 맞는 분야를 추천해주고 로드맵을 그려주는 친구가 있어서 정말 고마웠다. 프로그래밍은 놀랍게도 재밌고 성취감이 느껴지는 분야이다. 오래도록(영원히는 모르겠지만) 할 수 있는 진로를 찾았다는 게 놀랍고 그게 개발자라는 게 더 놀랍다. 사람과의 접촉이 지속적으로 있어서 공부하며 보내는 시간들이 외롭지 않았다. 룸메가 있었고 스터디원들이 있었고 책모임과 생일모임이 있었다. 같이 공부하는 입장인 언니와 자주 만나 함께 공부하며 이야기 나누는 시간들이 공부의 시간동안 힘이 많이 되었다. 조카들의 성장을 가까이서..
[JS] 싱글톤(singleton) 패턴 클래스 / 생성자 함수 이름과 나이를 가진 사람이란 객체가 있다. printGreeting 메소드를 호출하면 이름과 나이를 넣어 인사를 한다. "사람을 여러명 만들고 싶다." 고 하자. 이름과 나이를 넣으면 새로운 사람 객체를 만들어주는 클래스 혹은 생성자 함수를 생성하면 된다. //Person.js class Person { constructure(name, age){ this.name = name; this.age = age; } printGreeting(){ console.log(`Hi, I'm ${this.name}. ${this.age} years old.`); } } export default Person; 인스턴스 클래스로 만든 새로운 객체를 '인스턴스'라고 한다. 아래 헤더 인스턴스와 애슐..
How I've Studied English 애증의 영어 지인들 중 새해 목표로 영어공부를 세우지 않는 사람들이 거의 없다. 물론 언어는 평생 공부하고 평생 익혀야하는 영역이라(프로그래밍과 비슷하구나) 매년 공부하겠다는 다짐이 틀린건 아니다. 다만 모두가 알듯이 비슷한 수준에서 계속 머무르며 비슷한 수준의 다짐을 반복하다는 것이다. 해외여행을 다녀오거나 커리어 스텝업을 위해 영어공부의 필요성을 절절히 느끼고 열심히 해야지 다짐한다. ⬇️ 단어를 외우고 책을 사고 영상을 보고 열심히 한다. ⬇️ 점차 뜸해진다. ⬇️ 잘 안하게 된다. ⬇️ 마음 속 한구석 짐으로 영어공부를 떨치지 못하며 살아간다. ⬇️ 다시 결심을 다지고 위를 반복한다. 이 글에서는 영어공부를 오랜기간 해온 사람으로서, 영어를 좋아하는 사람으로서 내가 지금 수준으로 영어를 구사하기까..
[우테코5기] 최종 코딩테스트 우테코란? 우테코는 우아한 테크 코스의 줄임말으로 배달의 민족을 운영하는 기업인 우아한형제들에서 진행하는 개발자부트캠프다. 양질의 교육을 제공하면서 수강생들이 자발적으로 공부하고 탐구하는 것을 독려하며 동기들과 함께 자라는 것을 경험할 수 있는 프로그램이다. 이번 우테코는 기존 '지원서- 코딩테스트- 면접- 프리코스- 최종합격'의 코스와 다르게 '지원서-프리코스-최종 코딩테스트'의 과정으로 이루어졌는데 특별했던 점은 프로코스를 모든 지원생들에게 제공한다는 점이었다. 프리코스에서는 과제를 수행하는 미션을 받고 1주일간 해당 미션을 구현해 제출하면 된다. 총 4주의 과정이었고 매주 해당 미션의 전체 피드백을 받아볼 수 있었고 그를 기반으로 다음 미션에 좀 더 나은 코드컨벤션과 스타일로 코드를 작성할 수 있었..
[코딩 인터뷰] 교육플랫폼 라이브코딩 인터뷰 후기 결론부터 말하면 잘 못했고 재밌었다! 인성면접이나 기술면접에 해당하는 질문 하나 없이 정말 문제 한가지를 열심히 푸는 면접이었다. 문제는 비교적 간단했고 분위기는 캐주얼했고 면접관분은 친절하셨다. // 0을 포함한 홀수를 가진 배열이 [0, 2n-1] 존재할 때 배열에서 빠진 수를 찾아 반환하라. // 배열에는 2n-1보다 작거가 같은 모든 홀수가 들어있어야 한다. // (n은 배열의 길이) input = [0,1,3] output = 5 문제를 이해하는데도 한참 걸렸다. 그래서 질문을 계속하고 예시를 계속 들어주셨음..ㅎㅎㅎ n은 배열의 길이라 [0,1,3]이 들어오면 3이 되고 2n-1 = 5가 되면서 5보다 작거나 같은 모든 홀수와 0 중에 배열에 없는 수를 반환해야 하는 문제였다. 처음엔 아주 단..