나를 포함한 많은 개발자들이

java.text.SimpleDateFormat이 스레스 세이프 하지 않다는 것을 잊고

static으로 선언하기 일 쑤 이다.

혹 또 잊어버릴 일이 생길 것 같아

SimpleDateFormat이 Thread-safe한지 테스트 한 결과를 알아보았다.

앞으로는 단순한 private으로만 사용해야겠다. ㅋㅋ

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 허혁

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2008/05/15 10:18
    댓글 주소 수정/삭제 댓글
    비밀댓글 입니다
  2. 2008/05/26 21:51
    댓글 주소 수정/삭제 댓글
    저동 항상 static final로 했었는데 얼마 전에 알았어요. 오년도 넘게 잘못된 코드를 =.=
    • 2008/06/18 16:39
      댓글 주소 수정/삭제
      습관적으로 쓰는 코드에 잠재된 버그라니..

      FindBug 를 생활화 해야하나봐요..
  3. 2008/05/28 19:50
    댓글 주소 수정/삭제 댓글
    비밀댓글 입니다

요즘 계속 자바스크립트 관련된 포스팅을 하는 것 같은데
부쩍 관심이 늘어서 인가?
아니면 한글 정보가 부족함을 채우려고 하는 것인가?

일단 오늘의 스크립트

자바스크립트 변수를 쿠키없이 세션 변수처럼 사용하기

원리는 간단하다

window.name 으로 변수를 설정하면 페이지 리로드가 되도

그 값은 변하거나 리로드 되지 않음을 알 수 있다.

이 특징을 가지고 구현한 것인데.

물론 FireBug 같은 툴로 값을 조작할 수도 있기 때문에

보안적으로 중요한 것들은 사용하지 않는 것이 좋겠다.

하지만 간단하게 세션을 유지 하고자 한다면 이 방법도

상당히 유용한 방법이 아닐까? 싶다.

또한 서버와 브라우저간의 암호화가 가능하다면 혹은

Validate를 위한 값이라면

상황에 맞게 생성해서 사용 하는 것 또한 가능하다.

마지막으로

위 링크의 라이브러리를 보면

crossDomain도 지원해준다.

유훗~

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 허혁

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

구글의 AJAX 천명 이후

천대 받던 자바스크립트의 재조명이 이루어지고

점점 발전하는 하드웨어로

절대 나오지 않을 것만 같았던 구현체들이 속속히 등장하고 있다.

오늘은 가장 단순하면서 널리 사용되는 텍스트 에디터.

vi의 자바스크립트 구현체를 소개하겠다.

위 링크를 열어 보면 단순히 textarea에 수정하고자 하는 텍스트를 넣어두고

파일을 불러들이는 것을 볼 수 있다.


그리고 스타일이 들어 있는을 연결시켜 놓으면 사용 준비 완료이다.

사용 용법은

onfocus="editor(this);"


를 원하는 텍스트에리어에 넣어주면 되는 것이다.


하지만

실제로 사용될 일은 얼마나 있을지 의문이다.

나 같으면

Seaside 같은 프레임워크를 만들 때 사용하는 것이 좋지 않을까? 싶은데.

일단은 블로그 덧글쪽에 붙여보면 재미 있을 것 같은데..

귀차니즘에...

또 하나

Kay의 블로그에서 본 Syntax Highlighter

우리 같이 코드 예시를 많이 사용하는 사람들에게 필요한 스크립트이다.

물론 전에 어디에선가 보았던것 같고 나름 유명해 보이는데..

IT's Lives에서도 플러깅 시켜놔야할 것 같아

이렇게 붙어 간다. ㅎㅎ

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 허혁

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2008/05/15 06:22
    댓글 주소 수정/삭제 댓글
    오 vi, 좀 짱인듯?

Firefox 3에서 mailto: 프로토콜을 핸들링해 웹 페이지로 연결해주는 프로토콜 핸들러를 지원한다.



