<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>군인 개발자 코딩 일지</title>
    <link>https://armycode.tistory.com/</link>
    <description>군 복무중인 개발자가 직접 써본 AI툴과 개발 도구, 개발 공부 방법을 리뷰합니다.</description>
    <language>ko</language>
    <pubDate>Tue, 20 Oct 2026 23:57:34 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>armycode</managingEditor>
    <image>
      <title>군인 개발자 코딩 일지</title>
      <url>https://tistory1.daumcdn.net/tistory/8964302/attach/2e04eef2bae648a1a34368231dcbe6c6</url>
      <link>https://armycode.tistory.com</link>
    </image>
    <item>
      <title>군인 개발자의 하루 공부 루틴 - 일과 속에서 시간을 찾는 법</title>
      <link>https://armycode.tistory.com/29</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;군대는 하루 종일 바빠서 공부할 시간이 거의 없다.&quot; 처음 입대했을 때 저도 이렇게 생각했습니다. 기상부터 점호까지 일정이 빽빽하게 짜여 있으니, 따로 공부할 틈이 날 리 없다고 여겼습니다. 그런데 막상 하루를 시간 단위로 쪼개서 들여다보니, 생각보다 쓸 수 있는 자투리 시간이 많았습니다. 문제는 시간이 없는 게 아니라, 그 시간을 공부용으로 미리 배치해두지 않았다는 점이었습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;하루 종일 바쁘다&quot;는 생각이 놓치는 것&lt;/li&gt;
&lt;li&gt;하루 일과를 공부 관점에서 다시 쪼개보기&lt;/li&gt;
&lt;li&gt;바쁜 날 기준으로 최소 공부량 먼저 정하기&lt;/li&gt;
&lt;li&gt;PC 없는 시간대 활용법 - 기상부터 점심까지&lt;/li&gt;
&lt;li&gt;일과 후 개인정비 시간 - 가장 길게 쓸 수 있는 구간&lt;/li&gt;
&lt;li&gt;싸지방 시간 - 개념 공부에서 직접 코딩, 기록까지&lt;/li&gt;
&lt;li&gt;GPT는 답안지가 아니라 공부 도구로 쓰기&lt;/li&gt;
&lt;li&gt;코딩테스트는 따로 말고 개념과 연결해서 풀기&lt;/li&gt;
&lt;li&gt;한눈에 보는 하루 공부 루틴표&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;하루 종일 바쁘다&quot;는 생각이 놓치는 것&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대에서 공부 계획을 세우려고 하면 가장 먼저 드는 생각이 &quot;시간이 없다&quot;입니다. 기상, 식사, 훈련, 근무, 청소까지 일정이 촘촘하게 짜여 있으니 당연한 반응입니다. 그래서 &quot;남는 시간에 하루 3시간씩 공부해야겠다&quot;처럼 의욕 넘치는 계획을 세우기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 실제 생활은 계획대로만 움직이지 않습니다. 일과가 늦게 끝나거나 개인정비 시간이 줄어드는 날이 생기고, 싸지방에 가더라도 이용 시간이 제한돼 있는 경우가 많습니다. 하루를 시간 단위로 펼쳐보면 완전히 비어 있는 긴 시간은 없어도, 짧게 쓸 수 있는 자투리 시간은 여러 번 생깁니다. 10분, 15분처럼 짧은 시간은 &quot;이걸로 뭘 하겠어&quot;라는 생각에 그냥 흘려보내기 쉽지만, 미리 용도를 정해두면 하루 전체로 봤을 때 꽤 많은 공부 시간이 모입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;하루 일과를 공부 관점에서 다시 쪼개보기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 하루 일과를 떠올릴 때는 &quot;훈련&quot;, &quot;근무&quot;, &quot;개인정비&quot;처럼 큰 덩어리로 생각합니다. 하지만 공부 계획을 세울 때는 이 덩어리를 더 잘게 쪼개서 보는 게 도움이 됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기상 후 아침 식사 전까지&lt;/li&gt;
&lt;li&gt;오전 일과 중 쉬는 시간&lt;/li&gt;
&lt;li&gt;점심 식사 후 남는 시간&lt;/li&gt;
&lt;li&gt;일과 후 개인정비 시간&lt;/li&gt;
&lt;li&gt;싸지방을 이용할 수 있는 시간&lt;/li&gt;
&lt;li&gt;저녁 점호 전후&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 나눠보면 &quot;하루 중 언제, 얼마나 쓸 수 있는지&quot;가 훨씬 구체적으로 보입니다. 중요한 건 각 구간마다 할 수 있는 공부의 종류가 다르다는 점입니다. 컴퓨터를 쓸 수 있는 시간과 그렇지 않은 시간에 맞는 공부를 미리 배치해두면, 시간이 날 때마다 &quot;뭘 하지&quot;를 고민하는 시간을 줄일 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;바쁜 날 기준으로 최소 공부량 먼저 정하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루 4시간을 목표로 잡았다가 며칠 뒤 지치는 것보다, 하루 1시간을 정해놓고 한 달 동안 계속하는 편이 훨씬 현실적입니다. 개발 공부는 단기간에 끝나는 공부가 아니기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 군 생활에서는 예상하지 못한 일정이 자주 생기기 때문에 &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;최대 공부 시간보다 최소 공부 시간을 정하는 방법&lt;/b&gt;&lt;/span&gt;을 추천합니다.&lt;/p&gt;
&lt;div&gt;상황최소 공부량여유가 있을 때
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;바쁜 날&lt;/td&gt;
&lt;td&gt;개념 20분만 읽기&lt;/td&gt;
&lt;td&gt;쉬운 문제 1개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일반적인 날&lt;/td&gt;
&lt;td&gt;1시간&lt;/td&gt;
&lt;td&gt;1시간 30분&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;시간이 많은 날&lt;/td&gt;
&lt;td&gt;2시간&lt;/td&gt;
&lt;td&gt;작은 프로젝트까지 진행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;너무 피곤한 날&lt;/td&gt;
&lt;td&gt;복습 10분&lt;/td&gt;
&lt;td&gt;어제 틀린 문제 정리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 상황별 최소 기준을 미리 정해두면, 하루 공부량이 달라져도 루틴 자체는 끊기지 않습니다. &quot;오늘은 못 했으니 내일부터 다시 하자&quot;는 생각이 며칠씩 이어지는 걸 막는 가장 현실적인 방법입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;PC 없는 시간대 활용법 - 기상부터 점심까지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기상 직후부터 점심시간까지는 컴퓨터를 쓸 수 없는 짧은 자투리 시간이 여러 번 생깁니다. 이 시간은 새로운 걸 배우기보다, 복습과 준비 용도로 쓰는 게 현실적입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;기상 후 아침&lt;/b&gt;&lt;/span&gt;: 어제 배운 개념 하나를 머릿속으로 다시 설명해보고, 오늘 싸지방 시간에 무엇을 할지 하나만 정해둡니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;오전 일과 중&lt;/b&gt;&lt;/span&gt;: 전날 헷갈렸던 개념을 떠올려보거나, 수첩이 있다면 오늘 풀어볼 문제의 접근 방식을 간단히 적어둡니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;점심시간&lt;/b&gt;&lt;/span&gt;: 기술 블로그나 개발 관련 글을 가볍게 훑어보고, 오후에 쓸 수 있는 시간이 있다면 그 시간에 할 일을 미리 정해둡니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 시간들의 공통 목표는 &quot;많이 배우는 것&quot;이 아니라 &quot;공부와 완전히 끊어지지 않는 것&quot;입니다. 짧은 시간이라도 계속 의식하고 있으면, 본격적으로 책상 앞에 앉았을 때 다시 집중하기까지 걸리는 시간이 줄어듭니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;일과 후 개인정비 시간 - 가장 길게 쓸 수 있는 구간&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일과가 끝난 뒤 개인정비 시간은 하루 중 가장 길게 확보할 수 있는 구간입니다. 싸지방을 이용할 수 없는 날이라도, 이 시간은 공부에 쓸 수 있는 가장 중요한 자원입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;수첩이나 노트에 오늘 배울 개념을 정리하거나, 어제 틀린 문제를 다시 풀어봅니다.&lt;/li&gt;
&lt;li&gt;손코딩으로 로직을 먼저 짜보고, 나중에 싸지방에서 바로 타이핑할 수 있도록 준비해둡니다.&lt;/li&gt;
&lt;li&gt;컨디션이 괜찮은 날에는 이 시간 전체를 하나의 주제에 집중해서 씁니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 시간을 어떻게 쓰느냐에 따라 하루 전체 공부의 질이 크게 달라집니다. 다만 매일 똑같이 길게 쓸 수 있는 건 아니기 때문에, 짧은 날과 긴 날을 구분해서 계획을 유연하게 잡는 게 좋습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;싸지방 시간 - 개념 공부에서 직접 코딩, 기록까지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방 이용 시간은 하루 중 컴퓨터로 직접 실습할 수 있는 거의 유일한 시간입니다. 그만큼 이 시간은 &quot;개념 공부 &amp;rarr; 직접 코딩 &amp;rarr; 기록&quot; 순서로 미리 구성해두고 들어가는 게 중요합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;개념 공부&lt;/b&gt;&lt;/span&gt;: 오늘 다룰 주제를 하나만 정합니다. 예를 들어 조건문, 반복문, 배열처럼 범위를 좁혀야 짧은 시간 안에 끝까지 다룰 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;직접 코딩&lt;/b&gt;&lt;/span&gt;: 예제를 한 번 따라 작성한 뒤, 코드를 보지 않고 다시 작성해보고, 숫자나 조건을 바꿔가며 반복 연습합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;기록&lt;/b&gt;&lt;/span&gt;: 시간이 끝나기 전 마지막 몇 분은 오늘 배운 것, 틀린 것, 다음에 이어서 할 것을 짧게 남깁니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방 시간이 짧다면 복잡한 문제보다 쉬운 문제를 여러 번 반복하는 쪽이 낫습니다. 반대로 시간이 길게 확보된 날에는 미뤄뒀던 어려운 개념이나 작은 프로젝트에 투자하는 식으로 유연하게 조정하면 됩니다. 점호 전후처럼 PC를 다시 쓸 수 없는 시간이 돌아오면, 이 기록을 다시 한번 짧게 훑어보는 것으로 하루를 마무리하면 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;GPT는 답안지가 아니라 공부 도구로 쓰기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘은 코딩 공부에서 GPT를 빼놓기 어렵습니다. 모르는 문법을 질문할 수도 있고, 오류 메시지를 보여주면서 원인을 분석할 수도 있습니다. 다만 초보자라면 코드를 전부 만들어달라고 요청하는 습관은 조심할 필요가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 질문보다는,&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;이 문제 정답 코드 만들어줘.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 질문하는 편이 훨씬 남는 게 많습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;내가 작성한 코드에서 문제가 발생하는 이유를 설명해줘. 정답 코드는 바로 알려주지 말고 힌트부터 줘.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 질문하면 GPT가 단순한 코드 생성기가 아니라 학습 도구가 됩니다. 특히 &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;먼저 직접 고민하고, 그다음 GPT에게 질문하는 순서&lt;/b&gt;&lt;/span&gt;를 지키면, 짧은 싸지방 시간 안에서도 생각하는 과정을 놓치지 않을 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;코딩테스트는 따로 말고 개념과 연결해서 풀기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대에서 개발 공부를 하다 보면 문법 공부와 코딩테스트 공부를 따로 해야 할지 고민하게 됩니다. 초보자라면 두 공부를 완전히 분리하기보다는 연결해서 하는 게 효율적입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배열을 공부했다면 배열을 사용하는 쉬운 프로그래머스 문제를 하나 풀어봅니다.&lt;/li&gt;
&lt;li&gt;반복문을 공부했다면 반복문을 활용하는 문제로 바로 이어갑니다.&lt;/li&gt;
&lt;li&gt;쉬운 문제 1개를 직접 풀고, 틀렸다면 왜 틀렸는지 정리하는 것만으로도 충분합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 개념을 배운 뒤 바로 써보는 경험을 하게 됩니다. 정답을 맞힌 문제도 다른 방식으로 한 번 더 풀어보면 좋습니다. 코딩테스트 공부의 목표는 문제 개수를 늘리는 게 아니라, 문제를 해결하는 방법 자체를 익히는 것이기 때문입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;한눈에 보는 하루 공부 루틴표&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 살펴본 시간대별 활용법을 정리하면 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;시간대특징추천 활동
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;기상 후 아침&lt;/td&gt;
&lt;td&gt;매우 짧음, PC 불가&lt;/td&gt;
&lt;td&gt;전날 복습, 오늘 할 일 정하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;오전 일과 중&lt;/td&gt;
&lt;td&gt;짧은 자투리, PC 불가&lt;/td&gt;
&lt;td&gt;개념 떠올리기, 수첩 메모&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;점심시간&lt;/td&gt;
&lt;td&gt;애매하게 비는 시간&lt;/td&gt;
&lt;td&gt;가벼운 글 읽기, 오후 계획 세우기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일과 후 개인정비&lt;/td&gt;
&lt;td&gt;비교적 긴 시간, PC 가능 여부 다양&lt;/td&gt;
&lt;td&gt;손코딩, 집중 학습, 문제 풀이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;싸지방 이용 시간&lt;/td&gt;
&lt;td&gt;짧지만 PC 사용 가능&lt;/td&gt;
&lt;td&gt;개념 공부&amp;rarr;직접 코딩&amp;rarr;기록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;저녁 점호 전후&lt;/td&gt;
&lt;td&gt;매우 짧음, PC 불가&lt;/td&gt;
&lt;td&gt;오늘 기록 다시 훑어보기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 표에서 중요한 건, 시간대마다 &quot;할 수 있는 공부의 종류&quot;가 다르다는 점입니다. PC가 가능한 시간과 불가능한 시간을 구분해서 미리 역할을 나눠두면, 하루 전체가 하나의 흐름으로 자연스럽게 이어집니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;군대에서 하루에 몇 시간 정도 코딩 공부를 해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 정해진 정답은 없습니다. 처음에는 하루 1시간 정도를 기준으로 시작하고, 생활에 무리가 없다면 조금씩 늘리는 걸 추천합니다. 시간이 부족한 날에는 10~20분 정도의 최소 공부만 해도 괜찮습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;PC를 쓸 수 없는 시간에 하는 공부가 정말 도움이 되나요?&lt;/span&gt;&lt;/b&gt; A. 도움이 됩니다. 직접 실행해보는 것만큼은 아니지만, 미리 생각을 정리해두면 싸지방 시간에 바로 타이핑만 하면 되기 때문에 실제 실습 시간을 훨씬 밀도 있게 쓸 수 있습니다. PC 없는 시간은 실습을 대체하는 게 아니라, 실습을 준비하는 시간으로 보는 게 맞습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;GPT를 많이 사용하면 코딩 실력이 떨어지지 않나요?&lt;/span&gt;&lt;/b&gt; A. 사용 방법에 따라 달라집니다. 코드를 전부 만들어달라고 하고 그대로 복사하면 직접 생각하는 시간이 줄어들 수 있습니다. 반대로 힌트, 오류 원인, 개념 설명에 활용하면 공부를 도와주는 도구로 쓸 수 있습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대에서 공부 시간이 부족하다고 느껴진다면, 하루 전체를 하나의 덩어리로 보지 말고 시간대별로 쪼개서 다시 살펴보는 걸 추천합니다. 각 구간에 맞는 역할을 미리 정해두고, 바쁜 날을 위한 최소 공부량까지 정해두면, 짧은 자투리 시간들이 모여 하루 전체의 공부량을 채워줍니다. 오늘 하루를 돌아보며, 어느 시간대를 가장 먼저 공부 시간으로 바꿔볼 수 있을지부터 찾아보는 걸 추천합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>군생활&amp;amp;개발자</category>
      <category>ChatGPT코딩공부</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>싸지방코딩</category>
      <category>일과시간활용</category>
      <category>자투리시간공부</category>
      <category>초보개발자</category>
      <category>코딩공부습관</category>
      <category>코딩테스트준비</category>
      <category>하루루틴</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/29</guid>
      <comments>https://armycode.tistory.com/29#entry29comment</comments>
      <pubDate>Tue, 6 Oct 2026 17:30:17 +0900</pubDate>
    </item>
    <item>
      <title>군인 개발자가 직접 경험한 바이브(클로드) 코딩 후기와 초보자를 위한 실전 가이드</title>
      <link>https://armycode.tistory.com/28</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이브 코딩은 이미 실력 있는 개발자가 작업 속도를 높이려고 쓰는 방식이라고 생각하기 쉽습니다. 코드를 처음부터 끝까지 이해하고 있어야 AI가 만든 결과물도 제대로 판단할 수 있을 테니, 초보자에게는 아직 이르다고 여기는 것입니다. 그런데 실제로 싸지방에서 몇 번 시도해보니 생각이 조금 달라졌습니다. 오히려 초보 개발자일수록, &quot;이게 왜 이렇게 동작하지?&quot;를 스스로 물어보며 쓰면 꽤 괜찮은 학습 도구가 되었습니다. 이번 글에서는 설치 없이 브라우저만으로 클로드를 활용해 바이브 코딩을 시도해본 경험을 정리해봤습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;바이브 코딩은 전문 개발자의 영역이라는 생각&lt;/li&gt;
