• GCP: Firebase를 통한 Serverless 웹사이트 운영후기


    Firebase 기반 Serverless 웹 앱 제작

    개인적으로 AWS가 더 친숙하고 사용경험이 많기에 사실 해당 프로젝트를 시작할 때, AWS를 사용하는 편이 속도는 나왔겠지만 뭐든 여유로울 때 학습하는 것이 좋기에, 굳이 GCP를 택했다. 또한 1년 Free Trial 300달러는 이것 저것 해보기에 딱 좋았다.



  • AWS: re:Invent 2020 에서 발표된 신규 서비스/업데이트 간단정리


    서버 인스턴스

    Amazon EC2 Mac instances
    • macOS 용 Amazon Elastic Compute Cloud (EC2) Mac 인스턴스
    • EC2 Mac 인스턴스를 사용하면 iPhone, iPad, Mac Apple Watch, Apple TV, Safari 앱 개발자는 macOS 환경을 몇 분 안에 구축하여 액세스 할 수 있고, 필요에 따라 용량을 동적으로 확장가능
    • EC2 Mac 인스턴스는 베어 메탈 인스턴스 (mac1.metal)에서 이용 가능하고, macOS Mojave 10.14와 macOS Catalina 10.15을 지원하고 macOS Big Sur 11.0의 지원도 곧 시작


  • Python: 파이썬으로 S3 데이터 브라우징하기


    오픈소스, Flask S3 Viewer

    설치

    pip install flask flask_s3_viewer
    

    세팅

    from flask import Flask
    
    from flask_s3_viewer import FlaskS3Viewer
    from flask_s3_viewer.aws.ref import Region
    
    # Init Flask
    app = Flask(__name__)
    
    # Init Flask S3Viewer
    s3viewer = FlaskS3Viewer(
        # Flask App
        app,
        template_namespace='mdl',
        # Namespace must be unique
        namespace='flask-s3-viewer',
        # Hostname, e.g. Cloudfront endpoint
        object_hostname='http://flask-s3-viewer.com',
        # Put your AWS's profile name and Bucket name
        config={
            'profile_name': 'PROFILE_NAME',
            'bucket_name': 'S3_BUCKET_NAME'
        }
    )
    
    # Register Flask S3Viewer's router
    s3viewer.register()
    
    if __name__ == '__main__':
        app.run(debug=True, port=3000)
    

    플라스크 실행

    python app.py
    

    http://localhost:3000/flask-s3-viewer/files 으로 방문하면, 원하는 화면을 볼 수 있다. 만약, namespace가 변경된다면 접속 url도 변경된다 (http://localhost:3000/{namespace}/files)

    자세한 내용은 docs를 참고하면 빠르게 적용할 수 있다.



  • Pyenv: pyenv 인스톨이 실패할 경우 (No module named 'pyexpat')


    pyexpat이 원인으로 pyenv install 이 실패할 경우

    xcode가 업데이트만 하면 항상 이런문제가 생기는 것같다.

    # 잘못된 버전이 위치된 CLI 툴을 삭제한다.
    $ sudo rm -rf /Library/Developer/CommandLineTools
    # 다시 설치한다.
    $ xcode-select --install
    # 설치 확인
    $ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
    package-id: com.apple.pkg.CLTools_Executables
    version: 10.3.0.0.1.1562985497
    volume: /
    location: /
    install-time: 1570155487
    groups: com.apple.FindSystemFiles.pkg-group
    

    여러가지 방법을 시도해봤지만, 재설치이외에는 해결법이 없었다.



  • AWS: cloudfront 셋팅 훑어보기


    Amazon CloudFront

    글로벌 각 리전에 캐시서버가 존재해, 빠르고 고도로 안전하며 프로그래밍 가능한 CDN(콘텐츠 전송 네트워크) 서비스


    Create Distribution

    Origin Settings

    • Origin Domain Name
      CloudFront가 실제로 바라보게 될, Origin(서버 혹은 서비스) 값, e.g. {bucket}.s3.amazonaws.com
    • Origin Path
      해당 path를 추가해주면, CloudFront가 바라보는 Origin의 해당 path가 기준이 된다(해당 경로를 루트로 보고 적용된다), e.g. {bucket}.s3.amazonaws.com/{origin_path}
    • Origin ID
      자동으로 생성되며, 해당 CF를 구분짓는 고유 ID이다.
    • Origin Custom Headers
      말그대로 커스텀한 헤더가 추가가능하다.