본문 바로가기

java8

[JAVA] Math.random()보다 안전한 SecureRandom Ⅰ SecureRandom 개요 SecureRandom은 자바에서 암호학적으로 안전한 난수(CSPRNG)를 생성하기 위해 제공되는 클래스이다. 기존의 Random이나 Math.random()처럼 단순한 LCG 기반 난수를 사용하지 않고, 운영체제의 엔트로피 소스를 활용해 사실상 예측이 불가능한 난수를 만들어낸다. SecureRandom은 내부적으로 OS가 제공하는 non-blocking 엔트로피 소스(/dev/urandom 등)를 활용하며, 시드(seed)는 시스템 이벤트·마우스 이동·네트워크 시점·CPU 노이즈·하드웨어 난수 생성기(HWRNG) 등에서 가져온다. 이 엔트로피는 예측이 어려워 공격자가 난수 패턴을 추정하기 어려운 구조이다. 이러한 특징 때문에 SecureRandom은 주로 인증번호, 토.. 2025. 11. 24.
[JAVA] static 키워드 Ⅰ static 이란?static 키워드를 사용하면 클래스 로딩 시점에 메모리에 할당되어, 객체를 생성하지 않아도 접근 가능즉, 인스턴스에 귀속되지 않고 클래스 레벨에서 관리되기 때문에 여러 객체가 공유할 수 있음일반 변수/메서드는 객체를 생성해야 사용 가능하지만, static 키워드가 붙으면 클래스 자체에서 직접 접근 가능따라서 static을 사용하면 객체 간 굥유해야하는 데이터나 유틸리티 성격의 기능을 만들 때 유용함 Ⅱ static 변수 (클래스 변수)인스턴스 변수 vs 클래스 변수구분db">인스턴스 변수클래스 변수 (static)선언 위치db">클래스 내부, static 없음클래스 내부, static 있음메모리 할당 시점db">객체 생성 시클래스 로딩 시사용 방법db">객체를 생성한 후 사용클래스.. 2025. 3. 14.
[JAVA] final 키워드 Ⅰ final 이란?final 키워드는 불변성을 보장하고, 실수를 방지하며, 코드의 안정성을 높이는 역할을 함final은 클래스, 변수, 메서드에 적용할 수 있으며, 각각의 의미는 다음과 같음 대상  사용 예시  효과 클래스final class MyClass {}상속 불가능변수final int number = 10;값 변경 불가능메서드final void myMethod() {}오버라이딩 불가능 Ⅱ final 클래스 final class Parent { void myMethod1() {} void myMethod2() {}}class ChildClass extends Parent {} -> 오류 : final 클래스는 상속 불가능final 클래스는 상속을 금지하므로, 핵심 로직이 변경되지.. 2025. 3. 10.
[Spring] 텔레그램 봇(Telegram Bot) 만들기 #5 - Scheduled 반복 작업 구현 #5 Scheduled를 이용한 텔레그램 봇 반복 작업 구현목차Ⅰ @Scheduled 어노테이션1. @Scheduled 란?2. @Scheduled의 동작 방식3. 스케줄링 주기 설정Ⅱ 텔레그램 봇 반복 작업 구현1. 프로젝트 기본 설정2. 프로젝트에 데이터베이스 의존성 추가3. 사용자의 ChatId 데이터베이스에 추가4. 10분 간격으로 현재 시간 보내기  [Spring] 텔레그램 봇(Telegram Bot) 만들기 #4#4 텔레그램 봇 메세지에 버튼 구현하기목차Ⅰ 텔레그램 봇 버튼이란?1. 텔레그램 봇 버튼의 개념과 역할2. 텔레그램 봇 버튼의 종류Ⅱ 인라인 버튼 (InlineKeyboardButton) 구현1. 인라인 버튼의 구조2.naimjae.tistory.com 지난 포스팅에서 텔레그램 봇 메.. 2024. 12. 24.
[Spring] 텔레그램 봇(Telegram Bot) 만들기 #4 - 메세지에 버튼 구현하기 #4 텔레그램 봇 메세지에 버튼 구현하기목차Ⅰ 텔레그램 봇 버튼이란?1. 텔레그램 봇 버튼의 개념과 역할2. 텔레그램 봇 버튼의 종류Ⅱ 인라인 버튼 (InlineKeyboardButton) 구현1. 인라인 버튼의 구조2. 기본 인라인 버튼 구현3. 복잡한 인라인 버튼 구현4. 반복문을 이용한 인라인 버튼 구현Ⅲ Reply 버튼 (ReplyKeyboardButton) 구현1. Reply 버튼의 구조2. 기본 Reply 버튼 구현3. Reply 버튼의 기능  [Spring] 텔레그램 봇(Telegram Bot) 만들기 #3#3 텔레그램 봇 메세지 꾸미기 & 이미지 전송목차Ⅰ 텔레그램 봇 메세지 꾸미기1. 텔레그램 봇 메세지 스타일 적용2. 텔레그램 봇 장문 메세지 전송Ⅱ 텔레그램 봇 이미지 전송1. Send.. 2024. 12. 23.
[Spring] 텔레그램 봇(Telegram Bot) 만들기 #3 - 메세지 꾸미기 & 이미지 전송 #3 텔레그램 봇 메세지 꾸미기 & 이미지 전송목차Ⅰ 텔레그램 봇 메세지 꾸미기1. 텔레그램 봇 메세지 스타일 적용2. 텔레그램 봇 장문 메세지 전송Ⅱ 텔레그램 봇 이미지 전송1. SendPhoto를 이용한 이미지 전송  [Spring] 텔레그램 봇(Telegram Bot) 만들기 #2#2 텔레그램 봇 명령어 처리 & 메세지 발송목차Ⅰ 텔레그램 봇 명령어 처리1. 텔레그램 봇 라이브러리 분석2. 텔레그램 봇 메세지 전송3. 텔레그램 봇 명령어 처리 Ⅱ 텔레그램 봇 명령어 등록1. Botnaimjae.tistory.com 지난 포스팅에서 텔레그램 봇의 명령어 처리 및 메세지 발송을 구현해봤습니다.이번에는 텔레그램 봇의 텍스트 스타일 적용과 이미지 전송 방법에 대해 알아보겠습니다.Ⅰ 텔레그램 봇 메세지 꾸미.. 2024. 12. 19.
728x90