&lt;li&gt;바이브 코딩이 정확히 무엇인가&lt;/li&gt;
&lt;li&gt;싸지방에서 시도할 수 있었던 이유&lt;/li&gt;
&lt;li&gt;실전 진행 단계, 아이디어 정리부터 피드백까지&lt;/li&gt;
&lt;li&gt;실제로 만들어본 것: 작은 프로그램 하나&lt;/li&gt;
&lt;li&gt;좋았던 점, 결과물이 바로 눈앞에 보인다&lt;/li&gt;
&lt;li&gt;아쉬웠던 점, 환각 현상과 과의존 주의하기&lt;/li&gt;
&lt;li&gt;컴활 공부에도 활용해본 후기&lt;/li&gt;
&lt;li&gt;좋은 결과를 얻는 프롬프트 작성법&lt;/li&gt;
&lt;li&gt;알고리즘 공부와는 구분해서 써야 하는 이유&lt;/li&gt;
&lt;li&gt;한눈에 보는 바이브 코딩 활용 가능표&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;바이브 코딩은 전문 개발자의 영역이라는 생각&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이브 코딩이라는 말을 처음 들으면, 이미 코드를 자유자재로 다루는 사람이 반복 작업을 줄이려고 쓰는 방식처럼 느껴집니다. 기초가 없는 초보자가 쓰면 결과물이 왜 그렇게 나왔는지도 모른 채 코드만 받아 쓰게 될 거라고 생각하기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 실제로 써보면, 초보자에게 오히려 더 유용한 지점이 있습니다. 바이브 코딩의 핵심은 결과를 즉시 눈으로 확인할 수 있다는 것인데, 이 즉각적인 피드백이 &quot;내가 설명한 요구사항이 코드로 어떻게 번역되는지&quot;를 관찰하는 좋은 기회가 됩니다. 물론 아무 생각 없이 결과만 받아 쓰면 배우는 게 없지만, &quot;왜 이렇게 만들었지&quot;를 매번 확인하는 습관을 들이면 이야기가 달라집니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;바이브 코딩이 정확히 무엇인가&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이브 코딩은 코드를 한 줄씩 직접 작성하는 대신, 원하는 결과를 자연어로 설명하면 AI가 코드를 작성하고 그 결과를 바로 실행해서 보여주는 방식의 개발을 말합니다. 기존 개발이 모든 과정을 직접 타이핑하는 방식이었다면, 바이브 코딩에서는 내가 &quot;기획자이자 검수자&quot; 역할을, AI가 &quot;실무 작성자&quot; 역할을 맡는 식으로 역할이 나뉩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클로드의 경우 대화창에 &quot;이런 기능을 가진 프로그램을 만들어줘&quot;라고 설명하면, 코드를 작성하는 동시에 화면 옆 패널(아티팩트)에 HTML이나 간단한 웹 페이지 형태의 실행 결과를 바로 띄워줍니다. 결과가 마음에 들지 않으면 &quot;이 부분을 이렇게 바꿔줘&quot;라고 대화를 이어가며 수정하는 식으로 작업이 진행됩니다. 코드를 직접 타이핑하는 과정보다 &quot;무엇을 원하는지 설명하고 확인하는&quot; 과정이 중심이 된다는 점이 기존 개발 방식과 가장 큰 차이입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;싸지방에서 시도할 수 있었던 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방에서는 별도 프로그램을 설치할 수 없다 보니, 처음에는 바이브 코딩도 당연히 불가능할 거라고 생각했습니다. 하지만 이 방식은 브라우저에서 클로드 웹사이트에 접속하는 것만으로 사용할 수 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 작성하고 실행한 결과를 보여주는 기능이 별도 설치 없이 웹페이지 안에서 바로 동작하기 때문에, 로컬 개발 환경을 구축할 필요가 없었습니다. 복잡한 명령줄 도구나 개발 환경을 따로 설치해야 하는 방식이었다면 싸지방에서는 애초에 시도조차 못 했을 텐데, 웹 기반으로 결과까지 확인할 수 있다는 점이 가장 큰 차이였습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;실전 진행 단계, 아이디어 정리부터 피드백까지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 몇 번은 막연하게 대화를 시작했다가 원하는 결과와 다른 방향으로 흘러가곤 했습니다. 몇 번의 시행착오 끝에 다음 순서로 진행하니 훨씬 수월했습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;아이디어 정리&lt;/b&gt;&lt;/span&gt;: 메모장에 만들고 싶은 기능의 목적과 조건을 먼저 한글로 정리합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;프롬프트 입력&lt;/b&gt;&lt;/span&gt;: 정리한 내용을 바탕으로 클로드에 구체적으로 설명해 초기 결과물을 받습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;1차 확인&lt;/b&gt;&lt;/span&gt;: 화면 옆에 뜨는 미리보기로 의도대로 동작하는지 바로 확인합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;필요시 추가 테스트&lt;/b&gt;&lt;/span&gt;: 더 자세한 동작을 확인하고 싶다면 코드를 복사해 다른 웹 기반 에디터에서 추가로 테스트해볼 수도 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;피드백 반복&lt;/b&gt;&lt;/span&gt;: 오류나 수정하고 싶은 부분을 다시 설명하며 결과물을 다듬어갑니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 단계를 나눠두니, 대화가 산으로 가는 일이 확실히 줄었습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;실제로 만들어본 것: 작은 프로그램 하나&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음부터 거창한 걸 만들기보다, 평소 필요했던 작은 도구 하나를 만들어보기로 했습니다. 알고리즘 공부를 하면서 오늘 푼 문제와 걸린 시간을 기록해두고 싶었는데, 매번 메모장에 적는 게 번거롭던 참이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;문제 이름, 난이도, 걸린 시간을 입력하면 목록으로 쌓이고, 날짜별로 몇 문제를 풀었는지 한눈에 볼 수 있는 간단한 기록 도구를 만들어줘&quot;라고 설명했더니, 몇 번의 대화를 주고받는 사이에 실제로 쓸 수 있는 수준의 결과물이 만들어졌습니다. 입력 폼, 목록 화면, 간단한 통계까지 포함된 형태였습니다. 혼자서 처음부터 이 정도를 구현하려면 꽤 오랜 시간이 걸렸을 텐데, 대화 몇 번으로 뼈대가 완성된다는 점이 인상 깊었습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;좋았던 점, 결과물이 바로 눈앞에 보인다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 좋았던 점은 머릿속으로만 그리던 결과물을 즉시 눈으로 확인할 수 있다는 것이었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드를 다 작성하고 실행해봐야 알 수 있던 결과를, 설명을 입력하는 즉시 확인할 수 있었습니다.&lt;/li&gt;
&lt;li&gt;마음에 들지 않는 부분을 &quot;이 색을 더 차분하게&quot;, &quot;이 버튼을 위로 옮겨줘&quot;처럼 구체적으로 요청하면 바로 반영된 결과를 다시 보여줘서, 디자인이나 레이아웃을 다듬는 과정이 특히 수월했습니다.&lt;/li&gt;
&lt;li&gt;평소라면 검색하면서 하나씩 찾아봤을 문법이나 라이브러리 사용법을, 결과물과 함께 코드로 바로 확인할 수 있어 학습 자료로도 쓸 만했습니다.&lt;/li&gt;
&lt;li&gt;초보자가 가장 좌절하기 쉬운 &quot;오타 하나 때문에 몇 시간 막히는&quot; 경험이 줄어드니, 세부 문법보다 &quot;어떤 기능을, 어떤 순서로 동작하게 할 것인가&quot;라는 구조적 사고에 더 집중할 수 있었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;아쉬웠던 점, 환각 현상과 과의존 주의하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좋은 점만 있었던 것은 아닙니다. 몇 가지는 분명히 조심해야 할 부분이었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;결과물이 그럴듯하게 동작한다고 해서 코드 자체가 항상 최선의 방식인 것은 아니었습니다. 비효율적인 구조나 불필요한 코드가 섞여 있는 경우도 있어서, 결과만 보고 &quot;다 맞다&quot;고 넘기면 안 된다는 걸 느꼈습니다.&lt;/li&gt;
&lt;li&gt;존재하지 않는 라이브러리나 함수를 마치 실제로 있는 것처럼 제시하는 환각 현상도 가끔 있었습니다. 특히 낯선 기능을 다룰 때는 생성된 코드를 그대로 믿기보다, 실제로 동작하는지 한 번 더 확인하는 습관이 필요했습니다.&lt;/li&gt;
&lt;li&gt;생성된 코드를 이해하지 않고 계속 쌓아가면, 나중에 작은 수정 하나도 혼자 힘으로 할 수 없는 상태가 될 수 있다는 위험도 느꼈습니다. 복사와 붙여넣기만 반복하기보다, 가끔은 직접 타이핑해보는 연습이 필요하다고 느꼈습니다.&lt;/li&gt;
&lt;li&gt;군 내부 자료나 보안이 필요한 정보는 어떤 경우에도 입력하면 안 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;컴활 공부에도 활용해본 후기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의외로 쓸모 있었던 부분이 컴활 공부였습니다. 이 블로그에서 다뤘던 컴활 1급의 VBA 프로시저나 엑셀 함수 중첩은 문제집 해설만으로는 이해가 더딘 경우가 많았는데, 클로드에게 상황을 설명하면 원리와 함께 풀어서 알려주는 방식이 꽤 도움이 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 &quot;A열과 B열이 특정 조건을 동시에 만족할 때 C열의 값을 합산하는 수식을 만들고 싶다&quot;처럼 원하는 동작을 설명하면, 수식과 함께 각 부분이 왜 그렇게 구성되는지 설명을 받을 수 있었습니다. 다만 실제 시험장에서는 AI를 쓸 수 없으므로, 원리를 이해한 뒤에는 반드시 직접 손으로 풀어보는 연습을 병행해야 한다는 점은 변하지 않았습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;좋은 결과를 얻는 프롬프트 작성법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몇 번 시행착오를 겪고 나니, 질문을 구체적으로 쓸수록 결과물의 품질이 확실히 달라진다는 걸 알게 되었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;맥락 제공&lt;/b&gt;&lt;/span&gt;: &quot;지금 알고리즘 공부 기록용으로 쓸 간단한 웹 페이지를 만들고 있어&quot;처럼 지금 하려는 작업의 배경을 먼저 설명합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;제약 조건 명시&lt;/b&gt;&lt;/span&gt;: &quot;별도 라이브러리 없이 기본 기능만으로 만들어줘&quot;처럼 원하는 범위를 명확히 정해줍니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;단계별 요청&lt;/b&gt;&lt;/span&gt;: 한 번에 모든 기능을 요청하기보다, &quot;먼저 화면 레이아웃만 만들고, 기능은 다음에 추가하자&quot;처럼 단계를 나눠서 요청하면 결과물을 더 꼼꼼히 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;구체적인 수정 요청&lt;/b&gt;&lt;/span&gt;: &quot;이 부분이 이상해&quot;보다 &quot;이 버튼을 누르면 목록이 사라지는 문제가 있어&quot;처럼 현상을 구체적으로 설명하면 훨씬 정확한 수정을 받을 수 있었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;알고리즘 공부와는 구분해서 써야 하는 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 블로그에서 계속 강조해온 것처럼, 알고리즘 공부는 문제를 스스로 분석하고 코드로 옮기는 능력을 기르는 과정입니다. 바이브 코딩은 이 과정과는 목적이 다릅니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;알고리즘 문제 풀이: 직접 사고하고 구현하는 능력을 기르는 것이 목적이므로, 바이브 코딩에 기대지 않는 것이 좋습니다.&lt;/li&gt;
&lt;li&gt;작은 프로젝트나 도구 제작: 빠르게 결과물을 만들어보고, 그 코드를 읽으며 배우는 용도로는 바이브 코딩이 유용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 둘을 구분하지 않고 모든 공부를 바이브 코딩으로 해결하려 하면, 결과물은 쌓이지만 정작 코딩테스트나 면접에서 필요한 실력은 따라오지 않을 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;11. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;한눈에 보는 바이브 코딩 활용 가능표&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;상황바이브 코딩 추천 여부이유
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;알고리즘 문제 풀이&lt;/td&gt;
&lt;td&gt;비추천&lt;/td&gt;
&lt;td&gt;직접 사고하는 능력을 길러야 하는 영역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;작은 도구&amp;middot;프로젝트 제작&lt;/td&gt;
&lt;td&gt;추천&lt;/td&gt;
&lt;td&gt;빠른 프로토타입과 학습 자료로 유용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;컴활 VBA&amp;middot;수식 원리 이해&lt;/td&gt;
&lt;td&gt;추천&lt;/td&gt;
&lt;td&gt;해설보다 풀어서 설명받기 좋음(단, 시험장 반입 불가)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;디자인&amp;middot;레이아웃 다듬기&lt;/td&gt;
&lt;td&gt;추천&lt;/td&gt;
&lt;td&gt;즉각적인 피드백이 특히 강점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코드 전체를 이해 없이 누적&lt;/td&gt;
&lt;td&gt;비추천&lt;/td&gt;
&lt;td&gt;나중에 혼자 수정이 어려워짐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;새로운 문법&amp;middot;라이브러리 탐색&lt;/td&gt;
&lt;td&gt;조건부 추천&lt;/td&gt;
&lt;td&gt;결과만 받지 말고 실제 동작까지 확인할 것&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;12. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;코딩을 전혀 모르는 완전 초보자도 바이브 코딩만으로 뭔가 만들 수 있나요?&lt;/span&gt;&lt;/b&gt; A. 간단한 웹 페이지나 작은 기능 정도는 가능합니다. 다만 원하는 결과를 정확히 설명하고 발생한 문제를 해결하려면, 변수&amp;middot;조건문&amp;middot;반복문 같은 최소한의 기초 개념은 함께 익혀두는 것을 추천합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;무료 버전으로도 바이브 코딩을 충분히 해볼 수 있나요?&lt;/span&gt;&lt;/b&gt; A. 기본적인 학습과 작은 결과물 제작 정도는 무료로도 충분히 가능합니다. 다만 사용량 제한은 계속 바뀔 수 있으니, 필요하면 공식 페이지에서 현재 조건을 확인하는 것을 추천합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;코딩테스트 준비에도 바이브 코딩을 활용해도 되나요?&lt;/span&gt;&lt;/b&gt; A. 문제 풀이 자체에 활용하는 것은 추천하지 않습니다. 코딩테스트는 스스로 논리를 설계하는 능력을 평가하기 때문에, 바이브 코딩에 익숙해지면 오히려 실전에서 불리해질 수 있습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이브 코딩은 전문 개발자만을 위한 방식이 아니라, 오히려 초보 개발자가 결과물을 빠르게 눈으로 확인하며 배우기에 좋은 도구였습니다. 다만 모든 공부를 이 방식으로 대체하려 하기보다, 알고리즘 문제 풀이처럼 직접 사고해야 하는 영역과 작은 프로젝트&amp;middot;개념 이해를 빠르게 도와주는 영역을 구분해서 쓰는 것이 핵심이라고 느꼈습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다. 부대별 인터넷 이용 규정은 다를 수 있으므로 반드시 본인 부대의 규정을 먼저 확인하시기 바랍니다.&lt;/p&gt;</description>
      <category>AI툴 리뷰</category>
      <category>ai개발도구</category>
      <category>AI코딩</category>
      <category>claude</category>
      <category>개발자취업준비</category>
      <category>군대자격증</category>
      <category>군인개발자</category>
      <category>바이브코딩</category>
      <category>싸지방코딩</category>
      <category>초보개발자</category>
      <category>클로드</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/28</guid>
      <comments>https://armycode.tistory.com/28#entry28comment</comments>
      <pubDate>Sun, 4 Oct 2026 17:30:36 +0900</pubDate>
    </item>
    <item>
      <title>ChatGPT로 코딩 공부해본 후기 - 초보 개발자가 실제로 써본 이야기</title>
      <link>https://armycode.tistory.com/27</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;ChatGPT만 있으면 코딩 공부는 다 되는 거 아니야?&quot; 처음 싸지방에서 ChatGPT를 켰을 때 저도 이런 기대를 했습니다. 모르는 문법을 물어보면 바로 답이 나오고, 막힌 코드를 붙여넣으면 고쳐주기까지 하니 이보다 편한 공부 도구가 없어 보였습니다. 그런데 몇 달을 써보니 생각이 달라졌습니다. 편하게 쓰는 것과, 실력이 느는 방식으로 쓰는 것은 전혀 다른 이야기였습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;ChatGPT만 있으면 다 된다&quot;는 생각이 놓친 것&lt;/li&gt;
&lt;li&gt;처음엔 정답 코드부터 요청했다가 생긴 문제&lt;/li&gt;
&lt;li&gt;질문 방식을 바꾸고 나서 달라진 점&lt;/li&gt;
&lt;li&gt;오류가 발생했을 때 활용한 3단계 방법&lt;/li&gt;
&lt;li&gt;환각(Hallucination) 현상, 검증 없이 믿으면 안 되는 이유&lt;/li&gt;
&lt;li&gt;코드 리뷰 요청하는 법 - 그대로 받지 않고 제대로 쓰는 법&lt;/li&gt;
&lt;li&gt;실력을 끌어올린 프롬프트 패턴 3가지&lt;/li&gt;
&lt;li&gt;초보자가 빠지기 쉬운 복사-붙여넣기의 함정&lt;/li&gt;
&lt;li&gt;한눈에 보는 상황별 활용 가능표&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;ChatGPT만 있으면 다 된다&quot;는 생각이 놓친 것&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩을 처음 시작할 때 ChatGPT는 정말 매력적인 도구처럼 보입니다. 문법을 몰라도 물어보면 설명해주고, 오류가 나도 코드를 붙여넣으면 원인을 찾아줍니다. 그래서 &quot;이 정도면 강의나 책이 따로 필요 없지 않을까&quot;라는 생각까지 든 적이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에는 에러 메시지가 뜨면 검색창에 그대로 복사해서 검색하는 게 전부였습니다. 검색 결과로 나오는 글들은 대부분 전문 용어로 가득 차 있어 읽는 것 자체가 쉽지 않았습니다. ChatGPT는 이 과정을 건너뛰고 내 상황에 맞춰 정리된 답을 바로 준다는 점에서 확실히 편했습니다. 하지만 몇 달간 써보니, ChatGPT가 대신 풀어준 문제는 제 머릿속에 거의 남지 않았습니다. 편리함과 실력 향상은 반드시 같은 방향으로 가지 않는다는 걸, 몇 번의 시행착오 끝에 깨달았습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;처음엔 정답 코드부터 요청했다가 생긴 문제&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초반에는 문제를 풀다가 막히면 바로 &quot;이 문제 정답 코드 알려줘&quot;라고 물어봤습니다. 코드는 순식간에 나왔고, 실행해보면 정확히 원하는 결과가 나왔습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 그다음이었습니다. 비슷한 유형의 문제를 며칠 뒤 다시 마주쳤을 때, 분명 예전에 풀어본 문제인데도 처음 보는 것처럼 막막했습니다. 정답을 받아서 실행 결과만 확인했지, 그 코드가 왜 그런 순서로 짜였는지는 이해하지 않고 넘어갔기 때문입니다. 결국 &quot;풀었다&quot;는 기록만 남고 &quot;이해했다&quot;는 실력은 남지 않은 셈이었습니다. &quot;코드가 실행된다&quot;와 &quot;코드를 이해한다&quot;는 전혀 다른 얘기라는 걸 이때 확실히 체감했습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;질문 방식을 바꾸고 나서 달라진 점&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후로는 질문 방식을 완전히 바꿨습니다. 정답을 바로 요청하는 대신, 다음과 같은 순서로 접근했습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;먼저 직접 문제를 풀어봅니다.&lt;/li&gt;
&lt;li&gt;막히면 &quot;정답은 알려주지 말고, 내가 어느 부분을 잘못 생각했는지만 짚어줘&quot;라고 요청합니다.&lt;/li&gt;
&lt;li&gt;힌트를 받아서 다시 직접 코드를 고쳐봅니다.&lt;/li&gt;
&lt;li&gt;그래도 안 되면 &quot;이 코드를 처음 배우는 사람도 이해할 수 있게 한 줄씩 설명해줘&quot;라고 요청합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문법 개념을 물어볼 때도 &quot;쉽게 설명해줘&quot;보다 구체적인 조건을 붙이는 게 훨씬 도움이 됐습니다. 예를 들어 클래스와 객체 같은 개념은 다음처럼 순서를 정해 질문했습니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;text&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;Java의 클래스와 객체를 초보자가 이해할 수 있도록 설명해줘.
1. 클래스가 무엇인지
2. 객체가 무엇인지
3. 둘의 차이
4. 간단한 코드 예제
5. 내가 직접 풀어볼 연습문제
순서로 설명해줘.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 바꾸고 나서 체감되는 가장 큰 차이는, 같은 문제를 나중에 다시 풀 수 있게 됐다는 점입니다. 시간은 조금 더 걸렸지만, 그만큼 남는 게 훨씬 많았습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;오류가 발생했을 때 활용한 3단계 방법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에러 메시지는 처음엔 어디부터 봐야 할지 모르는 경우가 많습니다. 이럴 때는 다음 순서로 질문하는 게 효과적이었습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;코드와 에러, 원하는 결과를 함께 전달&lt;/b&gt;&lt;/span&gt;: 에러 메시지만 보내지 말고, 코드 전체와 &quot;내가 원하는 결과&quot;를 같이 적습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;실행 환경 명시&lt;/b&gt;&lt;/span&gt;: 사용하는 언어 버전이나 실행 환경 정보를 함께 알려주면 답변의 정확도가 올라갑니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;제시된 해결책을 순서대로 적용&lt;/b&gt;&lt;/span&gt;: 여러 해결책이 나오면 가장 간단한 것부터 하나씩 적용하며 반응을 확인합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;text&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;prolog&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;Java로 배열을 처리하는 코드를 작성했습니다.

