IT 21

[Java/Hibernate] 검색을 자유롭게 하고싶은데.. 좋은 방법이 없을까?

현재 회사에서 사용하는 언어와 주 포지션으로 하고 있는 언어의 차이가 있어 주 사용 언어는 잊지 않도록 개인 프로젝트를 많이는 아니더라도 조금씩만 하고있다. 하루에 1시간.. 정도..? 그러다 아래의 고민이 생겨 처리 방법을 찾다가 그렇구나 싶어 메모해둔다 현재 Spring Boot3, JPA 를 활용해 게시판 비슷한 걸 해보고 있다. 템플릿 형식으로 내 개인 repo 에 남겨두고 싶어서.. 페이징 처리를 최근에 하고 있는데 기능이 확실히 좋더라 Pageable 이라는 인터페이스로 편하게 사용할 수 있고, 요청 받을 땐 편하게 받고 후에 PageRequest class를 통해 쉽게 변형도 가능했다. 이제 문제가 시작됐다. 검색어 처리에 대해 일반적인 검색을 과거에 난 흔히 말하는 날쿼리(SQL) 을 작성..

IT/프로그래밍 2024.03.28

[Java/Hibernate] PK 전략방식 그리고 안됐던 내용 정리

안녕하세요. spring + H2 DB를 가볍게 사용하여 회사 내부에 사이드 프로젝트를 진행하고 있습니다. 기능을 만들고 이제 데이터를 넣어보자! 하는 상황에서 발생한 문제점입니다. 현재 H2 DB 2.1.214 버전을 사용하고 있는데 PK 전략이 정상적으로 동작하지 않는 것 같았으나 알고보니 단순히 제가 다른 구성컬럼에 유니크 속성을 걸어둔 문제였습니다.. 이 기회에 작성해두는 PK 전략방식! # IDENTITY 전략 @Id @GerneratedValue(strategy = GenerationType.IDENTITY) private Long Id; IDENTITY 전략은 기본 키 생성을 데이터베이스에 위임하는 전략입니다. 이 전략은 주로 MySQL, PostgreSQL, SQL Server 에서 사용합..

[단축 URL] Recut 사용해보기

회사 이직을 하면서 이것저것 해보고 있는 중입니다. C# 도 써보고.. Angular 도 해보고... 이런 와중에 단축URL을 하고싶다는 사측의 강력한 요구! 그래서 조사해보다가 bit.ly, recut, 네이버 short url 등을 비교해보다가 recut 이 가장 저렴해보여 선택하게 되었습니다. 하지만 풀린 정보가 없다는 점.. 그래서 공유를 위해 작성해봅니다!! https://app.recut.in/pricing Premium Plan Pricing - Recut URL Shortener Free url shortener to create perfect URLs for your business. Recut helps you create and share branded links with your o..

IT 2023.08.30

SpringBootTest Could not resolve placeholder 'spring.profiles.active' 테스트 하게 해! 줘!

정말 굵고 짧은 글이 될 것이다. SpringBootTest Could not resolve placeholder 'spring.profiles.active' Junit 테스트를 하다가 위와 같은 에러를 만났다. 이게 뭐냐?? 너 지금 프로필 있는 설정파일 써야하는데 프로필을 안알려주면 실행 못해~ 라는 이유로 실행 시켜주지 않는 것이고, 테스트 하는 곳에 아래와 같은 내용을 넣어봐 라는 내용이 많았습니다. @SpringBootTest @ActiveProfiles("test") 하지만 실패.. 해결방법은 아래와 같았습니다. @SpringBootTest(properties = "spring.profiles.active:test") 아주 간단한 것이었어요... 그냥 에러 내용대로만 했어야 했던 것이다. 친절..

IT/프로그래밍 2022.10.28

[도커] 윈도우 설치 시 만나던 WSL2 incomplete

도커 홈페이지를 통해 Docker Desktop 을 설치하고 재부팅까지 했는데 이게 뭐람!? 그! 래! 서! 이를 해결해보고자 합니다. 궁금하니까… WSL2 가 뭔데..? Windows Subsystem for Linux2 윈도우에서 경량 가상화 기술을 사용해 리눅스를 구동하도록 도와주는 기능이며, 기존 WSL을 대폭 개선한 것이다~ 1.윈도우(시작)버튼 클릭 PowerShell 검색 - 관리자 권한으로 실행 해주세요. 2. 리눅스 서브시스템 활성화 명령어를 입력해주세요. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 3. 가상 머신 기능 활성화 명령어를 입력해주세요. dism.e..

IT 2022.10.20

[Typescript/Express] Typescript 를 익힐 겸 백엔드 프로젝트를 해보자! (3)

