Developer와 Quality Engineer, 어떻게 일해야 할까?
들어가며 저는 QE로서 약 10년 동안 일을 했습니다. QE로 일하면서 개발자에 대한 꿈을 키웠고, 늦은 나이에 전향을 하는 것이 쉬운 선택은 아니었지만 더 늦기 전에 도전하여 현재 티몬에서 서비스 개발자 2년차로 임하고 있습니다. 처음 개발자가 되고 소스코드를 보았을 때, 그제서야 개발자들의 고충이 이해되었습니다. 주문이 일어나는 약 1초 사이에 엄청난 소스들을 체크하며 데이터를 생성하고 있었기 때문입니다. 티몬은 PHP에서 JAVA로 전환되
거울아거울아 스터디 - 4
치킨은 중요해 무엇을 배웠는가? 보람님이 3.6장 까지의 요약을 준비해 주셨습니다. 여러 개의 통합문서 살펴보기 파이썬 내장 모듈 glob, os를 사용해 파일 경로와 파일명을 파싱하여 처리하려는 입력 파일 리스트를 만들고 for문을 통해 리스트를 돌며 아래의 함수들을 이용하여 각 파일의 이름, 워크시트 개수, 행/열 개수 등을 살펴볼 수 있었습니다. os.path.basename: 경로의 기본이름(파일명)을 반환 book.nsheets: xl
거울아거울아 스터디 - 3
오늘도 열정가득 무엇을 배웠는가? 현우님이 3.3장 까지의 요약을 준비해 주셨습니다. 엑셀 통합 문서를 Python을 사용하여 처리하는 방법 1.xlrd, xlwt 패키지 활용 2.팬더스 활용 단일 워크시트 처리 1.엑셀 파일 읽기 및 쓰기 xlwt의 add_sheet(), wirte(), xlrd의 open_workbook() 활용 2.날짜 형식 할당 datetime 모듈의 date(), xlrd의 xldate_as_tuple() 활용 3.팬
거울아거울아 스터디 - 1
스터디에 앞서 모두들 1장을 공부해오기로 했다. 못 따라 오실 분들을 위해서 매주 화요일에 2시간씩 시간을 내었다. github 계정을 만들어 드리고 git 사용법을 알려 드리고, ipython notebook을 설치 해 드렸다. 너무 어려워 말고 조금은 장난감 같이 생각해 주셨으면 하는 바람이다. 어찌되었든 스터디는 시작되었다. 다들 화이팅! 8퍼센트 야학 여기까지는 호성이 씀. 이제 지윤님의 후기 시작. 요약 과정에서 무엇을 배웠는가? 안영
두숟갈 스터디 - 18
무엇을 공부했나요? 이번 시간에는 Two scoops of Django 27장 ‘로깅: 누구를 위한 것인가?’와 28장 ‘시그널: 이용 사례와 시그널을 피할 수 있는 기술들’을 공부했습니다. 몰아주기 가위바위보에서 패배한 남홍님이 요약과 심화 모두 준비하셨습니다. 로그 진단용 로그는 어플리케이션의 동작과 관련된 이벤트를 기록한다. 예를 들어 사용자가 오류 보고서를 남기면, 그 로그를 해당 에러와 관련된 상황을 확인하는데 쓸 수 있다. 감사용 로
두숟갈 스터디 - 14
무엇을 공부했나요? 이번 시간에는 Two scoops of Django의 ‘21장 장고의 비법 소스: 서드 파티 패키지들’을 살펴보았다. 현주님께서 내용을 요약하셨고, 문수님이 심화를 준비해 주셨다. PyPI Python Package Index에 대해서 한번더 소개합니다. 예전 회사에서는 다른 개발자들이 사용하는 Python Library를 작성하는 일도 했었기 때문에 Local PyPI 를 구축해 두고 사용했었다. PyPICloud 사용했던
두숟갈 스터디 - 11
무엇을 공부했나요? Two scoops of Django 16장 REST API 구현하기 내용을 함께 살펴보았습니다. 마침 이번주부터 새로 시작되는 프로젝트에서 API 개발을 하시게된 문수님께서 책 내용을 정리해서 발표해주셨습니다. (요약자료) REST API는 Representational State Transfer API의 약자로 다양한 환경과 용도에 맞는 데이터를 제공하는 디자인을 정의하고 있습니다. 16장에서는 데이터 생산자의 측면에서
[알쓸신팁] 서버 개발자가 알아두면 쓸데 있는 신비한 Front팁!
시대가 갈수록 Server 개발자는 API 위주의 개발을 하고, Front는 Front 전문 개발자의 영역으로 굳어지고 있습니다. 티몬 또한 이와 다르지 않게 기존 PHP 소스 이외에 Java API로 전환되는 화면은 점차 Front와 Server의 영역이 확연히 구분되고 있습니다. 하지만, 기존 소스 수정 또는 각종 어드민 등의 개발에서는 여전히 서버 개발자가 Front를 컨트롤 할 경우가 있고, 서버 개발 역량 강화를 위해 병행되는 간단한
Typescript로 Local Storage 안전하게 사용하기
최근…
RabbitMQ로 메시지 손실 최소화 하는 법(1)
우리는 메시지를 발생한 후 받아서 처리하는 메시징 시스템의 도입이 필요했다. 물론 저장소를 이용하여 직접 구현하여도 되지만 이미 검증된 다양한 솔루션이 나와있기 때문에 적절히 선택을 하면 되었다. 솔루션을 도입하기 위해 몇가지 고려해야 할 사항은 아래와 같았다. - 다양한 플랫폼과 클라이언트 언어를 지원해야 한다. - 메시지 신뢰성을 높여주는 기능을 지원해야 한다. - UI관리 툴을 제공하여 쉽게 관리가 가능하도록 한다. RabbitMQ는 위의
데이터, 기록되고 있습니까?
올해 2월에 썼던 글을 이제야 올려봅니다. 태블로는 아직 잘 사용하고 있습니다. : ) “아무개 님, 지난번에 요청한 자료 언제까지 받을 수 있죠?” 다행이다. 꿈 이었다. 가벼운 발걸음으로 출근하던 중 일감 하나가 떠오른다. 간밤의 꿈이 꿈 만은 아니었던게다. 아뿔싸, 아직 시작도 못했는데. 오늘 할 일을 내일로 미룬 자의 아침은 발걸음이 무겁다. Business Intelligence 라는 것이 있다. 뭔가 멋드러진 단어의 조합처럼 보이지만
자바스크립트의 비동기 처리과정
들어가며안녕하세요. 티몬에서 이제 1년차가 된 신입 개발자입니다! 그 동안 업무를 하면서 배운 것들이 많은데요, 최근에는 티몬의 상품을 관리하는 운영시스템 화면을 개발하면서 자바스크립트를 많이 알게 되었습니다. 안타깝게도 전 자바스크립트를 잘 알지도 못하는 ‘자알못’이었기 때문에 개발하면서 많은 시행착오를 겪었는데요. 특히 기대와 다르게 실행되는 비동기 API 때문에 고생을 했더랬죠. 그래서 이번 포스팅에서는 자바스크립트의 실행 환경에 대해 살
응답없는 페이지가 되지 않게 하는 법 (feat. setTimeout)
들어가며웹 개발자라면 자바스크립트를 많이 사용하게 됩니다. 웹이 발전하면서, 예전에는 수십줄이면 충분했던 자바스크립트 코드가 이제는 수백, 수천줄 이상이 되었습니다. 클라이언트 개발을 하다보면, 오랜시간 동안 수행될 수 밖에 없는 기능을 구현해야 할 때가 있습니다. 웹 어플리케이션 서버와 주고받는 데이터 양이 매우 많거나, 서버에서 처리하기에는 부하가 심한 기능 같은 경우, 클라이언트 측에서 해당 기능을 수행하는게 효율적입니다. 하지만 브라우저
ES플러그인 커스터마이징 (3)ㅎㅇㅇㅎ검색 대응하기
티몬의 자동완성ES플러그인 커스터마이징을 다루는 마지막 3부의 주제로 한글 검색에 필수적인 자모 분해 Filter에 대해 알아보겠습니다. 티몬에서는 사용자의 검색 편의성을 위해 질의어를 입력하면 연관된 검색어가 자동으로 추천되는 자동완성 서비스를 제공하고 있습니다. 현재 해당 서비스는 한글 자모 분석 로직이 API와 색인 배치에 함께 녹아 있어 API 개발자와 색인 배치 개발자가 로직을 동시에 개발해야 하는 문제가 있습니다. 추후 분석 방법 변
섬네일 생성 자동화 - 미션2. 처리속도 높이기
들어가며지난 글<섬네일 생성 자동화 - 미션1. 같은 이미지 골라내기>을 통해 섬네일 서버로의 요청을 줄이기 위한 노력을 살펴봤습니다. 이미지에 암호화 해싱을 적용해 이미지 자체를 구분하는 네임테그(해시값)를 만들고, 네임테그끼리의 비교를 통해 동일 이미지 여부를 판단할 수 있었습니다. 이번 글에서는 지난 1부를 통해 줄어든 요청 건수를 어떻게 하면 더 빠르게 처리할 수 있었는지 다루고자합니다. 섬네일 서버의 성능경우에 따라 다르겠지만, 섬네일
스케치로 디자인 하기
모씨 디자인 팀은 8월 초 CTO의 추천으로 스케치를 디자인 주류 도구로 사용하게 되었습니다. 추천을 받은 순간에는 크게 기대하지 않았습니다. 새롭게 등장하는 디자인 프로그램들이 대부분 와이어-프레임(Wire-Frame)이나 목업(mock-up) 제작 도구 수준을 넘지 못하는 경우가 많았기 때문입니다.