2016년 2월 3일 수요일

2월 1주차 소식들..

보안

eBay의 옥션 페이지에 JavaScript 코드를 사용할 수 없게 막아둔 것을 JSFUCK이라는 기술을 이용해 우회해서 악성코드를 심는 경우가 있으니 혹시라도 모바일이나 PC에서 무언가 설치하라는 팝업이 뜨면 Cancel을 누르라는 소식.. 링크


미분류

MS가 $250M에 SwiftKey 인수.. 사용자의 SMS, 페이스북 그리고 트위터 메시지를 분석해서 문자 추천 기능을 제공하는 인공 지능 기술 회사를 구매했다고 볼 수 있는.. 링크

하드웨어

AMD의 Crimson 드라이버 16.1.1 핫픽스 드라이버의 핫픽스가 나옴.. Fallout 4 1.3 패치에서 크로스파이어 기능 버그 수정 버전인데 무려 1월 드라이버만 업데이트가 3번이나 있었다는게.. 2월 드라이버도 나오지 싶고.. RTG 스핀오프 이후 유저 피드백 응답속도가 확실히 전하고는 다른 느낌이고 덕분에 나도 버그 발견하면 열심히 피드백 중 링크

MS의 수중 데이터센터 프로젝트 Natick.. 데이터센터는 전통적으로 냉각에 비용이 많이 들기 때문에 바닷물을 이용한 냉각을 할 수 있는 수중 데이터 센터구축에 대한 연구를 진행중이라고.. 그밖에도 데이테센터 건축 기간이 보통 2년정도 걸리는데 90일이면 구축 가능하고 5년에 한번정도 물 밖으로 빼서 장비를 교체하는 것을 목표로 하고 있는 듯 하며 세계 인구의 절반 정도가 해안에 인접해서 거주하고 있기 때문에 응답시간도 개선할 수 있을거라고 .. 링크

소프트웨어

Docker 1.10에 대한 소식인데 보안과 관련해서 말이 많았던 루트 권한이 필요없는 유저 스페이스에서 동작하게 되었다는 소식.. 윈도우의 경우 자체적인 격리 기능을 가지고 있어서 이에 맞춰 추후 패치될 예정이고 네트웍 기능과 관련해서 자체 DNS 클라이언트를 포함하게 되어 더이상 /etc/hosts 수정이 필요하지 않게 되었다고.. 링크

Windows 10 인사이더 프리뷰의 Fast Ring에 Build 14257이 배포된.. 지난번 인사이더 프리뷰 설문때 Fast Ring의 업데이트 주기가 좀더 빨랐으면 좋겠다고 했더니 이젠 일주일 단위로 새빌드가 나오고 있음.. 링크

LG의 G3폰에 탑제된 스마트 공지(Smart Notice) 기능의 버그로 개인정보가 유출될 가능성이 있으니 패치를 받으라는 소식.. 사용자에게 화면을 보여줄 때 의심스러운 JavaScript 코드에 대한 체크를 하지 않아서 발생한 문제였다고.. 링크

2016년 1월 26일 화요일

1월 4주차 소식들..

미분류

A.I. 분야의 선구자인 마빈 민스키옹의 별세 소식 R.I.P. Marvin Minsky 링크

얼마전 소니의 PlayStation 관련 부문들의 통합 발표 이후 글로벌 본부를 도쿄에서 캘리포니아로 이전하기로 했다는 소식.. 링크

AMD의 Zen 아키텍쳐를 디자인하고 퇴사후 삼성으로 이직 하는 듯 했던 Jim Keller가 엘론 머스크의 테슬라 모터스의 오토파일럿 하드웨어팀의 수장으로 이직 했다는 소식.. 차량용 SoC를 밀고 있는 엔비디아에겐 좋지 않은 소식이.. 링크

하드웨어

2003-2015년 사이에 발매된 애플의 AC 아답터의 교체형 플러그 부분이 감전의 위험이 있어서 리콜 대상 이라는 소식.. 링크의 이미지와 같이 "EUR"이라는 메시지가 없으면 교체 대상이라고.. 링크

소프트웨어 

Apache Commons 라이브러리의 Java 객체 역직렬화와 관련한 보안 이슈에 대해 1년 전부터 이야기는 있었는데 페이팔에서 관련 버그가 있는 것을 인지하고 패치를 했으며 Commons 라이브러리는 3.2.2나 4.1 이상을 사용하라는 소식.. 링크

