전체 글 53

my-timetable 개발 회고

뿌듯하다. my-timetable@v0.0.4를 릴리즈 했다. https://github.com/youjung-hong/my-timetable 개발하면서 모르고 지나갔던 부분이나 개선점을 적어두고, 다시 오려고 한다. 1. ESLint, TypeScript, Prettier 설정 부분을 잘 모르겠다. 인터넷에서 하라는 대로 했는 데... 왜 되는 것인지 모르겠다. ESLint 설정의 plugin, extend의 의미부터 알아야 할 것 같다. prettier와 tsconfig.json 도 말이다. 2. my-timetable에서 날짜말고 시간값만 주면 될 것 같다? my-timetable의 id를 밖에서 주는 데... 그건 아닌 것 같다? 3. my-timetable에서 시간이 겹치면, 동시에 보이지 않는..

MYTT🍒 2022.08.28

[그림으로 배우는 네트워크 원리] 7장. 네트워크 보안 기술

인증과 암호화 네트워크 데이터를 악의적인 사용자로부터 보호하기 위해서 인증과 암호화를 사용한다. 인증은 쉽게 말해 로그인한 사람만 접속할 수 있게 하는 것이다. 이렇게 함으로서 데이터에 접근하는 것을 막는다. 암호화는 데이터를 도청해도 해석할 수 없도록 비밀메시지로 만드는 것을 말한다. 암호화 공통키 암호 방식 키 하나로 암복호화를 수행한다. 키가 하나이기 때문에 장기간 사용할 경우, 어떤 규칙성으로 인해 암호가 해독될 수 있다. 또, 키를 상대에게 배송해야 하는 문제가 있다. 공통키 암호 알고리즘에는 3DES와 AES가 있다. 현재는 AES가 널리 사용되고 있다. 공개키 암호 방식 공개키와 비밀키 2개를 두어, 공개키로 암호화하면 비밀키로 복호화하고, 비밀키로 암호화하면 공개키로 복호화할 수 있게 한..

[그림으로 배우는 네트워크 원리] 6장. 라우팅

라우터 라우터는 인터넷 계층(L3)의 데이터를 통신하는 장치다. 라우터로 도착하는 이더넷프레임의 도착지MAC주소는 라우터의 것인데, 도착지IP주소는 정말 도착지 IP 주소다. 왜냐면, L2는 같은 네트워크 내의 데이터만 통신할 수 있고, L3는 다른 네트워크 간의 데이터를 통신할 수 있기 때문이다. 라우터는 IP패킷의 목적지 주소와 라우팅 테이블을 참고하여 IP패킷이 전송되어야 할 곳을 정한다. 라우터는 스위치와 달리 목적지IP주소를 모르면 폐기한다. 라우터는 IP패킷이 전송되어야 할 곳을 확인하고, 이곳의 MAC주소를 확인해서 이더넷프레임을 새로 만는다. 라우터로 들어오는 이더넷 프레임은 라우터를 나가는 이더넷 프레임과 목적지 MAC이 다르다. 라우팅 테이블에는 네트워크 주소에 대한 라우터 주소 또는..

[그림으로 배우는 네트워크 원리] 5장. 이더넷과 무선 LAN