Continuation이 Closure의 한 부분이냐? 아니냐? 라는 토의.. 그런데 컨티뉴에이션이 뭐지? 클로저는 아는데..

이렇게 정의 된다고 한다.

In the terminology of CTM, a closure is a procedure value (procedure definition + contextual environment) and a continuation is a semantic stack ('what remains to be executed').


Groovy 와 JRuby 를 비교하면서 Sun이 왜 JRuby를 미는지 모르겠다는 글을 정리해둔 사람이 있는데 여러 가지 언어의 특징을 잘 정리 해둔 글인 것 같다.


IT쪽은 항상 관련 서적이 많이 나온다. 그러다 보면 사두고 못 보는 책들이 지속적으로 등장하기 마련이데
특히 사람들이 사두고 보지 않는 책 중 꼭 봐야할 책들은 외국도 똑같나 보다.



도날드 크누스 교수의 Multi-Core, Unit Testing, Literate Programming, and XP 에 관한 인터뷰..
.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 허혁

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 정재훈
    2008/05/02 10:28
    댓글 주소 수정/삭제 댓글
    continuation 관련해서는 아래 글을 한번 참고해 보세요.
    http://blog.naver.com/jeong_jaehun/90022725991
    그나마 이해할 수 있었던 글이었음.^^;
    • 2008/05/02 10:57
      댓글 주소 수정/삭제
      위의 토론 보고 대충 이해 했었는데요..

      모양과 형식은 비슷해 보이는데

      Continuation은 처리 하다 남은(미결정된사항)을

      리턴으로 돌려주고 남은 처리를 한다는 느낌으로 생각이 들어서요..

      링크 남기신거 보면 더 이해갈 잘되겠죠? ^_^
  2. 정재훈
    2008/05/02 10:38
    댓글 주소 수정/삭제 댓글
    PL 관련해서 정리해둔 블로그는 대충 읽어봤는데,
    Ted Nedward가 트랙백한 포스트, 저거 한 몇달 전에 나온 이야기인데 다시 또 불꽃 일어나겠구나.
    근데 저런 거 댓글까지 읽어보면 디기 재밌음.
    전에 인생의 낙이 없을 때 groovy랑 jruby 개발자들끼리 싸우는 거 보고 활력을 찾았을 때도 있었음. ㅋㅋ
    • 2008/05/02 10:59
      댓글 주소 수정/삭제
      ㅋㅋ 물론 그렇지요..

      제 생각엔 루비 언어를 메이저로 올리기에는 너무 버거운 면들이 있긴 한 것 같아요,

      그래도 심볼이 맘에 들어서 살포시 메이저로 떠올랐으면 좋겠다는.. ㅋ
  3. 2008/05/09 22:54
    댓글 주소 수정/삭제 댓글
    제 짧은 견해로는 Continuation이 Python의 Generator와 비슷해 보이는데 말이죠. =ㄴ=
    return을 하지 않고 yield라는 키워드를 써서 값을 돌려주면 스택은 그대로 남아서 계속 그 다음 값을 돌려주더라구요.
    • 2008/05/11 01:00
      댓글 주소 수정/삭제
      링크 따라가 보면

      샘루비 선생의 컨티뉴에이션 예제로 파이선 제너레이터를 사용했던데.. ㅡ.ㅡ

      클로저는 함수에 로직을 넘겨주는 스타일이라고 하면
      컨티뉴에이션은 함수가 로직을 돌려주는 스타일이라고 볼 수 있는 것 같다..

      추가로 예제 같은 것 좀 만들어봐야지~ ㅋ


BLOG main image
안녕하세요. 안정된 코딩, 여유로운 프로젝트, 떠오르는 코더 by 허혁

카테고리

분류 전체보기 (88)
direct (50)
indirect (21)
transmissive (10)
agenda (4)
idea (3)

달력

«   2008/05   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 달린 레몬펜 쪽지

Statistics Graph
Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.