VMware가 Fusion과 Workstation팀을 날렸다는 소식... 모회사인 EMC가 델에 인수 되면서 클라우드 가상화 조인트 벤처인 Virtustream을 스핀오프 하기로 결정 되었고 데스크탑 영역의 개발팀을 날린듯 한데 해당 제품에 대한 지원은 계속 하겠다고 그러는데 믿을수가 없는게 사실;; 링크

Windows 10 빌드 14251이 Fast Ring 참가자에게 배포됨.. 설치하고 개인적으로 가장 먼저 겪은 문제는 기존에 설치했던 외부 동영상 코덱과 필터들이 사용 불가능한 상태가 되었고 파일 탐색기가 동작 하지 않는 문제를 야기해서 코덱과 필터를 모두 삭제... 링크

게임과 CGI 그리고 GPU 컴퓨트 분야의 개발자들을 돕기위한 AMD의 GPUOpen 프로젝트가 공개 되었으며 소스 코드는 깃헙을 통해 확인할 수 있다. 개인적으론 개발자 이다보니 자신이 만든것의 소스 코드를 모두 확인할 수 있는 것과 확인 불가능 한 블랙박스화 된 소스가 존재하는 것의 차이는 꽤 크다고 보며 프로그래머 라면 당연히 전자를 선호하게 되기 마련이고 장기적으로 공개된 코드의 영향력이 확대되어 가지 않을까 생각됩니다. 덧붙이자면 공개된 코드들을 이용한 새로운 플러그인들의 등장도 꽤 즐거운 볼거리가 될 것 같군요.. 링크

구글과 바이두에 이어 MS 역시 딥러닝 툴킷을 깃헙에 MIT 오픈소스 라이선스로 공개 했다는 소식 링크

2016년 1월 22일 금요일

1월 3주차 주간 소식들..

트위터엔 외국 분들이 팔로우 해주신 분들이 계셔서 관심있는 소식들은 그때 그때 링크를 트윗으로 공유하고 있는데.. 번역은 요즘 시간상 많이 부담되서 간단한 요약 정도라도 올려보자는 취지로 작성하는 글입니다. 한번에 모아서 작성하기 보다는 수시로 업데이트 하는 형태가 될 것같습니다..

조금 늦긴 했지만 첫주 포스팅을 시작하며..

1월 3주차 소식들..


미분류 카테고리

머신러닝 플렛폼 TensorFlow 소스를 공개했던 구글이 사용 방법에 대한 무료 강좌를 개설 했다는 소식.. 머신러닝 분야의 중급에서 고급 수준의 코스라고 함.. 링크

애플의 VR관련 소식인데.. 버지니아 테크의 Doug Bowman 교수를 영입 했다는 소식, 마이너리티 리포트와 같은 3D 사용자 인터페이스 생성과 관련한 경험이 풍부한 분인듯 한데 애플의 기존 하드웨어 구성이나 행보를 봐선 게이밍과 같이 하드웨어 성능을 크게 요구하는 시장보다는 일반적인 멀티미디어나 일상 생활과 연관된 제품을 연구하고 있는게 아닌가 싶음.. 링크

소프트웨어

구글의 V8 자바스크립트 엔진에서 동작하는 Node.js 프로젝트에 MS에서 얼마전 소스를 공개한 엣지 브라우저의 ChakraCore 엔진에서도 Node.js가 동작하게 해달라는 요청을 했다고.. 이는 삼성과 마찬가지로 IoT 환경에서 자바스크립트 앱을 사용할 목적으로 보인다는 소식.. 링크

모질라 재단의 언어인 Rust의 1.6 Stable 버전이 발표됨 링크

구글의 새로운 압축 알고리즘인 Brotli가 크롬 49 버전에서 기존의 정적 컨텐츠 압축용도의 Zopfli를 대체할 것이라고.. 파이어폭스 44도 탑제 예정이고 MS도 엣지 브라우저에 도입 고려중이라는 소식.. 링크

Windows 10 Fast Ring 참가자 대상으로 Build 11102가 배포 되었다는 소식. RedStone 빌드 넘어오면서 AMD 그래픽 카드의 Radeon Settings 쪽이 정상 동작하지 않는 기능들이 있는데 알려진 문제의 그래픽 스택쪽 버그랑 연관이 있는건가 싶기도.. 링크

2015년 12월 30일 수요일

AMD의 VSR + Fluid Motion 을 이용한 4K 60FPS 영상 감상

