Skip to content
View lsh1215's full-sized avatar

Highlights

  • Pro

Organizations

@f-lab-edu@techeer-sv@hansung-pocs@2024-SummerBootcamp-Team-L@ReXume@Qualcomm-Capstone

Block or report lsh1215

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
lsh1215/README.md

Sanghun Lee

Backend Engineer interested in event-driven architecture, backend reliability, and AI/RAG systems.
I like building systems whose behavior can be explained with tests, fault injection, and observable evidence.

GitHubBlogLinkedInEmail


Tech Stack

Language :
JavaPython

Back-End :
Spring BootDjangoJPAQueryDSL

Database :
MySQLOraclePostgreSQLOpenSearchRedis

Messaging :
KafkaRabbitMQMQTT

Deployment / Observability :
DockerKubernetesGitHub Actionsk6GrafanaOpenTelemetry

AI / Automation :
LangChainRAGAI Agents


Experience

  • All4Land Software Engineer Intern (2025.09 - 2025.12)
    • Billing system enhancement and infrastructure improvement project
    • Backend development with Java, Spring Boot, Oracle, and MyBatis

Projects

  • E-Commerce Platform (2026.02 - 2026.04)
    Java/Spring Boot MSA for order, payment, product, and member domains.

  • AutoNotify with Qualcomm (2025.03 - 2025.06 / 2025.12 - 2026.02)
    On-device AI vehicle detection and notification pipeline.

  • Solomon-AI (2024.06 - 2024.08)
    Legal-grounded conversational AI service with RAG and streaming responses.


Open Source Contribution

  • MergedSpring Integration #11247
    Fixed JdbcMetadataStore.putIfAbsent() looping forever under MySQL REPEATABLE READ by re-reading with the locking query only when the non-locking re-read comes back empty, so it observes the same state the insert did.

  • 🟡 In ReviewSpring Session #3870
    Fixed SortedSetRedisSessionExpirationStore cleanup to touch the session's expires shadow key so Redis keyspace expiration events fire and SessionExpiredEvent/SessionDeletedEvent are published.

  • 🟡 In ReviewHibernate ORM #13104
    Fixed ScrollableResults#setRowNumber(0) in the collection-fetch implementation to position before the first row instead of throwing, matching the standard implementation.

  • 🟡 In ReviewRedis Lettuce #3843
    Fixed Master/Replica SCAN/HSCAN/SSCAN/ZSCAN under ReadFrom by pinning cursor continuations to the issuing node so full scans stop dropping keys.

  • MergedSpring Data Relational #2324
    Fixed Spring Data JDBC mapping so unordered Collection child elements can be saved and loaded without a key column.

  • MergedOpenSearch Java #2033
    Added Testcontainers-backed OpenSearch startup for integration tests, removing the Docker Compose pre-run step.

  • 🟡 In ReviewDocker CLI #7117
    Added an IP masquerading example for custom bridge networks.

  • 🟡 In ReviewRedis Lettuce #3803
    Updated Kotlin coroutine APIs, docs, generator output, and regression tests.

  • MergedRedis Lettuce #3809
    Fixed a skipped JFR event recorder test so it runs in Maven, and replaced an outdated no-JFR event fixture.

  • MergedApache Lucene #16300
    Analyzed OOM in TestTermInSetQuery.testDuel and reduced query-cache/TopDocs heap pressure.

  • MergedOpenSearch Java #2017
    Added a Document Lifecycle guide and runnable sample.

  • MergedSpring AI #4220
    Added manageDocumentIds support for AWS OpenSearch Serverless document ID handling.


Activity

  • Techeer member (2024.02 - Present)
  • Tech talks on async queues, Docker, and backend fundamentals
  • SQLD certified through 2027.12.12

Pinned Loading

  1. docker-clidocker-cliPublic

    Forked from docker/cli

    The Docker CLI

    Go

  2. lettucelettucePublic

    Forked from redis/lettuce

    Advanced Java Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.

    Java

  3. lucenelucenePublic

    Forked from apache/lucene

    Apache Lucene open-source search software

    Java

  4. hibernate-ormhibernate-ormPublic

    Forked from hibernate/hibernate-orm

    Idiomatic persistence for Java and relational databases

    Java