AWS Elastic Beanstalk 명령줄 인터페이스(EB CLI) 설정하기

Elastic Beanstalk(이하 EB)를 사용하면 로컬환경(내 노트북 혹은 데스크탑)에서 AWS에 EB를 사용하여 만든 어플리케이션에 환경을 구성 및 변경하고, 모니터링할 수 있습니다. 여기서는 EB CLI를 설치하고 구성하여 어플리케이션에 라이프사이클별로 관리하는 방법을 설명하도록 하겠습니다. EB CLI 설치하기 맥에서는 최신 버전의 Python 및 pip 를 설치한 다음, 이를 사용하여 EB CLI를 설치할 수 있습니다. 1. Python.org 의 다운로드 페이지 에서 Python 3.4를 다운로드 및 설치합니다. 2. Python Packaging Authority에서 제공하는 스크립트를 사용하여 pip 를 설치합니다. $ curl - O https : //bootstrap.pypa.io/get-pip.py $ python3 get - pip . py - - user 3. pip 를 사용하여 EB CLI를 설치합니다. $ pip3 install awsebcli - - upgrade - - user 4. 실행 경로 ~/Library/Python/3.4/bin 을 PATH 변수에 추가합니다. PATH 변수를 수정하려면(Linux, macOS, or Unix) 사용자 폴더에서 셸의 프로파일 스크립트를 찾습니다. 어떤 셸을 가지고 있는지 잘 모르는 경우 echo $SHELL 을 실행합니다. $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads Bash - .bash_profile , .profile 또는 .bash_login Zsh - .zshrc Tcsh - .tcshrc , .cshrc 또는 .login 내보내기 명령을 프로파일 스크립트에 추가합니다. 다음 예제에서는 LOCAL_PATH 로 표현되는 경로를 현재 PATH 변수에 추가했습니다. export PATH= LOCAL_PATH :$PATH 첫 번째 단계에서 설명한 프로파일 스크립트를

[ios] XML 파서 이용하기

공공 데이터 API 중에는 XML로 제공되는 데이터들이 많습니다. ios에서 기본으로 제공하고, 사용법은 간단합니다. 1. URL 객체를 생성하고, url를 입력합니다. test URL는 동물보호관리시스템 유기동물 조회 서비스를 이용하겠습니다. https://www.data.go.kr/dataset/15001096/openapi.do NSURL *url = [[ NSURL alloc ] initWithString : @"http://openapi.animal.go.kr/openapi/service/rest/abandonmentPublicSrvc/abandonmentPublic?ServiceKey={{ServiceKey}}&bgnde=20140601&endde=20171210&upkind=417000&kind=000018&pageNo=1&numOfRows=10" ]; 2. URL 객체를 사용하여 XML 파서를 생성하고 델리케이트를 연결해줍니다. @interface에 NSXMLParserDelegate를 등록합니다.    NSXMLParser *xmlParser = [[ NSXMLParser alloc ] initWithContentsOfURL :url];     xmlParser. delegate = self ; 3. 파싱을 실행합니다.     [xmlParser  parse ]; 4. NSXMLParserDelegate 핸드러는 다음과 같습니다 - ( void )parserDidStartDocument:( NSXMLParser *)parser; 파싱을 시작했을때 호출되는 함수 입니다. - ( void )parserDidEndDocument:( NSXMLParser *)parser; 파싱을 종료했을떄

Android WebView 디버깅을 위한 개발자 도구, Web Inspector

