진짜 개발자
본문 바로가기

분류 전체보기 (총 582개)

JPA - Entity의 가독성을 높이자 - 2 (Embedded Id 사용법) DDD 를 진행하며 Entity의 가독성에 대한 고민을 많이 하기 시작했습니다 DDD 를 진행하며 Entity의 가독성에 대한 고민을 많이 하기 시작했습니다. 각각의 앱들은 자신들만의 도메인 제약사항을 가지고 있으며, 그에 따라 키값도 특별하게 설정되는 경우가 있었습니다. 예를들어 보통의 경우에는 RDBMS의 Auto_Increment를 설정을 이용하며, Long타입으로 Entity의 Id를 설정했지만, 이번에 진행하는 App에서는 조금 특별한 ID를 설정해야하는 경우가 있었습니다. 조금 더 자세히 설명드리자면, UserEntity의 경우에는 Google Oauth2를 통해 발급된 AccessToken을 Id로 사용하며, WorkPlaceEntity라는 이름의 엔티티의 경우에는 사업자 번호를 ID로 사용..
Linux - No Java executable found in current PATH: 해결방법 (/usr/bin 링크를 지웠을 때) ㅠㅑㅜ 실수로 /usr/bin/ 이하의 링크를 지웠거나, 또는 위 그림과 같이 다음의 PATH:(/bin:/usr/bin:/sbin:/usr/sbin) 경로에 실행가능한 파일이 없다는 error가 발생했을때의 해결방법에 알아보도록 하겠습니다. 1. /bin, /usr/bin, /sbin, /usr/sbin 이 뭐죠?우선 error를 해결하기 위해서는 위의 디렉토리가 어떤 의미를 가지는지를 아셔야 합니다. 우선 무언가를 실행하기위한 파일이 없다는 것이라는 에러메시지를 통해 실행파일? 정도들이 저장되는 곳임을 유추해볼수 있을 것입니다. 네 거의 맞습니다. 정확하게는 리눅스의 명령어들이 저장되는 디렉토리들 입니다. /bin bin은 linux의 기본 명령어들이 저장되는 디렉토리입니다. 위 그림은 ls -al ..
Network - SSL , HTTPS, CA 개념 (SSL인증서) ssl개념과 인증서 종류에대해서 알아보도록 하겠습니다 ssl개념에대해서 알아보도록 하겠습니다. 1. SSLSSL(secure socket layer)은 네트워크에서 메시지 전송시 보안을 위해 개발된 표준 프로토콜입니다. 즉, HTTP만을 위한 프로토콜이 아닌 응용계층의 여러 프로토콜의 보안을 위해 발명된 프로토콜입니다. 조금 더 정확히 말씀드리자면, TCP를 보호하는 프로토콜입니다. 클라이언트 또는 서버에서 메시지를 만들어 상대에게 전달할때, 응용계층에서 만들어진 메시지가 전송계층으로 가기전 SSL을 통해 데이터가 암호화가 됩니다. 그 후 전송계층을 통해 네트워크로 데이터가 상대에게 전달이 됩니다. 1.1 SSL 장점SSL은 3가지의 장점을 제공합니다. 기밀성(암호화)데이터 무결성서버인증 1.2 SSL없..
AWS Programming - AWS의 RDS와 springboot 연동, MysqlWorkbench와 RDS 연결하기 (RDS 한글설정) spring boot와 RDS연동하는 방법과 조금더 수월하게 RDS(Mysql)을 관리하기 위한 방법에 대해서 알아보도록 하겠습니다 spring boot와 RDS연동하는 방법과 조금 더 수월하게 RDS(Mysql)을 관리하기 위한 mysql Workbench와 연동하는 방법에 대해서 알아보도록 하겠습니다. 1. RDS 생성https://galid1.tistory.com/352생성 방법은 위 링크를 참고해주세요. 생성중 중요시 해야할 부분입니다. RDS가 속할 VPC외부에 존재하는 EC2인스턴스나, mysql 클라이언트 프로그램에서 연결시 필요한 설정입니다. 꼭 예를 선택합니다. 2. Spring Boot와 연동하기2.1 Dependency(의존성)https://mvnrepository.com/artifa..
JPA - Entity의 가독성을 높이자(@Embedded, @Embeddable, @AttributeOverride 사용법) @Embedded, @AttributeOverride JPA에서는 Entity안의 값을 조금 더 의미있는 값으로 표현하기 위해 응집된 하나의 객체로 데이터를 표현합니다. 이번 포스팅에서는 이 처럼 JPA의 Entity를 조금 더 확실한 의미로 표현하는 방법과, 그에 따라 발생하는 중복 column에러를 해결하는 방법을 알아보겠습니다. 1. @Embedded , @Embeddable 1.1 시나리오일반적인 회원가입의 경우에 회원을 표현하는 간단한 방법을 알아보고, 이를 좀더 의미있는 객체로 표현하는 방법을 알아보겠습니다. @Entity@Table(name = "user")public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) priv..
AWS SDK - JAVA를 이용해 S3에 파일 업로드시 로컬에 저장되지 않도록 하기 이번 포스팅에는 사용자의 업로드 요청시 로컬 스토리지가 아닌 AWS의 S3에 저장하는데, 로컬에는 파일이 저장되지 않은 채로 바로 업로드 하는 방법을 알아보도록 하겠습니다 이번 포스팅에는 사용자의 업로드 요청시 로컬 스토리지가 아닌 AWS의 S3에 저장하는데, 로컬에는 파일이 저장되지 않은 채로 바로 업로드 하는 방법을 알아보도록 하겠습니다. 1. AWS S3 사용법https://galid1.tistory.com/590S3 사용법은 이전 포스팅에서 자세히 다루었으므로 이전 포스팅을 참조해주세요. 2. 로컬에도 파일이 저장되는 업로드 방식이전 포스팅에서 말씀드렸듯이 AWS S3 SDK에서 제공하는 업로드 방식은 크게 2가지 입니다. S3에 대한 세부 설정이 가능한 putObject(PutObjectRequ..