전체 글

TIL

[TIL][ContentProject] h2-console 403 error

위 이미지 처럼 처음에는 그냥 "/h2-console/**" 을 추가해주었는데 계속 403 오류가 발생했다. .requestMatchers(new AntPathRequestMatcher("/h2-console/**")).permitAll() .requestMatchers("/user/signup", "/user/signin").permitAll() 이렇게 따로 new AntPathRequestMatcher() 를 사용해서 주소를 넣어주니 해결되었다.

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 명예의 전당 (1)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 "명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부..

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 과일 장수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능..

Computer Science/Database

[Database] 저장 프로시저 (Stored PROCEDURE)

저장 프로시저 저장 프로시저는 데이터베이스 시스템에서 실행을 위해 미리 컴파일하고 저장해둔 쿼리의 집합이며, 여러 명령문을 하나의 로직으로 묶어서 관리한다. 프로시저를 만들어두면, 쿼리가 필요할 때 인자 값만 전달하면 된다. SQL 예시 코드 CREATE PROCEDURE GetEmployeeByID @EmpID INT AS BEGIN SELECT * FROM Employees WHERE EmployeeID = @EmpID; END // 호출 EXECUTE GetEmployeeByID @EmpID = 123; MySQL 예시 코드 CREATE PROCEDURE `GetEmployeeByID`(IN `empID` INT) BEGIN SELECT * FROM Employees WHERE EmployeeID ..

Programmers/Lv.1

[프로그래머스][Lv.1][Java] 소수 찾기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 풀이 에라토스테니스의 체를 사용하면 된다. 에라토스테니스의 체란? → 어떤 수의 배수는 소수가 아니므로 범위 내에서 소수가 아닌 수를 제외하..

Computer Science/Web

[Web] 쿠키 (Cookie) & 세션 (Session)

쿠키와 세션은 사용자의 정보를 일정 시간 동안 저장하여 웹 브러우저와 웹 서버 사이에서 사용자를 식별하기 위해 사용되는 기술이다. 쿠키(Cookie) 쿠키는 클라이언트 측에 저장되는 키와 값이 들어있는 작은 데이터 파일이다. 사용자가 특정 웹 사이트를 방문할 때 웹 서버는 HTTP 응답헤더를 사용하여 클라이언트에 쿠키를 전송한다. 웹 브라우저는 이 쿠키를 저장하고, 이후 해당 서버에 요청을 보낼 때마다 쿠키를 HTTP 요청 헤더에 추가하여 전송한다. 이를 통해 서버는 사용자를 식별하고 사용자의 정보를 기억할 수 있다. 주로 사용자 로그인 상태를 유지하거나, 쇼핑 사이트의 장바구니 같은 상태 정보를 저장하는데 사용된다. 또한, 사용자의 행동 패턴이나 선호하는 설정 등을 통해 개인화된 사용자 경험을 제공하는..

Languages/Java

[Java] Call by Value & Call by Reference

Call By Value 값에 의한 호출이다. 이 방식에서는 메서드 호출 시 전달되는 값이 메서드 내부로 복사되어 전달된다. 즉, 메서드 내부에서 매개변수 값을 변경하더라도, 그 변경이 호출자에게 영향을 미치지 않는다. void updateValue(int value) { value = 50; } public static void main(String[] args) { int value = 30; System.out.println("Before: " + value); // Output: Before: 30 updateValue(value); System.out.println("After: " + value); // Output: After: 30 } 위의 예제에서 'updateValue' 메서드는 매개변..

Computer Science/Web

[Web] 브라우저 동작 방법

브라우저 브라우저는 사용자가 인터넷을 통해 웹 페이지를 보고 상호작용하는데 사용되는 응용 소프트웨어이다. 이것은 동기적으로 HTML, CSS, JS 언어를 해석하고, 이를 시각적인 형태로 사용자의 화면에 표시하는 역할을 수행한다. 브라우저는 웹 페이지를 보기 위해 웹 서버에 필요한 자원을 요청하고, 웹 서버는 이 요청에 대해 응답하여 필요한 자원을 제공하고, 브라우저는 이를 받아서 해석한다. 이 때, 웹 페이지의 형태는 다양하며 HTML, PDF, 이미지 등 여러 형식으로 제공될 수 있다. 브라우저는 HTML과 CSS의 명세에 따라 웹 페이지를 해석하여 표시한다. 이 명세는 W3C(World Wide Web Consortium)에서 관리되며, 웹 페이지를 일관되고 표준화된 방식으로 해석하도록 지침을 제공..

TIL

[TIL][ContentProject] H2 DB 에서 User Table 사용하기

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "drop table if exists [*]user cascade "; expected "identifier"; SQL statement: 위와 같은 에러가 발생하며 에러가 발생했다. 이유는 H2 DB 는 User 라는 키워드를 예약어로 사용중이기 때문이다. 해결방법은 간단하다. User를 Users로 이름을 변경하거나 application.yml 파일을 아래와 같이 수정해주면 된다. datasource: url: jdbc:h2:mem:test;NON_KEYWORDS=USER

Computer Science/Operating System

[OS] Blocking & Non-Blocking I/O

Blocking I/O I/O 작업이 진행되는 동안 유저 프로세스는 자신의 작업을 중단하고 대기하는 방식 유저는 커널에 read 작업 요청 데이터가 입력될 때까지 대기 데이터가 입력되면 유저에게 결과를 전달한 뒤 return 단점 : I/O 작업이 CPU 자원을 거의 쓰지 않으므로 자원 낭비가 심하다. Non-Blocking I/O I/O 작업이 진행되는 동안 유저 프로세스의 작업을 중단시키지 않는 방식 유저가 커널에 read 작업 요청 I/O 작업이 즉시 완료될 수 없다면, 입력 데이터가 없다는 결과 메세지(EWOULDBLOCK)를 반환받고, 프로그램은 다른 작업을 계속 한다. 일정 시간 후에, I/O 작업을 다시 요청하여 데이터가 준비되었는지 확인한다. 데이터가 준비 될 때까지 2-3번을 반복하며, ..

dbssk
K.Back-end