Reactive Streams란? LINE+에서 오픈소스 Armeria와 Central Dogma를 개발하고 있는 엄익훈입니다. 저는 Reactive Streams의 개념과, Reactive Streams를 오픈 소스 비동기 HTTP/2, RPC, REST 클라이언트/서버 라이브러리인 Armeria에서 사용하는 방법에 대해 공유하려고 하는데요. 이번 포스팅에선 먼저 Reactive Streams의 개념을 알아보겠습니다. Reactive Streams는 공식 홈페이지인 reactive-streams.org에서 아래와 같이 정의하고 있습니다. Reactive Streams is a standard for asynchronous data processing in a streaming fashion with non-blocking back pressure. 홈페이지에선 논블로킹(Non-blocking) 백 프레셔(back pressure)를
이번 글은 LINE에서 진행됐던 Armeria Sprint 참가 후기입니다. '짧은' 스프린트를 거친 뒤 '긴' 리뷰 과정을 거치며 하나의 기능을 완성하고 결국 릴리스까지 이뤄낸, 길고 험난(?)했던 오픈 소스 기여 경험을 공유하려고 합니다. 어느 날, LINE에서 개발하고 있는 오픈 소스인 Armeria에서 스프린트 참여자를 모집한다는 메일을 받았습니다. 호기심 반, 선착순이라고 하니 일단 지원하자는 마음 반으로 내용도 자세히 확인하지 않고 신청해 버렸습니다. 신청하고 난 후 내용을 확인해 보니 짧은 기간 동안 멘토와 멘티로 활동하면서 Armeria에 코드 기여를 할 수 있는 기회를 제공해 주는 좋은 활동이었습니다. 다만 제가 Armeria에 대한 지식이 전혀 없어서 고민했는데요. 다행히 사내에서 진행되는 OJT(On the Job Training)를 통해서 Armeria 소개를 직접 들을 수 있는 기회가 찾아왔습니다. OJT에 참석하여
LINE에서 오픈소스를 담당하고 있습니다.
안녕하세요. 혹시 독자분들 중에서 GitHub contribution graph에 가뭄이 온 분들이 계신가요? 이번 글에서는 가뭄을 물러가게 할 Armeria Sprint 행사를 소개하고 그 후기를 공유하겠습니다. 종종 기술 컨퍼런스의 스케줄에서 '스프린트(sprint)'라는 일정을 보신 적이 있을 겁니다(예를 들면, PYCON Development Sprint). 혹은 애자일(agile) 개발 방법론에 등장하는 단어라서 스프린트라는 단어를 친숙하게 느끼는 분들도 많을 거라고 생각하는데요. 그럼 오픈소스 스프린트란 무엇인지, 그리고 오픈소스 스프린트인 'Armeria Sprint'에서는 어떤 활동이 진행되었는지 소개해보겠습니다. 오픈소스 스프린트가 뭐죠? 오픈소스 스프린트란 오픈소스에 관심있는 사람들이 모여서 오픈소스에 기여해 보는 것이라고 정의할 수 있습니다(오픈소스 기여에 대해서는 지난 포스팅에서 더욱 자세히 다루고 있으니 참
안녕하세요. LINE에서 오픈소스를 담당하고 있는 이서연입니다. 이번 글에서는 LINE에서 이번에 처음 시행한 이벤트인 'Armeria contributor reward'를 소개하고 그 후기를 공유드리려고 합니다. 참고로 이번 글에서는 Armeria에 대한 기술적인 설명 은 하지 않습니다. 기술에 대한 자세한 설명은 공식 홈페이지에서 확인하실 수 있습니다. Armeria 프로젝트는 LINE에서 개발하여 오픈소스로 공개한 프로젝트입니다. 비록 시작은 LINE에서 했지만, Armeria가 지금의 모습을 갖추기까지는 LINE 밖 여러 기여자(contributor)분들의 열정적인 참여가 큰 역할을 담당했습니다. 이에 저희는 기여자들에게 감사의 뜻을 전하고자 이번 이벤트를 기획하게 되었습니다. 본 내용으로 들어가기 전에 '오픈소스 기여'가 무엇인지 먼저 정리해보았습니다
LINE Engineer
안녕하세요. LINE Developer Relations 팀의 Developer Advocate 윤인성입니다. LINE은 Armeria, Central Dogma 등의 다양한 오픈소스를 주도적으로 개발하고 있습니다. 오늘은 Armeria에 대해서 알아보고, Armeria를 사용해 기본적인 웹 서버를 구성해보는 방법에 대해서 알아보겠습니다. 이번 글은 Java와 IntelliJ가 기본적으로 설치되어 있다는 것을 전제로 진행합니다. Java와 IntelliJ는 각각 다음 사이트에서 다운로드할 수 있습니다. Java JDK: https://www.oracle.com/technetwork/java/javase/downloads/index.html IntelliJ: https://www.jetbrains.com/idea/ 프로젝트 만들기 프로젝트를 생성하는 과정부터 차근차근 설명하겠습니다. 일단 IntelliJ를 실행하고 Create New Project 버튼을 눌러 프로젝트를 생성합니다
Netty 프로젝트 창시자이자 Apache MINA 프로젝트 공동 창시자입니다.
Armeria는 Java 8 및 Netty 상에 비동기 RPC/API 클라이언트-서버를 구현한 것입니다. LINE은 작년 11월 Armeria를 Apache License 2.0이 적용되는 오픈소스 프로젝트로 배포했습니다. Armeria는 HTTP/2를 세션 레이어 프로토콜로 사용하는 고성능의 비동기 Thrift 클라이언트/서버를 구축하기 위해 만든 프로젝트이지만, 기본적으로 프로토콜의 제약을 받지 않으며 확장성이 뛰어납니다. (예를 들어, HTTP/2를 통해 정적 파일 디렉토리를 처리하는 동시에 Java EE 웹 애플리케이션을 실행할 수 있습니다.) 이 블로그에서는 기술적 측면에 초점을 맞추기 보다는 내부 프로젝트를 오픈소스로 만들어가면서 겪었던 과정을 소개하고자 합니다. Armeria의 기술적 내용을 알고 싶으시다면 지난 2월 개발자들을 대상으로 개최한 제14회 LINE Developer Meetup에서 발표한 슬라이드 자료를 참고 바랍니다. 프로젝트 이력 정리 내부 프로젝