이번주도 페이지를 하나하나 들어가며 서비스가 어떻게 동작하는지 분석하였다. 특히 데이터들을 어떻게 불러오는지를 중점적으로 보며 DB에서 조회를 해올 때와 검색엔진을 이용할 때, 이 두 부분의 차이에 대해 공부하였다. 또한 이번주는 정처기 실기 시험이 있어 시험을 봤는데 생각보다 난이도가 높아 기대보다 가채점 결과가 나오지 않았다. 아마 3회차를 또 봐야할 것 같다. 이번에 공부할 때는 디자인 패턴, 보안 등 소홀히 봤던 개념들을 꼼꼼히 봐야할 것 같다. 그외에 오픈소스 컨트리뷰션도 월.화.수 주 3회 꾸준히 달성하였다. 다음주도 다시 시작한다는 마음으로 달려보자!!
습득한 지식 및 공부내용
RDBMS를 통해 우리가 원하는 데이터 검색을 충분히 할 수 있으나, 검색엔진이 필요한 이유는?
: 검색어가 정확하게 일치하지 않아도 검색 가능
(DB 같은 경우는 정확히 일치하여야 함)
: 가중치 기반 정렬이 쉬움
: 여러 검색 조건을 걸어도 빠르게 데이터 조회 가능
검색엔진 동작원리
: 웹 상의 방대한 정보들 => 색인화 => 검색
단축 URL 서비스
: 짧은 URL을 통해 긴 URL로 이동할 수 있도록 해주는 서비스
트랜잭션 과정
1) 트랜잭션 시작
2) 비즈니스로직 실행(여러 쿼리들이 실행) - DB 내 갱신이 아직 적용x
3) 트랜잭션 커밋 (트랜잭션이 성공적이며, 갱신이 실제 적용됨)
cf) 만약 쿼리 하나가 실패하면, DB 시스템은 전체 트랜잭션 또는 실패한
쿼리를 롤백함
INSERT문 - SELECT문
: 테이블의 데이터를 우리가 복사하고자 하는 대상 테이블로 복사하는 기능을 가진 구문
INSERT INTO 목적지 테이블명(컬럼명1, 컬럼명2, ...)
SELECT 컬럼명1, 컬럼명2, ...
FROM 출발지 테이블명
<fmt>
태그
<fmt:formatNumber pattern = "#,###">
<c:out value="${count}" />
</fmt:formatNumber>
CI(Connection Information) vs DI(Duplication Information)
CI : 연계 정보
: 온라인 상의 개인 식별(즉, 온라인 주민등록번호)
: 개인마다 고유하게 발급되는 키값으로 서로 다른 서비스에서도 CI값 공유해서 유저 식별 가능
(88byte의 대소문자 + 숫자로 이루어진 키)
DI : 중복 정보(중복 확인 정보)
: 인증 솔루션마다 같은 개인이라도 다른 키 값이 발급될 수 있음
: 따라서 서로 다른 서비스에서 DI를 공유해서 사용하는 것 불가
(66byte의 대소문자+숫자로 이루어진 키)
정보 감사합니다.