일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 커밋 메시지
- 프리코스
- 구글 플레이 스토어 배포 방법
- 객체지향
- 클린코드
- 우테코
- 설계
- 구글 플레이 비공개 테스트
- 구글 비공개 테스트 20명
- git
- 플레이스토어 비공개 테스트
- 기능명세서
- 객체지향설계
- 플레이 스토어 20명
- 운영체제 #CS지식
목록전체 글 (48)
GYUD-TECH

기능 중심 vs 구조 중심 해운대에 가기 위해서 길을 알아봐야 한다면, 아래 2가지 방법을 사용할 수 있다. 부산에 사는 친구에게 해운대에 어떻게 가는지 물어본다. 부산 지도를 보고 해운대로 가는 길을 직접 찾는다. 1번 방법을 사용하면, 해운대에 가는 방법은 빠르게 알 수 있다. 하지만 목적지가 변경되어 광안리로 가야하는 상황에서는 다시 광안리로 가는 길을 물어보아야 한다. 이전에 썻던 방법을 재사용 할 수 없는 것이다. 하지만, 2번 방법을 사용하면, 목적지가 변경되더라도 똑같은 방법을 사용하여 길을 찾을 수 있다. 구체적으로 해운대로 가는 방법에 초점을 맞추지 않고, 전체적인 구조에 초점을 맞추었기 때문이다. 목적지가 해운대에서 광안리로 바뀐 것처럼, 프로그램에서도 요구사항은 계속 변한다. 요구사항..

5. 책임과 메시지 자율적인 객체 자율적이라는 말은 자기 스스로의 원칙에 따라 일을 하거나 절제하는 성질이나 특성을 뜻한다. 이를 객체에 대입해보면 자신의 행동을 스스로 결정할 수 있는 객체를 자율적인 객체라고 할 수 있을 것이다. 그렇다면 어떻게 객체를 자율적으로 만들 수 있을까? 1장에서부터 나온 커피 주문 이야기를 예로 들어서 정리하였다. 캐시어는 커피를 제조하라는 문장을 아래와 같이 바리스타에게 전달할 수 있다. 1. "커피를 만들어라" 2. "루왁 원두와 커피머신을 사용해서 커피를 만들어라" 두 메시지 모두 커피를 만드는 바리스타의 책임을 수행하도록 하는 메시지이다. 1번의 메시지를 받은 바리스타는 어떠한 원두를 사용할지 선택할 수 있고, 커피머신의 사용 여부도 선택할 수 있다. 하지만 2번의 ..

4. 역할, 책임, 협력 협력 인간은 사회적 동물이라는 말이 있듯이, 사회 속에서 타인과의 협력을 통해서 살아간다. 자신이 처한 상황에 따라서 이상적인 선택을 할 수도 있고, 자신에게 불리한 선택을 할 수 도 있다. 이렇게 협력을 통해 만들어진 상황에 따라 행동이 바뀔 수 있는 것이다. 객체 역시 협력에 의해서 행동이 바뀔 수 있다. 따라서, 협력이 먼저 자리잡는다면, 행동이 자연스럽게 결정될 것이고, 행동에 따라 상태가 결정된다. 💡 따라서, 객체의 행동이나 상태가 아니라 객체간의 협력에 집중하여 설계하라. 1장에서 이야기했던 커피주문의 이야기를 협력의 관점에서 바라보자. 커피주문이라는 목적을 달성하기 위해서 A, B, C 세개의 객체가 등장한다. A는 손님이라는 역할, B는 캐시어라는 역할, C는 바..

3. 타입과 추상화 객체의 분류 2장에서 객체는 행동, 상태, 식별자를 가진다고 이야기 했다. 식별자에 의해 모든 객체를 구분할 수 있지만, 이러한 구분작업은 목적에 따라서 필요한 작업일 수도 있지만, 오히려 불필요하고 번거로운 작업일 수도 있다. 현실에서도 나와 내 친구를 따로 구별해서 부르는 경우도 있지만, 공통적으로 사람이라는 분류로 나누기도 한다. 더 좁은 범위로는 학생이라고 분류할 수도 있을 것이다. 더 좁게는 대학생이라고도 분류 할 수 있을 것이다. 위 예시가 3장에서 이야기하는 타입과 추상화의 개념을 현실세계에 빗대어 쉽게 설명한 내용이다. 위의 예시를 계속해서 떠올린다면, 3장에서 전하고자 하는 메시지를 더 쉽게 이해할 수 있을 것이다. 추상화 추상화란? 현실에서 출발하여 목적에 맞게 필요..

이전에 한번 읽은 책이지만, 스터디를 시작하면서 스터디원들과 다시 읽어보았다. 자바와 스프링을 공부한 후에 다시 읽어보니, 책의 내용이 SOLID원칙이나 캡슐화와 연결된다는 느낌을 받을 수 있었다. 또한 스터디원들과 관련된 자료도 공유하면서 더 많은 내용을 학습할 수 있었다. 앞으로 매주 스터디 이후에, 스스로 공부한 내용과 스터디에서 공유한 내용들을 공부하고 정리할 계획이다. https://strong-lace-c81.notion.site/14d230239a6a4e7d8ae7e0ee3ea781a6 객사오 북 스터디 | Notion ✅ 스터디 일지 (2024/01/15 ~ ) strong-lace-c81.notion.site 1. 협력하는 객체들의 공동체 1장에서는 객체의 협력, 역할, 책임을 생각하여 ..

해피에이징 프로젝트를 하며 데이터의 인가 부분에서 예상치 못한 보안 문제가 발생했다. 보안 문제가 발생한 데이터베이스의 부분은 아래와 같다. 인증을 위해 JWT 토큰 내부에 userId를 추가하여 해당 user가 존재하는지 여부를 작성하는 코드를 작성했다. 만약 user가 생성한 senior 정보에 접근하고 싶다면, 따로 userId를 보내서 유효성 여부를 확인하는 것이 아니라 token 내부에 있는 userId에 연결된 senior를 조회하는 방식으로 서버의 부담이 줄였다. 하지만 survey 데이터에 접근하는 경우에는 다른 유저의 survey 데이터도 접근 가능해지는 문제가 발생했다. survey 접근 요청이 들어오면, 해당 토큰이 만료되었는지 여부만 판단하고, 조회하고자 하는 survey 데이터가 ..