728x90 반응형 전체 글106 VM VirtualBox 가상환경(Ubuntu:우분투) 초기 환경 구축 꿀팁 0. https://ubuntu.com/download/desktop Download Ubuntu Desktop | Download | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com 우분투 받아서 가상환경에 설치하는 것을 다룬 블로그는 워낙 많으니 패스하도록 하고 기본 설치가 끝난 다음에 뭔가를 해보려고 하는데 막히는 게 워낙 많았어서 새로이 시작하는 분들의 고생을 덜어주고자 꿀팁들을 소개한다. 먼저 우분투를 깔고 뭘 하려면 터미널을 열어야 하는데 시작부터 터미널이 안열린다. 1. 터미.. 2023. 6. 5. ELK Logstash를 활용한 로그 Parsing (Grok Pattern) 꿀팁 5가지 보호되어 있는 글 입니다. 2023. 5. 30. 로컬 SpringBoot 와 가상 환경 간의 ELK 연동 -3 (파일 출력) 보호되어 있는 글 입니다. 2023. 4. 27. 로컬 SpringBoot 와 가상 환경 간의 ELK 연동 -2 보호되어 있는 글 입니다. 2023. 4. 27. 로컬 SpringBoot 와 가상 환경 간의 ELK 연동 -1 보호되어 있는 글 입니다. 2023. 4. 27. Spring Boot에서 Logback 을 활용해서 Log 남기기 Logback 이란 log4j 이후에 출시된 Java 기반 Logging Framework 중 하나로 SLF4j 의 구현체이고 Spring Boot 라면 기본적으로 포함되어 있다. log4j와 성능을 비교했을 때도 logback이 월등하다는 평가가 많다. Logback 설정 방법 1. .yml(.properties) 파일 생성. 1-1 프로필 설정 # 프로필 설정 spring.profiles.active=local #spring.profiles.active=dev #spring.profiles.active=prod #루트 레벨(전체 레벨) 전체 로깅 레벨 지정 logging.level.root=info *dev, prod 등의 환경을 별도로 선언할 수 있고 프로필 마다 다른 로그 설정을 적용할 수 있다... 2023. 4. 24. QueryDsl - Case When과 Concat 활용법 CASE WHEN QueryDsl에서 동적쿼리를 사용하고 싶을 때, Decode를 사용하고 싶을 때 활용되는 Case When은 크게 두가지로 사용할 수 있다. 1. CaseBuilder를 직접 넣는 방법 .select(Projections.bean(Member.class, member.name, new CaseBuilder() .when(member.age.lt(10)).then("어린이") .when(member.age.lt(20)).then("학생") .when(member.age.lt(30)).then("청년") .otherwise("어른") .fetch(); 2. CaseBuilder를 임의의 변수로 선언한 뒤 변수를 넣는 방법 Expression caseByAge = new CaseBuilde.. 2023. 4. 11. QueryDsl 에서는 Null 처리를 어떻게 하나요? Coalesce Query를 직접 쓴다면 뭐 DBMS에 따라 문법이 조금 다르겠지만 오라클의 경우 NVL이 바로 떠오르텐데 QueryDsl에서는 NVL이나 IF NULL 대신 Coalesce를 쓴다. 단순한 조회 시 문법은 아래와 같다. .select( QueryDsl 전용 엔티티(dto)의 참조변수.칼럼명.coalesce("NULL일시 표출하고 싶은 메세지").as("가명") ) .from(QueryDsl 전용 엔티티(dto)의 참조변수) .fetch(); 위 문법의 예시는 아래와 같다. .select( codeDto.codeName.coalesce("아무것도 없네요").as("codeName") ) .from(codeDto) .fetch(); 여기서 포인트는 as 로 가명을 지정해두는 것인데 가명을 .. 2023. 4. 10. Springdoc-openapi-ui로 Swagger3 사용하기 Swagger란? Open Api Specification(OAS)를 위한 프레임워크이다. API들이 가지고 있는 스펙(spec)을 명세, 관리할 수 있는 프로젝트/문서 API 사용 방법을 사용자에게 알려주는 문서 Springboot에서 Swagger를 사용하면, 컨트롤러에 명시된 어노테이션을 해석하여 API문서를 자동으로 만들어준다. 참고로 Swagger는 Java에 종속된 라이브러리가 아니다. URL에 /swagger-ui.heml으로 접근하면 swagger가 만들어주는 페이지에 접근할 수 있다. 공식 사이트 Swagger를 설정하는 위한 라이브러리는 2가지가 있다. Spring-Fox, Spring-Doc 2가지 중에 사용하면 된다. Spring-Fox 약 2015년정도에 나온 라이브러리다. 202.. 2023. 2. 14. 최신 Spring Security 사용법 - SecurityFilterChain Spring Security 5.7.0-M2 부터 WebSecurityConfigurerAdapter가 Deprecated 되었고 기존에 security 예외 url을 설정하던 antMatchers는 아예 삭제되었다. 하지만 아직까지 수많은 블로그들은 예전 Spring security 버전을 기준으로 글이 쓰여져있고 현재 최신 버전의 업데이트 사항은 영문 공식문서에 존재하기 때문에 어떻게 다가서야하는지 난감할 수 있다. 해서 업데이트된 내용들과 어떻게 사용해야 하는지 간략하게 공유하려고 한다. 일단 Spring Security의 본체라고도 할 수 있는 Configuration파일에는 크게 두가지 configure를 설정하게 되는데 바로 WEB 과 HTTP이다. 아래 블로그에서는 Spring Securit.. 2023. 2. 9. QueryDSL에서 Date 타입들의 Parsing and Comparing (StringTemplate, DateTemplate, & Expressions) 여러분은 무슨 이유에서인지 날짜를 비교해야 한다. 하지만 QueryDSL의 자체적인 함수로는 날짜 타입의 변환이 어렵다. 그래서 사용되는 것이 StringTemplate과 DateTemplate, 그리고 Expressions이다. 만약 가지고 있는 파라미터의 Date 타입이 java.util.Date인데 Date라는 타입 자체를 버리지 않으면서 한국에서는 흔한 locale인 0000년-00월-00일 00시:00분:00초 라는 포맷을 가지도록 변환해주고 싶다면 아래와 같이 활용하면 된다. DateTimeTemplate dateTime = Expressions.dateTimeTemplate(LocalDateTime.class, "DATE_FORMAT({0}, {1})", QueryDSL전용 dto.칼럼명 ,.. 2023. 2. 3. 프론트 vs 백, 날짜 포맷 변경이 어디서 이뤄져야 하는지 https://softwareengineering.stackexchange.com/questions/436540/is-the-frontend-or-backend-api-responsible-for-formatting-data-in-a-specific-l Is the frontend or backend (API) responsible for formatting data in a specific locale? In our company we had a discussion whether formatting data in a certain locale is the responsibility of the frontend application or of the API that provides data to it. .. 2023. 2. 3. 이전 1 2 3 4 5 6 7 8 9 다음 728x90 반응형