본문 바로가기

Programming

(135)
scp명령어를 이용하여 리눅스 서버 간 파일 이동하기 안녕하세요. 남산돈가스입니다. 리눅스 서버를 운영 중에 서버와 서버 또는 서버와 로컬 간의 파일을 복사하기 위하여 scp 명령어를 자주 사용합니다. 오늘은 scp 명령어 사용법에 대해서 포스팅 해보겠습니다. scp 명령어의 기본 사용법은 다음과 같습니다. $ scp 1. 로컬에서 서버로 파일 복사하기 첫번 째로 로컬에서 서버로 파일을 복사하기 위해서 test 파일을 하나 생성합니다. $ touch scpTest $ ls -al scpTest -rw-r--r-- 1 gimseongsin staff 0B 11 21 16:40 scpTest 테스트로 생성한 scpTest라는 파일을 remote 서버로 복사해보겠습니다. $ scp scpTest ubuntu@13.124.XXX.XXX:/home/ubuntu sc..
android 뒤로가기 두번으로 앱종료 하기 android의 특징중 하나인 뒤로가기 버튼이 있습니다. 뒤로가기 버튼을 통해 대부분의 앱을 종료 하기 때문에 android사용자들은 앱을 종료 하기 위해서 뒤로가기를 연속적으로 누르는 행동을 많이 합니다. 그렇기 때문에 종료의 의사가 아니고 뒤로가기를 눌렀는데 앱이 종료되는 경우가 종종 생기는데요. 이런 경우에 대비해서 국내 앱들은 뒤로가기를 두번연속으로 누른경우에만 앱을 종료 시키는 방법을 많이 사용 합니다. 해외 앱들은 굳이 이런기능들을 사용하지 않는 경우가 많은걸 보면 국가별 사용하는 방식의 차이가 있나보다란 생각도 하게 됩니다. 뒤로가기 두번연속으로 눌렀을때 종료하는 방법은 쉽게 구현 할수 있습니다. 우선 activity에서 뒤로가기 이벤트를 제어 해야 합니다. @Override public v..
android Webivew에서 새창 띄우기 Webview를 연동시 일반적인 페이지 이동이 아닌 새창이 띄워져야 하는데 아무동작이 없어 당황 스러울때가 있습니다. android에서는 새창으로 띄워지는 동작은 따로 처리가 필요합니다. 기본적으로는 위와같이 새창이 띄워져야 하는경우 WebChromeClien의 onCreateWindow함수가 호출 됩니다. 함수가 호출 되면 새창과 관련 동작을 추가 해주면 아무동작이 없어 당황스러운 상황은 쉽게 해결 됩니다. webview = (WebView) findViewById(R.id.webview); WebSettings settings = webview.getSettings(); settings.setJavaScriptEnabled(true); settings.setSupportMultipleWindows(t..
[ xcode Tip] 하드용량 확보하기 맥으로 ios 개발을 하다보면, 용량 부족이라는 문제를 맞이하게 됩니다. 프로젝트를 여러개 진행하면서, xcode가 업데이트되면서 저역시 256G 용량의 하드가 10G 남는 초유의 사태가 벌어졌는데요. 처음에는 정크파일을 없애고, 필요없는 파일들을 지워봤지만, 눈에 띄게 용량이 늘어나지 않았습니다. 바로 문제는 xcode에 있었습니다. xcode에서 아카이브를 만들때 원본파일이 저장되고, 새로운 버전의 시뮬레이터가 업데이트 될때마다 용량은 늘어났습니다. 또한, DerivedData 에 빌드에 대한 정보가 저장되는데, 이폴더 역시 다 지워도 프로젝트 빌드시 문제가 되지 않습니다. 지금 바로, ios 개발을 하시는 분들은 맥북 용량이 부족하다면, 필요없는 파일을 없애, 쾌적한 개발을 하시길 바랍니다. 1. ..
github X jenkins (CI: Continuous Integration) 구성하기 #3 - 빌드 프로젝트 구성 이번에는 github 와 jenkins을 연결하고, github push 트리거를 연결하여 자동 빌드하는 방법을 살펴보도록 하겠습니다. 먼저 지금까지의 구성 순서를 살펴보면 아래와 같습니다. # 구성순서 1. SSH 공개키 만들기 2. github에 공개키 등록 3. github ssh 접속 테스트 4. jenkins Github plugin 설치 5. jenkins에 github 서버 등록 6. jenkins 프로젝트 구성 7. github 프로젝트에 jenkins서비스등록 8. 빌드확인(프로젝트 push후 자동 빌드 확인) 이번에는 7번과 8번을 설명하면서 github 및 젠킨스을 가지고 CI 구성하는 방법을 마무리 하도록 하겠습니다. github 프로젝트에 jenkins서비스등록 1. 먼저 GitH..
[Objective-C Tip] Key-Value Observing 개발을 하다보면, 변경사항을 통보받을때, 감시객체를 등록하면, 편리합니다. 감시객체를 등록하고, 동작이 일어나는 부분에서 변경을 해주면, 변경된 결과를 바로 받아볼수 있습니다. 1. 감시객체 등록 [obj addObserver:selfforKeyPath:@"enable"options:NSKeyValueObservingOptionNew| NSKeyValueObservingOptionOld context:NULL]; ______________________________________________________________________________________________________________________ 2. 감시객체 변경 - (IBAction)observer:(id)sender { U..
[Objective-C Tip] UImage 이미지 리사이징 프로젝트 하실때, UIImage를 많이 사용합니다.이번 시간에는 UIImage의 관련된 팁을 드리고자 합니다. * 크기 변경- (UIImage *)resizeImage:(UIImage *)image width:(int)width height:(int)height{ CGImageRef imageRef = [image CGImage]; CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef); //if (alphaInfo == kCGImageAlphaNone) alphaInfo = kCGImageAlphaNoneSkipLast; CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGe..
[Objective-C Tip] 메모리 관리 Objective-c 의 메모리 관리에 대해서 알아보겠습니다. -alloc : 해당 객체에 메모리를 할당하고 레퍼런스 카운트를 1 올립니다.-retain : 해당 객체의 레퍼런스 카운트를 1 올립니다.-copy : 해당 객체의 복사본을 만듭니다. 그리고 복사본의 레퍼런스 카운트를 1 올립니다.-release : 해당 객체의 레퍼런스 카운트를 1 낮춥니다.-autorelease : 정해지지 않은 시점에 해당 객체의 레퍼런스 카운트가 -1 낮아집니다. * 규칙 1. 블록 내에서 alloc, retain, copy의 수와 release, autorelease 수가 동일해야 합니다.2. factory 함수를 사용해 생성한 객체의 경우는 대부분 autorelease로 반환됩니다. 따로 release를 할 필요가 ..