특히 GUI 프로그래밍을 할 때 로직 부분과 GUI 부분을 쉽게 분리하기가 힘들다 또 함수를 짜다보면, 하나의 함수는 하나의 일만 하는게 제일 좋지만코딩이란게 그리 쉽던가, 어쩔때는 데이터를 변경하면서 ui를 바꿔야하는때도 있고ui가 바뀌는 핸들러에서 무언가 값을 조작해줘야하는 일도 있고..결국 다 메소드(함수) 로 분리가 잘 돼줘야 중복 코드 짤 일도 없고 적재 적소에 함수를 적절하게 잘 호출해주게 된다. 그럼 함수를 어떨때 나누느냐? 일단 크게 로직 적인 부분을 짤때를 예로 들어보자 나의 경우는 GUI프로그램을 짤 때 기본적으로 CUI 환경을 염두에 두고 함수 설계를 한다. 이렇게 할 경우의 장점은 로직 함수의 처리에 있어 기본적으로 view와의 분리가 완벽하게 된다. (함수 내에서 ui를 처리할 필..
최근 host - client 시스템 하나를 설계하고 개발하고 있다. host는 당연히 하나고, client는 여러대의 device들이다. 이들은 어떤놈은 wifi로 연결되고, 어떤놈은 tcp/ip (socket)로 연결되고 어떤놈은 serial, 어떤놈은 bluetooth로 연결된다. 연결방식도 복잡하지만, 통신 방법은 더 복잡하다. 단일 규약이 아니다. 어떤건 A규약을 사용하고 어떤건 B규약을 사용한다. 예를 들어 A규약을 쓰는 놈이 메세지를 읽는 방법이 (0x72 0x30) 이라면 B규약을 쓰는 놈은 메세지를 읽을때 (0x23 0x45 0x3a)를 사용한다. host 시스템에 client device를 연결한다. 그리고 어떤 connectivity(tcp/ip, socket 등)를 쓰는지, 그리고 ..
작게 시작한 프로젝트 규모가 점점 커지면서 리팩토링을 하게 됐는데 크고 작은 실수가 몇개 있었다. 덕분에 엄청난 시행착오를 거쳐 오랜 시간걸렸다. 몇가지 실수를 적어 보겠다. 첫번째는 메세지 전달 부분에서의 의존성을 줄이지 못한 부분이다. 각 모듈을 DLL로 쪼개는 리팩토링을 감행 하였는데 여기서 각 DLL 간 의존성을 0으로 하고, 최대한 독립적으로 General 하게 코딩하려 했다. A DLL에서 B DLL로 메세지를 전달 하는 과정에서 상수값을 어쩔 수 없이 공유하게 됐는데, 차라리 A DLL에 SetListener 메소드를 구현하고, B DLL에서 해당 메소드를 콜해서 원하는 핸들러를 등록하게 했어야 했다. 두번째는, Data와 Controller를 완벽하게 분리 하지 못했다. 기본적으로 Data..
- Total
- Today
- Yesterday
- java
- database
- 음악
- android
- source
- linux
- Quiz
- C
- kering
- 프로그래밍
- Troubleshooting
- algorithm
- jni
- 안드로이드
- NDK
- API
- winapi
- driver
- it
- C++
- gcc
- Python
- 리눅스
- Cloud
- db
- 드라이버
- Visual C++
- AWS
- jni강좌
- MFC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |