반응형

JavaScript 5

[TypeScript] enum 을 사용하면 이놈!

TypeScript 를 사용하면서 부터 enum 자주 활용했습니다.특히 특정한 값의 집합을 정의하여, 타입에도 사용할 수 있고 Swagger 에서도 Parameter 로 정의해 아주 편리하게 사용할 수 있다는 장점이 있었습니다.하지만, enum은 여러 가지 문제를 일으킬 수 있어서 사용을 지양하는 것이 좋다는 것을 알게되었습니다.이번 글에서는 enum의 문제점과 대안에 대해 설명해 보겠습니다.1. enum의 문제점자바스크립트 코드 변환 시 불필요한 코드 증가TypeScript의 enum은 JavaScript로 변환될 때 불필요한 코드가 생성됩니다.enum Status { Pending: "PENDING", InProgress: "INPROGRESS", Done: "DONE",}위의 코드를 JavaS..

JS & TS 2025.02.28

[JS] 자바스크립트 sort 알고리즘 - Tim Sort

얼마 전 퀵 정렬 알고리즘을 공부하면서 간단하게 퀵 정렬 알고리즘을 구현해보았다. [정렬] 퀵 정렬 (tistory.com) [정렬] 퀵 정렬 퀵 정렬이란 기준 값을 선정하여 해당 값보다 작은 데이터와 큰 데이터로 분류하는 것을 반복해 정렬하는 알고리즘 입니다. 기준값에 따라 시간 복잡도가 평균 O(nlogn)에서 최악의 경우에는 O(n ² threezerosin.tistory.com 구현 후 테스트 겸 자바스크립트에서 제공하는 sort 메서드와 비교를 위해 랜덤한 배열을 만들고 시간을 비교해보았는데… 길이가 1,000인 배열을 정렬 길이가 10,000인 배열을 정렬 길이가 100,000인 배열을 정렬 위 결과와 같이 배열의 길이가 늘어날수록 sort 메서드가 정렬을 처리하는 속도가 빨랐다. (물론 내가..

JS & TS 2024.02.08

TDD 해보기 (2)_Mocking 이란

TDD 위해서는 Mock Test, Mock Function 이란 개념을 알고있어야만 합니다. 오늘은 Jest 에서 제공하는 Mock Function 을 통해 Mock Test 를 알아보겠습니다. 제일 먼저, Mock 이 무엇인가? Mock 혹은 Mocking이란 의미 그대로 모조품 즉, 가짜객체를 의미합니다. 주로 “단위” 테스트를 작성할 때 해당 코드가 의존하고 있는 부분을 가짜로 대체하는 것을 말합니다. 왜 사용하지? 의존성 분리 테스트 격리성 유지 위 두가지 를 위해 Mocking을 합니다. 좀 더 자세히 설명하면, 가짜 객체를 사용해 단일 모듈 또는 클래스를 테스트 할 수 있도록 돕는데, A 클래스 에서 사용하는 B 클래스의 메서드를 Mocking 함을로써 B 클래스에 대한 의존성을 분리할 수 ..

TDD 2024.02.06

[Greedy][javascript] 백준 1541번

1541번: 잃어버린 괄호 (acmicpc.net) 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연..

TDD 해보기 (1) (express, jest)

이전 글에서 TDD 에 대해 알아본 내용을 바탕으로 테스트 주도 개발을 해보자!!! TDD 란 (tistory.com) TDD 란 TTD 는 Test Driven Development 의 약자로 테스트 주도 개발을 말한다. 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 방식으로 개발을 진행한다. TDD threezerosin.tistory.com 사용 기술 Express Jest 1. Red → Green → Blue 순으로 개발을 진행합니다. 2. 제품 데이터를 Create 하는 기능을 개발합니다. Red : ProductController 클래스의 createProduct 기능을 설계 createProduct 메소드는 함수여야 한다. 해당 메서드는 pro..

TDD 2024.02.06
반응형