이상을 꿈꾸는 몽상가.. 프로그래밍을 좋아함..


  • 확장앱 개발기 (Chrome Extention, Firefox Add-On 차이 설명)


    Chrome Firefox
    ( 이미지 출처 : google.com, mozilla.org )

    Clean News라는 Chrome과 Firefox 확장앱(Add-On, Extension)을 만들면서 기록해둔 몇가지를 공유합니다.



  • Zappa를 이용해 AWS Lambda에 Flask 올리기


    Flask AWS Lambda
    ( 이미지 출처 : Wikipedia, https://aws.amazon.com/ko/lambda/features/ )

    Zappa라는 툴을 공유합니다.

    AWS Lambda 위에서 Flask 프레임워크를 사용할 수 있게 해주며 귀찮던 AWS APIGateway path 추가 작업이 필요 없어집니다.

    게다가 복잡한 배포 스크립트 작업 없이도 명령어 한줄만으로 배포 가능해집니다.



  • Toy-Projects


    개인적으로 Toy-Projects를 하면서 쌓아온 경험들을 기록하는 페이지 입니다.



  • Python3.6 설치


    Python
    ( 이미지 출처 : Wikipedia )

    Ubuntu 14.04 LTS에서 Python3.6 을 컴파일 설치하는 법을 알아봅니다.



  • Python SimpleHTTPServer


    Python
    ( 이미지 출처 : Wikipedia )

    Python 명령어 한줄로 간단한 HTTP 서버를 띄우는 방법을 알아봅니다.



  • Spring @Cacheable Cache 처리


    https://spring.io/
    ( 이미지 출처 : https://spring.io/ )

    이 글은 Spring을 사용하면 Redis, Memcached, Ehcache 와 같은 다양한 cache 솔루션 사용이 편해지는지를 설명합니다.
    Ehcache 솔루션을 기준으로 Spring @Cacheable을 설명하겠습니다.



  • Mybatis Cache 제거 방법


    Mybatis Logo
    (이미지 출처 : Mybatis)

    Mybatis의 cache 기능은 설정하지 않으면 기본이 on 상태입니다.

    개인적으로 기본설정은 캐싱없이 진행하고 추후 성능의 문제가 발생하면 캐싱을 추가하는 것이 맞다고 생각합니다.
    근데 Mybatis는 캐싱을하는 것이 기본설정이라는 점이 좀 재미있습니다.
    캐싱이 되고 있는지 모르는 상태에서 시스템을 구성한다면 다양한 문제를 만날 수 있을 텐데요..

    이 글에서는 캐싱 기능을 종료하는 방법을 설명합니다.



  • 홈페이지 현황 ( Log4J 2 관련 대박사건 )


    Apache Logging Service Logo
    ( 이미지 출처 : https://logging.apache.org )

    Log4J 공식사이트- Articles and Tutorials에서 제 블로그 글을 링크 걸어두고 있던 것을 발견하여 기록합니다.

    큰 의미가 있는 것은 아니지만 개인적으로 기분이 좋네요. (저한테만 대박사건 ㅋ)



  • AWS를 사용하면서 겪은 트러블슈팅 (DNS 기반 HA 관련 이슈)


    AWS 구성

    AWS를 이용해서 프로젝트를 진행하면서 겪은 트러블슈팅 중
    DNS 기반 HA 구성과 관련 된 두가지 트러블슈팅에 대해서 공유합니다.

    Apache HTTPD와 ELB를 함께 사용하면서 주기적으로 14초정도의 응답지연건이 발생했던 건과
    Aurora DB fail-over에 걸리는 시간을 최대한 줄여봤지만 3초정도의 한계가 있었던 건에 대해서 공유하겠습니다.



  • Python WAS 구축하기 ( Django, Nginx, Gunicorn )


    WSGI Middleware

    Python으로 REST API 서비스를 위한 WAS(Web Application Server) 구축을 진행합니다.

    Django만으로도 REST API를 오픈할 수 있지만
    Django의 runserver는 단순히 테스트만을 위한 기능으로
    운영환경에서 사용하면 성능상 문제를 겪게 됩니다.

    운영모드에서 Gunicorn 같은 WSGI(Web Server Gateway Interface) 미들웨어와 연동이 필요합니다.