본문 바로가기

전체 글

Tensorflow 환경셋팅 (GPU 사용) tensorflow gpu 사용과 함께 도커를 이용하기 위한 환경 셋팅(우분투 18.04 LST 기준) 우선적으로 tensorflow에서 제공하는 도커이미지를 사용하도록 한다. 편리한 개발을 위해서 jupyter notebook까지 설치된 환경을 텐서플로우에서는 제공하고 있다. 도커이미지명 tensorflow/tensorflow:lastest-gpu-jupyter 을 사용하게 되면 GPU 버전이 장착된 도커이미지를 사용할 수 있다. 하지만 도커이미지로는 GPU를 사용할 수 없다. GPU를 사용하기 위해서는 몇가지 필요사항이 있다. 1. nvidia-smi 가 설치되어있어야한다(nvidia cuda 드라이버가 설치 되어있어야 한다.) $ nvidia-smi #설치된 nvida 드라이버 확인 명령어 2. n.. 더보기
개발 배포의 패러다임변화 뒤늦게 도커에 대해서 알게 되었고 이번에 교육을 통해서 정확하게 알게 되었다. 웹서버나 톰캣 서버 등을 셋팅하는 것에 편리한 점을 준다는 것은 예전에 몇가지 실습을 통해서 알고 있었지만 이번에 교육을 통해서 확실하게 알게 되었다. 어찌보면 참 늦게 알게 된 것이 너무나 후회되는 기술이다. 도커에 대한 설명은 정말 많은 곳에서 다루고 있기 때문에 도커를 이야기하기보다. 도커와 쿠버네티스를 배우고 알게 됨으로서 배포의 패러다임이 변화되었다는 것을 간단한 기록으로 남기고자 한다. 처음에 도커를 어렴풋이 이해했을때는 내가 설정해야되는 어떤 서버의 셋팅을 편하게 할 수 있는 유용한 도구쯤으로 이해를 하였다. 하지만 이번 교육을 받고 나니 개발해서 배포하는 패러다임이 변했다는 것을 알게 되었다. 도커의 기능적인 수.. 더보기
ClickOnce ClickOnce 도입배경 현지 진행하는 프로젝트는 빌링 프로젝트이다. 이 프로젝트는 레거시가 있는 프로젝트인데 닷넷 윈폼으로 개발이 되었다. 마음같아서는 비지니스로직까지 싹 분리해서 이쁘게 백엔드를 빼내고 UI가 웹 or WinForm, WPF 등으로 적용을 하고 싶지만 현실적인 예산과 범위는 그것을 허용하지 않는 계약이라서 포팅에 중점을 주고 WinForm으로 이관을 하고 있다. 배포 부분에서 어떻게 배포를 해야되나 많은 고민을 하였다. 자동배포를 해야되는데 배포서버를 따로 만들고 버전관리가 되도록해서 다른 프로젝트에서도 써먹을 웹 API를 닷넷코어 WebAPI로 개발을 하고 도커에 심어서 리눅스 서버에서 테스트까지 다 마쳤지만 배포과정에서 발생하는 프로그램 샐행과 해제 등을 고민하다가 그런 고민으로.. 더보기
출근? 꼭 해야되니? COVID-19를 극복하고 이제는 일상으로 돌아간다고 한다. 위드코로나. 지금 맡고 있는 프로젝트의 마무리를 위해서 재택근무를 한다고 회사에 이야기를 하고 재택을 시작한지 2주가 지났다. 그리고 다음 주에 회의가 있어서 서울에 올라왔다. 새로생긴 서대구역의 경험도 하고 간만에 숙소에 가니 구독하는 신문이 한아름 쌓여있다. 사무실에 잠시 나와서 풀리지 않는 문제에 대한 고민도 하고 풀이도 할 겸 나왔다. 내가 맡는 팀은 크게 두가지 일을 한다. 하나는 도시가스사의 빌링을 개발하고 유지관리하는 팀, 하나는 도시가스사 GIS관련 프로젝트를 구축하고 유지관리하는 팀 우리는 이 두분을 빌링과 GIS라고 부른다. 빌링 팀은 시스템을 포팅하는 프로젝트가 지금 당면한 주제이다. 포팅 프로젝트가 이제 곧 마무리가 필요한.. 더보기
코딩테스트 관심에 빠져보자. 컴퓨터를 하며 심심할 떄 한버씩 들어가서 마음을 놓고 보는 '웃긴대학'이라는 사이트가 있다. 한번씩 들어가서 글을 읽고 있으면 피식 하면서 웃음이 나는 곳이다. 같은 회사에서 근무하는 최저연령의 직원은 틈이 날 때 어떤 사이트를 이용하는지 물어보았다. 그런데 의외의 답변이 왔다. 프로그래머스라는 곳에 가서 알고리즘 문제를 푼다는 것이다. 최소한 하루에 하나씩 풀려고 노력하며 그 기록을 깃허브에 남긴다는 것이다. 그러면서 같이 들어가서 보게된 프로그래머스라는 사이트는 개발자들의 기본기를 테스트를 할 수 있는 사이트였다. 예전 몇번들어가서 본적이 있었는데 막상 회사 직원이 꾸준히 그곳에서 무엇을 한다고 하니 나도 같이 그럼 해보자 하며 관심을 꾸준히 같이 한번 관심을 가져보자 하였다. 최근에 코딩테스트 관련.. 더보기
클린코드에 대한 단상 휴대폰으로 커뮤티니 앱에서 발견한 글이다. 읽어 보면서 나와 생각이 조금 다를 수 있다 판단하여 내 생각을 옮겨본다. 저분의 글에 대해서 댓글을 달고 토론을 할 수 있었으면 좋겠는데 그게 가능하지 않아서 여기에 남겨본다. "누군가 프로토타이핑 코드는 엔지니어링 가치를 포기하고 비지니스 가치를 선택한다고 판단할지 모르겠다. 하지만 내 생각은 다른다. 내가 아는 모든 엔지니어링의 정의는 제한된 자원을 목적에 맞게 가장 효율적으로 사용하는 것이라고 말한다. 상황에 따라선 프로토타이핑 코드가 최선의 엔지니어링일 수 있다" 라는 의견에 대한 반대 생각이다. 일단, '프로토타입코드'의 범위가 어디까지인지에 따라서 나는 반대가 될 수도 저 의견에 찬성이 될 수 있다고 생각한다. 탈고의 과정을 거친 코드인가? 개발자가.. 더보기
개발자 채용 최근 개발자 면접을 보면서 느낀점을 기록해본다. 넉두리 내가 소속해 있는 곳은 메이저 회사도 아니고 엄청난 대우를 해주는 회사도 아니다. 회사는 경력개발자를 채용이 불가능하다고 생각하고 항상 신입만을 채용하고 있는 상태이며 그런 신입들 조차도 적절하게 채용되지 않는 현실이다. 애써 채용한 신입들은 어느 정도의 경력이 쌓이면 이직을 준비하고 떠나간다. 여러가지 이유가 있겠지만 현실은 떠나간다는 것이다. 회사는 다시 신입을 채용하고 그리고 다시 이런 반복이 일어난다. 나의 포지션은 회사의 개발을 총괄하는 CTO 혹은 CIO의 역활이 아니니 이런 정책이나 방향을 정립해나갈 수는 없다. 하지만 현실은 나에게 항상 일어나고 있으며 이것은 지금 내가 속한 조직의 매우 약점이 될 수 밖에 없고 그 약점을 나는 몸으로.. 더보기
인터페이스에 대한 단상. 다양하게 해석되는 인터페이스 객체지향 프로그래밍에서 가장 핵심을 이루는 것은 클래스이다. 그리고그 옆에 인터페이스가 있다. 이 인터페이스라는 것에 대해서 다양한 해석이 존재한다. 처음에는 계약, 약속의 관점에서 이해를 하고 또 공부를 하였다. 어느 날은 다중상속이 불가능한 상황에서 인터페이스가 그 대안이라고 한다. 함수포인트가 없는 자바에서는 인터페이스가 그 대안이라고 말하기도 한다. 어디서인가는 추상화에 대해서 이야기를 한다. 추상화를 떠올리면 추상클래스도 있는데 이 추상클래스와 인터페이스를 비교하기도 한다. 인터페이스는 정말 다양하게 설명되고 다양하게 이해되고 있다. 하지만 마지막에 귀결되는 점은 인터페이스는 결국 클래스로 구현이 되어야 된다는 것이다. 추상클래스와 다른 점이라면 상속이라는 행위 없이.. 더보기