기타 개발

자바·파이썬 외 다양한 언어와 기술—아두이노, PHP, SQL 등—을 포괄합니다.

기타 개발

Tizen Studio, Emulator 실행 오류 조치 방법

사진: Unsplash의傅甬 华 요약 (인텔 CPU 기준) CPU가 가상화를 지원하는 모델인지 확인한다.  CPU가 가상화를 지원하는 경우, BIOS에서 가상화 기능을 활성화 시킨다.  Windows 기능 중 Hyper-V, Windows 하이퍼바이저 플랫폼, 가상 머신 플랫폼을 비활성화 시킨다.  Tizen Studio: Emulator 실행 오류 Cannot initialize HAX. Failed to open the HAX device. It might not be installed. Please try to install […]

기타 개발

Docker Compose 활용 팁

사진: Unsplash의Adrià Crehuet Cano “컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커“에서 작동 중인 컨테이너의 설정을 변경할 수 없는 이유를 배웠다.  도커 컨테이너는 변경 불가능한 인프라(immutable infrastructure)를 지향합니다. 변경 불가능한 인프라는 초기에 인프라를 구성하면 임의로 디렉토리 연결이나 포트 노출과 같은 설정을 변경할 수 없습니다. 따라서 컨테이너에 적용된 설정을 변경하려면 새로운 컨테이너를 생성해야 합니다. 이러한 특성 덕분에 컨테이너로

기타 개발

Java DB (Apache Derby) 이야기

사진: Unsplash의Anukrati Omar 노트북에 설치한 JDK 버전은 1.8.0_202, Java DB를 찾아보니 없다. ‘왜 없지?’ 하는 생각에 ChatGPT에 물어봤다. JDK 7 이후부터 빠졌다고 한다. 이상하다. JDK 1.8.0_162 버전에서 사용한 기억(기록)이 있다.  오라클 사이트에서 확인해 보니 2018년 7월 17일 패치부터 JDK 7과 JDK 8에서 제거되었다고 나온다. As announced in June 2015, JavaDB is no longer included in

기타 개발

Apache Derby – 외부 접속, 계정 생성, 백업/복원 방법

사진: Unsplash의Mitchell Griest 오랜 만에 Apache Derby를 사용했다. Docker에 설치하고 보니, 이런 저런 허들이 있었다.  Docker 외부에서 Derby에 접속을 할 수 없었고,  사용자 계정을 만드는 방법을 몰랐고,  백업과 복원하는 방법을 몰랐다.  Docker 외부에서 Derby에 접속하는 방법 Derby를 실행할 때 호스트 옵션을 추가한다.  1 –h 0.0.0.0 cs 관리자, 사용자 계정을 만드는 방법 관리자 계정은 ij에 접속하여 DB를

기타 개발

[Docker] ERROR: Pool overlaps with other one on this address space

사진: Unsplash의Sigmund docker-compose를 실행할 때 에러가 발생했다. 1 2 3 4 c:PlutoDocker_Install>docker–compose up –d Creating network “pluto_install_default” with driver “bridge” ERROR: Pool overlaps with other one on this address space c:PlutoDocker_Install> Colored by Color Scripter cs 해결 방법은 기존 Docker Network를 삭제하는 것이다. 1 2 3 4 5 6 7 c:PlutoDocker_Install>docker network prune WARNING! This will remove all custom networks not used by at least one container. Are you sure you want to continue? [y/N] y Deleted Networks: mercury_network venus_network c:PlutoDocker_Install> Colored by Color Scripter cs 그리고 docker-compose를 다시 실행하면 된다. 1 2 3 4

기타 개발

도커 컨테이너에서 호스트의 서비스 포트에 접속하는 방법

사진: Unsplash의Venti Views 상황 노트북(윈도 10)에 Docker Desktop을 설치하여 여러 Container를 돌리고 있다.  노트북에 설치한 IntelliJ IDEA에서 자바로 테스트용 소켓 서버를 작성했다.  Docker Container에서 테스트용 소켓 서버로 데이터를 보내야 한다.  방법 Docker Container에서 호스트를 목적지로 하는 방법은 간단하다. IP 대신 아래 2개의 DNS 이름을 사용하는 것이다.  host.docker.internal gateway.docker.internal 어떻게 가능할까? Docker Desktop이 노트북의 hosts 파일에

기타 개발

JMeter, 원격 분산 테스트 수행 방법

구성도 Controller 역할 Worker들의 시작과 종료를 관리한다.  Worker들의 테스트 결과를 수집한다.  Worker 역할 부하를 발생시킨다.  2-3GHz CPU 기준 1,000에서 2,000 쓰레드가 적당하다.  테스트 결과를 Controller로 보낸다.  실행방법 성능테스트는 CLI 모드에서 실행한다.  Worker 노드에 있는 JMeter 들을 server 모드로 실행한다.  1 2 3 4 [pluto@pluto jmeterWorker1]$ SERVER_PORT=2001 ./jmeter-server Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.100.11:35825](local),objID:[-30cxxx5a:188xxxx9e1a:-7fff, 106xxxx542xxx03868]]]   Colored by Color Scripter cs 기본 포트(1099)를 다른 프로그램이

기타 개발

JMeter, Cannot start. localhost.localdomain is a loopback address.

상황 리눅스 서버에서 JMeter를 이용하여 테스트를 수행하고 있다.  테스트 시나리오를 완성했다.  Controller와 Worker를 구성했다.  테스트를 시작하자마자 에러를 만났다.  Worker 노드 실행 실패 1 2 3 4 5 [pluto@localhost jmeter]$ cat jmeter1.log Created remote object: UnicastServerRef2 [liveRef: [endpoint:[127.0.0.1:42423](local),objID:[–a1u8750:1882XXXd751:–7fff, 7754627XXX208166]]] Server failed to start: java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback address. An error occurred: Cannot start. localhost.localdomain is a loopback address. [pluto@localhost jmeter]$ Colored by Color Scripter cs /etc/hosts 파일이 의심스럽다.  에러 메시지를 보니, hosts 파일이 의심스러웠다. 확인해 보자.  1 2 3 4 [root@localhost etc]# cat hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

기타 개발

JMeter, TCP, java.net.ConnectException: 요청한 주소를 배정할 수 없습니다 (connect failed)

사진: Unsplash의Jacek Dylag JMeter로 소켓 프로그램의 성능 테스트를 하고 있다.  구성은 다 된 것 같은데, 에러가 20% 이상 발생하는 경우가 있다.  에러는 JMeter로 부하를 발생시키는 장비에서 난다.  에러도 특이하다. 요청한 주소를 배정할 수 없다고 한다.  1 2 3 4 5 6 7 8 9 10 11 12 13 14 java.net.ConnectException: 요청한 주소를 배정할 수 없습니다 (connect failed)         at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_372]         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_372]         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_372]         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_372]         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_372]

기타 개발

성능 테스트, 네트워크 데이터 처리량 이슈

사진: Unsplash의Eeshan Garg JMeter를 이용하여 성능 테스트를 수행하고 있다.  – 테스트 환경을 구성하고,  – JMeter로 부하를 발생시켜 정상 처리되는 것을 확인했다.  부하를 조금씩 올려가면서 테스트를 수행했는데,  어느 순간부터 JMeter에서 Socket 관련한 에러가 줄줄이 발생했다.  왜 그럴까?  곰곰이 생각해보니 부하발생기 1대에서 – 1,000 쓰레드로 1MB 데이터를 보낼 때부터 에러가 발생했다.  혹시 네트워크 데이터 처리량이 부족해서 그런

위로 스크롤