ionic API 호출하기

이미지
Ionic CLI를 사용하여 Ionic을 시작하고 실행하는 것은 웹 개발 경험이있는 사람에게 매우 익숙합니다. 이번에는 백엔드 API를 호출하는 방법을 살펴 보겠습니다. ionic 시작하기 Ionic CLI의 ionic start 명령어를 사용하여, 빈 템플릿 앱을 만들 수 있습니다. ionic start apiApp blank ionic 앱의 프로젝트 구성은 Home page를 비롯하여 몇 가지 기본 골격이 있습니다. 새로운 Provider 생성하기 API에 대한 HTTP 요청을하는 데 사용될 새 Provider(Service)를 추가하는 방법을 살펴 보겠습니다. ionic CLI 명령어에서 ionic g를 사용하여 자동 Provider를 쉽게 만들수 있습니다. 프로젝트 디렉토리 (cd apiApp)로 변경 한 후 CLI를 사용하여 PeopleService라는 새 Provider를 만듭니다. ionic g provider PeopleService CLI는 app / providers / people-service / people-service.ts 파일을 생성하고 PeopleService라는 @Injectable 클래스(주입가능한)를 생성합니다. 이 클래스는 HTTP 요청을하기 위해 load 선언하여 구현합니다. load ( ) { if ( this . data ) { // already loaded data return Promise . resolve ( this . data ) ; } // don't have the data yet return new Promise ( resolve = > { // We're using Angular HTTP provider to request the data, // then on the response, it'll map the JSON data to a parsed JS object.

[Objective-c Tip] ios 네트워크 체크하기

네트워크 통신을 하기 위해서는 네트워크 환경 체크는 필수 입니다. * 기타 강력한 네트워크 프레임웍을 사용하시려면 git에서 AFNetworking을 추천해드립니다 https://github.com/AFNetworking/AFNetworking ----------------------------------------------------------------------------- Objective-c에서 제공하는 프레임 워크로, 네트워크 변동사항을 체크할수 있습니다. #import  <SystemConfiguration/SystemConfiguration.h> #import  <netinet/in.h> - (void) connectedToNetwork {          struct sockaddr_in zeroAddress;     bzero(&zeroAddress, sizeof(zeroAddress));     zeroAddress.sin_len = sizeof(zeroAddress);     zeroAddress.sin_family = AF_INET;         SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);      SCNetworkReachabilityFlags flags;         BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);     CFRelease(defaultRouteReachability);         if (!didRetrieveFlags)     {         NSLog(@&quo

[Objective-C Tip] 국가 통화 스트링 변환하기

현재 설정되어 있는 국가의 통화를 스트링으로 변환하기 다음의 함수를 호출 하면 현재 설정된 국가의 통화를 스티링으로 변환 시켜 줍니다. decimalCountry 는 소수점이 있는 국가의 경우에만 YES값으로 미리 지정을 시켜줬습니다. -( NSString  *)convertToCurrency: ( long   long )cost {      NSNumberFormatter  *currencyFormatter = [[ NSNumberFormatter   alloc ]  init ];     [currencyFormatter  setNumberStyle :  NSNumberFormatterCurrencyStyle ];      double  doubleCost;      if ( decimalCountry  ==  YES ) {         [currencyFormatter  setMaximumFractionDigits :  2 ];         doubleCost = cost / ( double ) 100 ;     }      else  {         [currencyFormatter  setMaximumFractionDigits :  0 ];         doubleCost = cost;     }     [currencyFormatter  setLocale : [ NSLocale   currentLocale ]];      NSNumber  *num = [ NSNumber   numberWithDouble : doubleCost];      NSString  *currencyStr = [currencyFormatter  stringFromNumber : num];      return  currencyStr; }  국가명 / NSLocaleCurrencyCode / NSLocaleCurrencySymbol / 단위 한국         

ionic 데이터로 작업하기 : Service 와 Nav Params

ionic앱 을 통해서 다른 페이지 혹은 컴포넌트로 데이터를 전달해야하는 상황이 생깁니다. 여러 뷰와 사용자의 상호작용으호 구성되어 단독의 페이지 혹은 뷰만 가지고는 다양한 기능을 구현할 수 없습니다. 서버의 REST API를 통해 가져온 데이터, 사용자의 입력 데이터, 혹은 클라이언트 환경에서 가져온 데이터등을 가져와서 여러곳으로 전달할 경우가 생깁니다. 이번에는 ionic 앱에서 service 및 navparams 의 파라메터 사용법을 살펴보도록 하겠습니다. Angular Service 사용하기 Angular 2 의존성 주입 기능을 사용하여 IceCreamService를 주입가은한 형태로 만들어 보겠습니다. 첫째, 서비스의 골격은 Angular 's Injectable 선언하고 @Injectable 데코레이터를 지정하여야 합니다. import { Injectable } from ' @angular/core ' ; @Injectable ( ) export class IceCreamService { constructor ( ) { } } 위의 코드를 자동으로 생성하려면 ionic CLI에서 generate 명령어를 사용합니다. 파일은 src / providers / icecreamservice.ts 경로에 생성됩니다. ionic generate provider icecreamservice Angular Component 와 다른점은 export 문 위에 @Component 데코레이터 대신 @Injectable ()을 사용한다는 것뿐입니다. 이것은 Angular 컴파일러에게이 클래스가 Angular의 의존성 주입 시스템에서 사용 가능하다는 것을 알려줍니다. 다음으로 Service에 로직을 추가해 보겠습니다. export class IceCreamService { hadIceCream : boolean = false ; constructor ( ) { }

[AWS] 예약인스턴스 할인 공유 및 Credit 할인 공유 비활성화 설정하기

이미지
지난 포스팅을 통해 AWS 통합계정 설정을 통한 계정관리 및 비용할인에 대해 알아보았습니다. 통합결제계정을 사용하는 경우 통합할인에 매우 유용하지만 Credit 을 사용하거나 예약인스턴스(RI) 를 사용하고 있는 경우에 계정별 사용비용 계산이 복잡해 지는 문제가 발생 합니다. 이는 AWS 에서  고객할인을 최대한 많이 보장하고자 통합계정을 사용하고 있는 경우 예약인스터스(RI) 요금에 대해서 자동으로  혼합(Blended) 요금을 적용하기 때문입니다. 아래는 혼합요금에 대한 AWS 설명 입니다. http://docs.aws.amazon.com/ko_kr/awsaccountbilling/latest/aboutv2/con-bill-blended-rates.html#Blended_Calculated 간단하게 Blended 요금에 대해 알아 보면 아래는 t2.micro 에 대한 요금 기준 입니다. 온디맨드 는  $0.0144 표준 1년계약 (선수금 없음) 은  $0.009 입니다 아래 그림과 같이 통합으로 연결되어 있는 계정 중 하나의 계정에서만 RI 를 적용한다고 가정해 보겠습니다. 위의 그림으로 보면 Nmadopass 계정은 $0.0144 , Fico2000 계정은 $0.009 가 시간당 청구 되어야 합니다. 그런데 실제 청구서를 보면 (0.0144 + 0.009) / 2 = 0.0117 과 같이 Namdopass $ 0.0117 (Blended price*) fico2000 $ 0.0117 (Blended price*) 로 표출되는 것을 확인 할 수 있습니다. 아래 그림은 실제 청구서에 Blended 금액이 표시된 화면 입니다. 예약인스턴스가 혼합 요금으로 적용된 것을 확인 할 수 있습니다. 이렇게 복잡한 비용관리를 간소화 하고자 AWS 에서 최근 계정간 RI 공유 비활성화 기능을 지원하기 시작 했습니다. 설정을 위해서 마스터 결제 계정 콘솔로 로그인 합니다. 결제 대시

현수막/명함 등 인쇄물 디자인하기

이미지
문화체육행사_포스터 이번 포스팅으로는 행사라던지 일정표 등 여러가지 인쇄물 제작을 할 때의 디자인 방법에 대해 간단하게 소개하려고 합니다 ㅎㅎ 인쇄물 포토샵 세팅  해상도 (Resolution) 300 dpi  로 잡아줍니다. 안그러면 해상도가 낮아서 깨져 보여요. (보통 웹 작업을 할 경우 72dpi 로 잡혀 있음) 색상 (Color Mode) 인쇄물이므로 RGB 컬러가 아닌 CMYK 아시겠지만 RGB와 CMYK 색상은 차이가 많이 나니까 미리 잘 세팅하셔서 나중에 작업 다 끝내놓고 인쇄 직전에 멘붕에 빠지지 않으시기를..^^ <-경험자 일러스트레이터로 작업하실 경우는 컬러모드나 해상도 등은 문제가 되지 않으므로 인쇄물은 되도록 일러로 작업하시는 게 좋을 것 같습니다. 1. 현수막 만들기  체육행사_현수막 사이즈 보통 만들고자 하는 크기가 m 단위인데요 만들려고 하는 크기의 10분의 1정도 사이즈로 작업을 합니다. 예를들어 6m x 1m 사이즈의 현수막을 만든다고 하면 포토샵/일러로는 60cm x 10cm 로 제작을 합니다. 실물 크기로 만들 경우 컴퓨터의 성능이 엄청나지 않은 이상 작업에 무리가 있고, 10분의 1 사이즈로 제작해서 인쇄해도 괜찮아요~ 현수막은 처음부터 사이즈를 확정하고 작업하셔야 수정할 일이 덜 생깁니다.^^ 보통은 강당이나 어느 특정 장소에 걸어야 하기 때문에 사이즈가 제한적일거고, 그걸 미리 잘 알아두시고 작업하셔야 기껏 작업한 디자인을 버리는 일이 생기지 않아요^^ 2. 명찰 만들기 사이즈 실제 사이즈대로 만들되 명찰 사이즈보다 조금 더 작게 만들어 인쇄해야 나중에 명찰에 끼워넣을 때 고생하지 않아요^^ 3. 명함 이번에 아이프렌즈펫에서 명함 사이즈의 홍보카드를 만들었는데요, 작은 사이즈이지만 의외로 까다로워서 처음 제작단계부터 인쇄업체와 대화를 많이 하시는게 좋은 것 같구요  (아래의 경우 같이 일한 인쇄업체의 요