List myList = new ArrayList<>(); - 변수 선언 및 초기화:이 방법은 변수 myList를 선언하고 동시에 ArrayList를 생성하고 할당합니다. 즉, myList는 ArrayList의 인스턴스를 가리키는 참조로 초기화됩니다.List my
Java에서 Scanner를 사용하여 사용자로부터 입력을 받을 때, 입력은 기본적으로 문자열(String) 형태로 받아집니다.사용자가 입력한 내용은 문자열로 처리되기 때문에, 숫자로 사용하려면 문자열을 숫자형 데이터로 변환해야 합니다.그래서 Integer.parseIn
"삭제?".startsWith(cmd)은 "삭제?" 문자열이 cmd 문자열로 시작하는지 검사합니다. 즉, "삭제?" 문자열의 시작 부분이 cmd와 일치하는지 확인합니다.cmd.startsWith("삭제?")은 cmd 문자열이 "삭제?"로 시작하는지 검사합니다. 즉, c
print : 줄 바꿈 없이 출력println : 출력 후 줄 바꿈을 추가하여 새로운 줄로 이동printf : 형식화된 출력을 지원, 서식 문자열과 변수 값을 조합하여 출력printf("%d, %s 출력", 5, "번");
이 코드는 자바에서 JUnit 및 Hamcrest 라이브러리를 사용하여 단위 테스트를 수행하는 예제입니다. 코드의 실행 과정을 간략하게 설명하겠습니다.테스트 대상 메서드 정의 (concatenate 메서드): ExampleTest 클래스에는 concatenate라는 문
int j = 0; 일 때 문자열에 출력하는 방법return "김서방은 " + j + "번에 있습니다.";System.out.println 사용변수와 함께 출력String.format 사용printf 사용StringBuilder 사용
웹 개발에서 주요한 사용자 인증 및 상태 관리 도구로 활용클라이언트(브라우저)에 저장사용자의 상태를 유지하거나 사용자에 대한 정보를 기록하는 데 사용클라이언트 측에 저장되기 때문에 브라우저를 닫아도 쿠키는 유지됨만료 기간 동안에만 유효일반적으로 안전하지 않은 정보를 저
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.charAt : 특정 위치 문자를 리턴하는 메소드
final = 변수를 수정할 수 없도록 선언사용하지 않는 경우여기서 variable은 final로 선언되지 않아서 setVariable 메서드를 통해 언제든지 변경될 수 있음메서드나 클래스에서 final을 사용하면 오버라이드나 상속할 수 없게 함.
split("\\s\\+\\s");정규표현식을 사용하여 문자열을 분리플러스 기호(+)를 기준, 앞뒤로 발생하는 공백을 고려\\s: 공백 문자(스페이스, 탭 등)을 나타내는 정규표현식\\s는 공백 문자를 의미, 는 해당 패턴이 0번 이상 반복될 수 있음을 나타냄\\s\*
split("\\s\\+\\s");정규표현식을 사용하여 문자열을 분리플러스 기호(+)를 기준, 앞뒤로 발생하는 공백을 고려\\s: 공백 문자(스페이스, 탭 등)을 나타내는 정규표현식\\s는 공백 문자를 의미, 는 해당 패턴이 0번 이상 반복될 수 있음을 나타냄\\s\*
가변 길이(평문 암호) -> 해시 알고리즘 -> 고정길이(다이제스트)해시 알고리즘을 알지 못하면 복호화 어려움평문 암호 + 솔트(랜덤) -> 암호화 -> 암호문평문 암호가 같더라도 솔트 값이 달라 암호문이 다름
이 메서드는 "/modify/{id}" URI에 대한 HTTP GET 요청을 처리합니다.주로 해당 리소스(질문 수정 페이지)를 보여주는데 사용됩니다.URL에서 {id}는 경로 변수(path variable)로, 이를 통해 특정 ID의 질문을 식별합니다.현재 사용자(pr
sb = "12345"sb.append("Hello")는 StringBuilder 객체 sb에 "Hello" 문자열을 추가12345Hellosb.insert(2, "num")는 StringBuilder 객체 sb의 인덱스 2 위치에 "num" 문자열을 삽입합니다.12n
getOrDefault 메서드는 주어진 키에 해당하는 값을 반환getOrDefault(키, 키가 없을 때 반환할 기본값)\-> 이렇게 작성해도 값이 있으면 원래 키에 매칭되는 값이 나옴(없는 경우에만 기본값 반환)map.getOrDefault(name, 0) -> ma
HashSet : Set 인터페이스를 구현HashMap : Map 인터페이스를 구현HashSet : 중복을 허용하지 않고 순서가 중요하지 않은 경우, 데이터의 존재 여부를 판단하는 경우HashMap : key를 통해 데이터를 검색하거나 연관된 데이터를 다룰 경우Hash
상속관계는 is a 관계 = Bus는 Car다.
자바에서는 다형성(polymorphism)의 개념을 활용하여 상속 관계에 있는 클래스들을 유연하게 다룰 수 있습니다. 다형성은 부모 클래스 타입의 참조 변수가 자식 클래스의 객체를 참조할 수 있는 성질을 말합니다.주어진 코드에서 Suv 클래스가 Car 클래스를 상속받고
@Controller : 화면에 출력@RestController : 데이터만 전달백엔드와 프론트엔드를 구분할 경우 RestController를 사용해서 데이터만 전달@RequiredArgsConstructor : final이 붙거나 @NotNull 이 붙은 필드의 생성
: final이 붙거나 @NotNull 이 붙은 필드의 생성자를 자동 생성해주는 롬복 어노테이션클래스 인스턴스를 생성할 때 필요한 의존성을 한 번에 주입함으로써 객체의 상태를 변경 불가능하게 만들어 객체의 예측 가능성을 높이고 오류를 방지코드의 안전성을 높이고, 런타임
\-> "오늘은 주말입니다."가 출력
상태 변경이 불가능하므로 예측 가능하고 안정적멀티스레드 환경에서 더욱 안전하게 사용할 수 있음객체의 무결성이 유지되며, 예기치 않은 상태 변화를 방지할 수 있음
Slf4j : 로깅에 대한 추상 레이어를 제공하는 인터페이스의 모음인터페이스를 사용하여 로깅을 구현하면 추후에 로깅 라이브러리를 변경할 때 코드의 변경 없이 가능함.프로젝트의 의존성 관리 도구에 Slf4j 라이브러리를 추가해야 함, Maven 기준으로 아래와 같이 추가
REST API와 Sveltekit을 사용한 프로젝트 환경 세팅기존 의존성에서 타임리프를 제외카카오 로그인을 위해 OAuth2 Client 추가
인텔리제이 터미널에npm create svelte@latest front스켈레톤 프로젝트로 선택타입스크립트로 선택 / 스페이스바 이용해서 전체 체크
Select Default Profile > Git Bash 선택
requestMatchers() : 요청 타입에 따라 URL 패턴을 지정하여 해당 요청 타입에 대한 보안 설정을 할 때 사용requestMatchers(HttpMethod.GET, "/member/")는 HTTP GET 요청 중 "/member/"으로 시작하는 URL에
code front 명령어를 입력하면 VS CODE로 프론트 프로젝트 열 수 있음.
@PathVariable : URL 경로에서 변수를 추출하여 메서드의 파라미터로 전달할 때 사용동적인 URI 패턴에서 추출한 값을 메서드의 인자로 받아올 수 있다.https://example.com/api/users/123123은 사용자 id일 수 있음@Get
@PreAuthorize : 메소드나 클래스에 보안 권한 설정주로 컨트롤러 메소드에서 특정 권한이나 조건을 만족해야만 해당 메소드가 실행되도록 지정할 때 활용단일 권한 확인 : @PreAuthorize("hasRole('ROLE_USER')")여러 권한 확인 : @Pr
@RequestBody : HTTP 요청의 본문(body)에 있는 데이터를 메서드의 매개변수로 바인딩하는 데 사용클라이언트에서 전송한 데이터를 Java 객체로 변환하여 메서드에서 사용할 수 있음.JSON 데이터를 객체로 변환@PostMapping("/example")
이 코드에서이 부분에 대한 해설postService.edit(post, requestBody.title, requestBody.body); 부분은 실제로 데이터베이스에서 게시물을 수정하는 서비스 메서드를 호출하는 부분입니다. 이 부분에서 데이터베이스가 업데이트되고 수정
"서버가 ~ 함" 이라고 생각하기RequestBody : 수정할 내용을 창에 보여줌 -> 요청/클라이언트가 데이터를 전송할 때데이터 -> 매개변수ResponseBody : 수정한 내용을 창에 보여줌 -> 응답/서버가 본문으로 넣어줌객체 -> 적절한 형식GET : 조회P
프리티어 install한 상태에서터미널에 npm run format 입력
주로 URL의 끝에 ?를 사용하여 전달되는 매개변수 값을 읽음http://example.com/api/user?id=123에서 @RequestParam을 통해 id 추출주로 URL의 경로 부분에 들어있는 값을 읽음http://example.com/ap
테스트를 시작하기 전에 필요한 초기 상태 설정 테스트에 필요한 객체를 생성하거나 초기화예를 들어, 데이터베이스에 특정한 상태를 설정하거나 객체를 생성하는 등의 작업을 수행특정한 동작이 수행될 때의 상황을 정의이 단계에서는 주로 특정한 메소드 호출 또는 작업을 수행하는
ApiResponse 객체를 통해 응답을 받음 -> 응답의 상태 코드, 결과 유형, 데이터가 포함될 수 있음Empty는 응답의 데이터가 없음을 나타냄\-> PUT 요청 후에 서버로부터 반환되는 응답의 상태와 유형을 확인하려는 것응답 형식 void -> PUT 요청 후
도커 홈페이지 접속 https://www.docker.com/ window용 다운로드 exe 파일 실행
return data; : 함수에서 data를 반환반환되는 값은 data 변수의 값함수가 실행되고 그 결과로 data 값을 반환return data!; : 이 코드는 JavaScript에서는 유효하지 않음더 올바른 표현 -> return data;
선택된 검색 kw의 타입을 리스트로 저장List<BooleanExpression> conditions = new ArrayList<>();Boolean 값을 평가하는 표현식을 나타내는 인터페이스주어진 조건을 평가하여 참(true)/거짓(false)로 결과 반
인덱스 = 색인 = 목차테이블 full 스캔 : O(N)튜플이 10억개면 10억개 다 스캔컬럼을 복사해서 정렬 -> 정렬된 데이터에서 검색B-tree 기반 인덱스 : O(logN)
중복된 값을 가지는 컬럼 CREATE INDEX 인덱스\_이름 ON 테이블\_이름 (컬럼\_이름)고유한 값을 가지는 컬럼CREATE UNIQUE INDEX 인덱스\_이름 ON 테이블\_이름 (컬럼\_이름)PLAYERSELECT \* FROM player WHERE na
USE INDEX : 권장SELECT \* FROM player USE INDEX (number_idx) WHERE number = 10; FORCE INDEX : 지정SELECT \* FROM player FORCE INDEX (number_idx) WHERE num