Development

    Google Calendar API 분석 및 시스템 구축 전략

    들어서며 구글 캘린더는 전 세계적으로 널리 사용되는 캘린더 애플리케이션입니다. 그러다 보니 캘린더를 읽고 새로운 이벤트를 작성하는 데 이용할 수 있는 RESTful API인 Google Calendar API가 함께 제공되고 있습니다. 이번 글에서는 이러한 구글 캘린더 API의 주요 기능을 이해해보고, 관련된 시스템을 구축한다고 하였을 때 도움 될 만한 몇 가지 전략을 공유합니다. 유즈케이스 모든 팀원이 공통으로 가능한 시간을 찾아 회의 시간 후보를 제안하는 가상의 애플리케이션을 만든다고 생각해보겠습니다. 그러기 위해서는 모든 팀원이 각자의 구글 계정으로 로그인(OAuth)하고, 캘린더와 관련된 정보를 애플리케이션에 제공하겠다는 동의를 해야 합니다. 그 후에는 회의 시간 후보를 추천 받고 싶을 때마다 버..

    Webhooks(웹훅) 시스템 체크리스트

    들어서며 최근 Webhooks 시스템을 구성하기 위해 필요한 요소를 짤막하게 고민해볼 기회가 생겨, 그때 고민해본 내용을 공유해보고자 합니다. 많은 분들이 웹훅 시스템을 구성한다고 하면 애플리케이션 시스템 아키텍처보다는 인프라 측면의 보안적인 요소에 많은 관심을 가지실 것입니다. 그래서 이번 게시글도 보안에 대한 부분을 메인으로 다루어보겠습니다. 보안과 관련된 내용은 기존 경험에 의한 생각, 웹훅 서비스를 제공하고 있는 서비스 벤치마킹 그리고 네이버와 센드버드에서 보안 업종에 종사하고 있으신 분에게 조언받아 작성하였습니다. 🙂 시스템 체크리스트(보안) 1. 통신 암호화 100% 신뢰할 수 있으며 통제할 수 있는 내부 시스템이 아닌 이상 통신 암호화는 필수요소라고 말할 수 있습니다. HTTP 통신을 한다면..

    M1 칩에서 pyqt5 설치하기 - qmake 패스 설정

    brew 를 이용하여 pyqt5 설치 brew install pyqt5 qmake 등 binary 사용을 위한 PATH 설정 echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/opt/homebrew/opt/pyqt@5/bin:$PATH"' >> ~/.zshrc source ~/.zshrc

    [컨퍼런스] Code for Korea Annual Conference | Happy Civic Hacking with CODE4KOREA

    코로나19 상황에서 공적 마스크 재고 현황 데이터 개방을 추진하고, 개인안심번호 개발 프로젝트를 진행한 시빅해커의 이야기를 들어보신 적 있으신가요? 6월 30일 이런 이야기를 엿들을 수 있는 Code for Korea Annual Conference 가 열립니다 ! 기술과 오픈소스를 이용한 사회 문제 해결에 대한 이야기가 오고갈 예정이니 많은 관심 부탁드립니다. 😄 - 일시: 2022년 6월 30일 (목) 13:00 ~ 17:30 - 대상: 기술을 이용한 사회문제에 관심 있는 누구나(개발자가 아니어도 됩니다 ! 학생도 환영합니다 !) - 주최: 코드포코리아, 한국지능정보사회진흥원, 행정안전부 공동 주최 - 장소: 국립중앙도서관 국제회의장 https://m.onoffmix.com/event/256507 H..

    마이크로서비스 아키텍처를 구성하는 핵심 요소 8가지 | 무조건 MSA가 정답일까?

    마이크로서비스 아키텍처는 기본적으로 '해결하려는 문제'를 기준으로 서비스를 분리하는 아키텍처입니다. 소위 말하는 DDD(Domain Driven Design; 도메인 주도 설계)에서 사용하는 도메인이라는 개념과 비슷한 기준으로 서비스를 분리한다고 볼 수도 있습니다. 이렇게만 이야기하면 잘 와닿지 않으니 예시를 하나 들어보겠습니다. 앞서서 해결하려는 문제를 기준으로 각 서비스를 분리한다고 이야기 드렸습니다. 쇼핑몰 앱이 있다고 한다면, 이 쇼핑몰을 운영하기 위해선 계정을 관리해야 한다는 문제가 있고, 결제도 관리 해야하고, 주문도 관리를 해야 합니다. 기존의 모놀리틱 아키텍처(Monolith Architecture)에서는 하나의 프로젝트, 하나의 웹 서버에서 이걸 다 처리했다면, 마이크로서비스 아키텍처에서..