목록분류 전체보기 (29)
( •̀ ω •́ )✧
💡 상수 변수와 마찬가지로, ‘값을 저장할 수 있는 공간’을 뜻함 키워드 final을 붙여서 선언한다. final int MAX_SPEED = 10; 선언과 동시에 초기화 하는 것이 좋다. 상수 이름은 모두 대문자로 하는 것이 암묵적인 관례이며, 여러 단어로 이루어져 있는 경우 _로 구분한다. 💡 리터럴 원래 12, 123, ‘A’ 와 같은 값들을 상수라고 부르지만, 프로그래밍에서 상수를 값을 한 번 저장하면 변경할 수 없는 저장공간으로 정의하였기 때문에 상수를 리터럴이라고 부른다. int year = 2014; final int MAX_VALUE = 100; 위에서 year은 변수, MAX_VALUE는 상수, 2014와 100은 리터럴 💡 리터럴의 타입과 접미사 long타입 + l 또는 L float타..
💡 변수의 타입 - 기본형 (primitive type) 계산을 위한 실제 값을 저장 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 💡 기본 자료형의 크기 1byte 2byte 4byte 8byte 논리형 boolean 문자형 char 정수형 byte short int long 실수형 float double 범위 정수형(byte, short, int, long)의 경우, −2n−1 ~ 2n−1+1 (n은 bit 수) int타입은 4byte = 32bit이므로 −231 ~ 231−1 의 범위를 가짐 231 ≒2∗109, int타입은 대락 10자리수를 가짐 long타입..
🔎 BOJ 1789. 수들의 합 (Silver 5) https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 💡 SOL import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); long N = Long.parseLong(br.readLine())..

💡 Redis (Remote Dictionary Server) → 오픈 소스 기반의 in-memory 데이터 저장소 💭 Redis 의 특징 In-Memory 저장소 👍 메모리에 데이터를 저장하기 때문에 빠른 읽기 및 쓰기 속도를 제공함 👎 메모리 기반의 저장소이기 때문에 저장 가능한 데이터 양에 제한이 있음 👎 메모리에 저장되기 때문에 서버 장애 시 데이터가 손실될 수 있음 다양한 데이터 구조 👍 단순한 Key-Value 구조뿐만 아니라 String, List, Set, Sorted Set, Hash 등 다양한 데이터 구조를 지원 Pub/Sub 메시징 👍 Publish/Subscribe 메시징 시스템을 지원하여 실시간 데이터 푸시 및 메시지 큐 기능을 제공 지속성 👍 디스크에 데이터를 저장하여 장애 발생..
인증 및 권한 부여에 대한 구성, 사용자 정의 인증 프로세스, 보안 필터 등을 설정 JWT 토큰을 사용하여 인증을 처리할 것이므로, JWT 관련 설정도 추가해야 함 @Configuration @RequiredArgsConstructor @EnableWebSecurity //활성화. 스프링 시큐리티 필터가 스프링 필터체인에 등록됨 public class SecurityConfig extends WebSecurityConfigurerAdapter { private final JwtProvider jwtProvider; private final RedisService redisService; /* * HTTP 보안 구성을 설정 * */ @Override // 부모 클래스인 WebSecurityConfigure..
RedisConfig를 구성하여 Redis 데이터베이스에 대한 연결 및 RedisTemplate 설정을 수행합니다.이 단계에서는 Redis 서버와의 연결을 설정하는 데 집중합니다. 프로퍼티 파일에서 Redis 호스트, 포트, 비밀번호 값을 주입 @Value("redishost")privateStringredisHost;@Value("{redis_port}") private int redisPort; @Value("${redis_password}") private String password; RedisConnectionFactory 생성 (단일 Redis 인스턴스에 대한 호스트, 포트, 비밀번호 설정) @Bean public RedisConnectionFactory redisConnect..

💡 JPA란 무엇인가? JPA (Java Persistence API)는 자바 객체와 관계형 데이터베이스 간의 매핑을 담당하는 ORM 기술이다. ORM (Object-Relational Mapping)은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 불일치를 해결하기 위해 개발된 기술로, 개발자가 SQL 쿼리를 직접 작성하지 않고 객체를 통해 데이터베이스에 접근할 수 있도록 도와준다. 💡 JPA를 사용하는 이유 개발 생산성 향상 SPQ 쿼리 작성과 데이터베이스 연동에 대한 복잡성을 해소하여 개발자가 핵심 비즈니스 로직에 집중할 수 있도록 도와준다. 만약, JPA를 사용하지 않는다면 모든 API에서 DB와의 연결 및 SQL 쿼리 실행과 결과 처리를 위한 코드를 직접 작성해야 한다. Plain JDB..
🔎 BOJ 1456. 거의 소수 (골드5) https://www.acmicpc.net/problem/1456 1456번: 거의 소수 어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다. www.acmicpc.net 💡 SOL import sys import math A, B = map(int, sys.stdin.readline().split()) # 범위 2 ~ B**(1/2) S = 2 E = int(B ** (1/2)) # S~E까지 소수 찾기 - 에라토스테네스의 체 sosu = [i for i in range(E+1)] sosu[1] = 0 idx = 2 while idx
📁 Hello.java public class Hello { public static void main(String[] args) { System.out.println("Hello World"); } } 1. class public class Hello { ... // 필드와 메소드가 올 수 있음 } public class로 정의된 Hello 클래스 public class의 클래스 이름과 파일이름은 같아야 한다 (대소문자도!) 2. method public static void main(String[] args) { ... } 클래스는 필드(Field)와 메소드(Method)를 가질 수 있다. Java 프로그램이 실행하려면 반드시 가져야 하는 main 메소드 main 메소드는 프로그램의 시작점 ! Jav..
JAVA 설치 JDK 11 version 설치 환경 변수 / Path 설정 JAVA 프로그램 작성과 실행 1. java 컴파일러 javac 명령으로 hello.java를 컴파일 javacHello.java2.컴파일이성공하면Hello.class파일생성3.JVM(자바가상머신)으로Hello.class실행(java명령이JVM을의미한다.이때확장자는입력하지않는다.) java Hello 용어 정리 터미널 : 컴퓨터에서 사용하는 명령어 인터페이스(Command Line Interface)입니다. 터미널을 사용하면 키보드로 명령어를 입력하여 컴퓨터를 제어할 수 있습니다. 예를 들어, 파일을 생성하거나 삭제하거나, 프로그램을 실행하거나 중지할 수 있습니다. 컴파일 : 컴퓨..