본문 바로가기

소프트웨어개발자의 삶/개발일기

'명필은 붓을 가리지 않는 법이다' 정말? "명필은 붓을 가리지 않는 법이다" 라는 이야기가 있다. 라떼... 요즘은 잘 듣지 못했지만 직업개발자로 살기 시작할 쯤이다. 당시 나는 ASP 3.0을 할 줄 알았는데 그때 개발툴로 InterDev라는 툴을 사용했다. 우연히 이 툴을 사용해서 개발을 할 수 있다는 사실을 알게 되어 사용하게 되었는데 당시 ASP로 개발과정은 편집툴로서 ASP 소스를 개발하고 그것을 IIS에 올리고 브라우저에서 열면 그 제서야 작동하는 모습을 볼 수 있었다. 만약 IIS가 로컬에 없이 개발을 하며 매우 불편한 환경이였다. 사실 당시에는 Windows XP 환경이였기 때문에 IIS는 PC용 운영체제에는 없었다. 서버용 Windows에만 있었기 때문에 서버용 운영체제를 사용하지 않으면 바로바로 확인이 어려운 구조였다. 보통의.. 더보기
IoC/DI를 하는 이유 IoC/DI(Inversion of Control / Depedency Injection)을 하는 이유는 의존성을 피하기 위함이다. 프로그램의 소스코드가 얽히고 설키면서 의존성을 가지는 여러가지 상황이 있는데 IoC/DI에서 해결을 하고자 하는 것은 클래스내에 생성을 하여 추후 생성해야되는 클래스가 바뀌는 경우 변경된 클래스의 생성으로 모든 소스코드를 바꿔야 하는 부분을 해결하기 위하는 방법이다. 스프링과 같은 프레임워크가 없을 때는 이런 문제를 해결하기 위해서 디자인패턴에서 팩토리클래스라고 부르는 팩토리 계열의 클래스를 만들어두고 객체의 생성은 팩토리에게 위임을 하고 실제 생성되는 클래스를 받아서 써야되는 부분에서 팩토리 클래스에 객체생성을 요청함으로서 추후에 생성되는 클래스가 변경이 되더라도 팩토리 .. 더보기
SI 기업 취업은 피하는 게 좋다. 어떻게 생각하시나요? okky.kr에 위와 같은 질문이 올라와서 덧글을 달았다. 아래 화면에 원문 캡쳐다. 주저리 주저리 덧글을 달았는데 약간 정리를 해서 남겨둔다. 1. SW 시장의 2가지 축 SW 시장에는 크게 두가지 분류가 있다. 범용 SW과 커스텀 SW 혹은 수평시장과 수직시장 이 존재한다. 범용 SW란? 우리가 자주 사용하는 windows, word, excel ... 등등의 SW를 범용 SW라고 한다. 범용 SW는 수평시장을 타겟으로 한다. 즉, 어떤 특정한 비지니스 상황에 놓이거나 그런 류의 해결을 위해서 존재하는게 아니라 불특정한 사람들이 두루두루 넓은의미에서의 공통성만 가지는 SW를 말한다. 네이버의 검색서비스도 어쩌면 검색분야에 범용 SW라고 할 수 있다. 구글의 검색기능도 마찬가지 일 것이다. 커스컴 SW.. 더보기
踏雪野中去 - 답설야중거 : 눈덮힌 들판을 갈때... 첫직장에서 처음 들어간 회사는 지역의 규모있는 회사의 독립 법인이였다. 계열사의 전산개발을 담당하는 회사였는데, 그룹으로 운영되니 회사의 전체적인 분위기는 IT회사 답지 않았다. 오래된 회사여서 나름 역사가 있었다. 사사라고 해서 회사역사 책도 있었고 사시라고 해서 회사시도 있었다. 회사 시가 김구선생님의 애송시로 유명한 답설야중거... 였다. 그 회사에서는 멋있게 번역을 하여 회사 시로 삶았는데 정말 본문보다 멋있는 해석이였던 것 같다. '눈 덮힌 들판을 나홀로 가노라. 험하고 먼길 꼭 갈 필요는 없으나 내가 걷는 이길이 후인의 이정표가 되기에...'라는 해석이였던 걸로 기억한다. 생전 그런것도 모르고 살다가 들어보니 참 멋있는 시였다고 생각했다. 그런데 알고보니 이게 임연당(臨淵堂)이라는 조선 후기의.. 더보기
GIS 프로젝트 시작 with learning ReactJS 나는 어쩌다보니 세월이 흘러 팀장이 되었다. 우리팀은 두가지 일을 하고 있는데 하나는 빌링이고 하나는 GIS이다. 둘의 성격은 좀 동떨어져있다. 굳이 공통점을 찾는다면 둘다 C#을 필요로한다는거? 사실 C#이 아니어도 관계가 없다. 하지만 어쩌다 보니 두 프로젝트는 C#를 기본으로 가져가는 상황이 되었다. 빌링은 별다른 프레임워크가 필요가 없다. 그냥 C# Winform으로 개발을 하면된다. WPF도 있고 웹개발도 있겠지만 어쩌다보니 Winform 개발을 기반으로 8~9년전에 개발이 되었고 최근 개편을 하는 프로젝트도 실행환경의 문제로 포팅만 계획하여 진해하였기 때문에 C# winform 기반으로 포팅이 진행이 되었다. 작년부터 6월까지 빌링 포팅을 하는 쪽을 관심을 가지고 진행을 하고 있었다. 그런 와.. 더보기
개발 배포의 패러다임변화 뒤늦게 도커에 대해서 알게 되었고 이번에 교육을 통해서 정확하게 알게 되었다. 웹서버나 톰캣 서버 등을 셋팅하는 것에 편리한 점을 준다는 것은 예전에 몇가지 실습을 통해서 알고 있었지만 이번에 교육을 통해서 확실하게 알게 되었다. 어찌보면 참 늦게 알게 된 것이 너무나 후회되는 기술이다. 도커에 대한 설명은 정말 많은 곳에서 다루고 있기 때문에 도커를 이야기하기보다. 도커와 쿠버네티스를 배우고 알게 됨으로서 배포의 패러다임이 변화되었다는 것을 간단한 기록으로 남기고자 한다. 처음에 도커를 어렴풋이 이해했을때는 내가 설정해야되는 어떤 서버의 셋팅을 편하게 할 수 있는 유용한 도구쯤으로 이해를 하였다. 하지만 이번 교육을 받고 나니 개발해서 배포하는 패러다임이 변했다는 것을 알게 되었다. 도커의 기능적인 수.. 더보기
ClickOnce ClickOnce 도입배경 현지 진행하는 프로젝트는 빌링 프로젝트이다. 이 프로젝트는 레거시가 있는 프로젝트인데 닷넷 윈폼으로 개발이 되었다. 마음같아서는 비지니스로직까지 싹 분리해서 이쁘게 백엔드를 빼내고 UI가 웹 or WinForm, WPF 등으로 적용을 하고 싶지만 현실적인 예산과 범위는 그것을 허용하지 않는 계약이라서 포팅에 중점을 주고 WinForm으로 이관을 하고 있다. 배포 부분에서 어떻게 배포를 해야되나 많은 고민을 하였다. 자동배포를 해야되는데 배포서버를 따로 만들고 버전관리가 되도록해서 다른 프로젝트에서도 써먹을 웹 API를 닷넷코어 WebAPI로 개발을 하고 도커에 심어서 리눅스 서버에서 테스트까지 다 마쳤지만 배포과정에서 발생하는 프로그램 샐행과 해제 등을 고민하다가 그런 고민으로.. 더보기
출근? 꼭 해야되니? COVID-19를 극복하고 이제는 일상으로 돌아간다고 한다. 위드코로나. 지금 맡고 있는 프로젝트의 마무리를 위해서 재택근무를 한다고 회사에 이야기를 하고 재택을 시작한지 2주가 지났다. 그리고 다음 주에 회의가 있어서 서울에 올라왔다. 새로생긴 서대구역의 경험도 하고 간만에 숙소에 가니 구독하는 신문이 한아름 쌓여있다. 사무실에 잠시 나와서 풀리지 않는 문제에 대한 고민도 하고 풀이도 할 겸 나왔다. 내가 맡는 팀은 크게 두가지 일을 한다. 하나는 도시가스사의 빌링을 개발하고 유지관리하는 팀, 하나는 도시가스사 GIS관련 프로젝트를 구축하고 유지관리하는 팀 우리는 이 두분을 빌링과 GIS라고 부른다. 빌링 팀은 시스템을 포팅하는 프로젝트가 지금 당면한 주제이다. 포팅 프로젝트가 이제 곧 마무리가 필요한.. 더보기