forked from satnaing/astro-paper
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Affected files: .obsidian/workspace.json src/content/blog/personal-statement-for-an-application.md
- Loading branch information
Showing
2 changed files
with
62 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
author: Gyunseo Lee | ||
title: 지원서를 위한 자기소개서 | ||
pubDatetime: 2024-02-08T16:58:00+09:00 | ||
modDatetime: 2024-02-08T16:58:00+09:00 | ||
featured: false | ||
draft: true | ||
tags: | ||
- application | ||
- personal-statement | ||
description: 취직 어렵다... | ||
--- | ||
|
||
## Table of contents | ||
|
||
## 소프트웨어 분야에서의 전문성을 기르기 위해서, 코드당에서 했던 DB 테스트 도입기 | ||
|
||
교내 경쟁 프로그래밍 웹사이트 유지 보수 및 개발을 했습니다. 해당 프로젝트에서 백엔드 팀에 소속돼, 백엔드 개발을 했습니다. Node.JS 기반 프레임워크인 Nest.JS를 사용해 개발했습니다. 단순히 코드를 작성하는 것을 넘어, 프로젝트에 대한 깊은 이해와 개인의 문제해결 능력 향상을 위해 체계적인 스터디를 진행했습니다. | ||
|
||
예를 들어, 클라이언트에서 데이터를 요청했을 때, Node.JS 와 DB에서 구체적으로 어떤 방식(예: TCP, HTTP, 노드의 스레드 풀 등)을 통해 데이터를 처리하는지 공부했습니다. 이를 위해 네트워크, OS, DB 전공 서적 등을 뒤져가며 공부했습니다. | ||
|
||
개발에 투입됐을 때, 컴퓨터 과학 기본기가 뒷받침돼 있어, 기능 개발이나 버그를 수정할 때 마주한 난관을 수월하게 해결했습니다. | ||
|
||
일례로, 단위 테스트를 할 때 더 이상 stub 테스트를 하지 말고, 실제 DB를 이용해 테스트 코드를 작성하자라는 의견이 제기됐습니다. 그래서 실제 DB를 테스트에 도입했습니다. 이 과정에서 시행착오가 있었고, 이때 스터디했던 전산학 지식이 중요한 역할을 했습니다. 하나의 테스트 시나리오가 종료됐을 때, DB가 원래 상태로 복구되는 것이 보장돼야 하는 이슈가 있었습니다. 이때 테스트 별로 도커 컨테이너 띄우기, DB 트랜잭션 롤백 이용하기, 수동으로 원래 상태로 되돌리기 등과 같은 여러 해결책이 제시됐습니다. 팀원들은 스터디를 했던 CS 지식(DB 트랜잭션과 커넥션 풀링 등과 같은 개념)을 바탕으로 제시된 해결책을 검증했습니다. 결국 하나의 테스트 시나리오가 끝나고, 코드 작성자가 직접 코드를 작성하여, DB를 테스트 전 상태로 롤백시켜준다는 결론에 도달했고, 유닛 테스트를 더 나은 방향으로 개선했습니다. | ||
|
||
프로젝트에 참여하며 기술적 문제해결 능력을 키웠을 뿐만 아니라, CS 학습과 지식이 소프트웨어 엔지니어링을 할 때 단단한 기반이 돼 준다는 것을 알게됐습니다. | ||
|
||
## 협업과 소통능력을 기르기 위해서, 코드당에서의 경험 | ||
|
||
앞서 언급한 프로젝트에서 협업과 소통 능력도 배웠습니다. 소프트웨어의 형상 관리를 위해서 Git, GitHub를 사용했습니다. 그리고 팀원들과의 온라인 소통을 위해서 MS Teams라는 협업용 툴을 적극 활용하기도 했습니다. | ||
|
||
특히 GitHUb Branch 전략을 사용하여, 신속하게 빠르게 소프트웨어를 수정하고 테스트 및 배포했습니다. 그리고 GitHub에 존재하는 Pull Request라는 기능을 적극 활용하여, 서로의 코드에 대한 코드 리뷰도 해주었습니다. 코드 리뷰를 통해서, 단위 테스트에서 미처 생각하지 못한, 소프트웨어 오류를 잡을 수 있었습니다. 또한, PR에서 현 브랜치에서 다루고 있는 이슈에 대한 토론도 활발히 했습니다. 이런 리뷰와 토론이 다 끝난 다음에는, GitHub Actions으로 자동화한 CI Test를 통과해야 Merge가 되도록 했습니다. | ||
|
||
또, 정기적으로 팀별 오프라인 미팅을 가졌습니다. 해당 미팅 시간에는 이전 미팅 이후로 어떤 작업을 했는지 공유했으며, 미처 해결하지 못한 PR들의 코드리뷰를 진행하기도 했습니다. 이를 통해, 개발 일정에 병목 구간이 생기지 않게 했습니다. 또, 미팅 이후로는 오늘 자신이 한 작업에 대한 회고도 진행을 했습니다. 이런 팀내의 좋은 개발 문화가 제가 좋은 개발자로 성장할 수 있는 좋은 발판을 마련해줬습니다. | ||
|
||
## 유리프트에서의 인턴 경험 | ||
|
||
- 파이썬 교육 컨텐츠 개발 및 검수. | ||
- Next.js를 이용하여 모바일 어플리케이션 내에 사용되는 DSL 파서 개발. | ||
|
||
## |