*아이프렌즈펫 앱 디자인 가이드 경험을 공유합니다. 이게 처음 작업한 앱 디자인 가이드라서 미흡한 점이 많을 수도 있는데 문제가 있는 부분이 있다면 댓글로 알려주시면 반영하겠습니다 ^^ * 안드로이드 앱 디자인 가이드 작업의 특징 안드로이드의 해상도입니다 이미지 출처: http://bit.ly/2hifr90 보시다시피 어마어마하게 많습니다 ^^ 이 모든 해상도를 일일이 지원할 수가 없어요~ 그래서 몇 가지 대표적인 해상도를 지원하는 방향으로 가이드를 잡고 이미지 작업을 합니다. 아이프렌즈펫의 경우에는 저해상도, 중간 해상도, 고해상도 3개를 지원해서 720 x 1280 1080 x 1920 1440 x 2560 이 세 가지로 이미지를 오렸구요, 가이드는 720 x 1280 기준으로 작업했습니다. *좌표 안드로이드는 상대 좌표로 작업합니다. 워낙 다양한 폰 사이즈 때문에 절대 좌표로 잡기 어려워요. 그래서 가이드에 중요한 정보는 좌표보다는 간격, 크기 입니다. *색상값 #123456 헥사 컬러 코드를 주로 사용합니다. 가이드에 이 값을 표기해주세요. *이미지 작업 수치값 계산 작업을 했다면 아이콘 등등을 잘라서 PNG 로 공유합니다. 이건 당연히 해상도별로 아이콘을 오려야 하는데요... 수치값은 720 기준으로 했다 하더라도 1440 등 다른 해상도 기준으로도 아이콘을 잘라드려야 합니다. 따라서 당연히 이미지는 Vector 아이콘으로 작업하셔야합니다 ^ㅁ^ Ctrl + I 눌러서 해상도 크기 늘리시면 되구요 (디자인 경력 1개월 미만을 위한 충고 ㅋ ) 이미지 버튼의 경우 단순한 사각형, 원형 같은 버튼의 경우 코딩으로 작업이 가능하지만 특별한 모양의 버튼의 경우 이미지를 잘라드려야 하는데요, 버튼을 자를 때는 기본적으로 세 가지 상태에 대해서 만들어 주셔야 합니다. (경우에 따라 한두가지 필요없는 게 있을 수 있구요) * 나인 패치 안드로이드...
AWS 에서 Instance 를 생성하여 사용하고 있다면 유지관리를 위하여 서버에 SSH 접속을 하는 경우가 생기게 됩니다. 기본적으로 무료로 제공되는 Security Group(SG) 을 Chaining으로 구성 하게 되면 간략하게 특정 EC2 인스턴스 에게만 SSH 접속을 허용하는 보안 구성이 가능합니다. 구성하고자 하는 모형은 아래와 같습니다. [SecurityGroup을 통한 SSH 접근제어 구성] AWS 보안 구성을 하기전에는 먼저 Security Group을 생성한 후 EC2 인스턴스 생성시 해당 Security 그룹을 적용하는 방법을 사용하는 것이 순서입니다. 하지만 이미 서버가 운영중에 추가 보안구성을 하는 경우를 감안해서 EC2 인스턴스를 먼저 생성한 후에 Security Group 설정을 진행 하겠습니다. 우선 Bastion Host 역할을 할 EC2 인스턴스를 생성해 보도록 하겠습니다. EC2 Dashboard 로 이동해 Launch Instance 를 선택합니다. Amazone Linux 를 선택 합니다. Free Tier 가 적용되는 T2 Micro 를 선택하고 Review and Launch 를 선택 합니다. Review 화면이 나오면 Launch 를 선택합니다. Key Pair 를 새로 생성하고 Download Key Pair 를 선택하여 Key 파일을 다운로드 한후 Launch Instance 를 선택합니다. View Instance 를 선택하여 생성된 EC2 인스턴스를 확인 합니다. 인스턴스가 정상적으로 생성되었습니다. 접속 IP가 54.157.118.232 인 Instance 가 생성되었습니다. 동일한 방법으로 Web Server 역할을 수행할 EC2 Instance 를 생성해 보도록 하겠습니다. 접속 IP 가 34.224.165.38 인 inst...
Apache Tomcat 을 기반의 웹서버를 구성하고 AWS ELB(Elastic load Balancer) 를 활용하여 Multi-AZ(Available Zone) Instance 이중화를 구성하였습니다. 그런데 웹서버에 접속후 로그인 세션이 유지되지 않는 문제가 발생하였습니다. 원인은 ELB 는 트래픽 분산방식이 기본적으로 RoundRobin 방식으로 구현되어 사용자 세션이 유지되지 못하는 현상이었습니다. 이런 문제를 해결하기 위하여 ELB는 Sticky Session 기능을 적용합니다. 최초에 ELB 구성시 Sticky Session 은 Disabe 상태입니다. 확인을 위해 AWS 콘솔에 접속하여 EC2 DashBoard - Loadbalancer 항목으로 이동해 보겠습니다. Description 탭에 PortConfigration 항목에 설정에서 변경을 원하는 Port 구성에 Edit stickiness 를 선택합니다. Enable Load Balancer Generated Cookie Stickines 를 선택합니다. Expiration Period 에 세션이 유지될 시간을 "초" 단위로 입력해 줍니다. 이제 ELB 에서 생성한 쿠키를 사용하여 해당 시간동안 ELB 에서는 동일한 서버로 트래픽을 연결하여 세션을 유지하게 됩니다. 간단하게 ELB 를 통한 세션 설정이 완료 되었습니다. ELB 에서 생성한 Cookie 대신 웹 Application에서 직접 Cookie 를 생성하고 세션을 관리 할수도 있습니다. Enable Application Generated Cookie Stickiness 를 선택하면 웹서버에서 생성한 쿠키를 사용하여 세션을 유지하게 됩니다. 이때는 Cookie Name 에 웹서버에서 생성한 Cookie Name 을 입력해 주면 됩니다. AWS Console 을 통하...
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 . ...
안녕하세요. 명동섞어찌개입니다. SVG (Scalable Vector Graphics) 는 이름 그대로 Bitmap 이미지와 달리 확대, 축소해도 깨지지 않는 이미지 포맷이죠. 요새 아이콘을 화면에 넣을 때 많이 쓰는 방법으로 아이콘 폰트를 임베딩해서 쓰거나, svg 아이콘을 다운받아 쓰는 법 외에 SVG 아이콘을 그려서 화면에 적용하는 아주 간단한 팁을 알려드릴께요! 1. Adobe 일러스트레이터를 켭니다. 없으신 분은.. 디자이너분께 부탁드려보시거나 회사 라이센스 프로그램이 있을 경우 그걸 써보세요 (협업~) 2. 일러스트레이터에서 필요한 아이콘을 그립니다. 굳이 코딩으로 어렵게 계산해서 그리실 필요가 전혀 없습니다. 그냥 보면서 그립니다. 3. 아이콘을 선택한 후 복사합니다. (Ctrl + C) 4. 새 문서를 만든 뒤 붙여넣기 합니다. (Ctrl + V) [ icon-add-user-on.svg] 끝. 참 쉽죠?! 5. 마지막으로 CSS 에 적용합니다. 저 같은 경우는 일반적으로 이런 식으로 사용합니다. [layout.css] 1 2 3 . customIcon : before { content: '' ; position: absolute ; top: 12 px ; left: 3 px ; background - size: 20 px auto ; background - repeat: no - repeat ; width: 20 px ; height: 20 px ;} . addUser { background - image: url ( assets / icons / icon - add - user - on . svg );} [html] 1 < i class = "customIcon addUser" ></ i >
댓글
댓글 쓰기