포트폴리오

안녕하세요. 하진호입니다. 저의 포트폴리오가 이곳에 있습니다. 프로젝트나 경험 위주로 기술되어 있습니다. 감사합니다.

인적사항

이름 하진호 (Ha Jinho)

학력 한양대학교 ERICA캠퍼스 컴퓨터전공

언어 Python Swift C++

어학 영어 (토익스피킹 LV6, 토익805), 일본어 (JLPT N1)

자격 정보처리기사

Github 바로가기

블로그 바로가기

위키 바로가기

개발경험
테트리스 (2017)

개발 스택 Python, Pygame

역할 개인 과제

개요

군 전역 후 복학을 한 다음 "오픈소스SW개발"이라는 과목에서 처음 만들어본 프로그램입니다. 단순하게 구현되었으며, 기능도 단순합니다. (기본적인 테트리스의 기능, 블록 떨어지는 화면 보여주기, 다음 블록, 점수 시스템 등)

느낀 점

과제이지만, 비교적 장기간 프로젝트 형식으로 개발하는 과제는 이 과제가 처음이었습니다. (이전에 잘 못 접근해서 망한 NodeJS과제가 있지만, 그것은 논외로 하겠습니다.) 테트리스 게임 개발이라는 것은 눈에 보이는데다가 플레이까지 가능하기 때문에 열심히 만들어 볼 수 있었습니다. 지금와서 코드를 다시 본다면 테트리스 플레이 로직이 마치 코딩 문제 풀이처럼 되어 있는데, 객체로 블럭을 구현하는 것도 좋지 않았을까 싶습니다.

저장소 보기

페달로 파싱 웹사이트 (2017)

개발 스택 PHP, Apache

역할 개인 과제

개요

2017년 쯤 안산시 공공자전거인 페달로의 어플리케이션이 아이폰에서 작동되지 않아 만들어본 웹 페이지입니다. 만들어 놓고 게시판에 게시하니 많을 땐 일 10명 정도 접속했습니다. (별로 홍보는 하지 않았습니다.) 그러나 문제점은 중간에 서버 가지고 놀고 도메인 바꾸고 하면서 사람들이 떨어져 나갔습니다. 개인적으로는 유용하게 썼습니다.

느낀 점

지금은 거의 까먹었지만, PHP7 버전, 즉 모던 PHP로 개발해서 다른 사람들과 달리 PHP에 대해 나쁜 이미지가 없습니다. 아쉬운 점은 홍보를 좀 더 했으면 어땠을까도 싶지만, 전형적인 개발자라 게시판에 한 두 번 올리는 것 이외에는 어려웠고, 학우들의 경우 대여 기능도 추가해줄 수 없다는 문의가 있었지만, 아쉽게도 안산시에서는 API를 제공하지 않아 조회만 가능했습니다. 개인적으로 개발자로서 느껴야할 부분은 적어도 외부에 공개를 했으면, 개인서버라고 막 쓰지 말고, 서버 운영을 좀 더 잘했어야 하지 않나 싶습니다.

저장소 보기

식당 리뷰 공유 게시판 (2017)

개발 스택 PHP, MariaDB, Apache

역할 게시판, 서버, SQL 참여

개요

2017년 하반기에 수강한 "웹어플리케이션 개발"과목에서 저희 팀은 식당 리뷰를 공유하고, 위치를 보여주는 웹 페이지를 만들어 봤습니다. 저는 게시판 개발과 서버 작업을 주로 하였습니다.

느낀 점

개발 팀프로젝트로는 장기간 진행되는 과제였습니다. 아쉬운 점은 과제이기 때문에 열심히 참여는 해도 무엇을 만들까에 대한 방향성이 조금 부족하지 않았나 싶습니다. 예를 들면 지도에 위치를 표시하는 것이 메인인지, 리뷰를 공유하는 것이 메인인지에 대한 아이디어가 좀 더 명확했다면 더 좋은 결과물이 나오지 않았나 싶습니다. 물론 사소한 아쉬움은 있었지만, 다들 2학년 하반기라 처음하는 장기간 개발 조별 과제일 텐데 열심히 했었습니다.

저장소 보기

개인 위키 블로그 (2018)

