2013년 1월 14일 월요일

html5]확실히 되는 모바일 브라우져에서 창 닫기


<div onclick="javascript:var win = window.open('','_self');win.close();return false;">close</div>

2013년 1월 10일 목요일

우분투]Java(jdk)의 버전이 여러개일때 선택해서 사용하기



# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-6-sun/jre/bin/java to provide /usr/bin/java (java) in manual mode.


*표가 선택된 것이다..

참 쉽다.

2013년 1월 8일 화요일

ajax로 불러들인 페이지에서 쿠키를 생성



서론) 

결론만 말한다면 가능하다.

회사에서 앱 프로젝트 중 공지사항이나 발표 같은 게시판은

앱속에 웹뷰를 심어서 출력해주는데

보지 않았던 글이면 제목옆에 new!!라는 뱃지(badge)를 달아준다.

처음에 검색했을때에는 안드로이드에서 버그가 있다고 해서 안될줄 알았는데
 예상컨데 그 글은 안드로이드 로직에서 쿠키를 컨트롤할때 버그가 있다는 뜻같다.
 결론은 지금 잘 되고,


본론) 대충 로직은 이렇다.
게시판 리스트가 웹뷰로 주르륵 나오면

모든 리스트 아이템 row마다 제목옆에 안읽었으면 new!!가 뜬다..

그리고 그 제목을 누르면 ajax로 그 글에 대한 내용을 불러들여

바로 제목밑에 엘리멘트를 생성 후 내용을 붙여주는데,

이때 그 컨텐츠를 ajax로 불러들이면서 서버에서 쿠키를  response에 심어버리면
심어지지가 않는다.
그래서 jquery cookie 라이브러리를 사용해서 javascript로 심어버린다.

쿠키를 심는 로직은 ajax로 불러지는 페이지말고,
부르는 페이지에서 넣어줘야한다.
난 만료기간을 2년으로 잡아놨지만,
결국 해당 브라우져의 설정대로 만료기간이 달라질 것이다.




결론)

웹은 참 자유분방해서 매력있다.
앱을 공부하다가 바로 고개돌릴 수 밖에 없었던 이유다..

2013년 1월 3일 목요일

ms-sql server 외부접속이 안될때.. 오류 6







먼저 sql Server 구성관리자를 실행한다.
SQL Server 서비스를 클릭하면 현재실행중인 서비스들의 목록이 보인다.
그중 SQL Sever서비스의 속성으로 들어가면
아래 그림과 같은 화면이 나온다.
기본제공계정의 값을 네트워크 서비스로 설정한다.


다음으로 
SQL Sever 네트워크 구성 > MSSQLSEVER에 대한 프로토콜에서 >  TCP/IP의 값을 사용으로 설정한다.

위와같은 방법을 취했으나 여전히 외부에서 접속이 안된다면 
윈도우 방화벽에서 포트가 차단되어 있는 경우가 있다. 

윈도우7에서 방화벽 포트 사용설정은
http://pdw213.egloos.com/3969021
이곳에서 정리되어 있습니다.

ms) SQL Server 2008 r2 설치시 계정프로비전에 관리자 계정이 없다고 할때..

서론)

아직 현재 프로젝트가 끝나지 않았지만,

 중간에 간단하고 급한 웹 프로젝트가 있어 먼저 하게되었다.

기획서를 딱 봐도..
로그인, 파일 업/다운로드, 통계, 모바일 푸쉬만 있어서 기간은 3주 잡고,
마음만 먹으면 3~4일 안에 끝낼 수도 있는 간단한 거였는데,, But, 갑자기 JSP가 아니라 ASP로 바뀐 것이다...

하.......
머리가 복잡하고 벌써부터 걱정이다. 아직 jsp+spring도 이제 초보자인데.. 관심도 없던 asp라니...
아무튼..


본론)
리눅스환경에서만 서버를 올리다보니
iis나 ms-sql.. 윈도우즈에서 사용하는 권한 개념이..너무 생소했다..

ms-sql을 설치하다가 데이터베이스 엔진 구성 목차에서 계정프로비전이란 곳이 막혔다.
계정에 대해 설정해준적이 한번도 없었는데 관리자 계정을 추가하라고 나온다.. 너무 간단한 걸 시간을 끌었다..
그냥 현재 사용자 추가만 하면 되었다......


