728x90 반응형 분류 전체보기602 [Java/개념] 암호화 & 복호화 알고리즘 사용 예시 - Cipher, Base64 데이터를 송수신할 때, 암호화가 필요하다면 어떻게 해야할까? API 를 요청하는 기관으로부터 데이터를 수신하는데, 특정 데이터는 암호화되어 Base64로 인코딩 되어 데이터를 수신한다고 한다. 우선 AES 알고리즘을 사용한 복호화 방식은 아래와 같았다. 1. 암호화를 풀기 위한 키 문자열을 바이트화 시켜서 키 크기(256)만큼 8로 나눈 값만큼의 길이의 내용을 키에 대입 2. 인코딩 된 문자열 Base64로 디코딩하기 3. Cipher Instance를 알고리즘/모드/패딩 방식을 정해서 Cipher 객체에 Cipher모드와 SecretKeySpec 을 키를 이용해 초기화4. Cipher.doFinal 을 이용해 복호화된 바이트 배열을 얻고 UTF-8로 변환한 문자열 얻기 import org.apache.. 2025. 5. 21. [프로젝트/ERD] 무료 ERD 툴 draw.io 사용하기 - Table 설계 오늘은 새로 만들어볼 프로젝트의 테이블 설계를 위해 draw.io 를 사용해보고자 한다. https://app.diagrams.net/ Flowchart Maker & Online Diagram SoftwareFlowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit dapp.diagrams.net draw.io.. 2025. 5. 8. [프로젝트/DB] PostgreSQL intelliJ에 등록하기 ※ 해당 포스팅은 PostgreSQL이 설치되어있다는 가정 하에 만들었다.https://www.postgresql.org/ PostgreSQLThe world's most advanced open source database.www.postgresql.org intelliJ 최우측에 보면 Database 탭이 있다.해당 탭을 누르면 아래와 같은 이미지가 나오는데, 여기서 + 모양을 눌러서 내가 추가하고자 하는 PostgreSQL 을 찾는다. 로컬이면 localhost, 다른 환경에 있는 DB면 해당 서버 IP와 포트번호를 적어 넣는다. 이렇게 입력하고 TestConnection을 누르면? 아래와 같이 에러가 뜬다. 위와 같이 오류가 떴다면 연결하는데 에러가 발생한 상황.abcd 계정이 있는지, ab.. 2025. 4. 16. [Spring] 스프링 부트의 자동 리소스 등록 ※ 스프링 부트 등장 전개발자가 DataSource와 TxManager를 개발자가 직접 스프링 빈에 등록해서 사용해야했다.※ 스프링 부트 등장 후스프링부트에서 자동으로 등록해주는 방법이 생겼다. 데이터소스와 트랜잭션 매니저를 스프링 빈으로 직접 등록@BeanDataSource dataSource() { return new DriverManagerDataSource(URL, USERNAME, PASSWORD);}@BeanPlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource());} 기존에는 이렇게 데이터소스와 트랜잭션 매니저를 직접 스프링 빈으로 등록해야 했다.그런데 스프링 부트가.. 2025. 4. 11. [Spring] 트랜잭션 AOP 트랜잭션 AOP를 이해하려면 Spring AOP와 프록시(proxy) 개념을 정확히 이해하는 게 좋다.✅ 스프링 AOP란?🌟 AOP (Aspect-Oriented Programming): 관점 지향 프로그래밍핵심 비즈니스 로직 외에, 공통된 부가 기능을 관심사(Aspect) 로 분리해서 코드 중복을 줄이는 방식예를 들어:트랜잭션 처리로깅보안 검사성능 측정이런 기능들을 여러 클래스마다 직접 넣지 않고, 공통 모듈로 따로 분리해서 끼워넣는 방식이다. 🌀 스프링 AOP 특징항목설명구현 방식프록시 기반 AOP (자바 Proxy 또는 CGLIB 사용)적용 대상스프링 빈에만 적용실행 시점런타임에 적용 (컴파일 타임 아님)성능빠르고 가볍지만 제한적 (메소드 단위만 지원) ✅ 프록시(Proxy)란?📌 프록시는 대.. 2025. 4. 8. [Spring] 트랜잭션 템플릿 (p.s 템플릿 콜백 패턴) 트랜잭션을 사용하는 코드를 보면 반복되는 패턴들이 있다. // 트랜잭션 시작TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());try { // 비즈니스 로직 bizLogic(fromId, toId, money); transactionManager.commit(status); // 성공시 커밋} catch (Exception e) { transactionManager.rollback(status); // 실패시 롤백 throw new IllegalStateException(e);} 트랜잭션 시작 → 비즈니스 로직 실행 → 성공 시 커밋 / 예외 발생, 실패 .. 2025. 4. 8. 이전 1 2 3 4 5 6 ··· 101 다음 728x90 반응형