반응형

분류 전체보기 875

Hibernate 성능 튜닝 Tips

1. 개발 과정에서 성능 이슈 찾기Hibernate에는 각 세션별 내부 통계를 확인할 수 있도록 출력해주는 기능이 있습니다. Spring Data JPA를 사용한다면 아래와 같이 설정하면 됩니다. (문제점을 찾을 때만 사용)spring.jpa.properties.hibernate.generate_statistics=truelogging.level.org.hibernate.stat=DEBUG 추가적으로 다음과 같이 설정을 하면 느린 쿼리에 대한 정보를 얻을 수 있습니다.spring.jpa.properties.hibernate.session.events.log.LOG_QUERIES_SLOWER_THAN_MS=10   2. in_clause_parameter_padding 옵션 사용Hibernate 5.2.1..

back end/java 2025.03.10

[JUNIT] Spring Test MockMvc의 한글 깨짐 처리

Spring에서 JUNIT 테스트 코드를 작성할 때 아래와 같이 filter를 추가하면 한글 사용을 할 수 있다.CharacterEncodingFilter("UTF-8", true)  @AutoConfigureMockMvc@SpringBootTestpublic class ApiControllerTest { private MockMvc mockMvc; @Autowired private WebApplicationContext ctx; @BeforeEach public void setup() throws Exception { this.mockMvc = MockMvcBuilders.webAppContextSetup(ctx) .addFilters(new CharacterEncodingFil..

back end/java 2025.03.10

인터넷 익스플로러 취약점 - 해커들의 공격

한 때 인터넷 브라우저 점유율의 대부분을 장악했던 인터넷 익스플로러에 대한 지원이 2022년 6월 15일에 종료되었으며, 인터넷 익스플로러 11은 특정 버전의 Microsoft Edge 업데이트를 통해 영구적으로 비활성화되었습니다. Internet Explorer 다운로드하기 - Microsoft 지원Microsoft Edge는 Microsoft에서 권장하는 브라우저입니다. Internet Explorer에 대한 지원은 2022년 6월 15일에 종료되었습니다. Internet Explorer 11은 특정 버전의 Windows 10 Microsoft Edge 업데이트를 통해 영구적으support.microsoft.com  그러나 해커들은 이 웹 브라우저를 이용해 윈도우 PC를 공격하는 방법을 찾아냈습니다...

명의 도용 방지 서비스 하는 방법

현재 알뜰폰 요금제는 이용자가 온라인을 통해 셀프 개통이 가능하여, 신분증 촬영한 사진만 제출하면 즉시 개통이 가능해 길에서 주운 신분증으로 누구나 쉽게 대포폰을 만들 수 있습니다. 이렇게 만든 대포폰은 보이스 피싱에 활용되거나, 오픈뱅킹 인증번호를 받아 계좌를 털어가는 수법으로 활용되고 있습니다. [단독]뚫린 알뜰폰… 기업 회장도 타깃이 됐다 명의도용 금융사기, 누구냐 넌! 신분증 위조해 알뜰폰 개통→비대면 계좌 뚫어 오픈뱅킹 접근→고액재산 노려, 다른 사람 명의의 휴대전화로 금융 계좌를 개설해 그 사람의 자산을 탈취하는 ‘ www.seoul.co.kr 이렇게 잃어버린 신분증으로 범죄의 대상이 되는 것을 명의 도용 방지 서비스를 통해 무료로 손쉽게 방지할 수 있습니다. 1. 명의도용방지서비스란? 본인 ..

정보/생활정보 2024.03.17

Spring Data JPA에서 Insert 전에 select query를 하는 이유

개요 JPA로 API 서버 개발을 하던 중 insert query에서 매번 select query가 발생하여 엄청난 성능 저하가 발생했습니다. 도대체 왜 이런 것인가? select를 하지 않게 바꿀 수는 없는가? 찾아봤습니다. 현상 확인 1. User 생성 @Entity @Table @Getter @Setter public class User { @Id private String userId; private Integer age; } 2. UserRepository 생성 public interface UserRepository extends JpaRepository { } 3. 테스트 클래스 생성 @SpringBootTest class UserTest { @Autowired private UserRepo..

back end/java 2024.02.02

[java] 문자열 자르기 함수 split 함수 사용 시 주의 사항. 문자열 자르는 방법

결론부터 말하면, 저는 split 함수를 추천하지 않습니다. 그 이유는 split 함수는 문자열을 자를 때 '문자'가 아닌 '정규식'으로 자르기 때문입니다. 이것은 replace 함수도 마찬가지입니다. split 함수 intellij에서 split 함수의 설명을 보면 아래와 같습니다. split 함수의 설명에서 제일 중요한 것은 파란색으로 되어 있는 "regular expression" 즉 정규식입니다. 그렇기 때문에 split 함수는 정말 신중하게 사용해야 합니다. split - 정규식의 위험성 먼저 아래의 예제를 봅시다. 예제 1. 정상동작 public static void main(String[] args) { String str = "010-1111-2222"; String[] split = st..

back end/java 2024.01.17

[JAVA] Google Authenticator(OTP)를 이용한 two factor 개발 방법

개요 2단계 인증 (2FA) 은 사용자가 자신이 누구인지 확인하기 위해 두 가지 인증 요소를 제공하는 보안 프로세스입니다. 2단계 인증은 피해자의 비밀번호만으로는 인증 확인을 통과하기에 충분하지 않기 때문에 공격자가 개인의 장치와 온라인 계정에 접근하는 것을 더 어렵게 만드는 추가 보안 계층을 제공합니다. OTP OTP란 One Time Password의 약자로, 우리말로 하면 일회용 비밀번호라고 할 수 있습니다. 일회성이라는 특징 때문에 매우 안전한 방법으로 알려져 있으며, 금융권이나 일반 웹사이트 2차 인증 방법으로 많이 활용되고 있습니다. OTP의 종류는 원리에 따라 S/KEY방식, 시간 동기화 방식 챌린지 응답 방식, 이벤트 동기화 방식 등이 있습니다. 이 중 Google Authenticator..

back end/java 2024.01.16

[mssql] sql server에서 ldf의 파일의 용량이 왜 이렇게 크지?

개요 고객사에서 전체 인원 장애가 발생하여 확인 결과 하드디스크 용량이 부족한 것으로 확인 LDF 파일의 용량이 1TB까지 증가하여 하드디스크를 과도하게 사용 tomcat 로그에는 "데이터베이스 'xxx'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다." 에러 출력 "DBCC SHRINKFILE" 명령어 실행 시 용량이 1TB에서 11MB로 줄었는데, 데이터가 유실된 것은 아닌지 문의 MDF, LDF란? MDF(Main Data File)와 LDF(Log Database File) 파일은 마이크로소프트 SQL 서버 데이터베이스의 기본 구성 요소이다. MDF : 데이터베이스의 스키마, 데이터, 테이블, 뷰, 프로시저, 트리거 등 핵심 데이터가 담기는 파일 LDF : 모든 트랜잭션과 각 ..

728x90
반응형
loading