일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker-compose
- grafana
- Airflow
- ChannelPipeline
- Netty
- mybatis
- vue.js
- redis
- RabbitMQ
- QueryDSL
- docker
- coalesce
- Docker Compose
- spring boot
- WebLogic
- weblogic 10
- argo cd
- spring cloud
- netflix oss
- Selenium
- Redis Sentinel
- MySQL
- spring boot redis
- Hibernate
- Spring Open Feign
- cassandra
- JPA
- KAFKA
- docker compose mysql
- jmeter
- Today
- Total
목록JAVA (64)
IT.FARMER
## java keytool SSL 사설 인증서 ### example 1 1. keystore 생성 > keytool -genkey -alias skan_https_ssl -keypass password1234!!! -storepass password1234!!! -storetype PKCS12 -keyalg RSA -keystore d:\data\https_ssl\.keystore 2. keystore 생성 후 *.cer 내보내기 (cer생성) > keytool -export -alias skan_https_ssl -storepass password1234!!! -file d:\data\https_ssl\server.cer -keystore d:\data\https_ssl\.keystore 3. 인증서..
BlockingQueue Method 2021/01/15 - [JAVA] - ArrayBlockingQueue 요소를 검샐할때 큐가 비어 잇지 않을때 까지 대기하는 작업을 추가로 지원하고 요소를 저장할때 큐에서 공간을 사용할수있을때 가지 대기한다. BlockingQueue는 Queue interface 를 상속 받고 있있다. 연산처리시 다음 네가지 방법으로 제공된다. 하나, 예외를 발생시킨다. 둘 , 특수값 null 또는 false 를 반환한다. 셋, 작업이 성공할때 까지 무기한 차단. 넷, 작업을 포기 하기전에 주어진 최대 시간만 제한 차단. -------------------------------------------------------------------------------- | Throws ..
## 예외란 오류와 예외의 개념 오류는 시스템이 비 정상적인 상황이 생겼을대 발생된다.이는 시스템 레벨에서 발생된 것으로 심각한 수준의 오류이며, 개발자가 미리 예측 할수 없는 부분으로 애플리케이션단에서의 오류에 대한 처리를 신경 쓰지 않아도 된다. 오류가 시스템레벨에서 발생되면 예외는 개발자가 구현한 로직에서 발생된다. 즉 예외 상황을 예측하여 처리 할 수 있다. 예외란 개발자가 처리할수 있기때문에 예외를 구분하고 그에 따른 명확한 처리를 알고 적용하는 것이 중요하다. 모든 예외 클레스는 Thowable을 상속 받고 있다. Throwable 을 상속 받는 클레스는 Error 와 Exception 이다. Exceptipn 하위 클레스로 RuntimeException을 살펴보자 RuntimeExceptio..
Mulity Thread 동시 작업을 하기 위한 방법으로 1.5 에서 제공하는 ExecutorService 를 사용한다. 예전엔 Thread를 관리하기 위해 ThreadGroup을 만들고 관리 하는 방법이 복잡하고 어려운점이 있었다. ExecutorService를 이용하면 내부적으로 ThreadPoolExecutor 를 생성한다. (new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue());) threadPoolExecutor 인자 ThreadPoolExecutor(corePoolSize, maximumPoolSize ,keepAliveTime, TimeUnit, BlockingQueue) ..
No validator could be found for constraint 'javax.validation.constraints.Size' validating type 'java.lang.Integer' wrapper Type 의 경우 @NotNull 을 사용 하여야 한다. Null이 올수 있기 때문이다. 이데 @Size와 혼용이 안되고 HV.... Error @Size를 민 맥스로 봤는데, 케릭터셋이나 Connection, Array 객체의 사이즈였다. @Mix, Max 를 이용하여 처리한다. javax.validation.constraints.Size The annotated element size must be between the specified boundaries (included). Sup..
1.병렬처리를 이용한 ExecutorService 사용.2. JavaMail Session 유지3. 발송 1000건 마다 메일 발송 Transport t = session.getTransport(); t.connect(); try { for(Message m : messages) { m.saveChanges(); t.sendMessage(m, m.getAllRecipients()); } } finally { t.close(); } while (mailSize == 1000) {mailSenderService.send(mailMessage);} 좀더 발전시킨다면, 컨슈머와 프로듀서 개념으로 사용하여, 특정 제약 조건을 좀더 명확하게 걸어 주거나,발송건수 제한을 두고, 제한한 데이터 이상의 데이터가 들어왔을..
RFID를 찾아 보다보니 RFID / NFC / Serail 통신이 세가지를 모두 찾아보게 되었다. 생각보다 RFID 스마트카드 종류가 많다는 것에 놀라웠다. 학부시절에 유비쿼터스에 관련된 보고서를 작성하면서 RFID에 대한 내용을 찾아보고 레포트를 작성한 기억이 난다. 이런 시대가 언제 올까하고 생각했는데, 그 시대는 생각보다 빠르게 다가와 있었다. RFID에 읽을 카드로 스마트 가트를 사용했고, 여기에 쓰인 카드는 MIFARE Classic 1k 카드이다. 이카드는 16byte의 0 block ~ 63 block 의 64개의 block으로 구성되어 있다. 이카드의 종류는 카드에 읽힌 ART값을 보고 판단하게 되는데 카드의 종류는 다음과 같이 확인 가능하다. 카드 정보를 확인 하기 위한 방법 ATR =..
우리는 자바를 사용하여 파일 입출력을 사용할때. finally 에 항상 close() 하는 구문을 선언하여 메모리가 엉뚱한데 잡고 있지 않도록 하였다. 이런 기능이 왜 생기지 않았을까 ? 하는 생각이 들때쯤 Web Application Service 를 만들라과제를 하던중에 try catch with resource 라는것을 접하게 되었고, WoW 이런 기능이!! try ( ... ) 안에 선언하여 finally 에서 자원을 닫아주지 않아도 자동으로 해당 자원을 close()시켜준다. 공식 문서 참조 : https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html protected static boolean fileW..
FileInputStream, FileReader InputStreamReader extend Reader : 바이트 단위로 처리FileReader extend InputStreamReader : 바이트를 문자(char)단위로 처리 File NIO 참고https://docs.oracle.com/javase/tutorial/essential/io/file.html 참고 :InputStreamReader , OutputStreamReader 인코딩이 지정가능 하니, 바이트 단위로 처리 하는 것을 사용하길 권장한다.FileReader , FileWriter 는 시스템 기본 인코딩 정보를 불러와서 인코딩한다.