본문 바로가기

Programing

(392)
UAC관련 개발사항 애플리케이션에서 실행시 권한 조정: 메니페스트 파일 이용 프로젝트: 오른쪽 클릭 > 추가 > 새 항목 > [범주: 일반] 응용 프로그램 매니페스트 파일 매니페스트 파일에서 level을 주석을 보고 설정한다. asInvoker, requireAdministrator, highestAvailable 세 가지 타입이다. 최소 권한의 원칙 지키기: 보안쪽에 유명한 말이다. 권한은 현재 필요한 최소한의 권한만 요청하라는 것이다. 애플리케이션이 수행하는 대부분의 기능이 관리자의 권한이 필요 없고 1~2개의 적은 수만 관리자의 권한이 필요할 경우, requireAdministrator 로 설정하지 말고 필요할 때 올리면 된다. => UAC self-elevation 1. How to self-elevate an ap..
[WinForm] 메인 폼의 크기를 고정하거나 조정 윈폼에서 메인 폼의 크기를 고정하거나 조정할 수 있게 설정할 필요가 있다.자꾸 잊어먹어 메모를 한다. FormBorderStyle 에 보면 None FixedSingle : 고정크기 Fixed3D FixedDialog Sizable : 기본값, 크기 조절이 가능하다. 컨트롤의 앵커를 잘 지정해야 크기가 바뀌었을 때 맞게 움직인다. FixedToolWindow SizableToolWindow
[jQuery] iframe 엘리먼트 접근하기 자바스크립트를 이용하면 iframe에서 로딩한 엘리먼트에 접근이 가능하다.힌트는 iframe 엘리먼트를 선택하고 contents().find(...) 를 이용하는 방법이다.CSS link의 경로 바꿔치기도 가능하다. (IE, Safari, FF에서는 가능했으나 Chrome에서는 불가능했다) 참고: - How to access iframe in jQuery : 접근하는 예아래와 같은 iframe이 있다고 가정하고, id는 엘리먼트르 쉽게 접근하기 위해 부여 iframe이 내부에 someID라는 id를 가지는 자식 엘리먼트를 포함한다고 할 때,Hello world! 다음과 같이 내용을 가져오는 것이 가능하다. 핵심은 contents()에서 find하는 것$('#iframeID').contents().find..
스프링(Spring)-pom.xml Maven 정리 (pom.xml)org.json Group Id: org.json Artifact Id: json Version: 20090211ref) http://mvnrepository.com/artifact/org.json/json/20090211org.json.simple Group Id: com.googlecode.json-simple Artifact Id: json-simple Version: 1.1 c3p0 Group Id: c3p0 Artifact Id: c3p0 Version: 0.9.1.2commons-dbcp Group Id: commons-dbcp Artifact Id: commons-dbcp Version: 1.4 mybatis-spring Group Id: org.mybatis..
[Spring] 의존성관리(dependency management) 스프링의 템플릿으로 기본 프로젝트를 생성했는데, 빨간색으로 글씨가 난리도 아니다. 그리고 Run As > Run on Server 를 수행했더니 에러가 뜬다. 찾아보니 스프링이 돌아가기 위한 jar 라이브러리들이 없어서 그런 것이란다.이클립스에는 pom.xml에 의해 자동으로 의존성을 처리해주는 기능이 있는데 기본으로 꺼져있다고 한다.최신의 플러그인이라면프로젝트 Properies > Spring > Dependency Management 에서 "Automatically update dependencies from Maven pom.xml"에 체크를 해주면 된다고 한다. 좀 오래된 버전을 사용한다면 위치는 조금 달라진다고 한다.프로젝트 Properies > Java EE Module Dependencies..
숫자로 된 문자열 0으로 패딩하기... 개인정보보호를 위해 비밀번호를 DB에 직접 넣기 보다는 해싱을 해서 넣는 것을 사용하고 있었다.MD5로 해싱을 했는데, 이상하게 DB상에 들어가 있는 길이는 제 각각이었다.MD5 해싱은 42자리로 고정된 길이인데 말이다.알고보았더니 해싱하는 것은 자바의 java.security.MessageDigest를 이용해서 하고 있었는데,digest()라는 메소드가 byte[]로 반환을 해주었기에 문자열로 바꾸어야 했던 것..public byte[] java.security.MessageDigest.digest() StringBuffer에 append로 byte를 문자로 바꾸었는데 Integer.toHexString은 0으로 패딩을 해주지 않았다.buf.append(Integer.toHexString((int)di..
[C#] 크로스 스레드 작업이 잘못되었습니다 대상: Visual C# > Windows > Windows Forms 응용 프로그램주제: 비동기 처리키워드: 델리게이트, 이벤트, 멀티 스레드 Windows Forms 응용 프로그램로 UI가 있는 애플리케이션을 만들었다.파일을 읽고 처리를 해야해서 긴 작업을 사용자에게 피드백을 해주어야 해서 아래와 같이 프로그래스를 만들어주었다.(위의 에러 메시지에서 progressBarHashing 컨트롤이 바로 그것!) 파일 처리하는 부분은 스레드로 만들어서 프로그램이 작업을 하는 동안에도 블록 되지 않도록 처리했고, 델리게이트와 이벤트를 작성하여 호출하는 측에서 이벤트 핸들러를 연결했다. 아래는 사용하는 쪽의 이벤트 핸들러 함수이다.void OnProgressEvent(object sender, ProgressE..
GAE :: Java 개발환경 처음에 파이선으로 시작했던 구글 앱 엔진이 자바와 Go언어로도 이용할 수 있다.자바 개발 환경을 구축해보자. 개발환경은 이클립스를 사용한다고 가정한다.Help > Install New Software... 에서Google App Engine - http://dl.google.com/eclipse/plugin/4.2사이트 주소를 넣으면 이클립스에서 개발이 가능한 여러가지가 나온다.안드로이드와 GWT(Google Web Toolkit)도 포함이 되어 있으니 필요한 것만 설치하자.