Development

Java Compiler Optimization
시작하며 프로그래머가 작성한 자바 소스 코드가 실제로 실행되기까지는 꽤나 복잡한 과정을 거치게 됩니다. 자바 소스 코드를 바이트 코드로 변환 변환된 바이트 코드를 JRE(Java Runtime Environment)에 적재 JRE는 실시간으로 런타임에 기계(컴퓨터)가 이해할 수 있는 형태로 변환 후 실행 1번은 javac를 이용한 '컴파일' 행위이며, 2번은 컴파일된 결과물(.jar)을 java 런타임으로 실행하는 것이며, 3번은 얼핏 보았을 땐 인터프리터의 동작 방식과 유사합니다. 이번 게시글에서는 자바 컴파일의 각 과정에 대해서 간략하게 다루어 보고 그 과정 속에서 컴파일러가 자체적으로 어떤 최적화를 하며, JVM Option으로 컴파일러를 최적화할 수 있는 몇 가지 방법에 대해 이야기합니다. Jav..

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..