반응형

분류 전체보기 136

[Docker] Docker의 개요

Docker란 무엇일까? 개발자라면 도커를 사용해보진 않았더라도 한 번쯤은 들어봤을 것이다. 많은 개발자들이 이미 도커를 사용하고 있고, 심지어 채용 우대사항에서도 Docker라는 이름을 심심치 않게 볼 수 있다. 대체 Docker란 무엇이기에 이렇게 많은 사람들이 열광하고 사용되고 있는 것일까? 이번 포스팅은 Docker의 간략한 역사와, 필요성, 그리고 그로 인해 달라진 우리의 개발환경에 관하여 이야기해보도록 하겠다. Docker의 역사 Docker는 2013년 3월 산타클라라에서 열린 Pycon에서 Solomon Hykes가 The future of Linux Ciontainers(리눅스 컨테이너의 미래)라는 제목으로 세션을 발표하면서 세상에 알려졌다. ※ 발표자료: Youtube 영상을 보면 So..

DevOps/Docker 2019.11.30

[GCP] Google Cloud Client Library: IAM 인증 받기

GCP(Google Cloud Platform)은 Google에서 운영하는 클라우드 플랫폼이다. AWS와 동일하게 클라우드 컴퓨팅 환경을 이용해서 클라우드 서버를 이용할 수 있다. 하지만 특별히 GCP에서는 Google Cloud Client Library를 지원한다. Client Library는 Devleoper에게 Google의 다양한 API를 지원하는 라이브러리이다. 이러한 라이브러리를 사용하기 위해서는 IAM(Identity and Access Management) 인증을 받아야 한다. IAM인증을 통해 Google은 해당 요청이 어떤 사용자(Login)인지를 인식하고 권한을 부여한다. GCP IAM 인증 받기 1. 아래의 URI로 이동해서 먼저 로그인을 하도록 한다. Google Cloud 컴퓨..

Cloud/GCP 2019.11.26

신한 해커톤: 2019 국내 최대 규모 무박 3일 해커톤 수상 후기

2019-11-22일 신한 그룹에서 잠들지 않는 3일의 열정이라는 키워드로 국내 최대 규모의 해커톤을 개최하였다. 해커톤의 주제는 신한은행, 신한카드, 신한금융투자, 신한생명 각 그룹사들이 참가자들에게 제공하는 130여 개의 API를 사용하여서 생활 속 핀테크 서비스를 만드는 것이었다. 2019년에 가장 큰 대회였던 만큼 수상자에게는 총 상금 40,000,000원과 신한 그룹 공채 지원시 서류 면제 혜택이 주어졌다. 때문에 236팀이라는 많은 팀들이 해당 해커톤에 지원하였고, 예선 경쟁률만 10:1에 육박하게 되었다. 해커톤 시작 전 처음 이 해커톤에 출전하게 된 것은 단순히 은행 api와 데이터를 만져보고 싶다는 생각 때문이었다. 금융권은 그야말로 데이터의 보물섬이라고 할 수 있는데, 금융활동을 하는 ..

Forum/Retrospect 2019.11.24

[Conference] NAVER D2 Startup Factory 리뷰

2019-11-14 삼성 코엑스에서 Startup Factory Conference가 열렸다 Startup Factory이전에 NAVER DEVIEW2019를 다녀왔지만 신청은 Startup Factory이 먼저였기 때문에, 사실상 이 컨퍼런스가 나의 생의 첫 컨퍼런스이기도 하였다. Startup Factory는 TECH라는 머리말이 붙어있지만, 사실 주제를 보았을 땐 기술을 다룬다기보다는 어떻게 하면 기술을 시장에 적용시킬까 와 같은 많은 스타트업들의 고민을 담은 컨퍼런스였다. 때문에 대부분의 참가자들이 실제로 창업을 앞두고 있거나, 관심이 있는 사람이 많았다. 나는 창업에 관심이 있는 편은 아니었지만 비즈니스와 시장 상황에 관심이 많았기 때문에 컨퍼런스에 참가하게 되었다. 창업을 하며 실제로 비즈니스..

Forum/Conference 2019.11.17

[Spring] 프로젝트 생성하기

Spring Boot project를 생성하는 방법은 크게 두 가지로 나누어진다. 첫 번째로 start.spring.io 사이트를 이용해 프로젝트를 생성한 후, IDE에서 불러오는 방법과, IDE 자체에서 프로젝트를 생성하는 방법이 있다. IntelliJ에서 project 생성하기 1. IntelliJ를 실행하면 이와같은 작은 윈도 창을 만날 수 있다. 해당 메뉴에서 Create New Project를 선택한다. 2. Ultimate versionn 기준, 좌측 메뉴에서 Spring Initializar을 선택하고 NEXT버튼을 눌러준다. 3. Project 세부사항에서 먼저 Type을 선택해준다. Maven으로 하나 Gradle로 하나 크게 상관은 없으나, maven의 porm.xml은 XML 기반으로..

