본문 바로가기

분류 전체보기

SSL 서버 SSL 서버 지난 테크팁 'JSSE를 이용한 안전한 커뮤니케이션'에서 클라이언트측으로부터의 보안 HTTP 요청과 반응(HTTPS또는 HTTP over SSL)을 어떻게 핸들링하는지 배웠다. 이번 팁에서는 서버측 부분의 SSL 커뮤니케이션에 대해서 알아보기로 한다. 첫번째 팁 Working with Selectors에서와 같이 이번 팁의 서버는 에코 서버이다. 즉 서버는 클라이언트로부터 수신한 것을 단순히 클라이언트에게 재송신한다. Again, 클라이언트 측 테크팁에서의 경우과 같이 서버를 생성하기 위해 먼저 소켓 팩토리를 얻는다. SSL 서버용 소켓을 위해서 SSLServerSocketFactory 타입 팩토리를 이용한다. SSLServerSocketFactory는 javax.net.ssl 패키지에 있다.. 더보기
[JAVA] 컴파일러 들여다보기 마이크로소프트웨어 2006년 7월 기고글입니다. 자바 개발자라면 누구나 자바 컴파일러(javac)를 사용한다. 하지만 상당수 개발자는 컴파일러가 어떻게 동작하는지 관심이 없다.이들은 작성한 소스 코드가 오류 없이 컴파일되고 컴파일의 결과로 나온 클래스 파일이 원하는 기능을 수행하면 그만이라고 말한다.하지만 컴파일러 작성자가 아니더라도 컴파일러가 소스 코드를 어떤 형태의 바이너리(자바의 경우 바이트코드)로 변환시키는지 알아두면유용한 경우가 많다. 이 글에서는 몇 가지 예제를 중심으로 자바 컴파일러의 내부 동작을 엿보는 기회를 가지려고 한다. T 업계의 종사하는 사람이라면 18개월마다 컴퓨팅 파워가 2배가 된다는 무어(Moore)의 법칙을 잘 알고 있을 것이다. 컴파일러에도 이와 비슷한 법칙이 있다. Pro.. 더보기
자바에서 구조체사용.. 자바에서는 구조체라는건 없습니다. C에서의 구조체가 어떻게 보면 전혀 필요 없는거거든요... 왜냐면 자바는 객체지향언어이고... 사용자정의 타입을 만드는게 바로 하나의 클래스는 만드는 것이기 때문이죠.. 예제) typedef struct _node { struct _node *next; int number; int weight; } node; 자바에는 class Node{ int number = 0; int weight = 0; public void methodA(){} } 더보기
TextView에 텍스트 파일 내용 출력 에러문제.... 텍스트 파일이 큰 경우는 별도의 트릭을 가져야 합니다. 500k보다 큰경우 파일을 자체적으로 500K미만으로 여러개로 쪼개서 가져가고 각 파일을 링크를 구현해서 메모리로 불러와야 합니다. 출처 : http://www.androidpub.com/52859 더보기
IT멘토링ㆍ인턴십 제도 성과보고회 IT멘토링ㆍ인턴십 제도 성과보고회 강동식 기자 dskang@dt.co.kr | 입력: 2009-12-10 21:02 `2009 IT멘토링 및 IT인턴십 제도 성과보고회'가 지식경제부 주최, 정보통신산업진흥원, 한국정보산업연합회 주관으로 9일 서울 삼성동 코엑스인터컨티넨탈호텔에서 열렸다. 이 날 동국대 신용민씨와 영남대 김선근씨가 `엔지니어의 꿈을 찾아서'라는 제목의 체험수기로 한이음 IT인턴십 우수사례 공모전 대상을 수상했다. 또 중앙대 양인승씨 외 2명, 건국대 김효원씨, 해람정보기술 김정보 대표가 우수상을 받았다. 이 날 행사에서는 또 IT멘토링 및 IT인턴십 주요 성과 발표, 한이음 UCC 공모대전 우수작 시상, 한이음 특별상 시상이 진행됐다. 강동식기자 dskang@ ◆사진설명: IT멘토링 및 I.. 더보기
안드로이드에서 화면 회전시 나타나는 문제- Android Screen Rotation Issue 안드로이드폰은 화면 회전이 지원된다. 키보드를 열거나 닫으면 가로보기/세로보기로 전환이 되는데, 이때 UI가 새로 그려지면서 Activity의 onDestroy()와 onCreate() 가 수행된다. 위 과정이 수행되고 나면, Activity 에서 가지고 있었던 변수들(field 도 포함)이 초기 상태로 된다. 만약, 코드에서 Thread를 만들어 돌아가는 중이었다면, 화면 회전을 한 후에는 사라지는 현상이다. 해결방법은 아래를 클릭... /** Activity소스코드를 보면, 타입이 HashMap이고, null 을 리턴하고 있다. 유지해야할 데이터가 한개라면 그 Object를 바로 리턴해도 된다. */ @Override public Object onRetainNonConfigurationInstance.. 더보기
안드로이드 폰트 적용 방법 Paint paint = new Paint(Paint.DEV_KERN_TEXT_FLAG); Typeface type; type = Typeface.createFromAsset(getContext().getAssets(), "fonts/samsunggothic.ttf"); canvas.drawText("타이틀 40px", 150, 50, paint); 더보기
Android NDK (Native Development Kit) Window에서 설치 및 실행 윈도우 환경에서 안드로이드 NDK 설치 및 사용법을 간단하게 적어보겠습니다. 1. 안드로이드 NDK 다운로드 - 1.5 NDK http://developer.android.com/sdk/ndk/1.5_r1/index.html - (현재 버전은 1.5 입니다만 최신 버전을 http://developer.android.com에서 확인하시고 다운받으세요) 2. Cygwin 설치 (Cygwin은 Linux같은 환경을 Window에서 사용할 수 있는 환경을 제공합니다) - http://www.cygwin.com/ 방문 - Install or Update now (using setup.exe)를 클릭하여 다운로드 받고 실행합니다. - Install from Internet 선택/Install Directory 선택.. 더보기
Accessing Android Resources By Name at Runtime For example: I have a file bug.png in the "/res/drawable/ ", so i get its ResourceID with the following code: int resID = getResources( ) .getIdentifier ( "org.anddev.android.testproject:drawable/bug" , null , null ) ; // or int resID = getResources( ) .getIdentifier ( "bug" , "drawable" , "org.anddev.android.testproject" ) ; 더보기
앤드로이드 어플리케이션 설치 및 환경 설정 #2 - install the Android App. & set the configuration #2 2. Android App. public deploy 하기 Android App.를 개발하여 에뮬레이터에서도 돌려보고 자신의 디바이스에서도 돌려봤다면 이제 더 넓은 세계로 나가보자~~^^ 다른 사용자에게 apk. 형태로 배포하기 위한 방법(Android Market 포함)을 알아보겠다. 이번에 예제로 사용될 어플리케이션은 Lotto Generato(2008년 10월경에 Notepad 어플리케이션을 참고하여 제작) 이다. 배포하기 위한 어플리케이션이므로 배포이후에 업그레이드/유지를 위한 버젼관리는 필수이다. AndroidManifest.xml 파일에 아래의 정보가 필수적으로 필요하다. -AndroidManifest.xml 파일 Android Market에 배포하기 위해선 빨간 글씨로 된 4개의 태그가 정의.. 더보기