전체보기 37

SQL select로 Insert문 자동 생성하기

대용량 테이블 몇개를 다른 환경으로 옴겨서 테스트 해야 하는 일이 생겼다.사내 DB팀을 찾아가니 Batch가 돌고 있어서 덤프는 없고, Export도 지금은 안된단다. '그럼 어쩔 수 없지 ㅎ' 하고 마냥 놀 수도 없는 노릇... 뭔가 좋은 방법 없을까 하다가 쿼리 검색 결과를 CSV로 저장 하는 방법을 알아냈다.예를들어 Oracle 기준으로 아래와 같이 결과를 spool하면 지정한 경로에 csv파일로 만들어 준다. SQL> set echo offSQL> set linesize 1000SQL> set pagesize 0 SQL> set trimspool on SQL> set feedback off SQL> set colsep ',' SQL> spool /home/ninetin/emp.csv SQL> se..

프린터 용지함 설정하기

XPS도큐먼트 파일 인쇄 기준으로 해당 프린터기의 인쇄함을 지정 하는 방법이 있다. PrintQueue에서 PrintCapabilities를 가져오고 거기에서 InputBinCapability를 확인하면 무엇을 지정할 수 있는지 알 수 있다. 그것을 PrintTicket에 설정만 하면 되는데....골 때리게도 파라메터는 0. AutoSelect 1. Manual 두개 인 경우가 대부분(...) 그렇다면 방법이 없는가? 그 방법은 이러하다 먼저 해당 프린터 드라이버 스키마에서 정보를 읽어오자 public List GetInputBinName(PrintQueue printerQueu, out string nameSpaceURI) { List binName = new List(); PrintQueue prin..

WPF에서 Window 창 위치의 보존&복원을 해보자

데스크톱 응용 프로그램에서 창 위치를 저장하고 싶다는 클라이언트의 요구가 있었습니다. 그러나 구현하는 것이 큰 골칫거리 입니다. 예를들어 최대화를 하면 최대화하기 직전의 윈도우의 위치와 크기도 보존 해두지 않으면 안된다거나 세세한 동작까지 신경쓰면 여간 일이 많은게 아닙니다. (+귀찮음) 조금 찾아 본 결과 MSDN에 해당 소스 코드가 있었기에 SetWindowPlacement GetWindowPlacement 이를 기초로 Window창 위치의 보존&복원 기능을 구현 해보고자 합니다. 그전에 WPF도 어찌되었든 Window에서 움직이므로 .NetF FrameWork의 네이티브 라이브러리를 참조할 필요가 있습니다. 네이티브 라이브러리 기능을 호출하는 이것을 P/Invoke (Platform Invoke :..

[번외] TortoiseSVN log export 했을 때 문자깨짐 문제

SVN에서 Show Log창을 띄우면 지금까지의 커밋 로그를 확인 할 수 있다. 다만, 확인만 할 수 있을 뿐 내보내기(Export)는 할 수 없다. (그림1. 복사 붙여넣기 해도 이렇게 나올 뿐...) 그렇다고 기능이 없는건 아니다 먼저, TortoiseSVN에서 log를 Export 하고 싶으면 아래와 같이 'command line client tools' 를 설치해야한다. 설치가 되었다면 Power Shell을 실행해서 프로젝트 리포지토리가 있는 곳 cd 명령어로 이동한다. 그 다음은 다음과 같이 명령어를 쳐 주면 된다. svn log -v --xml >export.xml 그러면 XML 파일이 생성되고 그걸 Excel로 읽어 들이기만 하면 된다! (그림2. 아무 문제 없이 엑셀로 열었을 경우) 하지..

무엇이 다른가? WPF, WinRT, UWP(Universal Windows Platform)

지금 1년 반정도 C# WPF 프로그래머로 일하고 있지만나에게는 Java와는 다르게 색다른 경험을 주고 있고(재밌다는 뜻임) 이 기회에 앞으로도 계속 해보고 싶다고 생각한다. 먼저 필자가 처음 시작할때 혼란 스러웠던 .Net Framework를 정리 해보고자 한다.심지어 아래에 설명할 것들 모두가 UI 디자인을 XAML(Extensible Application Markup Language)을 이용 하고 있어서(WinForm은 빼고) 더욱 그랬다. WinForm이제는 더 이상 업데이트도 안되고 있고 그저 유지만 되고 있는 아주 오래된 프레임 워크초창기 Windows 응용 프로그램 제작에 사용 되었다.근 미래에는 지원이 중단될 것 같다. WPF(Windows Presentation Foundation)Ric..

자바의 정규표현식(Regexp)

1) ^ : 문자열의 시작2) $ : 문자열의 종료3) . : 임의의 한 문자 (문자의 종류와 관계없음)4) | : or의 의미임5) ? : 앞 문자가 없거나 하나 있을때6) + : 앞 문자가 하나 이상임 (최소 한개 이상)7) * : 앞 문자가 없을 수도 있고, 무한정 많을 수도 있음8) [] : 문자 클래스의 지정, 문자의 집합이나 범위를 나태내면 - 기호를 사용한다. [] 내에서 ^를 사용하면 not의 의미임9) {} : 횟수나 범위를 나타냄. 예를 들어 k{5}의 경우 k가 5번 반복되는 경우임, a{3,5}는 a가 3번 이상 5번 이하 반복되는 경우임10) \w : 알파벳이나 숫자11) \W : \w의 not. 즉 알파벳이나 숫자를 제외한 문자12) \d : [0-9]와 동일13) \D : 숫자..

특정 날짜 '이전' 파일 삭제

find . -ctime +90 | xargs rm -rf {} 라고 치면 끝나긴 하는데 find는 검색-ctime은 Create time 즉 생성날짜가 '오늘자+90일' 인 파일을| 파이프 라인으로 검색된 결과를 다음 명령어 단계로 넘기겠다고 해준 뒤xargs 로 검색된 내용을 한 라인씩 다음 인자로 넘겨서 ( 즉 {} 라고 되어 있는 부분이 인자가 들어가는 곳이 되겠다.)넘겨 받은 녀석을 rm -rf {}