지금 간단히 제가 쓰기 위해 만들고 있는 프로그램이 있어서

그거 만들다가 찾은 내용입니다.

html5의 file API를 쓰면 메타데이터가 나오질 않는군요..

다음 사이트에 있는 jpegmeta.js 파일을 import 하시면

jpeg 파일의 메타데이터를 추출할 수 있습니다.


https://github.com/bennoleslie/jsjpegmeta


당연히 File API를 사용해 file을 읽어와야 합니다.

일단 이 포스팅은 저장용으로 급히 쓰는거니까 정리는 추후에...


var reader = new FileReader();

reader.file = files[0];//files는 input form에서 파라미터로 넘어온 데이터입니다

reader.onloadend = function(){

var jpeg = new JpegMeta.JpegFile(this.result, this.file.name);

}


jpeg를 console.log로 찍어보시면 exif 정보를 빼낼 수 있다는 것을 아실 수 있습니다

블로그 이미지

ligilo

행복한 하루 되세요~

,

어쩌다보니 종종 기획을 하는 일이 생기게 되더군요

물론 직업적으로야 개발자이니 기획을 얼마나 하겠습니까마는

그래도 제가 필요한 프로그램이나 이런저런 툴을 만들어 사용할 때 종종 목업 툴이 필요하곤 합니다.

이 때 사용할 수 있는 아주 유용한 툴입니다

파워목업은 별도의 응용프로그램이 아닌 파워포인트 플러그인 형태입니다.

당연히 파워포인트는 설치가 되어 있어야겠죠..


일단 http://www.powermockup.com 으로 접속하셔서 다운로드 받고 설치합니다.

위에서 말씀드렸다시피 어디까지나 플러그인 형태이기 때문에 파워포인트를 실행시켜야 확인할 수 있습니다.


오른쪽에 보시면 파워목업의 stencil library가 생겼습니다.

현재는 트라이얼 버전인 관계로 다섯가지의 메뉴밖에 사용하지 못하지만

정식버전에서는 모든 것을 사용할 수 있습니다.


이런 식으로 메세지 박스, 다이얼로그박스 뿐 아니라

요즘은 웹이냐 앱이냐도 엄청 중요하잖아요..

그렇기 때문에 브라우저인지 타블렛인지 아이폰인지 레이아웃도 정할수 있습니다.


웹사이트에서는 정식버전을 구매할 수 있는데요



1 User에 $59.95이네요

하지만 블로그를 하신다면 무료로 구할 수가 있습니다.

파워목업 페이지에 들어가신 후 Support 메뉴로 들어가 보세요

우측에 Press/Media Kit 메뉴가 있습니다.

블로그에 포스팅을 하신 후에 이 메뉴를 통해 메일을 보내시면 공식 버전을 구할 수 있다고 합니다

유용하게 사용하세요~~

블로그 이미지

ligilo

행복한 하루 되세요~

,

가끔 오즈 리포트 작업 시에 DB는 손대지 않고

출력 과정에서 특정 문자열을 바꿔줄 필요가 있습니다

이 때 사용하시면 됩니다


데이터 밴드를 만들고 데이터 적용시킨 후 

This.SetText(This.GetText().replace("aaa", "bbb"));


DB를 손대는게 편한 경우도 많겠지만 불가피한 경우 편리하게 사용할 수 있습니다~


블로그 이미지

ligilo

행복한 하루 되세요~

,

In-house App을 만들 때(아마도 Ad-hoc의 경우도 마찬가지가 아닐까 생각됩니다.)

갑자기 인증서가 유효하지 않는다는 메세지가 뜨더군요

개발 디바이스는 아직 iOS7.1로 업데이트를 안해서 몰랐습니다만

사용자 아이패드에 설치하다보니까 문제가 발생했습니다.

생각보다 해결은 간단합니다.(간단하지 않을지도 모르겠네요;; SSL 설치를 해야하니까요..)

서버에서 다운로드시 plist파일 링크가 걸리잖아요

아마도 itms-services://라는 프로토콜로 걸린 부분에 파라미터로 plist 파일 url을 잡아오고 있을겁니다.

이 때 plist 파일의 url이 SSL 연결이 되어야 합니다.

http가 아닌 https://로 연결이 되어야 한다는거죠


결과적으로 말씀드리면 서버에서

itms-services://?action=download-manifest&url=http://ligilo.tistory.com/test.plist

위와 같은 형태를

itms-services://?action=download-manifest&url=https://ligilo.tistory.com/test.plist

로 바꾸시면 됩니다.


당연히 plist 파일이 등록된 서버에는 SSL이 설치되어 있어야 하겠죠

블로그 이미지

ligilo

행복한 하루 되세요~

,

select net_address from sys.sysprocesses where spid = @@SPID

블로그 이미지

ligilo

행복한 하루 되세요~

