Bouldering
"I am a motivated developer who values consistency. I enjoy climbing and coffee."
Project
-JAVA, Spring, SAS, JPA
Infra
-Docker, SASCTL, EC2, RDS
[Key Experience]
Project -Java, Spring Boot, Mysql
Infra(AWS) -EC2, RDS, S3
Deployment -GithubActions, S3, AWS Codedeploy
[Implemented the admin server]
[Implemented the application server]
Project- Typescript, Nestjs, MariaDB
Infra-EC2, RDS, S3
Deployment- GithubActions, S3, AWS Codedeploy
[Key Experience]
Java
1. In PLAV corporation Experience
- Optimizing paging performance
[Initial Offset Paging Method: 11 seconds] → [Optimized Cursor Paging Method: 1626 ms]
During server testing, I identified a performance issue where querying one million records took 11 seconds. The primary reason for the slowness was the use of JPA’s pageable and offset methods, which became slower as the dataset size grew. I found that this was due to the heap structure of the RDS, which made offset-based pagination increasingly inefficient with larger datasets.
To address this, I adopted a no-offset pagination approach with indexing. Although covering indexes were an option, I determined that they could degrade performance if the index size became too large. Instead, I switched to a cursor-based indexing approach, which only indexes the columns used for cursor pagination rather than all columns.
Through this experience, I gained a deeper understanding of indexing and realized that there are multiple approaches to pagination, each with different considerations depending on the data and use case.
2. In Side-Project Experience
- Optimizing Searching Index
The simple LIKE search function does not always utilize indexes and cannot perform searches based on token size, so I used the MySQL Ngram parser. I applied a Full Text Index to the columns that are subject to search.
3. In TmaxFintech Experience
- Synchronization Issues in Asynchronous Processing
SoongsilHaksik Notifier
Duration: November 2021 - January 2022
Tech Stack
Service Description
A KakaoTalk chatbot providing daily meal notifications for Soongsil University students. Reached 2,000 friends on KakaoTalk.
Role & Responsibilities
Challenges
[Efficient Deployment]
The HTML structure of the site uploading meal information changed periodically, requiring frequent deployments. To enhance deployment accessibility, I implemented CI/CD with seamless deployment using Nginx.
Teaching Experience
- teach Python to elementary students (Part-job/Remote)
Abroad Experience
- participate 2022 AWS re:invent Las vegas conference
Bouldering
Running
Mentoring