전체 글
-
비즈니스 프로세스를 그리자. — BPMN 2.0Architecture 2020. 10. 24. 13:08
소프트웨어 프로젝트 문서를 작성하면서 사용자가 어떻게 사용하고, 시스템은 어떻게 작동하는지 그림으로 나타내야 할때가 다반사이다. 사용자가 이 시점에서 무엇을 해야하고, 입력받은 시스템은 어떻게 동작해야 하는지 그림으로 그리려면 Flow Chart(1921년부터 사용, 1985년 ISO 표준 제정)와 UML을 많이 사용했을 것이다. 하지만 엔지니어링에 포커스를 둔 Flow Chart와 UML은 어딘가 모르게 3% 정도 부족할때가 생기게 마련이다.(혹시.. 나만 그런가?) 2005년에 UML의 복잡성을 과감하게 단순화(Simplify)시킨 새로운 표준이 나왔으니 이름하여 BPMN(Business Process Modeling Notation) 1.0이다. 그리고 여러번의 판올림을 하고 나서 2011년에 BP..
-
슬기롭게 로그(Log)를 쌓는 법Architecture 2020. 7. 22. 11:05
How to Make Effective Logging 모든 언어, 시스템과 프레임 워크를 통틀어서 공통적으로 가지고 있는 기능은 Log입니다. 우리는 응용프로그램이 의도한대로 동작하고 있는지 확인하기 위해서 또는 문제가 발생된 부분이 어디인지 찾기 위해서 로그를 적극적으로 활용하고 있습니다. 그런데 많은 개발자들이 시스템에 남기는 로그를 저마다의 생각과 개성을 반영하여 남기고 있습니다. 지금이라도 웹서버의 access.log를 열어보거나 Graylog같은 모니터링 시스템에서 로그를 확인해 보시기 바랍니다. 로그를 기반으로 시스템이 잘 운영되고 있다고 진단할 수 있나요? 아마도 꽤 오랜시간을 들여다 보거나 한숨이 절로 나오실 겁니다. 결국은 아무렇게 쌓은 로그는 많은 개발자들이 시스템을 운영하는 환경에서 ..
-
AWS에서 효율적인 비용으로 시스템을 운영하기Architecture 2020. 6. 27. 16:01
How to handle the cost of AWS when your system is dramatically growing up. AWS에서 비용을 줄이는 포스팅은 많습니다. 이것저것 줄이고 바꿔서 비용을 효율적으로 사용하는 것이 대부분의 문맥입니다. 하지만 실제로 운영하면서 엔지니어들이 항상 염두에 둘 사항들에 대해서 이야기하는 포스팅을 보지 못했습니다. 그래서 서비스와 시스템이 빠르게 성장함에 따라 시스템 비용을 어떻게 운용해야 하는지 알아보고자 합니다. 클라우드 시스템을 운영하는 마음가짐 - You should change your mindset from IDC to Cloud on operating & planning Systems. 비용 절감 이야기에서 갑자기 마음가짐을 바꾸라는 말이냐 라고..
-
상위 1% 일잘러가 되고 싶으신가요?Editorial 2020. 5. 30. 12:44
Do you want to be a professional performer as Top Tier? 세상이 참으로 빡빡하기 그지없습니다. 상위 1%가 되기 위해 중고등 학생들은 학교와 학원에서, 대학생들은 바늘구멍보다 좁은 취업문을 통과하기 위해서, 직장인들은 살아남기 위해서 피, 땀, 눈물을 흘려가며 고군분투합니다. 상위 1%가 되기 위해 총력을 쏟는 와중에 세상은 점점 더 빠르게 변화하고 있습니다. 아주 환장할 일이죠. 그래서 우리는 언제나 경쟁을 해야하는 무한경쟁 사회에서 살아가고 있습니다. 그런데 이렇게 무한 경쟁 사회라 할지라도 자신의 재능과 능력을 발휘하며 두각을 나타내는 일잘러는 어느 조직에나 있게 마련입니다. 그래서 개인적으로 생각하는 프로 일잘러들의 특징 5가지를 말씀드리고자 합니다. 커..
-
엔지니어는 왜 DevOps로 가야하는가?Editorial 2020. 5. 23. 15:11
Why I should be going to be the DevOps?요즘 IT업계에서 엔지니어(=개발자)는 절대적인 품귀현상으로 발을 동동 구르고 있습니다. 게다가 실력이 뛰어난 인력을 찾기란 더더욱 힘듭니다. 어찌됐든 여기저기서 이야기하는 4차 산업혁명이 와있는 현실에서 신입이든 경력이든 엔지니어는 절대적으로 많이 필요하고, 엔지니어는 어떠한 방향으로 지향점을 둬야 하는가는 아주 중요한 부분입니다. 요즘은 개발만 잘해서 될 일이 아니라 네트워크같은 인프라 스트럭처도 잘알아야 하고 클라우드 환경도 이해하고 개발도 잘해야 하는 멀티플레이어가 되야 합니다. 그런 관점에서 직군별로 세분화된 영역이 점점 기술적인 환경 변화로 재조정이 이뤄지면서 DevOps라는 방향성이 제시되었습니다. 이것은 엔지니어가 커버해..
-
[Android] Koin Test로 테스트 코드 작성하기Mobile Engineering 2020. 5. 12. 23:26
이 글은 이미 Koin 세팅을 하셨다는 전제하에 기술하였습니다. 아직 Koin을 세팅하지 않았다면 이전 세팅 방법에 대해서 포스팅을 참고하시기 바랍니다. https://simplifyprocess.tistory.com/5 이번에는 Koin을 사용해서 테스트 코드를 작성할때 사용하는 KoinTest에 대해서 기술하고자 합니다. Gradle 세팅 일단 어느 라이브러리를 사용하던지 gradle 세팅을 안할 수는 없겠죠. 이부분도 아주 간단합니다. 먼저 다음과 같이 MavenRepository에 jCenter를 추가합니다. // build.gradle at Project Level buildscript { repositories { jcenter() } } 그리고 Module Gradle에 KoinTest를 추..
-
[Android] Koin vs Dagger2Mobile Engineering 2020. 4. 21. 23:20
이전 아티클을 보시면 아래의 내용을 이해하는데 도움이 됩니다. Koin으로 의존성 주입하기 [ https://simplifyprocess.tistory.com/5 ] 오늘은 민감한 주제입니다. Koin vs Dagger2. Dagger는 안드로이드에서 가장 많이 사용되고 있는 DI Framework이고, 구글에서 직접 유지보수하는 오픈소스입니다. 하지만 두가지를 경험해본 저는 Koin에 손을 들어주고 싶습니다. 왜냐하면 서로 바라보는 지향점이 아주 다르고 Layering, 사용 편의성으로 따져봤을때 Koin이 더욱 우세하다고 생각합니다. Koin과 Dagger의 구동방식 이해를 돕기 위해 아래의 그림을 봅시다. 위 그럼처럼 Koin은 Module에서 선언한 DI를 Cache에 저장하고 있습니다. 그렇기 ..
-
[Android] Mockito Plugin 세팅 - MockMakerMobile Engineering 2020. 4. 19. 16:07
TDD를 해야 한다는 것은 굳이 설명할 필요가 없을 정도로 잘 알고 계시리라 생각합니다. 그중에서 DI 환경에서 테스트 코드를 작성할때 사용하는 Mock은 필수라고 할 수 있습니다. 그중에서 Mockito와 PowerMock을 많이 사용합니다. 개인적으로 테스트 코드를 작성할때 Mock 라이브러리는 심플하고 쉽게 사용할 수 있는 것을 선호해서 Mockito를 사용합니다. 안드로이드에서 Mockito를 이용해서 유닛 테스트 코드를 만들때 사전에 해줘야 하는 세팅을 알려드리고자 합니다. Mockito를 사용하는 분이라면 한번 맞닥뜨렸을 오류.. Could not initialize plugin: interface org.mockito.plugins.MockMaker 아래의 그림처럼 잘 나가다가 갑자기 오류가..