내가 원하는 결과:
배열에서 가장 큰 숫자를 출력하고 싶습니다.

현재 코드:
[내 코드]

발생한 오류:
[에러 메시지]

초보자도 이해할 수 있게 오류가 발생한 원인을 단계별로 설명해주세요.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 질문하면 단순히 수정된 코드를 받는 것보다 오류의 원인을 이해하는 데 훨씬 도움이 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;환각(Hallucination) 현상, 검증 없이 믿으면 안 되는 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT를 쓰면서 가장 조심해야 했던 부분은, 실제로 존재하지 않는 함수나 잘못된 문법을 마치 맞는 것처럼 답변하는 경우였습니다. 이런 현상을 흔히 &quot;환각(Hallucination)&quot;이라고 부르는데, 초보자는 이게 틀린 답인지 구분하기가 쉽지 않아서 잘못된 정보를 그대로 학습할 위험이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 줄이려면 다음 습관이 필요합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ChatGPT가 준 코드는 반드시 직접 실행해서 결과를 확인합니다.&lt;/li&gt;
&lt;li&gt;실행 중 이상한 동작이나 처음 보는 함수가 나오면 공식 문서로 교차 검증합니다.&lt;/li&gt;
&lt;li&gt;특히 최신 라이브러리나 잘 알려지지 않은 문법을 물어봤을 땐 한 번 더 의심하고 확인하는 습관을 들입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;편리하다고 해서 답변을 그대로 믿기보다, &quot;이게 맞는지 확인해봐야겠다&quot;는 태도를 유지하는 게 장기적으로는 훨씬 안전했습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;코드 리뷰 요청하는 법 - 그대로 받지 않고 제대로 쓰는 법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 작성한 뒤 ChatGPT에게 리뷰를 요청하는 것도 유용한 활용법이었습니다. 다만 처음부터 &quot;코드를 개선해줘&quot;라고 뭉뚱그려 요청하기보다, 확인하고 싶은 항목을 구체적으로 정하는 게 좋았습니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;text&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;아래 Java 코드를 리뷰해주세요.
1. 초보자가 이해하기 어려운 부분
2. 논리적으로 잘못된 부분
3. 변수명이나 코드 구조에서 개선할 부분
4. 시간복잡도
5. 내가 직접 고쳐볼 수 있도록 수정 코드는 마지막에 보여주세요.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 새로운 코드를 그냥 받는 게 아니라, 내가 작성한 코드의 어떤 부분이 문제인지부터 파악하게 됩니다. 다만 코드 리뷰를 받는 것과 그걸 직접 반영해서 고쳐보는 것은 완전히 별개의 과정입니다. 리뷰 결과를 보고 실제로 손을 대서 고쳐보는 단계까지 거쳐야 진짜 공부가 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;실력을 끌어올린 프롬프트 패턴 3가지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;질문을 어떻게 구성하느냐에 따라 답변의 질이 크게 달라졌습니다. 특히 다음 세 가지 패턴이 자주 도움이 됐습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;역할 부여 프롬프트&lt;/b&gt;&lt;/span&gt;: &quot;너는 경력이 오래된 백엔드 개발자야. 내가 작성한 코드를 코드 리뷰 관점에서 가독성과 안정성 측면으로 평가해줘.&quot;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;단계별 작성 요청&lt;/b&gt;&lt;/span&gt;: &quot;한 번에 모든 코드를 주지 말고, 전체 구조를 먼저 설명해준 뒤 내가 확인하면 첫 번째 파트 코드를 보여줘.&quot;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;소크라테스식 질문 요청&lt;/b&gt;&lt;/span&gt;: &quot;정답 코드를 바로 알려주지 말고, 내가 스스로 문제를 해결할 수 있도록 단계별 힌트를 질문 형태로 던져줘.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세 가지 모두 공통점은 &quot;결과물을 즉시 받는 질문&quot;이 아니라 &quot;생각할 여지를 남기는 질문&quot;이라는 점입니다. 아쉬운 질문과 좋은 질문을 비교하면 이 차이가 더 뚜렷해집니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;아쉬운 질문: &quot;이 문제 풀어줘&quot; &amp;rarr; 좋은 질문: &quot;내 풀이가 왜 틀렸는지, 정답은 말하지 말고 힌트만 줘&quot;&lt;/li&gt;
&lt;li&gt;아쉬운 질문: &quot;이 코드 고쳐줘&quot; &amp;rarr; 좋은 질문: &quot;이 에러 메시지가 무슨 뜻인지 설명해주고, 어디를 확인해봐야 할지 알려줘&quot;&lt;/li&gt;
&lt;li&gt;아쉬운 질문: &quot;배열이 뭐야&quot; &amp;rarr; 좋은 질문: &quot;배열과 리스트의 차이를 예제와 함께 설명해줘&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;초보자가 빠지기 쉬운 복사-붙여넣기의 함정&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT가 완성된 코드를 제시해주면 나도 모르게 그대로 드래그해서 에디터에 붙여넣고 싶은 유혹이 생깁니다. 당장은 기능이 동작해서 뿌듯하지만, 이건 내 실력이 아니라 AI의 실력일 뿐입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 이해하지 못한 채 복사하고 붙여넣는 행위만 반복하면, 조금만 변형된 문제가 나와도 스스로 해결하지 못하는 상태가 됩니다. 아무리 짧은 코드라도 직접 손으로 타이핑하며 한 줄 한 줄의 의미를 되새기는 과정이 필요합니다. 저는 이후로 다음 원칙을 지켰습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;답을 받기 전에 먼저 스스로 5분 이상 고민해보는 시간을 갖습니다.&lt;/li&gt;
&lt;li&gt;받은 설명을 그대로 복사하지 않고, 반드시 직접 다시 타이핑해봅니다.&lt;/li&gt;
&lt;li&gt;하나의 질문에서 여러 개념이 한꺼번에 쏟아지면, 한 번에 전부 이해하려 하지 말고 하나씩 나눠서 다시 질문합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;한눈에 보는 상황별 활용 가능표&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지의 경험을 정리하면 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;상황ChatGPT 활용도이유
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;문법 개념 처음 배우기&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;필요한 부분만 빠르게 설명받을 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;에러 메시지 해석&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;원인 파악 속도가 빠름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코딩테스트 접근 힌트 얻기&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;힌트로만 활용하면 효과적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코드 리뷰 요청&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;확인 항목을 구체적으로 정하면 효과적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;문제 정답을 그대로 받기&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;실력으로 남지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;실전 코딩테스트 감각 훈련&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;직접 풀어보는 경험을 대체할 수 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;최신 라이브러리&amp;middot;문법 정보&lt;/td&gt;
&lt;td&gt;주의 필요&lt;/td&gt;
&lt;td&gt;환각 현상으로 부정확한 답변 가능성 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 표에서 알 수 있듯, ChatGPT는 &quot;무엇이든 대신 해결해주는 도구&quot;가 아니라 &quot;생각하는 과정을 돕는 도구&quot;로 썼을 때 가장 효과가 좋았습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;코딩을 하나도 모르는 초보자도 ChatGPT로 공부할 수 있나요?&lt;/span&gt;&lt;/b&gt; A. 가능은 하지만 기본 문법이나 CS 기초가 전혀 없는 상태에서는 답변이 맞는지조차 판단하기 어렵습니다. 기초 강의나 책으로 최소한의 개념을 잡은 뒤, 보조 학습 도구로 함께 쓰는 걸 추천합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;ChatGPT가 짠 코드가 작동하지 않을 때 어떻게 해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 발생한 오류 메시지 전체를 다시 붙여넣고 &quot;방금 제공한 코드를 적용했는데 이런 에러가 발생했다, 원인이 무엇인가&quot;라고 구체적으로 추가 질문하는 게 좋습니다. 그래도 해결이 안 되면 공식 문서로 교차 확인하는 과정이 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;무료로 써도 코딩 공부에 충분한가요?&lt;/span&gt;&lt;/b&gt; A. 기초 문법을 익히고 간단한 오류를 분석하는 수준에서는 무료로도 충분히 도움이 됐습니다. 다만 서비스 정책이나 제공되는 기능은 계속 바뀌기 때문에, 필요하다면 현재 제공되는 옵션을 직접 확인해보는 걸 추천합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT는 분명 편리한 도구입니다. 하지만 편리함에 기대어 정답만 받아 챙기면, 그 순간의 문제는 풀려도 실력에는 거의 남지 않습니다. 질문하는 방식을 조금만 바꿔서 힌트와 설명 위주로 쓰고, 답변은 항상 한 번 더 검증하는 습관을 들이면, 같은 도구로도 훨씬 오래 남는 공부를 할 수 있습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>AI툴 리뷰</category>
      <category>AI코딩공부법</category>
      <category>ChatGPT개발공부</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>싸지방코딩</category>
      <category>초보개발자</category>
      <category>코드리뷰</category>
      <category>코딩테스트준비</category>
      <category>프롬프트작성법</category>
      <category>환각현상</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/27</guid>
      <comments>https://armycode.tistory.com/27#entry27comment</comments>
      <pubDate>Fri, 2 Oct 2026 17:30:11 +0900</pubDate>
    </item>
    <item>
      <title>군대에서 개발 공부가 작심삼일이 되는 이유와 해결법</title>
      <link>https://armycode.tistory.com/26</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;나는 의지가 약해서 항상 작심삼일이야.&quot; 코딩 공부를 몇 번이나 다시 시작하면서 저도 이렇게 생각한 적이 많습니다. 그런데 돌아보니 며칠 만에 포기했던 이유는 의지 문제가 아니었습니다. 사회에서 통하던 공부 방식을 군대라는 특수한 환경에 그대로 옮겨오려 했던 것이 문제였습니다. 작심삼일은 마음가짐의 문제가 아니라, 대부분 계획과 환경을 잘못 맞춘 결과입니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;의지가 약해서 작심삼일&quot;이라는 착각&lt;/li&gt;
