Posts by ash84

Deview2017 2일차 후기

언제부터인가 Deview 를 2일 모두가는건 축복 혹은 사치가 되어버렸다. 2일 연속 신청해서 선착순 혹은 당첨되기도 어렵고, 2일 연속 회사에서 가라고 등떠밀지도 않기에 쉽지 않은일이 되어버렸다. 개인적으로 몇번째 Deview 인지는 모르겠지만 올해는 팀의 20살 막내를 데리고 참가를 하게 되었다. 개인적으로 1일차가 좀더 맞았던것 같은데 2일차만 되서 참석하게 되었다. 들었던 몇가지 세션들에 대한 느낌은 이렇다. [232]mist… Read More

2017년 10월 파이썬 세미나 - Python & Data

파이콘에서 주최하는 세미나가 있어서 참석하게 되었다. 역삼동에 있는 페이스북 코리아에서 열리게 되었고 간단하게 들었던 부분을 남겨본다. http://blog.pycon.kr/2017/10/21/python-seminar/ 데이터 시각화를 통한 파이썬 입문기 크롤링, konply, word-cloud 도시공학과의 파이썬 도시공학 : 설계, 기후, 교통 학식알리미(python + flask) : 로그의 그래프화 matplotlib 라이브러리, ply.xkcd() 어디에 국공립 어린이집을 지으면 좋을까? : QGIS, 파일편집툴(+pypy)… Read More

emqtt shared subscription

최근에 우아한형제들 기술블로그에서 mqtt 관련 글이 올라온것을 봤는데, 마침 새 프로젝트에서 mqtt 를 사용할 경우가 생겼다. mqtt의 여러가지 기능 중에서 Shared Subscriptions 기능이 필요했다. 이 기능이 필요한 이유는 하나의 토픽을 여러 클라이언트가 수신하고 있는 상태에서 여러 클라이언트 중 하나만 어떤 기능을 하기 위해서이다. 예를 들면, 주문상태가 변경되면 알림을 발송해야하는데 2개의 클라이언트가 수신하고 있다고할때, 두번 알림이… Read More

로그를 잘 남기기

보통의 웹 어플리케이션, 사이트 등을 만들 때 순수한 개발 외적으로 신경 써야 할 부분 중 여러 가지가 있는데 그 중에 하나가 로그이다. 잘 돌아가는 사이트들도 서버에 들어가서 로그를 남기는 형태나 로그파일을 보면 얼마나 신경을 썼는지를 알 수 있다. 이건 마치 그림의 뒷면이나, 자동차 하부를 보는것과 같다. 로그를 남기는 것은 매우 중요하다. 뭔가 문제가 생겼을 때… Read More

인공지능 스피커, 과연 이게 필요한가?

카카오미니, 네이버의 웨이버, 아마존의 에코 등 인공지능 스피커들이 난리다. 정확히 인공지능 스피커라는 용어가 맞는지도 모르겠지만, 개인적으로는 솔직히 왜 이게 필요한지를 모르겠다. 일단 기능자체는 거의 모든것들이 현재의 스마트폰에서 되는것이다. 노래를 찾아서 재생하거나, 길을 찾거나, 집에 있는 하드웨어를 제어하거나 등등. 좀 더 나은점이라면 음성인식 + 서비스가 하나로 결합된 상태라고 볼 수 있을것이다. 아이폰의 시리나 삼성의 벅스비에 구글이나 네이버의… Read More

python - db stored procedure 호출에 generator 활용하기

프로시저 호출은 몇 가지 제약을 가진다. 일단 프로시저명을 전달해야 하고 파라미터를 순서대로 전달해야 한다. 그리고 결과를 주는 방식이 하나의 결과를 줄 수도 있고 여러 결과를 줄 수도 있다. 프로시저당 하나의 호출 함수를 만들면 너무 많은 프로시저 호출 함수가 생기는 문제가 있다. 그래서 프로시저 이름을 받는 파라미터와 전달할 프로시저 파라미터, 그리고 insert, update, delete 의 경우… Read More

퇴사자는 진실을 말하지 않는다.

나도 그랬고 다른 사람도 그랬다. 친한 사람들 앞에서는 퇴사의 이유에 대해서 이야기를 하지만 진짜 퇴사 이유를 밝히지는 않는다. 더 좋은 오퍼가 있어서 간다는 식이다.(어떤 사람이 더 나쁜 오퍼가 가겠는가, 가봐야알뿐) 왜 그럴까? 불편해서?, 나가는 마당에 굳이 애기할 필요가 없어서? 여러가지 이유들이 있겠다. 퇴사자들을 탓하고 싶지는 않다. 어찌보면 그건 당연한것이다. 이 바닥은 좁고 굳이 나가는… Read More

flask-sqlalchemy multiple databases

사용하기 flask-sqlalchemy 에서 기본적으로 SQLALCHEMY_DATABASE_URI 설정을 통해서 mapping class 에 정의된 테이블들이 DB와 연결되게 된다. 그런데 1개 이상의 DB와 연결해야하는 경우가 생긴다. 기존의 회원정보를 같이 쓰는 다른 서비스의 경우가 대표적인 케이스이다. 이럴경우, flask-sqlalchemy 에서는 SQLALCHEMY_BINDS 를 통해서 여러 데이터베이스 URI를 지정할 수 있게 해주고 있다. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql:… Read More

python sorted 에 대해서.

sorted 에 대해서 질문을 받았고 잘 대답을 하지 못해서 복기차원에서 이 글을 쓴다. 대부분의 내용은 Sorting HOW TO 라는 글에서 가져왔음을 밝힌다. list.sort() vs sorted() list.sort() 는 리스트 내부에서 정렬된다. 그에 비해 sorted() 는 정렬된 값을 돌려준다. 그렇기 때문에 원래 값을 유지하면서 정렬된 결과를 얻고 싶다면 sorted() 를 사용하면 된다. list.sort() 는… Read More

dev-meetup.github.io - 마우스 오버 기능 추가

작은 기능을 추가했다. 데스트탑 환경에서는 현재 월 캘린더 형태로 보여주고 있는데, 위의 사진과 같이 시간 제목 으로 표시하다 보니 세부내용을 확인하려면 일일이 들어가서 봐야하는 불편함이 있었다. 그래서 캘린더 상에서는 마우스 오버를 할 경우 popover 의 형태로 내용들, 시간, 장소, 태그를 출력해 주는 기능을 추가했다. fullcalendar 에는 이벤트에 대한 여러가지 액션을 지원해주고 있어서 그것을 활용했고, 그… Read More