L2 스위치 L2는 네트워크 인터페이스 레이어를 말한다. L2스위치는 네트워크 인터페이스 레이어 내부의 통신을 담당 이더넷/무선 LAN을 이용해서 같은 네트워크 하나를 구성 여러 대의 L2 스위치가 있어도 L2 스위치로 연결된 네트워크는 하나임 네트워크에 접속하기 위해서 L2 스위치 접속부터 시작하기 때문에 "엑세스 스위치"라고 부르기도 한다. L2스위치의 연결을 구성하는 토폴로지에는 버스, 스타, 링형 등이 있다. 이더넷과 무선LAN L2의 주요 프로토콜은 이더넷, 무선 LAN이 있다. 이더넷 이더넷 인터페이스와 이더넷 인터페이스 간 유선 LAN으로 통신한다. 전송되는 데이터는 이더넷 프레임이며, 아래와 같은 규격이다. 이더넷 프레임 = 이더넷헤더(목적지 MAC 주소, 출발지 MAC 주소, 타입코드..

[그림으로 배우는 네트워크 원리] 4장. 웹사이트의 동작 원리

URL에 담긴 정보: 프로토콜 + 호스트명 + 리소스경로 예: https://comic.naver.com/index https 프로토콜 : 파일의 장소 // 파일의 장소로 호스트명이 올거야 comic.naver.com 호스트명 /index 리소스 위치 웹 브라우저에  www.naver.com을 입력하면 생기는 일 목적지 서버와 통신하려면, 목적지 IP/MAC주소를 알아야 함 IP 주소는 뭐야? DNS 쿼리 요청을 보낸다 웹 브라우저 캐시 확인 → 있으면 쓴다. 없으면 DNS Resolver의 캐시 확인 → 있으면 쓴다. 없으면 DNS Resolver는 Root DNS 서버에게 물어본다. Root DNS 서버는 제일 뒤에 있는 com에 대한 네임 서버를 알려준다. DSN Resolver는 com 네임 ..

[그림으로 배우는 네트워크 원리] 2장. 네트워크를 만드는 것

2.1 인터넷 연결이 된다는 것: LAN 구축 KT의 LAN선을 외부에서 끌어와서 KT 라우터에 연결한다. 유선 LAN(이더넷)을 이용하기 위해 LAN선이 필요하다. 준비한 LAN선의 한 쪽 LAN 포트를 KT 라우터의 LAN 포트에 꽂고 반대쪽 LAN 포트를 PC의 LAN 포트에 꽂는다. 무선 LAN(와이파이)을 이용하기 위해 LAN선과 공유기가 필요하다. LAN선으로 KT 라우터와 와이파이공유기를 연결한다. 와이파이공유기의 무선 LAN 인터페이스와 노트북, 스마트폰의 무선 LAN 인터페이스가 전자파를 통해 전달되어 인터넷을 쓸 수 있다. 2.2 네트워크 구성과 관련된 용어 인터페이스: 물리신호(pulse)와 디지털신호(0101)의 경계. 인터페이스를 통해 물리신호가 디지털신호로 변환되어 들어오고, 디..

[그림으로 배우는 네트워크 원리] 1장. 네트워크의 기본

1.1 네트워크의 분류 네트워크를 접근할 수 있는 권한이 필요한 지에 따라 public/private 네트워크로 나뉜다. 네트워크를 구성하는 범위에 따라 LAN/WAN으로 나뉜다. 1.2 인터넷 인터넷 접속이 가능한 이유: ISP(Internet Service Provider)들에 의해 전 세계 네트워크가 연결될 수 있다. ISP의 예: KT같은 통신사업자, Amazon같은 인터넷 서비스 기업 집에서 KT인터넷을 계약: ISP인 KT의 라우터에 접속할 수 있게 되어 인터넷을 이용할 수 있다. 1.3 통신 애플리케이션은 네트워크를 통해 데이터를 주고 받는다. 애플리케이션의 역할이 서버인 지, 클라이언트인 지에 따라 통신 방법을 구분할 수 있다. 클라이언트-서버 애플리케이션: 클라이언트 서버를 통해 데이터..

『JAVA ORM 표준 JPA 프로그래밍』1장~3장

1장. JPA 소개 애플리케이션에서 SQL을 직접 다루면, 테이블 설계 변경 시 수정해야할 코드의 양이 많고, 유지보수 시에 SQL을 꼭 확인해야 하는 일이 생긴다. 객체지향의 패러다임과 RDB의 패러다임은 맞지않아서 객체지향의 상속, 연관관계, 그래프탐색, 동등성 비교 등을 표현하는 데는 한계가 있다. JPA는 JAVA 진영의 ORM으로, JPA를 사용하면 엔티티의 변경을 감지하여 SQL을 직접 짜주어 개발자가 신경쓸 일이 줄어든다. 또한 객체 중심적으로 개발할 수 있게 해준다. 2장. JPA 시작 H2 DB를 로컬PC에 설치하여 실행하고 서버모드로 접속하였다. JAVA 애플리케이션의 persistence.xml에 JDBC 접속정보와 JDBC 관련 로그 설정하였다. JAVA 애플리케이션에 JPA 설정..

백엔드 2022.03.04