이미지
 안녕하세요. 명동콜링입니다.  이번 포스팅에 대한 주제는 일반 Web 환경이 아닌 Android WebView 환경에서 디버깅을 할 수 있게 해주는 Web Inspector에 대해 알아보려고 합니다.  이 Web Inspector를 통해 Web 환경과는 다른 Mobile 기반에서는 내가 개발한 웹 페이지가 어떤 모습을 하며 어떻게 동작하게 되는 지 알 수 있도록 해주기 때문에, 하이브리드 앱 개발 할 때에 강력한 툴이라고 생각이 됩니다.  그럼 이 강력한 툴을 어떻게 사용하느냐 하면, 먼저 준비해야 할 프로그램이 있습니다.  바로 ADB(Android Debug Bridge) 라는 프로그램인데, 이 프로그램은 Android를 컴파일 할 때 친숙한 디버깅 툴로 디바이스의 연결, 디버그를 도맡아서 하는 프로그램입니다.  이 ADB 프로그램은 안드로이드 개발자라면 Android SDK를 설치할 때 함께 깔려있는 프로그램이기 때문에 신경을 안써도 되는 부분이지만, 그렇지 않은 분들 에게는 ADB만 따로 다운 받아서 설치를 하시면 되겠습니다.  일단은 Android SDK를 설치한 분들 기준에 맞춰본다면, ADB가 있는 디렉토리는 다음과 같습니다 [SDK Location] > platform-tools  이 경로에서 Windows 환경에서는 커맨드, Mac 환경에서는 터미널로 진입한 후에 adb.exe파일을 실행시켜야됩니다. 하지만 그냥 실행시켜서 되는 쉬운 프로그램이 아니니.. 몇 개의 옵션을 함께 입력하여 실행을 시켜야 됩니다.  그 옵션은 다음과 같습니다. start-server kill-server  첫번째 옵션은 말 그대로 '서버를 시작한다'라는 의미로 adb의 프로세스를 시작한다는 뜻으로 생각하시면 되겠습니다. 두번째 옵션은 '서버를 죽인다'며 adb의 프로세스를 종료하는 뜻으로 이해하면 빠를 것 같습니다. 두번째 옵션은 디바이스가 제대로 인식이 되지 않았을 때 사용하시면 되

파이썬을 이용하여 웹 크롤러 만들기 #2 - BeautifulSoup4을 활용하여 크롤링하기

이미지
안녕하세요. 남산돈가스입니다. 지난 포스팅에 이어 오늘은 두번째 순서인 BeautifulSoup4를 활용하여 웹 크롤링을 해보도록 하겠습니다. 우선, BeautifulSoup 이라는 것이 어떤 건지 간단히 말씀드리자면, html코드를 python이라는 언어가 이해할 수 있는 객체 구조로 변환해주는 대표적인 html Parsing 라이브러리입니다. 웹크롤링을 한다면 필수적인 라이브러리로 파이썬 웹크롤링 서적에서도 소개될 만큼 검증 된 라이브러리입니다. 이번 포스팅에선 대표적으로 requests 와 BeautifulSoup4 라이브러리를 이용해서 크롤링을 해보려고 합니다. 먼저 위에서 말씀드린 라이브러리들을 install 해보겠습니다. 터미널에 pip install beautifulsoup4 를 입력하여 beautifulSoup 라이브러리를 설치합니다. $ pip install beautifulsoup4 Collecting beautifulsoup4 Downloading https://files.pythonhosted.org/packages/9e/d4/10f46e5cfac773e22707237bfcd51bbffeaf0a576b0a847ec7ab15bd7ace/beautifulsoup4-4.6.0-py3-none-any.whl (86kB) 100% | ████████████████████████████████ | 92kB 445kB/s Installing collected packages: beautifulsoup4 Successfully installed beautifulsoup4-4.6.0 다음으로 requests 라이브러리를 install 합니다. $ pip install requests Requirement already satisfied: requests in /Users/gimseongsin/Library/Python/3.6/lib/python/site-packages 제 경우

Angular2+ 에서 넘치는 글자 말줄임표(...) 처리하기

