[ios] 기본 공유하기 기능 사용하기

이미지
사진 및 링크를 앱에서 다른 앱으로 공유 하기를 해야할때,  iOS에서 제공하는 UIActivityViewController 사용하면, 간편하게 구현할 수 있습니다. UIActivityViewController 에서 제공하는 공유 대상의 서비스 범위는 SNS  또는 이메일, 클립보드 복사하기 와 iOS 소셜 프레임워크로 추가된 페이스북, 트워터 등이 있습니다. 페이스북에 글을 등록하려면, 예전엔  페이스북 API를 이용하여, 등록해야했기 때문에, 페이스북 개발자 생성 및 API  Key발급도 해야했지만, UIActivityViewController 를 사용하면 페이스북 API를 이용하지 않고도 글을 등록할수 있습니다. 단, 아이폰에 페이스북 로그인이 되어있어야합니다. --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 1. 먼저 h 파일을 추가합니다. #import <Social/Social.h> #import <Accounts/Accounts.h> --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 2. activityuItem 객체를 생성합니다. activityuItem에 객체에는 URL를 넣도록 하겠습니다.   NSURL *url = [ NSURL URLWithString : self . m_shareUrl ];   NSArray *activityItems = @[ url ] ; --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 3.  UIActivityViewCo

[MySQL] DB Time Zone 변경

이미지
간혹 MySQL DB 작업 완료 후 DB 시간이 UTC 로 표시되는 현상이 발생하는 경우가 있습니다. 이런 경우 KST 로 표시 되도록 변경하는 방법을 확인해 보도록 하겠습니다. 우선 DB 접속에 접속 합니다. DB 의 Time Zone 설정이 되어 있는지 아래와 같이 확인 합니다. Time Zone 설정이 되어 있지 않다면 아래와 같이 표시됩니다 . mysql> select count(*) from mysql.time_zone; Time Zone 설정을 위해 리눅스 환경으로 돌아와  아래와 같이 입력합니다. $ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql 다시 DB 로 접속 합니다. DB Time Zone 정보를 확인해 보면 아래와 같이 표출 됩니다. 저같은 경우에는 Time Zone 정보가 SYSTEM 으로 표시되네요 mysql> SELECT @@global.time_zone, @@session.time_zone; 이제 Time_Zone 정보를 Seoul 기준으로 변경해 줍니다. mysql> SET GLOBAL time_zone='Asia/Seoul'; mysql> SET time_zone = 'Asia/Seoul'; 정상적으로 변경이 완료 되었는지 다시 Time Zone 정보를 확인해 보겠습니다. mysql> SELECT @@global.time_zone, @@session.time_zone; 정상적으로 변경 된것을 확인 할 수 있습니다. DB 내 시간정보를 확인해 보면 로컬 시간이 표시되는 것을 확인할 수 있습니다. mysql> SELECT NOW(); 아래와 같이 Time Zone 정보를 다시 한번 확인해 보면 정상 적용된 것을 확인 할 수 있습니다. mysql> select @

[반려동물 이야기] 반려동물 아이스크림 만들기

이미지
반려동물 아이스크림 만들기 준비물 1 락토프리 우유 아이펫밀크 또는 소화가 잘되는 우유를 추천합니다. 락토프리 우유란? 반려동물이 소화하지 못하는 유당 성분을 제거한 우유로서 사람이 먹는 락토프리 우유도 괜찮다고 합니다. (그래도 혹시 모르니 조금만 먹여보시고 부작용이 없으면 주시는게 안전할 거에요 ^^) 준비물 2 아이스크림틀 시중에 저렴한 제품이 많이 나와있는데요, 꽝꽝 얼린 아이스크림을 쉽게 빼낼 수 있는 실리콘으로 된 제품을 추천해요 ^^ 준비물 3 토핑 재료 우유만 넣으면 심심하니까 과일을 함께 넣어주셔도 되는데요 반려견이 먹어도 되는 과일과 안되는 과일을 잘 숙지하셔야겠죠? *먹어도 되는 과일: 사과, 토마토, 딸기, 오렌지, 파인애플, 바나나, 귤 등 *먹으면 안되는 과일: 포도, 아보카도 등 만들기 믹서기에 준비된 락토프리우유 + 토핑재료를 넣고 갈아줍니다 그것을 아이스크림틀에 부어서 얼려주면 끝 반려동물과 함께 즐거운 여름나기를 응원합니다

AWS CLI(Command Line Interface) 설치 및 환경설정 for MAC

AWS Command Lne Interface(이하 CLI)는 AWS 서비스를 터미널에서 명령어 기반으로 컨트롤하는 도구입니다. AWS SDK for Python (Boto)를 기반으로 되어 있으며, AWS의 모든 서비스를 관리할 수 있습니다. 리눅스는 Bash , Zsh , tsch 등의 일반적인 셸 프로그램을 사용하여 Linux, macOS, or Unix에서 명령을 실행하며, Window는 Microsoft Windows의 PowerShell 또는 Windows 명령 처리기(CMD)에서 사용할 수 있습니다. 또한 원격으로 putty 혹은 SSH등의 터미널을 이용할 수 도 있습니다. 예제 AWS S3 파일 업로드 $ aws s3 cp myvideo.mp4 s3: //mybucket/ 위와같이 aws 명령어에 s3 추가 서비스별 옵션으로 myvideo.mp4 파일을 손쉽게 S3 버킷에 업로드할 수 있습니다. AWS CLI 설치하기 for MacOS 최신 버전의 Python 및 pip를 설치한 다음, 이를 사용하여 AWS CLI를 설치할 수 있습니다. 1. Python.org 의 다운로드 페이지 에서 Python 3.6을 다운로드 및 설치합니다. 2.Python Packaging Authority에서 제공하는 스크립트를 사용하여 pip 를 설치합니다. $ curl -O https: //bootstrap.pypa.io/get-pip.py $ python3 get-pip.py --user 3.pip를 사용하여 AWS CLI를 설치합니다. $ pip3 install awscli --upgrade --user 4.AWS CLI가 올바르게 설치되었는지 확인합니다. $ aws --version AWS CLI 1.11.84 (Python 3.6.1) 구성하기 aws configure 명령을 실행하여  AWS CLI 설정할 수 있습니다. $ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret

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의 프로세스를 종료하는 뜻으로 이해하면 빠를 것 같습니다. 두번째 옵션은 디바이스가 제대로 인식이 되지 않았을 때 사용하시면 되