가. 전공 : DB 설계 및 쿼리 작성, Java / C / C#
저는 SW 개발자로서 뚜렷한 발전방향을 위해 계획된 전공수업을 수강하였습니다. 프로그래밍의 근간이 되는 Java / C / C# 언어 수업에 몰두하였고, Database 설계 수업을 통해 E-R diagram 구성부터 MSSQL으로 쿼리를 작성해 실제 DB를 개발하였습니다.
또한, 프로젝트를 효과적으로 운영하기 위한 소프트웨어공학 수업을 수강하며 빠른 IT시장에서 효율적인 소프트웨어 운영의 필요성을 누구보다 잘 이해하였습니다.
나. 프로젝트 경험
[미국전역 800명의 에이전트를 위한 포탈사이트(2014)]
회사와 거래를 하는 미국전역의 에이전트분들의 영업에 대한 모든 정보 제공, 관리 및 회사와의 소통 경로 마련을 위한 Web application 프로젝트였습니다.
ASP.NET MVC3 프레임워크를 활용하여 business logic, controller 는 C#언어를 사용하였고, view는 html, javascript, jquery, ajax(json)을 다뤘습니다. 툴은 Visual studio, Ms-sql, Tortoise svn을 사용하였습니다.
- 포탈 사이트와 사이트를 관리하는 Admin 사이트를 따로 운영하였습니다. 두 사이트는 사용하는 데이터가 같기 때문에 한 business logic을 같이 두고, controller, view를 달리하였습니다. 크로스 도메인이 가능해야 했기 때문에 이 부분은 Jsonp을 사용하여 통신하도록 구현하였습니다.
- Boot strap을 사용하여 모바일 플랫폼에서도 사용이 용이하도록 구현하였고, UI 부분도 Boot strap의 컴포넌트를 활용하여 디자이너 없는 개발 환경에서 쉽게 개발할 수 있었습니다.
- 접속하는 에이전트의 브랜치 코드마다 보여지는 데이터와 메뉴가 달라져야 했습니다. 로그인 할 때의 코드 값을 기준으로 controller에서 view return을 달리하여 제어했습니다.
- Trouble Shooting
웹에서 pdf 다운로드 버튼을 누르면 pdf 파일이 바로 웹페이지 자체에서 보여져야 하는데 이 기능이 IE와 FireFox에서는 작동했으나 Chrome 에서는 파일이 저장 되려고 loading 문구만 뜨고 실제 저장도 안 될뿐더러 웹페이지 자체에서 바로 보여지지도 않았습니다.
http 헤더에 파일을 요청하였을 때 이전의 콘텐츠 타입이 저장되어 있어서 그것을 비우고 다시 지정해야 했습니다. Response.ClearHeaders() 함수를 사용하여 해결하였습니다. 이전에 콘텐츠 타입이 저장된 내용을 초기화 한 다음 Response.ContentType = "application/pdf"로 HTTP 헤더에 콘텐츠 타입을 지정하여 해결하였습니다.
[사기거래 방지를 위한 DB 프로시져(2014)]
회사와 계약을 맺은 가맹점들의 거래 내역을 바탕으로 사기거래의 위험성을 분별하고, 이를 사전에 막아 회사의 미래자금손실을 최소화하기 위한 프로젝트였습니다.
사기거래를 방지하기 위한 수식으로 작성되어 있는 약 40개의 룰을 DB SQL문으로 작성하였습니다. MS SQL의 여러 함수들을 활용해 거래 트랜잭션들이 수식이 유도한 바와 같이 Select되는지 확인하여 완성하였습니다.
이를 바탕으로 Dynamic 하게 가져온 룰을 벗어난 DB 트랜잭션 개수를 highcharts 의 자바스크립트 라이브러리를 활용하여 Web에 차트로 그려주었습니다. Web의 구현방식은 위의 프로젝트와 동일하였습니다.