Category Archives: Miscellaneous

OpenStack Summit Vancouver 2018 참관 후기(하)

안녕하세요? LINE Verda 2팀의 Nishiwaki입니다. 지난 포스팅에서는 청중 입장에서 흥미로웠던 컨테이너 관련 세션 몇 가지를 소개드렸는데, 이번 글에서는 ‘Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet fully redundant’ 라는 제목으로 저와 Samir가 발표한 내용을 소개해 드리겠습니다.

LINE에서는 새로운 리전(region)을 대상으로 East-West 네트워크 트래픽(데이터센터 내 트래픽)에 강한 데이터센터 네트워크를 설계하고 있습니다. 저희는 발표에서 이 아키텍처 및 설계와 관련된 Neutron 통합에 관해 얘기했습니다. 발표 영상과 자료는 아래에서 보실 수 있습니다.


Promgen은 알림을 어떻게 전달할까요?

안녕하세요, Paul Traylor입니다. 저는 현재 LINE Fukuoka 개발팀에서 LINE 계열의 앱이 사용하는 수많은 서버를 모니터링하는 도구를 개발하고 기술 지원하는 업무를 맡고 있습니다. 제 주 업무 중 하나는 Promgen을 관리하는 일입니다. 참고로 Promgen은 Prometheus가 관련된 팀에게 알림을 제대로 전달할 수 있도록 관리하는 도구입니다. 오늘은 Promgen이 알림을 어떻게 전달하는지에 대한 내용을 다뤄보고자 합니다.

Webpack 같은 모듈 번들러를 만들어 보자

안녕하세요, LINE에서 프런트엔드 개발을 담당하고 있는 전현제입니다. 이번 포스팅에서는 JavaScript 생태계의 구성 요소 중 하나인 모듈 번들러(module bundler)에 대해 소개하려 합니다. 먼저 모듈 번들러의 개념을 간단하게 소개한 후 모듈 번들러가 실제로 어떻게 작동하는지에 대해 직접 모듈 번들러를 만들어 본 경험담을 함께 나누고자 합니다.

모듈 번들러란?

모듈 시스템이란 규모가 큰 코드 베이스를 모듈이라는 단위로 분할할 수 있게 만드는 구조를 말합니다. 자바스크립트에는 오랫동안 모듈 시스템이 없는 상태였는데, 2009년 Node.js가 CommonJS라는 모듈 시스템을 사용하기 시작한 이후 모듈화된 코딩을 하는 것이 보편화되었습니다. 또, ECMAScript 2015에서 자바스크립트 언어 사양에 신규 모듈 시스템인 ES Module이 포함되어 이제는 모듈 없이 자바스크립트로 코딩하기 힘들어졌다고 할 수 있을 정도입니다.

Java와 Armeria로 기본적인 웹 서버 만들기

안녕하세요. LINE Developer Relations 팀의 Developer Advocate 윤인성입니다. LINE은 Armeria, Central Dogma 등의 다양한 오픈소스를 주도적으로 개발하고 있습니다.

오늘은 Armeria에 대해서 알아보고, Armeria를 사용해 기본적인 웹 서버를 구성해보는 방법에 대해서 알아보겠습니다. 이번 글은 Java와 IntelliJ가 기본적으로 설치되어 있다는 것을 전제로 진행합니다.

Node.js와 헤드리스 크롬으로 크롤링을 챗봇에 적용해보자

안녕하세요? LINE에서 Developer Advocate를 맡고 있는 Nakajima입니다.

여러분, 혹시 다음과 같은 경험 없으셨나요?

  • 스마트폰이 지원되지 않는 웹사이트에서 뭔가 입력할 때면 짜증이 난다.
  • 매번 웹사이트에 로그인하기가 번거롭다.
  • 애초에 스마트폰으로는 입력란에 입력하는 것 자체가 힘들다.

당연한 얘기지만 LINE 앱은 주로 스마트폰으로 이용합니다. 그래서 LINE은 스마트폰 UX를 중요하게 여기고 많은 노력을 기울이고 있습니다. 이에, 앞서 언급한 사례들을 LINE으로 쉽게 이용할 수 있다면 편리하지 않을까라는 생각에서 시작된 한 가지 실험을 본 포스팅에서 소개할까 합니다.

Model Controller Testsuite (MCT)을 이용한 테스트 자동화 구축

