전체 게시물 (200) 썸네일형 리스트형 [운영체제] 주소 지정 방식 5가지 명령어는 연산 코드(operation code)와 오퍼랜드(operand)로 이루어져 있습니다. 연산 코드 : 명령어가 수행할 연산오퍼랜드 : 연산이 수행될 데이터 또는 데이터가 저장된 위치 주소 지정 방식이란 연산이 수행될 데이터의 위치를 찾는 방법입니다. 주소 지정 방식에는 5가지 유형으로 나뉩니다.즉시 주소 지정 방식직접 주소 지정 방식간접 주소 지정 방식레지스터 주소 지정 방식레지스터 간접 주소 지정 방식 즉시 주소 지정 방식은 오퍼랜드 필드에 연산에 수행될 데이터를 직접 저장하는 방식입니다. 연산에 수행되는 데이터를 직접 저장하기 때문에 연산 속도가 빠르다는 장점이 있습니다. 그러나 데이터의 크기만큼 공간을 차지하고 있기 때문에, 데이터가 제한적으로 저장된다는 단점이 있습니다. 직접 주소 지정.. [Spring] 이미지를 AWS S3로 업로드하는 2가지 방법 (MultipartFile, PresignedUrl) 클라이언트가 이미지를 업로드할 때, 서버에서 처리할 수 있는 방법은 2가지가 존재합니다.서버에서 MultipartFile 형태로 데이터를 받아서 AWS S3로 업로드한다. 서버에서 presignedUrl을 발급하여 AWS S3로 업로드한다.2번에서 presignedUrl이 다소 생소할지라도 이번 글을 통해 이해할 수 있습니다. (AWS S3 생성 및 스프링과 연결 방법에 대해서는 생략합니다) 1. MultipartFile 형태로 서버에서 처리스프링에서는 MultipartFile 인터페이스를 제공합니다. 업로드한 파일의 이름, 크기 등을 제공하는 메서드가 존재합니다.Controllerform-data로 넘어오는 이미지를 MultipartFile로 받습니다.@RestController@RequestMappi.. [JPA] JpaRepository를 사용할 때 @Transactional을 붙여야할까? SimpleJpaRepositoryJpaRepository는 SimpleJpaRepository를 상속받습니다. SimpleJpaRepository는 데이터베이스에 상호작용을 위한 기본적인 CRUD 연산을 제공합니다. CRUD 연산에는 기본적으로 @Transactional 애너테이션이 사용됩니다.public class SimpleJpaRepository implements JpaRepositoryImplementation { @Transactional public void deleteById(ID id) { Assert.notNull(id, "The given id must not be null"); this.findById(id).ifPresent(this::del.. [Spring-Security] 사용자 인증 처리 flow Security Filters역할요청된 정보를 가지고 UsernamePasswordAuthenticationToken 생성생성된 Token을 AuthenticationManager로 전달인증이 완료된 Authentication 객체를 Security Context에 저장" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스사용자가 username, password를 입력 후 로그인을 시도하면 Security Filter가 입력 정보를 가로챕니다. 가로챈 username과 password는 UsernamePasswordAuthenticationToken에 저장됩니다.Authentication Manager역할여러 개의 구현체인 Authentication Providers를 가진다.사용.. [Spring-Security] 인코딩(Encoding), 암호화(Encyrption), 해싱(Hashing), 그리고 Spring Security에 적용하기 인코딩, 암호화, 해싱은 모두 데이터 보안을 위한 기법이지만 각기 다른 목적과 방식을 갖습니다. 애플리케이션에서는 사용자의 비밀번호를 그대로 저장하는 것이 아닌 해싱을 거친 후에 저장합니다. 셋 다 데이터 보안을 위한 기법이라면 인코딩과 암호화를 사용하여 비밀번호를 저장해도 될 것 같은데 그러면 안 되는 이유에 대해서도 알아보겠습니다. 인코딩인코딩의 목적은 데이터를 다른 형식으로 변환하여 표현하는 것입니다. 이는 데이터를 저장하거나 전송할 때 형식을 표준화하거나 압축하는 등의 용도로 사용됩니다. 즉, 누군가를 못 알아보게 하는 목적이 아닌 사용성을 위해 사용되는 방식입니다. 예를 들어, 이미지를 인코딩하면 데이터를 효율적으로 전송할 수 있습니다. 이미지의 사이즈가 크기 때문에 이를 인코딩을 하여 압축하면.. [Spring-Security] JdbcUserDetailsManager와 CustomDetailsManager Username과 Password를 입력하여 인증하는 방법으로, Spring Security에서 사용되는 3가지 방식은 다음과 같습니다.InMemoryUserDetailsManagerJdbcUserDetailsManagerCustomUserDetailsManagerAuthenticationManager는 사용자의 Username과 Password에 기반하여 인증을 처리하도록 AuthenticationProviders에 인증 책임을 위임합니다. Authentication Providers의 구현체 중 하나인 DaoAuthenticationProvider가 인증을 담당합니다. DaoAuthenticationProvider 또한 UserDetailsService에 인증 책임을 위임합니다. InMemoryUse.. [JPA] 양방향 참조 시에 발생하는 순환 참조 문제 JPA에서는 @OneToMany, @ManyToOne을 사용하여 연관관계를 맺을 수 있습니다. 덕분에 객체 지향적으로 DB를 다룰 수 있게 됩니다. 특히나 CRUD 과정을 간소화할 수 있습니다. 그러나 편한만큼 주의해야 할 점도 다양합니다. 이번 주제에서 다룰 순환참조 또한 JPA를 다루면 꼭 마주하는 문제입니다. 순환참조는 두 엔티티가 양방향 연관관계로 설정되어 있을 때 발생합니다. A가 B를 참조하고, B가 A를 참조하게 되면서 무한히 반복됩니다. 순환 참조가 발생하는 예제와 해결하는 방법에 대해서 알아보겠습니다.엔티티 양방향 연관관계 설정User 엔티티패키지 정보 확인하기import jakarta.persistence.Column;import jakarta.persistence.Entity;imp.. [Spring-Security] Default Security Configurations Default Security Filter Chain기본적으로 Spring Security 프레임워크는 웹 애플리케이션 내부에 존재하는 모든 경로를 보호한다. 이러한 동작을 하는 이유는 기본적으로 설정된 filter chain 내부의 코드 때문이다. 전체 코드package org.springframework.boot.autoconfigure.security.servlet;import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;import org.springframework.boot.a.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 25 다음