소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템쉽게 말해 파일을 관리해주는 프로그램이다.파일의 변경 사항을 추적하며, 사용자가 각 파일의 버전을 관리할 수 있게 도와준다.파일을 백업할 수 있게 해준다.협업자들과 함께 파일을 공유하고, 각자의 작업물을 취합할
프로그래밍에서 필요한 데이터를 한 데 모아 추사오하시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 협력과 유기적인 상호작용을 통해 특정 기능을 구성.즉, 실제 사물의 속성과 기능을 분석한 후에 이것을 프로그래밍의 변수와 함수로 정의함으로 실제 세계를 최대한 컴퓨
객체를 생성하는 역할을 하는 클래스의 구성 요소, 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드라 한다.new 키워드를 사용하여 객체를 생성 할때 호출되는 것이 생성자이다.생성자는 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드생성자의 이름은 반드시 클래
클래스 내에 선언된 클래스로, 외부 클래스와 내부 클래스가 서로 연관되어 있을 때 사용장점외부 클래스의 멤버들에 쉽게 접근코드의 복잡성 줄임캡슐화를 달성하는 데 유용기본적으로 내부 클래스는 외부 클래스 내에 선언된다는 점을 제외하면 일반 클래스와 차이점이 없다.위 세
기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소상속을 사용하는 이유?코드를 재사용하여 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있어 코드의 중복을 제거할 수 있고, 다형적 표현이 가능하다는 장점이 있다.자바의 객체지향 프로그래밍에서는 단일
작성한 클래스 또는 메서드의 코드가 특정 데이터 타입에 얽매이지 않게 해둔 것클래스 변수에는 타입 매개 변수를 사용할 수 없다.클래스 변수에 타입 매개변수를 사용할 수 없는 이유는 클래스 변수의 특성을 생각해보면 충분히 이해할 수 있습니다. 클래스 변수는 모든 인스턴스
특정 자료 구조에서 데이터를 추가하고 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들을 제List는 데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션을 구현하는데 사용.ArrayList, Vector, Stack, LinkedList 등이 Lis
어떤 애플리케이션이 실행되면 운영체제가 해당 애플리케이션에게 메모리를 할당해주며 애플리케이션이 실행되는데, 이처럼 실행 중인 애플리케이션을 프로세스라고 하며, 프로세스 내에서 실행되는 소스 코드의 실행 흐름을 스레드라고 한다.단 하나의 스레드를 가지는 프로세스를 싱글
자바로 작성한 소스 코드를 해석해 실행하는 별도의 프로그램JVM이 자바 프로그램과 운영체제 사이에서 일종의 통역가 역할을 수행한다.운영체제에 맞게 JVM이 개발되어져 있으며, JVM은 자바 소스 코드를 운영체제에 맞게 변환해 실행시켜준다. 이것이 자바가 운영체제로부터
Section1을 마무리하고 회고를 작성한다.처음 회고를 작성하니 뭘 어떻게 써야할지 모르겠다.그래서 간단하게 KPT 회고를 사용해 작성을 할 것이다.현재 기본기가 많이 부족한 상태이다.너무 쉬운 길로만 가려다보니 뒤를 돌아보면 내가 기본적으로 가지고 가야할 것들도 준
특정 기기에 설치해서 사용하는 애플리케이션을 네이티브 애플리케이션이라고 한다.웹애플리케이션보다 빠르다.애플리케이션이 설치된 기기의 시스템/기기의 리소스에 접근이 용이하다. (GPS or 카메라)인터넷 없이 사용 가능하다.웹애플리케이션에 비해 안전하다. (모바일의 경우
REST 성숙도 모델은 총 4단계로 나누어진다.모든 단계를 충족해야 REST API라고 부를 수 있다고 주장했다. 그러나 실제로 3단계까지 지키기 어렵기 때문에 2단계까지만 적용해도 좋은 API 디자인이라고 볼 수 있고, 이런 경우 HTTP API라고도 부른다.단순히
변수 등에 저장한 데이터가 프로그램의 실행에 의존한다는 말입니다. 예기치 못한 상황으로부터 데이터를 보호할 수 없고, 프로그램이 종료된 상태라면 데이터를 원하는 시간에 받아올 수 없으며, 데이터의 수명이 프로그램의 수명에 의존하게 됩니다.파일을 읽는 방식으로 작동하는
클라이언트의 요청을 처리하도록 특정 규약에 맞추어서 java 코드로 작성하는 클래스 파일아파치 톰캣은 이러한 서블릿들이 웹 애플리케이션으로 실행이 되도록 해주는 서블릿 컨테이너 중 하나이다.Model은 Spring MVC에서 M에 해당됩니다.Spring MVC 기반의
단위로 따지자면 단위가 가장 크다.애플리케이션을 사용하는 사용자 입장에서 애플리케이션이 제공하는 기능이 올바르게 동작하는지를 테스트기능 테스트를 하는 주체는 주로 해당 애플리케이션을 개발한 개발자가 될 수도 있지만 일반적으로 QA 부서 또는 외부 QA 업체가 된다. 종
슬라이스 테스트 코드 작성API 스펙 정보 코드 작성작성된 슬라이스 테스트 코드를 실행하나의 테스트 클래스를 실행시켜도 되지만 일반적으로 Gradle의 빌드 태스크(task)중 하나인 test task를 실행시켜서 API 문서 스니펫(snippet)을 일괄 생성.(1)
클라이언트의 요청을 디스패처서블릿에 요청이 전달된다. 디스패처서블릿은 핸들러 매핑을 통해 요청을 처리할 컨트롤러를 검색한다.매핑되는 핸들러 객체를 디스패처서블릿에게 리턴한다.클라이언트 요청을 처리할 핸들러 메서드 호출을 핸들러 어뎁터에게 위임한다. 컨트롤러를 호출하여
알고리즘 문제 풀기수업 듣기개인 공부알고리즘 실력이 늘 생각을 안한다,,,기업 코딩 테스트를 보면 한 문제도 제대로 풀지 못하고 나온다.코테 언어를 자바로 할지, 파이썬으로 할지 계속 고민한다.독학했던 부분보다 더 방대한 지식들, 내가 했던 건 새발의 피....수업에선
복호화가 가능한 다른 암호화 방식들과 달리, 해싱은 암호화만 가능합니다.항상 같은 길이의 문자열을 리턴합니다.서로 다른 문자열에 동일한 해시 함수를 사용하면 반드시 다른 결과값이 나옵니다.동일한 문자열에 동일한 해시 함수를 사용하면 항상 같은 결과값이 나옵니다.항상 같
Spring MVC 기반 애플리케이션의 인증(Authentication)과 인가(Authorization) 기능을 지원하는 보안 프레임워크로써, Spring MVC 기반 애플리케이션에 보안을 적용하기 위한 사실상의 표준입니다.다양한 유형(폼 로그인 인증, 토큰 기반 인
HTTP 프로토콜은 request를 전송한 후, response를 수신하게 되면 연결을 끊는 비 연결성의 특성을 가지고 있다.또한 request와 response에 대한 상태를 저장하지 않는 비 상태성의 특성이 있기 때문에 로그인 인증이 성공적으로 수행되었다 하더라도
H2 웹 콘솔의 화면 자체가 내부적으로 태그를 사용하고 있기 때문에 개발 환경에서는 H2 웹 콘솔을 정상적으로 사용할 수 있도록 frameOptions().sameOrigin()을 추가했다..frameOptions().sameOrigin()을 호출하면 동일 출처로부터
전통적으로 특정 애플리케이션의 서비스를 이용하는 사용자에 대한 인증 처리는 해당 서비스를 직접적으로 제공하는 애플리케이션에서 담당해 왔습니다.인증 서버를 별도로 분리해서 인증을 처리하든 하나의 서버에서 사용자의 인증도 처리하고 그와 동시에 애플리케이션의 서비스도 함께
SSR 방식을 사용해서 구현파일 이름은 test-oauth2.html이다.csrf, formLogin, httpBasic을 disable 해주고 요청들은 인증된 request에 대해서만 접근을 허용하도록 하며, .oauth2Login(withDefault())를 추가해
Resource Owner가 웹 브라우저에서 Google 로그인 링크를 클릭.Frontend 애플리케이션에서 Backend 애플리케이션의 http://localhost:8080/oauth2/authorization/google로 request를 전송. -> 이
JWT 생성
반응을 잘하는 시스템을 의미합니다.리액티브 시스템을 이용하는 클라이언트의 요청에 반응을 잘하는 시스템.리액티브 시스템 관점에서 반응은 스레드의 Non-Blocking과 관련있습니다.리액티브 시스템은 클라이언트의 요청에 대한 응답 대기 시간을 최소화할 수 있도록 요청 스
WebFlux라는 용어는 Reactor의 타입인 Flux가 Web에서 사용된다라고 말할 수 있다.더 넓게 생각해 보면 WebFlux는 리액티브 한 웹 애플리케이션을 구현하기 위한 기술 자체를 상징하고 있다고 보는게 적절할 것이다.Spring 5부터 지원하는 리액티브 웹
서버의 자원과 공간 및 네트워크 환경 제공필요할 때마다 컴퓨팅 능력을 유연하게 조절사용한 만큼의 요금 지급다른 컴퓨터로 즉시 이주(migration)가 가능단점운영 환경 자체가 클라우드 제공자에게 종속되어 버리므로, 클라우드 서비스에 문제가 생기면 서비스에 영향이 미친
의존성 충돌 문제를 해결해 준다.개발과 배포 환경을 일치시킨다.수평 확장을 쉽게 해 준다.각 서버에 새로운 내용을 배포하기 쉽게 만들어준다.컨테이너 기술을 바탕으로 한 컴퓨터 안에 여러 대의 컨테이너가 존재하고, 이를 통해 애플리케이션 실행 환경이 격리되어 있다.프로세
한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됩니다.휴먼 에러를 방지할 수 있습니다.배포에서 파이프라인이란 용어는 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를
프록시 서버 > 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버입니다. 보통 일반 사용자는 지역이 제한되어 있는 서비스를 이용하기 위해 우회하거나, 캐시를 통해 더 빠른 이용을 하기 위해 프록
코테 연습프로젝트 대비 섹션 돌아보기아무리해도 어려운 코테TDD, API 문서화 적용 어려움Keep은 계속 유지TDD는 프로젝트 진행 시, 팀원들과 상의하여 진행 혹은 솔로 프로젝트로 변경API 문서화는 프로젝트에서 중요하므로 계속 연습