Python 속도 개선, 성능 최적화: tracing & profiling

파이썬을 쓰다보면 코드 길이와 복잡도가 증가할 수록 어디서 느려지는지 원인을 찾기 쉽지 않은 경우가 있습니다. 이러한 상황에서 원인을 찾기 수월하게 해주는 몇가지 profiling 툴에 대해 몇 가지 소개하고 그 사용법을 안내합니다. 이게 왜 필요했냐? 그래서 이걸로 뭘 했냐? 사건의 발단입니다. 새 기능을 구현하기 위해 코드를 Python 넘겨받았습니다. 그런데 한번 돌릴때마다 3 ~ 5초정도 걸렸는데요. 구현할… Continue reading Python 속도 개선, 성능 최적화: tracing & profiling

ELASTICSEARCH 실시간 데이터 모니터링과 분석

모니터링과 데이터 분석의 필요성 개발한 시스템이 정상적으로 작동하는지 확인하기 위해 지속적인 모니터링을 할 뿐만 아니라 장비의 로그를 분석하여 잠재적인 위험요소에 대비합니다. 엑셀로 방대한 로그 데이터를 분석하는 것이 점점 한계가 오기시작했고, 상용 프로그램을 사용하자니 가격이 만만치 않았기에(우리는 스스타트업이니까) TunaLabs에서는 개발중인 풍력 발전기에 모니터링 및 데이터 분석 시스템으로 오픈소스 ELK(ELG) 스택를 도입했습니다. *ELK(ELG) = Elasticsearch + Logstash + Kibana… Continue reading ELASTICSEARCH 실시간 데이터 모니터링과 분석

Migration WordPress from XpressEngine

5년전 지금으로부터 개인 홈페이지를 구축할 때 사용한 XpressEngine은 저에게 웹 디자인이라는 재밌는 취미를 안겨주었습니다. 지금까지도 그 많은 취미 중 웹 디자인에 애착을 가지고 있고, 또 실무에 다양하고 유용하게 쓰이고 있는데요. 왜 XpressEngine에서 WordPress로 갈아탔나요? 많은 이유가 있었지만 “WordPress가 블로깅으로 적합하다”로 귀결된다 입니다. 개인차가 있겠지만 XpressEngine은 한국형 게시판에 촛점이 맞춰져 있어 블로그 용도로는 적합하지 않은것으로 생각되기 때문입니다.… Continue reading Migration WordPress from XpressEngine

LINE Notify를 이용한 시스템 장애 알림 시스템

관리자는 시스템에 문제가 생겼을 경우 이에 대한 빠른 조치가 필요합니다. TUNALABS.IO에서 문제에 대한 알림을 이메일 대신 문제 발생시 즉시 푸시알림을 받을 수 있는 LINE 메신저를 고려하게 되었습니다. 이번에는 LINE Notify로 LINE으로 메시지 보내는 방법과 TUNALABS.IO의 응용사례를 소개합니다. Access Token 발급받기 https://notify-bot.line.me/my/ (LINE 계정 필요) 위 페이지로 이동하여 [Generate token]버튼을 클릭하여 token명과 알림을 보낼 유저를 선택 후 access token을 발급받습니다.… Continue reading LINE Notify를 이용한 시스템 장애 알림 시스템

XE – mid 숨기기 애드온 사용시 SEO 모듈 canonical tag 관련 이슈

  mid 숨기기 애드온과 XpressEngine에 기본 내장된 SEO 모듈을 같이 사용하게 될 경우.   실제로 주소창에 나타나는 URL: http://blog.tunalabs.io/179621 canonical tag 에 뿌려지는 값: http://blog.tunalabs.io/web/179621   검색엔진:     WTF ?     당연히 SEO 최적화에 부정적인 영향이 갈 수 있겠다. 따라서 실제 url과 canonical tag값을 일치시켜서 SEO를 최적화하는 방법은   mid 숨기기 애드온을 끄는 방법 XpressEngine… Continue reading XE – mid 숨기기 애드온 사용시 SEO 모듈 canonical tag 관련 이슈

HTTP 접속시 HTTPS로 강제 리다이렉트 (아파치, IIS)

http://blog.tunalabs.io/179208로 접속시 강제로 https://blog.tunalabs.io/179208 로 리다이렉트 하는 방법.     using .htaccess   RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]   using web.config ROOT 디렉토리에 web.config 파일을 생성 후 다음내용을 넣고 저장한다. → IIS Rewirte 모듈이 필요 http://www.iis.net/downloads/microsoft/url-rewrite   <configuration> <system.webServer> <rewrite> <rules> <rule name=”HTTP to HTTPS redirect” stopProcessing=”true”> <match url=”(.*)” /> <conditions> <add input=”{HTTPS}” pattern=”off”… Continue reading HTTP 접속시 HTTPS로 강제 리다이렉트 (아파치, IIS)

Published
Categorized as Web

XE – 게시글 등록/수정 할때 자동으로 페이지 캐시파일재생성

    게시글 수정 후 액박   맨날 메인페이지가서 캐시파일재생성 버튼 갈기기 귀찮다.         doRemoveWidgetCache() 함수사용   개발자 도구로 찔러보니 있더라         이 함수에 Page의 Module 고유번호를 넣으면 Page에 포함된 위젯 캐시들을 재생성한다.           함수 호출 후 새로고침 되는문제 exec_xml 함수에 callBack 된 함수에 페이지를 재생성하도록… Continue reading XE – 게시글 등록/수정 할때 자동으로 페이지 캐시파일재생성

JSON 자동정렬 및 검증을 도와주는 JSON Formatter

  가독성 엉망인 코드를 다음과 같이 질서정렬하게 정리해준다.       JSON Formatter & Validator ㅡ https://jsonformatter.curiousconcept.com/   사용법은 간단하다.   1. 넣고 2. Process 버튼 클릭 3. 결과확인   더 이상의 자세한 설명은 생략한다

Published
Categorized as Web

XE – 외부페이지의 위젯 캐시파일재성성 안될때 해결책

  부제: 사용자 문제이지, XpressEngine 문제가 아닙니다       Subject   외부 페이지의 위젯 캐시파일재생성이 안된다. 그러니까, 외부페이지에 인클루드된 위젯이 캐시파일 재생성 되지않는것을 말한다. 위 사진과 같이 게시글을 수정했을경우 액박이 뜨는데, 이때 외부 페이지하단에 있는 캐시파일재생성을 눌러도 액박이 없어지지 않는, 위젯 캐시갱신이 되지 않는 문제이다.     페이지 타입이 외부 페이지인 경우를 말한다.         … Continue reading XE – 외부페이지의 위젯 캐시파일재성성 안될때 해결책

페이지 벗어날때 확인창 띄우기

손가락 미끄러져서 쓰던글 날려먹은게 한 두번이 아닌지라  ㅡㅡ; 자동저장기능이 있긴한데.. 더 큰 1이 일어나기전에 대비책을 세우기로 했다. 그래서 Jquery로 글쓰기 페이지를 벗어날때 확인창을 띄워주는것으로 해결.   Jquery 라이브러리 인클루드하고 아래 코드를 적용하면 된다. jQuery(document).ready(function($) { var checkload = true; $(“#submit-btn”).click(function () { checkload = false; }); $(window).on(“beforeunload”, function () { if (checkload == true) return “레알 나감????????????”; }); });… Continue reading 페이지 벗어날때 확인창 띄우기

Published
Categorized as Web