본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

IT기술/개발툴15

[IntelliJ] openJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 해결방법 OpenJDK 사용하다가 경고문구를 발견했습니다. openJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended openjdk에서 클래스 로딩 시 Class Data Sharing(CDS) 기능을 사용하면 발생합니다. 오류는 경고 메시지이며, 어플리케이션에 직접적인 영향을 주지는 않습니다. 저는openjdk-17버전을 사용중에 이런 문구를 확인했습니다. 문구를 없애려면 다음과 같은 방법이 있습니다. 1. -Xshare:off 옵션을 사용하여 CDS 비활성화 2. 클래스 로딩 전에 CDS를 직접 사용하여 미리 클래스 정보 공유파일을 생성하.. 2024. 3. 3.
[IntelliJ] 인텔리j 초기 설정 방법 IntelliJ를 사용하면서 초기에 설정하면 좋은 세팅을 정리해보려 합니다. 꽤 늦은것 같지만... 지금이라도 알고 있는 내용을 정리하는게 좋을거 같다고 생각되어 정리하려합니다. 플러그인 추천은 다음 포스팅을 참고해보셔도 좋을 것 같습니다. https://teck10.tistory.com/222 IntelliJ 플러그인 추천 인텔리제이로 개발하다보니 플러그인일 추가로 설치해야 하는 경우가 있었다. 피씨 여러군데에 옮겨다니며 개발하다보니 플러그인 설치 목록을 정리해보려한다. - IntelliJ 에서 플러그인이란? onpups.pe.kr 1. Auto Import 설정 Auto Import 설정시 아래 두 체크를 해줍니다. - add unambiguous imports on the fly 자동 import옵.. 2024. 2. 11.
[VsCode] 단축키 사용자 지정, 유용한 단축키 정리 1. 설정에 들어가서 바로 가기 키 확인 2. 유용한 단축키 확인 - 위에 커서 추가 : ctrl + alt + upArrow - 아래 커서 추가 : ctrl + alt + downArrow - 위에 줄 복사 : shift + alt + upArrow - 아래 줄 복사 : shift + alt + downArrow - 줄 주석(//)설정 : ctrl + / - 내용으로 파일별 검색 : ctrl + shift + f - 열린 파일에서 문자검색 : ctrl + f - 파일 저장 : ctrl + s 3. 파일 자동저장 설정 2024. 1. 26.
[IntelliJ] 한글 깨짐, unmappable character (0xec) for encoding x-windows-949 에러 해결하기 IntelliJ에서 작업하다가 초기에 이런 에러를 만난 적이 있습니다. 해당 위치의 주석이 문제된다고 에러가 뜨는 것인데, 주석이 에러라는게 이해되질 않아서 원인을 찾아봤습니다. Setting > Editor > File Encodings 의 세팅 영역에 인코딩이 x-windows-949로 되어있어 그런 것이었고, UTF-8로 바꿔줬습니다. 로그에서 에러가 나는 부분은 해결되었습니다. 그러나 테스트결과에서도 새로운 한글 깨짐이 발생합니다. 여기서 사용된 프로젝트는 Gradle 기반 프로젝트입니다. Gradle로 rebuild Project를 해봐도 해결되지 않았습니다. IntelliJ에서 생성한 Gradle 기반 프로젝트로 8.4버전을 사용하고 있는데, 버전을 바꾸더라도 한글깨짐이 계속 생겼습니다. 원인.. 2024. 1. 8.
[IntelliJ] 우클릭 new 에서 java class 사라졌을 때. 프로젝트 폴더에 우클릭 -> New -> Java Class 가 보이지 않을 때 원인 찾기 사진처럼 디렉토리 생성 후 우클릭 눌럿을 때 class 가 보이지 않고 엉뚱한게 보인다... 이런식으로 디렉토리가 있는데도 그런데,, 희안해서 패키지를 새로 만들어봤다. ddd라는 패키지인데, 여기선 또 class 생성 버튼이 나온다. 패키지가 이상하게 만들어져서 그런 것 같은데,, 해결방법은 패키지를 새로 만들거나 이름을 바꾸면 해결된다. 내 경우는 패키지 이름이 abstract 이다보니 규칙에 걸려 그런 것으로 보인다. abstracts 로 바꾸니 해결되었다. (공부용이다보니, 이름을 너무 직관적으로 해서 이런 오류가 난 것 같다.) 빠르게 감지해서 패키지를 다시 생성하거나 이름을 바꾸는게 좋아보인다. 오류라서.. 2024. 1. 6.
Punycode 란 무엇입니까?(퓨니코드) Punycode는 IDN (Internationalized Domain Name)에 사용되는 문자열 변환 알고리즘 기술을 나타냅니다. 기존 DNS에 사용 가능한 문자가 제한되어 있으므로 Punycode는 호환성을 위해 사용됩니다. Punycode로 변환 된 도메인 이름 앞에는 'xn--'이 붙습니다. (예 : 변환 전) : ���b�R.tools-> 변환 후 (Punycode) : xn--tck5a9g.tools 텍스트는 변환 전후에 다르지만 동일한 URL입니다. * IDN (Internationalized Domain Name)이란 무엇입니까? IDN은 기존 도메인 이름에 사용되는 다양한 영숫자가 아닌 문자로 표현되는 도메인 이름을 나타냅니다. 사용자 친화적 인 다국어 문자열은 DNS와의 통신에 사용되.. 2023. 7. 4.
[Camel] THROTTLE 사용하기 camel에선 throttle이라는 옵션을 제공한다. 유량제어를 위해 사용하는 옵션인데, 유량제어가 없다면, endpoint, 즉 받는 곳에서 처리량 이상으로 입력을 받아 부하가 걸리는 경우가 있다. endpoint측에서 받을 수 있는 스펙에 한계가 있기 때문에, 보내는 측에서 유량 제어를 걸어 전송되는 속도를 조절하는 것이다. 이를 throttle 이라는 옵션으로 쉽게 제공한다. 1. 10초에 3개 메시지로 전송 from("seda:a") .throttle(3).timePeriodMillis(10000) .to("mock:result"); 3 2. 1초(기본값)에 50개 메시지로 전송 from("seda:a") .throttle(50) .to("seda:b"); 50 3. 정해진 값 이상 들어오면 에러.. 2023. 7. 4.
[이클립스] lombok 인식 안되는 이유 이클립스로 개발하는데 빌드 툴에서 dependency로 lombok을 불러올 수 있습니다. lombok을 빌드해서 실행하는데 문제는 없지만, IDE에서 lombok 인식을 못하는 에러가 발생합니다. 그럴땐 IDE에 lombok을 직접 추가해줘야 하는데, 다음 사이트에서 lombok을 다운로드 받아줍니다. https://projectlombok.org/ Project Lombok projectlombok.org 다운로드 받은 뒤 실행하면, eclipse 가 설치된 경로를 찾아준다. 뒤에 Install / Update 를 누르면 설치가 완료되며, 프로젝트를 열 고 나서 rebuild를 해주면 됩니다. 그 뒤엔 lombok이 인식 잘 되었습니다. 혹시 안된다면 댓글 남겨주길 바랍니다. 도움드릴 수 있으니. 2023. 6. 13.
[OpenShift] redhat 에서 밀고있는 솔루션 OpenShift, 통합 관리 프레임워크. redhat에서 개발과 시스템 통합, 운영, 관리, 배포를 쉽게 할 수 있도록 여러 사양과 솔루션들의 호환을 제공하는 소프트웨어를 출시했습니다. 큰 기업에선 여럿 사용하고 있다고 하는 OpenShift에 대해 간단히 정리해두려 합니다. OpenShift란? 도커(Docker)와 쿠버네티스(Kubernetes)를 제공하는 컨테이너 애플리케이션 플랫폼 PaaS 솔루션으로 Infra와 software를 쉽게 제공해줌 enterprise-grade의 다양한 부가 기능이 추가되어, Web-UI, 소스 빌드 자동화, 라우터 등을 사용 가능하도록 제공 57개 이상의 프로젝트 템플릿을 제공하여 즉시 Docker용 애플리케이션을 빌드하여 실행 가능 일반적으로 PaaS 서비스는 잘 나오기 힘듭니다. 입맛에 맞는 비즈니스 .. 2023. 5. 26.
jattach, java heap dump 뜨기 https://github.com/jattach/jattach GitHub - jattach/jattach: JVM Dynamic Attach utility JVM Dynamic Attach utility. Contribute to jattach/jattach development by creating an account on GitHub. github.com 해당 사이트에서 jattach 파일로 실행중인 process의 pid를 이용해 heap dump를 딸 수 있습니다. 덤프를 따서 메모리를 분석해 얼마나 메모리를 잡아먹는지 파악하고 성능 개선이나 인프라 용량 잡을때 사용됩니다. 메모리 누수를 잡을때도 사용할 수 있습니다. 2023. 5. 26.
파일질라 오류 - queue.sqlite3 전송 대기열 로딩 오류 파일질라를 새로운 버전으로 업데이트하면 다음과 같은 에러가 뜨곤 합니다. "전송 대기열을 로딩하는 동안 오류가 발생했습니다. 일부 대기열 항목이 복원되지 않았을 수 있습니다." sqlite3 관련 에러로 확인됩니다. 파일질라에서 이런 툴도 같이 제공하나봅니다. 윈도우 탐색기를 열어 C:\Users\computer\AppData\Roaming\FileZilla 경로를 살펴보면, queue.sqlite3 파일이 있습니다만, 업데이트된 날짜가 한참 이전으로 확인되었습니다. queue.sqlite3 파일을 지운 뒤 filezilla를 다시 실행해보면, queue.sqlite3 이 새로 생기면서 오류창이 안뜨게 됩니다. 뜬금없는 에러였지만, 쉽게 해결 가능합니다. 오늘하루도 포스팅 완료. 매일 이렇게 간단하게 작.. 2023. 5. 22.
[Gradle] Gradle 의존성 옵션 정리(Compile VS implementation,옵션) 내가 일하는 곳은 Gradle로 프로젝트를 빌드합니다. 그래들(Gradle)은 가장 최근에 나온 자바 빌드 도구로 '그루비(Groovy)' 문법을 사용하고, Build.gradle에 스크립트를 작성하며, 대규모 프로젝트에서 복잡해지는 경향이 있는 XML 기반 스크립트에 비해 관리가 편하다는 장점이 있습니다. 때문에 maven처럼 xml 기반으로 dependency를 관리하는 것 보다 관리가 편하다고 하는데, 가시성 때문이지 적응되면 큰 차이는 없다고 생각합니다. 그럼에도 gradle이 더 좋다고 쓰는 분들이 많은 것 같습니다. 결국 gradle의 설정도 만질 줄 알아야 되는 부분인지라 이번 기회에 정리해보려 합니다. * Spring boot에서 사용되는 gradle SpringBoot로 프로젝트를 만들 .. 2023. 5. 17.