Home
Dal Blog
Cancel

Quiz 저장하기

Quiz 저장하기 Quiz 기능을 구현하기 위해 데이터를 저장하고 조회하는 과정을 진행했다. 이 글에서는 저장 과정을 중점적으로 다루며 조회 기능은 다음 글에서 확인 할 수 있다. Quiz 저장 Quiz는 사용자가 학습한 단어를 기반으로 생성된다. 저장 방식 설계 시 두 가지 방안을 검토했다. 1. Quiz 테이블의 status 활용...

단어 학습 기능 개선

단어 학습 기능 개선 학습해야 할 단어를 효과적으로 관리하기 위해 Redis를 활용해 캐싱 기능을 도입하고 학습 데이터를 조회 및 저장하는 방식을 개선했다. 이번 글에서는 문제 해결 과정과 주요 구현 내용을 정리했다. 전체 코드는 여기에서 확인 할 수 있다. 문제점 발견 사용자가 하루에 학습해야 할 10개의 단어 중 일부(예: 8...

Redis cache를 활용한 학습 데이터

Redis Cache 적용 : Redis Cache를 활용한 학습 데이터 TTL 관리 단어 학습 기능을 구현하며 오늘 학습할 단어는 반복 조회가 가능해야하고 이전(yesterday) 또는 이후 학습할 단어(tomorrow)와 명확히 구분되도록 해야 했다. 이를 해결하기 위해 Redis Cache를 도입했다. 캐시를 활용하며 발생할 수 있는 ...

성능 최적화 요약

성능 최적화 요약 Chat Project Chat Project를 진행하면서 성능 개선을 위해 여러 가지 최적화 작업을 진행했다. 이를 통해 로딩 시간, 조회 속도 및 응답 시간을 크게 개선했다. 아래는 각 주요 최적화 작업과 성능 테스트 결과의 요약이다. 더 자세한 내용은 관련 링크에서 확인할 수 있다. 1. 채팅 기록 파일 조회 속도 개...

단어 학습하기

단어 학습하기 이 전에는 엑셀을 통해 db를 저장했다면 이제는 해당 db를 활용해 단어를 학습하는 기능을 구현했다. 전체코드는 eng에서 확인할 수 있다. 구현 동작 예시 주요 기능 구현 사항 1. 사용자가 학습하지 않은 단어 조회 2. 사용자가 학습한 단어 저장 DB 설계 단어 학습 기능을 구현하기 위해 user_id...

Db 저장하기

New Project 새로운 프로젝트를 시작했다. 영어 공부에 대한 필요성이 느껴져 코딩 연습과 함께 영어 공부 사이트를 만들어 보려고 했다. 전체코드는 eng에서 확인할 수 있다. IDEA 아이디어는 별도의 노션에서 계속 정리하고 있으며, 중간에 추가 및 수정이 많아 현재까지 완료한 작업들을 정리하기로 했다. 현재 기본적인 구조는 ...

마지막 글 조회

마지막 글 조회 최적화 기존 파일의 마지막 글을 조회할 때 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를 사용하게 된다. 영속성 컨텍스트 영속성 컨텍스트는 논리...