전체 글

전체 글

    조종사의 비행 계측기에 해당하는 장치를 만들자

    조종사의 비행 계측기에 해당하는 장치를 만들자

    계측기란? 기계공학 용어사전에 따르면 계측기는 중량, 용량, 속도, 진동, 소음, 온도, 열량, 길이 등 양의 크기나 물리적 상태를 수치로 포착하여 지시 또는 기록하는 기구이다. 그러면 이 글의 제목은 왜 "조종사의 비행 계측기에 해당하는 장치를 만들자 " 인가? 요즘 읽고 있는 "이펙티브 엔지니어"라는 책에서 성공한 IT 기업들은 개발자가 시스템 동작을 쉽게 측정, 모니터링, 시각화할 수 있게 조종사의 비행 계측기에 해당하는 장치를 만든다고 나와있다. 그래서 특정 동작의 근본 원인을 빨리 파악할수록 문제를 더 빠르게 처리하며 발전할 수 있다고 했다. 모니터링 시스템을 사용해서 지표를 수집하고 집계하여 그래프로 만들고 이상이 감지되면 경고를 보낸다. 코드 배포 시에도 지표를 수집한다면 코드 배포 시간의 ..

    우분투 Jenkins 설치하기

    우분투 Jenkins 설치하기

    놀고 있는 노트북에 젠킨스를 설치하기 위해 아래 공식 문서를 참고했습니다! LTS 버전으로 진행했습니다! 1. jenkins debian packages 사용을 위해 시스템에 키를 추가합니다 [curl -fsSL] # 키 등록 curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc > /dev/null # 키 등록 확인 sudo apt-key list # [결과] uid [ unknown] Jenkins Project 2. Jenkins apt 저장소 항목을 추가합니다 echo deb [signed-by=/usr/share/keyrings/jenkins-..

    [Flutter] Firebase Authentication을 사용하여 구글 계정 인증하기

    [Flutter] Firebase Authentication을 사용하여 구글 계정 인증하기

    이번 글은 Flutter 프로젝트에서 파이어베이스 인증을 사용하여 구글 로그인을 해보겠습니다 Firebase Authentication Firebase Authentication을 사용하면 서버 측 코드 없이 다양한 제공업체의 사용자를 인증하고 관리할 수 있습니다. 그러면 Flutter에서 firebase을 사용하여 구글 계정 인증하기를 해보겠습니다! 프로젝트에서 빌드-> Authentication 메뉴를 클릭하고 시작하기 버튼을 클릭합니다 그러면 로그인 제공 업체가 보여지는데 이 중 Google로 진행해보겠습니다 구글을 선택하면 위와 같은 화면이 나타납니다 프로젝트의 공개 이름은 자동으로 들어갑니다. 프로젝트 지원 이메일만 선택 후 저장 버튼을 클릭합니다 그러면 최신 구성 파일 다운로드에 대한 안내 내..

    [Flutter] Flutter 앱에 Firebase 파이어베이스 설정하기

    [Flutter] Flutter 앱에 Firebase 파이어베이스 설정하기

    Firebase 프로젝트 생성 Firebase 프로젝트를 추가하고 Flutter 앱을 추가하여 시작하기를 클릭한다! 참고로 flutter 3.0 공식 릴리즈부터 Firebase가 플러터를 공식 지원했습니다! 🎉 그래서 기존에는 플랫폼별로 다 설정해야 했었습니다 하지만 firebase가 flutter를 지원하기 때문에 손쉽게 설정이 가능합니다 Flutter 앱에 Firebase 추가 [Flutter 프로젝트는 생성했다고 가정하겠습니다] 1. 작업공간 준비 공식 문서를 보면서 하면 쉽게 할 수 있다 😄 https://firebase.google.com/docs/cli?authuser=0&hl=ko#install_the_firebase_cli Firebase CLI 참조 | Firebase Documentat..

    21년 12월 JAVA 보안 취약점 이슈와 API 보안에 대해 학습

    21년 12월 JAVA 보안 취약점 이슈와 API 보안에 대해 학습

    JAVA 보안 취약점 이슈로 인해 Spring Framework 영향 2021년 12월 Log4j라는 자바 컴포넌트에서 악용하기 쉬운 취약점이 발견되었습니다 원인은 Log4j의 ldap JNDI 파서를 통한 원격 코드 실행입니다 원격 코드 실행이 되기 때문에 로그인 하든 안 하든 사용자를 해커가 원격으로 조종할 수 있는 의미가 됩니다 그렇게 되면서 자바 플랫폼을 위한 프레임워크(ex spring)를 사용하는 모든 서비스가 보안에 노출되었습니다. 자세한 내용은 아래를 참고! https://ko.wikipedia.org/wiki/Log4Shell API 보안 "API 보안은 사용자가 소유한 API와 사용하는 API 모두의 무결성을 보호합니다" 여기에서 무결성은 신뢰할 수 있는 서비스 제공을 위해서 완전성, ..

    gradle project에서 JMH 라이브러리를 이용해 java code 성능 측정

    gradle project에서 JMH 라이브러리를 이용해 java code 성능 측정

    JMH 이란? JMH(Java Microbenchmark Harness)는 openjdk에서 만든 라이브러리입니다 JMH는 JVM을 대상으로 한 자바 및 다른 언어로 작성된 nano/micro/milli/macro를 구축, 실행 및 분석하기 위한 java harness입니다 또한, JMH은 어노테이션 기반 방식을 지원하기 때문에 간단하고 안정적으로 벤치 마크 구현이 가능합니다. JMH이 안정적으로 벤치 구현이 가능한 이유는 JVM으로 실행되는 프로그램은 핫스팟이 바이트코드를 최적화 하는데 필요한 준비 시간, 가비지 컬렉터로 인한 오버헤드 등과 같은 여러 요소를 고려해야하기 때문입니다 gradle에서 JMH를 사용하기 JMH 벤치마크를 실행하는 권장 방법은 Maven을 사용하여 jar 파일에 의존하는 독..