Angular2+ 에서 말줄임(...) 처리는 크게 세 가지로 할 수 있습니다. 1. Pipe 로 템플릿 단에서 처리 2. 스크립트 처리 3. CSS 로 처리 1줄일 경우, 2줄 이상일 경우 다른 방법이 쓰입니다. 이 세 가지에 대해 간단한 핵심 소스를 공유 드립니다. 1. Pipe *.ts str:string = '일이삼사오육칠팔구십' *.html <div> {{ (str.length>6)? (str | slice:0:6)+'...':(str) }} </div> 결과화면 일이삼사오육... 2. 스크립트 사용 *.ts var limitLen = 6; if (str.length > length) {      str = str.substr(0, limitLen) + '...'; } *.html <div> {{ str }} </div> 결과화면 일이삼사오육... *jquery ellipsis 사용 See the Pen jQuery ellipsis by jaeheekim ( @jaehee ) on CodePen . 2. CSS 사용 1줄일 경우 div {    white-space:nowarp; /* 줄바꿈 막음*/    text-overflow:ellipsis; /* ... 로 보이게 */    overflow:hidden; } 2줄 이상일 경우 div {      font-size:1em;      overflow:hidden;      text-overflow:ellipsis;      line-height:1.5;      height:3em;  /* line-height의 두 배 */      display:-webkit-box;      -webkit-line-clamp:2; /* 나타낼 글자 라인 수 */      -webkit-box-o

[AWS] SES 를 활용한 이메일 발송 테스트

이미지
지난 포스팅에서는 AWS Workmail 설정을 통한 이메일 사용 방법에 대해 알아보았습니다. 이번에는 API 를 통한 메일 발송 자동화 처리를 위한 SES (Simple Email Service) 에 대해 알아 보겠습니다. AWS 콘솔에서 SES 메뉴로 이동합니다. Work 메일과 마찬가지로 서울 리전은 지원하지 않습니다. “Email Address” TAB 으로 이동하여 메일 발송에 사용할 이메일 주소를 설정합니다. 아마존에서 메일 인증을 위한 메일을 발송 하며 확인 전 까지는 인증대기 상태 입니다. 등록한 메일 계정을 확인해 보면 아래와 같이 메일이 수령된 것을 확인할 수 있습니다 링크를 클릭하면  인증이 완료 됩니다. 콘솔 창 에서 인증 완료 상태를 확인 할 수 있습니다. 이제 해당 메일 계정을 통해 메일 발송이 가능합니다. 계정 선택 후 “Send a Test Email” 을 선택 합니다. 받을 메일 주소 , 제목, 내용 을 입력하고  “Send Test Email” 버튼을 선택 합니다. 메일이 발송 되지 않고 에러가 발생 합니다. 처음 SES 서비스를 사용하면 샌드박스 환경 에서 실행이 되므로  받는사람 메일 계정도 인증이 되어야만 메일 발송이 가능합니다. 받는사람 메일도 추가로 인증을 진행 합니다. 이제 다시 메일을 발송해 보겠습니다. 받은 편지함에 메일이 정상적으로 수신 되었습니다. 도메인에 amazonses.com  이 표시 됩니다. 메일 발송이 완료 되면 “Sending Statistics” 메뉴에서 발송 통계 정보 확인이 가능 합니다. 1개 메일이 정상 발송 되었습니다. 다음 포스팅에서는  받는사람 메일 인증을 받지않고 메일을 발송 하기 위해 샌드박스 환경을 벗어나는 방법에 대해 확인해 보도록 하겠습니다.

AWS Elastic BeanStalk로 Web Application 만들기 연습 예제

이미지
“AWS Elastic BeanStalk를 사용하면 가장빠르고 간단하게 웹 어플리케이션 제작할 수 있습니다.” AWS Elastice BeanStalk(이하 EB) 소개 페이지를 방문하면 위와 같이 이야기 하는데요, 여기서는 간단하게 샘플 어플리케이션을 만들어 보면서 어플리케이션 제작에 친숙해 지려고 합니다. 먼저 AWS EB는 어플리케이션을 생성하고 어플리케이션 하위에 개발, 테스트, 프로덕트 등 운영환경에 따른 환경을 구성할 수 있습니다. 또한 웹어클리케이션의 다양한 옵션을 지정할 수 있으며, 모니터링, Auto Scaling 을 지정할 수 있으며, 또한 정기적으로 앱을 빌드하도록 설정할 수 있습니다. 여기서는 10분만에  간단한 Sample Web Application을 제작해보도록 하겠습니다. Application 생성하기 AWS EB를 사용하기 위해서는 AWS 콘솔에서 https://ap-northeast-2.console.aws.amazon.com/elasticbeanstalk 방문하여 관련 구성을 지정할 수 있습니다. 1. 중간에 “Get started” 버튼을 클릭하여 Applicaton을 생성합니다. 2. 여기서는 테스트를 위해 Application name에 “Test-App” 을 입력하고, Platform에 “Tomcat”을 선택하고, Application code는 샘플로서 바로 확인하기 위해 일단 “Sample application”을 지정합니다. *Platform의 목록을 보면 Ruby, Go, Java, Phython, Node.js 등 다양한 언어 혹은 웹서버를 지원하는 것을 확인할 수 있습니다. *Application code에서 별도의 .zip 혹은.war을 등록하여 기존에 개발로 어플리케이션을 등록할 수 있습니다. *Configure more options 를 클릭하여 EB에서 지원하는 다양한 기능을 추가 로 설정할 수 있습니다. 여기서는 기본설정으로 샘플 어플리케이션을 생성할 것입니다. 3