프로그래밍/웹 개발(22)
-
JWT란?
개요Apple App Store Connect API를 사용하기 위해 JWT 토큰이 필요한 과정에서 알게 된 지식을 정리해보고자 한다.이전 프로젝트에서 Node jsonwebtoken 라이브러리를 활용해서 API 통신을 하고 있었으나 사용법만 숙지한 상태에서 깊은 이해가 부족했던 탓도 있다. JWT란?JWT는 JSON Web Token의 약자로 cookie나 session없이 Client와 Server의 인증을 진행하는 과정을 뜻한다. JWT의 구조1. header2. payload3. signature https://jwt.io/introduction위 공식문서에 나와있듯이 JWT의 구조는 세가지로 이루어져있다.표준으로 정해진 것으로는 header에 alg, type 프로퍼티를 가지고 payload에는..
2025.03.13 -
Apache Jmeter "$JAVA_HOME/bin/java" $ARGS $JVM_ARGS $JMETER_OPTS -jar "$PRGDIR/ApacheJMeter.jar" "$@" 해결
실행환경 : Mac os m1 문제상황 DB 부하테스트를 위해 Jmeter를 설치하고 실행 도중 다음과 같은 에러가 발생했다. "$JAVA_HOME/bin/java" $ARGS $JVM_ARGS $JMETER_OPTS -jar "$PRGDIR/ApacheJMeter.jar" "$@" 아래 github issue 채널에 해결하신 분들이 있다. https://github.com/apache/jmeter/issues/6083 JMeter cannot be run in macOS Sonoma (Apple Silicon) by Homebrew · Issue #6083 · apache/jmeter Expected behavior Run jmeter successfully Actual behavior JMeter c..
2024.04.12 -
로컬 서버에 CI/CD 적용하기 (Feat : ssh: handshake failed 해결)
일반적으로 CI/CD는 도커 환경에서 도커 이미지를 빌드하고 클러스터에서 해당 이미지를 서비스로 실행한다. 물론 일반적인 경우의 얘기이고 당연히 다른 방법으로도 CI/CD를 구축할 수 있다. 가령 클라우드 환경이 아닌 실제 로컬 환경에서 서버를 쓰는 경우도 있다. 이 경우 SSH로 접속해 배포를 자동화할 수 있다. Git Hub Actions에서는 배포를 위해 여러가지 도구들을 제공하는데 yml파일에 uses에 작성하는 부분이 바로 그 부분이다. 여기서는 SSH를 통해 배포를 시도하기 위해 널리 사용되는 appleboy의 툴을 사용할 것이다. https://github.com/appleboy/ssh-action?tab=readme-ov-file GitHub - appleboy/ssh-action: Git..
2024.02.27 -
Google GIS(Google Identity Services) 방식이란?
사내에서 소셜 로그인을 구현하게 됐다. 그 중에서도 구글을 맡게 됐다(페이스 북 로그인은 비즈니스 계정이 인증된 후에 추가적으로 email을 api로 요청해야 하는데 비즈니스 계정 인증이 안되는 관계로 우선은 보류됐다). 1. google cloud 콘솔에서 계정 생성 https://console.cloud.google.com/ 새 프로젝트 생성 2. people api 등록(이거 아니라도 Google Login API를 사용할 수 있는 다른 API라도 추가하면 됨) 3. oauth 동의화면에서 클라이언트 등록(ID, PW 발급) ->이때 발급받은 Client ID로 Google에 API를 호출한다. Redirect URI 등 추가 4. docs 참고하면서 Javascript 코드 추가 google에서 ..
2024.01.30 -
[Express] 어플리케이션 레벨 미들웨어와 라우터 레벨 미들웨어
https://expressjs.com/en/guide/using-middleware.html Using Express middleware Using middleware Express is a routing and middleware web framework that has minimal functionality of its own: An Express application is essentially a series of middleware function calls. Middleware functions are functions that have access to the request ob expressjs.com - 라우터의 개념 express에서는 라우터라는 것이 있다. 라우터는 쉽게 말해 컨트롤러..
2023.10.29 -
Spring Boot 서버를 AWS에 배포하기(프리 티어/무료)
파이널 팀프로젝트에서 진행하지 못해 가장 아쉬웠던 게 서버에 배포하는 것이었다. 늦게나마 서버에 배포하는 법을 알게 되어 관련 내용을 정리해놓고자 한다. 대부분의 내용은 유튜브, velog를 참고했다 1. 인스턴스 생성하기 매년, 매번 AWS의 UI가 바뀌기는 하지만 어쨌든 생성원리는 똑같다. 우측 상단의 인스턴스 시작으로 인스턴스 생성 페이지로 넘어간다. - AMI 및 그에 맞는 아키텍처 선택하기(Amazon Machine Image) AMI는 우리가 사용할 서버의 운영체제로 어떤 것을 선택할 것인가 정하는 것이다. 일반적으로 Ubuntu를 많이 쓴다고 하며 최근에는 AWS에서 제공하는 Linux도 많이 사용한다고 한다. 필자는 Ubuntu를 선택했다. AWS에서는 1년간 프리티어로 클라우드 컴퓨팅을 ..
2023.10.23