개발 스택 Python, Flask

역할 개인 개발

개요

블로그를 쓰면서 차라리 위키 문법으로 블로그를 쓰면 더 빠르고 편리하게 글을 쓸 수 있지 않을까 하는 생각에 2018년 여름방학에 만들어본 홈페이지 입니다.(맨 위의 위키가 이 위키 형식 블로그입니다.) 마크업을 HTML로 변환해주며, 여러 사람이 편집하는 것 보다는 개인 편집에 용도를 한정해봤습니다. 그해 초부터 오드로이드라는 개발 보드에 개인 파일 저장을 위해 웹 서버를 운영하다가, 블로그를 오드로이드에 올려봤습니다. 제 위키에 해당 위키 형식 블로깅 어플에 대한 설명이 자세하게 수록되어 있습니다.

느낀 점

개발 상 아쉬운 부분이 있다면 Paragraph를 처리할 때, 좀 더 객체지향적으로 처리했으면 좋지 않았나 생각합니다. (지금은 단순히 번역 객체가 일일이 함수로 파싱하지만, 마크업 별로 객체를 생성해서 통합된 번역객체에 붙인다던가 하는 방법이 있지 않을까 싶습니다.) 그렇게 하면 향후 마크업을 수정하거나, 기능을 추가할 때 편할 것이라 생각합니다. 또, 서버를 올린 개발보드는 갤럭시S5 정도의 AP 성능을 가지고 있는데, 생각보다도 위키형식 블로그가 쾌적하게 돌아가 현대의 컴퓨터 연산능력이 얼마나 대단한지 세삼스레 다시 느꼈습니다.

저장소 보기

식품영양정보 (2018)

개발 스택 Python, Flask, Spark

역할 개발

개요

우리학교 로봇공학과에서 사람을 구해 만들게 된 웹 페이지입니다. 몇몇 대학에서 협력하여 식품영양정보 관련 프로젝트를 진행한 것으로 알고 있고, 소 프로젝트로 식품 기초 정보와 분광적보를 시각화한 데이터를 볼 수 있는 웹 페이지를 제작하였습니다. 처음에는 하둡과 같은 대규모 데이터 처리 시스템을 고려했으나, 너무 데이터의 수가 작아 일반 DBMS를 사용하였습니다. 스파크는 데이터를 삽입할 때, 변형하는 용도로 이용되었습니다.

느낀 점

대학교 연구과제로 교수님이나 조교님과 미팅하면서 진행하는 프로젝트라 신선했습니다. 다만 아쉬운 점은 빅데이터 처리라고 처음 모집했던 것에 비해 데이터가 너무 적고, 서버 등 자제가 제때 수급이 안 되서 최대한 안정적으로 시간을 맞추기 위해 하둡이 아닌 SQLite를 이용할 것을 제한했고, 결론적으로 SQLite로 개발했습니다. (실 데이터가 몇 천건 수준이라 충분했습니다.) 저는 컴퓨터공학과 학생이었기 때문에 주제도 신선했다고 생각합니다.

저장소 보기

졸업작품 - 에리카트렌드 (2019)

개발 스택 Python, Flask, ELK

역할 웹, 서버, 마감

개요

졸업 작품으로 산학협력과제를 선택하게되었습니다. 노트북 트랜드를 비교해보는 사이트입니다. 산학 협력 시간이 짧았기 때문에(멘토 선정, 주제 정하기 등등을 마무리하니 대략 2월 쯤 본격적으로 개발이 가능해짐), 딥러닝 등의 최신 트랜드 반영이 어려웠습니다. 크롤링을 통해 수집한 데이터를 통해 키바나에서 분석한 후에, 제품, 브랜드, 가격 별 도표 및 리뷰, 장단점 워드 클라우드 등을 보여줍니다.

느낀 점

졸업 작품 치고는 비교적 안정적인 주제인 크롤링과 데이터 분석을 하게 되었습니다. 아쉬운 부분은 데이터가 국내가 아닌 외국 데이터를 이용했다는 부분이 있고, 실제로 개발 기간이 짧아 조금 더 심화된 개발을 하지 못 했다는 점입니다. 그럼에도 불구하고, 팀원들과 매주 미팅하며 과제를 매일 같이 진척시켰고, 정기적으로 산학협력체 멘토님께서 여러 조언과 사회 생활 이야기를 해주셨기 때문에 좋은 기억으로 남아있습니다.

