목록백엔드 (20)
최코딩의 개발노트
사이트 https://www.acmicpc.net/problem/1522 1522번: 문자열 교환 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 www.acmicpc.net 문제 분석 볼모으기 문제랑 비슷했다. 볼모으기 문제는 엄청 쉽게 풀었는데 이 문제는 슬라이딩 윈도우 알고리즘이라고 한다. 즉 문자열의 끝이 처음과 다시 이어지는 원형 구조 인거다 뭔가 쉽고 빨리 풀 수 있을거 같았는데 고정관념이 사로잡혔다. 볼모으기 문제처럼 알파벳 갯수 최소를 찾으면 될줄 알았으나 생각해야 될게 많고 도저히 안풀렸다. 실버1인데 골드푸는 기분.... 그래서 생각한 알고리즘은 ..
경로 표현식 상태 필드 - 단순히 값을 저장하기 위한 필드이다. - 즉 경로 탐색의 끝이며 탐색이 더 이상 안된다. String query = "select m.username, m.age from Member m"; 연관필드 단일 값 연관 필드 - @ManyToOne, @OneToOne, 대상이 엔티티인것들을 말한다. String query = " select o.member from Order o"; - 위와 같이 쿼리를 넣을때 SQL에서 묵시적 내부 조인이 발생한다. - 물론 탐색은 가능하다. - 비추X 컬렉션 값 연관 필드 - @OneToMany, @ManyToMany, 대상이 컬렉션인것들을 말한다. //String query = "select t.members from Team t"; Strin..
프록시 프록시 기초 - em.find(): DB를 통해서 실제 엔티티 객체를 조회한다. - em.getReference(): DB 조회를 미루는 가짜 즉 프록시 엔티티 객체를 조회 한다. 프록시 특징 - 실제 클래스를 상속 받아서 만들어진다. - 실제 클래스의 겉 모양이 같다. - 사용하는 입장에서는 이게 진짜인지 가짜객체인지 모른다. 위치투명성? - 프록시 객체는 실제 객체의 참조를 보관한다. - 즉 프록시 객체를 호출하면 실제 객체의 메소드를 호출하는 것이다. - 프록시 객체는 원본 엔티티를 상속받으므로 타입 체크시 instance of를 사용한다. 프록시 초기화 Member findMember = em.getReference(Member.class, member.getId()); //이 값이 사용될..
상속관계 매핑 조인 전략(JOINED) - 조인 전략은 위와 같이 객체랑 관계형DB랑 구조가 비슷할 때 사용하는 것이다. @Entity // 중복되는 속성들을 다 하위로 보냄 즉 item 테이블 d없음 근데 쿼리 em.find 할때 union해서 다 뒤짐 //@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) // 이거 안쓰면 상속받은 애들 다 한테이블로 추가됨 즉 상속으로 나뉘게 해주는거 innerjoin @Inheritance(strategy = InheritanceType.JOINED) // 다 통일한 단일 테이블 추가로 discrim 없어도 dtype 생김 //@Inheritance(strategy = InheritanceType.SINGLE_TA..
보호되어 있는 글입니다.
9-1 슬라이딩 윈도우 프로토콜 - 두 호스트 간의 프레임 전송을 위한 일반적인 통신 프로토콜 - 오류제어와 흐름 제어 기능을 함께 지원 순서 번호 - 정보 프레임의 내용에는 프레임별로 고유하게 부여되는 순서 번호라는 일려번호가 부여 - 즉 송신호스트가 수신호스트에 프레임에 번호를 붙여서 차곡차곡 보내는것 윈도우 크기 이렇게 표현할 수 있다. 연속형 전송 - 정지 대기 방식의 프로토콜은 송신 윈도우의 크기가 1인 특수한 경우 - 즉 송신 호스트와 수신 호스트 사이의 물리적 거리 차로 인해 프레임의 전송 시간이 상대적으로 오래 걸리는 환경에서 윈도우 크기가 1이면 전송 효율이 극단적으로 떨어짐... - 그래서 윈도우의 크기를 늘려 ACK 프레임을 받지 않고도 여러 정보 프레임을 연속으로 전송할 수 있어야 ..