본문 바로가기

분류 전체보기

INTELIGENCE 지식의 양이 지능을 높여주진 않는것같다. 단지 지식의 많으면 지능의 효율을 높여주는 느낌이다. 즉 당연한 이야기지만 같은 양의 지식으로도 도출되는 결과물의 질이 틀리다. 스스로도 A,B,C의 지식으로 A’의 결론을 냈을때 어떻게 A’를 도출했는지 설명하기가 어려울때가 있다. 나중에 A’를 위한 A,B,C를 짜맞추는 형태가 되기 쉽다. 말마따나 결론을 내고 과정을 찾는 방식인데 많은 ,또 직관적이고 아름다운 수식이 이렇게 나왔다. 지능은 추상화 능력이고 , 추상화 능력이 통섭을 이야기한다면 , 지능은 지식을 통섭하는 능력이라고 생각한다. 더보기
FUNCTIONAL PROGRAMMING 이 글은 , “함수 프로그래밍 입문” 이란 책의 0장을 읽고 정리한 글입니다. 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために 0. [입문] 함수 프로그래밍 함수 프로그래밍에서 얻을수 있는 개선 코드 양이 적어진다 같은 기능을 가진 프로그램을 구현한다고할때 , 적은 행수로도 끝낼수 있다. 이것은 함수프로그래밍에서 “수학”의 개념을 적용 했기 때문 (수학은 고도로 추상화된 분야) 코드 양이 적다는것은 메인터넌스성이 높다. 최적화하기 쉽다 최적화는 많은 프로그래머가 노력을 들이는 부분 , 또 많은 부분을 컴파일러에서 자동으로 해줌 컴파일러가 최적화를 위해 사용할수있는 유용한 특징을 가지고 있을수록 좋음. 함수프로그래밍의 추상화 능력이 컴파일러의 최적화에 도움을 준다. 병행/병렬화하기 쉽다 CPU의.. 더보기
FUNCTIONAL PROGRAMMING IN SCALA . CHAPTER 1 1. 함수형 프로그램이란? 전제조건 – 프로그램을 순수 함수(pure function)들로만 구축한다는 뜻 (side effect가 없는 함수) . 변수를수정한다 . 자료 구조를 제자리에서 수정한다 . 객체의 필드를설정한다. . 예외(exception)를 던지거나 오류를 내면서 실행을 중단한다. 콘솔에 출력하거나사용자의 입력을 읽어들인다. . 파일에 기록하거나 파일에서 읽어들인다. . 화면에 그린다 이런 일들을 할수 없는 상태에서 프로그램을 짠다는것. 함수형 프로그램은 , 프로그램을 작성하는 방식에 대한 제약. 표현 가능한 프로그램의 종류에 대한 제약이 아님. 순수함수로만 이루어진 프로그램은 모듈성이 높아지고 , test, 재사용,병렬화,일반화,분석이 쉬워진다. 1.1 FP의 이점 (예제) class C.. 더보기
DeNA 개발자 주최 아이폰 개발자 스터디? 정말 바쁜 일정인 와중에 같은 건물 다른층에 입주해있는 타회사 엔지니어가 주최하는 아이폰 개발 스터디가 있다고 하길래 잠깐 참가를 해보았다. 먼저 주최자 소개 Mathda Matho? 이전 우리회사에 다니다가 전직하여 DeNA로 가버렸지만 그때 유지하던 스터디를 DeNA로 까지 끌고가서 아직도 운영하고있다. 사실 이번 스터디도 처음은 이전 회사에 친하던 엔지니어가 부추겨서 시작한 스터디였지만 그 친구분은 다른곳으로 이직을 하고 혼자서 이끌어나가고 있는 상황인듯 그분의 홈페이지 http://yuez.net/ 개인적으로 3명의 다른 팀멤버와 elleReader를 개발하였다고 한다. 이외에도 다른 참가자들도 각각 아이폰 개발자 또는 흥미를 가진사람이 많이 있었는데 몇명 소개를 하자면 오오무라상 20대 초반 ,.. 더보기
Coredata Background 처리에 관하여 격주 릴리즈의 바쁜 스케쥴안에서 시간을 쪼개 코어 데이터 처리 로직을 백그라운드에서 처리하려는 작업을 조금씩 진행시켜 이번버젼에야 겨우 적용할수 있었다. 여기에 약 6개월간에 걸쳐 내가 겪은 시행착오에 관한 기록을 남긴다. 1. 기존설계의 문제점 모든 처리를 MainThread에서 하도록 구현되어있었기 때문에 화면이 멈추는 경우가 자주 있었다. Main Thread에서 처리하지 않으면 안되었던 이유는 UI의 변경은 반드시 Main Thread에서 하지 않으면 안되기때문이다. 모든 작업을 main Thread에서 처리하더라도 발생하는 한가지 이슈가 있었는데, 비동기 리퀘스트(Asynchronous Request)와 Block을 이용할때 request시에 취득한 NSManagedObject는 respoons.. 더보기
PHP 단상 PHP: 잘못된 디자인의 프랙탈 PHP를 정말로 증오하는 분이 쓴 글을 국내의 블로거가 번역한글인데 , 최근에 읽은 블로그 중 가장 재미있어서 나도 PHP의 단상을 몇가지 적어본다. 먼저 나또한 위의 글을 전적으로 동의한다. PHP개발을 하며 나타나는 알수없는 버그들등에 고생을 한 경험이 있어서 PHP가 얼마나 거지같은지 깊이 공감을 한다. 하지만 왜 언어 랭킹을 보면 항상 저자가 좋아하는 Python보다 높은 순위에 있으며 , 그 인기가 10년가까이 지속되고 있는지 생각해볼필요는 있을것같다. 1. PHP는 왜 그렇게 많이 쓰이는가? - 먼저 PHP는 환경설정이 정말 간단하다. 윈도우라면 XAMP , 맥이라면 MAMP , 리눅스라면 LAMP 로 검색해서 나오는 패키지를 인스톨하면 끝이다. 다른 환경설정 .. 더보기
JSON data로부터 간단히 모델 클래스를 구현하기 코어데이터는 데이터를 다루기 위한 굉장히 편리한 도구이지만 데이터의 영속성이 필요하지 않은 경우에는일부러 코어데이터를 쓰지 않아도 간단히 데이터 모델을 구현할 방법은 많이 있다. 모델클래스를 작성하고 JSON Data로부터 해당 데이터를 바인딩시키는 간단한 코드를 소개한다.먼저 모델클래스이다.보다시피 프로퍼티와 초기화 메소드를 하나 지정해둔다. @interface User : NSObject @property (nonatomic,strong) NSString *userId; @property (nonatomic,strong) NSString *userName; @property (nonatomic,strong) NSNumber *age; @property (nonatomic,strong) NSString.. 더보기
블로그의 정체성 이 블로그의 시작은 내가 알고 알고 있는 지식 및 생각의 공유, 그리고 다른사람의 의견을 묻기위한 블로그로서 시작해서 기술블로그로 잠깐(!) 방향을 선회했다가 다시 공상블로그로 돌아갔다가 이젠 초심으로 돌아가 지식의 공유 및 다른사람들의 의견공유(지금 페이지 뷰를 보건데 아마 거의 없을듯하지만)를 목적으로 글을 써야겠다. 뭐 잡담도 가끔(아니 대부분).. 더보기
아직도.. 정말 오랜만에 블로그에 글을 쓴다. 글을 쓰려고 블로그를 둘러보니 먼저 놀란것은 아직도 이명박의 시계는 356일이나 남았다는 것이다. 이 블로그 한창 쓸때 이명박이 대통령이었는데, 그 오랜 시간이 지나도 아직도 이명박이 대통령이구나. 5년이란 시간은 정말 긴시간인것같다. 5년내동안 내게 생긴일을 정리해보자면 (개인적인 일은 빼고) 1. 전직 아마 지금 회사보다 큰회사는 그다지 많지 않을정도로 큰회사로 전직을 했다. 이전 회사생활보다 모든면에서 만족스러운 근무형태를 제공해주고 있다. 사내 카페라든지, 플렉서블 타임이라든지(장단점이있지만,늦잠이 많은 나에겐 장점이 많은듯), 뛰어난 동료라든지 , 자동화된 환경이라든지, 휴가 쓰는데 눈치안보이는점등등등. 아마 한동안은 전직생각은 안해도 될것같다. (글쎄?) 1.. 더보기
서버개발자 그리고 아이폰 개발자 서버사이드 개발자에서 전문적인 아이폰 개발자로서 약 7개월정도가 지난것같다. 물론 이전에도 주말에 취미로 또는 회사에서 프로토타입정도로 아이폰 및 OSX에서 개발을 한적은 있지만 이렇게 풀타임으로 개발한적은 이번이 처음이기 때문에 기점을 올해로 잡는다. 그동안 아이폰 개발을 하면서 느낀것을 몇개 정리하면 1. 쉽지 않은 Objective-C개발 자바로 웹페이지를 개발하는데 있어서 소스 코드의 완성도는 뒤로 두고서라도 화면에 원하는 데이터를 표시하는데까지는 그다지 시간이 걸리지 않지만, 아이폰에서 원하는 화면을 만들기 위해서 선택할수 있는 방법은 많지가 않다. 뷰를 구성하는 컴포넌트들의 특성과 구조를 이해한다음에야 각각의 뷰를 화면에 붙일수가 있는데 애플이 제공하지 않는 뷰의 디자인을 수정하기 위해서는 더.. 더보기