CyberImagination BLOG 219

기계학습과 선형 회귀 분석(1)

1. 기계학습 (Machine Learning) 의 의미1.1 기계학습 (Machine Learning) 이란?어떠한 일을 예측할 때 수많은 규칙들이 존재하여 모든 경우를 예상할 수 없습니다. 예측하는 방법을 일일이 프로그래밍하지 않고 어떤 자료와 현상에서 자동적으로 배우게 하는 것이 바로 기계학습입니다. 자체적으로 데이터를 보고 학습해서 뭔가를 배우는 능력을 갖는 프로그램을 기계학습이라고 할 수 있습니다. 1.2 학습 (Learning)의 종류학습을 하기 위해선 데이터가 필요합니다. 학습은 방법에 따라 지도(Supervised)학습과 비지도(Unsupervised)학습 2가지 종류로 나눌 수 있습니다.. 1.2.1. 지도 학습 (Supervised Learning)지도 학습은 레이블이 주어진 데이터를 ..

유용한 정보 2018.08.24

모바일 터치 디자인하기(2)_폼 디자인

많은 사용자들이 PC보다 손쉽게 접속할 수 있는 모바일로 회원가입을 하고 정보를 제출하기 위해 모바일의 폼 디자인을 사용하고 있습니다. PC와는 다른 모바일 폼 디자인에 관련해 살펴보고자 합니다. 폼 필드입력 필드 최소화PC 디자인과 동일하게 모바일에서 폼 필드를 제공할 경우 많은 입력 폼에 지친 사용자의 페이지를 이탈할 가능성이 높아집니다. PC에서는 필요한 정보 이외에 선택적인 정보도 요구하지만 모바일에서는 꼭 필요한 정보만 입력하도록 만들어야 합니다. 또한 입력 필드를 최소화하고 구간을 나누지 않는 편이 좋습니다. 예를 들어 핸드폰 번호를 입력할 경우 필드 구간을 나누어 놓으면 사용자는 숫자를 누른 후 다음 입력 필드를 터치 후 다시 입력하는 행동을 여러번 거쳐야하기 때문에 특별한 사유 없이는 구간..

유용한 정보 2018.08.17

Cordova 플러그인 만들기

플러그인이란?플러그인(Plugin)은 Cordova로 작성된 하이브리드 앱에서 Native 기능을 사용하기 위해 작성한 코드의 패키지 입니다. 일반적으로는 웹뷰에서 사용할 수 없는 Native 기능들을 Plugin은 JavaScript 인터페이스와 함께 제공합니다. Cordova 플러그인 사전 준비과정Cordova Plugin 개발을 위해서는 Cordova 에서 제공하는 Plugman 모듈이 필요합니다. Plugman은 Nodejs의 npm 또는 yarn으로 설치를 하게 됩니다. 본 문서에서는 npm으로의 설치를 사용합니다.plugman을 전역에서 사용할 수 있도록 -g 옵션을 주어 설치했고, 설치 직후 plugman -v 명령어를 통해 설치 여부를 확인 할 수 있습니다.또한 플러그인은 실제 Native..

앱 개발 2018.07.13

모바일 터치 디자인하기

우리가 알고 있듯 모바일의 입력 장치는 손가락입니다. 이는 데스크탑의 마우스 커서와 달리 한계점이 존재하며 손가락 제스쳐 마다 기능과 특징이 존재합니다. 모바일(휴대용 터치 스크린) 디자인에서 가장 고려해야 할 부분인 모바일 터치에 관련해 살펴보고자 합니다. 엄지손가락의 법칙(The Rule of Thumb)2013년 스티븐 후버의 13,000명의 핸드폰 사용 관찰 연구에서 한 손으로만 사용하는 경우 49%로 가장 많고 한 손으로 핸드폰을 받치고 다른 손으로 화면을 탭을 하는 경우가 36%, 양손을 이용하는 경우가 15%로 핸드폰 사용하는 습관에 대해 알 수 있습니다. [스마트폰 사용방식][엄지손가락 사용 비율] 스마트폰 사용방식 중 엄지 손가락 사용률을 보면 75%가 되는데, 이는 대부분의 사용자가 핸..

유용한 정보 2018.07.06

Airbnb Lottie

1. 배경 스마트 폰 앱, 웹뿐 아니라 PC 웹사이트에서도 적재적소에 사용하는 마이크로인터렉션 요소들은 사이트의 퀄리티를 높이고 방문자의 흥미를 유발하는데 큰 역할을 합니다. 하지만 디자이너의 역량을 필요로 하는 결과물을 효율적으로 프로젝트에 적용시키기 위해서는 여러 난제들을 극복해야 하는데 기술적인 문제와 더불어 소통의 문제도 무시 할 수 없는 요소입니다. 디자이너와 개발자 간의 간극을 줄이고 수준 높은 결과물을 얻기 위한 방법이나 어플리케이션의 필요성은 늘 제기되어 왔습니다. 이러한 분야에 관심을 가지고 리서치 한 결과 Airbnb에서 자체 개발한 어플리케이션을 접하게 되었습니다. l 프로젝트 진행 시 인터렉션 모션 구현이 어려운 이유개발자의 입장에서 원하는 모션그래픽을 만들기 위해서는 전문 디자인 ..