Model–view–controller(MVC)는 디자인 패턴으로, 프로그램 개발을 간소화하고 유지보수하기 쉽게 만드는 것이 주 목적입니다. 프로그램을 세 개의 논리적 모듈로 나누고 각 모듈에 구체적인 역할을 부여하는 방식인데, 이는 전송하는 데이터와 사용자에게 표출할 결과를 분리해 다루기 위함입니다. MVC 디자인 패턴을 적용해서 모듈을 분리하면 코드의 재사용성이 높아지고 역할 별로 요구 사항을 나누어 병렬적으로 개발을 진행할 수 있습니다.

QA 엔지니어 역시 MVC 디자인 패턴이 갖는 모듈화의 장점을 테스트 개발 아키텍처에 적용할 수 있습니다. 이 글에서는 MVC 디자인 패턴에서 영감을 받아 LINE TAIWAN에서 개발하여 활용하고 있는 테스트 자동화 아키텍처인 Model Controller Testsuite(MCT)를 설명하고, 이를 이용해 테스트 아키텍처를 더욱 안정적이고 유지보수하기 쉽게 만드는 방법을 알아보겠습니다.

2018년 2분기 LINE API Expert를 공개합니다

LINE API Expert는 외부 개발자를 대상으로 LINE이 제공하는 각종 API 등에 대해 높은 이해도와 뛰어난 기술력을 갖췄으며 개발자 커뮤니티에서 영향력 있는 개발자를 선정하여 다양한 혜택을 제공하고 활동을 지원하는 프로그램입니다.

OpenStack Summit Vancouver 2018 참관 후기(상)

안녕하세요? LINE Verda 2팀에서 사내 인프라 시스템인 Verda의 운영 및 개발을 담당하고 있는 Nishiwaki입니다. 올해 5월 21일부터 24일 사이에 개최된 OpenStack Summit Vancouver에 발표자 겸 청중으로 참석한 후기를 두 번에 걸쳐 전해드릴까 합니다. 먼저 이번 글에서는 OpenStack에 관한 간단한 설명과 함께, 참고할 만 했던 세션을 일부 소개한 뒤, 두 번째 글에서는 저희의 발표 내용을 소개해 드리겠습니다.

2018 Dev Week Global Workshop 소개

LINE Developer Relations팀에서 에반젤리스트로 활동하고 있는 박민우입니다.

글로벌 서비스를 운영하기 위해 LINE 개발팀은 여러 해외 오피스의 개발자들로 구성되어 있으며, 서로 긴밀하게 협업하고 있습니다. 하지만 물리적으로 떨어져 있는 환경에서는 토론을 깊이 있게 하거나 얼굴을 마주하고 같이 이야기하며 목표를 공유하기에 부족함이 있을 수 있습니다. 서로 다른 나라에 있기 때문에 이메일이나 메신저로만 이야기하다가 직접 만나서 식사나 여가 활동을 함께하며 서로를 알아감으로써 협업에도 도움이 되고 팀워크를 더욱 단단하게 다질 수 있습니다. 이를 위해 LINE은 2015년부터 매년 각국에 있는 개발자들이 한자리에 모이는 자리를 마련하고 있습니다. 올해에도 4월 17일부터 20일까지, 4일에 걸쳐 각국에 흩어져 있는 LINE 개발자 1,000여 명이 한국에 모였습니다. 17일부터 19일까지 3일 동안은 팀별로 자유롭게 다양한 주제별 워크숍을 진행하고, 마지막 날인 20일에는 각 워크숍의 성과와 다양한 프로젝트 목표를 공유하는 ‘Dev Week Global Workshop 2018’을 개최하였습니다.

Clova와 IFTTT를 연계하여 Clova 기기에 알림 보내기

Clova 플랫폼을 공개한 후, 그 첫 번째 이야기로 Clova와 IFTTT 연계에 대한 내용을 준비했습니다. IFTTT와 연계하면, 일례로 ‘LINE Engineering Blog에 새 글이 올라오면 Clova 기기로 알림 보내기’ 같은 서비스를 제공할 수 있습니다. 우선 IFTTT에 대한 간단한 소개부터 시작하겠습니다.

본 글에서 소개하는 서비스는 포스팅 시점 기준으로 일본에서만 제공되고 있습니다.