반응형

전체 글 36

IntelljJ 미사용 Import 코드 정리

개발을 하면서 소스코드를 수정하다보면 사용하지않는 import문 들이 많이 생긴다. 하나하나 정리해주어도 좋지만, 개발 퍼포먼스 향상을 위해 IntellJ에서 코드 저장 시 자동으로 사용하지 않는 import를 정리해주는 기능을 사용해봐도 좋을 것 같다. Settings > Tools > Actions on Save 원하는 옵션 체크 Reformat code - 자동정렬, 개인적으로 잘 사용하진 않는다. (기존 프로젝트 같은 경우 코드 변경사항이 너무 많이 생겨버림) Optimize imports - 사용하지 않는 import문 정리

개발경험기록 2023.07.16

백엔드 개발자 기술 질문 리스트 - Spring Framework

스프링 프레임워크는 왜 생긴 것인가? 이전에는 서버사이드 처리를 직접 쓰레드, 소켓연결 등을 개발자들이 직접 처리했고, 개발자 마다 구현하는 방법이 달라 협업에 불편함이 많았다. 이러한 상황에서 개발 표준을 잡은 것이 Java Enterpricse Edition이다. 이 안에는 많은 스펙들을 담았고 개발자들은 그 스펙들을 구현하는 방법을 사용하기 시작했다. 그러나 구현하는 과정도 개발자 마다 여러 방법으로 나뉘게 되고, 개발자들은 정형화, 표준화된 방법을 찾기 시작했는데 이러한 배경에서 등장한 것이 Framework이다. 많은 종류의 Framework이 등장하고 자바 진영에서는 대표적으로 EJB가 나왔지만 분산환경 처리에 특화된 EJB는 너무 무겁고 불편한점이 많아 경량화된 Java Enterprise용..

Web Programming 2023.03.01

nGrinder 성능테스트 사용법 및 테스트 예제

1. nGrinder nGrinder는 네이버에서 제공하는 서버 부하 테스트 오픈 소스 프로젝트이다. 애플리케이션을 개발하고 nGrinder에서 여러가지 가상 시나리오를 만들어 트래픽에 몰렸을 때 성능을 측정할 수 있도록 도와준다. 2. 구조 Controller : 사용자가 테스트 수행을 위한 스크립트를 생성하여 성능 측정을 위한 웹 인터페이스를 제공하며 테스트 결과를 수집해 통계를 보여준다. Agent : Controller의 명령을 받아 작업을 수행하며 프로세스 및 스레드를 실행시켜 타겟이 되는 애플리케이션에 부하를 발생시킨다. 3. 설치방법 Docker APP을 통해 nGrinder를 쉽게 설치할 수 있다. Docker없이 GitHub에서 Controller와 Agent를 다운받아 실행할 수도 있다..

Web Programming 2023.02.11

구글 로그인 쉽게 구현하기 3편 - 로그인 구현하기 (SpringBoot + Vue.js)

로그인 처리 플로우는 아래와 같다. 인가 코드 받기 -> 토큰 받기 -> 사용자 정보 가져오기 해당 글에서는 인가 코드 받기는 클라이언트 페이지에서, 토큰 받기와 사용자 정보 가져오기는 서버에서 처리할 예정이다. 위 플로우 대로 처리되기 위해 2개의 클라이언트 페이지와 1개의 API가 필요하다. 1. 클라이언트 페이지 구글 로그인 버튼 페이지 구글 로그인 후 Redirect되는 페이지 2. 서버 클라이언트 페이지에서 전달받은 인가코드를 통해 로그인 토큰 발급 및 유저 정보를 조회하는 API 구글 인증 구현 1. 인가 코드 받기 서비스 서버가 구글 인증 서버로 인가 코드 받기를 요청한다. 여기서 얻은 인가 코드는 로그인 토큰을 얻기 위해 사용된다. 클라이언트 페이지에서 구글 로그인창이 노출되고 구글 계정으..

Web Programming 2023.01.24

구글 로그인 쉽게 구현하기 2편 - 개발 환경 설정

개발환경 Spring Boot Vue.js MySQL 필요한 모듈 설치 Java 11 vue/cli 4.5.4 MySQL 8.0.18 Java, Vue, MySQL 버전은 위와 상이해도 무관하다. 1. Spring Boot 프로젝트 생성 1) Spring Boot 프로젝트 생성 아래 사이트에서 Spring Boot 프로젝트를 생성할 수 있다. https://start.spring.io/ 2) Gradle 설정 build.gradle 구글 로그인 서비스 구현에 필요한 모듈을 설정한다. implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-star..

Web Programming 2023.01.24

구글로그인 쉽게 구현하기 1편 - Google Developers 설정

