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 파일에 의존하는 독..

    사용자 입력이 필요한 JUnit Test

    사용자 입력이 필요한 JUnit Test

    헤드퍼스트 디자인 패턴을 통해 템플릿 메소드 속 후크 알아보고 활용하기를 구현해보고 단위 테스트를 하고자하는데 사용자 입력을 받아야 하는 메소드가 있었다 private String getUserInput() { String answer = null; System.out.print("커피에 우유와 설탕을 넣을까요? (y/n) "); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { answer = in.readLine(); } catch (IOException ioe) { System.err.println("IO 오류"); } return answer == null ? "n" : answer; } 해당 method..