레이블이 Tip인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Tip인 게시물을 표시합니다. 모든 게시물 표시

2014년 4월 5일 토요일

iphone UIActionSheet example


1. .m 상단에 tag 정의

#define TAG_ACTION_SHEET 11111

2. .h 에 delegate 추가

@interface SignUpViewController : UIViewController <UIActionSheetDelegate> 

3. .m 특정 버튼 클릭시
- (IBAction)clickPhoto:(id)sender

{
UIActionSheet *popup = [[UIActionSheet allocinitWithTitle:@"" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:
                            @"camera",
                            @"album",
                            nil];
     popup.tag = TAG_ACTION_SHEET;

    [popup showInView:[UIApplication sharedApplication].keyWindow];
}

4. .m event 처리부분

- (void)actionSheet:(UIActionSheet *)popup clickedButtonAtIndex:(NSInteger)buttonIndex {
    
    switch (popup.tag) {
        case TAG_ACTION_SHEET: {
            switch (buttonIndex) {
                case 0:
                    NSLog("camera");
                    break;
                case 1:
                    NSLog("album");
                    break;
                default:
                    break;
            }
            break;
        }
        default:
            break;
    }
}

2012년 2월 20일 월요일

iPhone - NSString 숫자만 , 숫자빼고 제거

NSString* test = @"#+123$@45";

NSLog(@"%@",[[test componentsSeparatedByCharactersInSet:

                            [[NSCharacterSet decimalDigitCharacterSet] invertedSet]] 
                               componentsJoinedByString:@""]);

=> 12345

2012년 2월 14일 화요일

iPhone - NavigationItem UIBarButtonItem ( BarButton 넣기 )

UIBarButtonItem *bbtnSave = [[UIBarButtonItem alloc] initWithTitle:@"저장"
                                                            style:UIBarButtonItemStyleBordered
                                                           target:self
                                                           action:@selector(save)];

self.navigationItem.rightBarButtonItem = bbtnSave;
[bbtnSave release];     
    

- (void)save {

  ....
}

iPhone - NSString Split ( 스플릿 )

NSString* str = @"test1,test2,test3";

NSArray* list = [str componentsSeparatedByString:@","];

2012년 2월 12일 일요일

iPhone WebVeiw - Reading Html ( html 가져오기 )

NSString* html = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];

iPhone WebView Error - uiwebkit error 101 ( 한글, 빈화면, 안뜨는 경우 )

url 에 한글/빈문자 등의 문제로 webview 가 "uiwebkit error 101" 를 뱉어내며
실제 화면에 아무것도 출력이 안된다.

아래와 같이 인코딩을 해주면 해결이 된다.

NSString* url = @"http://www.jmkook77.com?%@"
NSString* param = [@"q=가나다 가나다 가나다" stringByAddingPercentEscapeUsingEncoding:NSUTF8StringEncoding];

NSString* webUrl = [NSString stringWithFormat:@"%@%@", url, param];


[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: webUrl]]]; 



2012년 2월 5일 일요일

몽고db ( mongodb ) - 로깅 ( Logging ) , Rotating

1. 커맨드라인 옵션 설정

  1) Rotating

     ./mongod --logpath /log/mongodb/mongod1.log --logappend

     > ls /log/mongodb/
   
     -rw-rw-r-- 1 user user 55020391  2월  6 03:42 mongod1.log
     -rw-rw-r-- 1 user user   9496452  2월  6 02:04 mongod1.log.2012-02-06T02-04-16

    위와 같이 날짜별로 로깅이 됨

  2) 로그 레벨

    --quiet 옵션으로 로그 최소화

    -v 옵션으로 더욱 상세히 -vv 더더욱 상세히 -vvv 더더더욱 상세히 -vvvv....


2. 어드민 콘솔에서 설정

   > use admin
   > db.runCommand("logRotate")
   { "ok" : 1 }

2012년 2월 2일 목요일

아이폰 (iPhone) Xcode4 OTA (Over the Air) : 애드혹 ( Adhoc ) URL 배포

1. Menu / Product / Archive

2. iOS App Store Package (.Ipa ) -> Next



3. 배포될 Full URL 입력 및 파일명 일치



4. 저장하면 다음의 파일 생성됨

    test.ipa
    test.plist

5. 배포될 URL 로 업로드

6. 다음의 html 작성

...

<a href="itms-services://?action=download-manifest&url=http://URL/test.plist">Test Adhoc</a>

...

2012년 2월 1일 수요일

아이폰 세션 유지 iphone keep session

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    [[NSHTTPCookieStorage sharedHTTPCookieStorage] 
       setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

    ...
    
    return YES;
}




2012년 1월 25일 수요일

Linux : change hostname ( 호스트네임 변경 )

> echo "new hostname" > /proc/sys/kernel/hostname

or

> hostname -v "new hostname"

and

re-login

> hostname
"new hostname"





2012년 1월 14일 토요일

