IT 이모저모 156

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 3

View 바인딩 사용자의 입력 정보를 수신하거나 정보를 표시하기 위해서는 View에서 데이터를 받거나 전달 할 필요가 있습니다. 이를 하기 위해서는 크게 두가지 방법이 있습니다. - View 바인딩 : Activity와 Fragment가 View의 참조를 가지고 있어 View를 직접 갱신 할 수 있도록 합니다. - Data 바인딩 : 최근 javascript 많이 채용하는 기법으로 View에 데이터를 바인딩하고 Activity와 Fragment에서 데이터를 업데이트하는 등 두 역활을 분리해 줍니다. 이번에는 View 바인딩 기법을 사용 합니다. 먼저 해야할 일은 View에 고유한 id를 지정해 줍니다. View 바인딩 또는 Data 바인딩인가 안드로이드가 제공하는 Data Binding 라이브러리를 사용..

IT 이모저모 2018.03.14

batch 명령어 Taskkill (프로세스 종료)

배치파일에서 프로세스를 종료시킬때 Taskkill 명령어를 사용하면 됩니다. taskkill 사용법은 아래와 같으며, 프로세스를 강제 종료할때 사용하면 좋습니다. [사용법] TASKKILL [/S 시스템 [/U 사용자 이름 [/P [암호]]]] { [/FI 필터] [/PID 프로세스 id | /IM 이미지 이름] } [/F] [/T]설명: 이 명령줄 도구는 하나 이상의 프로세스를 종료하기 위해 사용할 수 있습 프로세스 id 또는 이미지 이름으로 프로세스를 종료할 수 있습니다.매개 변수 목록: /S 시스템 연결할 원격 시스템을 지정합니다. /U [domain\]user 명령을 실행해야 하는 사용자 컨텍스트를 지정합니다. /P [암호] 해당 사용자 컨텍스트의 암호를 지정합니다. 생략한 경우에는 물어봅니다. ..

IT 이모저모 2018.03.13

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 2

