카카오스타일
2019-04-27 · 7년 이상 전
BotKit을 이용한 슬랙 봇 만들기
크로키닷컴을 시작하고 비교적 초기부터 ChatOps를 해보고 싶었습니다. GitHub의 글을 보고 도입하고 싶다는 생각이 들었던 거로 기억합니다. 당연하게 Hubot을 이용해 채팅봇을 설정했습니다. 초기에는 HipChat에 Hubot을 붙였고, 2014년 중반 Slack으로 전환했습니다. 봇을 활용하려는 시도는 여러 번 했지만 대부분 장난 수준을 벗어나지 못했고(예. 점심 메뉴 보여주고 임의로 고르기), 그나마 조금 복잡했던 것이 Box, Dr
DevOpsTools
개발 컨텐츠 공유 서비스 - 파일럿 프로젝트
제가 줌인터넷 포털개발팀에서 일하고 싶었던 이유 중 하나가 바로 신입사원 파일럿 프로젝트 였습니다. 신입 개발자 혼자서 주어진 주제와 기술들로 프로젝트를 진행하고, 함께 일 할 동료들로 부터 코드 리뷰를 받고 개선하는 과정을 꼭 경험해보고 싶었기 때문입니다. 이 글을 통해 지난 6주간 신입 개발자로서 파일럿 프로젝트를 진행한 과정과 결과, 느낀 점을 공유하고자 합니다. 1. 파일럿 프로젝트 주제 저에게 주어진 파일럿 프로젝트 주제는 개발 컨텐츠
BackendCareerTools
데브시스터즈
2019-04-10 · 7년 이상 전
페이지 주소가 바뀌어도 자연스럽게 이어지는 애니메이션 만들기
GatsbyJS와 react-transition-group을 사용해서 간단한 페이지 전환 애니메이션을 구현하는 법을 짚어봅니다.
FrontendTools
HTML Canvas로 기가 픽셀 데이터 시각화하기
FrontendPerformanceTools
뱅크샐러드
2018-12-28 · 7년 이상 전
뱅크샐러드 at Apple Store
안녕하세요, 뱅크샐러드 iOS 엔지니어 김찬울입니다. 오늘은 iOS 개발자라면 누구나 듣고 싶어 할 내용이지만, 많은 분이 경험하지 못하셨을 경험을 공유해보고자 합니다. 기존에 뱅크샐러드 제품팀은 Apple로부터 몇 번 연락을 받아 Artwork…
BackendMobileTools
Java 대용량 엑셀 다운로드 기능 구현
개발을 하다 보면 종종 운영에서 엑셀 다운로드 기능에 대한 요구가 있는데, 이번에 Java에서 엑셀 다운로드를 구현하는 방법에 대해 알아보겠습니다. Java에서 엑셀 다운로드 기능을 위해 자주 쓰이는 방식으로 JXLS 라이브러리를 이용한 방식과 POI 라이브러리를 이용한 방식이 있습니다. ( ‘제이엑셀’, ‘포이’ 라고들 읽죠 ㅎㅎ) 1. JXLS 라이브러리를 이용한 엑셀 다운로드 기능 구현 방법 2. 티몬에서 JXLS를 이용했을 때의 장애발생
BackendJavaTools
파이썬 코드 골프
이번 파이콘 2018에서 레블업에서 진행하는 코드 골프에 참가했습니다. 코드 골프를 처음 알게 되어 시도 해봤는데 그 경험을 공유 합니다. 코드 골프란? 출처(https://www.barrymichaeldoyle.com/code-golf/) 코드와 골프는 과연 무슨 관계가 있을까요? 골프는 가장 적은 타수로 공을 홀에 넣는 경기입니다. 코드 골프는 이와 유사하게 가장 적은 타수, 즉 가장 적은 문자수로 알고리즘을 동작 시키는 경기입니다. 무려
CareerPythonTools
카카오스타일
2018-02-27 · 8년 이상 전
젠킨스 작업을 정의하는 방식들
오늘날의 소프트웨어 개발에 있어서 지속적 통합(continuous integration)은 필수라고 할 수 있습니다. 저도 당연히 동의하면서 오래전부터 도입하려고 했지만, 급한 일에 밀려 실제로 도입한 것은 지그재그 서비스를 오픈하고 나서도 2년이나 지난 작년 여름무렵입니다. 여러가지 고민한 끝에 CI에 젠킨스를 사용하기로 결정했습니다. 그런데 서비스에 적용하기 위해서 각종 문서를 찾아보는데 문서별로 작업을 정의하는 방식이 너무 달라서 굉장히
CI/CDDevOpsTools
Developer와 Quality Engineer, 어떻게 일해야 할까?
들어가며 저는 QE로서 약 10년 동안 일을 했습니다. QE로 일하면서 개발자에 대한 꿈을 키웠고, 늦은 나이에 전향을 하는 것이 쉬운 선택은 아니었지만 더 늦기 전에 도전하여 현재 티몬에서 서비스 개발자 2년차로 임하고 있습니다. 처음 개발자가 되고 소스코드를 보았을 때, 그제서야 개발자들의 고충이 이해되었습니다. 주문이 일어나는 약 1초 사이에 엄청난 소스들을 체크하며 데이터를 생성하고 있었기 때문입니다. 티몬은 PHP에서 JAVA로 전환되
BackendCareerJavaTestingTools
거울아거울아 스터디 - 4
치킨은 중요해 무엇을 배웠는가? 보람님이 3.6장 까지의 요약을 준비해 주셨습니다. 여러 개의 통합문서 살펴보기 파이썬 내장 모듈 glob, os를 사용해 파일 경로와 파일명을 파싱하여 처리하려는 입력 파일 리스트를 만들고 for문을 통해 리스트를 돌며 아래의 함수들을 이용하여 각 파일의 이름, 워크시트 개수, 행/열 개수 등을 살펴볼 수 있었습니다. os.path.basename: 경로의 기본이름(파일명)을 반환 book.nsheets: xl
Data EngineeringPythonTools
거울아거울아 스터디 - 3
오늘도 열정가득 무엇을 배웠는가? 현우님이 3.3장 까지의 요약을 준비해 주셨습니다. 엑셀 통합 문서를 Python을 사용하여 처리하는 방법 1.xlrd, xlwt 패키지 활용 2.팬더스 활용 단일 워크시트 처리 1.엑셀 파일 읽기 및 쓰기 xlwt의 add_sheet(), wirte(), xlrd의 open_workbook() 활용 2.날짜 형식 할당 datetime 모듈의 date(), xlrd의 xldate_as_tuple() 활용 3.팬
Data EngineeringPythonTools
거울아거울아 스터디 - 1
스터디에 앞서 모두들 1장을 공부해오기로 했다. 못 따라 오실 분들을 위해서 매주 화요일에 2시간씩 시간을 내었다. github 계정을 만들어 드리고 git 사용법을 알려 드리고, ipython notebook을 설치 해 드렸다. 너무 어려워 말고 조금은 장난감 같이 생각해 주셨으면 하는 바람이다. 어찌되었든 스터디는 시작되었다. 다들 화이팅! 8퍼센트 야학 여기까지는 호성이 씀. 이제 지윤님의 후기 시작. 요약 과정에서 무엇을 배웠는가? 안영
CareerPythonTools
두숟갈 스터디 - 18
무엇을 공부했나요? 이번 시간에는 Two scoops of Django 27장 ‘로깅: 누구를 위한 것인가?’와 28장 ‘시그널: 이용 사례와 시그널을 피할 수 있는 기술들’을 공부했습니다. 몰아주기 가위바위보에서 패배한 남홍님이 요약과 심화 모두 준비하셨습니다. 로그 진단용 로그는 어플리케이션의 동작과 관련된 이벤트를 기록한다. 예를 들어 사용자가 오류 보고서를 남기면, 그 로그를 해당 에러와 관련된 상황을 확인하는데 쓸 수 있다. 감사용 로
BackendDjangoTools
두숟갈 스터디 - 14
무엇을 공부했나요? 이번 시간에는 Two scoops of Django의 ‘21장 장고의 비법 소스: 서드 파티 패키지들’을 살펴보았다. 현주님께서 내용을 요약하셨고, 문수님이 심화를 준비해 주셨다. PyPI Python Package Index에 대해서 한번더 소개합니다. 예전 회사에서는 다른 개발자들이 사용하는 Python Library를 작성하는 일도 했었기 때문에 Local PyPI 를 구축해 두고 사용했었다. PyPICloud 사용했던
BackendDjangoPythonTools
두숟갈 스터디 - 11
무엇을 공부했나요? Two scoops of Django 16장 REST API 구현하기 내용을 함께 살펴보았습니다. 마침 이번주부터 새로 시작되는 프로젝트에서 API 개발을 하시게된 문수님께서 책 내용을 정리해서 발표해주셨습니다. (요약자료) REST API는 Representational State Transfer API의 약자로 다양한 환경과 용도에 맞는 데이터를 제공하는 디자인을 정의하고 있습니다. 16장에서는 데이터 생산자의 측면에서
BackendDjangoTools
[알쓸신팁] 서버 개발자가 알아두면 쓸데 있는 신비한 Front팁!
시대가 갈수록 Server 개발자는 API 위주의 개발을 하고, Front는 Front 전문 개발자의 영역으로 굳어지고 있습니다. 티몬 또한 이와 다르지 않게 기존 PHP 소스 이외에 Java API로 전환되는 화면은 점차 Front와 Server의 영역이 확연히 구분되고 있습니다. 하지만, 기존 소스 수정 또는 각종 어드민 등의 개발에서는 여전히 서버 개발자가 Front를 컨트롤 할 경우가 있고, 서버 개발 역량 강화를 위해 병행되는 간단한
BackendFrontendJavaTools
뱅크샐러드
2017-08-03 · 거의 9년 전
Typescript로 Local Storage 안전하게 사용하기
최근…
FrontendSecurityTools
RabbitMQ로 메시지 손실 최소화 하는 법(1)
우리는 메시지를 발생한 후 받아서 처리하는 메시징 시스템의 도입이 필요했다. 물론 저장소를 이용하여 직접 구현하여도 되지만 이미 검증된 다양한 솔루션이 나와있기 때문에 적절히 선택을 하면 되었다. 솔루션을 도입하기 위해 몇가지 고려해야 할 사항은 아래와 같았다. - 다양한 플랫폼과 클라이언트 언어를 지원해야 한다. - 메시지 신뢰성을 높여주는 기능을 지원해야 한다. - UI관리 툴을 제공하여 쉽게 관리가 가능하도록 한다. RabbitMQ는 위의
BackendDevOpsTools