본문 바로가기

잡학다식/IT 컬럼

(9)
Microsoft Congnitive Toolkit 알아보기! Microsoft Cognitive Toolkit (CNTK)는 마이크로 소프트에 오픈소스 딥러닝 툴킷이다. ​올해에 가장 HOT한 IT분야는 누가 뭐라고 해도 AI 분야인 것 같다. 수없이 많이 쏟아 지는 지식 공유의 장인 세미나의 주제들만 보아도 쉽게 알 수 있고 여러 언론 매체에도 빠지지 않고 등장하는 주제 이다. 다양한 통로를 통해 AI에 한걸음 다가가 살펴 보자. AI가 적용된 다양하고 폭넓은 사례에 대해 알아가고 AI기술의 매력을 알아 갈수록 많은 문제를 해결해 줄 것 같은 마법과도 같다고 느낄 것이다. 이와 같이 많은 시선의 집중은 그만큼 관련 분야의 기술이 빠르게 변화하고 발전하고 있다는 것을 말한다. ​특히 요즘 AI 기술에 발전 방향을 살펴 보면 '보다 쉽게 보다 효율적으로' 인 것 같..
NVIDIA DIGITS 알아보기! 시간이 갈 수록 머신 러닝의 인기가 하늘을 찌르고 있다. 많은 분야에 빠르게 녹아 들어가고 있는 머신 러닝 기술을 보면 더 이상 일시적인 유행이라 보기는 힘들다. 모여드는 관심 만큼 빠르게 발전할 것이며 기술은 견고해져 갈 것이다. 가까운 미래에는 아마 머신 러닝이 적용되지 않은 분야를 찾아보기 힘들 정도로 머신 러닝은 넓고 빠르게 퍼져 갈 것이다. ​기술이 발전하면서 점점 그 기술을 쉽게 사용할 수 있는 툴들이 많이 태어난다.이렇게 나온 툴들 덕분에 쉽게 기술에 접할 수 있게 되면서 기술에 문턱이 낮아지게 되면 그 기술을 많은 사람이 찾게 된다. 그리고 이렇게 모여든 사람들이 힘을 모아 그 기술을 더욱 훌륭하게 발전시켜 나아가게 된다. 오랫동안 사랑 받아온 기술들은 이와 같은 패턴을 공통적으로 가지고 ..
NSML 네이버 딥러닝 클라우드 플랫폼 알아보기! [NAVER에 CLAIR(CLova AI research)에서 사용하고 있는 AI개발자 실험을 돕는 온라인 도구] AI 연구를 도와주는 많은 도구들이 탄생하고 있습니다. Tensorflow, Caffe, Pytorch등 다양한 Framework의 탄생으로 AI분야의 기술들은 하루 하루 엄청난 속도를 더해 발전해 나아 가고 있죠. 이러한 도구들 없이 머신 러닝을 연구한다는 것은 쉽게 상상 할 수 없는 일이 되어버렸습니다. 만약 위와 같은 도구들이 없었다면 머신러닝 분야는 이와 같이 발전할 수 있었을까요? 수많은 연구원들이 매번 복잡한 수식들을 직접 코드로 옮기다 지쳐 하나 둘 뒤돌아 섰을 것이고 사람들의 관심이 점점 식어 머신러닝 분야는 다시 빙하기를 겪었을지도 모릅니다. 이와 같이 편리한 Framewor..
블록 체인이란? ​ 블록 체인이란 ? 여러 의사 결정권자들이 참여한 일이 있다고 가정하자. 중요한 일이 일어날 때 마다 블록에 기록하고 이렇게 발생한 블록을 체인으로 연결하여 관리한다. 이렇게 체인에 연결된 블록 정보들은 이 일에 관련된 모든 의사 결정권자들에게 모두 공개 된다. 간략하게 블록 체인에 대해 위와 같이 쉽게 글로 표현해 보았다. 물론 블록 체인이라는 기술안에는 다양한 개념들이 들어가 있다.더 깊이 있는 기술적인 정보를 얻고자 한다면 아래 URL을 통해 학습하길 바란다.(한빛 미디어 : http://www.hanbit.co.kr/media/channel/view.html?cms_code=CMS6102653917)(네이버 : http://d2.naver.com/helloworld/8237898)블록 체인의 핵..
[IT 첫걸음] JAVA8편 람다(lambda) ​ 1. 람다 표현식(lambda)은 나중에 한번 이상 실행할 수 있도록 전달할 수 있는 코드 블록이다. - 과거에 자바는 어딘가에 코드 블록을 전달하는 일이 쉽지 않았다.(즉, 단순히 코드 블록을 전달할 수 없음.) 자바는 객체지향 언어기 때문에, 원하는 코드가 있는 메서드를 포함하는 클래스의 객체를 생성해야했음. 2. 람다 표현식 문법 - (파라미터, 화살표->,표현식) * 예 : (String first, String second) -> Integer.compare(first.length(), second.length()) * 자바는 타입 결합이 강한 언어기 때문에 타입도 지정해야함. - 표현식 하나로 표현할 수 없는 계산은 중괄호{}를 사용하고 명시적 return문 사용. *예 : (String ..
[IT 책갈피] Spring Framework 3.x -> 4.x Web Application migration Spring Framwork 3.x에서 4.x로 웹어플리케이션 갈아타기 Spring Framework 3.x 기반으로 개발된 웹어플리케이션에서 Servlet 3.0, Spring Framework 4.x 버전으로 갈아타는 법을 함께 해보자. [JAVA8과 만나고 싶다면 피할 수 없는 작업이다. JAVA8은 Spring Framework 4.x에서만 지원되고 있다.] 1. 메이븐 형식의 프로젝트, pom.xml파일에 서블렛 버전 설정하기 2. web.xml파일에 version 업데이트 및 xsd 파일 수정. 3. pom.xml에 Spring Framework의 라이브러리(jar)를 4.x로 설정한다. 4. 스프링 Context설정 파일의 스키마 로케이션 정보 업데이트(spring-servlet.xml 파일..
[IT 첫걸음] 보기 좋은 코드가 고치기도 쉽다. 구성이 잘 짜인 책을 만나면 왠지 모르게 기분이 좋고 한 장 한 장 넘기는 것이 수월하다. 반대로 문장 구조가 엉망인 글을 만나면 몇 번을 다시 봐야 하고 그 후에도 찜찜함이 남는다. 코딩도 마찬가지다. 이 책에서는 구성이 잘 짜인 코딩이 '눈을 편하게' 한다고 표현하고 있다. [편한 소스 코드 작성에 세 가지 원리] *코드를 읽는 사람이 이미 친숙한, 일관성 있는 레이아웃을 사용하라.*비슷한 코드는 서로 비슷해 보이게 만들어라.*서로 연관된 코드는 하나의 블록으로 묶어라. [여러 블록에 담긴 코드가 모두 비슷한 일을 수행하면, 실루엣이 동일해 보이게 만들어라.] 우리는 많은 '추측'들과 함께 살아가고 있다. 길을 지나가다 작고 동그란 원반 모양의 은색척을 본다면 발걸음을 멈출 것이다. 우리는 머릿속으로..
[IT첫걸음] 코딩 작명 비법 "이름으로 소통하기!!" 변수, 함수, 클래스등의 이름을 결정할 때 정보를 담아 보자!변수, 함수, 클래스의 이름이 곳 다른 사람과의 소통이기 때문이다. 1. 아무 생각없이 손에 익은 이름을 타이핑 하기 전에 더 명확하게 의미를 전달 할 수 있는 단어가 없는지 생각해 보자. send => route, announce, deliver...find => search, recover...start=> launch, create ...make -> create, set up, add, new.. 센스 넘치고 은유적인 단어는 시나 편지에 쓰고 프로그램에 쓸 이름은 명확, 간결, 담백하게 쓰자!! 2. 흔해 빠진 고민 없는 이름 피하기 temp, ret 등과 같은 이름으로 변수 혹은 함수의 목적을 자신만 알게 쓰지..