2016년 9월 26일 월요일

xamarin 첫걸음

사내 프로젝트가 시작되었다.

'같은 작업 2번 하기 싫다'는 지극히 개발자지향적인 마인드가 공감을 얻어 xarmarin이 플랫폼(?)으로 선택되었다.

뭔가 재미있을거 같다(?)


EDIT:

일단 2가지 난관이 있었다.
첫번째는 C#에 적응하는 것,
두번째는 VisualStudio에 적응하는 것.

C#은, java랑 생김새가 비슷하다보니
C# 코드를 java로 바꿔보기도 했는데, 코드차원에서 읽어내리는건 그렇게 어렵지 않았다.

그러나 C#으로 코드를 짜려고 하니 손이 움직이질 않더라.
java로 프로그램을 짜려고 해도, 목적에 맞게 spring 혹은 android 등의 환경을 갖추는게 더 귀찮고 어려웠듯(?) C#과 닷넷 자체에 대한 이해 없이 뭔가 시작을 할 수 없었다.

이는 VisualStudio 적응과도 문제가 이어졌는데,
Eclipse의 workspace - project 관계가
intelliJ에서는 project - module이고,
VisualStudio에서는 solution - project로 관계가 매핑되더라.

그런데 그냥 파일을 해당(?) 위치에 넣으니까 인식을 못하는게 아닌가?
파일기반이 아니라 뭔가 database로 관리된다는 소리가 되겠지.

... 그리고 새로운 클래스 파일을 생성하기 위해 어떻게 해야 하는가?를 두고도 삽을 펐는데, 결국 이런 문제들을 해결하기 위해 책을 보기로 했다.

그랬더니 역시 책에 나오더라 -_-...

아무튼 VisualStudio와 intelliJ에서 나온 C# IDE인 rider를 어느정도 병행해서 사용하게 될거 같다.

2016년 9월 12일 월요일

왜 C/C++에 관심을 가지게 되었을까.

갑자기 C/C++ 에 대한 관심이 생겼다.

왤까.

지금으로서는 그 이유를 모르겠다.

한번 찾아봐야 겠다.

C/C++


2016년 9월 6일 화요일

이놈들연구소 - Sgnl!



대박 괜찮은 느낌적인 느낌의 제품이 출시될 것 같다.

한국에서 흔하지 않은 하드웨어 벤처이기도 하고

늘 스팸전화에 시달리는 통에 전화받는게 귀찮았는데

그 과정이 조금은 편해지지 않을까 생각한다.

Take my money!



이놈들 연구소님 혹시 비루한 개발자 한명은 필요없으신지 (  _ _)


Dagger2를 사용해보자!

Spring framework를 사용해봤다면, framework가 instance를 관리하는 Dependency Injection: Inversion of Control 의 편리함(?)을 느껴봤을 것이다.

android도 규모가 좀 되는 것을 개발하다보면 필요성을 뼈저리게 느끼게 되는데, 가장 유명한 툴이 Dagger가 되겠다.

Dagger는 본래 Retrofit, okhttp 등으로 유명한 Square에서 공개한 라이브러리인데 google에서 fork한후 손을 봐서 Dagger2를 공개했다. dagger는 보다가 이해가 안되서 접었고 상대적으로 dagger2가 사용하기 쉬워서(?) 사용하고 있다.
instance를 constructor를 통해서 주입해주는 것이 기본인데,
android의 경우 constructor를 사용할 수 없는 경우가 있다.

바로 activity, fragment가 그 범인인데,
이경우에는 수동 inject를 해야 한다. 아래가 수많은 삽질 끝에 정리한, 그 수동 inject를 하는 Best Practice라고 생각한다.

사실은 조금 더 dagger2를 제대로 사용하려면, activity 혹은 fragment 단위에서 생성되는 instance들은 ActivityComponent와 Activity 단위의 scope를 도입해서 생명주기를 관리를 해야 한다.


2016년 9월 1일 목요일

Maven으로 특정 유닛테스트만 실행하기

서버에서 테스트 케이스를 실행하고 싶을 때가 있다.

어떻게 하면 될까?


maven test로 특정 testClass 만 실행할 수 있다. 참고사이트