본문 바로가기
728x90
반응형

전체 글140

[백준] 8979번: 올림픽 - java https://www.acmicpc.net/problem/8979 간만에 백준으로 다시 넘어왔다. 한동안 프로그래머스에서 풀었는데 괜찮은 것 같았다. 그러나 푸는 맛이 없어서 다시 백준으로 풀 계획이다.그나저나 java로 넘어온게 맞는 선택인가 고민이다. 물론 개발실력을 높일 순 있는데 내가 그냥 잘하는 파이썬을 할껄 그랬나.. 뭐 쨋는 문제를 봐보자. 사실 이런 정렬문제는 파이썬에서 아주 쉽게.. 아니다. 이제 자바 얘기만 하자.자바에서 푸는 방법을 모르겠어서 다른 사람들 코드를 참고했다. 우선 이런 다양한 조건이 있는 경우의 정렬은 compareTo를 상속해서 사용해야한다.  왜? 그 이유는 뭐 단순한 숫자같은 경우는 어떤게 크고 작은게 명확할 것이다. 하지만 객체에서는 여러가지 조건을 어떤 기준으로.. 2024. 9. 11.
[Spring Boot] Jacoco - 코드 커버리지 벡엔드 영상이나 프로젝트 등을 보면 자주 등장하는 코드 커버리지를 80% 이상을 ~~ 이런 말이 보통 자주 나오게 된다. 이런 상황에서 코드 커버리지가 정확히 무엇인지 파악하고 Jacoco를 적용하는 시간을 가져보자. 일단 코드 커버리지란? 테스트에서 얼마나 많은 코드가 실제로 테스트되었는지를 측정하는 지표이다. 이를 통해 테스트가 소스 코드의 어느 부분을 검증하고 있는지, 어떤 부분이 테스트되지 않았는지를 파악할 수 있고 보통 4가지 측면에서 측정이 된다.  라인 커버리지: 소스 코드에서 각 줄이 테스트를 거쳤는지 측정.분기 커버리지: if, else와 같은 조건문에서 모든 분기가 테스트되었는지 측정.메소드 커버리지: 메소드 단위로 테스트가 수행되었는지 측정.클래스 커버리지: 클래스 단위로 테스트가 수.. 2024. 9. 8.
[CS] DB - 트랜잭션과 격리성 DB를 공부하던 중 트랜잭션을 정확히 모르겠어서 공부하고 정리하고자 한다. 우선 트랜잭션을 왜 알아야하나? 며칠 전 내가 겪었던 일인데 맥도날드 앱에서 햄버거를 결제하던 중 네트워크 문제가 발생해서 카카오페이에서 돈만 빠져나가고 햄버거가 처리 안된 경우를 겪었었다. 여기서 만약 돈만 빠져나가고 햄버거가 처리가 안된다면 엄청난 문제가 발생할 것이다. 30분정도 지나니 트랜잭션 처리(아마)로 카카오페이에 돈이 다시 입금되는 것을 볼 수 있었다. 이러한 문제를 해결하기 위해 All Or Nothing 전략을 사용한다. 이 전략은 말 그대로 전부하거나 나무것도 하지 않거나 둘 중 하나만 하는 전략이다. 만약 중간에 에러가 발생하면 Rollback으로 Nothing을 취하게 된다. 트랜잭션(Transaction).. 2024. 9. 5.
[Spring Boot] JPA 값 타입 JPA의 데이터 타입은  엔티티 타입값 타입 으로 구분 할 있다.여기서 엔티티 타입은우리가 @Entity를 붙이는 객체를 말하는 거고 값 타입은 자바 기본 타입이나 객체를 말한다.1. 값 타입의 종류JPA에서 값 타입은 크게 세 가지로 나눌 수 있습니다.기본 값 타입(Basic Value Type)JPA에서 제공하는 기본적인 값 타입으로, Java의 기본 데이터 타입(int, long, double, boolean 등)과 래퍼 클래스(Integer, Long, Double, Boolean 등), 그리고 String, Date, BigDecimal, BigInteger 같은 타입들이 이에 해당합니다.별도의 매핑 없이 엔티티의 속성으로 사용 가능하며, 데이터베이스 테이블의 컬럼과 직접적으로 매핑됩니다.임베디.. 2024. 9. 2.
728x90
반응형