데이터 클래스는 값만 가지는 클래스이다. 모든 필드가 public이며, 값의 조작이 객체 외부에서 이루어진다.만약 금액 데이터 클래스가 있는데, 외부의 여러 군데에 값을 변경하는 로직이 존재한다면 장애가 발생하기 쉽다.이런 경우는 데이터를 담고 있는 클래스와 데이터를
사용자로부터 입력받은 SQL구문을 분석하고, 어떤 순서로 기억장치의 데이터에 접근할지 결정함. 이때 실행계획을 정하는 것쿼리 평가 엔진은 실행계획을 세우고 실행하는 DBMS의 핵심적인 모듈플랜 실행 기능, 연산 평가 기능, 옵티마이저, 파서 포함DBMS는 특별한 용도로
데이터 접근 절차를 결정하는 건 DBMS아키텍처의 쿼리 평가 엔진이다. 이는 쿼리를 가장 처음으로 읽어들이는 모듈이다.쿼리 평가 엔진은 이전 글에서 언급했듯 연산을 평가하고 플랜을 실행하는 기능, 파서, 옵티마이저를 포함하고 있다.입력된 SQL은 파서로 전달되어 구문을
용어 정리optimistic update:함수형 컴포넌트에서 상태를 가질 수 있음 - 컴포넌트 내에서 상태 변수를 선언하고 업데이트할 수 있음초기값을 지정해야 함동작 원리상태 변수가 업데이트되면 새로운 상태와 이전 상태를 비교하여, 렌더링이 다시 필요하다면 가상 DOM
서버로부터 새로운 페이지를 불러오지 않고 현재 페이지를 동적으로 다시 작성함현재 html을 가지고 변경되는 부분에 대해서만 서버에서 불러와 클라이언트 사이드에서 렌더링그렇다고 하나의 화면만 보여주는 것이 아니고, 다른 주소마다 다른 화면을 보여줌 (라우팅)앱의 규모가
O(logN)초기 설정시 왼/오 끝, 중간 인덱스 초기화 필요반복문 탈출 조건mid가 양 끝값 중 하나와 만날 때left ≤ right를 벗어날 때이미 정렬된 배열에서 특정 원소를 찾을 때 효과적배열의 요소가 1개일 때 → mid와 target 같은지 검사예외사항을 제
인증/인가를 구현하기 위해 filter를 만들 때, 대체로 filer클래스가OncePerRequestFilter를 상속받는 경우와 GenericFilterBean을 상속받는 경우 두 가지를 많이 찾아볼 수 있었다. 둘 다 기능 자체에는 차이가 없으나, 어떤 것을 사용
목차인메모리 데이터베이스지만, 디스크에 백업 가능기본적으로 인메모리 데이터베이스는 휘발성이므로 서버가 꺼지면 데이터가 유실되지만, Redis는 디스크에 데이터를 백업하고 다시 읽어서 메모리에 로드하는 기능을 제공RDB 방식 - 특정 간격마다 메모리에 있는 데이터 스냅
빌드 파일을 s3에 업로드하고 codedeploy로 배포하는 방식도 있음 → 너무 복잡s3는 버전별로 관리해야하지 않는 이상 필요 없을 것 같은데,(추측..)s3없이 codedeploy만 이용하는 자료가 너무 없음그냥 간단하게main브랜치에 push가 발생하면 자동으로
프로젝트 주제를 선정할 때 고려한 점들이 있었다.추천받은 몇 가지 키워드 중에서 마음에 드는 키워드를 골라 그에 알맞는 프로젝트 주제를 선정하고자 했다.첫째, 시시각각 변하는 유동적인 데이터 사용하기둘째, 공공데이터를 주기적으로 끌고 와서 사용하기따라서 시시각각 변하는
새벽 미팅에서 MView에 대한 설명을 들었다.마침 얼마전 뷰에 대해서 공부했으니, 그때 들었던 설명을 되짚으며 중요한 부분만 가볍게 살펴보자일반 뷰와 다르게 테이블처럼 실제로 공간을 차지하며 물리적으로 존재하는 테이블이다.뷰는 SELECT문을 저장해두고, 필요할 때마
데이터의 무결성: 데이터에 결함이 없는 것 - 중복되면 안되는 데이터가 중복되는 등의 결함이 없음PK, FK, UNIQUE, CHECK, DEFAULT, NULL허용 등외래 키가 있는 열은 무조건 다른 테이블의 기본 키와 연결된다.기본 키가 있는 테이블이 기준 테이블이
인덱스를 사용하면? -> SELECT출력 속도가 빨라진다, but 인덱스도 공간을 차지한다이 포스팅은 Mysql과 Postgresql의 내용이 번갈아서 나온다. 혼동하지 말자! 왜냐면 책 내용은 Mysql이고 나는 내 프로젝트에서 쓰는 Postgresql을 위주로 실습
예전에 겪었던 이슈인데 뒤늦게 메모하는거라 에러 로그는 없다...Nginx 컨테이너가 돌아가고 있어야 인증서를 발급받을 수 있는데(아니면 cannot configure web server인가 에러 뜸)Nginx 컨테이너가 자꾸만 종료되는 문제 발생\-> nginx.co
물리, 데이터링크, 네트워크 계층만 있어도 목적지에 데이터를 보낼 수 있다. 그러나 데이터가 손상되거나, 유실되더라도 이들 계층에서는 아무런 보완을 해줄 수 없다.전송 계층은 신뢰할 수 있게 데이터를 전달하는 역할을 한다.비연결형과 연결형으로 나뉜다.연결형: 상대방과
데이터 링크 계층은 네트워크 장비간에 신호를 주고받는 규칙을 정하는 계층이다. 랜에서 정상적으로 데이터를 주고받기 위한 계층이다.이 규칙(프로토콜)으로 가장 많이 사용되는 게 이더넷이다.즉 이더넷은, 네트워크 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용하는 데이터
OSI모델은 응용, 표현, 세션, 전송, 네트워크, 데이터 링크, 물리 계층으로 이루어져 있다.반면 TCP/IP는 이를 4계층으로 압축한 모델이다.응용, 전송, 인터넷, 네트워크 접속 계층으로 이루어져 있다.응용, 표현, 세션 계층은 TCP/IP모델의 응용 계층에 대응
기존의 코어 하나인 CPU가 발전되며 멀티 코어 프로세서들이 등장하면서, 프로그래머에게도 병렬화에 대한 고민이 필요해졌다.자바 8부터는 병렬화를 위해 컬렉션을 강화했고, 그 컬렉션을 효율적으로 사용하기 위해 Stream을 강화했다. 스트림을 효율적으로 사용하기 위해 또
어댑터 패턴 어댑터는 변환기라고 할 수 있다. 어댑터 패턴은 JDBC처럼 단일한 인터페이스로 다양한 데이터베이스 시스템을 조작할 수 있게 하는 것도 포함된다.