저장소 보기

라인 앱개발 챌린지 - 메모장 (2020)

개발 스택 Swift, UIKit, Realm

역할 개인 앱 개발 챌린지

개요

라인 인턴십 이후로 개발 학습을 하던 중, 라인에서 신입 챌린지가 진행되어 진행하게 되었습니다. 사진을 첨부할 수 있는 완결된 메모장 어플리케이션입니다. 메모 리스트 보기, 쓰기, 삭제, 수정, 여러 개의 사진 첨부 등의 기능을 지원합니다.

느낀 점

라인 인턴십을 통해 처음으로 iOS 개발을 접하고, 다시 만들게 된 iOS 어플리케이션입니다. 인턴십 때 개발했던 프로그램에 비해 조금 더 진일보 했지만, 결과는 22%로 탈락이었습니다. 다시 한 번, 저의 개발 능력을 객관적인 잣대로 평가할 수 있는 좋은 기회였습니다. 특히, 개발을 끝낸 후 GoF의 디자인 패턴을 정독하면서 여러모로 수정할 부분이 A4 한 장 정도는 나온 것 같았습니다. 실제로 평가된 내용에서 부족한 부분도 대부분 그 기간 동안에 찾아낸 것과 일치. 특히 앱 디자인과 코드 구현 이외에 어려웠다고 생각한 부분은 단위 및 UI 테스트였습니다. 다시 한 번 제 위치와 능력을 가늠해볼 수 있었습니다.

저장소 보기

사회경험
라인플러스 DEVEL UP 인턴십 (2019.10.28 ~ 2019.12.2)

개요

라인플러스 개발자 채용과정 중 하나인 DEVEL UP 인턴십을 진행하게 되었습니다. 저는 메인 클라이언트 개발 팀 소속으로 인턴 과제를 진행했습니다. 자세한 사항은 보안 규악에 의해 알려드릴 수 없지만, 하루하루 배우는 것이 무척 많았다고 생각합니다.

느낀 점

아르바이트가 아닌 일반 개발 회사에서 근무해본 경험은 라인 인턴십이 처음이었습니다. 저는 다소 개발자로서는 잘 해보지 않고 살짝은 당황스러운 주제를 메인으로 수행하게 되었습니다. 특히 iOS 개발도 처음해보는 것이고, 과제는 또 개발과는 다른 분야가 주어져 초반에 많은 공부가 필요했습니다. 생각했던 것과는 다른 진도율, 다른 결과물이 나오면서 고분분투했던 기억이 납니다. 그럼에도 불구하고, 결과가 어찌되었던 간에, 끝까지 노력하면서 멘토님들께 많은 배움을 얻을 수 있었다고 생각하고, 저 자신의 실력도 많이 향상이 되었다고 생각합니다.

해외경험
일본, 시바우라 공업 대학 단기 교환 (2018)

개요

2018년 학교에서 겨울 2주간 항공료 및 체제료 등을 전액 지원받는 조건으로 시바우라 공업 대학에 단기 교환학생을 갈 수 있었습니다. (2018. 01. 09 ~ 20) 단기 교환학생 연구과제로 Meaning distinction for homonym and grasping nuance for commonmetaphoric expression in Korean contexts (for example,what is the meaning of a word“사과”of“여기에사과가있다.”among act or food? Or what is actual meaning of“너정말잘났다.”?)을 제시하여 선정되습니다. 2주간 언어처리연구실 스기모토 도루 교수님께 수학할 수 있었습니다.

느낀 점

대학원 랩에 단기 교환학생을 가는 것은 처음이었고, 우리나라와 비슷하지만 일본의 대학은 조금씩 다른 점도 있구나 하는 생각을 하게 되었습니다. 아쉬운 점은 이 교환학생 프로그램을 통해 언어 처리를 아주 간단하게 알 수는 있었지만, 기간이 짧기 때문에 프로젝트 위주보다는 간단히 일본 문화체험을 하면서 과제를 진행하는 형식으로만 되었다는 것이 아쉽습니다.