먼저 VSR과 Fluid Motion에 대해 간단히 소개 하자면 VSR은 Virtual Super Resolution의 약어로 모니터에서 정식으로 지원하지 않는 더 높은 해상도로 렌더링 해서 보여주는 기술입니다. 얻을 수 있는 장점은 안티앨리어싱(Anti-Aliasing, 이하 AA) 기능을 사용할 때와 비슷한 보정 효과를 얻을 수 있으며 개인적으로는 해상도를 높이는 쪽이 퍼포먼스 면에서 유리한 편이라 VSR기능을 AA보다 선호하는 편입니다. VSR 기능을 지원하는 비디오 카드는 다음과 같습니다.
  • AMD Radeon™ R9 Fury X
  • AMD Radeon™ R9 300 시리즈
  • AMD Radeon™ R7 300 시리즈
  • AMD Radeon™ R7 260 이상
  • AMD Radeon™ HD 7900 시리즈
  • AMD Radeon™ HD 7800 시리즈
  • AMD Radeon™ HD 7790과 AMD A 시리즈 APU들 (A6 7400K 이상)
모니터의 해상도에 따라 지원되는 VSR 해상도 역시 다르며 사용 가능한 VSR 해상도 목록은 다음 링크에서 확인 가능합니다. 일반적으로 4K라고 부를 수 있는 해상도인 3840 X 2160이나 3840 X 2400 해상도가 지원되는 경우는 모니터가 1920 X 1080 @60Hz이거나 1920 X 1200 @60Hz 이면서 GPU는 통가코어(R9 285, R9 380, 380X)나 퓨리 계열인 경우만 지원 된다고 되어 있습니다. 물론 꼭 4K가 아니더라도 VSR을 이용 가능하다면 업스케일 된 해상도를 이용하는 장점을 얻을 수 있습니다.

Fluid Motion 기능의 경우 Catalyst Omega(14.12) 이후 지원하기 시작한 기능으로 GCN 기반 카드의 경우 지원하는 것으로 보이며 일반적인 영상은 대부분 초당 24프레임으로 보여지지만 GPU를 이용해서 중간에 필요한 화면이 추가적으로 생성 된 60프레임으로 보여지도록 하는 기술입니다.

기능을 이용하기 위해 개인적으로 사용중인 소프트웨어 리스트는 다음과 같습니다.
세팅에 대해 살펴보면 먼저 K-Lite 코덱팩은 Mega 버전을 풀 패키지 설정으로 설치(설치 중간에 협찬 소프트를 같이 설치할 것인지 물어오는데 설치하지 않음으로 선택하면 코덱팩만 설치가능 합니다.) 하고 Default 옵션으로 세팅 하였습니다. 그렇기 때문에 비디오 플레이어는 Media Player Classic- Home Cinema(이하 MPC-HC) 버전에 렌더러는 Enhanced Video Renderer(이하 EVR) 코덱은 LAV 비디오 코덱을 이용하게 됩니다. Bluesky Frame Rate Converter는 MPC 플레이어나 다음의 팟플레이어에서 Fluid Motion 기능을 사용할 수 있도록 해주는 필터입니다.

2015년 8월 10일 월요일

Java의 stack size에 대해..

참고 : http://stackoverflow.com/questions/20030120/java-default-stack-sizehttp://stackoverflow.com/questions/10481528/in-java-which-objects-are-put-on-the-stack-and-which-on-the-heaphttp://stackoverflow.com/questions/6366211/what-are-the-roots

JVM의 VM 옵션의 -XX옵션 중에 ThreadStackSize라는 스택의 크기를 지정할 수 있는 옵션이 있다(JRockit의 경우 -Xss). JVM은 Java 메소드 호출 정보와 Native 메소드 호출 정보를 저장할 장소가 필요한데 JVM에 따라 둘을 한 스택 프레임에서 관리하는 경우도 있고 분리해서 관리하는 경우도 있다.  따라서 여기서 지칭하는 스택은 자바에서 각각의 쓰레드(thread)별로 최소 1개 이상 할당되는 저장소를 가리킨다.

스택의 기본 크기는 플렛폼에 따라 다르며 신규 쓰레드가 생성되면 정해진 스택사이즈의 메모리 공간이 힙(heap)과는 별도의 공간을 이용하여 각각의 쓰레드에 할당되게 되는 것이다.

-XX:ThreadStackSize=512 Thread Stack Size (in Kbytes). (0 means use default stack size) [Sparc: 512; Solaris x86: 320 (was 256 prior in 5.0 and earlier); Sparc 64 bit: 1024; Linux amd64: 1024 (was 0 in 5.0 and earlier); all others 0.]

쓰레드에 할당된 스택에는 지역변수, 파라메터, 반환주소 등을 기억하며 일반적으로 객체는 저장되지 않으며 참조 주소만 기억하게 된다. 이와 같은 특성을 가지고 있기 때문에 스택에 저장되는 원시타입(primitive type) 데이터가 많다면 array와 같은 컬렉션 객체로 관리하게 되면 스택에 저장되는 데이터의 사이즈를 줄일 수 있을 것이다.

