7장 함께 모으기개념관점에서 설계는 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현한다. 사용자가 도메인을 바라보는 관점을 반영하며, 실제 도메인의 규칙과 제약을 최대한 유사하게 반영한다.명세 관점에 이르면 도메인을 벗어나 소프트웨어로 초점이 옮겨진다. 실제 소프트웨어 객체의 책임에 초점을 맞추며 객체의 인터페이스를 바라본다. 명세 관점에서는 객체가 협력을 위해 무엇을 할 수 있는가에 초점을 맞춘다.구현 관점은 실제 작업을 수행하는 코드와 연관돼 있다. 객체들이 책임을 수행하는 데 필요한 동작을 코드로 직접 작성하는 것이다. 이때 어떻게 수행할 것인가에 초점을 맞춰 인터페이스를 구현하는 데 필요한 속성과 메서드를 추가한다.이러한 관점은 개발 순서가 아닌 세 가지 관점이다. 클래스는 세 가지 관점을..
6장 객체 지도만약 길을 찾는다면 두 가지 방법을 사용할 수 있다. 첫 번째 방법은 길을 물어 보는 것이다. 이는 기능적이고 해결책 지향적인 접근법 이다. 길을 가르쳐 주는 사람은 매우 상세하게 단계별로 설명해줘야한다. 현재 위치에 기반하기에 일반적이지도 않고 재사용도 어렵다. 두 번째 방법은 지도를 사용하는 것이다. 지도는 실세계를 추상화한 모델이다. 지도 안에는 다양한 정보들이 내재되어있다. 이를 구조적이고 문제 지향적인 접근법 이라 표현한다. 지도는 현재의 요구뿐만 아니라 다양한 목적에서 사용될 수 있다. 범용적이고 재사용도 가능하다. 이는 기능에 비해 지도가 가진 구조가 더 안정적이기 때문이다. 이렇게 구조적인 지도는 시간이 많이 지나더라도 사용될 수 있다. 다시말해 기능이 아니라 구조를 기반으로..
5장. 책임과 메시지핵심은 모듈 내부의 속성과 행동이 어떤가보다는 모듈이 어떻게 커뮤니케이션하는가 이다. 사회 실험 중 한 명이 위급한 상황이 발생했을 때, 자신 이외에 다른 사람들이 있다고 판단하면 도움을 요청하지 않은 결과가 있다. 이 같은 현상을 책임감 분산이라고 불렀으며, 사건에 대한 목격자가 많을 수록 개인이 느끼는 책임감이 적어진다는 뜻이다. 이러한 실험해서는 실험자들이 도와줘야하는 명확한 책임을 가지고 있지 않기에 타인의 책임으로 간주해버린다. 즉, 명확한 책임과 역할을 지닌 참가자들이 협력에 참여해야한다는 것이다.자율적인 책임객체지향 공동체를 구성하는 기본 단위가 자율적인 객체이다. 객체들은 애플리케이션의 기능을 구현하기 위해 협력하고, 과정에서 책임을 다하기 위해 자율적으로 판단하고 행동..
개요https://toss.im/career/next-developer-2024 2024 토스 NEXT 개발자 챌린지토스가 만들고 싶은 새로운 내일에 함께하세요.toss.im 토스 개발자 챌린지에서 좋은 기회로 면접까지 볼 수 있었다. 면접 결과는 불합격이었지만 너무 좋은 면접 경험을 가지고 있어서 꼭 토스에 한 번 입사해보고자하는 마음이 들었다. 이후 좋은 기회로 8년차 개발자분과 커피챗을 가질 수 있었고 아주 깊은 감명을 받았다. 아주 간단한 결론으로는 토스에 가고 싶으면 현재 토스에서 하는 일을 할 줄 알면 된다는 것이다. 이러한 결론을 토대로 토스 증권과 업비트를 참고한 모의 투자 사이트를 개발해보고자 한다. 시작하기백엔드 개발자를 희망하면서 포트폴리오를 어떻게 짜야할 지 많은 고민이 있었다...
개요요즘 모의 코인 거래 사이트를 만들어보고 있다. 모의 서비스이긴 하지만 금융 거래를 테마로 하고 있기 때문에 무엇보다 데이터 정합성과 확실한 트랜잭션 처리가 중요하다고 생각하고 있다. 모의 주식 사이트를 만들고자 하였지만 24시간 실시간 데이터를 제공받기에 코인이 더 용이하여 타겟을 바꾸게 되었고 이로 인해 소수점 거래가 발생하였다. 알다시피 주식은 일반적으로 정수개의 주식만 거래가 가능하다. 요즘에서야 소수점 거래도 증권사에서 제공하긴 하지만 기본적으로는 1주가 주식의 기본 단위이다. 하지만 코인 거래에서는 1BTC 가 오늘 기준 1억을 호가하며 단위로 사용하기에는 너무 커져버렸다. 그래서 0.00001 BTC 거래처럼 소수점이 많은 것을 흔히 봤을 것이다. 이러한 소수점 가격, 소수점 수량 등을 ..