일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker mysql
- 미국 배당주
- Vue 알아보기
- 미국주식
- MYSQL
- apache log4j
- 구글 애드센스 수익
- IntelliJ
- 애드센스 수익
- Vue 강의
- AES256
- python
- Spring Batch
- python 기초
- Spring Batch 강의
- 젠킨스
- 도커
- Vue 배우기
- spring boot 시작
- spring Annotation
- Python 기본편
- intelliJ plugin
- Spring
- scrapy
- gradle
- docker
- JDK1.3
- 티스토리 광고 수익
- docker 명령어
- Vue
목록IT/JAVA (21)
나만의공간
Stream을 만드는 다양한 방법이 있습니다. 신규로 생성된 Stream 객체는 원 Stream 객체를 수정하지 않으므로 단일 소스에서 여러 Stream 객체를 생성할 수 있습니다. 빈 Stream 객체 생성 빈값이 존재하는 Stream 객체를 생성합니다. package jpabook.jpashop.stream; import java.util.stream.Stream; public class StreamEmpty { public static void main(String[] args) { Stream streamEmpty = Stream.empty(); if (streamEmpty == null || streamEmpty.count()==0) { System.out.println("Stream 객체는 값..
자바 Stream에 기본사용법에 대한 설명을 진행하였고, 이제는 Stream에서 제공하는 기본적인 Operations 종류들에 대해서 알아보고자 합니다. Stream에는 유용한 기능들이 많이 제공됩니다. count() & distinct() count(): Stream 객체의 요소 개수를 반환합니다. distinct(): Stream 객체의 중복을 제거한 새로운 Stream을 반환 합니다. 중복이 제거한 후에 반환된 Stream은 새로운 객체가 됩니다. package jpabook.jpashop.stream; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream..
Stream은 Java 8에서 신규로 추가된 메이져 기능 중 하나로 java.util.stream 클래스에 포함되어 있는 기능입니다. Stream은 다양한 요소에서 생성이 될수 있는데 stream() 과 of() 메서드를 사용하여 컬렉션 또는 배열을 생성하게 됩니다. Stream 기본 형태 import java.util.Arrays; import java.util.stream.Stream; public class StreamSample { public static void main(String[] args) { streamSample1(); } public static void streamSample1() { // 배열 Stream 객체 변환 String[] array = new String[]{"a",..
Spring에서 제공하는 RestFul API 연결방식은 여러개가 존재 하는데 RestTemplate방식을 주로 사용하다 Feign방식을 사용하고 있었습니다. Feign방식에서 WebClient 방식으로 변경을 진행 했었는데 진행도중 알수 없는 오류가 발생하여 발생 원인을 해결하고자 많은 시행 착오를 거치게 되었는데 WebClient방식을 사용할때는 상대편 서버 환경을 고려 하여 변경이 필요하거나, 이슈가 안되도록 사전에 설정값을 잘 작성해야 합니다. WebClient 오류 현상(Connection prematurely closed BEFORE response 에러 대응) WebClient 방식으로 변경한 후 평상시 잘 통신이 되는데 어느정도 시간이 지나면 아래와 같은 메시지가 나오구 해당 요청건은 오류..
자바로 개발을 하다 보면 CheckedException 과 unCheckedException에 대한 이야기가 나오구 해당 Exception으로 인하여 트랜잭션 관리와도 연결되게 됩니다. 위 두개의 Exception용어가 어떤 차이가 있는지 정리를 했습니다. Checked Exception (확인된 예외) Checked Exception은 컴파일러가 예외 처리를 강제하는 예외입니다. 이 예외들은 주로 외부 리소스나 외부 시스템과의 상호 작용 시 발생할 수 있습니다. 메서드가 Checked Exception을 발생시키면 해당 메서드를 호출한 곳에서 예외를 처리해야 합니다. 이는 예외를 try-catch 블록으로 처리하거나, throws 절을 통해 예외를 호출자에게 전파하여 처리할 수 있습니다. Checked..
자바 코딩 컨벤션을 적용한 후에는, 컨벤션이 잘 적용되었는지 확인해야 하는데, 이를 일일이 사람이 확인하는 것에는 한계가 있습니다. 그래서 CheckStyle 플러그인과 네이버 코딩 컨벤션의 체크 규칙을 사용하면, 자동으로 컨벤션 검사를 할 수 있어요. 이 기능을 사용하면, 코딩이 끝난 후에도 컨벤션을 쉽게 확인할 수 있습니다. 따라서, 이 기능을 활용하면 코딩의 효율성을 높일 수 있을 뿐만 아니라, 컨벤션을 준수하는 좋은 습관을 기를 수도 있습니다. CheckStyle Plugin 다운로드 Intellij 에서 CheckStyle을 다운로드 받습니다. 다운로드가 완료되면, 네이버에서 제공하는 CheckStyle 체크 관련 정보를 설정해야 합니다. 이를 위해 네이버 코딩컨벤션 적용 가이드를 참고하실 수 ..
코딩 컨벤션은 왜 적용할까? 코딩 컨벤션은 어느 누구나 코드를 읽기 쉽고 관리하기 쉬운 규약을 따르는 것입니다. 여러 사람이 작업할 경우 일관성 있는 코드 작성을 유지할 수 있어 가독성을 높이는 데 필수적입니다. 또한, 신규 인력이 들어올 경우에도 더 빠르게 적응할 수 있습니다. 코딩 컨벤션은 서로 간의 약속입니다. 다양한 방식으로 적용할 수 있지만, 구두나 문서로만 정의하면 잊혀지거나 잘못 적용될 수 있습니다. 따라서, 네이버나 구글과 같은 대기업에서 사용하는 개발 도구에 적용 가능한 가이드를 사용하는 것이 좋습니다. 저는 네이버에서 사용하는 캠퍼스 핵데이 적용 방법을 써 볼 예정입니다. 코딩 컨벤션은 코드 작성 시 일관성을 유지하고, 가독성을 높이며, 버그를 예방하고, 코드의 효율성을 개선하는 데 도..
자바로 프로젝트를 진행하면 프로젝트마다 자바 버전이 달라, 로컬환경에 다양한 자바 버전을 설치 하게 됩니다. 이때 내 로컬에 어떤 버전이 설치 되어 있고, 맥북 M1에 맞는 JDK가 설치 되어 있는지 확인이 필요합니다. Java Install List cd /usr/libexec ./java_home -V 위와 같이 로컬에 설치된 JDK 리스트를 볼 수 있습니다. 맥 M1을 사용하고 계시다면 arm64 버전에 JDK를 설치 하시기를 권장 드립니다. Java Version별 경로 노출 echo $(/usr/libexec/java_home -F -v11) 로컬에 설치 된 JDK11에 대한 경로를 출력해서 알려준다.
JWT(Json Web Token)의 약자로 전자서명된 URL-safe의 Json 입니다. 전자 서명은 Json의 변조를 체크 할 수 있게 되어 있습니다. JWT는 속성정보를 Json 데이터 구조로 표현한 토큰으로 RFC7519 표준입니다. JWT는 서버와 클라이언트 간 정보를 주고 받을 때 Http 리퀘스트 헤더에 Json 토큰을 넣은 후 서버는 별도의 인증 과정없이 헤더에 포함 되어 있는 JWT정보를 통해 인증합니다. 이떄 사용되는 Json 데이터는 URL-Safe 하도록 URL에 포함할 수 있는 문자만으로 만듭니다. JWT는 HMAC 알고리즘을 사용하여 비밀키 또는 RSA를 이용한 Pubilc Key / Private Key 쌍으로 서명할 수 있습니다. JWT와 관련된 표준인 JWS와 JWE란 JW..
개발을 하다가 보면 .class파일만 존재하고 .java 소스 파일이 없는 경우가 존재 합니다. 예전에는 jad라는 별도 프로그램으로 .class파일을 디컴파일해서 보고 했는데 Eclipse에서 제공하는 Plugin을 추가 하면 간단히 디컴파일 해서 볼 수 있습니다. Decompiler PlugIn 설치 (Enhanced Class Decompiler 3.2.2) -. Eclipse MarketPlace에서 Enhanced Class Decompiler를 찾아서 설치 합니다. -. 설치가 완료되면 STS를 재부팅 하게 됩니다. Decompiler 대상 파일 설정 -. 디컴파일을 할 파일 확장자들에 대한 Tools을 변경합니다. -. Preferences -> General -> Editors -> Fi..