본문 바로가기

전체 글

(426)
[Codility] MaxNonoverlappingSegments, 코딜리티 그리디 greedy 문제는 다음과 같다. 풀이 방법으로 생각했던 것은 다음과 같다. 모든 세그먼트를 하나의 평면으로 통합시키면, 중복은 전부 연결이 된다. 이 때 떨어져있는 세그먼트들의 수를 세면 된다. 통과되는 답은 다음과 같다. 계속 50프로만 되다가 다른 블로그를 보고 참고했는데.. public class MaxNonoverlappingSegments { public static void main(String args[]) { int count = solution(new int[] {1, 3, 7, 9, 9, 10}, new int[] {5, 6, 8, 9, 10, 10}); System.out.println(count); } public static int solution(int[] A, int[] B) { if (..
[프로그래머스] 전화번호 목록, 알고리즘 문제풀이, Hash, 해시 이전에 파이썬으로 풀었던 방식은, 정렬 후에 두개의 for 문을 사용하되 해당 순서의 길이보다 긴 것들만 찾아보는 식으로 풀었었다. 21년 3월 효율성 테스트케이스 추가되면서 안되는 듯해서 연습하다가 java로 다시 풀었다. Hash 문제라서 HashSet을 사용했는데, 단어 하나하나에서 각 전체의 substring을 구하는건 비효율적으로 보였으나, 문자열 자체를 비교하는 것 보다는, substring 에서 잘라낸 문자열을 hash 에 있는지 없는지 확인하는 것으로 찾는 것이 더 빨랐다. package algorithm_sites.programmers; import java.util.HashSet; public class hash_02_phone_number_prefix { public static vo..
@SpringBootTest 와 @DataJpaTest 차이점, Diff between @SpringBootTest and @DataJpaTest @DataJpaTest는 @Component 를 스캔하지않는다. @Component 를 사용한 Bean Class를 사용하려면 @SpringBootTest를 사용해야 한다. @DataJpaTest는 @Component 붙은 Bean Class 를 ApplicationContext 로 로드하지 않아서 로딩이 빠른 장점이 있다. 2021.06.10 - [Programming] - Cascade Lazy 지연로딩 시 Proxy 프록시 객체의 null 값 문제 Exception Cascade Lazy 지연로딩 시 Proxy 프록시 객체의 null 값 문제 Exception test: 지연로딩 시 프록시객체의 null값 문제 - 지연로딩으로 연관관계가 있는 하위 객체가 프록시객체로 만들어진 경우, 해당 객체의 값..
Spring framework, @Transactional(readOnly=true), 스프링 프레임워크 읽기 전용 트랜잭션을 하는 이유는? 읽기 전용 트랜잭션에 관하여 스프링 프레임워크에서 제공하는 트랜잭션을 읽기 전용 모드로 설정 할 수 있다. @Transactional(readOnly = true) 위 어노테이션을 사용하면 강제로 플러시 호출을 하지 않는 한 플러시가 일어나지 않는다. 그 말은, Persist context 에 올라가 있는 내용을 동기화 시켜주지 않는다는 이야기 그래서 트랜잭션을 커밋하더라도 영속성 컨텍스트가 플러시 되지 않는다. 그래서 엔티티 등록, 수정, 삭제 가 동작하지 않는다. (읽기만 가능하다) 또한 변경 감지를 위한 스냅샷 비교 등 무거운 로직들을 수행하지 않으므로 성능이 향상된다. 2021.07.20 - [Programming] - Spring MVC 프레임워크 구조 Framework 구성요소 Spring M..
네트워크 망 구성 (AWS) 에 관하여.. 순서 등 네트워크 망 구성에 관하여 VPC 생성 (클래스 설정, CIDR 설정) Subnet 생성 용도에 맞도록.. AZ 분리, 몇개씩 할당해줄지 설정 Route table 확인 Internet Gateway 생성, 연결 (모르는 ip 전체를 받을 곳) -> 이 후 aws 에서 관리해주어서 신경 안써도 됨 Routing table 에서 routes 수정 -> local 로 받을 destination 기본으로 있고, -> 나머지들 다 internet gateway 로 받도록 설정 (0.0.0.0/0 을 위에 만든 igw 로 연결) Routing table 에서 subnet 연결 편집 -> 위에서 만든 subnet 중, 해당 라우팅테이블에 넣고 싶은 subnet 들을 연결해준다. -> (e.g. public / pr..
컨테이너란? 왜 나왔는가? 도커란? 사용법은? Nextstep 우테캠 프로 인프라 관련 교육 중 부분을 정리 https://edu.nextstep.camp/ 클라우드 서비스를 사용하는 것에 대하여.. 조금 지나서 다시 읽어보니 이해되는 내용이 더 많아서 정리하기 좋았음 블로그에서도 볼 수 있음 -> https://itdar.tistory.com/ Docker 컨테이너에 관하여 우선 컨테이너란? Servlet container, IoC container, Bean container 등 -> 각 무엇인가의 라이프사이클을 관리함 -> 생성 - 운영 - 제거 까지 생애주기를 관리하는 것은 각각의 격리가 필요하다. Docker container는 무엇을 해결하려고 나왔나? ** 기존에는..... HW장비 마련하고, (OS 가상화로 해결 가능) OS 설치하고,..
클라우드란? 클라우드 서비스를 사용하는 이유는? Nextstep 우테캠프로 인프라 관련 교육 중 부분을 정리 https://edu.nextstep.camp/ 클라우드 서비스를 사용하는 것에 대하여.. 조금 지나서 다시 읽어보니 이해되는 내용이 더 많아서 정리하기 좋았음 클라우드란? - 인터넷을 통해서 원격으로 접근하는 모든 것을 말함 - 클라우드 컴퓨팅은 인터넷을 통해 여러 리소스(서버, 데이터베이스, 네트워킹 등)을 관리하는 것 클라우드 사용의 이유는? - 관심사를 나눈다. 아래와 같은 관심사들 개인서버 데이터를 어떻게 관리할 것인가? >> 백업은 어떻게? >> 보안 이슈는 없나? 서버를 어떻게 관리할 것인가? >> 장비 못 끄나? >> 다른 프로그램 돌려도 되나? >> 노트북 두고 다녀야 하나? >> 장비 망가지면 서비스도 중단되나? 네트워크를 어..
Spring MVC 프레임워크 구조 Framework 구성요소 아래와 같은 구조, 9시 방향부터 6시 방향까지 시계 방향으로 진행된다. 1. client 요청이 DispatcherServlet에게 전달된다. 2. DispatcherServlet은 HandlerMapping을 사용해서 client요청을 처리할 Controller 객체를 추출한다. 3. Controller에서 model을 사용하여 client의 요청을 처리한다. 4. Controller는 처리결과 data를 Model(AndView)에 담아서 return한다. 5. DispatcherServlet은 ViewResolver로부터 응답결과를 생성할 view 객체를 추출한다. 6. View는 client에게 전송할 응답이다. Dispatcher Servlet Dispatcher Servlet = Contro..