일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 디버깅
- 자바스크립트
- JDBC
- 머신러닝
- 혼공머신
- 상속
- 연습문제
- SQL
- html/css
- 컴퓨터구조
- 파이썬
- JSP
- 순환신경망
- 중학1-1
- 데이터분석
- 정보처리기사필기
- 딥러닝
- 자바스크립트심화
- 쇼핑몰홈페이지제작
- 자바 실습
- 컴퓨터비전
- JSP/Servlet
- 자바
- 정보처리기사실기
- rnn
- ChatGPT
- 데이터베이스
- 타입스크립트심화
- 개발일기
- 중학수학
- Today
- Total
목록2024/12/27 (18)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
슬슬 잠이 오려고 한다. 오늘 적어도 2주 차 학습까지 마치고 싶은데 말이다. 이론 5 - Method Decorator 퀴즈 5 - 메서드 데코레이터 메서드 데코레이터 안에서 메서드를 교체하려면 property descriptor 안에 있는 value 프로퍼티를 새 함수인 decoratorFunc로 변경해야 한다. 그래서 ???에는 decoratorFunc가 들어가야 한다. 다시 풀어보기이 문제는 메서드 데코레이터(function) 안에서 메서드를 바꾸기 위한 코드를 작성하는 것이다. 메서드 데코레이터는 클래스의 메서드에 적용되어, 메서드가 호출될 때 특정한 행동을 하거나 함수에 수정이 필요할 때 유용하다. 이 문제에서는 decorator..
이번에는 클래스 데코레이터에 대해서 학습해 보겠다. 이론 4 - Class Decorator 값을 반환하는 경우도 있다. 타입 에러가 나지만 실제로는 접근 가능하다. 퀴즈 4 - 클래스 데코레이터 아무리 봐도 모르겠기에 찍었다. 문제에 대한 해설은 다음과 같다. 문제에 대한 설명먼저, 문제에서 주어진 코드에는 addGenre라는 함수가 있다. 이 함수는 문자열인 genreArg를 매개변수로 받아들이고, 하나의 인자를 가진 함수를 반환한다.addGenre 함수 안에서는 클래스 데코레이터 역할을 하는 함수가 정의되어 있다. 이 함수는 제네릭 타입(T)과 생성자 함수(constructor)를 매개변수로 받아들인다. return 문에서는 class exte..
3장 Decorator Factory에 대해서 학습을 진행해 보겠다. 여기까지만 하고 조금 쉬었다가 남은 공부를 진행해보려고 한다. 이론 3 - Decorator Factory 이 세 개 외에 다른 추가적인 인자를 주고 싶을 때 사용한다. 퀴즈 3 - 데코레이터 팩토리 이 문제는 틀렸다. 설명을 보며 다시 풀어보겠다.먼저 데코레이터 팩토리인 enumerable 함수에서 매개변수 value를 선언해보자. value의 타입은 boolean이다. enumerable 함수 내부에서는 return을 통해 새로운 함수를 반환하는데, 이 함수의 매개변수는target, propertyKey, descriptor이다. greet 메서드에 @enumerable(false)라는 데코레이터를 ..
두 번째 이론 수업을 시작해 보겠다. 강의가 무척 길지만 듣다 보면 금방 시간이 갈 것 같다. 이번 수업은 7시 반까지 마쳐야지. 이론 2 - 데코레이터를 쓰기 전 알아야 할 자바스크립트 개념 함수가 함수를 반환하는 함수를 고차 함수라고 한다. 함수가 일급 객체라는 말은 값으로 사용될 수 있다는 말이다. 코드가 실행되는 시점을 늦추기 위해 함수로 한번 더 감싸서 실행하기도 한다. 메서드와 함께 인스턴스를 함께 전달해야 한다. 설명자는 그 자체로 객체이다. 퀴즈 2 - 데코레이터를 쓰기 전 알아야 할 자바스크립트 개념 학습을 마치고문제까지 모두 잘 풀고 데코레이터의 기초 학습을 마쳤다. 다음 수업부터는 좀 ..
2주 차 새로운 단원을 시작해보려고 한다. 1주 차 공부는 정말 힘들었고 지루함과 하기 싫은 마음과 싸우느라 힘든 싸움을 해야 했다. 하지만 2주 차부터는 좀 더 즐겁게 공부하고 싶다.이번 학습도 단원이 굉장히 많지만 하나씩 달성해볼 것이다. 이론 1 - 데코레이터의 정의 데코레이터를 쓰지 않았을 때는 같은 코드가 반복되는 것을 볼 수 있다. 해당 코드가 해야 하는 역할에서 벗어나 시간을 측정하는 기능도 하고 있다. 따라서 단일책임의 원칙에 어긋난다. 원래 해당 메서드가 해야 하는 역할만 들어있어 가독성이 좋아지고 단일책임 원칙에도 지키게 된다. 퀴즈 1 - 데코레이터의 정의 학습을 마치고데코레이터에 대해서 공부해보았다. 기초에서도 ..
1주 차 과정의 마지막 이론 수업이다. 얼마나 힘이 들었는지 모른다. 하지만 아직도 공부할 게 정말 많고 이제 겨우 첫 발을 내딘 것이다. 이론 7 - Index Signature 인덱스 시그니처는 똑같은 것을 선언할 수 없다. 퀴즈 9 - Index signature 이 문제도 역시 틀렸다. 먼저, Headers 타입을 정의해보자. 이때, index signature를 사용해서 key와 value의 타입을 정해준다. Headers타입을 정의할 때, key의 타입은 string이고, value의 타입도 string이다.그래서 Headers 타입을 다음과 같이 정의할 수 있다.type Headers = { [field: string]: string;}; ..
다음으로는 Type Assertion에 대해서 공부해 보겠다. 이론 6 - Type Assertion 타입을 이렇게 명시해 줄 수 있다. type assertion은 실제 값은 변하지 않고 타입만 명시해 주는 것을 말한다. assertion을 하면 someValue는 string이 된다. as 키워드를 사용할 수도 있다. 따라서 as 키워드로 사용하는 것이 더 좋다. 타입 단언은 개발자의 말을 믿기에 빈 객체임에도 에러가 나지 않는다. 타입 선언은 모두 채우지 않으면 오류가 나기 때문에 타입 선언을 하는 것이 좋다. 퀴즈 8 - Type Assertion 실습 7 - Type Assertion 타입 캐스팅은 타입을 변환하는 것이고, 타입 assert..
이번에는 오버로딩 함수에 대해서 공부해 보겠다. 이론 5 - Fuction Overloading id가 string일 수도 number 타입이 될 수도 있다. 그럴 때 함수 오버로딩을 선언해 준다. 매개변수 타입은 다를 수도 있다. 파라미터에 들어갈 타입이 무엇인지 알고 있으면 함수 오버로딩을, 어떤 타입이 올지 모르거나 타입을 다양하게 사용하고 싶을 때 제네릭을 사용하면 된다. 퀴즈 7 - Function Overloading 이 문제는 틀렸다. 어떤 문제든 한 번에 맞히기는 힘든 것 같다.먼저, 함수 오버로딩이 무엇인지 알아보자. 함수 오버로딩은 같은 이름을 가진 여러 개의 함수를 만드는 것이다. 이 함수들은 서로 다른 매개변수의 개수나 타입을..
이어서 다음 학습도 진행해 보겠다. 이 용어도 처음 들어본다. 이론 4 - Nullish Coalescing Operator falsy하면 B를 아니면 A를 반환하는 값이다. 이 둘은 기본값을 설정할 때 사용되지만, 작동 방식에 중요한 차이가 있다. ?? (Nullish Coalescing Operator)??는 값이 null 또는 undefined인 경우에만 오른쪽 값을 반환한다.다른 Falsy 값(0, false, NaN, '')은 그대로 반환한다.price가 0일 때도 유효한 값으로 간주되므로, 의도대로 동작한다. 퀴즈 6 - Nullish Coalescing Operator 하지만 틀리고 말았다. 이 문제는 다음과 같이 진행된다.먼저, HelloBot 클래스의 setN..
점심을 먹고 조금 쉰다는 것이 2시간 반이나 놀고 말았다. 쉬면서 지난 3년 간의 다이어리도 정리하고 올해 새로운 마음으로 굿노트 다이어리를 다시 쓸 수 있을 것 같아 개운해졌다.이제 잘 쉬었으니 앞으로 4시간 동안 정말 열심히 공부할 생각이다. 그럼 공부를 시작해 보겠다. 이론 3 - Optional Chaining Optional Chaining은 객체가 null 또는 undefined이면 undefined를 리턴하는 것이다. data라는 객체에서 프로퍼티를 사용하려고 할 때 if를 작성하지 않고 넘어가게 하려면 물음표를 사용하면 된다. optional과 자주 비교되는 연산자이다. falsy는 false로 평가될 수 있는 값이다. hasTail이 true이면 뒤에 dog.살랑살랑을 실..