이와 관련하여 예외가 존재하긴 하는데 그럴 경우 장점은 스택은 캐쉬될 가능성이 높기 때문에 지역변수에 대해 캐시의 지역성을 높여 접근시간을 줄이고 힙에서 관리할 데이터를 줄여 가비지 컬렉터(gargabe collector)를 덜 바쁘게 하는 효과와 싱글 쓰레드 액세스가 보장되기 때문에 쓰레드 잠김(locking)과 관련한 체크가 필요없어지는 장점을 얻을 수 있다고 한다. 그밖에 참고할 만한 자료로 상단 링크의 Escape Analysis 항목이 도움이 될 것이다.(일단 글의 주제는 스택 사이즈이다보니..-_-;;)

스택의 크기 설정과 관련해서 발생할 수 있는 문제가 몇가지 있는데 만약 스택의 크기를 크게 잡았을 때 쓰레드가 기하급수적으로 늘어난다면 OutOfMemory 오류를 접할 수 있을 것이고 반대로 너무 작게 잡은 상태라면 쓰레드에서 기억해야 하는 데이터의 크기보다 스택의 크기가 작아 StackOverFlow 오류를 보게될 수 있다.

마지막으로 사용된 스택 프레임은 해당 쓰레드가 종료되면 자동으로 제거 되게 될 것이다..

2015년 6월 20일 토요일

최근 IT 업계의 흐름을 지켜보며..

원래 예전 같으면 ATiMania.com에 올렸을 법한 글이지만.. 사이트가 사라진 관계로 블로그에..

한참 사이트 운영에 심취해 있을때는 하루에 보통 10개 이상의 기사를 번역하곤 했었는데 정보의 생산자 입장에서 소비자 입장으로 전환하고 나서 부터 피드를 통해 하루에 소비하는 기사가 평균 2-300개 정도 되는 것 같다. 보통 헤드라인만 보고 지나가고 관심이 가는 내용만 글을 스키밍 해서 읽는 편인데 여튼 최근 기억나는 몇가지를 적어보려고 한다.

사실 요즘 과열된 IT 시장을 보면 과거 IT 버블때와 비슷한 느낌도 들기는 하지만 그때와는 조금 다르다는 생각이 드는게 버블 붕괴 당시는 IT 동력이 바닥나서 거품이 한번에 빠져나가는 양상이었는데 요즘은 새로운 기술과 트렌드가 끊임없이 나오고 있다는게 가장 큰 차이인 것 같다.

최근 인텔의 알테라 인수와 관련해서 구글, 페이스북, 트위터와 같은 거대 인터넷 회사를 중심으로 커스텀칩 수요가 증가하고 있다는 것을 알게 되었는데 비트코인 마이닝을 해본 경험이 있다면 범용인 GPU의 OpenCL 연산을 이용하는 것 보다 마이닝 연산에 특화된 FPGA 칩이 퍼포먼스와 전력소모 면에서 월등히 앞선다는 것을 알고 있을 것이다. 이와 마찬가지로 검색이나 추천서비스와 같은 특정 서비스에 특화된 연산을 수행할 수 있는 칩을 이용하여 데이터센터를 구축할려는 움직임이 있는 것 같다.

사실 AMD의 경우 최근 소니의 PS4와 마소의 XBOX ONE의 커스텀칩 제공을 통해 이시장에 먼저 발을 담그긴 했는데 어떤식으로 대응해 나갈지는 아직 미지수인 상태이지만 FPGA 진영의 다른 업체인 자일링스와 협력을 하게될 가능성도 있어보인다. 예전에 아수스에 인수될 예정이었던 기가바이트가 불현듯 다시 독립을 선언한 적이 있었는데 구글의 데이터센터에 제품을 납품하던 시절이랑 얼추 비슷했던걸로 봐서 어쩌면 커스텀칩 시장이 AMD가 다시 살아날 수 있는 기회가 될 수 있을지도 모르겠다는 생각이 든다.

AMD의 경우 거듭되는 CPU 시장에서의 실패로인해 재정적으로 고통받고 있고 그나마 올해 이후의 전망이 조금 나아질 것으로 보인다. 2005년 즈음이었나 과거 X1K 제품을 소개했을때 CTM(Close to Metal)이라는 개념을 선보였는데 간략히 설명하자면 과거 ATi의 필 로저스 아저씨가 소개한 것과 같이 GPU를 좀더 프로그래밍 가능하게 만들어 CPU를 사용하듯 GPU도 좀더 다양한 상황에서 써보자는 개념이었는데 이제서야 소프트웨어 적인 지원이 충분히 갖춰진 상황이라고 해야할까.

