본문 바로가기

분류 전체보기

(332)
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..
AWS API Gateway - HTTP 사용자 지정 통합을 사용하여 API 생성 안녕하세요. 남산돈가스입니다. API Server를 운영하면서 백엔드에 대한 클라이언트 요청 데이터를 변환하거나 백엔드 응답 데이터를 변환하하는 경우에 AWS API Gateway에서 제공하는 HTTP 사용자 지정 통합을 사용하여 효과적으로 API 를 관리 할 수 있습니다. 또한 API를 API Gateway에 연결함으로써 해당 API에 대한 권한 및 스테이지 관리 등을 간편하게 관리할 수 있다는 점에서 API Gateway를 사용하는 이유를 설명할 수 있습니다. 예전 Lambda function을 등록하고 해당 Lambda를 API Gateway에 연결하여 API로 연동하는 포스팅에 이어 이번 포스팅에서는 HTTP 프록시를 API Gateway에 연결하는 작업을 진행해보려고 합니다. 먼저 AWS에 접속..
[ 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..