• AWS: 서울리전 장애:믿는 도끼에 발등


    발등이 아프다

    아침부터 요란하게 전화가 울린다 했더니, 아니나다를까 서버장애가 발생했다. 회사에 와 보니 옆 자리 동료는 이미 와서 씨름중.. 회사내 서비스가 모두 AWS기반이다 보니, 온갖 장애를 다 뿜뿜하고있었다.

    도메인서버 에러

    아직 정확한 에러내용을 AWS측에서 오픈한건 아니나, DNS 장애로 판단이 되었다. AWS route53에서 서브도메인을 이용하여 커넥션을 잡는 경우 2차 장애가 있다고하니, AWS 노예들은 조심하도록… 3시간 이상 장애가 지연되면, 보상해준다고 어디서 들었는데 맞나?



  • MacOS: 맥에서 Mojave(모하비) 업데이트 후 vim 에러


    맥 모하비 업데이트를 했느데 이게 왠걸.. vim이 에러뜨면서 꺼진다.

    Exception MemoryError: MemoryError() in module threading from python

    모하비 업데이트시, 애플에서 vim을 강제 컴파일 하는걸로 알고있는데, 복불복인가. 주변 동료는 문제없이 업데이트 되었는데, 나만 해당에러가 뿜뿜하면서 꺼졌다. brewvim을 새로 설치하고, alias vi=vim으로 해줘도 해결할 수도 있다.

    그러나, git에서 system vim을 보고있기때문에, 소스 병합시 커밋메세지를 보낼 때 에러가 뜬다. 구글링하다보니 나와 같은 현상의 사람들이 종종 보이는것 같다. 그래서 해결법을 공유하고자한다.



  • Python: 파이썬에서 GraphQL + SQLAlchemy > Model(Enum) Error 대처


    GraphQL + SQLAlchemy 리플렉션시, Enum이 있는 모델 에러 발생시 대처법

    그래프QL에서 schema.py를 작성시, 처음부터 선언하는 방식이 아닌 SQLAlchemy 모델 리플렉션을 사용하여 스키마를 빌드하면 매우 편리하다. 하지만, 모델에 Enum 컬럼이 존재하면, 해당 모델은 문자열로 처리되어, type.nameNone을 반환, 열거형 변환이 실패한다. 에러 예시는 다음과 같다.

    • Error
      enum_class = super().__new__(metacls, cls, bases, classdict)
      TypeError: type.__new__() argument 1 must be str, not None
      

      해당 에러를 뿜으면서 app.py가 실행안된다.



  • Python: 파이썬에서 그래프QL사용해보기. (GraphQL with Flask)


    GraphQL

    GraphQL은 페이스북이 개발한 데이터 질의어다. Facebook의 graph API를 사용해 본 사람이라면 구조가 꽤나 친숙할 수 있다. 회사 특성상, Facebook과의 접점이 많은 나에겐 당장 사용해보고 싶었다. 그래프QL은 따로 API를 제작하지 않아도, 사용자가 어떤 데이터가 필요한지 명시하는 것만으로 원하는 데이터를 얻거나 컨트롤 할 수 있다.

    • 소스는 graphql-python을 참고하면 된다. 해당 소스를 git cloneexamples/flask_sqlalchemy를 참고하였다.


  • Kali linux: Mac에서 booting USB만들기


    사용 중이던 kali linux의 의존성 패키지를 설치하다가, 패키지를 잘못 건드려서 GUI booting이 안되는 대참사가 일어났다. 주말을 꼬박 써서 해결해보려 했으나.. 포기하고 다시 깔기로 하였다. 칼리 세팅에 투자한 시간이 너무 아깝다만 별 수 없었다.

    부팅 USB를 만들어야하는데, 사실 Window에서만 해보고 Mac에서 처음이다. 한번 해보자.