&lt;li&gt;원인 1: 로드맵과 목표가 처음부터 너무 크다&lt;/li&gt;
&lt;li&gt;원인 2: 환경 세팅에 에너지를 다 써버린다&lt;/li&gt;
&lt;li&gt;원인 3: 불규칙한 일과를 계획에 반영하지 않는다&lt;/li&gt;
&lt;li&gt;해결법 1: 시작하는 절차를 고정해두기&lt;/li&gt;
&lt;li&gt;해결법 2: 하루 1시간을 3단계로 나누기&lt;/li&gt;
&lt;li&gt;해결법 3: 입력보다 출력 중심으로 공부하기&lt;/li&gt;
&lt;li&gt;해결법 4: PC 없는 시간엔 수첩으로 미리 설계하기&lt;/li&gt;
&lt;li&gt;한눈에 보는 싸지방 학습 가능표와 원인&amp;middot;해결법 정리&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;의지가 약해서 작심삼일&quot;이라는 착각&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩 공부를 시작했다가 며칠 만에 멈추면 대부분 자신의 의지를 탓합니다. &quot;나는 원래 끈기가 없나 봐&quot;라고 생각하며 자책하고, 그다음엔 아예 시작 자체를 미루게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 실제로는 사회에서의 공부 방식을 군대라는 특수한 공간에 그대로 이식하려 했기 때문인 경우가 많습니다. 개인 PC가 있고 하루 일정이 일정한 환경에서는 &quot;저녁 8시부터 10시까지 공부한다&quot;는 계획이 통하지만, 군 생활에서는 근무 시간이 바뀌거나 예상 못 한 일정이 자주 생깁니다. 이런 환경의 특성을 고려하지 않은 계획은 아무리 강한 의지도 며칠 안에 고갈시킵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 작심삼일이 반복된다면 &quot;나는 왜 이렇게 의지가 약할까&quot;보다 &quot;내 계획이 애초에 이 환경에 맞는 구조였나&quot;를 먼저 점검해보는 게 순서입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;원인 1: 로드맵과 목표가 처음부터 너무 크다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시중의 개발자 로드맵은 대부분 풀타임으로 공부할 수 있는 학생이나 취준생을 기준으로 짜여 있습니다. 이 로드맵을 그대로 목표로 삼으면 며칠 만에 압박감에 짓눌리게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;이번 달 안에 이 언어 문법을 다 끝내겠다&quot;처럼 목표 자체는 그럴듯해 보이지만, 매일 무엇을 해야 할지 구체적으로 알려주지 않습니다. 큰 목표는 &quot;오늘은 뭘 하지&quot;를 매번 고민하게 만들고, 그 고민 자체가 시작을 미루는 핑계가 됩니다. 목표가 클수록 시작하는 데 필요한 마음의 준비도 커지는데, 매일 쓸 수 있는 시간이 짧은 군대에서는 이 준비 과정 자체가 부담이 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;원인 2: 환경 세팅에 에너지를 다 써버린다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방 컴퓨터는 보안 정책상 프로그램 설치가 제한되거나, 재부팅하면 기존 작업 내용과 설정이 초기화되는 경우가 많습니다. 사회에서는 IDE를 설치하고 패키지를 자유롭게 다운로드해 환경을 구축했지만, 군대에서는 이 과정부터 장벽에 부딪힙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인할 때마다 환경 설정을 다시 해야 하거나 설치가 보안에 막히는 상황이 반복되면 의욕이 급격히 떨어집니다. 공부에 써야 할 에너지의 절반 이상을 환경 세팅에 소비하다가 정작 코드는 몇 줄 써보지도 못하고 지쳐서 끝나는 경우도 흔합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;원인 3: 불규칙한 일과를 계획에 반영하지 않는다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당직 근무, 훈련, 야간 경계근무처럼 예측하기 어려운 일과는 군대에서 늘 발생합니다. 사회에서처럼 &quot;매일 저녁 2시간씩 공부하겠다&quot;는 고정된 계획은 군대에서 쉽게 깨질 수밖에 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에 육체적 피로도를 간과하는 경우도 많습니다. 몸이 지친 상태로 앉아 복잡한 로직을 풀려고 하면 머리가 잘 돌아가지 않습니다. 이때 &quot;오늘은 피곤하니까 내일 하자&quot;는 생각이 며칠 이어지면, 결국 처음 계획 자체가 무너집니다. 문제는 예외 상황이 생겼다는 사실이 아니라, 그 예외를 계획에 아예 반영해두지 않았다는 점입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;해결법 1: 시작하는 절차를 고정해두기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공부를 꾸준히 하려면 &quot;공부해야지&quot;라는 다짐보다, 공부를 시작하는 절차 자체를 단순하게 고정해두는 게 효과적입니다. 싸지방에 앉은 뒤 무엇을 공부할지 고민하기 시작하면 이미 시간이 흘러갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전날 공부가 끝날 때 다음 날 할 일을 하나만 정해두는 방법을 추천합니다. 예를 들어 &quot;내일은 문제 1개를 풀고 틀린 부분만 정리한다&quot;처럼 짧게 적어두면, 다음 날 컴퓨터 앞에 앉았을 때 바로 시작할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공부 시작 순서를 다음처럼 고정해두는 것도 좋습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방 착석 &amp;rarr; 어제 기록 확인 &amp;rarr; 오늘 할 일 시작 &amp;rarr; 막힌 부분 메모 &amp;rarr; 오늘 기록 남기기&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 절차가 반복되면 공부를 시작할 때마다 고민하는 시간이 줄어듭니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;해결법 2: 하루 1시간을 3단계로 나누기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루에 많은 시간을 확보하기 어렵다면, 1시간을 통째로 쓰려 하기보다 역할을 나누는 게 좋습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;10분: 이전 내용 복습&lt;/b&gt;&lt;/span&gt;. 어제 풀었던 문제나 정리한 내용을 다시 확인하며 흐름을 이어갑니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;40분: 오늘의 핵심 공부&lt;/b&gt;&lt;/span&gt;. 코딩테스트 문제 풀이든 문법 공부든, 이 시간에는 한 가지 활동에만 집중합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;10분: 기록&lt;/b&gt;&lt;/span&gt;. 오늘 배운 것, 틀린 것, 다음에 볼 것을 세 줄 정도로 남깁니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 나눠두면 하루 1시간이라는 짧은 시간 안에서도 &quot;무엇을 할지 고민하는 시간&quot;과 &quot;실제로 공부하는 시간&quot;이 분리돼, 훨씬 밀도 있게 쓸 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;해결법 3: 입력보다 출력 중심으로 공부하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인터넷 강의를 보기만 하는 입력 위주의 공부는 졸음을 유발하고 기억에 오래 남지 않습니다. 특히 피로도가 높은 군대 환경에서는 직접 코드를 짜고 문제를 풀어보는 출력 중심의 공부가 훨씬 효과적입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하루 코딩테스트 문제 1개를 풀며 즉각적인 피드백과 성취감을 얻습니다.&lt;/li&gt;
&lt;li&gt;거대한 서비스가 아니라 기능 하나만 작동하는 아주 작은 프로그램(간단한 계산기, 오늘 배운 문법을 활용한 예제 등)을 직접 만들어봅니다.&lt;/li&gt;
&lt;li&gt;공부한 내용을 나만의 언어로 짧게 요약해 기록해두면, 나중에 다시 볼 때도 이해가 빠릅니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강의를 몇 시간 보는 것보다, 짧더라도 직접 손으로 코드를 작성해본 시간이 실제 실력으로 훨씬 많이 남습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;해결법 4: PC 없는 시간엔 수첩으로 미리 설계하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방 이용 시간이 제한돼 있다면, 컴퓨터 앞에 앉기 전 오프라인 시간을 활용하는 것도 방법입니다. 대기 시간이나 개인정비 시간에 수첩을 활용해 미리 구상해두는 것입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만들고자 하는 프로그램의 흐름을 간단히 그려보거나, 사용할 변수 이름과 로직을 미리 적어둡니다.&lt;/li&gt;
&lt;li&gt;어제 틀렸던 문제의 접근 방식을 손으로 다시 써보며 복습합니다.&lt;/li&gt;
&lt;li&gt;이해가 안 됐던 개념을 노트에 정리해두고, 다음 싸지방 시간에 확인할 목록으로 남겨둡니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 미리 구상해두면, 싸지방에 들어갔을 때는 이미 정리된 내용을 바탕으로 타이핑과 실행 확인만 하면 되기 때문에 짧은 이용 시간을 훨씬 효율적으로 쓸 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;한눈에 보는 싸지방 학습 가능표와 원인&amp;middot;해결법 정리&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방 환경에서 실제로 어떤 공부가 가능한지 정리하면 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;공부 항목싸지방 활용비고
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;코딩테스트 문제 풀이&lt;/td&gt;
&lt;td&gt;가능&lt;/td&gt;
&lt;td&gt;프로그래머스 등 온라인 플랫폼 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;언어 문법 공부&lt;/td&gt;
&lt;td&gt;가능&lt;/td&gt;
&lt;td&gt;웹 강의&amp;middot;문서로 학습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI를 이용한 개념 질문&lt;/td&gt;
&lt;td&gt;가능&lt;/td&gt;
&lt;td&gt;힌트 요청, 오류 원인 설명 요청 방식 추천&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub 기록 관리&lt;/td&gt;
&lt;td&gt;가능&lt;/td&gt;
&lt;td&gt;웹 기능만으로도 커밋 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;로컬 개발 환경 구축&lt;/td&gt;
&lt;td&gt;환경에 따라 다름&lt;/td&gt;
&lt;td&gt;웹 기반 IDE로 대체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;무거운 프레임워크 실습&lt;/td&gt;
&lt;td&gt;제한적&lt;/td&gt;
&lt;td&gt;기초 문법과 논리력 다지기에 집중 권장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 살펴본 원인과 해결법을 함께 정리하면 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;원인해결법
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;목표와 로드맵이 너무 큼&lt;/td&gt;
&lt;td&gt;오늘 할 일을 하나로 좁히기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;환경 세팅에 에너지 소진&lt;/td&gt;
&lt;td&gt;웹 기반 환경으로 세팅 부담 없애기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;불규칙한 일과 미반영&lt;/td&gt;
&lt;td&gt;놓친 날 복귀 절차를 미리 정해두기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자신이 어떤 패턴으로 작심삼일을 반복하는지 먼저 파악한 뒤, 그에 맞는 해결법부터 적용해보는 게 효율적입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;하루에 1시간도 공부하기 힘든 날은 어떻게 해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 그런 날에는 목표를 더 줄여도 됩니다. 어제 작성한 코드를 10분 동안 다시 보거나, 문제 하나를 읽어보는 것만으로도 공부입니다. 완벽한 시간을 확보하는 것보다, 공부와 완전히 끊어지지 않는 게 더 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;훈련이나 근무 때문에 며칠 공부를 못하면 흐름이 끊겨 포기하게 됩니다.&lt;/span&gt;&lt;/b&gt; A. 자연스러운 일입니다. 연속성이 끊어졌다고 처음부터 다시 시작하려 하지 말고, 이전에 정리해둔 노트나 코드를 10분 정도 훑어보는 것으로 복귀하면 됩니다. 놓친 분량을 한꺼번에 몰아서 채우려 하기보다, 원래 계획했던 오늘 분량만 진행하는 편이 오래갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;AI를 이용해서 코딩 공부를 해도 괜찮나요?&lt;/span&gt;&lt;/b&gt; A. 활용해도 괜찮습니다. 다만 AI가 작성한 코드를 그대로 복사하기보다, 먼저 직접 풀어보고 막힌 부분에 대해 힌트나 오류 원인을 질문하는 방식이 좋습니다. AI를 답안지가 아니라 설명해주는 학습 도구로 쓰는 게 핵심입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대에서 개발 공부가 작심삼일로 끝나는 건 의지가 부족해서가 아니라, 매일 같은 시간과 환경에서 공부하기 어려운 군 생활의 구조를 고려하지 않았기 때문인 경우가 많습니다. 목표를 작게 쪼개고, 시작하는 절차를 고정하고, 놓친 날 다시 시작하는 방법까지 미리 정해두면 훨씬 오래 이어갈 수 있습니다. 오늘 사지방에서 쓴 코드 몇 줄과 수첩에 적은 로직 한 줄이 전역 후에도 남는 밑거름이 됩니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>개발 공부</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>싸지방코딩</category>
      <category>자기계발습관</category>
      <category>작심삼일</category>
      <category>초보개발자</category>
      <category>출력중심학슴</category>
      <category>코딩공부법</category>
      <category>코딩공부습관</category>
      <category>학습루틴</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/26</guid>
      <comments>https://armycode.tistory.com/26#entry26comment</comments>
      <pubDate>Wed, 30 Sep 2026 17:30:52 +0900</pubDate>
    </item>
    <item>
      <title>군대에서 Java 공부하는 방법 - 기초부터 제대로 잡는 법</title>
      <link>https://armycode.tistory.com/25</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;Java는 채용 공고에 제일 많이 나오니까 일단 시작하면 되겠지.&quot; 개발자를 준비하는 사람이라면 한 번쯤 이런 이유로 Java를 선택합니다. 그런데 막상 시작해보면 public static void main(String[] args)처럼 단어도 많고 괄호도 많은 코드부터 등장하고, 클래스니 객체니 하는 낯선 개념까지 한꺼번에 쏟아지면서 며칠 만에 흥미를 잃는 경우가 많습니다. Java는 &quot;취업에 유리한 언어&quot;이기 이전에, 제대로 된 순서로 접근해야 오래 붙잡을 수 있는 언어입니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;취업에 유리하다니까&quot;로 시작하면 놓치는 것&lt;/li&gt;
&lt;li&gt;군대에서 Java를 공부하면 좋은 이유&lt;/li&gt;
&lt;li&gt;싸지방에서 Java 실행 환경 만들기&lt;/li&gt;
&lt;li&gt;C&amp;middot;Python과 Java, 문법이 어떻게 다른가&lt;/li&gt;
&lt;li&gt;1단계: 기본 구조와 출력 익히기&lt;/li&gt;
&lt;li&gt;2단계: 변수와 자료형 다루기&lt;/li&gt;
&lt;li&gt;3단계: 조건문과 반복문으로 로직 만들기&lt;/li&gt;
&lt;li&gt;4단계: 배열&amp;middot;문자열과 메서드까지&lt;/li&gt;
&lt;li&gt;5단계: 클래스와 객체, 객체지향 첫걸음&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;취업에 유리하다니까&quot;로 시작하면 놓치는 것&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 국내 채용 공고에서 가장 자주 등장하는 언어 중 하나입니다. 그래서 &quot;일단 Java부터 배워두면 취업에 유리하겠지&quot;라는 이유만으로 시작하는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이 이유만 가지고 시작하면 오래 버티기 어렵습니다. Java는 문법 자체가 장황하고, 코드 한 줄을 작성하기 전에 클래스라는 틀부터 이해해야 합니다. &quot;왜 이렇게까지 복잡하게 짜야 하지&quot;라는 의문이 풀리지 않으면 초반 몇 주 안에 흥미를 잃기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java 공부의 첫 목표는 문법을 완벽하게 암기하는 것이 아니라, 코드를 읽고 직접 조금씩 수정할 수 있는 수준까지 올라가는 것입니다. &quot;취업에 유리해서&quot;보다 &quot;이 언어가 어떤 방식으로 문제를 해결하는가&quot;를 먼저 이해하려는 태도가 필요합니다. 특히 객체지향이라는 개념은 처음엔 낯설지만, 한 번 익숙해지면 이후 다른 언어를 배울 때도 계속 도움이 되는 사고방식입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;군대에서 Java를 공부하면 좋은 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 얼핏 무거운 언어처럼 보이지만, 군대처럼 시간이 제한된 환경에서도 나름의 장점이 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문법이 엄격한 만큼 규칙이 명확해서, 에러 메시지가 무엇이 잘못됐는지 비교적 정확하게 알려줍니다. 짧은 시간에 원인을 찾는 연습을 하기에 나쁘지 않습니다.&lt;/li&gt;
&lt;li&gt;실무에서 많이 쓰이는 언어라, 코딩테스트나 자격증 공부와 병행할 때 활용 범위가 넓습니다.&lt;/li&gt;
&lt;li&gt;객체지향이라는 개념을 Java로 한 번 제대로 익혀두면, 이후 어떤 언어를 배우든 코드를 구조적으로 설계하는 감각이 남습니다.&lt;/li&gt;
&lt;li&gt;웹과 서버 개발에서도 널리 쓰이기 때문에, 기초 문법을 익혀두면 이후 Spring 같은 기술을 공부할 때도 기반이 됩니다. 다만 처음부터 Spring까지 욕심내기보다는 Java 언어 자체의 기본기를 먼저 잡는 것이 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 C언어나 Python으로 변수, 조건문, 반복문 같은 기본 개념을 익힌 상태라면 Java의 기본 문법 자체는 크게 낯설지 않을 겁니다. 다만 클래스와 객체라는 새로운 틀을 받아들이는 데는 별도의 시간이 필요합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;싸지방에서 Java 실행 환경 만들기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군부대 PC에서는 프로그램 설치 권한이나 보안 정책이 제한될 수 있습니다. 개인 PC에서 쓰는 IntelliJ IDEA 같은 개발 도구를 그대로 설치하려 하기보다, 부대에서 허용된 범위 안에서 웹 기반 학습 환경을 먼저 확인하는 것이 현실적입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;웹 기반 온라인 실행 환경&lt;/b&gt;&lt;/span&gt;: 브라우저에서 Java 코드를 작성하고 컴파일&amp;middot;실행 결과를 바로 확인할 수 있는 서비스를 활용하면 설치 없이 시작할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;프로그래머스 등 코딩테스트 플랫폼&lt;/b&gt;&lt;/span&gt;: Java를 지원하는 플랫폼에서는 기본 클래스 구조가 미리 제공되어, public class Main처럼 매번 반복되는 코드를 직접 타이핑하지 않아도 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;코드 저장소 활용&lt;/b&gt;&lt;/span&gt;: 작성한 코드를 GitHub나 개인 메모에 당일 저장해두면 다음 세션에서 바로 이어서 볼 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 대소문자를 엄격하게 구분하고, 클래스 이름과 파일 이름이 일치해야 하는 등 처음에는 사소해 보이는 규칙이 많습니다. 실행이 막히는 날에는 코드 구조와 문제 풀이 과정을 노트에 정리해두는 것도 좋은 대안입니다. 환경이 완벽하지 않아도 개념 정리와 코드 작성 연습 자체가 다음 공부의 기반이 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;C&amp;middot;Python과 Java, 문법이 어떻게 다른가&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 다른 언어를 공부해봤다면, Java의 문법을 비교해서 익히는 게 훨씬 빠릅니다.&lt;/p&gt;
&lt;div&gt;내용C언어PythonJava
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;출력&lt;/td&gt;
&lt;td&gt;printf()&lt;/td&gt;
&lt;td&gt;print()&lt;/td&gt;
&lt;td&gt;System.out.println()&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;변수 선언&lt;/td&gt;
&lt;td&gt;자료형 명시&lt;/td&gt;
&lt;td&gt;자료형 생략 가능&lt;/td&gt;
&lt;td&gt;자료형 명시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코드 블록&lt;/td&gt;
&lt;td&gt;{ }&lt;/td&gt;
&lt;td&gt;들여쓰기&lt;/td&gt;
&lt;td&gt;{ }&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;실행 시작점&lt;/td&gt;
&lt;td&gt;main() 함수&lt;/td&gt;
&lt;td&gt;스크립트 최상단&lt;/td&gt;
&lt;td&gt;public static void main()&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코드 구성 단위&lt;/td&gt;
&lt;td&gt;함수 중심&lt;/td&gt;
&lt;td&gt;함수 중심&lt;/td&gt;
&lt;td&gt;클래스(객체) 중심&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;메모리 관리&lt;/td&gt;
&lt;td&gt;직접 관리&lt;/td&gt;
&lt;td&gt;자동 처리&lt;/td&gt;
&lt;td&gt;자동 처리(가비지 컬렉터)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java에서 가장 눈에 띄는 차이는 모든 코드가 클래스 안에 들어가야 한다는 점입니다. C언어나 Python처럼 함수 하나만 툭 작성해서 실행할 수 없고, 반드시 클래스라는 틀 안에서 코드를 작성해야 합니다. 처음엔 번거롭게 느껴지지만, 이 구조 자체가 이후 객체지향을 이해하는 밑바탕이 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;1단계: 기본 구조와 출력 익히기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java를 처음 공부한다면 가장 먼저 간단한 출력부터 시작하면 됩니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;arduino&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        System.out.println(&quot;Hello Java&quot;);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음부터 public, static, void, String[]의 의미를 전부 외우려고 하면 오히려 공부가 느려집니다. 처음에는 System.out.println()이 화면에 내용을 출력하는 기능이라는 것부터 이해하면 충분합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;pgsql&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;System.out.println(&quot;군대에서 Java 공부&quot;);
System.out.println(10 + 20);&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직접 값을 바꿔보고 실행 결과가 어떻게 달라지는지 확인해보는 게 중요합니다. 코드를 눈으로 읽는 것보다 직접 수정하고 실행해보는 과정이 훨씬 오래 남습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;2단계: 변수와 자료형 다루기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java에서는 변수에 자료형을 함께 작성합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;ebnf&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;int age = 20;
double height = 173.5;
boolean developer = true;
String name = &quot;민수&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int는 정수, double은 실수, boolean은 참과 거짓, String은 문자열을 저장할 때 사용합니다. byte, short, long, float, char 같은 자료형도 있지만, 초보 단계에서는 자주 쓰는 int, double, boolean, char, String부터 익히는 것으로 충분합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;int a = 10;
int b = 20;

System.out.println(a + b);
System.out.println(a * b);&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 짧은 코드로 계산 결과를 확인하는 연습부터 시작해서, Scanner로 값을 입력받고 계산하는 프로그램으로 조금씩 확장해보는 걸 추천합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;3단계: 조건문과 반복문으로 로직 만들기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수에 익숙해졌다면 다음은 조건문과 반복문입니다. 이 단계부터 코드가 단순한 계산을 넘어 실제 프로그램처럼 움직이기 시작합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;pgsql&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;int score = 80;

if (score &amp;gt;= 60) {
    System.out.println(&quot;합격&quot;);
} else {
    System.out.println(&quot;불합격&quot;);
}