iPhone - UIDatePicker setDate

NSCalendar * gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];


NSDateComponents * components = [[[NSDateComponents alloc] init] autorelease];

[components setYear:2012];
[components setMonth:1];
[components setDay:1];
[components setHour:10];
[components setMinute:5];
[components setSecond:30];

[datePicker setDate:[gregorian dateFromComponents: components]];

아마존( Amazon ) AWS 윈도우( Window )에서 접속 - Putty , pem ppk 변환

아마존 서버 생성시 다운받은 pem 파일을 이용하여 ssh/sftp 접속하는 방법

1. putty 를 다운받습니다.

 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

 여기에서 putty<version>-installer.exe 를 받으세요.
 혹은, putty.exe, psftp.exe, puttygen.exe, pageant.exe 를 따로 설치하셔도 됩니다.
  puttygen.exe 는 pem 파일을 putty에서 사용가능하게 변경하며
  pageant.exe 는 pem 파일을 통해 putty, psftp 가 서버에 접속 가능하게 해줍니다.

2. pem 파일 변환

 1) puttygen.exe 를 실행하면 아래와 같은 화면이 뜹니다. 상단의 Conversions / Import Key 를 선택합니다.


 2) 해당 서버에 접속하기 위한 pem파일을 선택합니다.



 3) 아래와 같이 정상적으로 로드가 된것을 확인할 수 있습니다.
     이제 하단 우측에 있는 Save private key 를 선택하고 Yes 를 선택합니다.



 4) 원하는 위치에 파일명을 설정하여 ppk 파일을 저장합니다. ppk 파일 생성 완료!!




2. Pageant.exe 를 실행하면 아래와 같이 윈도우 우측 하단에 트레이로 추가된것을 확인할 수 있습니다. 이녀석은 항상 저곳에 있어야만 합니다.


 1) 위 트레이를 더블클릭 하여 아래의 화면에서 Add Key 를 선택합니다. 혹은, 트레이 아이콘에서 오른쪽 버튼으로 Add Key 를 선택합니다.



 2) 위에서 저장한 ppk 파일을 선택해줍니다.



 3) 아래와 같이 정상적으로 추가된것을 확인할수 있습니다. 이제 해당 창을 닫습니다.



3. Putty.exe 를 실행합니다. 

 1) Host Name 에 아마존의 Public DNS ( 혹은 Elastic IP ) 를 입력하고 Open 을 합니다. ( 물론, 트레이에는 Pageant 가 떠있어야 합니다. )



 2) 최초 접속시 해당 얼럿이 뜰겁니다. Yes 를 누릅니다.

  


 3) 계정으로 root 를 입력합니다. 정상접속이 되었습니다. !!



4. Psftp.exe 를 실행합니다. ( 당연히 이놈도 Pageant 가 실행되어있어야 겠죠? )


 역시 계정에 root 를 입력하여 정상 접속되는 것을 확인할 수 있습니다.

 기념으로 이미지하나는 드래그하여 put 해봅니다.



끝!!

2012년 1월 12일 목요일

iPhone - TableViewController Background Image ( 이미지 배경 )

- UITableViewController 이미지 배경

 - (void)viewDidLoad {

     UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];
    self.tableView.backgroundView = imageView;
    [imageView release];
 }

- UITableViewController 투명한/컬러 배경 (Transparent/Color Background)

  - (void)viewDidLoad {


    self.tableView.backgroundColor = [UIColor clearColor]; // [UIColor blackColor];
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; // 셀 구분 라인 제거
   

 }

JQuery Enter + Javascript Enter ( 엔터 )

* <input name="user_pass" ... />

- JavaScript

 <input name="user_pass" onkeydown="javascript:if( (event.keyCode)&&(event.keyCode==13) ) { alert('enter'); }" />

- JQuery

 $(document).ready(function() {

$('input[name="user_pass"]').keydown(function(evt){
if( (evt.keyCode) && (evt.keyCode==13) ) {
alert('enter');
}
});
});

2012년 1월 3일 화요일

redhat linux ( 레드햇 리눅스 ) - disk mount ( 디스크 마운트 )

- Disk Mount

( root )

$ su - 
$ fdisk -l

...
Disk /dev/xvdj: 1xx.x GB, 19xxxxxxxxxxx320 bytes
255 heads, 63 sectors/track, 2xxx7 cylinders
Units = cylinders of 1xx5 * 5xxx = 8xxxxxx0 bytes

Disk /dev/xvdj doesn't contain a valid partition table

1) ext3 로 포맷 ( 포맷안할경우 skip )

$ mkfs.ext3 /dev/xvdj 

2) /data 로 마운트 할 경우

$ mkdir /data
$ mount /dev/xvdj /data

3) 부팅시 자동 마운트

$ echo "/dev/xvdj /data ext3 noatime 0 1" >> /etc/fstab

* 끝에있는 1 은 디스크 체크 여부. 0으로하면 에러 체크 안함

끝!