전체 글

전체 글

    서비스가 성공하기 위한 몇가지 요소

    개인적으로 다양한 안드로이드 앱을 서비스해보고, 회사 내부에서 서비스에 대한 아이디어를 내고, 개발과 함께 홍보와 나아가야 할 방향 등 다양한 부분을 겪으며(아직 경험이 많이 부족하고 더 배워야 할 것도 많지만, 지금까지) 느낀 몇 가지에 대한 글이다. 물론 비교적 소규모의 그룹에서 시도하고 있기에 규모가 크거나 든든한(?) 투자자가 있는 '서비스'에서 느끼는 느낌과는 다른 부분이 있을 듯 하다. 스마트폰의 보급이 파급적으로 진행이 됬고, 남녀노소 새로운 앱과 서비스에 대해 관심이 많아지고 수용도가 높아졌다. 그에 따라 수많은 스타트 업이 생겨나고 서비스들이 런칭되고 있다. 어떻게 하면 서비스를 성공시킬 수 있을까? "잘 만든 앱이 성공한다"라는 법칙은 절대적이지 않다. 물론 기술적으로 잘 만들고 선점을..

    Android Slack send message example (Incoming WebHooks)

    Slack에서 "Configure Intergrations" 클릭 - "Add New Integration" - "Incoming WebHooks"를 만드시면 token이 포함된 URL이 나옵니다. 해당 URL을 넣고 사용하시면 됩니다.

    프로그래밍 Design Pattern 이해하기 - 5 싱글턴 패턴

    싱글턴 패턴 (One of kind Objects : 유일무이한 객체) 개발자 : 싱글턴 패턴은 왜써요!? 고수 : 여러가지 중 단 하나만을 필요로 하는 객체들이 많다. 환경 세팅과 관련된 thread pools, caches나, 로깅을 위한 오브젝트(Log) 혹은 장치 드라이버(그래픽카드나 프린터와 같은) 것들이 그런 것들이다. 사실 우리는 다양한 타입의 객체를 사용하고 있지만, 만약 프로그램을 짤 때 (하나만 필요한 경우에도) 모든 객체들을 각각의 인스턴스를 만들고 사용하게 되면, 실수로 인해 오류가 발생하거나, 코드의 중복 등 유지보수가 힘들어진다. 개발자 : 그래! 이해했어! 하나로 동작하는 클래스를 만드는 이유에 대해서는 알겠는데, 그렇다면 난 이 포스팅을 봐야해? 그냥 전역변수를 static ..

    일을 잘한다는 사람이 된다는 것

    일을 잘한다는 사람이 되기 위해서 필요한 것은 무엇일까? 해답은 바로 '보고'이다. 실력과 일을 처리하는 능력은 하면 할수록 늘기 마련이다. 하지만 '보고'를 잘 한다는 것은 그리 신경을 쓰지 않는 경우를 많이 본다. 흔히 '보고'라는 단어의 의미를 '높은 이에게 진행사항을 말한다'라는 의미로 생각하는 경우가 많다. '보고'의 정확한 의미는 '일에 관한 내용을 글이나 말로 알림'이다. 즉 윗사람 뿐 아니라 같이 일하는 팀원, 상하를 막론하고 일에 대해 알리는 것을 의미한다. 일을 하면서 가장 어려운 것이 바로 '소통'이다. '잘하는 팀'은 '아웃풋이 잘나오는 팀'을 의미한다. '아웃풋이 잘나온다는 것'은 '아웃풋을 내는 과정'이 좋다는 의미이다. 과정을 좋게 하기 위해선 팀웍이 좋아야 한다. 팀웍이 좋다..

    프로그래밍 Design Pattern 이해하기 - 4 팩토리 패턴

    팩토리 패턴 이번 시간엔 팩토리 패턴에 대해 알아보자. 이 한줄을 보자. MallardDuck을 Concreate Class라고 부른다. (abstract class를 상속받아 구체화된 객체를 Concreate class라고 부른다!) 위와같이 abstract class를 상속받아 서브클래싱을 하면, new MallardDuck();처럼. 이렇게 되면, runtime 도중에 Duck을 바꿀 수가 없게 된다. 쉽게 예를 들면 아래와 같이, 매번 상태에 따라 Duck을 바꿀 때 객체를 만들어야 하며, 수없이 많은 조건들이 생겨나게 된다! 이런 코드들이 많아지면, 앱을 유지보수하는데 굉장히 어려워지며 또한 잘못고쳤을 때 독립성이 유지되지 않아 에러가 많이 일어나게 된다. "new"의 잘못된 점은 무엇일까? 기..

    프로그래밍 Design Pattern 이해하기 - 3 데코레이터 패턴

    데코레이터(팅) 패턴 스타버즈라는 커피숍은 매우 빠른 속도로 성장한 초대형 커피전문점이다. 너무 빠른 성장을 했기 때문에 음료의 종류가 다양한데, 이 음료의 종류를 모두 포괄하는 음료 주문시스템을 만들려고 한다. 처음 사업을 시작할 때 만들어진 클래스는 아래의 구조를 띈다. - Superclass beverage는 '음료'를 나타내는 abstract 클래스며, 모든 음료수는 이를 상속받는다. - cost()는 abstract메소드로 자식클래스가 이를 새로 정의하여 가격을 구현한다. - 처음에는 4가지의 커피만 판매하고 있다. 하지만! 엄청나게 빠른 성장을 거두면서, 음료수의 종류가 폭발적으로 늘어가고 각 음료수에 우유, 두유, 모카, 생크림 등 다양한 종류가 생기면서 고민에 빠진다! 첨가물만 들어간다고 ..

    Android Rotate 3D Animation

    안드로이드 앱과 태블릿에서 nineOldAndroids를 사용하던 앱을 구글 TV용앱으로 포팅하던 중에, 애니메이션이 안되서 살펴보니, ViewPropertyAnimation이 구글 TV에서 돌아가지 않더군요 :( 안드로이드 기본에서 제공해주는 애니메이션은 정상작동하나, 제가 필요한 건 3D로 축을 기준으로 회전하는 애니메이션이였습니다! Camera와 Matrix를 통해 applyTransformation을 통해 구현을 하면 가능합니다~!

    [Anrdroid Wear] Wear에만 Notification 띄우기

    안드로이드 웨어에서는 onGoing 속성(취소가 불가능한 '진행중') 을 가진 Notification은 카드뷰를 띄우지 않습니다. 클라이언트 앱에서 NotificationCompat 을 이용해 'startForeground'로 앱을 띄우고 있는 경우에는 웨어에 카드뷰가 뜨지 않아 당황스럽습니다. (같은 Notification ID를 가질 경우 NotificationManager.notify와 startForeground를 중복으로 해도 뜨지않아요) 이런 경우에는 Group속성을 이용해봅니다. (Stack Notification)