for (int i = 1; i &amp;lt;= 5; i++) {
    System.out.println(i);
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 C언어나 Python으로 풀어본 문제가 있다면, 같은 문제를 Java로 다시 작성해보는 방식이 효율적입니다. 알고리즘을 새로 고민할 필요 없이 Java 문법 자체에만 집중할 수 있기 때문입니다. 다음과 같은 작은 문제를 반복해서 작성해보는 걸 추천합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;숫자가 홀수인지 짝수인지 판별하기&lt;/li&gt;
&lt;li&gt;점수에 따라 등급 출력하기&lt;/li&gt;
&lt;li&gt;1부터 100까지 합 구하기&lt;/li&gt;
&lt;li&gt;구구단 출력하기&lt;/li&gt;
&lt;li&gt;특정 숫자의 배수 출력하기&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;4단계: 배열&amp;middot;문자열과 메서드까지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건문과 반복문에 익숙해졌다면 여러 데이터를 한꺼번에 다루는 배열과, 코드를 기능 단위로 묶는 메서드로 넘어갑니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;int[] scores = {80, 90, 70, 60, 100};

for (int s : scores) {
    System.out.println(s);
}

static int add(int a, int b) {
    return a + b;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배열에 값을 저장하고 순서대로 출력하는 연습부터 시작해, 최댓값이나 평균을 구하는 문제로 넘어갑니다. Java의 배열은 생성된 뒤 길이가 고정된다는 점도 함께 기억해둡니다.&lt;/li&gt;
&lt;li&gt;String의 length(), charAt(), split() 같은 기본 메서드를 짧은 예제로 확인해두면 이후 문자열 문제를 풀 때 도움이 됩니다.&lt;/li&gt;
&lt;li&gt;반복해서 쓰는 계산 로직을 메서드로 분리해보는 연습을 통해 매개변수와 반환값 개념을 익힙니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 명의 점수 중 가장 높은 점수를 찾는 문제처럼, 배열과 반복문과 메서드를 함께 쓰는 작은 프로그램을 만들어보면 이 단계가 훨씬 잘 이해됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;5단계: 클래스와 객체, 객체지향 첫걸음&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java 공부에서 초보자가 가장 많이 막히는 부분이 클래스와 객체입니다. 하지만 처음부터 상속이나 다형성 같은 어려운 개념을 모두 공부할 필요는 없습니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;java&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;arduino&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;class Student {
    String name;
    int score;

    void printInfo() {
        System.out.println(name + &quot;: &quot; + score);
    }
}

public class Main {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.name = &quot;홍길동&quot;;
        s1.score = 90;
        s1.printInfo();
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스는 &quot;학생&quot;이나 &quot;상품&quot;처럼 어떤 대상을 설계하는 틀이고, 객체는 그 틀로 만들어낸 실제 데이터라는 점을 먼저 받아들이면 됩니다. 처음에는 class, new, this, 접근 제어자 같은 용어가 한꺼번에 등장해 어렵게 느껴질 수 있는데, 문법을 모두 외우기보다 &quot;관련된 데이터와 기능을 하나로 묶어 관리하는 방법&quot;이라는 큰 개념부터 잡는 것이 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학습 순서를 표로 정리하면 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;단계공부할 내용연습 예시
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1단계&lt;/td&gt;
&lt;td&gt;기본 구조와 출력&lt;/td&gt;
&lt;td&gt;Hello Java 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2단계&lt;/td&gt;
&lt;td&gt;변수와 자료형&lt;/td&gt;
&lt;td&gt;계산기 만들기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3단계&lt;/td&gt;
&lt;td&gt;조건문과 반복문&lt;/td&gt;
&lt;td&gt;합격 판단, 구구단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4단계&lt;/td&gt;
&lt;td&gt;배열&amp;middot;문자열&amp;middot;메서드&lt;/td&gt;
&lt;td&gt;점수 관리, 계산 기능 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5단계&lt;/td&gt;
&lt;td&gt;클래스와 객체&lt;/td&gt;
&lt;td&gt;학생 정보 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루에 모든 내용을 끝내려 하지 말고, 예를 들어 일주일 동안 공부한다면 첫 이틀은 변수와 연산자, 다음 이틀은 조건문과 반복문, 이후 배열과 메서드처럼 범위를 나누는 방식을 추천합니다. 군대에서는 공부 시간이 일정하지 않을 수 있으니 &quot;오늘 몇 시간 공부했는가&quot;보다 &quot;오늘 직접 몇 줄의 코드를 작성했는가&quot;를 기준으로 기록해보는 것도 좋은 방법입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;Java를 처음 공부하는데 C언어를 먼저 알아야 하나요?&lt;/span&gt;&lt;/b&gt; A. 반드시 그럴 필요는 없습니다. Java를 바로 시작해도 됩니다. 다만 C언어나 Python을 먼저 공부한 경험이 있다면 변수, 조건문, 반복문 같은 기본 개념을 이해하는 데 도움이 됩니다. 언어별 문법은 다르므로 Java 문법은 별도로 익혀야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;Java 문법이 너무 길고 복잡하게 느껴집니다. 바로 Spring까지 공부해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 초보자라면 Java 기초를 먼저 다지는 것을 권장합니다. public class Main, public static void main(String[] args)처럼 처음엔 이해되지 않아도 그냥 외워야 하는 구조가 있는데, 지금 당장 모든 걸 이해하려 하지 말고 손에 익힌 뒤 원리를 채워가는 방식으로 접근해도 괜찮습니다. 변수&amp;middot;조건문&amp;middot;반복문&amp;middot;배열&amp;middot;메서드&amp;middot;클래스에 익숙해진 뒤 Spring으로 넘어가는 편이 전체 구조를 이해하기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;싸지방에서 Java 개발 환경을 따로 설치해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 아닙니다. 설치가 제한된 환경에서는 웹 기반 온라인 실행 환경이나 Java를 지원하는 코딩테스트 플랫폼을 활용하면 별도 설치 없이 바로 실습할 수 있습니다. 로컬 개발 환경 구축은 전역 후 개인 PC에서 진행해도 늦지 않습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 처음 문법을 익히는 단계에서부터 다른 언어보다 조금 더 인내심이 필요한 언어입니다. 하지만 변수부터 객체지향까지 순서대로 쌓아가면, 그 과정 자체가 이후 어떤 언어를 배우든 코드를 구조적으로 설계하는 힘이 됩니다. 급하게 진도를 나가기보다, 각 단계에서 손으로 코드를 여러 번 써보는 데 시간을 쓰는 걸 추천합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>개발 공부</category>
      <category>C언어자바비교</category>
      <category>JAVA공부</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>백엔드개발자</category>
      <category>싸지방코딩</category>
      <category>자바기초</category>
      <category>초보개발자</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/25</guid>
      <comments>https://armycode.tistory.com/25#entry25comment</comments>
      <pubDate>Mon, 28 Sep 2026 17:30:09 +0900</pubDate>
    </item>
    <item>
      <title>군대에서 Python 공부하는 방법 - C언어를 공부한 초보 개발자용 기초 가이드</title>
      <link>https://armycode.tistory.com/24</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;파이썬은 문법이 쉬우니까, C언어를 조금이라도 해봤으면 그냥 강의만 훑어도 되지 않을까.&quot; 처음 파이썬을 접했을 때 저도 이렇게 생각했습니다. 세미콜론도 없고 자료형 선언도 필요 없으니 C언어보다 훨씬 가볍게 느껴졌습니다. 그런데 막상 빈 화면 앞에서 직접 코드를 짜보려니 손이 멈추는 경우가 많았습니다. 문법이 쉬운 것과 문제를 코드로 옮길 수 있는 것은 전혀 다른 이야기였습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;C언어 했으니까 보기만 해도 된다&quot;는 착각&lt;/li&gt;
&lt;li&gt;C언어와 파이썬, 문법 차이 한눈에 비교하기&lt;/li&gt;
&lt;li&gt;군대에서 파이썬을 공부하면 좋은 이유&lt;/li&gt;
&lt;li&gt;싸지방에서 파이썬 실행 환경 만들기&lt;/li&gt;
&lt;li&gt;PC 없이도 되는 종이 코딩 공부법&lt;/li&gt;
&lt;li&gt;기초 문법 학습 순서 - 변수부터 함수까지&lt;/li&gt;
&lt;li&gt;C언어로 풀었던 문제, 파이썬으로 다시 풀어보기&lt;/li&gt;
&lt;li&gt;복무 시기별 파이썬 학습 로드맵&lt;/li&gt;
&lt;li&gt;작은 토이 프로젝트로 넘어가기&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;C언어 했으니까 보기만 해도 된다&quot;는 착각&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은 문법이 간결해서 초보자가 배우기 좋은 언어로 자주 꼽힙니다. 특히 C언어를 먼저 공부한 사람이라면 변수, 조건문, 반복문, 함수 같은 개념을 이미 알고 있으니 &quot;강의만 쭉 봐도 금방 익숙해지겠지&quot;라고 생각하기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 강의를 보는 것과 직접 코드를 작성하는 것 사이에는 생각보다 큰 차이가 있습니다. 강의를 볼 때는 코드가 술술 이해되지만, 막상 같은 문제를 다시 풀어보려고 하면 손이 멈추는 경우가 많습니다. 문법이 쉬운 언어일수록 &quot;이해했다&quot;는 착각에 빠지기 쉽기 때문에, 의식적으로 직접 작성해보는 시간을 확보해야 합니다. 특히 시간이 제한된 군대에서는 강의를 여러 번 돌려 보는 것보다, 짧더라도 직접 코드를 작성해보는 시간을 확보하는 쪽이 훨씬 남는 공부가 됩니다.&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;a title=&quot;C언어 기초 공부하는 법 보러가기&quot; href=&quot;https://armycode.tistory.com/23&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;C언어 기초 공부하는 법 보러가기&lt;/b&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;C언어와 파이썬, 문법 차이 한눈에 비교하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어를 공부한 사람에게 파이썬의 가장 큰 차이는 문법의 간결함입니다. C언어는 자료형을 직접 적고 중괄호로 코드 영역을 구분하지만, 파이썬은 들여쓰기로 코드 블록을 표현합니다.&lt;/p&gt;
&lt;div&gt;내용C언어Python
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;출력&lt;/td&gt;
&lt;td&gt;printf()&lt;/td&gt;
&lt;td&gt;print()&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;조건문&lt;/td&gt;
&lt;td&gt;if (조건) { }&lt;/td&gt;
&lt;td&gt;if 조건:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;반복문&lt;/td&gt;
&lt;td&gt;for (초기식; 조건; 증감식)&lt;/td&gt;
&lt;td&gt;for 변수 in range():&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;논리 AND / OR&lt;/td&gt;
&lt;td&gt;&amp;amp;&amp;amp; / ||&lt;/td&gt;
&lt;td&gt;and / or&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;함수 선언&lt;/td&gt;
&lt;td&gt;반환형 + 함수명&lt;/td&gt;
&lt;td&gt;def 함수명():&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코드 블록 구분&lt;/td&gt;
&lt;td&gt;{ }&lt;/td&gt;
&lt;td&gt;들여쓰기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;변수 선언&lt;/td&gt;
&lt;td&gt;자료형 명시 필요&lt;/td&gt;
&lt;td&gt;자료형 생략 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;메모리 관리&lt;/td&gt;
&lt;td&gt;직접 관리(포인터)&lt;/td&gt;
&lt;td&gt;자동 처리(가비지 컬렉터)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 C언어 문법과 파이썬 문법을 하나씩 대응시키며 공부하면 이해하기 쉽습니다. 다만 C 코드를 파이썬 문법으로 단순히 바꾸는 데만 머무르지 말고, 기본 문법에 익숙해진 다음에는 리스트&amp;middot;딕셔너리 같은 파이썬만의 자료구조를 활용하는 방식으로 넘어가는 게 좋습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;군대에서 파이썬을 공부하면 좋은 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은 여러 면에서 군대 환경과 잘 맞는 언어입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문법이 간결해서 짧은 시간에도 하나의 개념을 끝까지 이해하고 코드로 옮겨볼 수 있습니다.&lt;/li&gt;
&lt;li&gt;C언어보다 코드 길이가 짧아, 같은 시간 안에 더 많은 문제를 시도해볼 수 있습니다. C언어로 20줄 넘게 작성해야 하는 로직을 파이썬은 몇 줄로 구현하는 경우도 많습니다.&lt;/li&gt;
&lt;li&gt;웹, 데이터, 자동화 등 활용 범위가 넓어서 이후 어떤 방향으로 진로를 정하든 기초로 활용하기 좋습니다.&lt;/li&gt;
&lt;li&gt;프로그래머스를 비롯한 대부분의 코딩테스트 플랫폼에서 지원하는 언어라, 알고리즘 공부와 자연스럽게 이어집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 C언어로 기본 개념을 익힌 상태라면 파이썬은 문법을 새로 배우기보다, 알고 있던 개념을 파이썬 방식으로 옮기는 연습에 가깝습니다. 복잡한 문법 규칙에 매이지 않고 &quot;이 문제를 어떻게 풀 것인가&quot;라는 사고 자체에 더 집중할 수 있다는 점도 제한된 시간을 쓰는 군대 환경에는 유리합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;싸지방에서 파이썬 실행 환경 만들기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은 로컬 환경 설치 없이도 충분히 공부할 수 있는 언어입니다. 싸지방 PC는 재부팅되면 설치 파일과 설정이 초기화되는 경우가 많으므로, 매번 새로 설치하는 방식은 시간 낭비입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;웹 기반 실행 환경&lt;/b&gt;&lt;/span&gt;: 브라우저에서 파이썬 코드를 바로 작성하고 실행 결과를 확인할 수 있는 서비스를 활용하면 설치 없이 시작할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a title=&quot;싸지방에서 사용한 웹 IDE 리뷰 보러가기&quot; href=&quot;https://armycode.tistory.com/13&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;싸지방에서 사용한 웹 IDE 리뷰 보러가기&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;프로그래머스 등 코딩테스트 플랫폼&lt;/b&gt;&lt;/span&gt;: 파이썬을 지원하는 플랫폼에서 기본 틀이 제공되어, 환경 설정 없이 바로 문제 풀이로 들어갈 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a title=&quot;프로그래머스 시작하는 법 보러가기&quot; href=&quot;https://armycode.tistory.com/8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;프로그래머스 시작하는 법 보러가기&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;코드 저장소 활용&lt;/b&gt;&lt;/span&gt;: 작성한 코드는 GitHub나 개인 메모에 당일 저장해두면, 다음 세션에서 이어서 공부하기 편합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사이트 이용 가능 여부는 부대의 인터넷 및 보안 정책에 따라 달라질 수 있으므로 미리 확인해두는 게 좋습니다. 파이썬은 들여쓰기가 문법의 일부이기 때문에, 온라인 환경에서 코드를 작성할 때 들여쓰기가 깨지지 않는지 항상 확인하는 습관을 들여야 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;PC 없이도 되는 종이 코딩 공부법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;훈련이나 대기 시간처럼 PC를 쓸 수 없는 시간은 싸지방 시간보다 훨씬 자주 찾아옵니다. 이 시간을 버리지 않는 방법이 바로 '종이 코딩'입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;노트에 파이썬 기본 문법 개념을 정리하고, 간단한 문제를 손으로 직접 써보는 연습을 합니다.&lt;/li&gt;
&lt;li&gt;손으로 코드를 쓰면 자동완성에 의존하지 않게 되어, 문법의 구체적인 동작과 변수 이름 하나까지 정확하게 파악하는 힘이 길러집니다.&lt;/li&gt;
&lt;li&gt;PC를 쓸 수 없을 때는 손으로 코딩하고, 싸지방에 갔을 때 이를 직접 입력해 실행해보는 흐름을 반복하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 흐름을 만들어두면 싸지방 이용 시간이 짧더라도, 그 시간을 오롯이 &quot;확인하고 고치는&quot; 데 쓸 수 있어 훨씬 효율적입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;기초 문법 학습 순서 - 변수부터 함수까지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬을 처음 시작한다면 모든 문법을 한꺼번에 공부할 필요는 없습니다. 다음 순서로 하나씩 익히는 걸 추천합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;python&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;makefile&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;name = &quot;홍길동&quot;
age = 20
print(name, age)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;변수와 자료형&lt;/b&gt;&lt;/span&gt;: 자료형을 따로 적지 않아도 된다는 점이 C언어와 가장 크게 다릅니다. 숫자 두 개를 입력받아 더하는 짧은 코드를 여러 번 작성해보는 것부터 시작합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;조건문과 반복문&lt;/b&gt;&lt;/span&gt;: if, for, while의 개념 자체는 C언어와 같지만, 콜론(:)과 들여쓰기로 블록을 구분한다는 차이를 손으로 익혀둡니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;리스트와 딕셔너리&lt;/b&gt;&lt;/span&gt;: 리스트는 배열과 비슷하지만 크기를 미리 정하지 않아도 됩니다. 딕셔너리는 키와 값으로 데이터를 저장하는 구조로, 이후 알고리즘 문제나 데이터를 다루는 작업에서 자주 쓰입니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;함수&lt;/b&gt;&lt;/span&gt;: 반복해서 쓰는 로직을 함수로 분리하는 연습을 합니다. C언어에서 함수 개념을 이미 익혔다면, 파이썬에서는 선언 방식만 새로 익히면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 단계마다 다음과 같은 짧은 문제로 직접 연습해보는 걸 추천합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;숫자를 입력받아 홀수&amp;middot;짝수 판별하기&lt;/li&gt;
&lt;li&gt;구구단 출력하기&lt;/li&gt;
&lt;li&gt;1부터 100까지 합 구하기&lt;/li&gt;
&lt;li&gt;리스트에서 최댓값&amp;middot;최솟값 찾기&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;C언어로 풀었던 문제, 파이썬으로 다시 풀어보기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어를 이미 공부했다면, 파이썬 문법을 오래 읽는 것보다 &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;C언어로 풀었던 문제를 파이썬으로 다시 작성해보는 방법&lt;/b&gt;&lt;/span&gt;이 훨씬 효과적입니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;c&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;for (int i = 0; i &amp;lt; 5; i++) {
    printf(&quot;%d\n&quot;, i);
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;python&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;isbl&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;for i in range(5):
    print(i)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 C언어로 풀었던 &quot;1부터 100까지 홀수의 합&quot; 문제를 파이썬으로 다시 작성해보는 식입니다. 이렇게 하면 알고리즘 자체를 새로 고민할 필요가 없기 때문에, 파이썬 문법 자체에만 집중할 수 있습니다. 같은 문제를 두 언어로 각각 풀어보는 과정에서 두 언어의 차이도 자연스럽게 몸에 익습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;복무 시기별 파이썬 학습 로드맵&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 복무 기간을 크게 세 시기로 나눠 목표를 다르게 잡으면, 막연히 &quot;언젠가 다 하겠지&quot;보다 훨씬 꾸준히 이어갈 수 있습니다.&lt;/p&gt;
&lt;div&gt;시기주요 여건추천 학습 내용목표
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;복무 초반&lt;/td&gt;
&lt;td&gt;적응기, 개인 시간 부족&lt;/td&gt;
&lt;td&gt;기초 문법 정리, 종이 코딩&lt;/td&gt;
&lt;td&gt;변수&amp;middot;조건문&amp;middot;반복문 숙지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;복무 중반&lt;/td&gt;
&lt;td&gt;개인정비 시간 확보&lt;/td&gt;
&lt;td&gt;함수, 리스트&amp;middot;딕셔너리 응용&lt;/td&gt;
&lt;td&gt;쉬운~중간 난이도 문제 풀이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;복무 후반&lt;/td&gt;
&lt;td&gt;싸지방 활용 안정화&lt;/td&gt;
&lt;td&gt;작은 토이 프로젝트, 알고리즘 문제&lt;/td&gt;
&lt;td&gt;완성된 결과물 1~2개 확보&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확한 일정을 지금부터 빡빡하게 짤 필요는 없습니다. 각 시기에 맞는 큰 목표만 정해두고, 그 안에서 하루하루의 계획은 유연하게 조정하는 편이 오래갑니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;작은 토이 프로젝트로 넘어가기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기초 문법을 어느 정도 익혔다면 이론에만 머물지 말고 작은 프로그램을 직접 만들어보는 게 좋습니다. 처음부터 거창한 프로젝트보다는 30분에서 1시간 안에 완성할 수 있는 작은 규모로 시작하는 걸 추천합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;숫자 계산기, 숫자 맞히기 게임 같은 간단한 콘솔 프로그램&lt;/li&gt;
&lt;li&gt;간단한 성적 관리 프로그램이나 가계부&lt;/li&gt;
&lt;li&gt;오늘 공부한 시간과 문제 풀이 결과를 기록해주는 자기계발 기록기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기초 문법과 자료구조를 조금씩 응용해보는 과정에서 &quot;프로그램을 만든다&quot;는 감각이 붙습니다. 이렇게 완성한 작은 결과물들은 전역 후 포트폴리오를 준비할 때도 좋은 소재가 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;C언어를 공부한 다음 파이썬을 배우면 바로 이해할 수 있나요?&lt;/span&gt;&lt;/b&gt; A. 변수, 조건문, 반복문, 함수 같은 기본 개념을 알고 있다면 시작하기 훨씬 수월합니다. 다만 자료구조와 파이썬 특유의 문법(들여쓰기, 동적 타이핑)은 별도로 손에 익혀야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;싸지방 인터넷이 느려서 강의를 보기 어려운데 어떻게 공부해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 영상 강의에 의존하기보다 책이나 텍스트 자료로 개념을 먼저 익히고, 싸지방에서는 코드를 직접 실행해보거나 막히는 부분만 검색하는 방식이 효율적입니다. 인터넷 사용이 어려운 시간에는 종이 코딩으로 감각을 유지하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;파이썬을 처음 공부할 때 AI에게 코드를 만들어달라고 해도 되나요?&lt;/span&gt;&lt;/b&gt; A. 가능하지만, 처음부터 완성된 코드를 받기보다는 직접 먼저 작성해보는 방법을 추천합니다. 오류가 발생했을 때 에러 메시지와 코드를 함께 보여주고 원인을 설명해달라고 요청하는 방식이 문법을 이해하는 데 훨씬 도움이 됩니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어를 먼저 공부했다면 파이썬은 새로운 개념을 배우는 시간이라기보다, 알고 있던 개념을 다른 방식으로 표현하는 연습에 가깝습니다. 처음부터 클래스나 라이브러리까지 욕심내기보다는 변수 &amp;rarr; 조건문 &amp;rarr; 반복문 &amp;rarr; 리스트&amp;middot;딕셔너리 &amp;rarr; 함수 순서로 하나씩 손에 익히는 걸 추천합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>개발 공부</category>
      <category>C언어</category>
      <category>python공부</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>싸지방코딩</category>
      <category>종이코딩</category>
      <category>초보개발자</category>
      <category>코딩테스트</category>
      <category>파이썬기초</category>
      <category>프로그래머스</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/24</guid>
      <comments>https://armycode.tistory.com/24#entry24comment</comments>
      <pubDate>Sat, 26 Sep 2026 17:30:10 +0900</pubDate>
    </item>
    <item>
      <title>군대에서 C언어 공부하는 방법 - 기초부터 제대로 잡는 법</title>
      <link>https://armycode.tistory.com/23</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;요즘 누가 C언어를 배워, 실무에서는 잘 안 쓰인다던데.&quot; 코딩을 처음 시작할 때 이런 이야기를 한 번쯤 듣게 됩니다. 그래서 C언어는 건너뛰고 바로 Python이나 JavaScript부터 시작하는 경우가 많습니다. 그런데 막상 자료구조나 메모리 개념 앞에서 막히는 사람들을 보면, 대부분 C언어를 제대로 짚고 넘어가지 않은 경우였습니다. C는 &quot;요즘 쓰는 언어&quot;가 아니라 &quot;기초를 만드는 언어&quot;에 가깝습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;C는 요즘 안 써도 된다&quot;는 생각이 놓치는 것&lt;/li&gt;
&lt;li&gt;군대에서 C언어를 공부하면 좋은 이유&lt;/li&gt;
&lt;li&gt;싸지방에서 C언어를 컴파일&amp;middot;실습하는 법&lt;/li&gt;
&lt;li&gt;나에게 맞는 입문 교재 고르는 기준&lt;/li&gt;
&lt;li&gt;1단계: 변수와 자료형, 코드를 예상하고 확인하기&lt;/li&gt;
&lt;li&gt;2단계: 조건문과 반복문으로 작은 프로그램 만들기&lt;/li&gt;
&lt;li&gt;3단계: 배열과 문자열로 기본기 다지기&lt;/li&gt;
&lt;li&gt;4단계: 포인터와 메모리, 겁먹지 말고 순서대로&lt;/li&gt;
&lt;li&gt;싸지방 이용 가능&amp;middot;불가능 요소와 공부 루틴&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;C는 요즘 안 써도 된다&quot;는 생각이 놓치는 것&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어는 웹 서비스를 만들 때 직접 쓰이는 경우는 많지 않습니다. 그래서 &quot;요즘은 Python이나 JavaScript만 알아도 되지 않나&quot;라고 생각하기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 C언어를 한 번 제대로 짚고 넘어간 사람과 그렇지 않은 사람은, 이후 다른 언어를 배울 때 확연히 차이가 납니다. 메모리가 어떻게 할당되는지, 변수가 실제로 어디에 저장되는지, 배열과 포인터가 왜 비슷하게 동작하는지를 C언어만큼 직관적으로 보여주는 언어가 드물기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 면접이나 자격증 시험에서 자료구조와 컴퓨터 구조를 물어볼 때, C언어로 개념을 익힌 사람은 답변에 훨씬 자신 있게 접근합니다. C는 최신 트렌드를 따라가기 위한 언어가 아니라, 이후 어떤 언어를 배우든 기초 체력을 만들어주는 언어라고 보는 게 맞습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;군대에서 C언어를 공부하면 좋은 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어는 특히 군대 환경과 궁합이 좋은 편입니다. 최신 프레임워크나 라이브러리를 계속 설치하고 업데이트해야 하는 언어와 달리, C는 컴파일러 하나만 있으면 거의 모든 걸 실습할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문법 자체가 간결해서, 짧은 시간에도 하나의 개념을 끝까지 이해하고 넘어가기 좋습니다.&lt;/li&gt;
&lt;li&gt;별도의 프레임워크 없이도 자료구조와 알고리즘을 직접 구현해볼 수 있어, 코딩테스트 대비에도 도움이 됩니다.&lt;/li&gt;
&lt;li&gt;정보처리기사 등 IT 자격증에서도 C 기반의 개념 문제가 자주 등장해, 자격증 공부와 병행하기 좋습니다.&lt;/li&gt;
&lt;li&gt;컴퓨터가 데이터를 실제로 다루는 방식을 배우게 해줘서, 전역 후 전공 수업이나 실무 학습에도 빠르게 적응할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무엇보다 C언어는 화려한 결과물보다 &quot;왜 이렇게 동작하는가&quot;를 이해하는 데 집중하는 언어입니다. 제한된 시간 안에서 눈에 보이는 결과보다 기본기를 다지는 게 우선인 군대 환경에는 오히려 잘 맞는 선택입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;싸지방에서 C언어를 컴파일&amp;middot;실습하는 법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어는 다른 언어와 달리 코드를 작성한 뒤 컴파일이라는 과정을 거쳐야 실행할 수 있습니다. 싸지방처럼 프로그램 설치가 제한된 환경에서는 다음 방법을 활용할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;웹 기반 온라인 컴파일러&lt;/b&gt;&lt;/span&gt;: 브라우저에서 C 코드를 작성하고 바로 컴파일&amp;middot;실행 결과를 확인할 수 있는 서비스를 활용하면 별도 설치 없이 바로 시작할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;프로그래머스 등 코딩테스트 플랫폼&lt;/b&gt;&lt;/span&gt;: C언어를 지원하는 플랫폼에서는 기본 틀이 제공되어, 컴파일 환경을 신경 쓰지 않고 바로 문제 풀이에 들어갈 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;로그인 유지가 되는 서비스 활용&lt;/b&gt;&lt;/span&gt;: 이전에 작성한 코드가 그대로 남아 있는 온라인 환경을 쓰면, 짧은 싸지방 이용 시간을 여러 번 이어붙여 공부할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 사이트 이용 가능 여부는 부대의 인터넷 및 보안 정책에 따라 달라질 수 있으므로, 미리 확인해두는 게 안전합니다. 컴파일 에러는 C언어를 처음 배울 때 가장 자주 마주치는 벽입니다. 세미콜론 하나, 괄호 하나만 빠져도 실행이 안 되기 때문에 당황하기 쉬운데, 이 에러 메시지를 읽고 원인을 스스로 찾아보는 과정 자체가 좋은 공부가 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;나에게 맞는 입문 교재 고르는 기준&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 강의나 자료만으로도 충분하지만, 인터넷 이용이 어려운 시간을 위해 종이 교재를 한 권 곁에 두는 것도 도움이 됩니다. 교재를 고를 때는 다음 기준을 참고하면 좋습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;예제 중심으로 설명하는가&lt;/b&gt;&lt;/span&gt;: 이론 설명이 길기만 한 책보다, 짧은 예제 코드로 개념을 바로 확인시켜주는 책이 독학에 유리합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;포인터 단원을 그림으로 풀어주는가&lt;/b&gt;&lt;/span&gt;: 메모리 구조를 도식으로 보여주는 교재는 포인터 단계에서 특히 도움이 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;동영상 강의가 함께 제공되는가&lt;/b&gt;&lt;/span&gt;: 인터넷을 쓸 수 있는 시간에 저자 직강 영상으로 개념을 빠르게 훑어볼 수 있다면 학습 속도가 붙습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책 한 권을 처음부터 끝까지 완독하는 것보다, 지금 배우는 단계에 해당하는 챕터만 반복해서 보는 방식이 훨씬 효율적입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;1단계: 변수와 자료형, 코드를 예상하고 확인하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어를 시작할 때 가장 먼저 마주치는 개념이 자료형입니다. int, float, char, double처럼 데이터의 종류에 따라 저장 방식이 다르다는 걸 이해하는 게 시작점입니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;c&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;perl&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;int a = 10;
int b = 20;
printf(&quot;%d\n&quot;, a + b);&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 코드를 실행하기 전에 결과가 무엇일지 먼저 예상해보고, 실제로 실행해서 맞는지 확인하는 습관을 들여보세요. 단순히 문법을 외우는 것보다 &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;코드를 읽고 결과를 예상하는 연습&lt;/b&gt;&lt;/span&gt;이 훨씬 오래 기억에 남습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정수는 int, 소수점이 있는 값은 float나 double, 문자 하나는 char로 저장한다는 기본 규칙을 먼저 익힙니다.&lt;/li&gt;
&lt;li&gt;printf와 scanf로 값을 출력하고 입력받는 연습을 하면서 형식 지정자(%d, %f, %c)의 차이를 함께 익혀둡니다.&lt;/li&gt;
&lt;li&gt;숫자 두 개를 입력받아 더하는 정도의 짧은 코드를 여러 번 직접 작성해보는 게 복잡한 프로그램보다 효과적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;2단계: 조건문과 반복문으로 작은 프로그램 만들기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자료형과 변수에 익숙해졌다면 if, else, for, while 같은 제어문으로 넘어갑니다. 이 부분은 대부분의 언어에서 공통으로 쓰이는 개념이라, C언어에서 제대로 익혀두면 이후 다른 언어를 배울 때도 그대로 활용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문법만 외우려고 하기보다 &quot;어떤 상황에서 필요한가&quot;를 이해하는 게 중요합니다. 이 단계에서는 다음처럼 코드가 짧은 문제를 여러 번 반복해서 만들어보는 걸 추천합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;숫자를 입력받아 홀수&amp;middot;짝수 구분하기&lt;/li&gt;
&lt;li&gt;점수를 입력받아 등급 출력하기&lt;/li&gt;
&lt;li&gt;1부터 100까지 합 구하기&lt;/li&gt;
&lt;li&gt;구구단 출력하기&lt;/li&gt;
&lt;li&gt;숫자 맞히기 프로그램 만들기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 문제를 for문과 while문으로 각각 풀어보며 두 방식의 차이를 비교해보는 것도 좋은 연습이 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;3단계: 배열과 문자열로 기본기 다지기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열은 여러 개의 값을 하나의 변수처럼 묶어서 다루는 방법입니다. C언어에서 문자열은 별도의 자료형이 아니라 문자 배열로 다뤄지기 때문에, 배열 개념을 먼저 확실히 잡아두는 게 순서상 맞습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배열에 값을 저장하고 순서대로 출력하는 연습부터 시작합니다.&lt;/li&gt;
&lt;li&gt;배열의 최댓값이나 최솟값을 찾는 문제처럼, 반복문과 배열을 함께 쓰는 문제로 넘어갑니다.&lt;/li&gt;
&lt;li&gt;문자열을 다룰 때는 배열의 마지막에 \0(널 문자)이 들어간다는 점을 함께 이해해두면, 이후 문자열 관련 함수를 배울 때 헷갈리지 않습니다. 배열의 인덱스 접근 방식과 널 문자의 역할을 이해해두는 것은 다음 단계인 포인터 학습으로 넘어가는 중요한 징검다리가 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;4단계: 포인터와 메모리, 겁먹지 말고 순서대로&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어 공부에서 가장 많은 초보자가 막히는 부분이 포인터입니다. *, &amp;amp; 같은 기호가 갑자기 등장하고 주소와 메모리라는 개념까지 함께 나오기 때문에 어렵게 느껴집니다. 하지만 실제로 막히는 이유는 개념 자체가 어려워서라기보다, 순서 없이 한 번에 이해하려고 하기 때문인 경우가 많습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;먼저 &quot;변수는 메모리의 특정 위치에 저장된다&quot;는 사실부터 받아들입니다.&lt;/li&gt;
&lt;li&gt;포인터는 그 위치(주소)를 저장하는 변수라는 점을 이해합니다.&lt;/li&gt;
&lt;li&gt;&amp;amp;로 주소를 구하고, *로 그 주소에 있는 값을 가져오는 문법을 짧은 예제로 반복 연습합니다.&lt;/li&gt;
&lt;li&gt;기본 개념이 익숙해지면 malloc, free 같은 동적 메모리 함수로 필요할 때 메모리를 할당하고 해제하는 원리도 함께 살펴봅니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;c&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;perl&quot; style=&quot;color: #eaecf0;&quot;&gt;&lt;code&gt;int num = 10;
int *ptr = &amp;amp;num;

printf(&quot;%d\n&quot;, num);
printf(&quot;%d\n&quot;, *ptr);&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개념이 헷갈릴 때는 컴퓨터 앞에서 무작정 코드를 치기보다, 노트에 메모리 주소 상자를 직접 그려가며 데이터가 어떻게 이동하는지 추적해보는 게 훨씬 효과적입니다. 포인터는 한 번에 완벽히 이해하려 하지 말고, 이해가 안 되는 부분은 표시만 해두고 다음 세션에서 다시 짧게 복습하며 여러 번 쌓아가는 걸 추천합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;싸지방 이용 가능&amp;middot;불가능 요소와 공부 루틴&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군 내부 환경의 제약을 미리 파악해두면 학습 계획을 세우기 훨씬 수월합니다.&lt;/p&gt;
&lt;div&gt;구분이용 가능 항목이용 불가&amp;middot;제한 항목
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;개발 환경&lt;/td&gt;
&lt;td&gt;온라인 컴파일러, 웹 브라우저&lt;/td&gt;
&lt;td&gt;대용량 개발 프로그램 정식 설치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;학습 자료&lt;/td&gt;
&lt;td&gt;인터넷 강의, IT 블로그, 코딩테스트 사이트&lt;/td&gt;
&lt;td&gt;검증되지 않은 외부 파일 다운로드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;오프라인&lt;/td&gt;
&lt;td&gt;교재 중심 이론 공부, 손코딩 연습&lt;/td&gt;
&lt;td&gt;실시간 웹 검색 및 질문&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 제약 안에서는 하루에 몰아서 공부하기보다 짧은 시간을 반복하는 방식이 현실적입니다. 1시간 정도의 싸지방 시간이 있다면 다음처럼 나눠볼 수 있습니다.&lt;/p&gt;
&lt;div&gt;시간공부 내용방법
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10분&lt;/td&gt;
&lt;td&gt;개념 복습&lt;/td&gt;
&lt;td&gt;전날 배운 문법 다시 보기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15분&lt;/td&gt;
&lt;td&gt;새 개념 학습&lt;/td&gt;
&lt;td&gt;변수, 조건문, 반복문 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25분&lt;/td&gt;
&lt;td&gt;직접 코딩&lt;/td&gt;
&lt;td&gt;예제를 직접 작성하고 변형해보기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10분&lt;/td&gt;
&lt;td&gt;정리&lt;/td&gt;
&lt;td&gt;틀린 코드와 새로 배운 내용 메모&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제 코드를 그대로 복사해서 끝내지 말고, 숫자를 바꾸거나 조건을 추가하거나 비슷한 문제를 직접 만들어보는 식으로 변형하는 게 중요합니다. 평일 1~1.5시간, 주말 2~3시간 정도로 무리하지 않게 루틴을 만드는 것이 몰아서 공부하는 것보다 훨씬 오래 지속됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;C언어를 처음 배우는데 포인터에서 자꾸 막힙니다. 그냥 넘어가도 될까요?&lt;/span&gt;&lt;/b&gt; A. 당장 완벽히 이해하지 못해도 괜찮습니다. 다만 완전히 건너뛰기보다는, 짧은 예제를 반복해서 접하며 조금씩 익숙해지는 방식을 추천합니다. 배열과 함수를 먼저 충분히 연습한 뒤 다시 포인터로 돌아오면 훨씬 수월하게 이해되는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;전역 후 웹 개발이나 백엔드를 하고 싶은데 C언어가 도움이 될까요?&lt;/span&gt;&lt;/b&gt; A. 네, 도움이 됩니다. C언어로 익히는 메모리 구조, 참조 개념, 자료형에 대한 이해는 이후 Java, Python, C++ 등을 배울 때도 깊이 있는 이해를 돕는 기초 자산이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;싸지방에서 C언어 실습 환경을 따로 설치해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 아닙니다. 설치가 제한된 환경에서는 웹 기반 온라인 컴파일러나 C언어를 지원하는 코딩테스트 플랫폼을 활용하면 별도 설치 없이 바로 실습할 수 있습니다. 로컬 개발 환경 구축은 전역 후 개인 PC에서 진행해도 늦지 않습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어는 화려한 언어가 아닙니다. 하지만 변수와 메모리, 자료형과 포인터라는 개념을 가장 단순한 형태로 보여주는 언어이기도 합니다. 오늘 정리한 단계를 순서대로 따라가며, 급하게 진도를 나가기보다 각 단계에서 손으로 코드를 여러 번 써보는 데 시간을 쓰는 걸 추천합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>개발 공부</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/23</guid>
      <comments>https://armycode.tistory.com/23#entry23comment</comments>
      <pubDate>Thu, 24 Sep 2026 17:30:24 +0900</pubDate>
    </item>
    <item>
      <title>군대에서 개발자 공부를 시작한다면 가장 먼저 해야 할 것</title>
      <link>https://armycode.tistory.com/21</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;일단 아무 언어나 하나 시작하면 되겠지.&quot; 처음 개발자를 준비하기로 마음먹었을 때 저도 이렇게 생각했습니다. 유튜브에서 추천하는 언어로 강의를 결제하고 곧바로 문법 진도부터 나갔습니다. 그런데 몇 달 지나고 보니 정작 남은 건 &quot;그래서 나는 뭘 하는 사람이 되고 싶은가&quot;라는 질문이었습니다. 언어를 먼저 고르는 게 아니라, 그 질문에 먼저 답해야 한다는 걸 뒤늦게 알았습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;일단 아무거나 배우자&quot;가 가장 위험한 이유&lt;/li&gt;
&lt;li&gt;방향부터 정하고, 현실적인 시간을 확보하기&lt;/li&gt;
&lt;li&gt;방향에 맞는 언어 하나를 정하고 끝까지 붙잡기&lt;/li&gt;
&lt;li&gt;문법보다 먼저 익혀야 할 사고방식&lt;/li&gt;
&lt;li&gt;환경별로 쓸 수 있는 학습 수단 비교&lt;/li&gt;
&lt;li&gt;CS 기초는 실습 없이도 쌓을 수 있다&lt;/li&gt;
&lt;li&gt;Git과 GitHub로 기록 습관 만들기&lt;/li&gt;
&lt;li&gt;큰 프로젝트보다 작은 토이 프로젝트부터&lt;/li&gt;
&lt;li&gt;첫 한 달 계획과 슬럼프 대처법&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;일단 아무거나 배우자&quot;가 가장 위험한 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자가 되기로 마음먹으면 가장 먼저 하는 일이 보통 &quot;무슨 언어부터 배우지&quot;를 검색하는 것입니다. 답이 검색 결과마다 제각각이다 보니, 결국 눈에 띄는 강의를 아무거나 시작하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 언어 선택 자체가 아닙니다. 방향 없이 시작하면 한 달쯤 뒤에 &quot;이 언어가 내 길이 맞나&quot;라는 의심이 들고, 다시 다른 강의를 찾아보는 일이 반복됩니다. 여기에 더해 &quot;가장 인기 있는 프레임워크&quot;나 &quot;화려한 프로젝트&quot;부터 시작해야 남들과 차별화될 거라는 조급함도 종종 끼어듭니다. 실제로는 이런 조급함이 의욕만 앞선 계획으로 이어져, 환경적 제약과 체력적 한계에 부딪혀 한 달도 못 가 포기하는 경우로 이어지곤 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대처럼 시간과 자원이 한정된 환경에서는 이렇게 왔다 갔다 하는 시간 자체가 가장 큰 손실입니다. 그래서 코딩을 시작하기 전에 먼저 확인해야 할 것은 &quot;무엇을 배울까&quot;가 아니라 &quot;왜 배우는가, 어떤 개발자가 되고 싶은가&quot;입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;방향부터 정하고, 현실적인 시간을 확보하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자라는 직군은 생각보다 범위가 넓습니다. 웹 서비스를 만드는 프론트엔드&amp;middot;백엔드 개발자, 앱을 만드는 모바일 개발자, 데이터를 다루는 데이터 엔지니어까지 성격이 전혀 다릅니다. 지금 이 모든 분야를 다 알 필요는 없지만, 대략적인 방향은 잡아두는 게 좋습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;눈에 보이는 화면을 직접 만들고 싶다면 &amp;rarr; 프론트엔드&lt;/li&gt;
&lt;li&gt;데이터와 로직을 처리하는 서버 쪽에 관심이 간다면 &amp;rarr; 백엔드&lt;/li&gt;
&lt;li&gt;숫자와 데이터를 다루는 게 재밌다면 &amp;rarr; 데이터 분야&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방향과 함께 반드시 짚어야 할 것이 하나 더 있습니다. 바로 자신의 일과와 부대 환경을 객관적으로 본 뒤 공부 시간을 현실적으로 잡는 것입니다. 훈련이나 근무로 체력이 소진된 날까지 포함해 &quot;주중 매일 4~5시간&quot;처럼 무리한 목표를 세우면 실패할 확률이 높습니다. 주중에는 1시간~1시간 반, 주말에는 2~3시간 정도로 보수적으로 잡는 쪽이 오래갑니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;방향에 맞는 언어 하나를 정하고 끝까지 붙잡기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방향과 가용 시간을 대략 정했다면, 그다음은 언어 선택입니다. 초보자에게는 다음 세 가지 기준을 추천합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;결과가 바로 눈에 보이는가&lt;/b&gt;&lt;/span&gt;: 코드를 짜고 바로 실행 결과를 확인할 수 있어야 동기부여가 유지됩니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;자료와 커뮤니티가 많은가&lt;/b&gt;&lt;/span&gt;: 막히는 부분이 생겼을 때 검색만으로 해결할 수 있어야 혼자 공부하기 수월합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;설치 없이 브라우저에서도 실행 가능한가&lt;/b&gt;&lt;/span&gt;: 싸지방처럼 프로그램 설치가 제한된 환경에서는 이 조건이 특히 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 기준으로 보면 Python이나 JavaScript, 채용 수요가 꾸준한 Java가 초보자에게 흔히 추천되는 이유를 알 수 있습니다. 다만 어떤 언어든 완벽한 정답은 없습니다. 초보자들이 가장 많이 하는 실수 중 하나가 여러 언어를 번갈아 찍어먹듯 공부하는 것입니다. 조금 어렵다고 느껴질 때마다 다른 언어로 갈아타면 전역 시점까지 어떤 언어도 제대로 남지 않습니다. 방향에 맞는 언어를 하나 정했다면, 계속 비교하지 말고 일단 끝까지 붙잡는 것이 중요합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;문법보다 먼저 익혀야 할 사고방식&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;언어를 정했다고 바로 문법 암기에 들어가는 건 추천하지 않습니다. 그보다 먼저 익혀야 할 게 있습니다. 바로 &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;개발자가 문제를 쪼개서 생각하는 방식&lt;/b&gt;&lt;/span&gt;입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의 큰 문제를 작은 단계로 나누는 연습&lt;/li&gt;
&lt;li&gt;&quot;이 코드가 왜 이렇게 동작하는지&quot; 스스로 설명해보는 연습&lt;/li&gt;
&lt;li&gt;에러 메시지를 먼저 읽고 원인을 스스로 추측해보는 연습&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문법은 검색하면 언제든 다시 찾을 수 있지만, 문제를 쪼개서 생각하는 습관은 시간을 들여야 몸에 붙습니다. 에러가 나자마자 바로 검색부터 하는 습관은 당장은 편하지만, 스스로 원인을 추론하는 힘이 늦게 길러진다는 점에서 장기적으로는 손해입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;환경별로 쓸 수 있는 학습 수단 비교&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대에서 이용 가능한 학습 수단은 각각 장단점이 뚜렷합니다. 그날그날 상황에 맞는 수단을 조합해서 쓰는 게 현실적입니다.&lt;/p&gt;
&lt;div&gt;구분장점한계추천 활용
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;싸지방 PC / 웹 IDE&lt;/td&gt;
&lt;td&gt;설치 없이 브라우저로 바로 실습 가능&lt;/td&gt;
&lt;td&gt;보안 정책상 특정 사이트 차단 가능성&lt;/td&gt;
&lt;td&gt;온라인 IDE, 프로그래머스로 실습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;종이책 / 전공 서적&lt;/td&gt;
&lt;td&gt;PC 사용이 안 되는 대기 시간에도 활용 가능&lt;/td&gt;
&lt;td&gt;직접 실행해볼 수 없음&lt;/td&gt;
&lt;td&gt;CS 이론, 언어 개념 학습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;패드&amp;middot;태블릿(허가 부대)&lt;/td&gt;
&lt;td&gt;오프라인 강의 수강 가능&lt;/td&gt;
&lt;td&gt;인터넷 미연결 시 자료 갱신 불가&lt;/td&gt;
&lt;td&gt;다운로드한 강의 영상 복습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;노트 필기 / 손코딩&lt;/td&gt;
&lt;td&gt;장소 제약 없이 언제든 가능&lt;/td&gt;
&lt;td&gt;오타 검증&amp;middot;실행이 불가능&lt;/td&gt;
&lt;td&gt;알고리즘 로직 구상, 개념 요약&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무거운 로컬 개발 환경이나 최신 프레임워크 설치는 지금 당장 필요하지 않습니다. 방향과 기초가 어느 정도 잡힌 뒤, 전역 후 개인 PC 환경에서 시작해도 늦지 않습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;CS 기초는 실습 없이도 쌓을 수 있다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습 환경이 제한적인 군대야말로 CS 기초 이론을 다지기에 좋은 시기입니다. 많은 초보 개발자가 코딩 테크닉에만 집중하다가 정작 기초 지식이 부족해 이후 학습에서 한계에 부딪히곤 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;자료구조&lt;/b&gt;&lt;/span&gt;: 배열, 리스트, 스택, 큐 같은 기본 개념을 익히고 쉬운 문제부터 풀어봅니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;운영체제&amp;middot;네트워크&lt;/b&gt;&lt;/span&gt;: 웹의 동작 원리(HTTP/HTTPS), IP, DNS, 프로세스와 스레드 같은 개념을 책으로 학습합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 지식은 컴퓨터 없이 책만으로도 충분히 깊이 있게 공부할 수 있는 영역입니다. PC를 쓸 수 없는 시간에 CS 개념 정리를 배치해두면, 제한된 PC 시간은 실습에 온전히 쓸 수 있습니다.&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;a title=&quot;CS 공부하러 가기&quot; href=&quot;https://armycode.tistory.com/4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;CS 공부하러 가기&lt;/b&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;Git과 GitHub로 기록 습관 만들기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩 공부를 시작함과 동시에 Git의 기본 명령어를 익히고, GitHub에 매일 배운 내용을 TIL(Today I Learned) 형태로 기록하는 습관을 들이는 걸 추천합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대에서의 공부는 연속성이 깨지기 쉽습니다. 훈련이나 일과로 며칠씩 공부를 못 하는 날도 생깁니다. 이럴 때 GitHub에 남겨진 커밋 기록은 자신이 어디까지 공부했는지 되짚어볼 수 있는 이정표가 됩니다. 거창한 기술 블로그를 매일 쓸 필요는 없습니다. 오늘 배운 것, 틀린 것, 내일 볼 것을 세 줄로 남기는 정도로 충분하며, 이 기록 자체가 전역 후 성실성을 보여주는 좋은 자료가 됩니다.&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;a title=&quot;GitHup 시작하는 법 바로가기&quot; href=&quot;https://armycode.tistory.com/10&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;GitHup 시작하는 법 바로가기&lt;/b&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;큰 프로젝트보다 작은 토이 프로젝트부터&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초보 단계에서 흔히 저지르는 실수 중 하나가 기초 문법도 익히기 전에 &quot;포트폴리오용 프로젝트&quot;부터 시작하는 것입니다. 완성된 서비스를 만들고 싶은 마음은 당연하지만, 기초가 없는 상태에서 프로젝트를 시작하면 대부분 강의나 예제를 그대로 따라 치는 수준에 머무릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추천하는 순서는 다음과 같습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;기본 문법 - 변수, 조건문, 반복문, 함수&lt;/li&gt;
&lt;li&gt;간단한 문제 풀이 - 입력받아 조건에 따라 출력하는 수준&lt;/li&gt;
&lt;li&gt;작은 토이 프로젝트 - 계산기, 할 일 목록, 간단한 메모장처럼 1~2주 내에 끝낼 수 있는 것&lt;/li&gt;
&lt;li&gt;이후 관심 분야에 맞는 본격적인 프로젝트&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;군대라는 환경 특성상 긴 호흡의 프로젝트는 완성하지 못하고 중단될 확률이 높습니다. 작은 프로젝트를 여러 번 완성해보는 경험이 성취감과 실력을 동시에 키워줍니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;첫 한 달 계획과 슬럼프 대처법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방향과 언어를 정했다면, 첫 한 달은 다음과 같은 흐름을 추천합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;1주 차&lt;/b&gt;&lt;/span&gt;: 기본 문법(변수, 조건문, 반복문)을 익히며 짧은 코드를 직접 작성해봅니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;2주 차&lt;/b&gt;&lt;/span&gt;: 함수와 배열&amp;middot;리스트 개념을 익히고, 쉬운 문제를 매일 1~2개씩 풀어봅니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;3주 차&lt;/b&gt;&lt;/span&gt;: 배운 문법을 활용해 작은 토이 프로젝트를 시도합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;4주 차&lt;/b&gt;&lt;/span&gt;: 한 달간 배운 내용을 복습하며, 스스로 설명하지 못하는 개념이 있는지 점검합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 흐름을 지키는 중에도 &quot;사회에 있는 동기들은 저만치 앞서가는데 나만 제자리걸음인 것 같다&quot;는 불안감이 찾아올 수 있습니다. 이럴 때는 남들과 비교하기보다 입대 전의 자신과 비교하는 편이 낫습니다. 훈련이나 당직으로 공부를 못 한 날에는 자책하지 말고, 그다음 날 다시 이어가면 됩니다. 매일 같은 시간을 채우는 것보다 한 주 단위로 총량을 채운다는 감각으로 접근하면 훨씬 오래 지속할 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;비전공자인데 군대에서 코딩을 독학으로 시작해도 괜찮을까요?&lt;/span&gt;&lt;/b&gt; A. 충분히 가능합니다. 오히려 군대는 다른 잡다한 일정에 방해받지 않고 기초를 단단히 다지기에 좋은 환경입니다. 처음부터 난이도 높은 강의보다는 진입장벽이 낮고 결과를 바로 확인할 수 있는 언어와 입문 자료부터 시작하는 걸 권합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;사지방 보안 정책 때문에 프로그램 설치가 안 되는데 어떻게 실습하나요?&lt;/span&gt;&lt;/b&gt; A. 설치형 프로그램 대신 웹 브라우저에서 바로 코드를 실행할 수 있는 온라인 IDE와 프로그래머스 같은 플랫폼을 활용하면 됩니다. 로컬 환경과 비슷한 수준으로 코딩과 간단한 실습을 이어갈 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;훈련이나 야간 근무 때문에 매일 규칙적으로 공부하기 어려운데 괜찮을까요?&lt;/span&gt;&lt;/b&gt; A. 자연스러운 일입니다. &quot;매일 예외 없이 2시간씩&quot;보다 &quot;일주일 총 7시간&quot;처럼 주 단위 목표를 세우는 편이 훨씬 유리합니다. 공부를 못 한 날이 생기더라도 스트레스 받지 말고, 여유 있는 날에 채워나가는 방식으로 유연하게 관리하면 됩니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무엇부터 시작해야 할지 막막할 때는 언어나 도구를 먼저 고르기보다, 방향을 먼저 정하는 것이 순서입니다. 방향이 정해지면 언어 선택도, 학습 수단의 조합도, 첫 한 달의 계획도 자연스럽게 뒤따라옵니다. 처음부터 완벽한 로드맵을 짤 필요는 없습니다. 오늘 소개한 순서대로 하나씩 밟아가며, 자신에게 맞는 속도로 시작해보는 걸 추천합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>군생활&amp;amp;개발자</category>
      <category>cs기초</category>
      <category>GitHup입문</category>
      <category>TIL기록</category>
      <category>개발자로드맵</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>싸지방코딩</category>
      <category>초보개발자</category>
      <category>코딩입문</category>
      <category>프로그래밍언어선택</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/21</guid>
      <comments>https://armycode.tistory.com/21#entry21comment</comments>
      <pubDate>Tue, 22 Sep 2026 17:30:24 +0900</pubDate>
    </item>
    <item>
      <title>블로그 소개</title>
      <link>https://armycode.tistory.com/pages/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%86%8C%EA%B0%9C</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;싸지방에서도 개발자는 성장할 수 있습니다&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 분들이 군 복무 기간을 &quot;개발 공부가 멈추는 시간&quot;이라고 말합니다. 저는 정반대로 생각합니다. 군대는 시간이 없는 곳이 아니라 &lt;b&gt;선택지가 좁은 곳&lt;/b&gt;입니다. 설치할 수 없고, 저장할 수 없고, 접속할 수 없는 것이 많을 뿐입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 제약 안에서 되는 방법을 하나씩 찾아 기록하기 시작했습니다. 이 블로그는 그 기록을 정리한 공간입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;이 블로그가 다루는 것&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 블로그의 모든 글은 하나의 기준을 통과한 내용만 담고 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;설치 권한도, 개인 저장공간도 없는 브라우저 환경에서 실제로 되는가?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 개발 블로그의 글은 대부분 개인 노트북과 자유로운 인터넷 환경을 전제로 합니다. 그 전제가 사라지면 따라 할 수 없는 글이 많습니다. 이 블로그는 처음부터 그 전제를 빼고 씁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구체적으로는 다음과 같은 내용을 다룹니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;브라우저만으로 코딩 실습이 가능한 웹 IDE와 알고리즘 사이트&lt;/li&gt;
&lt;li&gt;제한된 환경에서도 활용할 수 있는 AI 도구 사용법과 비교&lt;/li&gt;
&lt;li&gt;복무 중 준비하기 좋은 IT 자격증(컴퓨터활용능력, 정보처리기사)의 학습 전략&lt;/li&gt;
&lt;li&gt;짧은 시간 단위로 쪼개서 유지할 수 있는 공부 루틴&lt;/li&gt;
&lt;li&gt;전역 이후를 대비한 포트폴리오와 자기소개서 준비&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;이런 분께 도움이 됩니다&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;복무 중 개발 공부를 시작하고 싶지만 무엇부터 해야 할지 모르는 분&lt;/li&gt;
&lt;li&gt;비전공자이지만 전역 후 개발 직군으로 방향을 잡고 싶은 분&lt;/li&gt;
&lt;li&gt;제한된 PC 환경에서 쓸 수 있는 도구와 사이트를 찾고 있는 분&lt;/li&gt;
&lt;li&gt;자격증 취득과 코딩 공부 중 우선순위를 고민하는 분&lt;/li&gt;
&lt;li&gt;군 복무 중인 자녀나 지인에게 실질적인 정보를 전달하고 싶은 분&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;카테고리 안내&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;AI툴 리뷰&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT, Claude, Gemini를 비롯한 AI 도구를 직접 사용해 보고 정리합니다. &quot;무엇이 제일 좋은가&quot;보다 **&quot;어떤 상황에서 무엇이 유리한가&quot;**를 기준으로 비교합니다. 코드 설명, 학습 계획 수립, 문서 작성 등 목적별로 나누어 다룹니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;개발 공부&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩 입문부터 알고리즘 문제 풀이, 자격증 준비까지 학습 과정 전반을 다룹니다. 프로그래머스 문제 유형별 접근법, 컴퓨터활용능력 급수별 준비 전략, 정보처리기사 시험 구성 분석 등 시험과 실습을 모두 포함합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;개발 도구 &amp;amp; 꿀팁&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 없이 브라우저에서 바로 쓸 수 있는 도구를 중심으로 소개합니다. 웹 IDE 비교, GitHub 사용법, 온라인 협업 도구, 작업 기록을 남기는 방법 등 환경 제약을 우회하는 실용적인 방법을 정리합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;군생활 &amp;amp; 개발자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공부 방법 자체보다 &lt;b&gt;지속하는 방법&lt;/b&gt;에 관한 이야기입니다. 일과 사이 짧은 시간을 활용하는 계획법, 동기 관리, 전역 후 진로 설계, 복무 경험을 이력서에 녹여내는 방법 등을 다룹니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;글을 쓰는 원칙&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. &lt;span style=&quot;color: #ee2323;&quot;&gt;직접 확인한 내용만 씁니다.&lt;/span&gt;&lt;/b&gt; 사용해 보지 않은 도구를 추천하지 않습니다. 접속이 막히거나 기능이 제한된다면 그 사실도 그대로 적습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. &lt;span style=&quot;color: #ee2323;&quot;&gt;정보의 유효기간을 관리합니다.&lt;/span&gt;&lt;/b&gt; 서비스 종료, 요금제 변경, 시험 제도 개편 등 사실이 바뀌면 기존 글을 수정합니다. 오래된 정보를 방치하지 않는 것도 글의 일부라고 생각합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. &lt;span style=&quot;color: #ee2323;&quot;&gt;광고성 표현을 쓰지 않습니다.&lt;/span&gt;&lt;/b&gt; 과장된 수식어나 &quot;무조건&quot;, &quot;필수&quot; 같은 단정적 표현을 지양합니다. 장점과 함께 한계도 적습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. &lt;span style=&quot;color: #ee2323;&quot;&gt;따라 할 수 있는 형태로 정리합니다.&lt;/span&gt;&lt;/b&gt; 개념 설명에서 끝내지 않고 순서, 화면, 대안까지 함께 제시합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;운영자 소개&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발 공부를 이어가고 있는 현역 복무자입니다. 제한된 환경에서 가능한 학습 방법을 직접 시험해 보고 기록하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 블로그의 모든 글은 제가 먼저 겪은 시행착오에서 출발합니다. 같은 고민을 하는 분이 시간을 덜 쓰고 방향을 잡는 데 도움이 된다면 충분합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문의&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글에 사실과 다른 내용이 있거나 다뤄 주었으면 하는 주제가 있다면 댓글로 남겨 주시기 바랍니다. 확인 후 반영하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 블로그의 글은 별도 표기가 없는 한 어떠한 업체로부터도 대가를 받지 않고 작성되었습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;참고&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방에서 개발 공부하는 방법을 정리하는 블로그입니다. 브라우저만으로 가능한 코딩 실습, AI 도구 활용법, 컴활&amp;middot;정보처리기사 자격증 준비 전략을 다룹니다.&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/pages/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%86%8C%EA%B0%9C</guid>
      <pubDate>Mon, 21 Sep 2026 22:35:46 +0900</pubDate>
    </item>
    <item>
      <title>군인 개발자의 하루 1시간 코딩 공부법 - 싸지방에서도 실력은 쌓인다</title>
      <link>https://armycode.tistory.com/20</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;하루 1시간 공부해봤자 얼마나 늘겠어.&quot; 코딩 공부를 처음 마음먹었을 때 저도 그렇게 생각했습니다. 그런데 몇 달을 돌아보니, 시간이 넉넉했던 시기보다 오히려 하루 1시간으로 제한됐던 시기에 실력이 더 꾸준히 쌓였습니다. 시간이 부족해서 대충 하게 되는 게 아니라, 시간이 부족하기 때문에 허투루 쓰지 않게 되는 겁니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;목차&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&quot;1시간으로 뭘 하겠어&quot;라는 착각&lt;/li&gt;
&lt;li&gt;진짜 문제는 시간 부족이 아니라 방향 부재&lt;/li&gt;
&lt;li&gt;1시간을 4단계로 쪼개는 법&lt;/li&gt;
&lt;li&gt;10분, 오늘 목표 하나만 정하기&lt;/li&gt;
&lt;li&gt;25분, 직접 코드를 작성하는 시간&lt;/li&gt;
&lt;li&gt;15분, AI에게 제대로 질문하는 법&lt;/li&gt;
&lt;li&gt;10분, TIL로 기록해두는 습관&lt;/li&gt;
&lt;li&gt;환경별(PC&amp;middot;휴대폰&amp;middot;수첩) 공부법 비교&lt;/li&gt;
&lt;li&gt;지치는 날에도 루틴을 깨지 않는 법&lt;/li&gt;
&lt;li&gt;자주 묻는 질문(FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;&quot;1시간으로 뭘 하겠어&quot;라는 착각&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩 공부를 시작하려는 사람들이 가장 많이 하는 오해가 하나 있습니다. &quot;제대로 하려면 하루 3~4시간은 앉아 있어야 한다&quot;는 생각입니다. Python이든 Java든 문법을 배우고, 자료구조와 알고리즘을 익히고, SQL과 Git까지 손대야 하니 하루 1시간으로는 턱없이 부족해 보이는 것도 사실입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 군 생활처럼 하루 가용 시간이 명확히 정해진 환경에서는 이야기가 다릅니다. 훈련과 근무 일정 때문에 매일 긴 시간을 확보하는 건 애초에 불가능에 가깝습니다. 무리한 계획을 세우면 일주일도 못 가 포기하게 되고, 결국 아무것도 남지 않습니다. 실력은 며칠 몰아서 공부한다고 느는 게 아니라, 짧더라도 매일 반복하는 쪽에서 쌓입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;진짜 문제는 시간 부족이 아니라 방향 부재&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초보자에게 정말 위험한 건 공부 시간이 짧은 게 아니라, &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;무엇을 공부해야 할지 몰라서 1시간을 통째로 검색만 하다가 끝내는 것&lt;/b&gt;&lt;/span&gt;입니다. 싸지방에 앉아서 &quot;오늘은 개발 공부를 해야지&quot;라고 막연히 생각만 하면, 유튜브를 틀어놓고 블로그를 뒤적이다가 시간이 끝나버리기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간이 무제한이면 계획 없이 시작해도 어느 정도 만회가 되지만, 1시간뿐이라면 그럴 여유가 없습니다. 오히려 그 제약 덕분에 &quot;오늘은 이것 하나만 끝낸다&quot;는 우선순위 감각이 자연스럽게 생깁니다. 이 감각은 나중에 실무에서 업무 순서를 정하는 능력으로도 이어지기 때문에, 제한된 시간은 방해 요소가 아니라 집중력을 훈련시키는 장치에 가깝습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;1시간을 4단계로 쪼개는 법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1시간을 강의 시청 하나로 통째로 쓰기보다, 역할을 나눠 쓰는 쪽이 훨씬 남는 공부가 됩니다. 추천하는 기본 구조는 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;순서시간할 일목적
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align: right;&quot;&gt;10분&lt;/td&gt;
&lt;td&gt;전날 복습 + 오늘 목표 설정&lt;/td&gt;
&lt;td&gt;방향 잡기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align: right;&quot;&gt;25분&lt;/td&gt;
&lt;td&gt;직접 코딩 및 문제 풀이&lt;/td&gt;
&lt;td&gt;실력 만들기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align: right;&quot;&gt;15분&lt;/td&gt;
&lt;td&gt;AI 질문 및 오류 분석&lt;/td&gt;
&lt;td&gt;막힌 부분 이해&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align: right;&quot;&gt;10분&lt;/td&gt;
&lt;td&gt;학습 내용 기록&lt;/td&gt;
&lt;td&gt;복습 자료 만들기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확히 10-25-15-10을 지킬 필요는 없습니다. 문제가 잘 안 풀리는 날에는 AI 질문 시간을 늘리고, 쉽게 풀린 날에는 기록에 시간을 더 써도 됩니다. 다만 한 가지 원칙만은 지켜야 합니다. &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;1시간 중 직접 손으로 코드를 작성하는 시간이 사라지면 안 됩니다.&lt;/b&gt;&lt;/span&gt; 개발 공부는 많이 읽는다고 저절로 느는 공부가 아니기 때문입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;10분, 오늘 목표 하나만 정하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방에 앉자마자 바로 코드를 치기보다, 처음 10분은 오늘 다룰 목표를 정하는 데 씁니다. 이때 핵심은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;목표를 하나로 좁히는 것&lt;/b&gt;&lt;/span&gt;입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;오늘 Java 공부하기&quot; (X) - 범위가 너무 넓음&lt;/li&gt;
&lt;li&gt;&quot;ArrayList에 값을 추가하고 출력하는 코드 작성하기&quot; (O) - 1시간 안에 끝낼 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표가 작을수록 1시간이 끝났을 때 내가 무엇을 배웠는지가 명확해집니다. 요일별로 다룰 주제를 미리 정해두면(예: 월&amp;middot;목 - 언어 문법, 화&amp;middot;금 - 코딩테스트, 수 - SQL, 주말 - 한 주 복습) &quot;오늘 뭘 하지&quot;를 고민하는 시간 자체를 없앨 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;25분, 직접 코드를 작성하는 시간&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩은 눈으로 보는 것과 직접 손으로 작성하는 것 사이의 차이가 큽니다. 강의를 보면서 &quot;이해했다&quot;고 느꼈는데, 막상 빈 화면 앞에서는 문법이 기억나지 않는 경우가 흔합니다. 그래서 다음 순서를 추천합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;예제 코드를 한 번 확인합니다.&lt;/li&gt;
&lt;li&gt;코드를 가리고 직접 다시 작성해봅니다.&lt;/li&gt;
&lt;li&gt;실행 결과를 확인합니다.&lt;/li&gt;
&lt;li&gt;조건이나 숫자를 바꿔서 다시 실행해봅니다.&lt;/li&gt;
&lt;li&gt;오류가 나면 원인을 먼저 스스로 생각해봅니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;싸지방에서는 프로그램 설치가 제한되는 경우가 많으므로, 브라우저에서 바로 실행되는 온라인 IDE나 프로그래머스 같은 코딩테스트 사이트를 활용하는 게 현실적입니다. 어려운 문제 하나를 한 시간 내내 붙잡기보다, 쉬운 문제를 여러 번 직접 작성해보는 쪽이 초보자에게는 더 남는 경우가 많습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;15분, AI에게 제대로 질문하는 법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI는 개발 환경을 자유롭게 구성하기 어려운 싸지방 환경에서 특히 유용한 도구입니다. 다만 처음부터 &quot;정답 코드를 만들어줘&quot;라고 요청하는 방식은 피하는 게 좋습니다. 그 대신 이렇게 질문해보세요.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;이 코드를 처음 배우는 사람도 이해할 수 있게 한 줄씩 설명해줘.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;정답 코드는 쓰지 말고, 내가 어느 부분을 잘못 생각했는지만 짚어줘.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오류가 발생했을 때는 &lt;span style=&quot;color: #ee2323; background-color: #f3c000;&quot;&gt;&lt;b&gt;에러 메시지 + 내가 작성한 코드 + 원하는 결과&lt;/b&gt;&lt;/span&gt;를 함께 보여주면 훨씬 정확한 피드백을 받을 수 있습니다. 그리고 AI의 답변을 받은 뒤에는 그대로 복사하지 말고, 반드시 직접 다시 타이핑해보는 과정을 거쳐야 실제 내 실력으로 남습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;10분, TIL로 기록해두는 습관&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 10분은 공부를 끝내는 시간이 아니라, 다음 공부를 쉽게 만드는 시간입니다. 거창한 개발 일지를 쓸 필요는 없습니다. 메모장이나 GitHub에 세 줄만 남겨도 충분합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;text&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;color: #eaecf0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;오늘 배운 것
- ArrayList에 데이터를 추가하는 방법을 공부함

오늘 틀린 것
- 배열의 길이와 ArrayList의 크기를 헷갈림

내일 볼 것
- ArrayList 반복문으로 출력하기&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 짧게라도 매일 기록해두면 며칠 뒤 복습할 때 강의를 처음부터 다시 볼 필요가 없습니다. 군 생활 중에는 며칠씩 공부가 끊기는 시기도 생기기 때문에, 내가 어디까지 했는지를 남겨두는 습관이 생각보다 큰 차이를 만듭니다. 여유가 있다면 GitHub에 매일 커밋을 남겨 잔디를 채우는 것도 꾸준함을 눈으로 확인할 수 있는 좋은 방법입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;환경별(PC&amp;middot;휴대폰&amp;middot;수첩) 공부법 비교&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부대 여건에 따라 그날 쓸 수 있는 매체가 달라집니다. 상황별로 어떤 공부가 적합한지 정리하면 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;구분싸지방 PC휴대폰 위주수첩&amp;middot;서적
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;주요 수단&lt;/td&gt;
&lt;td&gt;온라인 IDE, GitHub, 프로그래머스&lt;/td&gt;
&lt;td&gt;강의 영상, 개념 문서&lt;/td&gt;
&lt;td&gt;손코딩, 의사코드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;추천 내용&lt;/td&gt;
&lt;td&gt;코드 작성, 알고리즘 풀이&lt;/td&gt;
&lt;td&gt;CS 이론, 문법 개념, 남의 코드 읽기&lt;/td&gt;
&lt;td&gt;자료구조 개념, 로직 설계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;장점&lt;/td&gt;
&lt;td&gt;실전 감각 유지, 즉시 실행 가능&lt;/td&gt;
&lt;td&gt;공간 제약 없이 자투리 시간 활용&lt;/td&gt;
&lt;td&gt;깊이 있는 개념 이해&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;한계&lt;/td&gt;
&lt;td&gt;좌석&amp;middot;시간 확보 필요&lt;/td&gt;
&lt;td&gt;직접 타이핑&amp;middot;실행이 어려움&lt;/td&gt;
&lt;td&gt;실행 결과 확인 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터를 쓸 수 없는 시간에는 오늘 풀 문제의 로직을 의사코드로 먼저 적어보거나, 어제 푼 문제를 코드 없이 말로 설명해보는 것도 좋은 복습 방법입니다. 이렇게 매체를 구분해서 쓰면 하루 1시간이라는 한정된 PC 시간을 훨씬 밀도 있게 쓸 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;지치는 날에도 루틴을 깨지 않는 법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;훈련이나 당직으로 몸이 지친 날에는 1시간조차 집중하기 어렵습니다. 이런 날 무리하게 코딩을 강행하면 오히려 번아웃으로 이어지기 쉽습니다. 이럴 때는 '대체 학습'으로 전환하는 걸 추천합니다. 키보드를 붙잡는 대신 개발 관련 영상을 보거나, 기술 서적 몇 페이지를 읽는 것으로 하루를 채우는 방식입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중요한 건 &quot;오늘도 공부를 이어갔다&quot;는 연속성을 끊지 않는 것입니다. 15분만 남의 코드를 읽고 끝나더라도, 그 습관 자체가 다음 날 다시 시작할 힘이 됩니다. 하루를 놓쳤다고 전체 계획을 포기할 필요도 없습니다. 다음 싸지방 시간에 다시 1시간을 시작하면 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. &lt;span style=&quot;background-color: #f3c000;&quot;&gt;자주 묻는 질문(FAQ)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;하루 1시간만 공부해도 개발자가 될 수 있나요?&lt;/span&gt;&lt;/b&gt; A. 1시간만으로 필요한 모든 걸 빠르게 익히기는 어렵습니다. 하지만 공부 시간이 제한된 환경에서는 꾸준한 학습 시간을 확보하는 것 자체가 가장 중요합니다. 하루 1시간을 기본으로 삼고, 휴가나 개인 시간이 생길 때 프로젝트처럼 긴 호흡의 작업을 더하는 방식으로 확장하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;완전히 처음 코딩을 시작한다면 무엇부터 해야 하나요?&lt;/span&gt;&lt;/b&gt; A. 먼저 프로그래밍 언어 하나를 정하고 기본 문법부터 시작하는 게 좋습니다. 변수, 조건문, 반복문, 배열, 함수처럼 다른 언어에서도 반복해서 등장하는 개념을 직접 작성해보는 것이 우선입니다. 이후 코딩테스트나 작은 프로그램 만들기로 범위를 넓히면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. &lt;span style=&quot;color: #ee2323;&quot;&gt;AI를 활용하면서 코딩 공부를 해도 괜찮을까요?&lt;/span&gt;&lt;/b&gt; A. 괜찮습니다. 다만 AI가 만들어준 코드를 그대로 복사하기보다, 먼저 직접 생각하고 작성한 뒤 막힌 부분만 질문하는 방식이 훨씬 남습니다. &quot;정답을 알려줘&quot;보다 &quot;왜 이 코드가 틀렸는지 설명해줘&quot;라고 묻는 쪽이 실력으로 이어집니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루 1시간은 많아 보이지 않는 시간입니다. 하지만 10분 복습 &amp;rarr; 25분 직접 코딩 &amp;rarr; 15분 AI 질문 &amp;rarr; 10분 기록, 이 순서를 정해두고 반복하면 제한된 시간도 충분히 실력으로 쌓입니다. 새로운 내용을 많이 배우는 것보다, 어제 작성한 코드를 다시 작성하고 틀린 문제를 다시 풀며 스스로 설명할 수 있게 만드는 과정이 초보 개발자에게는 훨씬 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.&lt;/p&gt;</description>
      <category>군생활&amp;amp;개발자</category>
      <category>AI코딩공부</category>
      <category>TIL기록</category>
      <category>군생활자기계발</category>
      <category>군인개발자</category>
      <category>싸지방코딩</category>
      <category>알고리즘공부</category>
      <category>초보개발자</category>
      <category>프로그래머스</category>
      <category>하루1시간공부</category>
      <category>학습루틴</category>
      <author>armycode</author>
      <guid isPermaLink="true">https://armycode.tistory.com/20</guid>
      <comments>https://armycode.tistory.com/20#entry20comment</comments>
      <pubDate>Sun, 20 Sep 2026 21:16:50 +0900</pubDate>
    </item>
  </channel>
</rss>