분류 전체보기124 [TCP/IP MODEL] 1계층 물리 계층 물리적인 매체를 이용해 비트 스트림을 전송 비트 단위 전송 010100 2계층 데이터링크 계층 hop to hop 전송 담당 Mac 주소 사용 유선 - 이더넷 MTU 1500byte 무선 - LTE IP주소를 이용해 바로 옆(라우터, Host)으로 전달하는 역할을 하는 계층 데이터를 전송하고자 할 때 매체를 타고 전파된다. 매체를 이용하면 브로드캐스트로 전파된다. (사람이 공기를 이용해 말을 하듯이) 여러 노드가 동시에 매체를 이용하게되면, 충돌이 발생한다. 충돌을 해결하기 위해 여러 시도 -> 정해진 시간마다 노드가 데이터를 보내는 방식 현재 사용하는 방식은 임의로 아무때나 Random Access하는 방식을 사용 임의로 아무때나 매체에 접근하므로 충돌은 언젠간 발생하며, 충돌을 해결.. 2022. 8. 31. [JAVA] 메서드 체이닝 만들기 (빌더 패턴) public class ChanningClass { public final String status; private ChanningClass(String status){ this.status = status; } // BuildersImpl 인스턴스를 처음 생성할 메서드가 필요하다. public static Builders startMethod() { return new BuildersImpl(); } // Builder 인터페이스 interface Builders{ Builders method1(String doSomething); Builders method2(String doSomething); ChanningClass build(); } // Builder 구현체 private static cla.. 2022. 8. 26. [Spring] REST API REST(Represetational State Transfer) 기술이 아닌 약속이다. 요청에 대한 JSON 또는 XML형식으로 자원의 상태 응답 자원(데이터)의 상태를 주고 받는 것 특징 Client, Server 구조 / 클라이언트는 요청하고, 서버는 응답하는 구조 Stateless / 서버에서는 클라이언트의 상태 값을 저장하지 않는다. (인증, 인가에 JWT 사용) HTTP 프로토콜을 이용해서 JSON 데이터를 응답으로 주기 때문에 어플리케이션의 통합과 분리가 용이하다. 규약 자원의 식별 - URL로 자원을 구분, 식별 메세지를 통한 리소스 조작 - HTTP header에 자원의 타입을 명시, 데이터 일부를 메세지로 전달 자기 서술적 메세지 - 요청하는 데이터가 HTTP methods 중 무엇인지.. 2022. 8. 26. [Web 보안] XSS, CSRF XSS(Cross-Site Scripting) (사용자가 사이트를 신뢰한다는 점을 이용) 스크립트 삽입 공격 방식 JS 스크립트는 어느위치에 있던 동작하기 때문에 공격자가 스크립트 코드가 포함된 게시글을 작성하여 등록 일반 사용자가 해당 글을 클릭하면 script가 동작하여 이루어지는 공격 방식 무조건 Secure Coding을 해줘야 한다. 대응 - Secure coding , = 과 같은 입력값에 공격에 사용될만한 문자가 있다면 치환하여 사용, DB에 저장한다. Sql Injection도 비슷한 방식으로 대응할 수 있다. - HttpOnly Secure coding이 적용되어 있지 않아 스크립트가 동작 쿠키 탈취 시도 시 쿠키가 HttpOnly 설정이 되어있다면 js로 쿠키를 읽어낼 수 없다. CSR.. 2022. 8. 25. [Spring Security] 로그인 구현 전체적인 인증 흐름 Filter(username, password 토큰 생성) -> Manager(Provider 구분) -> Provider(실제 인증 처리부) -> Service(username으로 DB에서 조회) -> Details(User정보 구성) -> Provider(입력 token과 Details 비교 검증, 일치할 시 Authentication 리턴) -> Filter(SpringContext에 Authentication 등록) 간단 요약 (입력된 username, password 토큰)을 (username으로 DB에서 조회한 유저정보)랑 비교 검증 일치하면 (Authentication 권한과 정보)를 SecurityContext에 등록 스택을 쌓아가며 인증처리를 한다. Authentica.. 2022. 8. 24. [데이터베이스] 트랜잭션 고립 수준 쓰기와 쓰기가 동시에 작업하는 것이 불가능 읽기와 읽기는 동시에 언제든 가능 문제 부분은 쓰기 트랜잭션과 읽기 트랜잭션이 동시에 일어날 때 하나의 트랜잭션은 발생 시점부터 데이터 일관성을 가져야 한다. Read uncommited - 오손 읽기(Dirty read) commit되지않은 데이터를 읽는 문제 Read commited - 반복 불가능 읽기(Non repeatable read) update -> commit된 데이터를 읽어, 데이터 일관성이 깨진다. Repeatable read - 유령 데이터 읽기(Phantom read) 트랜잭션 시작 전 commit 된 데이터만 undo영역을 이용하여 읽는다. 일관성이 깨지지 않는다. insert -> commit 된 데이터를 읽어, 데이터를 추가로 읽어 데.. 2022. 8. 23. 이전 1 2 3 4 5 6 7 ··· 21 다음