아름다운 모델 구조를 찾아서

어떤 소프트웨어든 OOP 기반이라면 모델 구조를 설계하는 것부터 시작합니다. 모델이라 함은 소프트웨어를 Object-Oriented로 만들기 위해 현실에 존재하는 개념을 묶은 객체를 의미합니다. 모델은 소프트웨어를 구성하는 작으면서도 근본적인 단위이기 때문에 처음 정의하는 것에 따라 구현방향과 성능에 영향을 미칩니다. 따라서 상황에 적절한 모델을 설계하고 활용하는 것이 중요합니다. 이번에 리멤버에서 메신저 기능을 추가하면서 지금까지와는 ...

Read more

Ruby 코드 성능 최적화 (feat. ruby-prof, Benchmark)

초기 스타트업은 기능에 비해 성능이 덜 중요시 되는 개발을 하게 됩니다. 사용자가 적을 땐 성능을 신경쓰는 것 보다 아이템을 빨리 검증하기 위한 기능 개발이 더 중요하기 때문인데요, 드라마앤컴퍼니도 처음엔 기능 위주의 개발을 하다 사용자가 늘어남에 따라 자연스럽게 성능도 중요시 하여 개발하고 있습니다. 드라마앤컴퍼니의 대부분 Web/API 프로젝트들은 Ruby와 Ruby on Rails로 ...

Read more

드라마에서 1년의 성장기

2015년 7월에 입사하여 드라마앤컴퍼니에 온지 이제 1년이 지났습니다. 어느 분야든 정체를 겪다가 한번에 올라가는 순간이 있습니다. 저는 120만명 이상이 사용하는 리멤버 서비스의 안드로이드 앱을 혼자 개발하면서 한번에 올라가는 성장을 경험하고 있습니다. 개발 능력도 많이 성장하였지만, 근본적인 것들을 많이 배웁니다. 그리고 배운 것들 중 의미있는 것들을 나누려고 합니다. 원칙있는 개발, 기술부채의 ...

Read more

안드로이드에 테스트 도입하기

좋은 소프트웨어를 만들기 위해서는 테스트 자동화가 중요합니다. 꼼꼼하고 정확한 자동화 테스트는 QA 비용을 줄이고, 제품의 질을 높입니다. 리멤버의 백엔드는 오래 전부터 TDD를 적용하였습니다. 하지만 클라이언트는 View단과 직접 엮여있기 때문에 겪는 테스트의 어려움과, 빠르게 처리해야 할 비즈니스 요구사항에 밀려, 테스트 자동화를 하지 못하고 있었습니다. 우리는 저번 페이즈 브레이크 때 클라이언트 개발자들끼리 ...

Read more

드라마의 Pair Programming과 Code Review 도입 후기

작년 11월에 Tom님과 Jaden님이 처음으로 페어 프로그래밍을 진행하고 도전기를 남겨주셨는데요,   https://blog.dramancompany.com/2015/11/tom과-jaden의-첫-페어-프로그래밍-도전기/ 그 이후로 API, 타이피스트 시스템 등 백엔드 애플리케이션을 중심으로 Pair Programming(이하 PP)과 Code Review(이하 CR)를 개발 문화로 정착시키기 위해 꾸준한 노력이 있었습니다. 본 글에서는 PP와 CR을 적용하면서 느꼈던 점들을 요약하여 말씀드리고자 합니다.   Why PP & CR? PP와 ...

Read more

리멤버 앱의 명함인식 기능

안녕하세요. 이번 포스팅에서는 리멤버 앱에 포함된 명함인식 기능에 관한 내용을 소개하려 합니다. 아래에서 그 내용을 간략히 소개해 드리려 합니다. 리멤버 iOS 앱에서 명함 영역 인식하기 Apple의 iOS SDK는 "CoreImage Framework"를 기본으로 제공해 주고 있는데요, 이것은 이미지 처리와 관련된 다양한 기능을 제공하고 있습니다. 저희 리멤버 iOS 앱도 이를 사용하여 명함 영역을 ...

Read more

Rails Engine을 이용한 Zeus 프로젝트

1. Problem 드라마앤컴퍼니에서는 리멤버 서비스를 위해 다양한 서버 애플리케이션들을 운용하고 있습니다. 일부 데이터 분석을 위한 소프트웨어를 제외하고는 모두 Ruby on Rails를 사용하여 작성되었고, 크게 아래와 같은 것들이 있습니다. API 서버 애플리케이션: 리멤버 앱 등 클라이언트에서 발생하는 모든 요청을 처리합니다. Typist 서버 애플리케이션: 사용자가 등록한 명함 요청을 타이피스트가 확인하고 입력하는 시스템입니다. ...

Read more

개발그룹은 어떻게 일을 하는가? #1

오늘은 개발자 면접을 볼 때 면접자 분들께서 늘 물어보시는 질문인 '드라마앤컴퍼니의 개발 그룹은 어떻게 일을 하나요'에 대한 첫 번째 글을 적어볼까 합니다. '어떻게 일을 하는지'는 굉장히 광범위한 질문이기 때문에 이번 글에서는 저희의 방법론과 계획 등에 대하여 얘기해보겠습니다. 업무의 방법론이란 굉장히 중요합니다. 무작정 열심히 한다고 해서는 절대로 장기적으로 일을 효율적으로 해낼 ...

Read more

Realm 데이터베이스, 제대로 알고 안드로이드에서 사용하기

* 아래 글은 Realm-Java 0.87.5 버전을 기준으로 작성되었습니다. 현재는 0.88.0이 나왔으며, 그에따라 약간 다른 내용이 있을 수 있습니다. Changelog를 참조하시면서 글을 보신다면, 혼동하지 않고 볼 수 있습니다. 안드로이드에 기본적으로 설치된 Sqlite 기반으로 다양한 ORM이 있습니다. Realm은 엔진부터 새로 만든 데이터베이스 입니다. 그래서 Sqlite보다 빠르면서도, ORM과 같은 기능이 자연스럽게 제공되어 다루기 ...

Read more

안드로이드에 Flux 적용하기. Flux는 정말 새로운 것인가?

Flux는 MVC모델의 단점을 보완하기 위해 페이스북에서 고안한 패턴으로, 웹개발 환경에서 먼저 쓰여지기 시작하였습니다. 2014년에 페이스북에서 Flux를 발표하였는데, 발표 후 많은 웹개발자들의 관심과 함께 기술적인 논의도 활발히 이루어졌습니다. 플럭스는 리액트와 함께 웹 분야에서 등장한 패턴입니다. 저는 이것이 무엇이길래 다들 이렇게 주목하는가 궁금했습니다. 그리고 이것이 패턴이라면, 안드로이드에도 적용하여 구조개선을 이룰 수 있지 ...

Read more
Page 5 of 6 1 4 5 6