
💡 Python 의 특징간결함과 가독성 : Python 은 코드가 간결하고 읽기 쉬운 언어로, 복잡한 기능을 비교적 간단하게 구현할 수 있습니다강력한 표준 라이브러리 : Python 은 다양한 내장 라이브러리와 도구를 제공하여 개발 속도를 높일 수 있습니다 💡 Django 의 특징완전한 웹 프레임워크 : Django 는 웹 애플리케이션을 신속하게 개발할 수 있도록 다양한 기능(ORM, 인증, 관리자 인터페이스 등)을 제공합니다DRY 원칙 : "Don't Repeat Yourself" 원칙을 따라 코드의 재사용성을 높이고 중복을 최소화합니다보안 기능 내장 : CSRF, XSS, SQL Injection 과 같은 일반적인 보안 문제를 해결하는 도구와 메커니즘을 내장하고 있습니다스케일링 기능 : Django ..

지난 포스팅에서 Spring Security + Jwt + Redis 를 이용한 로그인을 구현해봤습니다. 이번 포스팅에서는 지난 포스팅과 통신하는 프론트 부분을 구현해보겠습니다. ▼ 지난 포스팅이 궁금하신 분은 아래의 링크를 확인해주세요 😊 Spring Security + JWT + Redis지난 포스팅에서는 JWT(JSON Web Tokens)를 세션(Session)에서 관리하고 토큰이 만료될 때 로그인 시 사용할 수 있는 기능을 구현했습니다. 그러나 이 방식은 사용자가 자주 다시 인증을 해야 하기 때문orijava.tistory.com 🛠 사용 IDE : Visual Studio Code 1. 프로젝트 초기화npx create-react-app social-login-test --template ty..

지난 포스팅에서는 JWT(JSON Web Tokens)를 세션(Session)에서 관리하고 토큰이 만료될 때 로그인 시 사용할 수 있는 기능을 구현했습니다. 그러나 이 방식은 사용자가 자주 다시 인증을 해야 하기 때문에 사용자 경험 측면에서 개선이 필요하다고 느꼈습니다. 이를 개선하기 위해 Redis를 사용하여 보안성과 사용자 경험을 균형 있게 제공하는 더 효율적이고 안전한 인증을 제공하도록 바꿔보겠습니다. Spring Boot, JWT 로그인 구현💡Spring Security 는 무엇인가?자바 기반의 웹 애플리케이션을 위한 보안 프레임워크주로 Spring 프레임워크를 사용하는 애플리케이션에서 인증과 권한 부여를 관리하기 위해 사용사용자가 누구인orijava.tistory.com 💡 Redis 란..

💡 GitHub Actions 란 무엇인가?GitHub 저장소 내에서 직접 워크 플로우를 자동화할 수 있도록 GitHub 에서 제공하는 자동화 플랫폼이를 통해 GitHub 를 떠나지 않고도 코드를 빌드, 테스트 및 배포할 수 있음YAML 구문을 사용하여 push, pull 요청 또는 예약된 이벤트와 같은 이벤트를 기반으로 작업을 트리거하는 사용자 지정 워크 플로우를 정의할 수 있음 💡CodeDeploy 란 무엇인가?Amazon EC2 인스턴스, AWS Lambda 함수, 온프레미스 서버 등 다양한 컴퓨팅 환경의 인스턴스에 애플리케이션을 배포하는 프로세를 자동화하는 배포 서비스 더보기💡 CI/CD 란 무엇인가?지속적인 통합과 지속적인 전달/지속적인 배포를 나타냄CI (지속적 통합)개발자가 코드 변경 ..

📂배포 방식보안 강화를 위하여 VPC 사용외부에서의 DB 접근을 막기 위하여 Amazon RDS 를 Private Subnet 안에 EC2 인스턴스를 넣어줌애플리케이션 사용자들이 해당 애플리케이션의 기능을 사용할 수 있도록 Public Subnet 에 Spring Boot 프로젝트EC2 인스턴스를 넣어줌aws 는 사용 환경이 잘 갖추어져 있지만 해킹의 사례들이 종종 보임. 그 중 한 명이었기에 이번 포스팅을 통해 적용하고자 함 💡VPC 란 무엇인가?AWS VPC(Virtual Private Cloud) 는 Amazon Web Service 에서 제공하는 서비스로, 사용자가 AWS 클라우드 내에서 로직적으로 격리된 가상 네트워크를 정의하고 구성할 수 있게 해줌사용자가 전체적인 네트워크 환경을 제어할 수..

