1. 물리계층 Physical Layer 데이터를 전기 신호로 변환하고 물리적인 연결을 통해 전송한다. 랜카드, 네트워크 카드 2. 데이터링크계층 Data Link Layer 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 돕는다. MAC 주소(물리적 주소)를 통해 통신한다. 랜선 꽂으면 2단계 3. 네트워크계층 Network Layer 데이터를 다른 네트워크의 목적지까지 가장 안전하고 빠르게 전달한다. 라우터로 경로를 선택하여 IP 주소를 지정한다. 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행 IP 관련(부여 등등) 4. 전송계층 Transport Layer 포트를 열어두고 프로그램들이 전송할 수 있도록 통신을 활성화한다. TCP의 경우 신뢰할 수 있는 통신을 구현한다. 포트번..
part4. 데이터베이스 이야기 관계형 데이터베이스(RDB) 테이블은 데이터를 직관적이고 간단하게 표현한다. 데이터의 구성은 키와 값으로 되어있고, 이를 통해 데이터의 종속성을 관계로 표현하는 것이 관계형 데이터베이스의 특징이다. SQL = 데이터베이스의 정보 요청 방식 관계형 데이터베이스 시스템에서 자료를 처리하고, 데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언어이다. 쿼리 = 사용자의 입맛에 맞게 데이터를 요리하는 방법 - '질문을 하다'라는 뜻, 질문은 답을 달라고 하는 일종의 요청 - 쿼리는 데이터베이스에서 질문에 대한 답을 서버에 요청하는 방식 데이터 정의어 DDL - 데이터 생성, 수정, 삭제 등 데이터 전체 골격을 결정해서 모양을 갖춘다. - 데이터베이스를 정의한다는 것은 데이터베이스..
part3. 서버 이야기 IDC(Internet Data Center) = 서버를 모아둔 곳 서버 = 컴퓨터 호스팅 = 서버의 전체 혹은 일부를 이용할 수 있도록 임대해주는 서비스. - 호스팅을 사용하면 24시간 내내 안정적으로 전기도 공급하고, 인터넷 회선도 유지하고, 보안까지 갖추어서 서버를 관리해준다. - 웹 호스팅(하나의 서버 장비를 여러 명이 공유하여 사용, 저렴) - 서버 호스팅(한 명의 고객이 하나의 서버를 임대, 비싸지만 대형 홈페이지 구축 가능) - 클라우드 호스팅(가상 서버를 임대, 자유롭게 서버 스펙을 조절하고 사용한 만큼 금액 지불) 클라우드는 원거리에 있는 서버에 저장되어 있는 리소스들을 자유자재로 사용할 수 있는 형태로 구성되어 있다. 장점 : 이동의 자유 / 신속성 클라우드 컴..
part1. 컴퓨터와 인터넷 이야기 네트워크 패킷 교환 방식 => 인터넷 사용 - 작은 크기의 패킷으로 데이터를 전송하는 동안에만 네트워크 자원을 사용한다. - 메시지를 일정한 크기의 패킷으로 분해해서 전송하면, 수신자 측에서 원래 메시지로 다시 조립하기 때문에 회선 이용률이 높고 장애에 강하다. 인터넷 = 모든 컴퓨터를 하나로 연결한 거대한 컴퓨터 통신망이다. ⊂ 웹 웹은 HTML이라는 기본 문서 형태의 문서를 주고 받기 위해서 만들어졌다. 브라우저를 통해 접속하는 모든 사이트는 바로 HTTP 프로토콜로 연결된다. WWW = world wide web 웹은 수많은 웹사이트가 있고, 웹사이트는 웹페이지로 이루어졌다. 네트워크(통신망) = 하드웨어끼리 마치 그물망처럼 연결되어 데이터를 주고 받는 집단이다...
git push하는데, pull부터 받으라고 오류가 뜬다. (error:failed to push some refs to.....) 그래서 pull부터 받으려고 하는데, Not possible to fast-forward 오류 발생.. 검색해보니, 원인이 내가 브랜치에 커밋하고, 마스터 브랜치에 머지해버려서 발생한 것 같았다. git bash에서 git pull origin master --rebase 명령어 입력하니까, 정상적으로 pull받아졌다. 그렇게 하고 나서 다시 push하니 잘 됐다!!
디비버 오라클 연결 오류(ORA-12514) (tistory.com) > 그래서 오류. C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN listener.ora 파일에 (SID_LIST = 안에 (SID_DESC = (SID_NAME = XE) (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) ) 추가.. 서비스에서 OracleServiceXE, OracleXETNSListener 둘다 끄고, Service, Listener 순서로 다시 재시작 이제 된다..ㅠㅠㅠ
화면에서는 엔티티를 사용하지 않고 DTO를 사용한다. persistence 티어(엔티티) busniess 티어 presentation 티어(DTO) 티어가 다르니 서로 연관이 없고 매핑이 되지 않는다. 엔티티에 create생성자를 지우고 id같은 시퀀스값을 제외, 화면에서 받을 수 있는 것들만 생성자로 만들어서 @Builder 어노테이션을 붙여준다. => 빌더패턴 안에 있는 내용이 다 전달되어야지만 객체가 만들어진다. Entity : 화면에서 받을 것만 생성자로 제작 후 @Builder 엔티티에서 빌더패턴으로 생성자를 만들면 알아서 static으로 바뀐 다음에, xxx.builder를 쓰는 것임. DTO에서는 화면에서 전달받은 것을 엔티티로 바꿔줘야지 레포지토리에 등록이 됨. 영속성 컨텍스트에 전달이 됨..
엔티티를 수정하거나 건드렸으면 반드시 maven > lifecycle > compile 해주어야 함. 이거를 해줘야 쿼리dsl에서 생기는 Q엔티티들이 생긴다. fetch는 list fetchOne은 해당 타입으로 결과가 하나가 나옴 DTO로 리턴하는 방법 화면에서는 엔티티를 사용하면 안됨. 엔티티는 서비스단까지 사용하는 것임. 서비스의 리턴타입은 dto여야 함. 서비스에서의 리턴타입은 dto 엔티티는 서비스 메소드안에서만 쓰고 결과는 dto로 나와야 함. dto로 화면에 나와야 함. 엔티티가 나가면 오류생김. 엔티티를 기준으로 결과를 조회했을 때 조회한 결과를 바로 DTO에 넣어서 DTO로 리턴을 한다. jpql에서는 직접 소속을 다 알려줘야 함. 위 과정을 queryDsl은 dto에 생성자위에 @Que..
th:with= 태그안에서 사용할 변수 선언