2012년 12월 30일 일요일

암호화] 통신할때 유용한 aes암호화

개요)
회사에서 만들고 있는 앱 중에 인앱결제를 해야하는 앱이 있다.

대충 뭐.. 앱에서 결제하고 구글에서 승인이 떨어지면
그 아웃풋을 앱이 서버로 전달하고, 아웃풋을 토대로 그 계정에 코인을 넣어주는 간단한 방식이다.

다행히 이번 앱에서는 보안상 크리티컬한 부분이 인앱결제밖에 없기때문에 이부분만 암호화를 해주면 되었다.


본론)

아이폰개발자와 aes암호화를 테스트하려고 검색해서 샘플을 실행해보는데..
소스마다 알고리즘만 같을뿐,, 매개변수의 타입이나 처리방식들이 각각 달라서..
결국에 이렇게 좋은 블로그를 발견할 수 있었다.

http://www.imcore.net/encrypt-decrypt-aes256-c-objective-ios-iphone-ipad-php-java-android-perl-javascript/


이 분은 정말 대단하신게..

java, php, objective-c,perl, c# 등..

각 언어별로 구현해 놓으셔서 저 곳의 라이브러리를 사용하면

각각 다른 환경때문에 발생되는 문제가 없어  어떠한 수정없이 암호화가 쉽게 구현 가능하다.

 물론 다른 aes암호화 라이브러리는 다 쉽게 구현됬지만, 막상 쓰려면 이슈가 생기기 마련이었다. 하지만 이건 단박에 가능하다.



팁) 샘플 소스를 보면 key라는 변수가 있다.

아마도 public key와 private key중에 public key에 해당하며,

 private key 생성은 라이브러리 안에 알아서 생성해주는 것 같다.

 이 public key는 256bit이기때문에 32byte의 글자만 넣을 수 있다.

그리고 본인은 jsp쪽이라서 java라이브러리를 사용하였는데 간단한 jdk환경설정이 필요했다.

아무튼 저분 블로그에 다 잘 나와있으니 참고하시면 되겠다.




마치며) 암호화는 라이브러리만 갖다쓰고,
 제대로 된 공부를 해본 적이 없어서 다음에 기회가 되면 깊이 파보고 싶기도 하다..

2012년 12월 21일 금요일

Linux] Git server 쉽게 사용하기

예전에 사내 서버에 svn을 설치해서

사용했는데, 맥에서는 HOST버그로 인해 윈도우 사용자만 사용했다.

맥에서 안되는건 아니지만

맥을 쓰는 사원이 설정하는걸 귀찮아 하는 것 같아 그냥 두다가..

최근 소스 관리의 필요성을 느껴서

xcode에서도 기본으로 제공되는 GIT를 사용하기로 했다.

본인은 Windows7에서 eclipse를 주로 사용해서

연동은 eGit를 사용했다.







Git 설치는 알아서 잘하시리라 본다.
난 회사서버가 Centos라서 yum을 사용했고,
우분투에서는 아마 apt-get install git-core라고 하면 될 거다.

간단히 설치 후

root권한으로 유져를 추가한다. 꼭 git라고 안해도 되지만 보통 이렇게 설정하더라.
#>adduser git
#>chmod 777 /home/git
#>cd /home/git


테스트 디렉토리를 만든다.
#>mkdir test
#>cd test
#>git init
#>cd ..
#>git clone --bare test test.git

권한을 준다
#>chmod 777 test.git

이러면 빈 git 저장소가 생성되고


이제 사원이 쓸 계정을 만들어준다
#>adduser friend
비번도 설정해준다
#>passwd friend
#>scp -r test.git friend@아이피OR도메인:/home/git


서버쪽은 이걸로 끝이다.

이클립스에서는

uri : ssh://friend@아이피OR도메인:/home/git/test.git

계정에 friend와 비번넣고 인증하고
잘 사용하면 되겠다..


정리하는 것도 귀찮네..
에잇 블로그질도 못해먹겠다 그냥 수첩으로 쓰련다







<a href="https://github.com/progit/progit/blob/master/ko/04-git-server/01-chapter4.markdown">참고 자료</a> <br /><br />