전체 글

전체 글

    [JPA] JsonMappingException: Infinite recursion (StackOverflowError) 오류

    [JPA] JsonMappingException: Infinite recursion (StackOverflowError) 오류

    이슈 원인 Member 엔티티와 Company 엔티티간의 연관관계가 있는데 Company 엔티티에서 JSON으로 반환하는 과정에서 생긴에러로 Company에더 LAZY JOIN을 해도 JSON으로 변환하는 중 직렬화(serialize) 과정을 거치는데 Member에 Company가 있어서 Company를 참조하고, Company에 있는 Member 를 참조하면서 무한 재귀가 발생했다. 해결방법 @JsonIgnore 참조하는 엔티티에서 (재귀를 일으키는) 필드에 @JsonIgnore 를 추가한다. DTO 생성 엔티티로 반환하지 않고 리턴용 DTO를 따로 만들어서 사용한다. 해결 나는 두번째 해결 방법인 DTO로 반환해도 해당 문제가 생겼는데 DTO 에서 엔티티 정보 전체를 가져오는게 있다보니 생기는 문제였..

    실전! 스프링 데이터 JPA 내용 정리 - 섹션 4(1)

    실전! 스프링 데이터 JPA 내용 정리 - 섹션 4(1)

    실무에서 JPA를 사용하는데 개념적인 부분을 집고 넘어가면 좋을 것 같아서 강의를 보게 되었고 인프런 강의를 보고 내용 정리를 해보았다. 프로젝트 어노테이션 @NoArgsConstructor(AccessLevel.PROTECTED) 엔티티에서 레벨을 protected 까지로 한다 Protected 로 설정하는 이유는 무분별한 객체 생성에 대해 한번 더 체크할 수 있게 한다. 그러나 @Builder와 같이 사용하고 싶다면 AllArgsConstructor 와 같이 사용하거나 @Builder @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) 안에 @Builder를 계속적으로 선언해서 사용해야한다. @Builder 를 사용하면 의미있..

    [MySQL] InnoDB란

    [MySQL] InnoDB란

    MySQL 엔진 MySQL은 주로 MyISAM, InnoDB 두가지 스토리지 엔진중 하나를 사용한다. MyISAM, InnoDB 차이 및 사용하면 좋을 이유 MyISAM Read Only 기능이 많은 서비스 트랜잭션이나 복구가 필요 없는 경우 한번에 대량 데이터를 입력하는 배치성 테이블 InnoDB 대용량 데이터를 다룸 트랜잭션 처리나 복구가 필요함 오라클과 비슷한 기능들을 제공함 메모리 캐시를 통한 퍼포먼스 향상 InnoDB 아키텍처 InnoDB In-memory구조로 데이터와 인덱스를 메모리에 캐싱하기 위해 "버퍼풀" 이라는 저장 영역을 유지 관리 한다. InnoDB의 장점 1. 성능 다수의 사용자 동시 접속 가능 대용량 데이터 처리 테이블과 인덱스를 테이블 스페이스에 저장하고, 테이블 스페이스는 파..

    [CKA] Udemy - Mock Exam2 문제풀이

    Q1. Take a backup of the etcd cluster and save it to /opt/etcd-backup.db. A1. controlplane ~ ➜ cat /etc/kubernetes/manifests/etcd.yaml controlplane ~ ➜ ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key \ snapshot save /opt/etcd-backup.db Q2.Create a Pod called re..

    [CKA] Udemy - Mock Exam1 문제풀이

    Q1. Deploy a pod named nginx-pod using the nginx:alpine image. Once done, click on the Next Question button in the top right corner of this panel. You may navigate back and forth freely between all questions. Once done with all questions, click on End Exam. Your work will be validated at the end and score shown. Good Luck! Name: nginx-pod Image: nginx:alpine A1. kubectl run nginx-pod --image=ngi..

    [kubernetes] cordon, uncordon, drain, taint

    [kubernetes] cordon, uncordon, drain, taint

    명령어 사용 이유 클러스터를 사용하다보면 특정 노드에 있는 pod 를 다른 곳으로 옮기거나 특정 node 에는 pod 가 스케쥴링 되지 않게 제한을 둘 필요가 있다. 이 명령어들은 worker노드의 OS나 kubelet 버전 업데이트에 사용한다. cordon : 지정된 node에서 더이상 pod들이 scheduling되서 실행되지 않도록 한다. 현재 노드에 배포된 Pod는 그대로 유지하면서 추가적인 Pod의 배포를 제한하는 명령어이다. kubectl cordon uncordon : pod가 node에 정상적으로 scheduling 시키는 명령어이다. kubectl drain, kubectl cordon 명령어를 적용한 노드의 Pod는 스케쥴링이 되지 않는데, uncordon은 노드에 Pod가 정상적으르 ..

    [MySql] 다른 테이블과 조인해서 UPDATE 하는 방법

    select 문에서 join 해서 값을 찾아서 사용하듯이 다른 테이블과 조인해서 현재 테이블에 해당하는 값만 UPDATE를 하고 싶었다. member, company 두개의 테이블이 있을때 멤버 테이블에 회사명을 추가하고 싶었다. UPDATE member m, company c set m.company_name = c.company_name where m.company_id = c.id update 문에 조인하고 싶은 테이블을 나열한다. set 에는 값을 업데이터 하고 싶은 내용을 적는다 where 절에는 join 할 때 on 과 같이 사용한다고 생각하면 된다.

    [웨비나] Bootiful Spring in Summer with Josh Long

    Spring의 Josh Long 이 한국의 라인플러스를 방문하여 Spring Boot의 최신 업데이트에 대해 소개합니다. 뒤이어 라인의 대표 오픈소스 Armeria를 활용하여 손쉽게 Spring Boot를 integration하는 방법과 best practice 사례를 소개합니다. 신청 링크 https://feedback.line.me/enquete/public/21038-7yOi9VZQ [LINE DEV Meetup] Bootiful Spring in Summer with Josh Long feedback.line.me 강의 다시보기 https://www.youtube.com/@linedevlog 라인개발실록 라인개발실록, 혹은 라인개발실LOG! 여러분이 궁금하셨을 라인개발실의 (개)발칙하고 비공식적인..

    [k8s] CKA 준비 - Network Policy

    [k8s] CKA 준비 - Network Policy

    Network Policy란 kubernetes에서 사용하는 방화벽 정책 pod 가 서로 통신할 때 인바운드, 아웃바운드에 대한 설정을 할 수 있도록 하는 정책 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy namespace: default spec: podSelector: matchLabels: role: db policyTypes: - Ingress - Egress ingress: - from: - ipBlock: cidr: 172.17.0.0/16 except: - 172.17.1.0/24 - namespaceSelector: matchLabels: project: myproject - ..

    CKA 자격증 신청하기

    CKA 자격증 신청하기

    https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/   할인코드가 있으면 입력한다         초록색 체크표시 내용을 완료  확인이되면 주황색 스케줄 표시가 활성화가 된다.   시험 날짜 선택   나라와 시간을 선택하면 시험볼 수 있는 날짜 및 시간이 나온다. 시험은 2일전에는 신청해야한다.    테스트 환경 제공 및 2번의 테스트 문제 제공https://killer.sh/ 킬러는 아래 표시된 박스로 이동하면 확인할 수 있다.  2개의 테스트를 제공하는데 나는 풀어보지는 않았다.킬러는 문제를 풀어보기 보다는 ..