채용공고 올리기

장원석님을 응원해보세요!

좋은 제안에 열려있어요
책임감
협업 지향
분석적
적응력

미리보기

기본 정보

이름
장원석
직업
Backend 개발자
간단소개

늘 조금씩 성장하기 위해 노력하는 개발자 장원석입니다. 어제보다 더 나은 내일을 위해 꾸준히 공부하고 있습니다.

기술 스택

기술 스택

프로젝트

소속/기관명

삼성청년SW아카데미

프로젝트명

Piece Of Cake

프로젝트 내용

Piece Of Cake는 1인 가구의 불편함에 대한 이야기에서 시작되었습니다. 대량구매로 처치곤란한 물품이나 비싼 배달료로 인한 부담에 관한 불편함을 해결하고자 하였습니다. 대량구매한 물품을 소분하고 배달 음식을 함께 주문하는 나눔 어플리케이션입니다. Spring Boot JPA를 이용한 백엔드 CRUD, Firebase Authentication를 이용한 인증, Firebase와 Flutter를 이용한 채팅 기능 및 UI. 모바일 어플리케이션 개발을 고려하여 학습 곡선이 높은 Flutter를 채택하였습니다. 마찬가지로 Flutter와 같이 간편한 실시간 데이터베이스를 제공하고 인증 방식을 제공하는 Firebase를 선택하여 개발하였습니다. 하지만 Dart 언어의 Null safety 방식이 생소하였기에 개발에 다소 어려움을 겪었습니다. 하지만 다음과 같은 방법으로 해결하였습니다. 체계적인 학습: Dart의 공식 문서와 Flutter 커뮤니티의 리소스를 활용하여 Null safety의 개념과 best practices를 학습했습니다. 코드 리뷰 강화: 팀원들과 함께 정기적인 코드 리뷰를 통해 Null safety 관련 이슈를 조기에 발견하고 해결하는 방식을 채택했습니다.

프로젝트 기간
2022.07. ~ 2022.08.
(2개월)
소속/기관명

삼성청년SW아카데미

프로젝트명

약쏙

프로젝트 내용

기존의 종이처방전을 블록체인 기술을 적용한 전자처방전으로 대체하는 아이디어에 기안한 프로젝트 입니다. 블록체인의 불변성과 투명성을 이용하여 전자처방전을 발급함으로써 조작 및 불법 복제를 방지하고 투명한 처방전을 조회 가능하도록 하였습니다. Truffle을 이용해 전자처방전 스마트 컨트랙트 작성, Web3.js를 이용한 FrontEnd 단에서 데이터 요청 담당, React를 사용한 처방전 인터페이스 설계. 트랜잭션에 가스비가 너무 높게 나왔고, 이더리움 처리 속도로 인해 실시간 처방전 발급이 느려졌습니다. 또한 데이터가 많아질수록 네트워크 부하도 점점 커졌습니다. 해결을 위해서, 문제점을 정확히 파악하고 체계적으로 정리하는 작업을 수행했습니다. 이를 바탕으로 가스비 최적화를 위해 스마트 컨트랙트 코드를 효율적으로 리팩토링하고, 대용량 데이터 저장에 IPFS를 도입하여 블록체인 네트워크의 부하를 감소시켰습니다.

프로젝트 기간
2022.08. ~ 2022.10.
(3개월)
소속/기관명

KOSA

프로젝트명

K-apsule

프로젝트 내용

디지털 데이터를 다양한 방식으로 저장하고 전달할 수 있는 아카이빙 서비스를 고안하였습니다. 특별한 공간의 기억을 미래로 보냄으로써 추억을 미래로 전달해보세요. OAuth 2.0과 JWT를 사용한 회원가입 및 인증, 인가 기능 개발, 타임캡슐 생성 및 조회 백엔드 구현. Redis를 사용해서 액세스 토큰과 리프레시 토큰의 안전한 저장 및 갱신 메커니즘 구현하였습니다. 캡슐과 관련된 키가 N+1 문제를 일으키키도 하였지만, JPA와 관련된 개발자 커뮤니티 글을 참고하며 Fetch Join을 사용하여 미리 한번에 데이터를 가져오는 방식으로 문제를 해결하였습니다.

프로젝트 기간
2024.08. ~ 2024.08.
(1개월)
소속/기관명

KOSA

프로젝트명

Mentain

프로젝트 내용

멘토와 멘티가 자유롭게 멘토링을 개설하고 구할 수 있는 멘토링 웹 플랫폼을 개발하였습니다. OAuth 2.0과 JWT를 사용한 회원가입 및 인증, 인가 기능 개발, 질문, 멘토링 게시판, 검색, 댓글, 좋아요 기능 전반 백엔드 구현, AWS를 사용한 배포. 좋아요 및 북마크 기능 개발 중, 성능 저하 문제가 일어났습니다. 좋아요 및 북마크 기능을 직접 DB 접근 방식을 사용하였기 때문에, http 호출이 많이 일어난 경우 제대로 상태가 반영이 되지 않고 느려지는 것이 문제였기 때문에, Redis를 사용한 캐싱 기능을 적용하여 조회 속도를 약 5초 이상 향상시켰습니다.

프로젝트 기간
2024.09. ~ 2024.10.
(2개월)

포트폴리오

타입

URL

깃허브
링크

GitHub

티스토리
링크

Blog

댓글