반응형

프로그래밍 공부 59

DB Replication

본 포스팅은 우아한 테크코스 테코톡 엔지의 DB Replication을 기반으로 작성된 포스팅입니다. https://www.youtube.com/watch?v=NPVJQz_YF2A&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=10 목표 DB Replication에 대해 이해한다. DB Replication과정에 대해 이해한다. DB Replication topology에 대해 이해한다. 복제 과정 중 문제 발생 시 회복기법에 대한 이해를 한다. MySQL 8.0버전, InnoDB 기준 DB Replication이란? Replication: 복제 DB Replication: DB를 복제 그렇다면 하나만 복제하면 될텐데 왜 여러개의 DB를 복제하여 두는것일까?? 다음과..

AOP와 Spring AOP

본 포스팅은 우아한 테크코스 10분 테코톡 봄의 AOP와 Spring AOP를 기반으로 작성된 포스팅입니다. https://www.youtube.com/watch?v=hjDSKhyYK14&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=9 AOP란? 흔히 Spring을 학습하다보면 AOP에 대해 공부하게 될텐데 이는 Spring에만 존재하는 개념이 아닙니다. 예시) 인터페이스 구현체 반복문으로 factorial 연산을 진행 이때 새로운 요구사항이 발생합니다. 위의 요구사항을 위해 System.out.print()를 사용합니다. 위 상태에서 새로운 요구사항이 또 등장합니다. RecursiveCalculator 구현 실행 시간 측정을 위해서 구현체들에 시간 측정 메소드를 ..

동기화(Synchronization) Mutex와 Semaphore

해당 포스팅은 우아한 테크코스 이브, 배카라의 Synchronization을 기반으로 작성되었습니다. https://www.youtube.com/watch?v=ImWjQ1Bxjrs&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=8 사전 지식 - CPU 동작 방식 하나의 CPU에서 여러개의 프로세스 혹은 스레드를 실행하는 방식. 프로세스 동작 방식 프로세스의 경우 CPU의 자원이 있어야만 실행이 가능합니다. 여러개의 프로세스를 실행할 경우 Context Switch를 통해 CPU 자원을 번갈아 사용합니다. 해당 과정에서 코드 실행과 대기를 반복하는 방식으로 동작하게 됩니다. 컴퓨터에서는 이 과정이 빠르게 실행되기 때문에 사용자의 입장에서는 두개의 프로세스가 동시에 실행되..

웹 보안(SQL Injection, XSS)

해당 포스팅은 테코톡 바니의 웹 보안을 토대로 만들어졌습니다. https://www.youtube.com/watch?v=laQAQeuuJF4&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=6 OWASP(Open Web Application Security Project) 비영리 보안 프로젝트 재단 웹 어플리케이션에 발생할 수 있는 취약점을 분석하고 연구해 공격 가능성과 기술적 영향을 기준으로 10개의 취약점 OWASP Top 10을 공개합니다. 보통 3~4년 주기로 발표가 됩니다. 10가지 항목중 A03: Injection만 알아보도록 하겠습니다. Injection이란? 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분으로 전달될 때 발생. 공격자의 악의적인 데이터로 ..

GC(Garbage Collection)란?

본 포스팅은 우아한 테크코스 테코톡을 기반으로 작성되었습니다. https://www.youtube.com/watch?v=8JrciOSL3Gk&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=4 GC란? 메모리 해제 방법 C언어에서는 객체를 할당 하고 해제하기 위해서는 free라는 메소드를 직접적으로 호출하여 메모리를 해제하는 과정이 필요했습니다. 하지만, JAVA에서는 해당 메소드가 존재하지 않습니다. JAVA에서는 메모리를 해제하는 과정을 누군가가 대신 해준다는 얘기입니다. 이러한 역할을 JAVA GC가 대신합니다. Garbage Collector 역할 Root set JVM내의 Heap 영역, Method Area, JNI 영역에 있는 지역 변수나 파라미터 그리고 정..

JPA 영속성 컨텍스트, 플러시, 준영속 상태