유용한 정보 2018.07.02

사내 IaaS 구축하기

1 오픈스택이란 IT 개발자로 일을 하다 보면 클라우드 컴퓨팅이란 단어는 한번쯤 들어 보셨을 겁니다. 클라우드 컴퓨팅이란 쉽게 말해 네트워크가 가능한 디바이스를 통해 클라우드라는 공간에서 데이터를 읽고 처리하고 관리하는 시스템을 말합니다. 클라우드 컴퓨팅의 종류로는 서비스에 따라 IaaS, PaaS, SaaS로 구분됩니다. IaaS(Infrastructure as a Service)는 서버, 스토리지, 네트워크를 가상화 시켜 필요한만큼 인프라 자원을 사용할 수 있게 제공하는 서비스입니다. AWS(Amazon Web Service)를 생각하면 됩니다. PaaS(Platform as a Service)는 개발을 위한 플랫폼이 미리 구축되어 있고 이 플랫폼 위에서 개발 및 배포를 쉽 게 해주는 서비스를 말합니..

백엔드 2018.06.25

Ethereum_dApp_4_개발하기(2)

이전 포스팅에서 TestRPC 블록체인에 컨트랙트를 발행하는 것에 이어서 진행하겠습니다.이전 포스팅 내용을 다시 보고 싶다면, '다시보기'를 클릭해주세요. 다시 Spring Boot 로 돌아와서 /src/main/resources/static 경로에 js 폴더를 만들고 script.js 라는 파일을 생성합니다.그럼 JSP 에서 경로 설정 시 다음과 같이 추가해주면 되겠습니다. 또한 js 파일에서 web3.js 이라는 라이브러리를 사용하기 위해 해당 구문을 추가해줍니다.web3.js ? web3.js 는 Ethereum Compatible JavaScript API 로 이더리움과 자바스크립트 간 호환이 가능하도록 기본적인 기능 또는 여러 함수들을 묶어 놓은 라이브러리 입니다. web3.js 는 자바스크립트..

유용한 정보 2018.06.20

Ethereum_dApp_3_개발하기(1)

이전 포스팅에서 스마트컨트랙과 dApp 개발환경 구축을 완료하였으므로 개발을 시작해보도록 하겠습니다. Ethereum_dApp_2_스마트컨트랙트와 dApp, 개발환경 구축하기에 대한 2편 내용을 다시 보고 싶다면, '다시보기'를 클릭해주세요. 6. 개발 시작하기 간단한 웹 프로젝트를 구현하기 위해 Spring Boot 를 사용하였습니다. Spring Boot 설치 등의 설명은 잘 되어있는 타 사이트들이 많기 때문에 생략하도록 하겠습니다. (설치 및 설정 참고 : http://millky.com/@origoni/post/1100?language=ko_kr ) 우선 STS 의 Spring Starter Project 를 선택한 후 새 프로젝트를 생성해줍니다. 저는 빌드 도구로 Gradle 이 아닌 Maven..

유용한 정보 2018.06.15

Fabric에 대해 살펴보겠습니다.(3편)

앞의 내용에서 Hyperledger Fabric을 사용하기 위한 환경 설정을 하였습니다. 이제 Fabric에서 Smartcontract의 기능을 하는 Chaincode와 Fabric-Java-SDK에 대해서 알아보도록 하겠습니다. Hyperledger Fabric 시리즈물을 살펴보고 싶다면, 글 하단의 링크를 참고해주세요. 1. ChainCode Chaincode는 지정된 인터페이스를 구현하는 Go로 작성된 프로그램 입니다. Chaincode는 검증된 피어 프로세스에서 실행됩니다. 지금 이 환경의 경우 Peer로 생성된 Docker내에서 실행되며 Chaincode는 응용 프로그램에서 제출 한 트랜잭션을 통해 원장 상태를 초기화 하거나 관리합니다. 2. Chaincode 작성 모든 체인 코드 프로그램은 수..

유용한 정보 2018.06.07

Ethereum_dApp_2_스마트 컨트랙트와 dApp, 개발환경 구축하기

이전 내용에서 블록체인과 이더리움에 대한 개념을 알아보았다면, 이번에는 스마트 컨트랙트와 dApp, 개발환경 구축에 대해 살펴보겠습니다. Ethereum_dApp_1_블록체인과 이더리움에 대한 1편 내용을 다시 보고 싶다면, '다시보기'를 클릭해주세요. 3. 스마트 컨트랙트(Smart Contract) 이더리움을 보다 보면 빠질 수 없는 것이 이 스마트 컨트랙트입니다. 스마트 컨트랙트는 미국의 컴퓨터 과학자인 Nick Szabo가 1994년 최초 제안한 개념입니다. 기존 계약(Contract)은 서면으로 되어 있어 계약 조건을 이행하려면 실제 사람이 계약서대로 수행을 해야 하지만 디지털로 계약을 작성하게 되면 조건에 따라 계약 내용을 자동으로 실행할 수 있다고 주장한 것입니다. 디지털로 된 계약서는 조건..

유용한 정보 2018.06.01