input 테그 에서 아래와 같이 쓰면 됨

 onKeyDown="javascript:if (event.keyCode == 13) { login(document.form); }"

 

<script>

function foundItem() {

alert("found!!");

}

</script>

<body>

<a href="javascript: foundItem()" accesskey="n">foundItem</a>

</body>

accesskey 속성은 마우스 등을 쓰지 않는 환경을 위해 링크나 입력 폼에서 키보드의 키 입력만으로 동작을 실행할 수 있도록 accesskey 속성값에 access 할 영어 또는 숫자 한문자를 지정하여 단축키를 설정한다.

accesskey의 실행 방법은 사용자의 OS와 브라우저에 따라 다르다. 특히, 다른 브라우저와는 다르게 IE(인터넷 익스플로러)에서는 <a> 태그에 지정된 accesskey를 실행하면 지정된 링크가 실행되는 것이 아니라, <a> 태그로 포커스가 이동된다. 이때 Enter를 눌러야 지정된 링크가 실행된다.

IE(인터넷 익스플로러에서는 예약어(F, E, V, A, T, H)는 사용 할 수 없다.

* 브라우저별 accesskey 실행 방법

1. Window IE 6/7/8/9 : Alt + accesskey -> 포커스 이동

2. Window Firefox 3 : Alt + Shift + accesskey -> 실행

3. Window Safari 5 : Alt + accesskey -> 실행

4. Window Chrome : Alt + accesskey -> 실행

5. Window Opera 10 : Shift + Esc + accesskey -> 실행

 

최근 일주일 사이 회사 업무 플래폼을 자바로 변경하고 여러가지 해보고 있다. 기존에 잠깐 안드로이드도 개발도 맛보기도 했고 학부때 자바 수업도 들었고 해서 언어적으로 어려운점은 없었다. (자바가 사실 언어는 어렵지 않다는 것이 개인적인 생각이다.) 하지만 설정에서 여러가지 문제들이 생기기 시작했다. 


현재 나는 Java, Spring, Mybatis을 기본으로 해보려고 하고 있는데 처음 접해본 나로서는 이게 무슨.... 무슨설정이 이렇게 복잡한지 정신이 혼미한 상태가 되었다. 다른 서비스도 잠깐 해봤던 경헝으로 오픈소스 플랫폼은 이미 워낙 많은 유틸리티들이 개발되어 있기 때문에 어떻게 이런것들을 잘 조합하는 것들이 결국 개발능력이 되고 마는것 같다. 또 문제가 생겼을때 오픈소스 들에서 문제가 발생되는 경우도 많기 때문에 이런 문제도 개발자가 직접 해결할 수 밖에 없는 단점도 있다. 개발자는 더 알고리즘에 집중해야 하는게 맞지 않나 생각해보며... 오늘 이 씁쓸한 마음으로 이번 포스트를 마친다.


http://opensource.org


   

http://rumkin.com/tools/compression/compress_huff.php

   

바이너리 데이터를 새로 인코딩하므로 압축(33% 용량 증가)에서 오는 효율과는 달리 비효율적인 측면이 있다. 자바스크립트는 느려서 쓰기에는 적합하지 않다. (하지만 최근에는 엔진 성능의 향상으로 많이 좋아졌다 있다.)

   

이전 포스트를 통해서 javascript 압축방법을 소개한 적이 있다. CSS도 물론 압축이 가능하다. 다음 링크를 확인해보자. 온라인 상에서 바로 결과를 확인할 수 있다. 압축의 원리는 중복된 스타일을 제거하고 공백등 불필요한 문자열을 제거하는 것이다. 


http://www.csscompressor.com/



또는 javascript 압축 툴로도 사용하고 있는 Yahoo의 YUI Compressor 로도 가능하다.


http://yui.github.com/yuicompressor/


웹 폰트는 이전에 포스팅 한 woff(Web Open Font Format, http://www.hizine.net/61)를 이용한다. 아직 모든 브라우저에서 지원하지 않는다. 지원 목록은 다음과 같다.

 

  • Firefox since version 3.6
  • Google Chrome since version 6.0
  • Internet Explorer 9
  • Konqueror since KDE 4.4.1
  • Opera since version 11.10 (Presto 2.7.81)
  • Safari 5.1
  • other WebKit-based browsers since WebKit build 528

 

확인했으면 아래 링크를 방문해서 맘에 드는 폰트를 선택한다.

 

http://www.google.com/webfonts

 

 

나는 예쁜 손 글씨체인 Bonbon 을 선택했다.

 

 

선택했으면 오른쪽 아래에 Quick-use를 클릭하면 내용에 다음과 같이 포함해야 할 css파일과 font-family 이름을 확인할 수 있다.

 

<link href='http://fonts.googleapis.com/css?family=Bonbon' rel='stylesheet' type='text/css'>

 

font-family: 'Bonbon', cursive;

 

 

예제에 나와있는 대로 아래와 css에 추가하거나 inline으로 style 속성에 추가해서 사용할 수 있다.

 

h1 { font-family: 'Metrophobic', Arial, serif; font-weight: 400; }

C#에서의 string.empty 문법은 다음과 같다.

public static readonly string Empty

 

msdn (http://msdn.microsoft.com/en-us/library/vstudio/system.string.empty.aspx) 을 보니 단순히 zero-length string인것 같다. "" 로 할당하는 것과 같다. 보통 string을 empty string으로 초기화할 때 많이 사용한다. 추가로 string이 empty 이거나 null인경우를 확인하기 위해서는 IsNullOrEmpty 메소드를 사용하면 된다.

 

하지만 내가 진짜 궁금했던 것은 c#에서 string.empty 로 초기화 하면 가비지 콜랙션의 수집대상이 되는가 였는데 정확한 문서를 찾지 못하였다.

 

반면에 Java에서는 아래와 같이 초기화하면 힙 메모리 영역에 배치되며 가비지 컬랙션의 수집대상이 되지만,

String s = new String();

 

 

아래와 같이 하면 가비지 콜랙터가 수집하지 않는다.

String s = "" ;

 

 

아래 더 자세한 링크가 있으니 시간될 때 확인해보자.

http://stackoverflow.com/questions/11700320/is-string-literal-pool-a-collection-of-references-to-the-string-object-or-a-co

2014년이나 되야 표준화로 정립될 듯. (엄청 더디게 진행되는 느낌이 많이 든다. 하지만 실제적으로 표준안이 나오기 전에도 사용할 수 있을 정도의 수준은 Q2 이후에는 가능하지 않을까 라고 개인적으로 예상해본다. 2개 이상의 브라우저를 뜻하는 것이 대부분의 사용자들이 사용하고 있는 브라우저일 가능성이 높을 것이고 메이저 브라우저가 지원하면 자연스럽게 경쟁에서 뒤쳐지지 않기 위해 다른 브라우저에서도 빠르게 지원할 가능성이 높다. webkit같은 오픈 소스를 사용한다면 더 적용이 빨라질 거라고 생각한다.)

 

http://www.jopenbusiness.com/mediawiki/index.php/HTML5#HTML5_.ED.91.9C.EC.A4.80.ED.99.94_.EC.9D.BC.EC.A0.95 참고

 

  • 2006.06 : 웹 하이퍼텍스트 워킹그룹(WHATWG) 출범
  • Web Form 2.0, Web Applications 1.0
  • 2007.03 : 새로운 HTML 워킹 그룹 생성
  • 2009.10 : W3C에서 XHTML 전환 실패를 인정함
  • 2011.05 : HTML5 최종 초안 (Last Call Working Draft)
  • 2012.Q2 : HTML5 후보 표준안 (Candidate Recommendation) - 2개 이상의 브라우저에서 테스트 완료
  • 2014.Q1 : HTML5 제안 표준안 (Proposed Recommendation) - 브라우저 업체의 피드백 반영
  • 2014.Q2 : HTML5 최종 표준안 (Recommendation)

 

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20110215174256 기사 참고

HTML 마크업 기술의 발전 과정

 

http://ettrends.etri.re.kr/PDFData/27-4_083-095.pdf 참고

http://compressorrater.thruhere.net/

JavaScript 압축 알고리즘 별로 성능을 비교할 수 있다. (JSMin, Dojo, ShrinkSafe, YUI Compressor, Packer, gzip 지원)

 

이 사이트 꽤 유용하다.

 

이클립스 + 톰캣 + 스프링 MVC + maven 개발환경 구축 - 1장

http://springmvc.egloos.com/429363

 

이클립스 + 톰캣 + 스프링 MVC + maven 개발환경 구축 - 2장

http://springmvc.egloos.com/429779

 

이클립스 + 톰캣 + 스프링 MVC + maven 개발환경 구축 - 3장

http://springmvc.egloos.com/429779

 

이클립스에서 SpringMVC 테스트(JUnit) 환경 구축하기

http://springmvc.egloos.com/438345

"파이썬은 자바 플랫폼에서 실행할 수 있도록 확장되었으며, JVM만 있으면 어디서든 실행할 수 있다는 점이다. 또한 여러 플랫폼을 지원하는 C와 .NET을 위한 파이썬도 있다. 그러니까, 파이썬은 거의 모든 곳에서 실행할 수 있다. 이 책에서는, 파이썬의 우아함과 강력함, 편의성을 갖춘 한편 JVM 상에서 실행할 수 있는 Jython에 초점을 맞추도록 하겠다."

 

http://jythonbook_ko.readthedocs.org/en/latest/LangSyntax.html

 

즉, JVM 상에서 동작하는 python이다. 또한 Jython을 찾아보면서 .net 환경을 위한 IronPython도 있다는 것을 알게 되었다. (http://ironpython.net/ 참고) 꽤 흥미롭다. 발표된 지 2년쯤 된 것 같다. 내가 그 동안 최신 정보에 둔해 알지 못했던 것 같다. 아무튼 이를 이용하면 모든 대부분의 플랫폼에서 우아한 python의 코드를 작성할 수 있게 되고 보다 높은 생산성을 가져다 줄 것이라 기대된다.

먼저 코드를 간단하게 구현하기 위해 jQuery를 injection한다.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

 

그후 다음과 같은 코드로 간단히 도메인 등록 여부를 확인할 수 있다. (간단한 예제를 보여주기 위해 코드상에 문제가 있긴 하지만 무시했다.)

 

$.ajax({

url: 'http://www.whoisxmlapi.com/whoisserver/WhoisService',

dataType: 'jsonp',

data: {

domainName: 'yourdomain.com',

outputFormat: 'json'

},

success: function(data) {

    if(!data.WhoisRecord) {

        alert("도메인 형식 오류");

    }else if(data.WhoisRecord.dataError &&

        data.WhoisRecord.dataError == "MISSING_WHOIS_DATA") {

        alert("등록안됨");

    }else {

        alert("등록됨");

    }

}

});

http://www.featureblend.com/javascript-flash-detection-library.html

위 라이브러리를 이용하면 현재 브라우저에 플래시가 설치되어 있는지를 쉽게 확인할 수 있다. 지원하는 Property와 Method는 다음과 같다.

 

Properties:

FlashDetect.installed: true

FlashDetect.raw: Shockwave Flash 11.5 r31

FlashDetect.major: 11

FlashDetect.minor: 5

FlashDetect.revision: 31

FlashDetect.revisionStr: r31

FlashDetect.JS_RELEASE: 1.0.4

 

Method(s):

FlashDetect.versionAtLeast(9): true

FlashDetect.versionAtLeast(9, 0): true

FlashDetect.versionAtLeast(9, 0, 124): true

FlashDetect.majorAtLeast(9): true

FlashDetect.minorAtLeast(0): true

FlashDetect.revisionAtLeast(124): false

 

 

예제코드는 다음과 같다.

 

<script type="text/javascript">

if(!FlashDetect.installed){

    alert("Flash is required to enjoy this site.");     

}else{

    alert("Flash is insalled on your Web browser.");

}

</script>    

+ Recent posts