JPA에서 가장 중요한 2가지 1. 객체와 관계형 데이터베이스 매핑하기 2. 영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경"이라는 뜻 EntityManager.persist(entity); 엔티티 매니저? 영속성 컨텍스트? 영속성 컨텍스트는 논리적인 개념입니다. 눈에 보이지 않습니다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근합니다. 엔티티의 생명주기 비영속 (new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속 (managed) 영속성 컨텍스트에 관리되는 상태 준영속 (detached) 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제 (removed) 삭제된 상태 영속성 컨텍스트의 ..

SQL 중심적인 개발의 문제점, JPA란?

SQL 중심적인 개발의 문제점 데이터베이스 세계의 헤게모니 관계형 DB - [Oracle, MySQL, ...] 지금 시대는 객체를 관계형 DB에 관리하는 시대입니다. 하지만 SQL 중식적인 개발이 되는것이 많은 문제점을 발생시킵니다. 1. 무한 반복, 지루한 코드 CRUD INSERT INTO UPDATE SELECT DELETE 자바 객체를 SQL로 SQL을 자바 객체로 객체 CRUD public class Member { private String memberId; private String name; ... } INSERT INTO MEMBER(MEMBER_ID, NAME) VALUES SELECT MEMBER_ID, NAME FROM MEMBER M UPDATE MEMBER SET … 객체 CR..

Web Socket이란?

Web Socket 웹 소켓이란? 두 프로그램 간의 메시지를 교환하기 위한 통신 방법 중 하나입니다. W3C와 IETF에 의해 자리잡은 표준 프로토콜 중 하나 하나입니다. 중요X 현재 인터넷 환경(HTML5)에서 많이 사용됩니다. W3C 월드 와이드 웹을 위한 표준을 개발하고 장려하는 조직 IETF 월드 와이드 웹을 위한 표준을 개발하고 장려하는 조직 구조적인 사안들을 분석하는 인터넷 표준화 작업 기구 웹 소켓을 지원하는 브라우저의 경우 웹 소켓 프로토콜을 지원합니다. 웹 소켓의 특징 1. 양방향 통신 (Full - Duplex) 데이터 송수신을 동시에 처리할 수 있는 통신 방법 클라이언트와 서버가 서로에게 원할 때 데이터를 주고 받을 수 있습니다. 통상적인 Http 통신은 Client가 요청을 보내는 ..

Spring Security란?

Spring Security란? '인증'과 '인가'를 제공하는것에 초점을 맞춘 프레임워크 입니다. 이전 포스팅 링크 https://wonuk.tistory.com/154?category=1025481 인증(Authentication)과 인가(Authorization)란 무엇인가? 용어정리 '인증'이란? 식별가능한 정보로 서비스에 등록된 유저의 신원을 입증하는 과정입니다. 예) 출입증으로 건물에 출입 할 수 있습니다. '인가'란? 인증된 사용자에 대한 자원 접근 권한 확 wonuk.tistory.com https://wonuk.tistory.com/155?category=1025481 쿠키(Cookie), 세션(Session), 토큰(Token) 용어 간단정리 인증 : 나는 누구인가 인가 : 나의 권한은 ..

쿠키(Cookie), 세션(Session), 토큰(Token)

용어 간단정리 인증 : 나는 누구인가 인가 : 나의 권한은 어디까지인가 https://wonuk.tistory.com/154 인증(Authentication)과 인가(Authorization)란 무엇인가? 용어정리 '인증'이란? 식별가능한 정보로 서비스에 등록된 유저의 신원을 입증하는 과정입니다. 예) 출입증으로 건물에 출입 할 수 있습니다. '인가'란? 인증된 사용자에 대한 자원 접근 권한 확 wonuk.tistory.com 쿠키, 세션, 토큰 쿠키, 세션, 토큰은 인증을 유지 할 수 있는 수단입니다. 들어가기 앞서 HTTP에 대한 사전지식이 필요합니다. HTTP는 한번 통신하고나면 연결이 끝나는 비연결을 지향합니다. 서버가 클라이언트의 상태를 보존하지 않는 특징이 있습니다. 인증의 인증수단을 이해하기..

반응형