구글 로그인 API 클라이언트 입장에서 수많은 사이트의 모든 아이디 비밀번호를 기억하기는 쉽지 않다. 또한 서비스를 제공해주는 리소스 오너 또한 안전하게 보관하여야 하기 때문에 부담된다. 이런 문제를 해결하기 위해, 구글이나, 페이스북, 카카오 같은 큰 기업들이 로그인 연동 기능을 제공하고 있다.구글 로그인 API 흐름 구글 로그인의 흐름은 간단하다. 카카오, 네이버 로그인 모두 흐름은 동일하다. 리소스 오너(사이트)가 구글 로그인 창을 클라이언트에게 보여주면, 클라이언트는 로그인을 시도하고, 동의 항목을 체크하여 네이버 API 서버에 넘긴다. 전달받은 정보를 가지고 구글 API 서버는 인가 코드를 발급해주고 인가 코드를 통해 로그인을 유지할 수 있는 토큰을 발급해준다. 자세한 설명은 구글 개발자센터 A..

Web Programming 2023.01.24

IntelliJ 렉 버벅거릴 때 해결 방법

업무용으로든 학습용으로든 개발 IDE로 IntelliJ를 많이 사용할 것 이다. IntelliJ에서 제공하는 여러 기능들과 단축키, Custom할 수 있는 부분들 많아서 유료여도 계속 쓰게 되는 것 같다. 특히나 한 번 사용해보면 IntelliJ에서 벗어날 수 없는 것 같다.. 사실 다른 툴에서도 제공할 수도 있지만 이미 편리하게 쓰고 있고, 새로 학습하기가 귀찮기도 하다. 이번에 이직하면서 노트북을 Intel Mac에서 고사양 M1 Mac으로 기기변경을 했다. 들뜨는 마음을 갖고 Spring 프로젝트를 켰지만 처음 코드 컴파일 하는 것 부터 정말정말 오래걸렸다. 레거시 프로젝트라 용량이 꽤나 컷지만, 그 점을 감안하더라도 너무 오래걸렸다. 그냥 그럴 수 있지.. 하며 넘기고 코드 작업하는데 코드를 작성..

개발경험기록 2023.01.23

네이버 로그인 쉽게 구현하기 3편 - 로그인 구현하기 (SpringBoot + Vue.js)

로그인 처리 플로우는 아래와 같다. 인가 코드 받기 -> 토큰 받기 -> 사용자 정보 가져오기 해당 글에서는 인가 코드 받기는 클라이언트 페이지에서, 토큰 받기와 사용자 정보 가져오기는 서버에서 처리할 예정이다. 위 플로우 대로 처리되기 위해 2개의 클라이언트 페이지와 1개의 API가 필요하다. 1. 클라이언트 페이지 네이버 로그인 버튼 페이지 네이버 로그인 후 Redirect되는 페이지 2. 서버 클라이언트 페이지에서 전달받은 인가코드를 통해 로그인 토큰 발급 및 유저 정보를 조회하는 API 네이버 인증 구현 1. 인가 코드 받기 서비스 서버가 네이버 인증 서버로 인가 코드 받기를 요청한다. 여기서 얻은 인가 코드는 로그인 토큰을 얻기 위해 사용된다. 클라이언트 페이지에서 네이버 로그인창이 노출되고 네..

Web Programming 2023.01.22

네이버 로그인 쉽게 구현하기 2편 - 개발 환경 설정

개발환경 Spring Boot Vue.js MySQL 필요한 모듈 설치 Java 11 vue/cli 4.5.4 MySQL 8.0.18 Java, Vue, MySQL 버전은 위와 상이해도 무관하다. 1. Spring Boot 프로젝트 생성 1) Spring Boot 프로젝트 생성 아래 사이트에서 Spring Boot 프로젝트를 생성할 수 있다. https://start.spring.io/ 2) Gradle 설정 build.gradle 네이버 로그인 서비스 구현에 필요한 모듈을 설정한다. implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-sta..

Web Programming 2023.01.22

네이버 로그인 쉽게 구현하기 1편 - Naver Developers 설정

네이버 로그인 API 클라이언트 입장에서 수많은 사이트의 모든 아이디 비밀번호를 기억하기는 쉽지 않다. 또한 서비스를 제공해주는 리소스 오너 또한 안전하게 보관하여야 하기 때문에 부담된다. 이런 문제를 해결하기 위해, 구글이나, 페이스북, 카카오 같은 큰 기업들이 로그인 연동 기능을 제공하고 있다. 네이버 로그인 API 흐름 네이버 로그인의 흐름은 간단하다. 리소스 오너(사이트)가 네이버 로그인 창을 클라이언트에게 보여주면, 클라이언트는 로그인을 시도하고, 동의 항목을 체크하여 네이버 API 서버에 넘긴다. 전달받은 정보를 가지고 네이버 API 서버는 인가 코드를 발급해주고 인가 코드를 통해 로그인을 유지할 수 있는 토큰을 발급해준다. 자세한 설명은 네이버 개발자센터 API 문서를 참고하자. https:..

Web Programming 2023.01.22
반응형