일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JPA#JPQL#FLUSH
- SSH #공개키인증
- ssl #개인키 #공개키
- JPA #생명주기
- JAVA#Collection#콜렉션#개념
- 오라클#튜닝
- MySQL 5.7 #MySQL 8.0 #차이점 #업그레이드
- Oracle #ANSI #SQL #JOIN
- X.25
- cors #Authorization
- ssh #pem
- docker #k8s #배포하기
- EKS란
- MQ#MOM#메시지지향미들웨어#Kafka#ActiveMQ#rabbitMQ
- Mysql #RDBMS #설치 #기동 #설정
- React #생명주기
- non-locking
- MQM #웹서버
- WEB #HTTP #HTTPS #SSL #통신개념
- JPA#영속성#영속성 컨텍스트#개념
- Vuejs#JavaScript#프레임워크#개요#개념
- 클라우드#클라우드서비스#클라우드개념#IaaS#Paas#Saas
- React
- React#기초#JS#JavaScrip#개념
- 모니터링 #k8s #prometheus #metricbeat #elasticsearch #logstash
- k8s
- JPA #Annotaion
- memory #리눅스 #자원관리
- JAVA#문법#enum#열거형#클래스
- REST#SOAP#API
- Today
- Total
목록전체 글 (60)
개발노트
[JAVA] Java 컬렉션(Collection) 정리 ■ Java Collections Framework(JCF) Java에서 컬렉션(Collection)이란 데이터의 집합, 그룹을 의미하며 JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렌션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 다음은 Java 컬렌션 프레임워크의 상속구조를 나타낸다. Collection 인터페이스는 List, Set, Queue로 크게 3가지 상위 인터페이스로 분류할 수 있다. 그리고 여기에 Map의 경우 Collection 인터페이스를 상속받고 있지 않지만 Collection으로 분류된다. ■ Collection 인터페이스의 특징 인터페이스 구현클래스 특징 Set Hash..
JPA를 사용하는데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것이다. 따라서 매필 어노테이션을 숙지하고 사용해야 한다. JPA는 다양한 매핑 어노테이션을 지원하는데 크게 4가지로 분류할 수 있다. 오른쪽에는 대표 어노테이션들을 적어보았다. 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @Joincolumn 객체와 테이블 매핑, 기본 키 매핑, 필드와 컬럼 매핑에 대해 알아보고 연관관계 매핑은 다음 포스팅에서 이야기해보도록 하겠다. @Entity - @Entity 어노테이션은 데이타베이스의 테이블과 1:1로 매칭되는 객체 단위이며 Entity 객체의 인스턴스 하나가 테이블에서 하나의 레코드 ..
플러시란? - 플러시(flush())는 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영한다. 플러시를 실행하면 구체적으로 다음과 같은 일이 일어난다. 변경 감지가 동작해서 영속성 컨텍스트에 있는 모든 엔티티를 스냅샷과 비교해서 수정된 엔티티를 찾는다. 수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록한다. 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송한다(등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법은 3가지이다. em.clush() 를 직접 호출한다. 트랜잭션 커밋 시 플러시가 자동 호출된다. JPQL 쿼리 실행 시 플러시가 자동 호출된다. * 직접 호출 - 엔티티 매니저의 flush() 메소드를 직접 호출해서 영속성 컨텍스트를 강제로 플러시한다. 테스트나 다..
영속성 컨텍스트(Persistence Context)란? -JPA를 이해하는 데 가장 중요한 용어는 영속성 컨텍스트(persistence context)다. 우리말로 번역하자면 '엔티티를 영구 저장하는 환경' 이라는 뜻이다. - 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. em.persist(member); - 지금까지는 이 코드를 단순히 회원 엔티티를 저장한다고 표현했다. 정확히 이야기하면 persist() 메소드는 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다. - 위 개념은 논리적인 개념에 가깝고 눈에 보이지도 않는다. 영속성 컨텍스트는 엔티티 매니저를 생성할 때 하나 만들어진다. 이는 엔티티 매니저를 통해서 영속성 ..
이번에는 자바의 동등성(equals) 동일성(==)에 대해 알아보자 일단 뭐 부터 해야될지 모르겠다. 간단하게 String 으로 먼저 알아보고 밑에선 hashcode 도 알아보자 우리는 String을 두가지 방법으로 초기화 할 수 있다. 다들 아시다시피 String temp = "hello"; String str = "hello"; String str1 = new String("hello"); 위와 같은 방법으로 가능하다. 그럼 무엇이 다른가. System.out.println(str == temp); System.out.println(str1 == temp); 무엇이 나올까 고민해보자. true? false? 일단 저것을 알기전에 자바에선 기본자료형 참조자료형이 있다. 자세한건 구글링 말그대로 기본자료..
ORM 이란? - ORM(Object-relational mapping : 객체 관계 매핑)이란 - 객체는 객체대로 설계하고, 관계형 데이터베이스(RDB)는 관계형 데이터베이스대로 설계한다. - ORM 프레임워크가 중간에서 매핑해준다. - 대중적인 언어에는 대부분 ORM 기술이 존재한다. - ORM은 객체와 RDB 두 기둥 위에 있는 기술이다. - 자세히 설명하자면 ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해준다. 예를 들어 ORM 프레임워크를 사용하면 객체를 데이터베이스에 저장할 때 INSERT SQL을 직접 작성하는 것이 아니라 객체를 마치 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 된다. 그러면 ORM 프레임워크가 적절한 INSERT SQL을 ..
서버 확장을 위한 두 가지 방법: 스케일 아웃과 스케일 업 서버를 운영하다 보면, 갑작스런 이용자의 증가, 사업 확장 등의 이유로 더 많은 서버 용량과 성능이 필요하게 됩니다. 이럴 때에는 ‘스케일 아웃’과 ‘스케일 업’, 두 가지 방법으로 시스템을 확장시킬 수 있습니다. 1) 스케일 아웃(Scale-out) ‘스케일 아웃’이란 서버를 여러 대 추가하여 시스템을 확장하는 방법입니다. 예를 들어, ‘1’의 처리 능력을 가진 서버에 동일한 서버 4대를 더 추가하여, 총 ‘5’의 처리 능력을 만드는 것입니다. 서버가 여러 대가 되기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 ‘로드밸런싱’이 필수적으로 동반되어야 합니다. 스케일 아웃의 경우, 서버 한 대가 장애로 다운되더라도 다른 서버로 서비스 제공이 가..
Prometheus 란 무엇인가? - Prometheus 는 현재 Kubernetes 상에서 가장 많이 사용하는 오픈 소스 기반 모니터링 시스템이다. - CNCF 에 소속되어 있으며, Kubernetes 클러스터 및 Docker 컨테이너들를 손쉽게 모니터링 가능하다. - 간단한 텍스트 형식으로 메트릭을 쉽게 노출 가능하며, 데이터 모델은 key-value 형태로 레이블을 집계한 후 , Grafana같은 대시 보드 시스템에서 그래프로 쉽고 간단하게 Dashboard 를 만들 수 있다. - 또한 이해하기 쉬운 PromQL 쿼리 언어를 사용하여 간단하게 경고와 Ruleset을 정의 가능하다. - 위 내용은 예를들어 위와같은 클라우드 환경의 인프라 서비스가 동작중일때 한곳에서 발생한 에러가 종속된 다른 서비스에..