벌써 우테코의 프리코스 4주차가 시작되었습니다. 저는 이전 미션에서 Objcet.freeze()에 대한 개념을 알게 되었는데요, 간단하게 Object.freeze()에 대해서 짚고 넘어가보겠습니다. ❓Object.freeze() 메서드의 기능 단어에서 알 수 있듯이, feeze 즉 객체를 동결하는 기능을 가졌습니다. 예시를 먼저 들어볼게요. const obj = { name: "lurgi", age: 20, } obj.name = "jeong" //변경 가능 console.log(obj.name) //jeong 객체는 const 로 선언한다 하더라도, 키 값을 알면 수정이 가능한데요, 이 기능을 방지해주는 역할을 합니다 const obj = { name: "lurgi", age: 20, } Object...
이번 주 역시 너무나 많은 것을 배울 수 있는 좋은 시간을 보냈습니다. 2주 차와 동일하게 코드 리뷰를 통해 많은 것들을 배울 수 있었구요. 특히나 이번 주는 코드를 작성하면서 TDD에 대해서 깊게 생각해 볼 수 있는 시간이었어요. 저는 1주 차 때부터 TDD에 대한 내용을 공부하고, 3주간 이를 적용해 봤는데요, 이번 주가 되어서야 TDD의 본질적인 의미를 조금 이해한 느낌이 들었습니다! 아직 한참 멀었겠지만요🤣 🌱3주 차 미션을 시작하기 앞서 배운 것들 이번 주 역시 많은 분들이 코드 리뷰를 해준 덕분에 중요한 지식을 배울 수 있는 시간을 가졌습니다! 코드 리뷰를 하면서 ‘정규 표현식’으로 작성된 코드들을 보며 ‘이런 식으로 작성할 수 있구나!’ 깨달음을 얻게 되었죠. 지금 까지 미뤄왔던 정규 표현식..
❓팩토리 메서드 패턴? 팩토리 메서드 패턴은 팩토리 패턴에서 확장된 패턴이라 생각하시면 됩니다. 기존 팩토리 패턴은 객체의 생성을 처리하는 동작을 클래스 혹은 메서드로 분리하는 것을 말하는데요, 여기서 한 발 더 나아가 팩토리 메서드 패턴은 ‘서브 클래스’ 에서 구현하는 패턴을 말합니다. 팩토리 패턴은 여기서 자세하게 보실 수 있습니다! [디자인 패턴] 팩토리(Factory) 패턴 ❓팩토리 패턴 팩토리 패턴은 생성 패턴중에서도 가장 기본이 되는 패턴이라고 합니다. 객체 생성 처리를 위임하여 객체 지향의 문제점을 해결할 수 있다고 하네요. 객체 생성을 담당하는 동작 lurgi.tistory.com ❗팩토리 메서드의 예시 (JS) // 추상 동물 클래스 (인터페이스로 간주) class Animal { mak..
❓싱글턴 패턴? 싱글턴 패턴은 클래스의 인스턴스를 딱 하나로 고정시켜 놓도록 보장하는 패턴을 말합니다. 특정 클래스의 인스턴스가 오직 하나만 생성되기 때문에, 어디서든 그 인스턴스에 접근하더라도 하나의 인스턴스가 목적지가 됩니다. 싱글턴 패턴은 리소스 공유나 설정관리, 캐싱, 로그 새성과 같은 전역 상태를 가져야 하는 상황에서 사용되는 패턴입니다. 단일 인스턴스를 공유함으로써 리소스 낭비를 줄일 수 있고 일관된 상태를 유지할 수 있다는 것이죠! ❗싱글턴 패턴의 예시 (JS) 싱글턴 패턴의 예시를 자바스크립트 코드 보여드리겠습니다. class Singleton { constructor() { if (!Singleton.instance) { Singleton.instance = this; } return S..
❓팩토리 패턴 팩토리 패턴은 생성 패턴중에서도 가장 기본이 되는 패턴이라고 합니다. 객체 생성 처리를 위임하여 객체 지향의 문제점을 해결할 수 있다고 하네요. 객체 생성을 담당하는 동작을 별도의 클래스 혹은 별도의 메서드로 분리하여 객체의 생성 동작을 위임하는 것을 말합니다. 즉 객체의 생성을 캡슐화 한다는 것! ❓팩토리 패턴의 장점 팩토피 패턴은 객체 지향의 문제점을 해결해 준다고 할 수 있습니다. new 연산자를 사용해 직접 객체를 생성하는 것은 ‘강력한 결합’을 만들어 낼 수 있습니다. 팩토리 패턴을 통해 ‘느슨한 결합’으로 만들어 의존성을 떨어뜨릴 수 있다는 것입니다. ❗팩토리 패턴의 예시 (JS) class Korean { greeting () { return "안녕하세요" } } class A..
우테코 프리코스의 3주 차가 벌써 막바지에 다다랐습니다. 저는 현재 3주 차 미션의 리팩토링을 진행하고 있는데요, 저번 2주 차 피드백에서 “if문 대신 switch문을 쓰는 게 더 깔끔하게 보일 수 도 있다” 라는 피드백을 받았습니다. 이 피드백을 계기로 switch 구문과 If 구문의 차이점을 정확하게 알고 적시에 사용할 수 있는 역량을 길러보려고 합니다! 일단 저는 지금까지 개발 공부를 하며 switch 구문을 단 한 번도 사용해 본 적이 없습니다. 그리고 굳이 switch 구문을 사용해야 될 필요성도 못 느꼈죠. 그래서 if문의 설명은 생략하고, switch 구문의 특성부터 알아보도록 하겠습니다. ❓Switch 구문의 특성 1️⃣ 값에 따른 Case 분기 switch 구문에서의 case는 특정 변..