본문 바로가기
반응형

전체 글80

5장 서비스 추상화 - 1 5.1 사용자 레벨 관리 기능 추가아래와 같은 비즈니스 로직을 추가한다고 가정한다.사용자의 레벨은 basic, silver, gold 세가지 중 하나이다.사용자가 처음 가입하면 basic, 이후 활동에 따라 한단계씩 업그레이드 된다.가입 후 50회 이상 로그인하면 basic 에서 silver 레벨이 된다.silver 레벨이면서 30번 이상 추천을 받으면 gold 레벨이 된다.사용자 레벨의 변경 작업은 일정한 주기를 가지고 일괄적으로 진행된다. 변경 작업 전에는 조건을 추엊ㄱ하더라도 레벨의 변경이 일어나지 않는다.5.1.1. 필드 추가사용자의 레벨을 저장할 필드가 필요하다. 만약 int 값으로 레벨을 관리한다고 예를 들었을 경우 코드 관리는 깔끔할 수 있으나, 다른 종류 예를 들어 basic(1), sil.. 2025. 4. 4.
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.
반응형