Home
Dal Blog
Cancel

마지막 글 조회

마지막 글 조회 최적화 기존 파일의 마지막 글을 조회할 때 while문을 없애면 시간이 더 줄어질 수 있을 것 같아 코드를 수정 했다. 기존 코드는 아래와 같다. try (RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r")) { long fileLength = file.l...

로그인 사용자 대비 채팅 사용자 비율 계산

로그인 사용자 대비 채팅 사용자 비율 계산 하루 동안 로그인 한 사용자와 채팅을 한 사용자 수를 저장 한 후 하루가 지나면 데이터를 기반으로 비율을 계산하여 db에 저장 한다. Code applicaton.properties spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimez...

Back 배포 관리

Back 배포 관리 SSH를 사용하여 Amazon EC2 인스턴스에 접속 $ ssh -i {키 페어 주소} ubuntu@ipv4주소 ex) ssh -i hello.pem ubuntu@12.345.678 환경 변수 리눅스에서는 메모장, 워드패드 같은 파일 편집기가 존재하는데 nano, vi, vim 등 많은 편집기들이 존재한다. nano는 가장 ...

영속성 컨텍스트

EntityManagerFactory와 EntityManager 웹 어플리케이션을 개발할 때 EntityManagerFactory를 통해서 고객의 요청이 올때마다 EntityManager를 생성을 하고 EntityManager는 내부적으로 DB 커넥션을 사용해서 DB를 사용하게 된다. 영속성 컨텍스트 영속성 컨텍스트는 논리...

Jmeter 성능 테스트

JMeter 성능 테스트 Message Broker를 변경하면서 얼마나 성능이 좋아졌는지 비교하기 위해 JMeter를 활용했다. Test 성능 테스트 1 test할 sampler는 위와 같다. 순서대로 진행이 되기 위해서 특정 sampler 안에 timer를 넣었다. View Results Tree를 보니 요청이 순서대로 실행이 되었...

상속과 컴포지션

상속 (Inheritance) 상속은 객체 지향 프로그래밍에서 기존 클래스의 특성과 기능을 그대로 물려받아 새로운 클래스를 정의하는 것이다. 이는 클래스 간의 “is-a” 관계를 표현하며, 코드를 재사용하고 클래스 간의 관계를 명확히 할 수 있다. ex. 동물 클래스가 있고, 이를 상속받은 고양이, 개 클래스가 있을 때, 고양이와 개는 모두 동물이...

Rabbitmq 적용

RabbitMQ 적용 이 전에 어떻게 적용을 해야하는지 파악했으니 이제 본 코드에 적용해보기로 했다. 적용할 부분 1:1 채팅 현재 나는 1:n 채팅은 존재하지 않는다. 따라서 “topic”은 지운다. topic과 queue에 대한 stackoverflow 글 MessageType에 따른 Queue 설정 ...

Rabbitmq

RabbitMQ Message Broker는 실시간 채팅 서비스를 구현하는 데 핵심적인 부분이다. Message Broker를 적용하는 과정에 대해서 정리했다. WebSocket과 Stomp의 차이점에 대해서 살펴보면 WebSocket은 클라이언트와 서버 간 양방향 실시간 통신을 가능하게 하는 프로토콜이다. 별도의 메시지 브로커 없이도 클라...

Apache jmeter

Apache Jmeter Download Release 클릭 후 나는 apache-jmeter-5.6.3.zip 다운받았다. 파일 압축을 해제 한 후 bin 파일에 들어가서 ApacheJMeter.jar 파일을 실행하면 jmeter가 실행된다. window인 나는 jmeter.bat을 실행했다. JMeter plugin link ...

Ngrinder

nGrinder nGrinder는 성능 테스트를 위한 오픈 소스 플랫폼으로, Controller와 에이전트(Agent)로 구성된다. 컨트롤러 (Controller) nGrinder 성능 테스트를 관리하고 조정하는 중앙 집중형 서버다. 사용자는 웹 인터페이스를 통해 컨트롤러에 접속하여 테스트를 설정하고 실행할 수 있다. 컨트롤러는 테스...