일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java file download for url
- java file download for path
- spring
- spring file download for url
- JavaScript
- java8
- spring boot
- 리눅스
- jvm
- docker 설치
- docker
- k6 gui
- MySQL
- spring file download for path
- java 버전별
- memcached
- React
- 그라파나 설치
- grafana windows
- grafana local
- CentOS6
- java9
- SpringBoot
- grafana 설치
- k6 granafa influxdb
- Java21
- url 파일 다운로드
- windows grafana 설치
- Java
- 도커
- Today
- Total
목록분류 전체보기 (285)
개발자의 길
java 든 spring 이든 파일 다운로드를 바로 시키는 경우가 아닌, pk값을 가지고 db에서 파일 정보를 조회해 와서 다운로드 시키는 방식을 많이 사용한다. 이럴 경우 2가지 케이스가 존재한다. 1. 실제 파일 경로 ex) - /home/my/test.png - C:\Desktop\test.zip 2. url 경로 - http://test.test.com/test.png - https://test.test.com/aaa.zip 실제 파일이 저장된 경로를 가지고 있든, 브라우저에서 호출되는 url 경로를 가지고 있는 2가지 이다. 2가지 케이스에 대한 예제를 남긴다. 1번 케이스 (file path) - FileDownloadResponse.java package com.test.common.resp..
타임리프에서는 효율적인 오브젝트 사용을 위해 기본적인 오브젝트 유틸리티를 제공하고 있다. 타임리프의 기본 제공 유틸리티 함수는 다음과 같다. #numbers #strings #arrays #lists #sets #maps #objects #bools #dates #calendars #uris #messages #conversions #aggregates #ids 다음 중 자주 사용하는 주요 함수만 정리하도록 하겠다. numbers 종류 설명 ${#numbers.formatInteger(num,3)} ${#numbers.arrayFormatInteger(numArray,3)} ${#numbers.listFormatInteger(numList,3)} ${#numbers.setFormatInteger(numS..
어떤 자바 버전을 사용해야 할까? 최신 Java 버전은 이제 6개월마다 따른다. 수많은 새로운 버전이 출시됨에 따라 기본적으로 다음과 같은 사용 시나리오가 존재 기업의 기존 프로젝트에서는 Java 8을 사용해야 하는 경우가 많음 일부 레거시 프로젝트는 Java 1.5(2004년 출시) 또는 1.6(2006년 출시)에서 중단되기도 함 최신 IDE, 프레임워크 및 빌드 도구를 사용하고 그린 필드 프로젝트를 시작하는 경우 Java 11(LTS) 또는 최신 Java 17 LTS를 망설임 없이 사용할 수 있다. 안드로이드 개발의 특별한 분야가 있는데, 자바 버전은 기본적으로 자바 7에 고정되어 있고, 특정한 자바 8 기능들을 이용할 수 있다. 또는 코틀린 프로그래밍 언어를 사용하는 것으로 전환 특정 자바 버전을 ..
k6, grafana, influxdb가 모두 window에 테스트 용으로 설치 되어 있고, 기본 디폴트 설정이 되어있으며, 디폴트 포트로 띄워져 있다는 가정하에 시작하겠습니다. grafana를 접속해보자 http://localhost:3000 name은 마음대로 지정하고, HTTP url 에는 이미 띄워놓은 influxDB 호스트를 적는다 *) 사실 influxdb 2.x 버전으로 하였으면, Query Language를 Flux로 선택해야하고, influxdb 2.x 버전부터는 gui를 제공해주기 때문에, influxdb 먼저 접속해서 셋팅하여서, Organiztion, Default Bucket, Token 를 먼저 구해 놓아야 한다. 우리는 window 셋팅으로 하는 중이라 influxdb 1.x ..
그라파나(Grafana)란? 그라파나는 오픈소스 메트릭 데이터 시각화 도구로 메트릭 분석 플랫폼을 지향하고 있습니다. Torkel Ödegaard의 주도로 2014년 처음 릴리스되었으며, 처음에는 그라파이트(Graphite), 인플럭스DB(InfluxDB), 오픈TSDB(OpenTSDB) 등을 지원하는 오픈소스 대시보드 도구로 개발되었습니다. 메트릭 정보를 시각화하고 대시보드를 구성한다는 큰 틀은 여전히 변함이 없습니다만, AWS 클라우드와치(AWS CloudWatch), 애저 모니터(Azure Monitor)와 같은 클라우드 데이터 소스를 비롯해 로키(Loki)나 엘라스틱서치(ElasticSearch) 등을 기반으로 로그 데이터를 지원하는 등 더 많은 데이터 소스를 지원하고 있습니다. 또한 엔터프라이즈..
– InfluxDB 특징 하나의 데이터 포인트마다 timestamp를 식별자로 가짐 (시간 데이터에 최적화) CR(ud) DB : 시계열 데이터를 저장하고 조회하는데 최적화된 DB, 수정 삭제 가능하나 권장 안함 RESTful API 제공 Schemaless Design : 따로 테이블 생성 과정 필요 없음 중복 데이터 자동 인식 저장 데이터 보존 주기 (RP) 설정 가능' RDBMS 와 InfluxDB 용어 비교 RDBMS InfluxDB Database Bucket Table Measurement Indexed Column Tag Key InIndexed Column Field Key – InfluxDB 데이터 구조 Line Protocal 구조 InfluxDB는 데이터 한 줄이 하나의 Point를 ..
설치 사이트 : https://k6.io/docs/get-started/installation/ Installation k6 has packages for Linux, Mac, and Windows. As alternatives, you can also using a Docker container or a standalone binary. k6.io 설치 이후 terminal 에서 확인 k6에서 간단히 부하 테스트를 위한 url 을 제공해준다. https://test.k6.io 간단한 스크립트 생성 script.js import http from 'k6/http'; import { sleep } from 'k6'; export const options = { vus: 10, duration: '30s',..
MailSender 인터페이스를 상속받은 JavaMailSender를 이용하는 이메일 전송 시스템 build.gradle 디펜던시 추가 implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vin..
업무를 하다보니, 한개 프로젝트에 다중의 db를 연결 할 일이 많다. 대부분의 구글링을 찾다보면, 가장 자주 보이는 예제가 Transactional(readonly=true) 같은 어노테이션으로 master/slave를 나눠서 쓰는 예제가 많이 보인다... 근대 나는 사실 트랜잭션과 상관없이, 다중의 db를 쓰고 싶고.. 3개 이상의 다른 connection db 를 사용하고 싶었다.. 고민에 고민을 거듭하고, 검색에 검색을 하여서.. custom annotation을 따로 만들어서, 해당 값을 AbstractRoutingDataSource에 determineCurrentLookupKey() 에서 값을 받아 오면 될거 같았다 기본 springboot 셋팅은 했다 치고.. application.yml sp..
spring security 의 설정중에 중복 로그인을 막는 설정이 있다. 찾아보면, sessionManagement maximumSessions maxSessionsPreventsLogin expiredUrl sessionRegistry 뭐 이런 설정을 하라고 나와있을 거다. 그런데, 설정 하라는대로 다 했는데 안되면 막막하다. 우리가 로그인쪽에 셋팅한 부분에서 implements UserDetailsService 를 설정한 파일에 @Override public UserDetails loadUserByUsername(String loginId) throws UsernameNotFoundException { return ~~~ } 이런 소스가 있을거다. 기본적으로 springsecurity는 유저 정보를..