본문 바로가기

전체 글113

옵저버 패턴의 쓰임새 옵저버 패턴은 듣기는 한번씩 들었던 패턴의 이름이다. 헤드 퍼스트 디자인 패턴에서는 바로 사전적 정의를 알려주는 것보다 메커니즘을 위주로 말하기에 이게 뭐지 싶은 생각이 먼저 들고 시작한다. 찾아본 정의가 조금씩 다 달라서 개인적으로 찾아본 사전적 정의는 다음과 같다. "In software design and engineering, the observer pattern is a software design pattern in which an object, named the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by ca.. 2024. 4. 21.
직접 구현 하면서 이해해보는 전략패턴 취미로 게임 개발을 하면서 게임이 극한의 OOP라는 말이 있어서 전 부터 미뤄왔던 OOP에 대해서 공부하려고 헤드퍼스트디자인패턴이란 책을 E-Book으로 사서 보고 있다. 여기서 1장 내용이 디자인 패턴의 세계로 들어가보자는 내용인데 대략적인 객체지향 프로그래밍의 상속, 다형성, 오버로딩, 오버라이딩만 알고 있어도 쉽게 따라갈 수 있게 만든 좋은 책인 것 같다. 먼저 이 책은 JAVA로 기술되어 있지만, 나는 JAVA를 학교에서 배운게 다 이기에..... 그냥 평소에 알고리즘을 풀던 C++로 구현하였다. 그래서 구현상 오점이 있을수도 있으니 틀렸다면 댓글에 남겨주시길 바랍니다.... 1장은 전략패턴을 기술 해놓았는데, 예시는 다음과 같다. 오리(Duck)이라는 부모 클래스를 만들면, 소리를 낸다 던지(q.. 2024. 4. 14.
Somethink 리팩토링 현황 현재 전에 있던 somethink 프로젝트를 리팩토링 하는 작업을 수행중이다. 유지보수를 아예생각하지 않았던 코드라 남들이 보면 코드를 수정하기 너무 어려웠을거라 생각했다. 현재 나는 somethink에서 백엔드를 전담했으므로 서버 자체를 mvc 패턴으로 분리하여 사용할 생각이다. 또한 협력툴인만큼 수정 권한을 적용 하여 작업중인 워크스페이스 마다 행사할 수 있는 행동들을 제약하려고한다. 그리고 로그인에 jwt를 적용하여 redis에 accessToken 넣어 좀 더 효율적으로 사용 해볼 생각이다. 이미 위에서 말한 mvc 패턴으로의 분리는 완료 되었고, 권한 별 로직과 redis를 적용하는 일이 남았다. 또한 이 기회에 Testing code도 사용하여 좀 더 다양한 경험을 해보고 싶다. 2024. 2. 27.
Redis 캐시로 사용하기 전 상기 Redis의 데이터 타입 String 타입 모두가 대부분 알고 있듯이 자연스럽게 사용하는 String 타입으로 알고 있으면 된다. Counting 할 때도 사용할 수 있는데 INCR / INCRBY 등 ex) Set num : a 80 INCR num: a 를 통해 증감 연산을 하면 11이 반환된다. 또 INCRBY score:a 5를 이용하여 직접적으로 원하는 값만큼 올려주면 86이 반환된다. Bitmaps 스트링의 변형이라고 생각하면 되는데 비트구조로 이루어진 자료구조이다. Bits를 이용하여 counting 할 데이터를 넣을 수 있다. ex) SETBIT visitors:20210817 3 1 입력하면 0이 반환되고 해당 비트가 채워진다. 그냥 간단하게 엄청 큰 배열을 나열하고 체킹하는 용도로 사용.. 2024. 2. 14.