Java / Android에는 개발에 도움을 주는 편리한 라이브러리들이 많이 있습니다. 본 앱은 개발의 편의를 위해 아래의 라이브러리를 사용합니다. - lombok - Timber - Lightweight-Stream-API - Rx Java2 - Rx Android 이글을 쓴 시점에서 build.gradle 설정은 아래와 같습니다. dependencies { compileOnly 'org.projectlombok : lombok : 1.16.18' annotationProcessor 'org.projectlombok : lombok : 1.16.18' compile 'com.jakewharton.timber : timber : 4.5.1' compile 'com.annimon : stream : 1.1..

IT 이모저모 2018.03.13

Android 8.0과 Reactive Extensions을 이용한 응용프로그램 개발 - 1

요즘 리 Reactive 프로그래밍이 주목 받고 있습니다. GUI의 상호 작용과 시간 경과에 따라 변화하는 애니메이션 등에 적합한 패러다임 인 것으로 알려져 있으며, 안드로이드 애플리케이션 개발에도 도입하는 것이 가능합니다. 이번에는 Ractive Extensions(RxJava2)를 사용하여 안드로이드 채팅 어플리케이션 개발 방법에 대해 알아 보겠습니다. 안드로이스 스튜디오 3.0버전을 사용해서 개발을 진행하겠습니다.먼저 안드로이스 스튜디오를 실행 시켜 File 메뉴에서 New - New Project 를 선택하고, 필요 사항을 입력합니다. 프로젝트를 만든 후 생성 된 프로젝트 build.gradle을 확인 합니다. Android Plugin의 버전이 3.0.1 로 되어있는것을 확인할 수 있습니다. 기..

IT 이모저모 2018.03.13

C# 반올림, 올림, 버림 사용하기

c#에서는 다양한 수학 편의 함수를 제공하고 있습니다. 그중에서도 자주 사용하는 올림, 반올림, 올림 관련 함수를 정리해 보았습니다.수학관련 함수를 사용하기 위해서는 System.Math 를 using 해줍니다. 기본적인 사용 방법은 아래와 갔습니다. 반올림 Math.Round(값) Math.Round(값, 소숫점)올림 Math.Ceiling(값)버림 Math.Truncate(값)올림이나 버림의 경우에는 값의 정수부분 만을 결과로 돌려주지만 반올림의 경우에는 소숫점을 지정하지 않는 경우에는 정수 값을 리턴하지만 소숫점을 지정하는 경우 해당 소숫점을 기준으로 반올림한 부동소숫점 값을 돌려줍니다. 숫자를 문자열로 변환하는 format 함수에서도 숫자 형식을 벗어난 소숫점을 반올림 처리하는데 올림이나 내림 처..

IT 이모저모 2018.03.09

Barrier 란? - 5

더 많은 대역폭 압박 GPU는 시간이 지남에 따라 컴퓨팅에 점점 더 집중하고 있지만 삼각형을 픽셀 격자로 래스터 화하기 위해 여전히 많이 최적화되어 있습니다. 이 작업을 수행하면 ROP의 터치 가진 끝낼 수 있다는 것을 의미한다 t 메모리마다 프레임. 게임은 이제 최대 4k 해상도로 렌더링해야하며, 오버 드로우없이 모든 것을 작성하는 경우 8294400 픽셀로 작동합니다. 16 비트 부동 소수점 텍스처 형식의 경우 픽셀 당 8 바이트를 곱하거나 G 버퍼의 경우 픽셀 당 최대 30 또는 40 바이트를 곱하면 그 모든 것을 제어하기 위해 많은 대역폭을 소비하게됩니다 한 번 메모리 (그리고 일반적으로 많은 텍셀들이 한번 이상 터치 될 것입니다!)! MSAA를 믹스에 추가하면 순진한 경우 메모리 및 대역폭 요구..

IT 이모저모 2018.03.09

Barrier 란? - 4

캐시가 어렵다. 다행스럽게도 GPU의 장벽에는 데이터 의존성이있을 때 쉐이더 스레드가 겹치지 않게하는 것이 적어도 하나의 이유가 있습니다. 이것은 수천까지 크랭크 된 코어 수를 제외하고 CPU 스레드에 대해 이야기 할 때 땅콩 버터와 이전에 빵을 배치 한 것과 같은 시나리오입니다. 그러나 불행하게도 우리가 GPU에 대해 CPU와 반대되는 것에 관해 이야기 할 때 상황은 좀 더 복잡해집니다.개별 버퍼에 많은 데이터를 쓰는 PC CPU에서 실행되는 스레드 그룹을 시작하고 해당 스레드가 완료 될 때까지 대기하도록 스레드 장벽을 삽입 한 다음 출력을 읽는 두 번째 스레드 그룹을 시작한다고 가정 해 봅시다 스레드의 제 1 그룹의 데이터. 두 번째 작업의 읽기 작업이 너무 일찍 일어나지 않도록하기 위해 적절한 메모..

IT 이모저모 2018.03.09

Barrier 란? - 3

GPU LAND로 돌아 가기 우리는 장벽이 무엇인지에 대한 기초를 다뤘지만 GPU와 대화하기 위해 API를 사용하는 이유는 아직 설명하지 못했습니다. 결국 Draw와 Dispatch 호출을 실행하는 것은 별도의 코어에서 실행되는 병렬 작업을 예약하는 것과 실제로 같지 않습니까? 제 말은 D3D11 프로그램의 API 호출 순서를 살펴보면 직렬로 보입니다. 이와 같은 API를 통해 GPU를 다루는 데 익숙하다면, GPU가 제출 한 순서대로 한 번에 하나씩 명령을 처리한다는 생각을하면 용서받을 수 있습니다. 오래 전부터 이것이 사실일지도 모르지만 현실은 실제로는 현대 GPU에서 좀 더 복잡합니다. 제가 말하고자하는 것을 보여주기 위해, AMD의 멋진 프로파일 링 도구 인 Radeon GPU Profiler 로..

IT 이모저모 2018.03.09

Barrier 란? - 2

컴파일러는 멀티 스레드 CPU 프로그래밍을 할 때 자동으로 의존성을 처리 할 수 없으므로 멀티 스레드 태스크 간의 종속성을 표현하고 해결하는 방법을 찾는 데 많은 시간을 소비합니다. 이러한 상황에서는 어떤 작업이 다른 작업의 결과에 의존 하는지를 나타내는 종속성 그래프 를 작성하는 것이 일반적 입니다. 이 그래프는 작업을 실행할 순서를 결정하고 두 작업 (또는 작업 그룹) 사이에 동기화 지점 (장벽)을 두어 두 번째 작업이 실행되기 전에 이전 작업이 완전히 끝나야 할 때 도움이됩니다. 이러한 그래프는 종종 스레드 구성 블록에 대한 인텔의 설명서 에서 이해하기 쉬운 예제와 같이 나무 같은 다이어그램으로 그려집니다 .컴파일러는 멀티 스레드 CPU 프로그래밍을 할 때 자동으로 의존성을 처리 할 수 없으므로 멀..

IT 이모저모 2018.03.09

V30S 씽큐 9일 출시

국내 이동통신 3사를 통해 ‘공감형 AI’기능을 탑재한 LG V30S 씽큐ThinQ를 출시한다고 합니다. 공감형 AI는 스마트폰 사용자들이 가장 많이 사용하는 기능에 AI를 접목해 더욱 쉽고 편리하게 스마트폰을 즐길수 있습니다.​V30S 씽큐(128GB ROM)와 LG V30S+ 씽큐(256GB ROM)의 출고가는 각각 104만 8천 300원과 109만 7천 800원으로 책정했다고 합니다. 요즘에는 최신 스마트폰은 100만원은 기본드로 넘기는거 같네요​공감형 AI를 ​탑재해 카메라의 복잡한 사용법을 외우지 않아도 사용자가 원하는 것을 알아서 보고, 찾고, 촬영한다고 하니 이제는 AI가 엄청 발전했다는걸 새삼 느낄수 있네요. - 카메라로 사물을 비추면 자동으로 최적의 촬영 모드를 추천해주는 AI 카메라 -..

IT 이모저모 2018.03.08