CyberImagination BLOG 217

Git merge, rebase 이해하기

Git merge, rebase 이해하기. 지난번 포스팅에서 git workspace가 어떤 구조로 이루어져있는지 살펴보았습니다. 또, 서로 다른 branch끼리의 병합에 대해서 살짝 다루었습니다. 다른 형상관리툴들과는 달리 git은 branch를 생성할 때 파일을 복사하는 것이 아니라 파일의 스냅샷만 가지고 생성하기 때문에 자원의 부담없이 branch를 만들어 사용할 수 있습니다. 이러한 장점때문에 git으로 작업을 할 때에는 다양한 용도의 branch를 만들어 사용하는데, 이번 포스팅에서는 이러한 작업에서 필수적인 branch를 병합하는 2가지 방법의 원리와 차이에 대해서 살펴보겠습니다. Merge branch를 병합할 때 가장 많이 쓰이는 기능입니다. 사실 merge와 rebase를 구분하지 않고(..

백엔드 2016.07.29

ajax 개미지옥 callback hell !!!

javascript 에서 ajax를 통한 비동기 식으로 개발을 하다 보면 callback 함수로 인해 다들 엄청난 스트레스를 받았을것으로 예상된다. 이 callback함수로 인해 코드의 복잡성이 증가하고 가독성은 말할것도 없다. 다음과 같은 시나리오를 보자 1. /test/returnValue.jsp?value=1 을 호출 2. 리턴 값이 1이면 /test/returnValue.jsp?value=2 호출 3. 리턴 값이 2이면 /test/returnValue.jsp?value=3 호출 4. 리턴 값이 3이면 정상 alert5. 각 상황시 조건이 맞지 않으면 실패를 alert 이와 같은 형태의 시나리오는 우리가 개발을 하다 보면 종종 맞닥뜨리는 상황이다. 다음의 상황을 jQuery의 ajax를 통해 일반적..

프론트엔드 2016.07.15

Raphael로 웹에 낙서를 해봅시다. -TEXT편-

안녕하세요?DJ.VUD 입니다. 지난시간에 Raphael.js 에 대한 기본적이고 기초적인 내용에 대해서 알아보았습니다.(http://cyberx.tistory.com/85) 이번에는 TEXT 에 대하여 알아보겠습니다. TEXT 생성일단 TEXT는 크롬:개발자 도구로 살펴볼때 이러한 형태를 가지고 있습니다. 마치.. 에 을 넣어 style로 관리하는 모양새랑 비슷합니다. Raphael TEXT를 만드는 방법은 아주 간단합니다. var text = paper.text( x좌표, y좌표, '텍스트 입력'); TEXT도 다른 도형 또는 path와 마찬가지로 기본 색상은 검정색입니다.폰트명은... 크롬에서 기본만 딱 그려봤습니다. 폰트명은 Arial이고 폰트크기는 10px 입니다. (브라우저마다 폰트모양은 조금..

프론트엔드 2016.07.14

API 서비스 개요 및 Business 관점의 특징

2015년 BCS(Chartered Institute for IT)는 간부급 IT전문가 350명을 대상으로 향후 12개월의 단기 계획과 3~5년간의 중장기 계획을 조사했는데 향후 12개월 동안 대다수의 기업에서 우선순위가 높은 3개로 정보보안(60%), 클라우드 컴퓨팅(55%), 모바일 컴퓨팅(53%)이 꼽았습니다.그러나 회사가 우선으로 하는 IT동향과 경영 문제를 해결할 만한 충분한 자원이 없다고 느낀다는 IT임원이 무려 92%나 됐었고, 조사에 응한 IT임원의 절반 이상인 53%는 기존 인력 가운데 고급 IT인력과 충분한 자격을 갖춘 IT인력들이 현재와 동일한 수만큼 더 필요하다고 답했습니다. 충분한 인력 자원을 보유하고 있다고 말한 응답자는 8%에 불과했습니다.위에서 볼 수 있는 대부분의 IT 관리..

프론트엔드 2016.07.04

JAVA exception 처리하기

JAVA exception 처리하기 안녕하세요, cx 사업본부 박토끼입니다. 요즘 일을 하면서 계속 머리속에서 드는 의문이 하나 있었습니다. "예외 처리를 어떻게 해야 잘 처리하는 것일까?" 사실 Java를 처음 배울 때는 exception에 그다지 민감하지 않았습니다. 단순히 '잘못되어서 에러가 나는구나.' 정도의 생각만 했습니다. 그리고 throw 키워드나 try~catch 블럭을 사용하면서도, IDE 툴에서 빨간색 표시로 잘못되었다고 에러가 뜨고 컴파일 자체가 안되니까 해줘야된다는 생각뿐이었습니다. 그리고 일을 시작한 후에도 exception 처리가 왜 필요한지 느끼지 못했습니다. '에러가 나는 것 자체가 문제이니, 에러가 안나게 로직을 완벽히 수정하는 것이 옳다. 그러면 exception 처리는 ..

백엔드 2016.07.01

DBridge for serverless architecture

Serverless Architecture 최근 Software 업계에서는 MSA(Micro Service Architecture)가 떠오르면서 이를 구현하는 방법으로써 Serverless architecture(서버리스 아키텍처)라는 주제가 아주 핫합니다. 이미 관련 서적과 컨퍼런스도 활발하게 생겨나고 있으며, 오픈소스 프레임워크와 함께 많은 유명한 업체들이 AWS, Azure, Google cloud 등의 프레임워크 서비스를 내놓고 있고 사용자 그룹이 형성되는 등 업계의 관심이 뜨겁습니다. Serverless에 대해 아직 명확하게 정의된 개념은 없지만 Martinfowler의 블로그를 인용한다면 아래와 같이 정리될 수 있을것 같습니다. What is Serverless? Serverless was f..

Raphael로 웹에 낙서를 해봅시다.

RaphaelJS는?RaphaelJS는 IE8 이하의 브라우저에서 SVG를 사용하게 하기위한 오픈소스 라이브러리 입니다. 즉, 하위 브라우저에서는 VML로 변환시켜 줌으로써, 국내 브라우저 환경을 대응 할 수 있도록 하는 감사한 Cross-browser를 돕는 adapter 입니다. 현재는 http://dmitrybaranovskiy.github.io/raphael/ 라는 github 에서 관리, 배포되고 있습니다. 기본 사용법SVG가 사용될 영역 엘리먼트를 만듭니다.영역 엘리먼트와 넓이, 높이를 지정하여 라파엘을 초기화 합니다.그리고 그립니다. /* 영역 엘리먼트 작성 */ 결과> 크롬브라우저 결과> IE11에서 개발자도구로 IE8 버전 이렇게 안에 SVG 또는 VML이 자동생성 됩니다. 제공하는 기본..

프론트엔드 2016.06.14

핀테크 오픈플랫폼 구축 방안

금융위원회는 2015년 7월 핀테크 산업 발전을 위한 인프라 구축의 필요성을 느끼고 금융권과 핀테크 기업의 의견을 수렴하여 금융권 공동 핀테크 오픈 플랫폼 구축 계획을 발표합니다. [핀테크 오픈 플랫폼 개념도] 창조경제를 지향하며 금융 서비스 활성화 및 핀테크 기업의 사업 활성화 방안으로 핀테크 오픈플랫폼 구축 사업을 계획하고 시작하였습니다. 계획대로 올해 핀테크 오픈 플랫폼 서비스를 시작한다면 세계 최초의 금융 오픈 플랫폼을 운영하는 나라가 된다고 합니다.OPEN API 방식으로 핀테크 오픈 플랫폼이 구축되면 , API 방식으로 서비스를 구축하고 이용할 수 있어서새로운 금융 서비스를 손쉽게 개발하고 이용자들이 그 서비스를 보다 빠르게 접해볼 수 있는 이점이 있어서 핀테크 관련 업체나 일반 사용자 모두에..

프론트엔드 2016.06.09

무한스크롤, 페이징 혹은 "더보기" 버튼? 어떤 걸 써야할까

사이트를 기획하다보면 리스트 형식의 결과들을 어떻게 나타낼 것인지를 고민하게 됩니다. 적당한 개수를 정하여 페이징 처리를 할 것인지, 아니면 무한 스크롤을 적용하여 비동기 방식으로 스크롤이 맨 아래일 때 그 다음 결과를 불러올 것인지, 그것도 아니면 "더보기" 버튼을 둘 것인지 말이죠. 쇼핑몰이나 소셜 커머스처럼 수많은 결과들을 취급하는 웹사이트라면 더욱 리스트 처리 방법에 대해 고민이 되리라 생각합니다. 그래서 외국 사이트를 보던 중 좋은 글을 발견하여 일부 번역하여 포스팅 해보도록 하겠습니다. 무한스크롤, 페이징 혹은 "더보기" 버튼? eCommerce에서의 사용성 조사 결과 e-commerce 웹사이트에서 상품을 보여줄 때 가장 좋은 UX 패턴은 무엇일까? 페이징, "더보기"버튼 혹은 무한 스크롤?..

프론트엔드 2016.05.30

Git의 내부구조

우리는 협업을 위해 여러지 형상관리 툴들을 사용합니다. 특히 Git은 최근 개발자들 사이에서는 모르는 사람이 없을 정도로 보편화되고 성능이 좋은 협업/형상관리 툴일것입니다. 본 포스팅에서는 이렇게 많이 사용되는 Git이 어떤 내부구조와 모델을 가지고 작동되는지 개략적으로 살펴보도록 하겠습니다.다른 형상관리시스템과 비교한 Git의 특징과 장점은 정리된 많은 글 들이 있으니 이 포스팅에서는 다루지 않고 오직 Git의 내부적 구조에 대해서만 집중하도록 하겠습니다. 따라서 Git의 사용법에 대해 알기를 원하시는 분들에게는 약간 불친절한 글이 될 수 있다는 점 먼저 양해부탁드립니다. 진행하기에 앞서 데모를 위한 Git repository를 임의로 생성하도록 하겠습니다.위와 같이 저장소를 init한 후 README..

백엔드 2016.05.20