기본적으로 GPU는 CPU와 다르게 매우 많은수의 병렬 파이프라인 구조를 갖고 멀티쓰레드 연산에 특화되어있다. 그리고 3D 그래픽 연산의 특성상 부동소수점 연산을 주로 수행하며 CPU와는 다른 분야에서 강점을 보이며 둘은 상호 보완적인 관계이다. 최근 하드웨어 구성의 추세는 하나 이상의 GPU를 갖는 시스템이 증가하고 있다는 점인데 기존에는 멀티 GPU의 활용이 동일 벤더의 동등한 퍼포먼스의 칩을 사용하지 않으면 연산된 결과물을 합치는 동기화 작업이 불가능 했는데 이런 문제가 최근 발표된 애플의 메탈, 크로노스의 불칸 그리고 마소의 DX12에서 비동기 렌더링 기술을 통해 해결된 상태이기 때문에 외장 GPU 사용 시 잉여스럽던 내장 그래픽의 활용도가 증가할 것으로 보인다.

올해 하반기 출시 예정인 애플의 OSX 엘 카피탄 그리고 마소의 윈도우10이 그동안 하드웨어의 발전을 따라오지 못하던 소프트웨어 시장에 어떤 변화를 이끌어낼 수 있을지가 기대된다.

2015년 5월 21일 목요일

IFTTT로 Slack 채널에 날씨정보 알리기

이 글은 일종의 잡 스케줄러 혹은 이벤트 트리거를 웹과 모바일에서 손쉽게 구현할 수 있는 IFTTT(IF This Then That)를 이용하여 팀챗 툴인 Slack의 특정 채팅 채널에 날씨 정보를 리포팅하는 방법을 다루고 있습니다.

기본적인 IFTTT의 활용법을 다루고 있지만 이를 응용하여 IFTTT와 연동되는 여러 서비스를 이용한 자신만의 서비스를 손쉽게 만들 수 있습니다.

"This"를 이용하여 "That"에 어떤 동작을 할것인지는 Recipe라는 항목에서 생성할 수 있는데 This와 That에 해당하는 항목이 바로 Channel이며 이를 이용하기 위해서는 먼저 자신이 원하는 채널을 설정을 해야합니다.

다음은 Weather 채널을 설정하는 절차입니다.


로그인 후 Channels 항목을 확인합니다.


Liftstyle 항목에 Weather channel이 존재하는 것을 확인 할 수 있습니다.(이미 연동된 상태에서는 이미지 하단에 CONNECTED라고 표시 됩니다)

채널을 클릭하면 Connect 버튼이 보이며 이를 클릭하면 다음과 같은 화면을 볼 수 있습니다.


원하는 지역의 이름을 이용하여 검색 후 Connect 버튼을 누릅니다.

이와 마찬가지로 Slack의 채널을 설정합니다.

자신이 이용중인 Slack 계정의 정보를 이용하여 IFTTT와 연동 시킵니다.

자 이제 Recipe를 생성할 차례입니다.


이미지에서는 이미 해당 레시피가 생성된 상태일때의 모습이며 Create a Recipe를 클릭합니다.


이제 this와 that 항목에 앞서 설정한 채널을 지정하는 일이 남았습니다. this를 클릭하여 이벤트 발생 조건을 선택합니다.


제공되는 이벤트 발생 조건은 다음과 같으며 여기서 오늘의 날씨 리포트를 선택하였습니다.



원하는 시각을 설정하고 Create Trigger를 클릭합니다.

이제 that 항목에 어떤 동작을 할 것인지 설정할 차례입니다.



Slack 채널에 메시지를 포스팅하는 액션을 선택합니다.


메시지를 포스팅 할 채널과 메시지 내용에 대한 설정을 완료한 후 Create Action을 선택합니다.


자 이제 마무리 단계입니다. 생성한 레시피가 어떤 동작을 하는지 간단한 정보를 타이틀에 기술하고 해당 레시피가 동작할 때 알림을 받을 것인지 선택한 후 Create Recipe를 선택하여 레시피 생성을 완료합니다.

이제 등록된 레시피를 통해 매일 아침 7시면 등록한 채널에 오늘의 날씨 정보가 자동으로 포스팅 되는 것을 확인하실 수 있을겁니다.

My Recipes 항목을 통해 자신이 생성한 레시피 정보에 대한 수정이나 삭제와 같은 관리 기능 또한 제공됩니다.