논리적으로 연관된 데이터를 모으고, 중복 데이터를 최소화하여 구조적으로 통합/저장해 놓은 것구조화된 데이터의 집합으로 컴퓨터에서 쉽게 접근, 관리, 업데이트 가능실시간 접근성 : 실시간으로 결과 서비스계속적인 변화 : 데이터 값은 시간에 따라 항상 바뀜동시 공유 : 데
특정 테이블에서 원하는 데이터를 조회해서 가져오는 데에 사용결과 집합을 특정 열이나 값에 따라 정렬하는 데에 사용특정 조건에 맞는 레코드를 선택할 때 사용비교 연산자(=), AND, OR, BETWEEN, LIKE, IN, IS NULL 등 활용 가능중복값 제거에 사용
데이터 조작언어값 삽입, 수정, 삭제새로운 행 추가행의 수 증가테이블에 기록된 컬럼의 값을 수정전체 행 개수 변화 X테이블의 행 삭제행의 수 감소INSERT 시 PRIMARY KEY 또는 UNIQUE KEY가 충돌이 발생할 수 있다면, REPLACE를 통해 중복 된 데
TRANSACTION 한 번에 수행되는 작업의 단위 ROLLBACK : 시작 이전 단계로 되돌리는 작업(모든 연산 취소) COMMIT : 작업이 성공하여 데이터 베이스에 반영(커밋 이후 롤백 불가) 트랜잭션 특성 - ACID A(Atomicity) 원자성 : 전부 반
SELECT 쿼리문을 저장한 객체로 가상테이블이라고 불림원본 테이블을 참조해서 보여주는 용도실질적 데이터 저장X, 쿼리만 저장되어 있다.실제 보여지는 것은 원본 테이블의 데이터데이터를 쉽게 읽고 이해할 수 있도록 돕는 동시에, 원본 데이터 보안 유지테이블을 사용하는 것
컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임운영체제는 크게 커널, 인터페이스로 나뉨인터페이스 : 커널에
JAVA SE/EE/MEJAVA SE(Standard Edition)일반 PC, 서버, 고사양 시스템 들을 위한 표준 자바 플랫폼표준의 개발 환경을 지원하는 자바 가상 머신 규격 및 API를 포함java.lang., java.util., java.io.\* 등등JAVA
메소드 특정 작업을 수행하기 위한 명령문의 집합 사용 목적 중복 코드를 메소드로 만들어 재사용 하므로 코드의 반복 사용 피함 코드의 가독성이 좋아짐 기능 변경이 필요한 경우, 메소드 부분만 수정하므로 유지보수 용이 접근 제어자 public : 어디서나
조건식을 통해 특정 코드를 실행할지 말지를 제어해주는 구문조건식은 boolean형 타입을 반환해주는 식을 말함크게 if(if/if-else/if-else if), switch 문으로 분류if문은 조건식의 결과 값이 참(true)이면 { } 안에 있는 코드를 실행, 조건
동일한 자료형의 묶음연속된 메모리 공간에 값을 저장하고 사용하기 위한 용도heap 영역에 new 연산자를 통해 할당배열 길이는 최초 선언한 값으로 고정, 인덱스 통해 데이터 접근배열은 참조 타입으로, 배열 변수는 실제 배열 데이터가 저장된 힙 영역의 메모리 주소를 참조
서로 다른 타입의 데이터(필드)와 행동(메소드)를 정의하여 만든 사용자 정의의 자료형객체를 추상화한 것으로 인스턴스를 생성할 목적으로 정의 해놓은 소스코드 작성 단위다른 곳에서의 클래스 필드에 접근하기 위해 '.'(참조연산자) 활용💡 클래스속성 + 기능변수 → 배열
클래스의 인스턴스로, 클래스에서 정의된 필드와 메소드를 실제로 사용하는 실체독립적이면서 하나로 취급되는 사물이나 개념new 연산자를 사용하여 클래스의 인스턴스를 생성heap에 할당된 공간(== 인스턴스)heap 메모리 공간에 서로 다른 자료형의 데이터가 연속으로 나열/
추상 메소드를 0개 이상 포함하는 클래스하나라도 포함할 경우 반드시 추상 클래스스스로 자신의 생성자를 활용한 인스턴스 생성 불가능 → 불완전한 클래스상속을 활용해 하위클래스 타입의 인스턴스를 이용해 생성사용 이유다형성 적용을 위한 부모타입 역할필수 기능을 정의해 일관된
데이터의 타입을 일반화한다는 의미를 가짐데이터의 타입을 일반화하여 다양한 타입을 지닌 제네릭 클래스 인스턴스로 활용 가능하나의 클래스만 작성해도 여러 타입의 필드 값을 가진 클래스로 변형 가능제네릭 타입(T, E, K, V)을 활용참조 타입만 사용 가능int, char
많은 데이터들을 효과적으로 처리할 수 있는 방법을 제공하는 클래스들의 집합자료구조 + 제네릭사용 이유일관된 APICollection 에서 제공하는 규격화된 메소드를 사용함으로 일관된 사용과 유지보수가 가능이미 제공된 자료구조 활용으로 프로그래밍 비용 감소프로그래밍 속도
슬슬 스프링 시큐리티도 공부해야할 것 같아서,,오늘부터 시작,,🤯\[10분 테코톡] 🐻작은곰의 Spring Security\[10분 테코톡] 🎡토니의 인증과 인가일단 가볍게 이거 보면서 인증/인가부터 시작했는데 저 영상 좋았다..!.!자바 애플리케이션에서 보안을
스프링부트 시큐리티 & JWT 강의뫄뫄가 추천해준 이 강의를 듣고 있음😬 최신 버전하고는 안 맞지만 어찌저찌 검색해가며 이해하고 따라가는 중,,강의랑 버전이 안맞아서 extends WebSecurityConfigurerAdapter는 사라지고 @Bean으로 달아서 아
오류(Error) : 시스템 상에서 프로그램에 심각한 문제가 발생해 실행 중인 프로그램이 종료되는 것개발자가 미리 예측하거나 코드로 처리하는 것이 불가능 한 경우예외(Exception) : 발생할 수 있는 상황을 미리 예측하고 처리할 수 있는 미약한 오류예외 상황의 경
컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 연동을 위한 자바 라이브러리단방향 데이터 송수신을 위해 스트림을 활용해 데이터를 서로 주고 받음사용 이유사용자로부터 입력을 받거나 화면이나 스피커로 출력 가능영구적으로 데이터를 저장 가능입출력 장치에서 데이터를 읽고
관련이 있는 상수 집합의 클래스 각각의 열거 상수는 열겨 객체로 생성됨기존 상수를 정의하는 방법을 효과적으로 대체자바 1.5이후 추가코드의 안정성, 가독성, 유지 보수성 향상타입 안정성을 보장할 방법이 없고 에러 디버깅이 어려움상수를 문자열로 출력이 어려움정수 열거 그
오늘은 회원가입, 로그인, 권한 설정까지 끝냈다!.!드디어 OAuth를 건드릴 수 있음 후후,, 저녁 먹고 세팅만 해놔야지비밀번호 암호화를 위해서 SecurityConfig에 BCryptPasswordEncoder Bean을 생성해줬다.(일단 예제에서 서비스를 따로 안
컬렉션에 저장된 엘리먼트들을 하나씩 순회하면서 처리할 수 있는 기능람다식과 함께 사용 가능컬렉션에 들어있는 데이터에 대한 처리 간결하게 표현 가능자바 8부터 추가사용 이유배열 또는 컬렉션을 함수 여러 개를 사용해 결과를 쉽게 얻을 수 있음람다식을 활용해 코드 양을 줄이
드디어 구글 로그인 완😺일반 로그인을 하면 UserDetails로 넘어오고,OAuth 로그인을 하면 OAuth2User로 넘어옴!그래서 PrincipalDetails에 UserDetails, OAuth2User를 implements해서 PrincipalDetails
자바에서 데이터베이스에 연결하고 SQL 쿼리를 실행하기 위한 API데이터베이스에 독립적인 방식으로 접근할 수 있게 해줌주요 기능데이터베이스 연결SQL 실행, 결과 처리트랜잭션 관리DB에 JDBC driver를 통해 커넥션을 만드는 역할을 함데이터베이스 드라이버를 로드하
자바를 사용하여 웹 요청을 처리하고 동적 웹 콘텐츠를 생성하는 서버 사이드 기술웹 서버와 클라이언트 간의 통신을 처리하는 자바 프로그램주요 기능 클라이언트 HTTP 요청 수신 및 처리응답 생성요청에 대한 적절한 응답을 생성해 클라이언트에게 전송세션을 통해 클라이언트 상
웹에서 데이터를 주고받기 위한 프로토콜주로 웹 브라우저와 웹 서버 간의 통신을 담당클라이언트-서버 모델을 기반특징비상태성(stateless) : 통신이 끝나면 상태를 유지하지 않는 특징비연결성(connectionless) : 클라이언트가 요청 후 응답을 받으면 그 연결
자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이자 IoC(Inversion of Control) 컨테이너동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공경량 컨테이너로 자바 객체를 담고 직접 관리스프링에서 객체의 생성과 관리를 담당가장 기본적이며 중요한
제어의 역전(IoC)은 일반적인 프로그래밍에서, 프로그램의 제어 흐름 구조가 뒤바뀌는 것을 의미\-> 객체의 생성, 관리, 객체 간의 의존성 처리 등을 프레임워크에서 대신 처리해주는 것이 IoC의 대표적인 예장점유연한 설계테스트 용이성코드 재사용성유지보수성IoC를 구현
스프링 IoC (Inversion of Control) 컨테이너에 의해 관리되는 객체특징싱글톤애플리케이션 내에서 하나의 인스턴스만 생성되어 사용필요에 따라 프로토타입 스코프 등을 사용하여 여러 인스턴스를 생성 가능의존성 주입스프링 빈 간의 의존성은 컨테이너가 자동으로
실제 객체 대신 가짜 객체(Mock)를 사용하여 테스트를 수행하는 방법실제 객체와 동일한 모의 객체를 만들어 테스트의 효용성을 높이기 위해 사용테스트 환경에서 의존성 문제를 해결하고, 독립적인 단위 테스트 수행 가능독립적인 단위 테스트 : 외부 의존성 없이 독립적으로
M(Model): 애플리케이션의 데이터와 비즈니스 로직을 관리데이터 저장, 처리, 조작도메인 객체, DB와의 상호작용을 담당하는 객체 등 포함뷰에서 사용할 데이터를 제공하지만 직접적 참조XV(View): 사용자에게 데이터를 보여주는 역할모델로부터 전달받은 데이터를 기반
어제 jwt 하려고 세팅까지 해놨다가 오늘 토큰 발급까지 완료했다. SecurityConfig에서 달라진 게 있다면,, http.addFilter()로 필터 적용해주기 세션을 사용하지 않으므로 로 stateless 서버로 설정해주기 기본 폼 로그인 비활성화 http
권한 인증이 필요한 주소 요청이 있을 때, jwt토큰을 검증해 정상적인 사용자인지 체크하는 필터를 추가로 만들었다.\-> BasicAuthenticationFilter를 확장하여 JWT 토큰을 검증하고, 토큰이 유효한 경우 사용자 정보를 SecurityContext에
[Full] 전자정부 표준 프레임워크 기반의 클라우드 네이티브 애플리케이션 설계 Part 1. DDD와 이벤트스토밍 밑에 사진들은 전부 저 영상에서 캡쳐한 것,,,복잡한 소프트웨어 시스템을 설계하는 접근 방식도메인(비즈니스 로직)에 집중하여 시스템을 모델링도메인의 개
\[Full] 전자정부 표준 프레임워크 기반 클라우드 네이티브 애플리케이션 설계 Part 2 : MSA의 구현대규모 애플리케이션을 작은 독립적인 서비스들로 나누어 개발하고 운영하는 방식각 마이크로서비스는 독립적으로 배포, 확장, 유지보수할 수 있으며, 특정 비즈니스 기
프로그램 내에서 동시에 여러 작업을 처리할 수 있도록 지원하는 기본적인 단위 → 프로세스의 작은 작업 단위 동시에 여러 작업을 병렬로 수행 가능스레드는 운영체제의 스레드와 JVM 스레드 두 가지로 구분 가능함 → 자바에서는 주로 JVM스레드 사용Java Virtua
고정 크기의 데이터 구조동일한 데이터 타입의 값을 메모리 상에 연속적으로 저장함인덱스를 통해 요소에 빠르게 접근 가능 → 읽기 속도가 매우 빠름index 접근하는 방법 : 배열 첫 data의 주소값 + offset고정된 크기이므로 메모리 사용 예측 가능 → 메모리 효율
데이터를 키-값 쌍(key-value pair) 형태로 저장하는 자료구조해시 함수(Hash Function)를 사용해 키를 배열의 인덱스로 변환하고, 그 위치에 값 저장중복되는 키가 있으면 안됨!특징 : 빠른 탐색, 삽입 및 삭제캐시(Cache), 데이터베이스 인덱싱,
프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용해 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것을 의미하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용함DB
가상 면접 사례로 배우는 대규모 시스템 설계 기초성민이가 이 책을 준 지 몇 개월 만에 드디어 제대로 읽기 시작했다!앞에 좀 읽다가 다른 거 하느라 놓아버렸는데 다시 읽어야겠다고 생각하고 제대로 읽으니 보이는 게 많아지는 느낌!.! 물론 아직 1장이지만..일단 얼레벌레
노드와 링크가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합노드 : 서버, 라우터, 스위치 등의 네트워크 장치링크 : 유선 또는 무선많은 처리량, 짧은 지연 시간, 적은 장애 빈도, 좋은 보안을 갖춘 네트워크링크 내에서 성공적으로 전달된 데이터의 양얼만큼
네트워크 통신을 설명하기 위한 두 가지 표준 모델TCP/IP 계층 모델OSI 모델이 탄생하기 전에 미국 국방부가 개발한 프로토콜4개의 레이어로 구성되어 있으며, 네트워킹을 위한 표준 프로토콜 모델OSI 표준 모델ISO(국제 표준기구)에서 도입7개의 레이어로 구성되었고,
로드밸런서라고도 하며, 서버의 부하를 분산하는 기기URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산, 필터링 기능, 트래픽 모니터링 가능장애가 발생한 서버가 있다면 이를 트래픽 분산 대상에서 제외하는데 \-> 이는 헬스 체크를 이용해 감시하며 이뤄짐L7 스위치뿐
컴퓨터와 컴퓨터 간의 통신은 IP주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신함IP주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜가상 주소인 IP주소 -> 실제 주소인 MAC 주소로 변환RARP를 통해 실제 주소