클래스로 묶는 것은 항상 좋은 코드인가?

Today I Learned 날짜 2024년 5월 30일 목요일 내용 클래스로 묶는 목적 리스트 디자이너 고도화 작업중에 고민이 생겼다. 이번에 추가해야할 기능은 상품 자동진열 방식에 따라 자동으로 상품 목록을 업데이트 해주는 것이다. 위젯의 자동진열 기준이 판매량 순이라면, 매일 특정한 시간에 그 샵의 판매량 순서를 확인하고 변경이 있다면 위젯에 등록될 상품도 변경해줘야 한다. 기능 자체는 어찌어찌 만들었는데, 코드를 어디에 어떻게 배치해야 할지에 대해 나름 고민이 생겼다. 이 기능의 로직을 조금 더 작은 단위로 구별해보면 다음 순서로 이루어진다. ...

2024년 5월 30일 · 3 분 · 배준수

클래스

Class 클래스 : 어떤 ‘것’을 나타내는 필드(값)와 메서드(함수)를 가지는 객체를 만들기 위한 청사진 정의 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // 1) class 정의 class Vehicle { drive(): void { console.log('yeeeees'); } honk(): void { console.log('liverpool'); } } const vehicle = new Vehicle(); vehicle.drive(); vehicle.honk(); // 출력결과 // yeeeees // liverpool extends 다른 클래스의 메서드를 가져온다. ...

2023년 10월 5일 · 3 분 · 배준수

클래스(2)

책너두 5기 20일차 로버트 C. 마틴의 클린코드 p.180 ~ p.188 내용정리 10. 클래스 변경하기 쉬운 클래스 대다수 시스템은 지속적인 변경이 가해지고 그때마다 시스템이 의도대로 동작하지 않을 위험이 따른다. 따라서 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지 않는다. 읽고나서 오늘 읽을 분량의 대부분은 java와 sql 관련 코드들로 가득했다.. 확실한건 새 기능을 추가할 때, 기존의 것이 변경되지 않도록 시스템을 구성하는 것이 중요하다는 것! ...

2023년 8월 22일 · 1 분 · 배준수

멀티플레이 서버 공부

정글일지 59 날짜 2023년 6월 21일 수요일 계획 산성비 게임 서버 연결하여 중복처리 아바타 변환을 위한 API 서버 구현 멀티플레이 서버 공부 결과 Colyseus를 이용해 멀티플레이 구현하는데 감은 잡았다. 아직까지도 눈에 띄는 성과가 나오지 않고 있다. TIL javascript 현재 우리는 리액트를 기반으로 javascript(정확히는 typescript)로 구현 중이다. 필요한 api를 찾아서 적용할때 공식 document를 이해하는게 너무 힘들었다. 이제 어느정도는 감을 잡았다. Class라는 것에 크게 묶여 있다. 그 내부에 property라고 하는 작은 내부 구성요소들이 존재한다. 그리고 이 class를 바탕으로 method라고 하는 다양한 함수들이 정의된다. class를 정의할땐 property를 정의하고, constructor를 통해 초기화 한 이후 method들이 정의되어 있다. 물론 자세하고 정확한 개념은 더 공부가 필요하지만 현재 구현하면서 내린 결론은 이정도이다. 프로젝트가 끝나면 다시 공부해보자. ...

2023년 6월 21일 · 1 분 · 배준수