원래 사용하던 로지텍 g102가 고장났다. 수리해보고자 했는데, 구매 영수증이 없으면 받아주지 않더라..; 유상수리도 괜찮다고 물어봤는데 구매하고서 2년 내에는 교환, 이후로는 그냥 수리불가 처리를 하는 것 같다. 사설 수리도 있으나.. g102 사설 수리 시도해볼만큼 비싼 마우스도 아니라서 그냥 새로 사기로 결정. 똑같은 로지텍을 살까 하다가 쿠X에서 보인 앱코를 구매했다. 내가 마우스 살 때 가장 중요하게 보는 건 오직 하나 왼쪽 기능키!!! 를 직접 세팅할 수 있느냐다. 게임용도 아닌데 굳이 게이밍 마우스 찾아서 키세팅 하는 이유가 그것때문... 마우스 왼쪽(몸체 왼쪽의 저 버튼 두개)에 기능키 세팅해놓고 사용하면 편리하다. 그런데 이거 너무... 소리가 크다. 그립감은 참 좋았다 때 잘 안탈 것 ..
들어가며 로그인은 JWT토큰 사용하는 걸로 해요. 네~ 좋아요. 그런데 왜 JWT토큰으로 고르셨어요? 약간의 각색이 있긴 하지만 내가(백엔드) 프론트와 협업하며 했던 대화이다. 그냥 던져본 질문일 텐데 순간적으로 대답이 잘 나오지 않더라. 이번 기회에 협업 과정에서 어떤 식으로 소통했는지, 어떻게 이야기하면 좋은지를 정리하며 jwt토큰을 이용한 로그인에 대해 정리해두고자 한다. 사실 검색해보면 많이 나온다. 내 방식대로 정리하고 싶고, 내가 왜 선정했는지를 기록하고자 남겨본다. 쿠키, 세션, 토큰 로그인 쿠키 (Cookie): 특징: 클라이언트 측에 저장되는 작은 데이터 조각으로, 서버가 클라이언트에게 전송 브라우저는 쿠키를 저장하고, 요청 시에 자동으로 서버에 전송 주로 세션 식별, 사용자 환경 설정 ..
시작하며 함께 프로젝트를 진행하다 보면 백엔드-프론트엔드 사이 및 그 외 다양한 사유로 구체적인 명세서가 필요하게 된다. 확실히 프로젝트 시작 전 정해놓고 가는 쪽이 시작한 뒤 서로 규격이 맞지 않다거나, 변수명이 따로노는 문제 등을 방지해주니... 먼저 정리해놓고 가자. 여기까지는 완전히 동의했다. 그런데. api명세서... 어떻게 써야 잘 쓰는 거지? 습관적으로 사용해왔던 @RequestBody 라던가 param... 등등. 이번 기회에 한 번 정리해보기로 했다. REST (Representational State Transfer)는 분산 시스템을 위한 아키텍처 스타일 중 하나로, 자원을 표현하고 자원 간의 상태 전이를 통해 통신하는 방식을 기술한다.. RESTful API는 이러한 REST 아키텍처..
자바, 스프링 부트, HTTP POST를 사용한다고 가정하고 구현한다. 두 위치의 좌표를 입력받아서 거리를 계산하는 코드를 만드는 것이 목적이다. // 좌표를 나타내는 Location 클래스 public class Location { private double latitude; // 위도 private double longitude; // 경도 // 기본 생성자 public Location() { // 기본 생성자 } // 매개변수를 받는 생성자 public Location(double latitude, double longitude) { this.latitude = latitude; this.longitude = longitude; } } 컨트롤러 부분은 아래와 같다. import org.springf..
Spring / java 환경 가까운 매장 찾기를 하고 싶다면, 위도와 경도를 이용한 좌표 계산을 통해 원하는 기능을 구현할 수 있다. 이때 보통은 주소를 알고 있으니 주소를 좌표로 바꿀 수 있어야 계산이 원활해진다. pom.xml에 해당 내용을 추가한다. org.springframework.boot spring-boot-starter-web com.google.code.gson gson 2.8.8 java 소스 코드 import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.springframework.boot.SpringApplication; import ..
마리아db를 사용하다 보면 테이블의 값에 한글을 넣게 되는 경우가 있다. 이때 Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: ...와 같은 에러가 나올 때 체크하고 수정해보자. 마리아db가 설치된 폴더에 들어가면 my.ini 라는 파일이 있을 것이다. 코드편집기 또는 메모장 등으로 내용을 수정할 수 있다. 이 파일을 열어서 [mysqld] datadir=C:/Program Files/MariaDB 10.6/data port=3306 innodb_buffer_pool_size=1000M init_connect="SET collation_connection = utf8_general_ci" init_connect="..