티스토리 툴바


WOW

기타 2011/06/12 17:00
레벨업지도
http://www.inven.co.kr/board/powerbbs.php?come_idx=1896&l=3382

채광
http://reviewforum.tistory.com/568
http://reviewforum.tistory.com/627

광석추출
http://blog.naver.com/PostView.nhn?blogId=bisonai&logNo=80115702061 

FairComboPoints2 (신성한 힘, 심문 표시)
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=5023&rurl=%2Fdataninfo%2Faddonpds%2Flist.php%3FsearchField%3Dsubj_subt%26searchString%3Dfair

SexyCooldown
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=2794

인벤레이드프레임2
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=4444

가방정리
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=6079&rurl=%2Fdataninfo%2Faddonpds%2Flist.php%3FsearchField%3Dsubj_subt%26searchString%3Dmerchant

CLCRet (징벌기사 다음스킬)
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=5719&rurl=%2Fdataninfo%2Faddonpds%2Flist.php%3FsearchField%3Dsubj_subt%26searchString%3DCLCRet

BlueItemInfo3
BlueItemLink

InvenAggroMeter
InvenRaidFrames3

skada
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=5894&rurl=%2Fdataninfo%2Faddonpds%2Flist.php%3FsearchField%3Dsubj_subt%26searchString%3Dskada

NugComboBar

Forte

CatPoor 가방정리

HolyPowerBar
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=4827&rurl=%2Fdataninfo%2Faddonpds%2Flist.php%3FsearchField%3Dsubj_subt%26searchString%3D%25EC%258B%25A0%25EC%2584%25B1

Doom Cooldown Pulse
http://wow.inven.co.kr/dataninfo/addonpds/detail.php?idx=5846&rurl=%2Fdataninfo%2Faddonpds%2Flist.php%3FsearchField%3Dsubj_subt%26searchString%3Dcooldown


Posted by 天下太平

Java classpath

Java 2011/04/18 14:13
* Java classpath 설정방법
1. -classpath src1;src2;A.jar;B.jar
2. -cp src1;src2;A.jar;B.jar
3. -Djava.class.path=src1;src2;A.jar;B.jar
4. set CLASSPATH=src1;src2;A.jar;B.jar

* classpath 옵션이 두 개 이상이면
java -cp src1 -cp src2 -cp src3 Test
-> 마지막 옵션 (src3)만 적용된다.

* -cp, -classpath -Djava.class.path 옵션을 섞어서 쓰면
java -Djava.class.path=src1 -cp src2 Test
-> 마지막 옵션 (src2)만 적용된다.

