LINE의 글로벌 기술 컨퍼런스, LINE DEVELOPER DAY 2020이 개최됩니다!

안녕하세요! LINE Developer Relations 팀입니다. 2015년부터 매년 개최하고 있는 LINE의 글로벌 기술 컨퍼런스, ‘LINE DEVELOPER DAY 2020’이 올해는 11월 25일(수), 26일(목), 27일(금), 총 3일간 온라인에서 개최됩니다. 아래 공식 웹사이트에 방문하시면 자세한 세션 정보를 확인할 수 있습니다. 🙂

자세한 내용을 확인하시고 등록 및 참가 신청 부탁드립니다. 

LINE Timeline의 새로운 도전 2편 – Discover 딜리버리 시스템 소개

지난 1편, LINE Timeline의 새로운 도전 1편 – 추천 콘텐츠 탐색을 위한 Discover와 새로운 구독 모델 Follow에 이어서 이번에는 Discover 딜리버리 시스템을 좀 더 자세하게 소개하려고 합니다. Discover 딜리버리 시스템은 크게 Discover Feed와 Discover 에이전트, Discover ML(Machine Learning) 서버로 구성됩니다. 이번 글에서는 Discover Feed와 Discover 에이전트를 중점적으로 살펴보고, 다음 글에서 Discover ML 서버를 다루겠습니다.

2020 상반기 LINE 신입 개발자 3인의 WOW한 입사기!

안녕하세요. 저희는 입사한 지 어느덧 2개월이 지난 신입 LINER들입니다. 이번에 하반기 공개 채용이 열린다는 얘기를 듣고, 예비 LINER 분들에게 조금이나마 도움을 드리고 싶어 저희 이야기를 작성하게 되었습니다.

이번 글을 통해 저희가 보낸 대학 시절부터 시작해서 LINE에 입사하기 위해 어떻게 준비했는지, 그리고 LINE에서 보낸 2달이 어떠했는지 공유하려고 하는데요. LINER가 되고자 하시는 모든 분들에게 조금이나마 도움이 되길 바랍니다. 예비 LINER 여러분 모두를 진심으로 환영하며, 저희의 이야기를 시작하겠습니다! 

React 컴포넌트를 커스텀 훅으로 제공하기

안녕하세요. LINE 증권의 프런트 엔드를 담당하고 있는 파이낸셜 개발 센터의 Suzuki입니다. LINE 증권에서는 React를 사용하고 있습니다(참고(일본어)). React의 16.8 버전에서 도입된 훅(hook) 기능은 매우 혁신적인데요. 특히 커스텀 훅이라는 개념 덕분에 React에서 컴포넌트를 설계하는 방식이 크게 변화했습니다. 저희 팀에서도 훅의 시대에 컴포넌트를 설계하면서 시행착오를 겪고 있는데요. 이번 글에서는 그중에서도 최근에 저희가 열중하고 있는 ‘커스텀 훅으로 컴포넌트 제공하기’, ‘render hooks’라고 할 수 있는 설계 패턴을 소개하겠습니다.

머신러닝을 활용한 오픈챗 클린 스코어 모델 개발기

오픈챗(OpenChat)은 LINE 친구를 맺지 않고도 관심사가 비슷한 익명의 사용자들과 함께 대화를 나눌 수 있는 오픈 채팅방 서비스입니다. 각 채팅방에서 서로 다른 프로필을 사용할 수 있고, 내가 가입하기 전의 오픈챗 대화 내용도 볼 수 있는 것이 특징입니다. LINE 친구가 아닌 사용자들과 익명으로 대화할 수 있다는 점이 오픈챗의 특징인데요. 이런 특징은 장점인 동시에 단점이 될 수 있습니다. 욕설이나 광고, 성인 이미지 등의 부적절한 콘텐츠에 노출될 수 있고, 오프라인 만남 등을 목적으로 하는 오픈챗이 많이 생겨날 수도 있기 때문입니다. 특히 사용자들이 오픈 초기, 서비스의 성격이 완전히 자리 잡기 전에 이런 단점들에 많이 노출되는 것은 좋지 않습니다. 서비스에 대해 잘못된 인식을 심어줄 수 있는 것은 물론, LINE 메신저 서비스 전체에 대해 나쁜 인상을 줄 수도 있기 때문입니다.

오픈챗 클린 스코어는 이런 배경에서, 서비스 메인 페이지에 노출해도 될 만한, 최대한 깨끗한 소수의 ‘화이트’ 오픈챗을 찾아낼 목적으로 개발되었습니다.오픈챗 클린 스코어는 이런 배경에서, 서비스 메인 페이지에 노출해도 될 만한, 최대한 깨끗한 소수의 ‘화이트’ 오픈챗을 찾아낼 목적으로 개발되었습니다.

Bazel로 LINE의 iOS 앱 빌드 속도를 2배 빠르게!

최근 몇 년 동안 LINE 앱의 iOS 소스 트리는 지속적으로 성장해 수백 개의 모듈로 늘어났습니다. iOS 버전의 소스 코드는 2019년 말 기준으로 140만 줄을 넘어섰으며, 이러한 증가세는 멈출 기미가 보이지 않습니다. 그 결과 LINE iOS 버전의 빌드 시간이 크게 증가했습니다. 또한 프로젝트의 규모가 커지면서 로컬 환경에서는 문제 없이 실행되는 빌드가 CI에서는 실행되지 않거나 혹은 그 반대의 경우가 발생하는 것과 같은 재현 불가능한 문제점도 늘어났습니다. 그래서 저희는 잠시 한 발자국 뒤로 물러나 빌드 성능을 개선하고 문제의 재현 가능성을 높일 수 있는 방법에 대해 고민해 보았습니다.

개선된 페이지 스택으로 LINE 증권의 웹 페이지 전환 처리하기

안녕하세요! sunderls입니다. 저는 2년 전에 페이지 스택을 주제로 ‘LINE MANGA: Page Stack을 이용해서 페이지 전환 처리하기’라는 글을 썼고, 현재 LINE 증권에서도 같은 방식으로 프로젝트를 진행하고 있습니다. 그래서 이번 글에서는 페이지 스택이 어떻게 진화했는지, 어떤 과제를 안고 있는지 함께 알아보겠습니다.

누가 Kubernetes 클러스터에 있는 나의 사랑스러운 Prometheus 컨테이너를 죽였나!

안녕하세요. 이번 글에서는 CrashLoopBackoff 상태에 있는 Prometheus 컨테이너 이슈의 원인을 조사하고 해결하는 과정에서 겪은 흥미로운 경험을 공유하려고 합니다. 사실 이런 현상이 발생하는 원인과 해결책은 너무 뻔하고 간단해서 굳이 이런 주제를 다루는 데 시간을 투자할 가치가 있나는 질문을 던질 수도 있습니다. 하지만 저와 마찬가지로, 이 문제를 조사하는 과정의 각 단계를 자세히 이해하고자 하는 독자가 있을 거라고 생각하며 시작하겠습니다. 이 글을 읽으면서 얻을 수 있는 것들을 아래와 같이 정리해 봤습니다.