오늘은 어제 작업을 하다가 왜 안되는걸까?? 했던 부분을 작성하려고 한다. 상품등록 API 에 대해 관리자에서 작업을 하고 리스트 및 수정 기능에 대해 동작확인을 진행하고, 사용자 API 에 상품리스트 API 를 구현하던 중 쿼리는 비슷하게 구현해서 사용했어서 위화감을 느끼지 못하고 있다가, "설명을 빼먹었네~ 설명 컬럼도 조회해서 보여주자!" 라는 생각으로 조회쿼리에 설명 컬럼을 조회하도록 수정하였다. 이 때, 문제가 발생했다. 설명 컬럼(description) 이 조회가 안되는 것이다. 결론부터 얘기하면 TypeORM 에서 제공하는 관리자 API 쪽에서 DB 조회할 때 사용하던 Repository 파일 내에 있는@EntityRepository(Goods) 문을 제거하면서 원하는 동작을 했다. 하지만 ..

IT/프로그래밍 2021.10.16

[Typescript/Express] Typescript 를 익힐 겸 백엔드 프로젝트를 해보자! (2)

벌써 10월의 둘째주라니.. 하루하루가 너무 빠르다. 저번 포스팅에 이어 프로젝트 구성에 대해 더 보고 넘어가려 한다. asyncHandler 라는 것을 통해 async(req, res, next) 를 매번 작성하지 않을 수 있도록 했었다. 이번은 decorator 를 활용해 POST, GET, PUT, DELETE 를 구현하여 router 에 등록시켜주는 함수를 살펴보자. 사실 nest JS 프레임워크를 사용하면 되지만 괜히 해보고 싶고 궁금해서 순수 TS로 하니 귀찮아서 하게 된.. 작업.. Get Http 메서드를 데코레이터 패턴으로 구현하여 컨트롤러에 @Get(name) 형태로 사용 시 route 에 자동으로 등록이 되는 형태로 구현하려고 한다. 먼저 route 에 등록하는 모습을 보자 impor..

IT/프로그래밍 2021.10.12

[Typescript/Express] Typescript 를 익힐 겸 백엔드 프로젝트를 해보자! (1)

express Route 를 통해 서버 통신을 할 수 있는 기본적인 URL 매핑을 진행하고, async -await 을 통한 비동기 처리 응답을 가능하게 해보자. typescript 를 익히는데 그냥 익히기만 하면 재미가 없으니 문법 + 프로젝트를 같이 해보려고 작업을 진행해보고 있습니다. 먼저 프로젝트는 커머스를 타겟으로 하고 있습니다. 오늘은 Route 설정하는 내용 관련해서 공유하려고 합니다. 우리가 흔히 Express 라우트 설정하는 부분은 공식페이지만 봐도 알 수 있지만, 한 번 스윽 훑어보면서 이런 점이 다르구나 라는 게 있기를 바랍니다. import express from 'express'; const app = express().Application; app.get('/', (req, re..

IT/프로그래밍 2021.09.13

[AWS/EC2] aws ec2 linux puppeteer 설치 및 한글 폰트 적용하기

AWS EC2 에서 Node.js 를 통해 슬랙으로 운영 현황 데이터를 전송해야 하는 경우가 생겨 작업을 진행했었다. 처음엔 console-table, markdown-table 을 사용해 전달하려 했으나 모바일 앱에서 메세지가 깨지면서 내용을 정확하게 알기가 어렵다는 이슈가 생겼고, HTML을 작성해서 image 로 전달하고자 위와 같은 작업을 진행했고, AMI 를 생성하여 배포하였다. 사용 앱/라이브러리/서비스 nodejs v12.22 aws ec2 linux1 node-html-to-image (라이브러리 내의 puppeteer) google-chrome-stable 위 4가지를 사용했고, 이 글에서는 html을 만들어 스크린샷을 생성하는 작업을 진행하고 ./local-chromium을 사용하면서 ..

IT 2021.09.03

[AWS/Slack] slack 알림으로 주기적인 서버 모니터링 하기

회사에서는 AWS 서버에 빈즈톡을 사용하여 서비스를 하고 있다. 약 2년 전에 새로 만든 앱 서비스를 제공하는 서버에 트래픽이 예상치 못하게 늘어 장애로 인해 죽는 경우가 발생했었고, 이에 대해 미리 헬스체크를 계속적으로 했다면 조금 더 빠르게 대응할 수 있지 않았을까 라는 생각에 헬스체크를 위한 로직을 추가했다. 사용된 어플리케이션은 슬랙 웹 훅 + aws-sdk (node module) 이다. 회사에서 slack 으로 업무적 의사소통을 진행하고 있고, 메인 언어가 Node이기 때문에 이러한 스펙으로 진행했다. 사용한 슬랙 API 내에 있는 내용은 https://api.slack.com/reference/block-kit/blocks 이 곳에 있는 내용 + 자잘한 것들 의 내용이기에 참고하였으면 좋겠다..

IT 2021.08.25
반응형