분류 전체보기1193 [오늘의 감상] 경험하고 또 경험하자! 경험하고 또 경험하자!사람에게 있어 생각의 폭은 경험의 폭을 넘지 못하는 것 같다. 인공지능 뿐만 아니라 모든 IT/Technology를 어떻게 이용할 수 있는가에 이르면 역시 자기 경험의 폭에서 그 용도가 나오는 것 같다.수많은 신기술들이 거의 완성에 가까운 모습으로 우리 앞에 나타나고 있다. 생각의 폭을 넒히지 못하면 늘 완성된 제품을 이용하는 것으로 그치고 말것이다. 진정 새로움의 세계로 들어가고자 한다면 끊임없이 경험하고 생각해야겠다.인공지능의 시대란다. 그저 인공지능을 사용하는 것만으로도 우린 좋은 세상에 사는 것일지도 모른다. 하지만 개발자의 입장에서 만족할 수 있는 세상은 아니다. 인공지능 너머의 무언가, 인공지과는 다른 무언가를 찾기 위해 끊임없이 경험하고 생각해야겠다. 2016. 4. 8. 학습 패턴 좀 바꾸자~ 학습 패턴 좀 바꾸자~뭔가 공부할 것이 자꾸 늘어나는 것 같아 이것 저것 집적대고는 있지만 아이들 호기심 충족 시키듯 아무 생각 없이 이리 기웃 저리 기웃하는 것은 영 아닌 것 같다. 굳이 체계라고 할 것까지는 없지만 뭔가 단계를 두고 진행을 해야 할 것 같다. [간보기] 뭔가 새롭거나 관심이 가는 것은 무조건 한 번 들이대 보는 거다. 물론 사전 지식도 없이 들이대다보니 정확도도 떨어지고 잘못된 내용이 작성될 수도 있겠지…민폐가 될 수도 있겠네… [터 닦기] 일단 간보기가 끝난 내용들은 먼저 평가를 좀 하자. 내가 계속 학습할 수 있을만한 수준인가, 유망한 기술인가, 꼭 해야만 하는 기술인가 등등 그리고 만일 진행이 어렵거나 불필요하다면 과감하게 버리자. 반대로 흥미가 깊거나 해야만 하는 것이라면 좀 .. 2016. 4. 6. [디비 파기 | PMD] PositionLiteralsFirstInComparisons 외 4건 PositionLiteralsFirstInComparisons우선순위 : 3 Position literals first in comparisons, if the second argument is null then NullPointerExceptions can be avoided, they will just return false. equals()를 통한 비교를 할 때는 항상 상수 값을 앞에 두어야 한다. 만일 두번째 인자가 null인 경우에는 NullPointerException이 발생하지 않으며 단순히 false를 리턴하게 된다. 하지만 상수가 아닌 참조타입의 변수가 앞에 오게 되면 이 변수가 null인 경우 NullPointerException이 발생하게 된다. 샘플 코드12345class Foo {.. 2016. 4. 3. [간보기 | Kafka] Apache Kafka 개요 - 3 Consumer 일반적으로 메시징 시스템은 queuing 기반 모델과 publish-subscribe 기반의 모델로 나누어 볼 수 있다. queuing기반의 메시징 시스템은 sender가 queue에 쌓아 놓은 메시지를 pool에 있는 receiver중 하나에 각각 할당하는 방식이며 이 과정은 비동기적으로 이루어진다. (point-to-point) publish-subscribe기반의 메시징 시스템은 publisher가 메시지를 생성한 후 subscriber에게 broadcasting해준다. Kafka는 consumer group이라는 개념을 만들어 이 두가지 방식을 종합하고 있다. 토픽으로 발행된 메시지들은 분산된 프로세스나 장비에 있는 consumer 그룹 내의 consumer 중 오직 하나에게만 전.. 2016. 4. 3. 실패다! kanbanflow 사용 실패기 얼마 전 “소프트 스킬”이란 책을 읽고 ‘이거다!’싶어 도전해본 kanbanflow 사용이 결국은 실패로 돌아갔다. 사실 시작부터 실패는 준비되어있었다. 나는 내 개인의 생산성 제고를 위한 툴을 찾고 있었지만 kanbanflow는 결코 개인이 사용할만한 툴은 아니다. 역시 다수의 인력이 협업을 통해 진행하는 프로젝트에나 걸맞는 시스템이었던 것이다. 개인적으로 나는 업무 처리에 있어서 그 유명한 당구 격언인 대충치고 쫑본다는 철학을 존중한다. 사실 시작 전에 계획을 세운다는 것은 무척 어렵다. 언제나 돌발 변수의 위험이 도사리고 있고 또 계획을 세운다는 단계는 매우 추상적인 단계인지라 그 단계에서 벌써 버벅대기도 십상이다. 때문에 설계는 최대한 단순히고 빠르게 대충(?) 해놓고 조금이라도 구체적인 모양이 .. 2016. 3. 30. [간보기 | Kafka] Apache Kafka 개요 - 2 Distributiontopic의 partition들은 Kafka 클러스터를 구성하는 서버들에 분산 저장이 된다. partition들은 내고장성을 위해 여러 서버에 복제되며 복제되는 서버의 수를 설정 할 수 있다. 각 partition은 1대의 leader 서버와 0대 이상의 follower 서버들로 구성된다.(즉, leader 서버 1대로도 Kafka 사용이 가능하다.)leader는 읽기 쓰기가 모두 가능하고 follower들은 leader의 데이터를 복제한다. 만일 leader가 고장나면 follower 중 한 대를 leader로 선출한다. 이런 구조로 클러스터 내에서의 부하가 적절히 분산된다. 지난 포스팅 (Apache kafka 시작하기)에서의 기억을 더듬어보면 일단 클러스터 내의 복제 서버는 총.. 2016. 3. 27. [디비 파기 | PMD] FinalFieldCouldBeStatic 외 4건 FinalFieldCouldBeStatic우선순위 : 3 컴파일 타임에 상수가 할당되는 final 필드는 자동으로 static으로 변환된다. 따라서 이러한 필드들은 runtime시의 부하를 줄여주기 위해 static을 명시적으로 지정해주는 것이 좋다. 샘플 코드123public class Foo { public final int BAR = 42; // this could be static and save some space} OptimizableToArrayCall우선순위 : 3Calls to a collection’s toArray() method should specify target arrays sized to match the size of the collection. Initial arrays .. 2016. 3. 26. [간보기 | Kafka] Apache Kafka 개요 - 1 Apache Kafka 개요지난 글에서 kafka설치 및 설정, 그리고 서버 기동과 간단한 테스트를 진행해 보았다. 오늘은 kafka의 소개 내용을 간단하게 요약해보겠다. 이미 많은 블로그에 원문에 대한 번역에서부터 심층 분석까지 다양한 자료들이 포스팅 되어있으니 나는 그냥 개요만 짚어보련다~ kafka 공식 홈페이지의 indroduction을 보면 다음과 같은 내용으로 시작한다.Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design. 뭐 거의 동어 반복이다. 로그 저장에 대한 분산과 분할과 복제. 그.. 2016. 3. 26. AI, Big Data, IoT가 가져올 미래 - 안드로이드는 공산주의를 꿈꾸는가? 얼마 전 연봉 계약도 싸인을 했지만 누군가에게 고용 되어, 일을 하며, 임금을 받는 일련의 과정이 때로는 참을 수 없을만큼 불합리하고 불공평하게 느껴진다. 나는 내가 일한 만큼 대가를 받고 있는 것인지? 내가 받는 임금은 내가 생산한 가치를 온전히 반영한 것인지? 또 다른 누군가는 그러한지... 온갖 학설과 이론으로 중무장한 현대 자본주의 경제는 아마도 현재의 상태를 매우 합리적으로 설명을 해내겠지만 그런가보다 하다가도 어느 순간 다시 이 의문으로 돌아오는 것은 여전히 풀리지 않는 무언가가 있는 것이리라 (그 무언가가 나의 무식이라면 할 말 없고...) 도대체 내 임금은 왜 이만큼인거야? 사실 일반인들은 자신이 일을 해서 만들어진 가치가 얼마만큼의 비중을 가지고 있는지 전혀 모를 것이다. 아니 이 세상 .. 2016. 3. 24. 이전 1 ··· 57 58 59 60 61 62 63 ··· 133 다음 반응형