본문 바로가기
반응형

전체 글1086

[Error] Cannot invoke "java.util.function.Supplier.get()" because "supplier" is null 개발 중에 아래와 같은 에러가 발생하였다.  NullPointerException: Cannot invoke "java.util.function.Supplier.get()" because "supplier" is null. jpa 에서 쿼리 메서드를 사용했고,예를들어 아래와 같은 코드를 했을때 발생한 에러이다. Member member = memberRepository.findById("string").get(); 가져왔는데 데이터가 null이어서 발생한 에러이다. 해결책은 null을 방지하기 위해 orElseGet 를 추가하는것이다.그럼 아래와 같은 코드로 변하면 된다.Member member = memberRepository.findById("string").orElseGet(null); orElse.. 2024. 10. 31.
Virtual Thread 란? 이번 포스팅에서는 Virtual Thread 에 대해서 다뤄볼 것이다.Thread 에 대한 개념은 아래 참고 포스팅 참고 바란다. 우선 위키에서 설명하는 Virtual Thread 란 아래와 같다.컴퓨터 프로그래밍에서 가상 스레드는 런타임 라이브러리 또는 가상 머신에 의해 관리되고 "실제" 운영 체제 스레드와 유사하게 만들어 실행되는 코드이지만 후자보다 훨씬 적은 리소스를 필요로 하는 스레드입니다.https://en.wikipedia.org/wiki/Virtual_thread Virtual thread - WikipediaFrom Wikipedia, the free encyclopedia Computational threads scheduled by a run-time library In computer.. 2024. 10. 30.
콜백 패턴(Callback Pattern) 이전 포스팅에서 전략 패턴에 대해 다룬 포스팅이 있다.자세한 내용은 아래 참고 포스팅 참고 바란다. 이번 포스팅에서 다룰 콜백패턴이란전략패턴과 동일한 패턴이고 이름을 좀 달리 사용한다고 이해하면 쉽다. 우선 콜백이라고 하면 아래 참고 포스팅에서 참고 바란다. 전략패턴의 포스팅을 그대로 가져와서 콜백으로 이름만 변경해서 예제 코드를 만들어줄 것이다.우선 실행할 메서드를 갖고있는 인터페이스를 하나 만들어준다.public interface Callback {     void call();}그리고 공통 로직을 담을 일반 클래스를 하나 만들어준다.@Slf4jpublic class LogTemplate {     public void execute(Callback callback) {          log.i.. 2024. 10. 29.
[JS] Bootstrap Table 라이브러리 html에서 표를 그리기 위해서 사용하는 태그는 이라고는 다 알고 있을것이다. 이번 포스팅에서는 Bootstrap 에서 제공하는 테이블 라이브러리를 소개하고자 한다.(Bootstrap에 대해서는 아래 참고 포스팅 참고)https://bootstrap-table.com/ Bootstrap Table · An extended table to the integration with some of the most widely used CSS frameworks. (Supports Bootstrap, SBootstrap Table An extended table to the integration with some of the most widely used CSS frameworks. (Supports Bootst.. 2024. 10. 28.
[Error] argument type mismatch RESTAPI 개발 중에 아래와 같은 에러가 발생하였다. argument type mismatch Database에서 가져오는 데이터와 자바에서 받는 DTO에서 자료형이 다른것은 에러 문구만 봐도 이해가 간다. 하지만 특이 케이스가 있어서 포스팅을 작성한다. 자바 17에서는 Mysql 의 SUM 함수의 결과를 DTO String 으로 잘 받았다.하지만 자바 21에서는 똑같은 코드로 돌리니 위와 같은 에러가 발생하였다.결과를 .getClass() 로 형식을 보니 BigInteger 로 분류가 되었다.Long으로도 받아질 줄 알았는데 Long으로 받아도 마찬가지였다. 결국 Object를 사용하거나 BigInteger로 받아서 해결하였다. 자바 버전이 올라갈수록 자료형에 대해서 엄격해 진다고 들었는데 이것도 .. 2024. 10. 27.
외주 / 프리랜서 마켓 정리 개발을 하다보면서 부업으로 외주를 맡거나 프리랜서 사이트를 알아보곤 했는데한번 사이트 정리해두고자 포스팅을 작성한다. 크몽https://kmong.com/ 실력 있는 전문가 찾기, 크몽마케팅·디자인·IT프로그래밍·영상 등 다양한 전문가를 크몽에서 찾아보세요.kmong.com광고로도 많이 알려져있고대학교 과제부터 시작해서 프로젝트 까지 굉장히 많은 개발에 대한 요구사항이 있다. 위시캣https://www.wishket.com/ 위시켓-대한민국 대표 IT프로젝트 플랫폼IT 프로젝트 고민은 이제 끝. 검증된 11만 프리랜서와 1만 개발회사가 여러분을 기다리고 있습니다. 2시간 내 견적을 받고 최적의 전문가 매칭을 경험해 보세요.www.wishket.com2023년도 기준 11만명 이상의 개발, 프리랜서가 활동.. 2024. 10. 26.
전략 패턴 예제(Strategy Pattern) 이전 포스팅에서 템플릿 메서드 패턴에 대해서 다룬 포스팅이 있다.이번 포스팅을 읽기 전에 템플릿 메서드 패턴에 대해서 먼저 보고 오는 것을 추천한다. 참고 포스팅에 이어서 코드를 변하는 부분과 변하지 않는 부분으로 나눠야 하는데,템플릿 메서드 패턴은 추상 클래스를 상속 받게 되어부모의 클래스가 변경이 된다면 자식 클래스도 변경이 불가피 한 상황이 된다. 이럴 경우에 좀 더 나은 코드로 변화하기 위해서 전략 패턴이 생겼다. 바로 예제 코드로 알아보면, 우선 실행할 메서드를 갖고있는 인터페이스를 하나 만들어준다.public interface Strategy {     void call();}그리고 공통 로직을 담을 일반 클래스를 하나 만들어준다.@Slf4jpublic class StrategyContext.. 2024. 10. 25.
템플릿 메서드 패턴 예제(Template Method Pattern) 디자인 패턴에 대해서 예제를 적어두고자 포스팅한다. 프로그래밍 코드를 짤 때 변하는 부분과 변하지 않는 부분을 구분해서 개발을 해야한다. 실제로 개발을 진행하다보면 작게는 로그 찍는 부분부터크게는 호출관계 도출을 위해 이력을 쌓거나 디비에 적재 등 공통 부분들이 상당히 많이 존재한다. 예를 들어,A라는 서비스와 B라는 서비스를 호출하는 메인서비스 개발 하였고서비스가 실행되기 전과 후에는 언제 실행이 되었는지 로그를 찍고, 호출 시간을 DB에 저장하는 로직이 있다고 하면public class Test(){     // A 서비스 관련     log.info("서비스 실행");     // A 비지니스 로직 실행     // 현재 시간 DB 저장     log.info("서비스 종료");     // B 서.. 2024. 10. 24.
zustand 란?(React 에서) Zustand(주스탠드) 에 대해서 알게 되어 정리 포스팅을 작성한다. 우선 공식 홈페이지는 아래와 같다.https://zustand-demo.pmnd.rs/ Zustand zustand-demo.pmnd.rs 사용하기 위해서는 github 의 공식문서를 확인하면 된다.https://github.com/pmndrs/zustand GitHub - pmndrs/zustand: 🐻 Bear necessities for state management in React🐻 Bear necessities for state management in React. Contribute to pmndrs/zustand development by creating an account on GitHub.github.com 본론으.. 2024. 10. 23.
반응형