좋아하는 글귀가 몇개 있는데 여기에 적어보려 한다. 1. 하는 것이 힘이다. 2. 작은 시도 빠른 실패
차라리 AWS 전용 블로그, Windows 개발 전용 블로그, Java 언어 전용 블로그.. 였다면 좀 더 쉬웠을까 예를 들어 React Native를 이용한 AWS Amplify용 FCM 푸쉬 메세지 개발 이라는 제목으로 글을 포스팅 한다면... 이 글은 Mobile카테고리? JS카테고리? React Native카테고리? AWS Mobile? AWS? AWS Amplify? AWS 개발 관련 된 것이니까 AWS Development? FCM이니까 Android? 이런게 여러개다. CDK를 이용한 EKS 배포 AWS Pinpoint를 이용한 Custom Event의 Raw Log를 S3에 수집하자 등등.. 뭔가 두서없이 글을 막 쓰다보니 카테고리 구분짓기가 너무 어렵다. 내가 정리를 잘 못하기 때문인 것..
처음보는 프로젝트의 소스 코드 해독을 위한 팁 모든 이에게 적용된다고 보긴 힘들다. 누구는 탑다운이 편하고 누구는 바텀업이 편하기 때문이다. Unit Test가 있다면 핵심 기능을 하는 TC를 따라가면 해독이 매우 용이하다. 핵심 클래스의 생성자가 어느 클래스로부터 생성되는지 찾는다. A와 B 클래스가 핵심 클래스라고 한다면, 이 클래스의 생성이 어디서 이루어지는지 (new A, new B 로 검색) 확인하면 객체간의 Dependency 관계가 어느정도 눈에 파악된다. 팁으로, 탑다운이 아닌 바텀업으로 소스를 보고자 할때 가장 유용한 기능은 Find Usage 기능이다. 행위의 Trigger가 되는 Method를 찾는다. Command패턴의 경우 Execute를 Override한 메소드를 살펴보면 되고,..
특히 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..
삼성소프트웨어멤버십 하던 시절에 진행했던 유니코드의 다양한 이해 세미나
자기를 전문적인 소프트웨어 개발자(프로그래머)라고 부를려면 무슨 능력이 필요할까 어플 하나 만들고 나는 개발자다!우왕ㅋ굳ㅋ 하면 뭐하러 대학 4년동안 소프트웨어를 전공한걸까 안타까운건 내가 중요하게 생각하는 능력은 대학 4년 다닌다고 저절로 생겨나지 않는다. 대학 4년을 다니면 세상을 보는 안목이 늘고 도전정신 등이 더 투철해 질 수는 있지만, 그만큼 학과 공부를 하는 등 다른 활동을 하느라 소프트웨어 공부만 깊게 해볼 수는 없는 노릇인 듯 하다. 그렇다고 대학생 개발자에게 높은 개발역량을 요구하는 것도 초중고 10년 교육을 막 받고 개발현장에 투입된 사람에게는 무리수인듯. 그렇다면 이제 막 대학을 졸업하고 산업 현장에 발을 내딛은 당신이 소프트웨어를 잘 하는 개발자가 되고 싶다면 무엇을 해야될까? 내가..
- Total
- Today
- Yesterday
- C++
- linux
- MFC
- Cloud
- winapi
- java
- C
- database
- db
- Troubleshooting
- it
- 음악
- jni강좌
- 안드로이드
- Visual C++
- algorithm
- 리눅스
- 드라이버
- NDK
- gcc
- kering
- 프로그래밍
- source
- driver
- AWS
- Quiz
- API
- Python
- jni
- android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |