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 . ...
앱을 개발 하다보면 필수 기능중에 하나가 보고 있는 리스트나 상세 페이지등을 새로고침 하는 것 입니다. 몇년 전 까지만 하더라도 새로 고침 기능이라고 하면 아이폰 처럼 뷰를 당기면 공간이 벌어지면서 새로고침 하는 방식을 많이 사용 했습니다.(여전히 이 방법을 사용하는 앱은 많습니다.) 해당 새로고침을 기능을 제공 하려면 개발가 하나하나 구현 해야해서 쉽지 않은 기능 중 하나였습니다. 하지만 지금은 android 레이아웃중 SwipeRefreshLayout을 제공하여 레이아웃만 추가한다면 별다른 구현 없이도 위에서 아래로 내려오는 새로고침 기능을 사용 할수 있게 되었습니다. SwipeRefreshLayout을 간단하게 구현하는 샘플 코드를 작성해 보겠습니다. 1단계 : 레이아웃 새로고침이 될 뷰를 SwipeRefreshLayout으로 자식뷰로 만듭니다. <android.support.v4.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/swipe_refresh"> <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webView"></WebView> </android.support.v4.widget.SwipeRefreshLayout> 2단계 : 새로고침 이벤트 해당 뷰 영역을 위에서 아래로 당기면...
안녕하세요. 명동섞어찌개입니다. 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 >
문화체육행사_포스터 이번 포스팅으로는 행사라던지 일정표 등 여러가지 인쇄물 제작을 할 때의 디자인 방법에 대해 간단하게 소개하려고 합니다 ㅎㅎ 인쇄물 포토샵 세팅 해상도 (Resolution) 300 dpi 로 잡아줍니다. 안그러면 해상도가 낮아서 깨져 보여요. (보통 웹 작업을 할 경우 72dpi 로 잡혀 있음) 색상 (Color Mode) 인쇄물이므로 RGB 컬러가 아닌 CMYK 아시겠지만 RGB와 CMYK 색상은 차이가 많이 나니까 미리 잘 세팅하셔서 나중에 작업 다 끝내놓고 인쇄 직전에 멘붕에 빠지지 않으시기를..^^ <-경험자 일러스트레이터로 작업하실 경우는 컬러모드나 해상도 등은 문제가 되지 않으므로 인쇄물은 되도록 일러로 작업하시는 게 좋을 것 같습니다. 1. 현수막 만들기 체육행사_현수막 사이즈 보통 만들고자 하는 크기가 m 단위인데요 만들려고 하는 크기의 10분의 1정도 사이즈로 작업을 합니다. 예를들어 6m x 1m 사이즈의 현수막을 만든다고 하면 포토샵/일러로는 60cm x 10cm 로 제작을 합니다. 실물 크기로 만들 경우 컴퓨터의 성능이 엄청나지 않은 이상 작업에 무리가 있고, 10분의 1 사이즈로 제작해서 인쇄해도 괜찮아요~ 현수막은 처음부터 사이즈를 확정하고 작업하셔야 수정할 일이 덜 생깁니다.^^ 보통은 강당이나 어느 특정 장소에 걸어야 하기 때문에 사이즈가 제한적일거고, 그걸 미리 잘 알아두시고 작업하셔야 기껏 작업한 디자인을 버리는 일이 생기지 않아요^^ 2. 명찰 만들기 사이즈 실제 사이즈대로 만들되 명찰 사이즈보다 조금 더 작게 만들어 인쇄해야 나중에 명찰에 끼워넣을 때 고생하지 않아요^^ 3. 명함 이번에 아이프렌즈펫에서 명함 사이즈의 홍보카드를 만들었는데요, 작은 사이즈이지만 의외로 까다로워서 처음 제작단계부터 인쇄업체와 대화를 많이 하시는게 좋은 것 같구요 (아...
간혹 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 @...
댓글
댓글 쓰기