LINE 원정대: 사우디아라비아로 현장 테스트를 다녀왔습니다

저는 지난 4월 초에 사우디아라비아로 현장 테스트를 다녀왔습니다. LINE은 작년에 중동에서 LIVE 개인방송 애플리케이션을 론칭하여 서비스하고 있습니다. 이번 현장 테스트의 목적은 현재 서비스하고 있는 LINE LIVE MENA(Middle East and North Africa)를 더욱 발전시키기 위해 서비스 영상의 품질과 경쟁사 앱과 비교한 장점과 개선점을 파악하고, 현재 사용하고 있는 RTMP(Real Time Messaging Protocol)가 아닌 다른 전송 프로토콜을 사용한다면 어떤 결과가 나타나는지 알아보는 것이었습니다.

LINE에서 Kafka를 사용하는 방법 – 2편

안녕하세요. LINE에서 소프트웨어 엔지니어로 일하고 있는 Kawamura Yuto입니다. 지난 1편에 이어 이번 글에서는 Kafka 클러스터의 신뢰성과 성능을 확보하기 위한 클라이언트 간의 작업 부하 격리와 관련해서, 실제 운영 환경에서 발생했던 문제를 예시로 설명하겠습니다.

코드 가독성에 대해 – 1. 도입과 원칙

거대한 프로젝트에서는 ‘코드 가독성 유지와 기술 부채의 지속적인 상환’ 자체를 확장 가능한(scalable) 상태로 만들어야 합니다. 즉, 개발에 관여하는 멤버 모두가 가독성과 기술 부채를 신경 쓸 필요가 있습니다. 가독성 높은 코드를 작성하는 것은 단순하게 기능을 구현하는 일보다 어려움이 많습니다. 이를 위해서는 어떤 코드가 잘 읽히는지에 관한 지식과 효율적으로 프로그램의 구조를 재구성하는 기술이 필요합니다. 그래서 그러한 지식과 기술을 공유하기 위해 코드 리뷰에서 자주 지적되는 예와 리팩터링 중 발견한 가독성 낮은 코드의 특징을 정리한 것이 본 프레젠테이션입니다.

LINE의 장애 보고와 후속 절차 문화

소프트웨어를 개발하고 사용하는 곳이라면 어느 곳이든 장애가 없을 수 없을 것입니다. 사용자가 많고 트래픽 규모가 크고 연관된 서비스가 많은 복잡한 소프트웨어일수록 장애가 여러 포인트에서 발생하기 마련입니다. 이번 글에서는 다양한 서비스를 제공하면서 점점 복잡해지고 있는 소프트웨어의 장애를 LINE에서 어떻게 관리하고 있는지와 개인적으로 인상깊었던 사례를 소개하고자 합니다.

LINE에서 Kafka를 사용하는 방법 – 1편

안녕하세요. LINE에서 소프트웨어 엔지니어로 일하고 있는 Kawamura Yuto입니다. 저는 LINE 서버 개발을 중심으로 HBase 운영 등의 업무를 하고 있으며, 현재 전사적으로 Kafka 플랫폼을 제공하는 팀의 리더를 맡고 있습니다. 이번 글에선 LINE에서 운영하고 있는 대규모 Kafka 플랫폼에 대해서 말씀드리려고 합니다.

파이콘 한국 2019 LINE 저장소 PR 기여 이벤트 운영 후기

처음 파이콘에서 LINE 부스 운영을 기획하면서 코딩 이벤트를 시작하기로 할 때, 파이썬 프로그래머가 재밌게 참여할 수 있으면서도 LINE다움을 유지할 수 있는 것이 어떤 것이 있을지 고민하였습니다. 사실상 코딩이 거의 없는 이벤트부터 상당히 어려운 단계의 경연까지 다양한 논의가 있었는데, 역시 LINE을 활용하는 쪽으로 코딩 이벤트를 설계하는게 좋겠다고 생각했고, 파이썬 기반의 파이콘 한국 도우미 챗봇을 만들어보자는 아이디어로 연결되었습니다.

LINE 서버 개발자가 되기까지 내가 준비한 것들

이 글은 마이크로소프트웨어 397호에 기고된 글입니다. 들어가며 시대와 상황이 많이 바뀌었지만, 아직 우리나라에서 ‘이직’은 낯선 단어입니다. 저희 부모님은 평생 직업과 평생 직장이라는 타이틀을 간직하며 살았던 세대인데요. 그런 부모님께 취업한 지 만 1년 6개월을 조금 넘어선 시기에 이직을 염두에 두고 있다고 말씀드렸습니다. 제 생각을 들은 부모님은 영 탐탁지 않은 표정을 지으시더니 이내 “벌써 회사를 옮기고 그게 반복되면 …

UIT Global Workshop 2019 – 3개국 참가자 인터뷰

안녕하세요. LINE UIT(User Interface Technology) 팀 엔지니어 오혜성입니다. LINE에서는 모두가 알고 있는 메신저 서비스를 시작으로 뉴스, 음악, 동영상 서비스와 같은 컨텐츠형 서비스는 물론 LINE Pay, 가계부와 같은 금융 서비스까지 매우 다양한 서비스를 글로벌하게 전개해 나가고 있습니다.

LINE UIT 팀은 이런 다양한 서비스의 웹 프론트엔드 기술을 담당하고 있는 팀입니다. 한국은 물론 일본, 베트남, 대만 등 세계 여러 도시에서 매일 고군분투하며 개발하고 있는데요. 이렇게 평소에는 세계 각지에서 다양한 형태로 일하고 있는 UIT 팀의 LINERs가 1년에 한 번 다같이 모이는 특별한 날이 있습니다. 바로 ‘UIT Global Workshop’이 열리는 날입니다. 2019년에는 이 워크숍이 지난 9월 4일부터 9월 6일까지 한국에서 개최되었는데요. 총 130명의 팀원이 모여 서로의 지식을 공유하며 더욱 넓은 세계를 경험할 수 있었습니다. 이번 글에서는 UIT Global Workshop에 참여했던 팀원과의 인터뷰를 통해 당시의 현장 분위기를 여러분께 공유하고자 합니다.

문제를 해결할 때 사고가 중요한 이유

개발자는 문제에 직면했을 때 코드를 살펴보며 원인을 찾습니다. 하지만 그 문제가 로직에 내재된 버그가 아니라면, ‘문제를 어떻게 해결할 것인가?’에 대한 사고(思考)가 더 중요합니다. 저는 기존에 네이티브(native)로 구현되어 있는 ‘친구/대화’ 탭의 검색 화면을 웹 뷰로 마이그레이션하는 작업을 진행하였습니다. 이번 글에선 이 과정에서 발생한 문제를 사례로 사고의 중요성을 전달하고자 합니다.