일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Cross-Zone Load Balancing
- jpa
- Application-Based Cookie
- CannotGetJdbcConnectionException
- 슬로우 쿼리
- oracle
- Connection Draining
- Duration-Based Cookie
- reflection API
- querydsl-sql
- 코딩삽질일기
- RequestBody로깅
- afterCompletion
- queryDsl #JPA #hibernate
- UNION 열
- hikari cp
- 스프링
- ChatGPT
- Route53
- superset-oracle
- 자바로그
- 자연변수
- aws
- 람다 캡쳐링
- Routing Policies
- 네트워크 io
- SSR #CSR
- ContentCachingRequestWrapper
- 아파치 드루이드
- ReactAdmin
- Today
- Total
목록알쓸신코 (38)
Forest Gump?
보통 프로젝트를 하다보면 jdbc에 종속된 MyBatis로 쿼리를 짜서 이용했는데, 런타임 오류가 많이나고, 새로운 방법으로 프로젝트 진행을 해보고싶어서 많이 쓰고 있다는 JPA에 대해 스터디를 해보려고 한다. JPA : Java Persistence API 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식 을 정의한 인터페이스 특정 기능을 하는 라이브러리가 아니다. 단지, '관계형 데이터베이스를 어떻게 사용해야 하는지'를 정의하는 한 방법일 뿐이다. 지루하게 반복되는 CRUD 문제를 쉬운 방법으로 해결하기 위한 라이브러리. 스프링 데이터 JPA가 구현 객체를 동적으로 생성해서 주입해만 한다. 그럼 이때 Hibernate가 JPA의 구현체이며, 이는 인터페이스를 직접 구현한 라이브러리를 뜻한다. ..
SSR VS CSR 서버 사이드 템플릿 엔진 VS 클라이언트 사이드 템플릿 엔진 SSR 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 Template에 넣어 Html을 그려서 클라이언트에 전달해주는 역할을 합니다. 즉, HTML 코드에서 고정적으로 사용되는 부분은 템플릿으로 만들어두고 동적으로 생성되는 부분만 템플릿 특정 장소에 끼워넣는 방식으로 동작할 수 있도록 해줍니다. 서버가 클라이언트의 요청을 받습니다. 필요한 데이터(DB에서 가져오거나 API에서 가져오는 데이터)를 가져옵니다. 미리 정의된 Template에 해당 데이터를 적절하게 넣습니다. 서버에서 HTML(데이터가 반영된 Template)을 그립니다. 해당 HTML을 클라이언트에 전달합니다. CSR 클라이언트에서 공통적은 프레임을..
ftp프로토콜에는 모드가 2개 존재하는데, Active Mode 와 Passive Mode 이에 해당한다. 보통 ftp url : 20 port는 데이터를 전송하는데 사용하고, :21 번 port는 접속에 사용된다. 그럼 두가지 모드의 가장 큰 차이점은, Active Mode 의 경우 서버쪽에서 클라이언트의 포트로 접속을 한다는 것이고, Passive Mode의 경우 클라이언트에서 서버쪽으로 접속을 한다는 것이다. 아래에서 좀 더 자세하게 설명을 하겠다. Active Mode 클라이언트에서 서버로 접속하여 제어 채널을 생성하는데, 21 번 tcp 프로토콜로 연결하게 된다. 제어 채널이 생성 시에 데이터 채널이 생성되는데, 데이터를 전송할 때 서버에서 클라이언트로 접속해서 데이터를 보낸다. 만약에 데이터가..
superset oracle DB connection 오류 superset에서 ORACLE DB 접속 시 오류 발생. superset 공식 문서에 나와있는 python -m pip install cx_Oracle --upgrade --user 커맨드로 oracle connection을 하려 하니 아래와 같은 에러가 발생. 원인 :타 DB CONNECTION의 경우 패키지만 설치하면 연동되지만 , 오라클은 패키지(cx_Oracle)만 설치 해서 연결이 되지 않는다! 해결방법 : libaio패키지와 oracle client를 다운받아 환경변수 설정 export LD_LIBRARY_PATH = /opt/oracle/instantclient_11_2:$LD_LIBRARY_PATH 그리고 설치된 오라클 경로(/o..
Apache Superset 이란? 에어비엔비에서 오픈소스로 공개한 개발된 비지니스 인텔리전스 웹 어플리케이션(B.I) . 파이썬으로 개발되었고, 오픈소스라 무료로 사용 가능하다. SQL 편집기를 사용하여 데이터를 분석하고 차트 및 대시보드를 쉽게 작성할 수 있다. 장점 1. 일단 무료다. 타 B.I툴 ( IBM COGNOS, Tableau, Power BI) 등과 비교했을때 무료라는 엄청난 장점이 있다. 2. 다양한 시각화 그래프를 이용해 데이터를 보여줄 수 있다. 3. 거의 대부분의 DB와 연동이 가능하다! 4. DB 연동 후 dataset을 쿼리를 통하여 불러오는데, SQL를 사용할 수 있다. 5. UI 가 직관적이라 어렵지 않게 사용 할 수 있다. 6. 설치가 나름 쉽다. ( docker이용시 g..
이번에 회사 프로젝트 진행중, 효과적인 통계를 위해서 아파치 드루이드를 도입해 보려고 해서 리서치를 해보고 정리를 하려 한다. 현재 통계 페이지에서 대규모 데이터를 조회하여 쿼리문을 날리면, 많은 시간과 DB에 부하가 가기 떄문에 해결 방안을 모색해보다가 드루이드를 찾게 됐다. Apache Druid는 대규모 데이터 세트에 대한 빠른 조각 분석을 위해 설계된 실시간 분석 데이터베이스이다. 자바로 작성되있는 컬럼 지향 오픈 소스, 분산 데이터 스토어라는 특징을 가지고 있다. 하나 재밌는점은, 드루이드란 이름은 우리가 흔히 생각하는 롤플레잉 게임의 변신하는 그 드루이드에서따왔다고 한다. 서로 다른 데이터 문제를 해결 할 수 있도록 변화 할 수 있다는 의미로 채용했다고 한다. 그럼 왜 드루이드를 쓰는가에 대한..
ReactAdmin 라이브러리 사용시 발생한 오류 모음. 1. useState 전달값 이슈 const [status, setStatus] = useState(record && record.note_status); ... return( ... showStatus && (
UNION ALL과 OUTER JOIN의 차이는 , UNION ALL은 행의 합집합으로 나열하고 , OUTER JOIN은 열의 합집합으로 나열하는 차이 이라고 볼 수 있다. 하지만, 실무에서 쓰다 보니 LEFT OUTER JOIN으로 조인을 할 시, 기준이 되는 테이블의 데이터가 없으면 NULL로 처리되는 경우가 생겨서 다른 방법이 없나 생각을 해봤다. 그러다가 UNION ALL 을 이용해 행의 합집합이 아닌, 열의 합집합으로 붙이는 방법을 찾아내서 공유해본다. 예를들어 A란 테이블에서 A1,A2의 값을 날짜 기준으로 SELECT 하면 QUERY는 왼쪽과 같고 결과값은 우측과 같다. 여기서 같은 방식으로, B란 테이블에서 B3의 값을 날짜 기준으로 SELECT 한다면 다음과 같을것이다. 그럼 여기서, 둘..
Log4j(Log for Java) 특징 1. 구조 ①Logger(Category) : Log4J 에서 지원하는 핵심 클래스로서, 로깅이 일어나는 부분을 그룹화해, 필요한 그룹의 로그만을 출력하거나, 카테고리에 우선순위를 부여함으로써, 여러가지 출력 방법을 지원한다. 실제 로그 기능을 수행하는 역할을 담당한다. ②Appender : 로그의 출력 위치를 지정한다. Appender로 설정 가능한 출력은 콘솔, 파일, OutputStream, java.io.Writer, Email(SMTP), Network 등이 있다. ConsoleAppender : 콘솔에 로그 메시지를 출력한다. FileAppender : 파일에 로그 메시지를 출력한다. RollingFileAppender : 로그의 크기가 지정한 용량 이..
무선 네트워크 망을 구성할때 기본적으로 필요한 요소들이 있다. EX) - DHCP 를 이용하여 자동으로 IP 를 할당 - IP 대역: 192.168.xxx.xxx - Gateway: 192.168.xxx.xxx - Subnet mask: 255.255.255.0 - WiFi SSID: 와이파이 이름 - Security: WPA2 PSK - Password: 비밀번호 이러한 설정이 있을떄, 오늘은 그냥 넘어가봤던 용어들에 대한 간략한 내용정리를 하려한다. 기본 게이트웨이( Default Gateway) - 기본 게이트웨이란, 자신이 보내려는 패킷을 어디로 보내야 할지 모를때 디폴트로 보내는 장소이다. 라우팅(Routing) -라우팅이랑, 라우터로 패킷을 전송하는 것을 뜻한다. -패킷을 전송할때 라우터의 전..