반응형

Programming 362

Ubuntu (20.04.5 LTS) Apache2 웹 서버 설치하는 방법

(Ubuntu) Apache2 웹 서버 설치 방법 해당 포스팅은 'Ubuntu 20.04.5 LTS 환경에서 Apache2 Web Server를 설치하는 방법'에 대한 내용입니다. 웹 서버 설치 및 방화벽 포트 허용 과정이 포함되어 있으며, 해당 과정에서 발생할 수 있는 상황에 대한 주의사항이 포함되어 있습니다. 1. 패키지 목록 업데이트 및 Apache2 설치 //패키지 목록 업데이트 $ sudo apt-get update //Apache2 Web Server 설치 $ sudo apt-get install apache2 apache2 설치로 인해 일정 용량의 디스크 공간이 사용된다는 'After this operation, ~kB of additional disk space will be used.' ..

Programming/Linux 2023.05.15

mysql nextval 사용하는 방법 (oracle sequence 기능)

MySQL nextval 사용 방법 (Oracle Sequence) MySQL의 경우 AUTO INCREMENT를 사용하여 레코드에 대한 값이 중복되지 않고 1씩 증가하도록 할 수 있는데요. 때문에 AUTO INCREMENT는 기본 키(PRIMARY KEY)에 주로 사용됩니다. 하지만 Oracle의 경우 AUTO INCREMENT 기능이 없으며, 해당 역할을 Sequence가 하게 되는데요. 오라클에서 시퀀스(Sequence)는 '유일한 값을 생성해 주는 오라클 객체'이며, '값을 순차적으로 증가시켜 주기 위해서 사용되는 기능'입니다. 해당 포스팅은 mysql에서 필요에 의해 oracle의 sequence 기능을 사용해야 하는 경우 oracle의 sequence 기능인 'nextval를 사용하는 방법'에..

Programming/MySQL 2023.05.13

데이터 웨어하우스, 데이터 레이크 개념 및 차이점 정리(Data Warehouse, Data Lake)

데이터 웨어하우스(Data Warehouse), 데이터 레이크(Data Lake) 개념 및 차이점 데이터 웨어하우스란? 데이터 웨어하우스(Data Warehouse)란 정보(data)와 창고(warehouse)의 의미가 합성되어 만들어진 어휘로, 조직 전체의 여러 소스들(ERP, CRM, 데이터베이스, IoT, 파트너 시스템 등)로부터 데이터를 저장하고 처리하여 비즈니스 인텔리전스(BI) 활동, 특히 분석을 활성화 및 지원하기 위해 설계된 데이터 관리 시스템의 한 유형입니다. 쉽게 사용자의 의사 결정에 도움을 주기 위하여 정보들이 분석 가능한 형태로 저장되어 있는 중앙 저장소이며, 때문에 '의사결정 지원 시스템'이라고도 하는데요. 데이터 웨어하우스는 기존의 정보를 활용해 더 나은 정보를 제공하고, 데이터..

AWS Summit Seoul 2023 다녀온 후기

AWS Summit 참석 과정 및 후기 2023년 5월 3일에서 4일 이틀간 회사의 교육 지원을 받아 'AWS Summit Seoul 2023'에 다녀오게 되었습니다. 규모 있는 IT 콘퍼런스에 가보고 싶다는 생각에 막상 신청은 했지만, 사실 aws 서비스를 사용한 경험도 없었고, 다양한 서비스들에 대해서도 잘 몰랐습니다. 그래서 회사에서 승인을 받은 뒤 콘퍼런스 내용을 조금이라도 더 이해하기 위해 'AWS란 무엇인지'에서부터 'AWS Lambda', 'AWS S3', 'AWS IoT', 'AWS Marketplace' 등, 주요 서비스들에 대한 정보와 듣고 싶은 세션에 관련된 키워드들을 찾아 찾아보고 갔는데요. AWS의 서비스들이 너무나 광범위하고 다양하기 때문에 실제 강연에서는 모르는 개념들이 대부분..

Programming/AWS 2023.05.05

양방향 매핑 순환참조 문제 Cannot call sendError() after the response has been committed

양방향 매핑 순환참조 문제 해결 방법(@JsonIgnore, @JsonManagedReference, @JsonBackReference, @JsonIdentityInfo) "Cannot call sendError() after the response has been committed" //User Entity @NoArgsConstructor @Getter @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column private String name; @OneToMany(mappedBy = "user") private List accounts = new ArrayList..

