#자유로운의견교환 #익명게시판 #구성원간소통 #에티켓필수

제목군대에서 어떻게 개발 공부를 할 수 있을까2023-01-05 19:44
작성자

안녕하세요 소융 19학번 이예찬 학생입니다.

종강을 하면서 입대를 생각하는 남학생 분들이 많을 것 같은데, 제 군 경험을 바탕으로 군대에서 어떻게 개발 공부를 하면 좋을지 공유해보겠습니다.

저는 공군을 나왔기 때문에, 일정 부분 다른 군종(육군, 해군 등)과 차이점이 있을 수 있다는 점 양해 부탁드립니다. 

또한 군대는 부대 바이 부대가 굉장히 심한 곳이기 때문에, 아래 적은 내용이 모든 부대마다 적용되지는 않을 수 있다는 점 참고 바랍니다. 


우선 저는 공군 정보체계관리단이라는 곳에서 복무하다 왔습니다. 

https://namu.wiki/w/%EA%B3%B5%EA%B5%B0%EC%A0%95%EB%B3%B4%EC%B2%B4%EA%B3%84%EA%B4%80%EB%A6%AC%EB%8B%A8

전산 특기를 가진 병사들이 주로 오기 때문에, 정보체계관리단 내 병사들 중 70~80% 정도가 컴퓨터공학과 학생들로 이뤄져 있었고, 따라서 다른 병사들이 어떻게 개발 공부를 하는지 볼 수 있는 기회가 많았습니다.



# 사지방에서 개발 공부하기


군에서 가장 많이 보편적으로 하는 개발 공부는 아무래도 알고리즘 공부입니다.

사이버지식정보방(이하 사지방) 규정 상 개인 파일을 저장하거나 임의로 프로그램을 설치하는 것이 불가하기 때문에, 사지방의 PC를 이용해 자유롭게 개발 공부를 하는 데에는 제약이 있습니다. 하지만 알고리즘 공부의 경우, 알고리즘 online judge(백준, leetcode 등) + 온라인 IDE(구름 IDE, repl.it 등) 라는 조합으로 웹 환경에서 충분히 알고리즘을 공부할 수 있는 환경이 만들어지기 때문에 진입장벽이 낮은 편입니다. 실제로 제가 나온 부대의 경우 사지방 사용하는 인원 중 1/3에서 절반 정도가 코드 에디터를 열고 알고리즘 PS를 했었습니다.


사지방에서 알고리즘 공부 외의 개발을 하고자 한다면 제약이 큰 편입니다만, 원격 PC에 접속해 개발을 하는 방법이 존재하기는 합니다. 

AWS 서버에 접속하거나, 집에 있는 본인 컴퓨터에 원격 접속해 자기가 하고 싶은 개발을 제약 없이 할 수 있습니다.

실제로 원격 접속을 통해 웹 개발 하는 사람, Unity로 게임 개발하는 사람 등등 있었습니다.

하지만 사지방 규정 상 다른 PC에 원격 접속하는 것은 규정 위반이고, 징계를 받을 수 있다는 점을 유의해야 합니다.



# 인트라넷 컴퓨터로 개발 공부하기


군 내에서 사용하는 컴퓨터는 대부분 인터넷에 접속할 수 없습니다. 그 대신 군 자체 망(인트라넷)을 사용합니다.

그렇기 때문에 구글링 불가, 패키지 다운로드 불가 등등 개발 공부에 제약이 있지만, 개발 공부가 아예 불가능한 것은 아닙니다.


- javascript 

군대에서도 브라우저는 사용을 합니다.

크롬 브라우저를 이용해 자바스크립트 개발이 가능하고, 이 때 규정 위반 없이 개발이 가능하다는 장점이 있습니다.

쉽게 화면을 그릴 수 있기 때문에, 저희 부대에서는 2048, 지뢰찾기, 풍선타워디펜스, 스와이프 벽돌깨기, 체스, 전쟁시대, 크레이지 아케이드, 이상형 월드컵 등 많은 게임 개발이 javascript로 이뤄졌었습니다.


- python, R

인트라넷 육군 홈페이지에 들어가면 SW자료실이 있습니다. SW자료실에서 Anaconda와 RStudio를 다운로드받을 수 있습니다.

버전이 많이 옛날 것이기는 하지만, Anaconda의 경우 기본 탑재되는 라이브러리들을 사용할 수 있다는 것이 장점입니다. 

(numpy, pandas, sklearn, Flask 등등 다 사용하지도 못할 정도로 아주 많습니다)

머신러닝의 경우 데이터셋이 많이 없다는 것이 흠이지만, sklearn 붓꽃 데이터 등 기본적인 것들은 내장이 되어 있습니다.


- C#

Windows 10과 11의 경우, 기본으로 MSBuild와 C# 컴파일러가 설치되어 있습니다.

제 옆 사무실 선임 분이 C#을 이용해 업무용 프로그램과 물리엔진을 만들었던 기억이 납니다.


- 텍스트 에디터

공군 인트라넷 홈페이지의 소프트웨어 자료실에 들어가보면 sublime text를 다운로드 가능했던 것으로 기억합니다.

물론 메모장을 사용하셔도 코딩 가능합니다.


인터넷이 불가능해 라이브러리를 거의 사용할 수 없지만, 게임 제작, 자료구조 구현, 알고리즘 문제풀이 등등 하면 근무 시간 후딱 갑니다.


주의: 대부분의 군 내 컴퓨터는 프로그래밍 언어 사용이 허가되지 않은 경우가 많습니다. 방법은 알려드리지만 문제 발생 시 책임은 본인이 지셔야 합니다.



# 컴퓨터를 사용하지 못하는 상황에서 개발 공부하기


군에서 항상 컴퓨터 이용이 가능한 것은 아니기 때문에, 컴퓨터 사용이 불가능할 경우에도 무슨 공부를 할지 생각을 해봐야 합니다.

컴퓨터 이용이 불가능할 때 쉽게 할 수 있는 공부는 독서입니다. 저 같은 경우에도 사지방 이용이 불가능할 때 주로 책을 읽었는데, OS, 네트워크, 자료구조 등 CS 지식에 관련된 책들과, 디자인패턴, 리팩터링, 프로젝트 설계/관리, 개발방법론 관련 도서 등을 읽었습니다. 책의 선정 기준은 '이 지식이 쉽게 바뀌는 지식인가?'였습니다. 분야에 따라 책으로 읽기보다 온라인으로 정보를 접하는 것이 유리한 것이 있기 때문에, 책으로 읽는다고 해도 문제 없는 분야의 책이면서, 전역 후 앞으로의 개발에 도움이 되는 책들을 읽고자 했습니다.

https://www.narasarang.or.kr/pt4000/selectPt4000Bbsc.do?bbscId=195687

1년마다 1인 당 병 자기개발비 10만원이 지원되니, 자기개발비를 이용해 책을 구매해 읽는 것을 추천합니다.



# 기타 개발 공부


https://rokaf.airforce.mil.kr/sites/hackathon/index.do 

이외에도 개발에 관심 있는 사람들을 모아 경진대회에 참가할 수도 있습니다.

위 링크는 공군 해커톤입니다.


https://osam.kr/

국방오픈소스아카데미입니다.

저는 이용해보지 않았지만 컴퓨터공학/소프트웨어 개발 관련 온라인 무료 강의가 있으니 참고해보세요.



더 궁금한 점이 있다면, 또는 자신이 공유하고 싶은 것이 더 있다면 댓글로 남겨주세요.






댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)