[Spring] Spring Framework vs Spring Boot

spring이란? Spring이란 과거 EJB를 대체하는 framework로써 세상에 등장했다. Pivotal Software(스프링팀)은 Enterprise Framework 시대를 겨울(winter)로 정의하고 이제 봄(spring)이 왔다는 의미로 이름을 지었다. EJB에 비해서 많은 부분 발전했지만, spring 역시 "스프링은 설정이 반이다."라는 말이 있을 정도로 설정하는 것에 어려움이 많았다. 그럼에도 spring이 대표적인 java framework로 자리 잡게 된 것은 아래와 같은 강력한 장점을 지니고 있기 때문이었다. 경량 컨테이너 IoC(Invertion of Control: 제어 역행) Di(Dependency Injection: 의존성 주입) AOP(Aspect-Oriented P..

[Java] Lombok 사용하기

Lombok이란? java는 대부분의 변수들을 class안에 private으로 저장한다. 때문에, 해당 변수에 접근하기 위해서는 아래와 같이 getter setter와 같은 함수들을 정의해 주어야 한다. 이러한 이유로 큰 기능이 없는 작은 클래스임에도 코드가 길어지는 단점이 생긴다. 그나마 IDE의 자동생성 기능을 사용하면 수고롭게 getter, setter 함수를 작성할 필요는 사라지지만, 여전히 코드의 길이는 줄어들지 않고, 만약 변수명이 변경된다면 함수 역시 모두 고쳐주어야 하는 번거로움이 발생한다. lombok은 이러한 에러사항을 해결해주는 자바 라이브러리로써, @Getter, @Setter와 같은 annotation을 붙여주는 것만으로 컴파일 시 자동으로 getter, setter함수를 만들어준..

Language/Java 2019.11.15

[IT 이야기] MacOS: Catalina 10.15.1 Issue 정리

※ 해당 포스팅은 필자가 겪은 이슈이며, 실행 환경마다 다를 수 있으며 개인적인 추론이 다수 포함되어 있습니다. 2019년 10월 애플에서 Catalina OS를 출시했다. 이번 업데이트는 주목할만한 기능들이 많았는데, 그중 나의 눈을 가장 사로잡았던 기능 중 하나는 AirPlay 기능이다. 필자는 늘 맥북 프로와 아이패드 프로를 동시에 들고 다니는데, 그중 때때로 아이패드를 맥북에 연결해서 더블 모니터로 사용하는 일이 잦았다. mac에서 따로 AirPlay기능을 제공해주지 않았을 때는 duet 앱을 사용해서 유선으로 연결하여 사용해왔다. 하지만 AirPlay 기능을 이용하면 무선으로 더블 모니터 기능을 사용할 수 있었고, 이는 내게 굉장히 매력적인 기능이었다. 그렇게 Catalina 업데이트를 하게 되..

Forum/IT 이야기 2019.11.14

[IT 이야기] 맥 capslock으로 한/영 전환시 속도 개선

Mac OS mojave버전 이후로는 caplock를 이용해 한/영을 전환할 수 있다. 하지만 이러한 한/영 키 전환에는 딜레이가 존재한다. 아래의 이미지는 capslock과 a 키를 연속으로 번갈아가며 입력하였을 때의 예시이다. 만약 한/영키에 딜레이가 없다면 aㅁaㅁaㅁaㅁaㅁaㅁ 와 같이 입력이 나와야하는 것이 정상이다. 하지만 이미지에서 볼 수 있듯이 a와 ㅁ으로 한/영이 변환되는 것이 불규칙하다는 것을 알 수 있다. 평소 키보드를 빠르게 치는 편이 아니라면 이러한 변화에 둔감할 수 있으나, 필자는 키보드를 많이 치는 직군에 속하고, 타이핑이 빠른 편이기 때문에 해당사항에 대하여 불편함을 느끼게 되어 이를 해결하게 되었다. 이렇게 딜레이가 생기는 이유는 caplocks 키가 capslock 본연의..

Forum/IT 이야기 2019.11.13

[Tech] MSA(Microservice Architecture)란?

Monolithic Architecture MSA에 대해 이해하기 위해서는 먼저 그에 상반된 모놀리틱 아키텍처에 관해 이해할 필요가 있다. 모놀리틱 아키텍처란 전통적인 소프트웨어 아키텍처 스타일로써 하나의 서버에 UI와 비즈니스 로직, 그리고 데이터베이스까지 베포 되는 것으로 하나의 서비스 또는 에플리케이션이 하나의 거대한 아키텍처로 구성되는 것을 의미한다. Monolithic 스타일로 아키텍처를 구성하면 하나의 중앙 관리적인 구조로써 통합된 서비스를 구축하기 때문에 통제가 편리하고, 단순한 아키텍처 구조로 인해 초기 개발의 용이성이 있지만 아키텍처의 크기가 커짐에 따라서 확장성에 대한 복잡성이 심각하게 증가한다. Microservice Architecture MSA(Microservice Archite..

반응형