본문 바로가기

[IT/Programming]

실시간 HTTP 양방향 통신 (Web socket, Polling, Long-polling, and so on) # 실시간 HTTP 양방향 통신 (Web socket, Polling, Long-polling, and so on) 웹 페이지가 한번 로딩 된 이후에 서버에 새로운 데이터가 들어오거나 기존 데이터에 변화가 일어나서 이미 로딩이 끝난 사용자의 웹페이지에도 무언가 변화를 일으키고 싶을때도 있을텐데 이런걸 가능하게 해주는 방법에 대해 알아보자. "웹 페이지가 다시 로드되지 않고도 실시간으로 변동사항을 반영해 변화하게 하려면 어떻게 해야할까요. 이런 고민들은 의외로 많은 곳에서 만나게 됩니다. 웹에서 실시간 모니터링 도구를 만들어야 한다던가, 스포츠 실황중계처럼 매우 짧은 시간간격으로 변화하는 상황을 사용자에게 보여주어야만 하는 서비스를 만든다던가 할 때, 우리는 이와 같은 고민에 빠지게 됩니다. 함께 접속한 .. 더보기
Number to Hex string (16), and vice versa # Number to Hex string (16), and vice versa 숫자를 문자로 처리해야 할때랑, 문자로 쓰여진 숫자를 숫자데이터 형태로 바꿔야 할때가 많은데... 이런게 많을경우, 추가로 사람이 굳이 읽을 필요가 없는 경우, Hex (16진수) 로 다루면 처리속도가 조금이나마 향상될거라 생각되므로 정리해봄. ## TOC ## In JAVA ```[.linenums.lang-java] long yourNumber=0x2aff; // 11007 (10진수) String hexString=Long.toHexString(yourNumber); // for unsigned String hexString=Long.toString(yourNumber, 16); String yourHexString="2.. 더보기
Specific event handler on HTML element? # Specific event handler on HTML element? How to check whether a specific event handler is bound/asigned to a HTML element or not. (Testing jQuery on/off/trigger) jQuery on/off/trigger 명령어 사용하면서 "이미 element 에 handler 가 붙어있는지 아닌지 어떻게 알아낼 수 있지?" 등이 궁금해서 정리하는 글. ## TOC ## jQuery on/off/trigger HTML element 의 event handler 를 다루는 방법 중 jQuery 의 on/off/trigger 사용하는게 가장 깔끔한 방법이라고 생각. 코드도 이해하기 쉽게 디자인 되어있.. 더보기
Installing and Learning JAVA # Installing and Learning JAVA JAVA를 깔고 배워봅시다. ## TOC ## Installing JAVA Oracle 홈페이지 에서 적절한 파일 (.exe) 다운 받아서 실행시키기만 하면 설치 끝. 기본적으로는 window %PATH%와 %CLASSPATH%를 설정해줘야 함. 이 설정은 cmd 창에서 하기 보단 "내 컴퓨터 - 설정 - ..." 에 가서 하는게 더 편해보임. 아래와 같은 경로들을 추가해 주면 끝. 뭐 batch 파일에서 몇개는 경로설정을 해줘서 따로 이 설정을 안해줘도 되는 것들도 있긴함. (e.g. CLASSPATH) ```[.linenums.lang-bat] %JAVA_HOME%=C:\Program Files\Java\jdk1.8.0_05 %PATH%=...... 더보기
Learning Vert.x # Learning Vert.x Vert.x 를 배워봅시다. (version 3.0.0 이 나오면서 뭔가 많이 바뀐듯?) 가장 비슷한 server-side 언어가 node.js 일듯? Vert.x 자체가 node.js 로부터 영향을 받은 프로젝트이기 때문에 node.js 의 많은 장점들을 가져와서 구현했을듯. JVM (Java Vertual Machine) 에서 돌아가기 때문에 "Java, JavaScript, Python, Groovy, Scala" 등 node.js 보다 다양한 언어가 지원된다고. 이런걸 polyglot (여러 언어를 말하는) 특성이라고 하는듯. 그래도 기본적으로 Java 로 돌아가는 놈이라 다른언어로 작성했을때도 vertx 의 모든 기능 및 장점을 사용할 수 있을지는 잘 모르겠음. .. 더보기
정렬법 (Sorting Algorithm) # Sorting Algorithm 아래는 정렬 알고리즘들의 시각화 (sorting visualization) 영상. 뭐 정렬 (sorting) 이야 아무 알고리즘이나 써서 결과만 나오면 된다고 생각할수도 있겠지만, data가 수백만개 수억개라면 빠르게 정렬하는 효율적인 알고리즘을 쓰는것이 무척 중요해진다. 대부분 효율적인 알고리즘은 \(O(n \log n)\) 시간내에 정렬을 끝내주는데, 상황에 따라 (ex: 이미 충분히 정렬이 된 data를 정렬할때) 이것보다 빨리 정렬이 끝나는 경우도 있다. \(O(n^2)\) 시간이 걸리는 비효율적인 정렬법도 있고, 정렬될때까지 random하게 shuffle해서 정렬하는 변태같은 bogo sort 같은것도 있다. Sorting algorithm 에 대해 자세히 설.. 더보기
Number and Bit operations in JAVA and Javascript # Number and Bit operations in JAVA and Javascript JAVA 에는 unsinged number type 이 따로 없는듯 하고. Javascript 에서는 data type 자체가 없음. Javascript 는 이런 data type 을 알아서 대부분 처리해주기 때문에 편한면이 많긴한데, 실제 operator (+, -, *, /, and bit operations) 들이 어떻게 구체적으로 동작하는지를 알아내기가 힘들다는 점도 있는듯. ## TOC ## string.charCodeAt(index) and String.fromCharCode(int) in Javascript JAVA 에서는 str.codePointAt(int i) and String.valueOf(in.. 더보기
HTML docuK format ver. 2.1, short copiable version (2014-06-25) HTML docuK format ver. 2.1 short copiable version (2014-06-25) 개인적으로 만들고 있는 LaTeX 비슷한 형태의 HTML document format + JavaScript. 이름은 그냥 docuK로 'document designed by kipid'란 뜻. When you write the HTML document including docuK document also, using good editors such as Sublime Text editor with Emmet (ex-Zen Coding) package installed is highly recommended. Try useful shortkeys 'Ctrl+D' (Multiple Selecti.. 더보기