💡OAuth 란 무엇인가?인터넷 사용자가 웹 사이트나 애플리케이션에서 다른 서비스의 기능이나 정보에 접근할 수 있도록 해주는 개방형 효준 프로토콜사용자가 자신의 비밀번호를 직접 공개하지 않고도, 한 애플리케이션(소비자)이 다른 서비스(공급자)에 안전하게 특정 정보에 접근할 수 있도록 허용해당 프로세는 '토큰'이라고 하는 액세스 권한을 이용하여 이루어진다사용자는 토큰을 통해 서비스에 자신의 정보 일부에 대한 접근 권한을 부여할 수 있으며, 전체 계정 접근을 허용할 필요가 없다 Spring Boot, JWT 를 이용한 로그인 구현에 이어서 진행됩니다. Spring Boot, JWT 로그인 구현💡Spring Security 는 무엇인가?자바 기반의 웹 애플리케이션을 위한 보안 프레임워크주로 Spring 프..

Spring Boot 로 구현한 로그인 기능을 프론트와 연결하기 백엔드와의 요청처리를 위해 React Axios 를 이용한 통신을 사용할 예정이다💡Axios 란 무엇인가?node.js 의 HTTP 요청 또는 브라우저의 XMLHttpRequests 를 만드는 데 사용되는 JavaScript 라이브러리Promise API 를 지원하므로 비동기 HTTP 요청을 간단하게 처리 가능JSON 데이터를 보내거나 받을 때 Axios 는 JSON 과 데이터를 자동으로 변환CSRF 보호 기능이 내장🔨사용 툴VSCode 이전 포스팅에 생성했던 Spring Boot, JWT 와 연동해 줄 예정 1. 프로젝트 생성 사용할 폴더를 열거나 터미널에서 cd 명령어를 통해 디렉토리로 이동하여 아래의 명령어를 입력 npx create-..

💡Spring Security 는 무엇인가?자바 기반의 웹 애플리케이션을 위한 보안 프레임워크주로 Spring 프레임워크를 사용하는 애플리케이션에서 인증과 권한 부여를 관리하기 위해 사용사용자가 누구인지 확인하고(인증), 사용자가 특정 작업을 할 수 있는 원한이 있는지 확인하는(권한 부여) 시스템을 제공인증 : 사용자가 자신이 주장하는 대로 실제 해당 사용자인지 확인하는 과정권한 부여 : 인증된 사용자가 특정 리소스에 접근하거나 특정 작업을 수행할 권한이 있는지 결정하는 과정CSRF 보호 (Cross-Site Request Forgery) 기능 제공CSRF : 웹 사이트의 취약점을 이용하여 사용자가 의도하지 않은 요청을 전송하게 만드는 공격 방법세션 관리 기능 제공 : 이를 통해 세션 고정, 세션 만료..

Java Thread개요💡Thread 란 무엇인가?스레드는 프로그램 내 실행 경로인 경량 프로세스이다. Java는 스레드를 사용하여 코드의 병렬 실행을 가능하게 한다. 각 Java 애플리케이션에는 최소한 하나의 스레드(애플리케이션이 시작될 때 실행되는 메인 스레드)가 있다. 다른 작업을 동시에 수행하기 위해 추가 스레드를 생성할 수 있다.스레드 생성 및 사용 1. 스레드 생성 방법:Thread 클래스에서 상속: 이 접근 방식에는 Thread를 확장하는 새 클래스를 생성하고 스레드가 실행할 코드를 정의하는 run() 메서드를 재정의하는 작업이 포함된다.Runnable 인터페이스 구현: 이 접근 방식에는 run() 메서드를 정의하여 Runnable 인터페이스를 구현하는 작업이 포함된다. 그런 다음 Thre..

상속 / 다형(유형)성 / 추상상속 : 부모(super) 으로부터 물려받은 자원을 자식이 그대로 사용하거나 수정해서 사용 가능 키워드 : extends Java 는 한번에 하나의 클래스만 상속 가능예) public class ParentClass{ int a=10; } public class ParentClass2{ } 가능 public class ChildClass extends ParentClass{ char c='A'; / private char c='A' } 불가능 public class ChildClass extends ParentClass, ParentClass2{ } 가능 public class ChildClass2 extends ChildClass{ // int a=10; c..