2018년 6월 15일 금요일

I AM GROOT! I AM GROOT! I AM GROOT!

I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!
I AM GROOT! I AM GROOT! I AM GROOT!

2018년 5월 24일 목요일

요즘 느끼는 것들

일보다
출퇴근이 힘들다.

신기술 익히는 것 보다
수학적 논리 세우고 검증하는게 어렵다.

후우.

2018년 4월 24일 화요일

AWS summit 2018 참석 후기

4월 18, 19일 양일간 aws summit에 다녀왔다.


후기 끗

첫번째날은 주로 AWS 서비스 전반에 대해,
두번째날은 AI, ML쪽 내용이었다.

여튼 이제는 AWS를 사용하지 않는 기업을 찾는게 빠르지 않을까 싶다.
그만큼 클라이언트들의 요구사항도 많아질 것이고, 그걸 대응해서 새로운 서비스를 분기해 내고 있었다.

첫째 날 강연 중에는 KMS와 kubernetes, 두번째 날은 ML 전반... 뭐 결론은 `SageMaker 쓰세요. 짱 편할껄요?`


DeepLens도 이건 사봐야 할거 같고


DeepLens는 아직 Pre-Order 중이긴 하다.

PS. AWS 서비스들은 비싼데 싼거 같다.


EDIT:

부스에서 받은 것들중에 가장 애착이 가는 것은
AWS 머그컵이랑 GitHub 옥토캣 캐릭터 스티커,  mongodb 나뭇잎 스티커였다.
-.-

불이 안들어와 ㅠㅠ...



2018년 4월 16일 월요일

SpringBoot 1.5.x -> 2.0 migration check point

# datasource

*  connection pool이 hikari cp로 바뀌어서 application.yml의 구조를 변경해야 한다.
* validation-query를 지워도 connection lost가 되지 않는거 같다.
@ConfigurationProperties prefix역시 변경
* `DataSourceBuiler`의 package가 바뀐다.

# JPARepository

* `findById`의 리턴값이 `Optional` 바뀐다. 이건 좋네

그외 JDK 8환경에서는 그렇게 차이가 없는거 같다.

2018년 4월 13일 금요일

이 놈의 버그는...


분명히 테스트 다 했다고 생각했는데
확인한거 같은데?



심사에 올리면 발견될까

2018년 4월 7일 토요일

나는 어떤 개발자인가? 어떤 개발자가 될 것인가?


예전에 이런 이야기를 들은적이 있다.

"개발을 잘하고 싶어요, 돈을 잘 벌고 싶어요?"

2개가 같은 이야기가 아닌가?

당시에는 그렇게 생각했다.
개발을 잘하면 몸값이 높아지고(?) 연봉이 높아지면 돈 잘벌게 되는게 아닌가?

그러나 당시 어떤 기술을 쓰냐에 좀 더 관심이 있었던 나는 그 이상의 생각은 하지 못했다.

이는 결국,

요는 교체 가능한 기술인력이 되고 싶은가?
교체 불가능한 부가가치를 만들어 낼 수 있는가?

에 대한 문제였다.


나는 어떤 길로 걸어갈 것인가.

2018년 2월 20일 화요일

react native로 진행하던 프로젝트를 엎으면서


몇달 열심히 파던 react native 프로젝트를 엎었다.

react native가 적당한 UI에 적당히 API 호출하는 앱이면 참 괜찮을거 같다.
그런데 하드웨어를 접근해야 하는 문제면 좀 복잡해지더라.

ruby 같은 언어가 그랬듯, 만들어진 범위내에서는 참 깔끔하고 생산성이 높은데
그 이상의 `특별한` 요구사항이 있을 때

일단은 react native 코드에서 문제를 한번 해결해야 하고
android에서 한번 해결해야 하고
ios에서 한번 해결해야 한다 -_-;

이게 정말 피곤했다.
갑자기 빌드 문제에 막혀 일주일 정도 날렸을 때는 정말 ㅋㅋㅋ

결국 왜 갑자기 그 브랜치가 망했는지 이유조차 모르겠다 ㅋㅋ

ES5, ES6같은건 문제 축에서도 속하지 않는다 ㅋㅋ

node_modules를 날렸다가 다시 설치한게 몇번이며,
react-native eject를 몇번 시도했던가.

xcode에도 익숙해야 편하고
android에도 익숙해야 편하고
javascript에도 익숙해야 편하다?