일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring file download for url
- spring
- java8
- grafana windows
- Java21
- 리눅스
- spring boot
- spring file download for path
- memcached
- java 버전별
- SpringBoot
- k6 gui
- CentOS6
- windows grafana 설치
- java file download for url
- JavaScript
- React
- 그라파나 설치
- k6 granafa influxdb
- java9
- MySQL
- grafana local
- docker 설치
- jvm
- docker
- url 파일 다운로드
- 도커
- java file download for path
- grafana 설치
- Java
- Today
- Total
목록4. JAVA (73)
개발자의 길
은근 자주 쓰는데, 할때 마다 헷갈리고, 찾아본다.. public void readUrlFile(String url) { StringBuffer sb = new StringBuffer(); BufferedReader in = null; try { in = new BufferedReader(new InputStreamReader(new URL(url).openStream())); String inputLine; while((inputLine = in.readLine()) != null) { sb.append(inputLine+"\n"); } in.close(); } catch (Exception e) { System.out.println("error:"+e.getMessage()); } finally { ..
Annotation(@)은 사전적 의미로는 주석이라는 뜻이다. 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. meta data : 데이터를 위한 데이터) 다음은 어노테이션의 용도를 나타낸 것이다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 실행시(런타임시)특정 기능을 실행하도록 정보를 제공한다. 기본적으로 어노테이션을 사용하는 순서는 다음과 같다. 어노테이션을 정의한다. 클래스에 어노테이션을 배치한다. 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를..
swagger-ui를 적용하면 아주 편하고 좋다. 하지만, 이건 개발서버에서만 노출해야 하고, real(prod)에서는 비노출 하는게 맞다. 환경(phaze) 별로 활성/비활성 하는 방법을 3가지 적겠다. 셋중 하나를 적용하면 된다. 1. 설정파일(application) 설정 application.properties 파일 설정의 경우 [prod 설정 (application-prod.properties)] -> springfox.documentation.enabled=false [dev 설정 (application-dev.properties)] -> springfox.documentation.enabled=true application.yml 파일 설정의 경우 [prod 설정] springfox: docu..
JPA에서 현재까지 사용했던 검색은 아래와 같다. 식별자로 조회 EntityManager.find() 객체 그래프 탐색 e.g. a.getB().getC() 하지만 현실적으로 이 기능만으로 어플리케이션을 개발하기에는 무리이다. 그렇다고 모든 엔티티를 메모리에 올려두고 어플리케이션 내에서 필터하는 것은 현실성이 없는 소리이다. 즉, 데이터베이스에서 필터해서 조회해올 무언가가 필요하고, 그게 객체지향 쿼리 언어(JPQL)이다. JPQL은 엔티티 객체를 조회하는 객체지향 쿼리 언어이다. 문법은 SQL과 비슷한데, 실제론 SQL을 추상화 한것이기 때문에 특정 데이터베이스에 의존하지 않는 특징이 있다. SQL과 비슷하게 SELECT, UPDATE, DELETE 문을 사용할 수 있다. (참고로 엔티티 저장은 그냥 ..
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectTest { public static void main(String[] args) throws ClassNotFoundException { // 클래스 정보를 가져온다. Class cls = Class.forName("ReflectCls"); // 가지고 있는 멤버 변수를 출력해보자. public 멤버 변수만 가져온다. Field[] fields = cls.getFields(); for( Field field : fields ){ System.out.println..
정규표현식(Regular Expression)이란 컴퓨터 과학의 정규언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어 입니다. 개발을 하다보면 전화번호, 주민등록번호, 이메일등과 같이 정해져있는 형식이 있고 사용자가 그 형식대로 제대로 입력했는지 검증을 해야하는 경우가 종종 있습니다. 이런 입력값을 정해진 형식에 맞는지 검증해야 할 때에는 정규표현식을 사용하면 쉽게 구현할 수 있습니다. 자주 사용하는 정규 표현식 정규 표현식 설명 ^[0-9]*$ 숫자 ^[a-zA-Z]*$ 영문자 ^[가-힣]*$ 한글 \\w+@\\w+\\.\\w+(\\.\\w+)? E-Mail ^\d{2,3}-\d{3,4}-\d{4}$ 전화번호 ^01(?:0|1|[6-9])-(?:\d{3}|\d{..
import java.util.*; public static int[] mergeDupl(int[] a, int[] b){ HashSet sumVal = new HashSet(); for(int val : a){ sumVal.add(val); } for(int val : b){ sumVal.add(val); } int[] c= new int[sumVal.size()]; int idx =0; for(int val: sumVal){ c[idx]=val; idx++; } return c; } 합치기만 하고 싶으면, HashSet 대신에 그냥 HashMap 으로 하면 된다. Set 객체가 중복 제거 할때 많이 쓰는데, 보통 쓰는게 HashSet : 순서 보장 안함 LinkedHashSet : 들어간 순서로 저장..
지도에서 최대 값과 키를 연결하는 가장 쉬운 방법은 무엇입니까?최대 값에 해당하는 키를 원할 때 Collections.max (someMap)이 최대 키를 반환한다고 생각합니다.기본적으로 "현재 알려진 최대 값"과 연관된 키를 모두 기억하면서 맵의 항목 세트를 반복해야합니다. (또는 물론 둘 다 포함하는 항목입니다.)예를 들면 다음과 같습니다. Map.Entry maxEntry = null; for (Map.Entry entry : map.entrySet()) { if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0) { maxEntry = entry; } } 완전성을 위해 여기에 java8 방법이 있습니다. countMa..
맨날 헷갈린다. package com.tistory.jang8584; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapIterationSample { public static void main(String[] agrs) { Map map = new HashMap(); map.put("키1", "값1"); map.put("키2", "값2"); map.put("키3", "값3"); map.put("키4", "값4"); map.put("키5", "값5"); map.put("키6", "값6"); // 방법1 Iterator keys = map.keySet().iterator(); while( key..
File -> Settings 들어가서 Build, Execution, Deployment -> Compiler 메뉴 Build project automatically 체크!! 그리고, Ctrl+Shift+a ( mac에서는 Cmd+Shift+a) 누르면 Action쪽 검색창이 열린다 Registry... 검색해서 선택 하면 창이 하나 열린다 그중에 compiler.automake.alllow.when.app.running 기능을 킨다!! 끝