자바스크립트 메소드 체이닝패턴
서론
자바스크립트는 다른 언어에 비해서 쉬우면서도 어렵고 유연하면서도 복잡하다는 것을 사용하면 할 수록 느끼게 되는 것 같다. 한때 웹 개발을 중심으로 할 때는 자바스크립트 코드를 많이 사용했다. 이때는 지금의 자바스크립트와는 매우 다른 형태였다. 그렇게 복잡한 코드도 코드 양도 많지 않았던 그 시절과 다르게 이젠 자바스크립트 자체로 어플리케이션을 만들 수도 있고 서버 프로그램을 할 수 있는 세상이 되었다. 그렇다보니 자바스크립트 코드가 복잡해지고 방법도 다양해졌다. 그래서 자바스크립트 언어의 특징을 잘 이해하면서 간결하고 효율적인 코드를 생성하거나 사용할 수 있다. 뿐만 아니라 자바스크립트도 프로그래밍 언어로 기존의 프로그래밍 언어로 개발하는 패턴을 그대로 적용할 수 있다.
자바스크립트에서 Object.function().function().function()
이렇게 진행되는 코드를 보면서 하나의 Object의 메소드가 순차적으로 call 되는 코드를 만들 수 있다는 것을 알 수 있었다. 또한 이렇게 코드를 작성하면 코드량을 줄 일 수 있는 것도 가능하다. 그래서 이렇게 메소드가 순차적으로 진행되는 패턴을 찾아보니 메소드 체이닝(Method Chaining) 패턴이라는 것을 알게 되었다.
안드로이드에서 https 요청 구현하기
서론
현재 시중에 나와 있는 안드로이드 책은 모두 Http로 데이터를 요청하는 예제만 수록하고 있다. 하지만 안드로이드 앱을 개발할 때 http 요청만 처리하는 것이 아니다. https 요청을 http와 동일하게 사용할수는 없다. 이번 프로젝트에서 https로 로그인 관련 작업을 하면서 우리가 안드로이드를 개발할 때 흔히 사용하는 HttpClient로 https를 요청할 수 없다는 것을 확인하고 방법을 찾아서 해결했는데 그 방법에 대해서 포스팅하고자 한다.
Continue Reading자체 Https 테스트를 위해 OpenSSL과 Node.js로 Https Server 만들기
서론
HTTS는 HTTP 보안 프로토콜이다. http로 전송되는 데이터를 암호화해서 보안을 위해서 최근에는 로그인이나 API 등 보안에 민감한 요청은 https를 사용한다. https에서 s는 secure socket을 사용한다는 말이다. https는 인증서를 등록해서 사용하는데 최신 브라우저에서는 https로 접근하면 보안 프로토콜을 사용한다는 표시를 한다거나 인증서 확인을하는 작업등을 한다. 이런 이유 때문에 클리언트 프로그램이 https로 요청하면 인증처리하는 과정을 거쳐야하기 때문에 일반 http 요청과 다른 과정이 필요하다. 개발할 때 https를 테스트하기 위해서 https에 사용되는 인증서를 구입해서 개발할 수는 없다. https에 사용하기 위해서 인증서를 만들더라도 https는 하나의 도메인만 적용되고 그 가격도 너무 고가이기 때문에 개발용 서버에 https 인증서를 구입하는 것은 효율적이지 못하기 때문이다. 그럼 어떻게 개발용으로 https 서버를 구현할 수 있을까? 다행히 OpenSSL을 사용하면 자체 인증서를 만들 수 있다. 하지만 공인으로 등록된 인증서가 아니기 때문에 OpenSSL로 만든 인증서는 실제 서비스를 하는데는 무리가 있다. 하지만 개발용으로는 충분히 사용할 수 있기 때문에 어떻게 https 서버를 구현해서 사용할 수 있는지 소개한다.
Continue ReadingSQLite3를 이용하여 안드로이드 디바이스의 데이터베이스 디버깅하기
서론
안드로이드 개발을 하면 emulator로 개발하는 개발자는 거의 없을것 같기도 하다. 이유는 안드로이드 에뮬레이터 속도가 정말 답답하게 느리기 때문이다. 뿐만 아니라 개발을 할 때 반드시 디바이스에 디버깅을 해야하는 경우도 있다. 이럴때, 안드로이드 앱 안의 데이터베이스에 접근할 때 문제가 생긴다. 그렇다고 매번 emualtor에서 데이터베이스를 조회하고 다시 디바이스로 빌드한다면 개발에 상당히 불편함을 느낀다. 이를 해결하기 위한 방법을 찾아서 개발에 직접 사용하고 있는 방법을 포스팅하기로 한다.
Continue Reading맥에서 Doxygen을 이용하여 대용량 Java 프로젝트 클래스 다이어그램 문서 만들기
서론
Java 개발에서 IntelliJ를 개발 IDE로 사용하고 있다. IntelliJ는 eclipse보다 안정성을 자랑하고 무엇보다 빠른 indexing를 제공하고 있기 때문에 개발할때 code assist를 가볍게 사용할 수 있는 장점을 가지고 있다. 이클립스에서 자바 파일이 많아지면 reindexing하는 시간 때문에 점한번 잘못 찍었다가는 eclipse 전체가 먹통이 되는 현상을 만날 수 있다. 그럼 IntelliJ는 그런경우가 없을까? 물론 IntelliJ에서도 메모리 문제가 발생하기도 한다. 보고서에 클래스 다이어그램을 넣기 위해서 IntelliJ에서 제공하고 있는 클래스 다이어그램 생성 메뉴를 눌렀을 때 이런 메세지를 발견했다.
Continue Reading