* ClassLoader 종류
- Bootstrap ClassLoader : $JAVA_HOME/jre/lib/rt.jar
- Extension ClassLoader : $JAVA_HOME/jre/lib/ext/*.jar
- Application ClassLoader : $CLASSPATH

* 상위 ClassLoader에 있는 Class가 우선순위가 높다

* ClassLoader C1에서 로드된 클래스 A가 참조하는 클래스 B는 반드시 ClassLoader C1 혹은 C1보다 상위의 ClassLoader에서 찾을 수 있어야 한다.


 
Posted by 天下太平

OnJava.com

Java 2011/04/10 22:13
O'RELLY OnJava.com
http://onjava.com/pub/q/all_onjava_articles
 
Posted by 天下太平


# APNS

APNS - Local and Push Notification Programming Guide
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008194-CH1-SW1

APNS
The Notification Payload
json format 256 byte maximum
'aps' namespace
  An alert message to display to the user
  A number to badge the application icon with
  A sound to play
custom payload

# Apple 관련 ID
Apple ID: Apple App Store 계정
Bundle ID: ex) com.kt.m2m.smartcar
UDID (Unique Device Identifier) : 디바이스 식별 ID (디바이스 SN과 관련, SIM과는 무관) [a-f0-9] * 40 character
DeviceToken (APNS) : App이 디바이스에 인스톨 될 때 APNS로부터 받음. Push Notification에 사용. 32 bytes

# C2DM

Android Cloud to Device Messaging Framework
http://code.google.com/intl/ko-KR/android/c2dm/index.html

Android C2DM - sg90841님 블로그
http://blog.naver.com/PostView.nhn?blogId=sg90841&logNo=120119879166

# Google 관련 ID
Sender ID : Android Application을 구분하기 위한 개발자의 이메일
Application ID : ex) com.kt.m2m.smartcar
Registration ID : C2DM서버가 Android application에게 발급해주는 ID. Thrid-party 서버가 C2DM을 통해 메세지를 보낼때 디바이스(device+application)를 식별하는데 사용.
Sender Auth Token : Thrid-party 서버가 Google 서비스에 접근할 때 사용하는 인증키.
 
Posted by 天下太平

Big-endian vs Little-endian

OS 2011/03/24 00:39
Endianness
http://en.wikipedia.org/wiki/Little-endian

A
 big-endian machine stores the most-significant byte first (at the lowest address), and a little-endian machine stores the least-significant byte first.

 
Big Endian
8 bit:C o m p u t e r
16 bit:Co mp ut er
32 bit:Comp uter
Little Endian
8 bit:r e t u p m o C
16 bit:er ut mp Co
32 bit:uter Comp

File:Big-Endian.svgFile:Little-Endian.svg


Little-endian operating systems:

Big-endian operating systems:

 
 


http://yonghyuk.pe.kr/2681728

Big-endian: UNIX(RISC), Network 상의 Byte-Order 표준
Little-endian: Intel 기반 PC (CISC) 

Posted by 天下太平

Maven

Maven 2010/12/08 16:52
Maven Documentation
http://maven.apache.org/guides/index.html

Sonatype Books
http://www.sonatype.com/books.html

Maven: The Complete Reference
http://www.sonatype.com/books/mvnref-book/reference/public-book.html

Custom Lifecycle
http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-custom-lifecycle.html

Lifecycle Reference
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference

# mirrors

http://mirrors.ibiblio.org/pub/mirrors/maven2/jboss/jpl-util/3.2.3/ 
http://mvnrepository.com/
 
Posted by 天下太平

Memcached and Terracotta

Cache 2010/12/03 18:30
Caching: Memcached and Terracotta
http://venkks.blogspot.com/2007/08/caching-memcached-and-terracotta.html

 

Caching: Memcached and Terracotta

Applications are generally built with an expected user base but soon might be overwhelmed due to business demand. This is especially particularly true in the context of consumer facing applications. Caching is one of the most important aspect to improve application performance by storing object in Cache (memory) reducing database load.

Caching in a clustered environment requires a Distributed Caching solution which can support failover scenarios and data reliability. In this post I would like to explore the capabilities of Memcached and Terracotta as distributed caching solutions.

Memcached is a high-performance distributed object caching system with client APIs for Perl, PHP, Python, Ruby and Java. Here are some of its capabilities and limitations (using Java client API):

  • Requires objects to be Serializable
  • Object Identity is NOT preserved
  • Supports cache expiration
  • Does NOT handle failover scenarios
  • For a given object selects a server from a pool of cache server based on hash of the key
  • Easy to configure (through SockIOPool class)

Terracotta is an open-source Java based clustering solution for JVM. Distributed Caching can be achieved using Terracotta by using a java.util.HashMap or open-source caching solutions like EHCache, OSCache and JBoss TreeCache.

  • Preserves Object identity
  • Manages memory efficiently through Virtual Heap
  • Declarative requirement for lock support
  • Simple configuration file with Eclipse Tool support
  • Good documentation, support and active development
  • Due to the nature of its implementation certain classes are not Portable and hence cannot be used
  • Hard to determine which third-party classes are portable
  • Does NOT require classes to be serializable
  • Easy to configure and get started!

Memcached and Terracotta : Alternatives or Complementary?
http://debasishg.blogspot.com/2008/09/memcached-and-terracotta-alternatives.html
Posted by 天下太平

jstat

Java 2010/12/02 10:42
# jstat -help
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

Definitions:
  <option>      An option reported by the -options option
  <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                     <lvmid>[@<hostname>[:<port>]]
                Where <lvmid> is the local vm identifier for the target
                Java virtual machine, typically a process id; <hostname> is
                the name of the host running the target Java virtual machine;
                and <port> is the port number for the rmiregistry on the
                target host. See the jvmstat documentation for a more complete
                description of the Virtual Machine Identifier.
  <lines>       Number of samples between header lines.
  <interval>    Sampling interval. The following forms are allowed:
                    <n>["ms"|"s"]
                Where <n> is an integer and the suffix specifies the units as
                milliseconds("ms") or seconds("s"). The default units are "ms".
  <count>       Number of samples to take before terminating.
  -J<flag>      Pass <flag> directly to the runtime system.
#
# jstat -options
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation

# jstat -gcutil <PID> 1000
 

 
Posted by 天下太平
TAG jstat
Doug Lea
http://g.oswego.edu/

5 things you didn't know about... java.util.concurrent
http://www.ibm.com/developerworks/java/library/j-5things4.html
http://www.ibm.com/developerworks/java/library/j-5things5.html

5 things you didn't know about... java.util.concurrent (한글)
https://www.ibm.com/developerworks/kr/library/j-5things4.html
http://www.ibm.com/developerworks/kr/library/j-5things5.html

 Part 1.
* TimeUnit : 시간 단위, TimeUnit.SECOND, TimeUnit.MILLISECOND
* CopyOnWriteArrayList : read often, write rarely
* BlockingQueue : queue.take() method 호출했을 때, Queue가 비어있으면 계속 기다린다
* ConcurrentMap : ConcurrentHashMap
* SynchronousQueues : BlockingQueue와 같고, 기다리는 consumner가 있어야만, producer가 insert할 수 있다

Part 2.
* Semaphore : new Semaphore(3), sem.acquire(), sem.release()
* CountDownLatch : new CountDownLatch(5), start.await(), start.countDown()
* Executor, ExecutorService, ScheduledExecutorService : run Runnable or Callable, No fussing with Thread.




자바캔 Java Concurrency : Executor & Callable/Future
http://javacan.tistory.com/entry/134

Java Tutorial - Lesson: Concurrency
http://download.oracle.com/javase/tutorial/essential/concurrency/

Concurrent Programming with J2SE 5.0
http://java.sun.com/developer/technicalArticles/J2SE/concurrency/


 Overview of Concurrency Utilities
Task scheduling framework : Executor
Concurrent collections
Atomic variables
Synchronizers : semaphore, mutex, barrier, latch, exchanger
Locks : limitation of built-in monitor, synchronized
Nanosecond-granurity
java.util.concurrent package
Semaphore : A classic concurrency tool
CyclicBarrier : A resettable multiway synchronization point
CountDownLatch : A utility for blocking until a given number of signals, events, or conditions hold.
Exchanger : Allows two thread to exchange objects at a rendezvous point, and can be useful in pipeline designs.
java.util.concurrent.locks
AtomicInteger number = new AtomicInteger(); number.getAndIncrement();






Posted by 天下太平

Java Hotspot VM Option

Java 2010/11/17 18:16
Java Hotspot VM Option
http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

Posted by 天下太平

SVN

기타 2010/11/09 10:46
SVN server config - Write through Proxy
http://svnbook.red-bean.com/en/1.5/svn.serverconfig.httpd.html#svn.serverconfig.httpd.extra.writethruproxy


---------------------------
svn checkout (co)
svn info
svn status (st)
svn update (up)
svn cleanup
svn commit
svn proplist (pl)
svn propget (pg)
svn propset (ps)
svn propdel (pd) 
svn mkdir
svn copy
svn switch (sw) 
---------------------------
*.iws
*.ipr
*.iml
.settings
.project
.classpath
bin
target
---------------------------

 
서브버전 스위치 명령어 사용하기
http://lethean.pe.kr/2009/02/06/using-subversion-switch-command/ 

 
Posted by 天下太平

JMX

Java 2010/11/04 17:24
Java Management Extensions (JMX) Technology
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/

Java Management Extensions (JMX)
http://download.oracle.com/javase/1.5.0/docs/guide/jmx/index.html


Getting started with JMX
http://java.sun.com/developer/technicalArticles/J2SE/jmx.html 


Monitoring and Management using JMX
http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html

-Dcom.sun.management.jmxremte
-Dcom.sun.management.jmxremote.port=portNumber


An object name consists of two parts, the domain and the key properties.
The domain is a string of characters not including the character colon (:).

An ObjectName can be written as a String with the following elements in order:
  • The domain.
  • A colon (:).
  • A key property list as defined below.

A key property list written as a String is a comma-separated list of elements. Each element is either an asterisk or a key property. A key property consists of a key, an equals (=), and the associated value.



Posted by 天下太平
1. maven2
2. svn client
3. JDK 1.5.0
4. eclipse
5. subclipse    http://subclipse.tigris.org/update_1.6.x
6. m2eclipse    http://m2eclipse.sonatype.org/sites/m2e
7. springide    http://springide.org/updatesite
8. Eclipse AJDT http://download.eclipse.org/tools/ajdt/36/update
9. google plugin for eclipse
    http://code.google.com/intl/ko-KR/eclipse/docs/download.html
    http://dl.google.com/eclipse/plugin/3.6
10. properties editor plugin
    http://propedit.sourceforge.jp/index_en.html
    http://propedit.sourceforge.jp/eclipse/updates/
11. eclipse JMX plugin  http://code.google.com/p/eclipse-jmx/

12. LogWatcher  plugin  http://graysky.sourceforge.net/
Posted by 天下太平

JBoss environment

WAS 2010/10/28 11:08
jboss.co.kr
http://www.jboss.co.kr/

JBoss Wiki
http://community.jboss.org/wiki/

JBoss4xSlimming
http://community.jboss.org/wiki/JBoss4xSlimming

다우기술 - 솔루션
http://support.daou.co.kr/sol_dir/sol_data_view.jsp?s_seq=2&b_seq=2025&from_form=sol_faq&b_cd=B&page=2



* URLEncoding

jboss-4.2.3.GA
$JBOSS_HOME/server/default/deploy/jboss-web.deployer/server.xml

     <Connector port="8080" address="${jboss.bind.address}"   
         maxThreads="250" maxHttpHeaderSize="8192"
         emptySessionPath="true" protocol="HTTP/1.1"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8"/>


jboss-4.0.5.GA
$JBOSS_HOME/server/fmx/deploy/jbossweb-tomcat55.sar/server.xml

    <Connector port="8080" address="${jboss.bind.address}"
         maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
         emptySessionPath="true"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>



Posted by 天下太平

Security & 암호화

Security 2010/08/23 09:35
Java Security
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html

Security Documentation
http://www.oracle.com/technetwork/java/index-139231.html

Java 1.5 Security Documentation
http://download.oracle.com/javase/1.5.0/docs/guide/security/index.html

Java Security Architecture Overview
http://download.oracle.com/javase/1.5.0/docs/guide/security/spec/security-spec.doc.html

Java Cryptography Architecture
http://download.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.html
http://download.oracle.com/javase/1.4.2/docs/guide/security/jce/JCERefGuide.html

 

The JCE API covers:

  • Symmetric bulk encryption, such as DES, RC2, and IDEA
  • Symmetric stream encryption, such as RC4
  • Asymmetric encryption, such as RSA
  • Password-based encryption (PBE)
  • Key Agreement
  • Message Authentication Codes (MAC)
engine classes:
  • MessageDigest: used to calculate the message digest (hash) of specified data.

  • Signature: used to sign data and verify digital signatures.

  • KeyPairGenerator: used to generate a pair of public and private keys suitable for a specified algorithm.

  • KeyFactory: used to convert opaque cryptographic keys of type Key into key specifications (transparent representations of the underlying key material), and vice versa.

  • CertificateFactory: used to create public key certificates and Certificate Revocation Lists (CRLs).

  • KeyStore: used to create and manage a keystore.A keystore is a database of keys. Private keys in a keystore have a certificate chain associated with them, which authenticates the corresponding public key. A keystore also contains certificates from trusted entities.

  • AlgorithmParameters: used to manage the parameters for a particular algorithm, including parameter encoding and decoding.

  • AlgorithmParameterGenerator: used to generate a set of parameters suitable for a specified algorithm.

  • SecureRandom: used to generate random or pseudo-random numbers.
In the 1.4 release of the Java 2 SDK, the following new engines were added:
  • CertPathBuilder: used to build certificate chains (also known as certification paths).

  • CertPathValidator: used to validate certificate chains.

  • CertStore: used to retrieve Certificates and CRLs from a repository.


 Cryptographic Concepts

Encryption and Decryption
ncryption is the process of taking data (called cleartext) and a short string (a key), and producing data (ciphertext) meaningless to a third-party who does not know the key. Decryption is the inverse process: that of taking ciphertext and a short key string, and producing cleartext.

Password-based Encryption
Password-Based Encryption (PBE) derives an encryption key from a password. In order to make the task of getting from password to key very time-consuming for an attacker, most PBE implementations will mix in a random number, known as a salt, to create the key.

Cipher
Encryption and decryption are done using a cipher. A cipher is an object capable of carrying out encryption and decryption according to an encryption scheme (algorithm).

Key Agreement
Key agreement is a protocol by which 2 or more parties can establish the same cryptographic keys, without having to exchange any secret information.

Message Authentication Code

A Message Authentication Code (MAC) provides a way to check the integrity of information transmitted over or stored in an unreliable medium, based on a secret key. Typically, message authentication codes are used between two parties that share a secret key in order to validate information transmitted between these parties.

A MAC mechanism that is based on cryptographic hash functions is referred to as HMAC. HMAC can be used with any cryptographic hash function, e.g., MD5 or SHA-1, in combination with a secret shared key. HMAC is specified in RFC 2104.




How to Implement a Provider for the JavaTM Cryptography Architecture
http://download.oracle.com/javase/1.5.0/docs/guide/security/HowToImplAProvider.html#Introduction

 JDK 1.1 contains some implementations of digital signature algorithm, message digest algorithm, key generation algorithm.
Java 2 SDK adds five services of key factory, keystore creation and management, algorithm parameter management, algorithm parameter generation, certificate factory. And it's provider can supply random number generation (RNG) algorighm.

The SUN provider package includes:





Java Security 기술
http://www.dal.kr/chair/javadoc/dist01/javasec.html

자바 암호화
http://blog.kangwoo.kr/44

Java Security Socket Extension
http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html

Java Security Tools
http://download.oracle.com/javase/6/docs/technotes/tools/index.html#security

No more 'unable to find valid certification path to requested target'
http://blogs.sun.com/andreas/entry/no_more_unable_to_find

HTTPS - is the URL string itself secure?
http://askville.amazon.com/HTTPS-URL-string-secure/AnswerViewer.do?requestId=773506

JSSE
   SSL : Secure Socket Layer
   TLS : Transport Layer Security
   JSSE provide :
      data encryption
      server authentication
      message integrity
      optional client authentication
   integrated with JDK1.4
   The JSSE api can supports SSL 2.0/3.0 and TLS 1.0
   The JSSE impl of SUN supports SSL 3.0 and TLS 1.0
   JCA : Java Cryptography Architecture
   JAAS : Java Authentication and Authorization Service
   PKI : Public Key Infrastructure
   SunJSSE Provider
   DES : Data Encryption Standard

 

Secure Sockets Layer Documentation

Online resources:



Gmail - configuring other mail clients
http://mail.google.com/support/bin/answer.py?hl=en&answer=13287

Incoming Mail (POP3) Server - requires SSL: pop.gmail.com
Use SSL: Yes
Port: 995
Outgoing Mail (SMTP) Server - requires TLS or SSL: smtp.gmail.com (use authentication)
Use Authentication: Yes
Port for TLS/STARTTLS: 587
Port for SSL: 465
Account Name: your full email address (including @gmail.com or @your_domain.com)
Email Address: your email address (username@gmail.com or username@your_domain.com)
Password: your Gmail password


keytool
http://download.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html


 -list
# keytool -list -keystore ${keystore.file}
keytool -list -keystore jssecacerts

-export
# keytool -export -alias ${alias} -keystore ${keystore.file} -file ${file}
keytool -export -alias smtp.gmail.com-1 -keystore jssecacerts.gmail -file smtp.gmail.com-1.cer

-import
# keytool -import -trustcacerts -file ${file} -keystore ${keystore.file}
keytool -import -trustcacerts -file ./smtp.gmail.com-1.cer -keystore ./jssecacerts



PKI (Public Key Infrastructure)
http://en.wikipedia.org/wiki/Public_key_infrastructure

X.509
http://en.wikipedia.org/wiki/X.509

Internet X.509 Public Key Infrastructure Certificate and CRL Profile
http://www.ietf.org/rfc/rfc2459.txt

Posted by 天下太平