본문 바로가기
반응형

분류 전체보기352

객체지향의 사실과 오해 5장 책임과 메시지 지금까지 책을 읽으면서 제일 주옥같은 이야기가 많이 나왔다고 생각한다. 5장이 좀 길어서 아직 전부를 읽지는 못했다. 다 읽고나면 여기다가 추가로 작성할 예정 책임이 설계의 품질을 좌우한다. 너무 구체적이거나, 책임이 분할되어있으면 운신의 폭이 줄어든다. 너무 추상적인 책임은 정확히 뭘 하는지가 알수가 없다. 좋은 책임이란? 어떻게 가 아니라 무엇을 해야하는지 설명하는 것 어떻게 책임지냐가 있으면 너무 구체적임에 다가가는 것이다. 메서드는 어떻게가 들어있는 단어다. 생각해보면 method는 한글로 하면 방법으로 해석된다. 펑션이랑 메서드가 어떤 차이가 있는지 구분이 간다. Function은 기능 Method는 방법 클래스에 있는 기능을 Method라고 한다 그럼 인터페이스에 적힌건 Method라고 안하나.. 2021. 12. 23.
객체지향의 사실과 오해 4장 역할, 책임, 협력 이번주에는 4장 역할, 책임, 협력을 다 읽었다. 책에서 핵심이 되는 주제가 이제 나오고 있다. 인상깊었던 부분 객체의 모양을 빚는 것은 객체가 참여하는 협력이다. 어떤 협력에 참여하는지가 객체에 필요한 행동을 결정하고, 필요한 행동이 객체의 상태를 결정한다. 역할은 여러가지 책임을 가진다. 누군가에게 어떤 역할이 부여되기 위해서는 역할이 가지고있는 책임을 수행할 수 있어야 한다. 객체의 책임은 객체가 무엇을 알고 있는가 와 무엇을 할 수 있는가 로 구성된다. 책임은 객체의 외부에 제공해 줄 수 있는 정보와 외부에 제공해 줄 수 있는 서비스의 목록이다. 역할, 책임, 협력, 메시지, 객체 객체 단위의 협력이 아닌 역할 단위의 협력으로 협력의 추상화가 일어난다. 책임을 각 객체에 할당한다. 객체지향 설계 .. 2021. 12. 17.
App watch is already running for this build profile. 오랜만에 Sencha app watch를 했는데 에러가 뜬다... 우리 회사는 소스컨트롤 도구가 여러개가 있는데 Git, SVN, TFS, CVS도 있다. 이 소스는 TFS에 있는 코드다. VS Code에 TFS 연동이 어려워서 그냥 쓰고 있는데 그거때문에 발생한 문제였다. TFS는 소스코드를 읽기전용으로 바꿔버린다. TFS 연동된 IDE에서는 수정시에 읽기전용이 자동 해제되지만 다른데서 막 수정되지 않도록 그래논거 같다. 변경감지를 위해서? 그래서.. 결론은 경로 전체가 읽기전용이 돼있어서 발생한 문제로 탐색기에서 읽기전용 해제 해주니 정상 동작한다. 클라이언트를 주로 개발하면 이거 세팅을 귀찮아서라도 할텐데 다른사람들은 어떻게 쓰는건지 모르겠다. 2021. 12. 10.
웹에서 IP 카메라 스트리밍 하기 카메라는 공유기 포트포워딩해서 RTSP로 접속해서 데이터를 가져오고 있는 상태찾아보면서 너무 오래된 답변이 많아서 고생했다. 목차- VLS 해보기- 이것저것 찾아보기- FFMPEG로 RTSP를 HLS로 변환하여 배포- 기존 서비스와 통합 VLS 해보기처음 원했던 건 서버를 들리지 않고 카메라와 웹브라우저를 직접 연결하는 것이었다.처음 나온건 VLS로 하는 방법정말 많은 글들이 VLS를 솔루션으로 보여주는데 찾다보면 크롬45부터 지원안한다고 한다.그리고 이렇게 하는게 ActiveX 방식이라고 한다. 지금은 대부분의 브라우저에서 구동이 불가능할것으로 생각됨RTSP를 지원하는 브라우저가 없어서 이걸 우회하는데 ActiveX나 플러그인 등이 사용되는것으로 보인다.돌아다니다 보면 뭐가 잘 안되는데 이 답변(cab.. 2021. 12. 9.
객체지향의 사실과 오해 3장 타입과 추상화 이번에는 오늘 있었던 독서 모임에서 나왔던 이야기들을 정리하려고 한다. 1번 내용. 인터페이스 아이템 컨버터 외부 인터페이스 데이터 수신용도의 DTO 클래스가 있고, 이 데이터를 내부에서 사용하기 위한 DTO 클래스가 존재한다. 외부 인터페이스용 DTO와 내부 사용 클래스를 분리하는것은 맞다고 본다. 이유 - 외부 인터페이스의 변화는 우리가 통제할 수 없기 때문 - 한 클래스가 두가지 역할을 하게 되기 때문(하나의 역할을 하는게 명확해서 좋다.) 내부 클래스로 변환하기 위해 코드가 더러워지는 부분이 아쉽다. 둘 사이에 변환시켜주는 컨버터 클래스 또는 빌더 클래스를 만드는것에 대해서 굳이 그렇게까지? 라고 생각한다는 의견 나는 반드시 만들어야 한다고 생각한다. 이유 - 특정 외부 서비스와의 인터페이스 처리.. 2021. 12. 2.
필터된 값 새 아이템에 세팅해주기 Setting a property by reflection with a string value https://stackoverflow.com/questions/1089123/setting-a-property-by-reflection-with-a-string-value Setting a property by reflection with a string value I'd like to set a property of an object through Reflection, with a value of type string. So, for instance, suppose I have a Ship class, with a property of Latitude, which is a double. Here's what.. 2021. 11. 29.
반응형