,

작업을 하다보면 앱에서는 landscape 또는 portrait로 고정해서 사용하지만

childbrowser에서는 orientation을 자유롭게 해야하는 경우가 있다.

(지금 작업중인 앱이 그렇다. childbrowser는 참고자료를 보여주기 위한 용도로 쓰기 때문에..)

이때 ChildBrowserViewController.m 파일을 수정하면 된다

143 라인에 있는

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation 부분에서

제약조건이며 조건문이며 다 주석처리를 하든 지워버리든 하고

무조건 return YES로 반환한다

그럼 위의 function인지 클래스인지 모르겠다만(난 Objective C 따위 책 한글자 본적 없음;;;;)

YES 값을 가지면서 제약이 사라진다

블로그 이미지

ligilo

행복한 하루 되세요~

,

$("#id:input[value='']:first").focus();

블로그 이미지

ligilo

행복한 하루 되세요~

,

centos를 minimal 버전으로 설치했더니

정말 아무것도 없군요..

심지어 vim마저...

아마도 yum은 있을겁니다.

어쨌든 dsniff나 fragrouter는 centos에서 fastmirrorlist로 제공되는 사이트에 있질 않죠

따라서 패키지를 받아서 설치하는게 그리 만만하지는 않습니다.

다음 사이트에서 wget을 이용하여 epel과 rpmforge를 설치하면

epel은 dsniff를, rpmforge는 fragrouter를 yum으로 설치할 수 있습니다.

dsniff : wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

fragrouter : wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.3-1.el5.rf.i386.rpm


당연히 다운받은 후 rpm -Uvh를 이용하여 설치는 하셔야 합니다.


보안 수업을 듣는데 실습이 페도라 기준인데 저는 centos가 익숙한데다 x-window가 불편해서

minimal 버전으로 설치했더니 영 불편하네요..

차라리 완전한 버전으로 설치하고 부팅을 콘솔모드로 변경할껄 그랬어요;;;

어쨌든 위의 패키지 설치 후에 yum으로 dsniff, fragrouter 찾아서 설치하시면 그게 가장 편하더라구요..

블로그 이미지

ligilo

행복한 하루 되세요~

,

크롬에서 특정 html 파일을 실행시켜 바탕화면에 애플리케이션으로 만들 수가 있습니다.

(사이트도 되는지는 안해봐서 모르겠습니다.)

Cross Domain 문제가 발생하는 경우 해당 앱의 바로가기에

--disable-web-security 파라미터를 달아주면 되는데요

크롬이 윈도우8 앱으로 되어있는 경우 이 파라미터가 먹히지를 않더군요;;;

윈도우 앱으로 실행시키는 경우는 실행이 되지 않지만

데스크탑에서 실행시키는 경우는 정상적으로 먹힙니다.

따라서 크로스 도메인을 사용해야 하는 경우 윈도우용 앱 '크롬'에서 실행시키시면 안되구요

먼저 크롬을 실행시키셔서 오른쪽 상단의 삼선버튼(환경설정이라 불러야 할지 메뉴라 불러야할지..)을 클릭하세요

현재 크롬이 윈도우8 앱으로 돌고 있다면 북마크 다음에

데스크톱모드에서 Chrome 다시 실행

메뉴가 있을겁니다.

이걸 클릭해주세요

그러면 데스크톱에서 크롬이 실행됩니다.

이제 모드 전환은 정상적으로 됐으니 크롬을 종료시키시구요

만들어뒀던 실행시켜야 하는 앱 바로가기를 실행시켜 주세요

이 때 당연히 바로가기에 --disable-web-security는 들어가 있어야겠죠


사실 --disable-web-security는 앱의 보안성을 약화시키는 것이기 때문에 그닥 권장하지는 않습니다.

하지만 어쩔수없이 써야하는 경우가 있습니다.

특히 지금 작업 특성상 첫번째 접속시에는 앱에서 서버접속을 해야하거든요...

파일은 전부 로컬에 있기 때문에 상관없지만 로컬에 있는 html을 실행시키는거라 서버 접속시에는

반드시 크로스도메인 문제가 해결되어야 하는 문제가 있습니다.

할수없죠..ㅎ


그럼 여기 오시는 모든 분들 즐거운 개발 하시길...

블로그 이미지

ligilo

행복한 하루 되세요~

,

아이패드 빌드시

'failed to get the task for process XXX '

가 뜨는 경우가 있다.

검색해보니 In-House App을 만들 때 나는 에러 같은데

정확히는 모르겠지만 프로비전이 잘못되는 경우 이런 문제가 발생하는 것 같다.

바보같이 Debug Profile이랑 Release Profile이랑 거꾸로 설정하는 바람에

이거 해결하는데 30분 걸렸다;;;

블로그 이미지

ligilo

행복한 하루 되세요~

,