본문 바로가기
반응형

전체 글79

9장 웹 로봇 웹 로봇은 사람과의 상호작용 없이 연속된 웹 트랜잭션들을 자동으로 수행하는 소프트웨어 프로그램이다.9.1 크롤러와 크롤링웹 크롤러는 먼저 웹페이지를 한 개 가져오고, 그 다음 페이지가 가리키는 모든 페이지를 가져오는 재귀적 방식의 웹 순회 로봇이다.재귀적으로 따라가기 때문에 크롤러 혹은 스파이더라고 불린다.인터넷 검색엔진은 모든 문서를 끌어서 검색 가능한 데이터베이스로 저장하기 위해 크롤러를 사용한다.9.1.1 어디에서 시작하는가: '루트 집합'크롤러에게 출발지점이 주어져야 하는데, 크롤러가 방문을 시작하는 URL들의 초기 집합은 루트 집합 이라고 불린다.웹의 대부분을 커버하기 위해 루트 집합에 너무 많은 페이지가 있을 필요는 없다.일반적으로 좋은 루트 집합은 크고 인기 있는 웹사이트, 새로 생성된 페이.. 2025. 3. 27.
3장 템플릿 3.1 다시보는 초난감 DAO3.1.1 예외처리 기능을 갖춘 DAOpublic void deleteAll() throws SQLException { Connection c = dataSource.getConnection(); PreparedStatement ps = c.prepareStatement("delete from users") ; ps.executeUpdate(); // 여기서 예외가 발생하면 바로 메소드 실행이 중단된다. ps.close(); c.close() ; }close() 메서드를 제대로 실행하지 못하고 에러가 발생하면 리소스를 반환하지 못한다.그래서 JDBC 코드에서는 어떤 상황에서도 가져온 리소스를 반환하도록 try/catch/finally 구문 사용을 권장하고 있다.pub.. 2025. 3. 22.
8장 통합점: 게이트웨이, 터널, 릴레이 게이트웨이: 서로 다른 프로토콜과 애플리케이션 간의 HTTP 인터페이스애플리케이션 인터페이스: 서로 다른 형식의 웹 어플리케이션이 통신하는데 사용터널: HTTP 커넥션을 통하여 HTTP가 아닌 트래픽을 전송하는 데 사용릴레이: 단순한 HTTP 프락시로, 한 번에 한 개의 홉에 데이터를 전달하는데 사용8.1 게이트웨이모든 리소스를 한 개의 애플리케이션으로만 처리할 수 없다는 것에 대한 해결책으로 게이트웨이가 고안됐다.게이트웨이는 리소스와 애플리케이션을 연결하는 역할을 한다. 게이트웨이는 HTTP 트래픽을 다른 프로토콜로 자동으로 변환하여, HTTP 클라이언트가 다른 프로토콜을 알 필요 없이 서버에 접속할 수 있게 하기도 한다.8.1.1 클라이언트 측 게이트웨이와 서버 측 게이트웨이게이트웨이는 클라이언트 측.. 2025. 3. 13.
1장 오브젝트와 의존관계 1.1 초난감 DAODAO(Data Access Object)는 DB 를 사용해서 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다.1.1.1public class User { String id; String name; String password; (getter/setter method)User 오브젝트에 담긴 정보가 실제로 보관될 DB 테이블은 아래와 같다.create table users ( id varchar(10) primary key, name varchar(20) not null, password varchar(20) not null1.1.2 UserDaoJDBC를 이용하는 작업의 일반적인 순서는 다음과 같다.DB 연결을 위한 Conn.. 2025. 3. 8.
08 카프카 스토리지 8.1 데이터 저장 기간카프카 토픽 데이터의 기존 보존기간 제한은 7일이며, 이 제한은 시간이나 데이터 크기로 쉽게 구성할 수 있다.브로커에 대한 보존기간의 주요 고려사항은 로그의 크기와 데이터가 존재하는 시간이다. 'log.retention.bytes'(로그 삭제를 위한 최대 크기 임댓값), log.retention.ms(로그 삭제 전 유지 시간) 등의 속성값이 있다.로그 보존기간 제한을 비활성화하고 영원히 유지하려면, log.retention.bytes, log.retention.ms 값 모두 -1로 설정하면 데이터 삭제를 끌 수 있다.8.2 데이터 이동도구나 코드를 사용해 데이터를 원래 형식으로 가져오고 데이터를 변환한 다음 다른 테이블이나 데이터 저장소에 배치할 수 있다. 카프카는 이러한 데이터 .. 2025. 2. 23.
07 토픽과 파티션 7.1 토픽토픽은 물리적 구조가 아닌 추상적인 개념이다.토픽은 일반적으로 하나의 브로커에만 존재하는 것은 아니다.토픽 이름 뒤에는 실제로 데이터를 보유하는 하나 이상의 파티션이 있다.파티션은 각 디스크에 물리적 공간이 존재한다.토픽을 구성하는 역할과 부분은 컨슈머가 데이터에 접근하는 방식에 영향을 미친다.토픽 설계첫 번째 단계는 이벤트를 확인하고 하나의 토픽에 속해 있는지 아니면 둘에 속해있는지 구분한다.두 번째 단계는 각 토픽을 고려하는데, 이 때 파티션의 수를 고려하면 좋다. 중요한 점은 파티션이 토픽별 설계에 대한 질문이지, 클러스터 전체의 제한이나 요구가 아니라는 것이다. 토픽 생성을 위한 기본 파티션 수를 설정할 수 있지만, 대부분의 경우 토픽이 사용되는 방식과 보유할 데이터를 고려해야 한다.특.. 2025. 2. 15.
반응형