AWS Marketplace란?(feat. AMI)

AWS Marketplace란? 'AWS Marketplace'는 AWS에서 호스팅 되는 온라인 소프트웨어 스토어입니다. 사용자는 이 스토어를 통해 실행할 수 있는 다양한 소프트웨어 제품을 찾을 수 있는데요. AWS Marketplace를 통해 사용자가 소프트웨어를 구매하고 사용하는 것이 보다 단순해지며, 구매한 소프트웨어에 대한 라이선스 및 인프라에 대한 비용 역시 이 서비스를 통해 관리할 수 있습니다. 쉽게 이야기하면, 다른 사람들이 AWS로 만든 프로그램을 AWS Marketplace를 통해 간단하게 설치하고 사용할 수 있도록 하는 서비스입니다. * 신뢰성, 보안성 및 비용 효율성을 보장하기 위해 AWS에서 호스팅 되는 소프트웨어만을 수용한다는 특징이 있습니다. AWS Marketplace에서는 의..

Programming/AWS 2023.04.26

AWS Lambda, AWS S3란? AWS 주요 서비스 내용 정리

AWS Lambda, AWS S3(Amazon Simple Storage Service)란 지난번 'AWS란 무엇인가?' 포스팅에 이어 AWS의 주요 서비스들 중 Lambda, S3에 대한 내용을 정리한 것입니다. 2023.04.18 - [IT Info] - AWS Summit 참석 전, AWS란 무엇인가? AWS Lambda AWS Lambda는 서버를 제어하거나 프로비저닝(Provisioning) 하지 않고도 코드를 실행할 수 있는 이벤트 중심의 서버리스 컴퓨팅 서비스인데요. 여기서 서버리스는 관련된 서버가 없다는 의미가 아니라, Lambda가 모든 인프라를 관리하는 완전 관리형 서비스이기 때문에 코드를 실행하기 위해 자체적으로 서버를 유지, 관리할 필요가 없다는 것을 뜻합니다. 즉, AWS Lamb..

Programming/AWS 2023.04.23

N+1 문제를 해결하기 위한 FetchJoin, 일반 Join과의 차이점은

부끄럽지만 아직까지 'Fetch Join'을 제대로 쓸 줄 모른다는 사실을 반성하며 정리하는 내용입니다. 1. N+1 문제란? jpa 연관 관계 조회 쿼리에서 자주 만나게 되는 문제로, 연관 관계가 설정된 Entity를 조회할 경우 하위 Entity의 데이터 개수(n) 만큼 조회 쿼리가 추가로 발생하여 데이터를 읽어오는 문제를 이야기합니다. N+1 문제가 발생하는 예시를 살펴보면 다음과 같은데요. 2. JPA 연관 관계 조회 쿼리에서 발생하는 N+1 문제 @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Entity public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) ..

(querydsl) cannot find symbol: javax.annotation.processing.Generated

QueryDSL cannot find symbol: javax.annotation.processing.Generated querydsl 사용 중 Q클래스를 생성한 뒤 프로그램을 실행했을 때 'javax.annotation.processing 패키지에서 Generated class를 찾지 못한다는 오류'가 발생했습니다. 해당 오류는 지난번에도 한번 발생했었는데, 이번에도 같은 오류가 발생했고 오류의 원인이 궁금하여 내용을 찾아보게 되었습니다. 해결 방법 1. 첫 번째 시도 우선 첫 번째로 시도한 방법은 Q클래스의 import javax.annotation.processing.Generated 부분을 import javax.annotation.Generated로 수동으로 바꾸는 것입니다. import jav..

Programming/Error 2023.04.19

JPA 예약어로 인한 구문 오류 해결 방법 (check the manual that corresponds to your MariaDB server version for the right syntax to use near 'order …’)

jpa 예약어로 인한 구문 오류 발생 시 해결하는 방법 jpa를 사용한 데이터 조회 작업 중 아래와 같은 'SQLSyntaxErrorException'이 발생했습니다. 해당 구문은 원래 정상적으로 동작하던 구문으로, 프로세스상의 필요에 의해 기존에 다른 이름으로 되어 있던 테이블 명만 'order'로 바꿨기 때문에 구문 상의 문제는 아닐 것이라고 생각했는데요. java.sql.SQLSyntaxErrorException: (conn=14730) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'order order..

Programming/Error 2023.04.19
반응형