劉松霖 Sung-Lin Liu

  Taipei City, Taiwan

I am a backend developer with a focus on Java/Python.


Phone Number: (886) 0938549258

       https://github.com/joejoe2

       [email protected]

Education

2021 - 2023

國立交通大學 National Chiao Tung University, Taiwan

資訊科學與工程研究所 Master of Computer Science

2017 - 2021

國立成功大學 National Cheng Kung University, Taiwan

資訊工程學系 Bachelor of Computer Science

Skills

Programming


  • Java
  • JavaScript
  • Python

Framework / Tools


  • Spring Boot
  • Flask
  • Docker
  • Docker Compose
  • GitHub Actions
  • Vue.js
  • K6
  • Testcontainer

Database


  • Redis
  • PostgreSQL

Message Queue 


  • Nats (Core Nats)
  • Kafka

Research Topic


EduTalk

A web-based programming education platform that enables teachers and students to learn Python syntax, 3D graphics rendering, and concepts of IoT through self-designed courses and programs.  Programs use IoT sensors (ex. smartphone, whether station) as input and can control IoT actuators (ex. lights, electric fan) as output. EduTalk has been used in several high school physics classes with hundreds of users.









Side Projects


1. SSO Center

 

  • Developed a Single-Sign-On center using RSA JWT.
  • Implemented registration, login, refresh, logout, password change/reset, RBAC, and API rate limit functionalities.
  • Designed the system so that other applications can easily use the tokens issued by the center and verify them using the RSA public key (or the introspection API).                                                                                                

2. Chat Application

 

  • Developed a horizontally scalable chat application with Nats as the message broker.
  • Scalability is achieved by adding more application instances and Nats servers.
  • Supports WebSocket and Server-Sent Event protocols for receiving chat messages.
  • Authentication service integrated from the previous SSO center project.
  • Use K6 for load testing with more than 50k concurrent connections.                                                                                               

3. Video Application

 

  • POC for HLS video application.
  • Asynchronously convert mp4 files to HLS format via Debezium, Kafka, and FFmpeg.
  • Store video files in MinIO object storage.