*아이프렌즈펫 앱 디자인 가이드 경험을 공유합니다. 이게 처음 작업한 앱 디자인 가이드라서 미흡한 점이 많을 수도 있는데 문제가 있는 부분이 있다면 댓글로 알려주시면 반영하겠습니다 ^^ *아이폰 앱 가이드 작업의 특징 디자인 가이드 작업은 기준 해상도 하나를 정해서 그 수치값으로, 이미지 작업은 고객/개발자와 협의한 모든 해상도를 지원하는 방향으로 작업하면 됩니다. 아이폰 해상도를 먼저 보면 이미지 출처: http://protosketch.io/exporting-assets-for-ios-ipads-and-iphones/ 위에 point 가 실제 폰에서의 크기라면 render at 사이즈는 디자이너가 포토샵에서 작업해야 할 픽셀 단위 사이즈라고 보시면 됩니다. 아이프렌즈펫은 일단 기준 해상도를 iPhone6 으로 잡고 가기로 했습니다. 그래서 포토샵에서 작업할때는 750 x 1334 사이즈로 작업해서 해당 작업물로 좌표값, 크기 등을 계산해서 개발자님께 넘겼구요 만약 iPhone5 를 기준 해상도로 잡았다면 640 x 1136 을 기준으로 포토샵 화면 작업을 해서 넘기시면 됩니다. 그러면 개발자는 디자이너가 계산해 넘긴 수치값의 1/2 을 곱하거나 1.5 배 하는 등 계산을 해서 작업을 하게 됩니다. XCode 에서의 작업 화면 만약 750 기준으로 작업을 해서 드리면 1/2 값을 저기에 입력하는 식으로 작업합니다 여기서 알 수 있는 사실은, 포토샵에서 드리는 수치가 최종값이 아니기 때문에 가급적 모든 수치가 짝수가 되고 , 맞아 떨어지는게 좋습니다. 그래야 개발자가 나누고 곱해도 소수점이 나오지 않기 때문이죠. 그래서 아이프렌즈펫 작업을 할때는 한 이미지로 여러 해상도를 지원해야 하기 때문에 가급적 6의 배수 로 크기를 계산한 작업물을 드렸습니다. *좌표 절대적인 건 아니고.. 대략 저런 기준으로 잡아서 작업하시면 됩니다 ^^ 아이폰은 절대 좌표 로 작업합니다. 그러니까 상단 Status ...
Java8 Stream 가이드 1. 개요 Java 8의 새로운 기능 Stream에 대해 설명합니다. 2. Stream API Java 8의 주요 새로운 기능 중 하나는 여러가지 요소(element) 처리를 위한 매우 강력한 스트림 기능인 java.util.stream 입니다 . 클래스는 Stream 이며, T 타입 기반의 Stream을 다양한 방법으로 생성할 수 있습니다. 2.1. Stream 생성 stream () 및 of () 메소드를 사용하여 콜렉션 또는 배열과 같은 다른 요소 소스에서 스트림을 작성 String [ ] arr = new String [ ] { "a" , "b" , "c" } ; Stream < String > stream = Arrays . stream ( arr ) ; stream = Stream . of ( "a" , "b" , "c" ) ; stream 을 생성하는 쉬운 방법은 컬렉션 인터페이스를 통해 생성할 수 있습니다. Stream < String > stream = list . stream ( ) ; 2.2. 멀티쓰레딩 Streams stream API는 또한 스트림 요소에서 병렬 모드로 작업을 실행 하는 parallelStream() 메서드를 제공하여 멀티 스레딩을 단순화 합니다. 아래 코드 는 스트림의 모든 요소에 대해 doWork () 메소드 를 병렬 로 실행할 수 있도록 합니다 list . parallelStream ( ) . forEach ( element - > doWork ( element ) ) ; 3. Stream 사용법 스트림에서 제공하는 함수는 크게 중간 작업 (return Stream, self-return )과 연산작업 (특정 타입으로 return ) 으로 나뉩니다. long count = list . ...
안녕하세요. 남산돈가스입니다. 지난 포스팅 "REST란?" 에 이어서 REST API를 설계하는 법에 대해서 포스팅하겠습니다. RESTful한 API를 설계하기 위해서 가지고 있어야하는 세가지 특징을 Richardson Maturity Model(이하 RMM)을 가지고 설명드리겠습니다. 위 그림은 RMM 모델을 얘기하는데, Leonard Richardson가 정의한 REST 방식의 주요 요소들을 3 개의 단계로 나눈 모델 을 의미합니다. REST의 영광(?)을 얻기까지의 레벨을 총 0~3 단계로 표현했는데요. 각 단계 별로 설명드리겠습니다. Level 0 : The Swamp of POX 웹의 기본 메커니즘을 전혀 사용하지 않은 단계로, HTTP Body로 데이터 통신을 하고 있긴하지만 POX(Plain Old XML)로 요청과 응답을 주고받는 RPC(Remote Procedure Call) 스타일의 시스템입니다. HTTP Method는 POST만을 사용하며, 서버로 요청하는 서비스는 그 자체로 하나의 endpoint를 가지게 됩니다. 쉽게 예를들자면, API 요청 도메인이 있고 게시판 기능을 하는 서비스를 만들었다고 한다면, POST /postService(게시판 서비스)와 같이 하나의 endpoint를 가지게 되고 이 endpoint로의 요청 Body의 addPost, getPost 등 필요로 하는 내용을 작성하여 요청을 전달하게 됩니다. 처음에 언급했듯이 HTTP가 제공하는 수많은 기능들을 모두 무시한 채 데이터를 통신하는 용도의 모델입니다. Level 1 : Resources RMM Level 1 에서는 Resources(이하 리소스)를 도입합니다. URI 설계 시 리소스라는 개념을 도입하여 요청을 단일 서비스 endpoint로 보내는 것이 아니라, 각각의 리소스와 통신하게 됩니다. ...
HTML 으로 코딩된 테이블, 그림, 글자 등 다양한 요소가 섞여 있는 문서를 PDF 또는 A4용지로 출력했을 때 각 요소가 중간에 끊어지지 않고 보기좋게 출력할 수 있는 방법이 있는지 알아보았습니다. 방법은 생각보다 간단한데요, CSS의 @media print 속성을 이용하면 가능했습니다. @media print 는 인쇄할 때만 적용되는 것으로 다양한 기능이 있지만 바쁜 분들을 위해 핵심 CSS만 보면, 이 두 개만 알아도 충분한 것 같습니다. @media print { .page-divide { page-break-after: always; } } .page-divide 라는 클래스를 준 요소 뒤에는 언제나 페이지를 분할하도록 하는 CSS 입니다. table, figure, .sector { page-break-inside: avoid; } table, figure 또는 sector 라고 클래스를 지정해 준 요소는 페이지 때문에 끊기지 않도록 처리해주는 구문입니다. 이렇게 지정한 요소가 만약 A4 용지 단위로 프린트물이 나올 때 중간에 걸리게 되면 통째로 그 다음 장으로 넘어가게 처리해줍니다. 간단 예제 소스보기 <style> @media print { .page-divide { page-break-after: always; } .no-print-page { display: none; //작업의 편리함을...
AWS 의 Certificate Manager 를 활용하면 운영중인 웹사이트에 무료로 SSL 적용이 가능합니다. 기존 방식대로 Web 서버에 HTTPS 접속을 위한 SSL 인증서 적용을 위해서는 웹서버에 직접 모듈을 설치하고 인증서 업로드 및 설정 작업을 진행해 주어야 했지만 ACM 을 활용하면 아래 비교표와 같이 간단한 절차로 SSL 구성이 가능합니다. 그럼 본격적으로 ACM 을 통한 SSL 적용 방법에 대해 알아보겠습니다. 1. 본인소유 도메인과 이메일 접속권한 확인 ACM 을 통한 SSL 적용을 위해서는 우선 본인 소유의 도메인 계정과 도메인 구매시 등록한 이메일 접속 권한이 필요합니다. 도메인 소유자의 이메일을 통해 인증절차 진행 되므로 소유자 메일에 접속이 불가능 하다면 인증서 발급이 불가능 합니다. 2. 소유 도메인 Route53 연결 도메인이 확보 되었으면 두번째로 AWS Route53 서비스에 도메인을 연결 시켜야 합니다. Route 53 > HostZone 에 해당 도메인 정보를 등록하고 NS Value 값을 따로 기록해 둡니다. 3. 소유 도메인의 네임서버 설정 변경 도메인 관리 사이트에 접속하여 위에서 따로 기록해둔 NS Value 값을 네임서버 설정 화면에서 변경하여 적용 합니다. 아래는 가비아의 네임서버 설정 화면 입니다. 네임서버 변경은 일정 시간이 필요 하므로 바로 적용되지 않으면 잠시 기다렸다 다음작업을 진행 합니다. 4. 인증서 요청 도메인에 대한 ACM에서 증명서를 발급받아야하므로, AWS Dashboard에서 Certificate Manage 로 이동합니다. “인증서 요청” 버튼을 선택합니다. 본인이 가지고 있는 도메인 네임을 ibksplatform.com 과 같은 형식으로 입력합니다. 서브 도메인을 사용 예정이라면 *.ibksplatform.com 과 같은 형식으로 이름을 추가합니다. 이렇게 ...
댓글
댓글 쓰기