<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>shlee_972.log</title>
        <link>https://velog.io/</link>
        <description>게임개발자를 꿈꾸는 대학생입니다.</description>
        <lastBuildDate>Mon, 25 Aug 2025 18:23:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>shlee_972.log</title>
            <url>https://velog.velcdn.com/images/shlee_972/profile/9075a84b-2531-4470-83e6-a6fa7d74043e/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. shlee_972.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/shlee_972" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[멋쟁이 사자처럼 13기 해커톤 참가후기]]></title>
            <link>https://velog.io/@shlee_972/%EB%A9%8B%EC%9F%81%EC%9D%B4-%EC%82%AC%EC%9E%90%EC%B2%98%EB%9F%BC-13%EA%B8%B0-%ED%95%B4%EC%BB%A4%ED%86%A4-%EC%B0%B8%EA%B0%80%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@shlee_972/%EB%A9%8B%EC%9F%81%EC%9D%B4-%EC%82%AC%EC%9E%90%EC%B2%98%EB%9F%BC-13%EA%B8%B0-%ED%95%B4%EC%BB%A4%ED%86%A4-%EC%B0%B8%EA%B0%80%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Mon, 25 Aug 2025 18:23:00 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/shlee_972/post/92fe7b34-6dc5-4052-a799-f93640d49ee3/image.png" alt=""></p>
<h2 id="8월-25일월-16시--8월-26일화-07시-양재-at센터"><strong>[8월 25일(월) 16시 ~ 8월 26일(화) 07시 양재 aT센터]</strong></h2>
<h4 id="무박2일로-진행했다">무박2일로 진행했다.</h4>
<h4 id="해커톤이라는-행사를-처음-참가하게되었다-해커톤은-해킹마라톤을-합쳐서-만든-말이라고-하는데-마라톤이라는-말이-어떤느낌인지-알게되었다-주어진-주제를-달성하기-위해-아주-집중적으로-밤을-세워가며-개발하는-것에서-개발자의-숙명은-데스크톱앞에서-밤샘작업임을-미리-경험하게되었다"><strong>해커톤이라는 행사를 처음 참가하게되었다. 해커톤은 해킹+마라톤을 합쳐서 만든 말이라고 하는데 마라톤이라는 말이 어떤느낌인지 알게되었다. 주어진 주제를 달성하기 위해 아주 집중적으로 밤을 세워가며 개발하는 것에서 개발자의 숙명은 데스크톱앞에서 밤샘작업임을 미리 경험하게되었다.</strong></h4>
<hr>
<h2 id="해커톤-시간표"><strong>[해커톤 시간표]</strong></h2>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/f2728d0a-3785-451b-acf6-a792d247d7b6/image.png" alt=""></p>
<h4 id="시간표를-보면-알-수-있듯이-1일차-제출기한이-00시까지여서-행사장에-도착하기-전까지-95이상-완성하고-행사장에-도착해-팀원들과-논의를-통해-미흡한-부분을-마무리하는-시간과-발표자료를-다듬는-시간을-가진다-이후-1차--2차-본선-심사를-거쳐-순위를-정한다"><strong>시간표를 보면 알 수 있듯이 1일차 제출기한이 00시까지여서 행사장에 도착하기 전까지 95%이상 완성하고 행사장에 도착해 팀원들과 논의를 통해 미흡한 부분을 마무리하는 시간과 발표자료를 다듬는 시간을 가진다. 이후 1차,  2차, 본선 심사를 거쳐 순위를 정한다.</strong></h4>
<hr>
<h2 id="이벤트-부스-체험"><strong>[이벤트 부스 체험]</strong></h2>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/dd2096be-4559-47d5-9b56-2bc0ef13fa8a/image.jpg" alt=""></p>
<h4 id="이벤트부스를-여유있는-시간에-이용할-수-있었다-공식일정을-무대에서-진행하는-때가-아니면-항상-열려있어서-좋았다-다양한-부스가-있어서-멋사에서-개발한-게임체험부스-코드트리-부스-키보드체험-부스등-다양하게-체험할-수-있었다">이벤트부스를 여유있는 시간에 이용할 수 있었다. 공식일정을 무대에서 진행하는 때가 아니면 항상 열려있어서 좋았다. 다양한 부스가 있어서 멋사에서 개발한 게임체험부스, 코드트리 부스, 키보드체험 부스등 다양하게 체험할 수 있었다.</h4>
<hr>
<h2 id="심사-기준-및-주제"><strong>[심사 기준 및 주제]</strong></h2>
<h4 id="ai로-다시-뛰는-우리-동네--지역-경제와-삶을-ai로-연결해-보세요"><strong>AI로 다시 뛰는 우리 동네 : 지역 경제와 삶을 AI로 연결해 보세요.</strong></h4>
<blockquote>
<h4 id="매년-심해지는-지역불균형-문제를-해결하기-위해-우리-동네의-실제-문제를-관찰해-그것을-해결하기-위한-실용적이고-참신한-아이디어를-높은-퀄리티로-실제-서비스를-제작하는-것이-기준이다">매년 심해지는 지역불균형 문제를 해결하기 위해 우리 동네의 실제 문제를 관찰해 그것을 해결하기 위한 실용적이고 참신한 아이디어를 높은 퀄리티로 실제 서비스를 제작하는 것이 기준이다.</h4>
</blockquote>
<h4 id="우리-해커톤-팀의-주제는-내-아이디어가-선정되었다">우리 해커톤 팀의 주제는 내 아이디어가 선정되었다.</h4>
<h4 id="내-아이디어는-지역-소상공인과-지역-디자인관련-전공-대학생이나-신인-디자이너를-서로-연결해-저렴하고-합리적인-가격으로-지역-소상공인이-자신의-가게나-사업의-컨셉을-표현할-수-있게-돕는-플랫폼이다">내 아이디어는 지역-소상공인과 지역-디자인관련 전공 대학생이나 신인 디자이너를 서로 연결해, 저렴하고 합리적인 가격으로 지역-소상공인이 자신의 가게나 사업의 컨셉을 표현할 수 있게 돕는 플랫폼이다.</h4>
<h4 id="win-win구조-높은-가격-장벽을-낮추기-위해-학생-및-신진-디자이너의-참여를-통해-합리적인-가격에-서비스를-제공하고-디자이너에게는-실무-경험과-함께-포트폴리오-및-수익-창출-기회를-제공해-양측-모두에게-이익이-되는-구조를-만든다">Win-Win구조: 높은 가격 장벽을 낮추기 위해 학생 및 신진 디자이너의 참여를 통해 합리적인 가격에 서비스를 제공하고, 디자이너에게는 실무 경험과 함께 포트폴리오 및 수익 창출 기회를 제공해 양측 모두에게 이익이 되는 구조를 만든다.</h4>
<hr>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/310c76c1-49b2-486b-9885-5f680c21d902/image.jpg" alt=""></p>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/066146a6-113c-4297-baac-5094de786cb6/image.jpg" alt=""></p>
<hr>
<h2 id="배운점">[배운점]</h2>
<ul>
<li><p>내 주변의 사람들을 넘어 전국에 있는 대학생중 창업과 개발에 관심있는 다양한 사람들을 만날 수 있어 좋았다. 좋은 개발자가 되기 위해 아직 넘어야할 산이 많이 남았다는 생각이 들어 막막하지만 반대로 1학년에 이런 전국단위로 가장큰 해커톤을 경험해 좋은 동기부여가 될 수 있었다고 생각한다. </p>
</li>
<li><p>본격적인 실제 서비스를 구현하는 과정에서 다양한 영역의 개발자들과 협업하는게 가장 중요하다는 역량이라는 것을 체감했다. 현대 과학분야에서도 뛰어난 한 천재보다 다수의 뛰어난 사람들이 연구결과를 공유하고 협업하면서 기술을 발전시키는 경향이 더욱 커지고있는 것처럼 개발분야에서도 정말 다양한 분야의 사람들과 계속 피드백을 주고받으면서 결과물을 완성하는것 같다.
디자인 팀원과 기획 팀원, 프론트엔드와 백엔드가 서로의 영역에서 자기가 완성해야하는 부분을 담당하고 전체적인 프로젝트의 방향을 계속 디스코드에서 토의하면서 발전시키는 것이 중요한것 같다.</p>
</li>
<li><p>앞으로 계속 AI를 통한 개발의 중요성이 커질 것이다. 실제로 이번 해커톤을 준비하면서 기본적인 실력은 앞선 1학기에 쌓았다. 하지만 방학기간에 실제로 서비스하는 개발을 진행하면서 내 개발실력이 많이 부족하다는 것을 느꼈다. 그래서 바이브코딩의 도움을 많이 받았다. 디자인 트랙의 팀원이 만들어준 디자인을 구현하기 위해 뼈대를 내가 만들고 세세한 부분을 바이브 코딩으로 만들어 달라고한뒤 블록맞추듯이 맞추는 과정을 거쳤는데 생각보다 결과가 좋게 나왔다. 이를 통해 AI를 통한 개발은 나의 실력의 향상에 크게 도움을 주는 것 같다. AI를 이용한 코딩에 익숙해져 코딩 감각을 기르는 것이 중요하다고 느꼈다.</p>
</li>
</ul>
<hr>
<h2 id="아쉬웠던점">[아쉬웠던점]</h2>
<ul>
<li>코딩을 전혀 접하지않다가 1학기에 기초적인 프론트엔드 수업을 들은 뒤 여름방학에 곧바로 개발을 시작해서 나의 실력이 부족하다는 것을 느꼈다. 좀더 실력이 좋았다면 본선진출에 가능했을텐데 아쉬웠다.</li>
<li>기획, 디자인과 더 깊게 자주 소통했다면 프로젝트의 전체적인 방향이 더 완성도가 있었을 것이라고 생각한다. 한 프로젝트의 팀원으로서 모든 팀원의 성공을 위해 의견을 많이 냈으면 더 좋았을것같다.</li>
</ul>
<hr>
<h2 id="끝으로">[끝으로]</h2>
<h4 id="인생-첫-해커톤을-마치고-앞으로도-다양한-공모전과-행사에-참가해서-뛰어난-성과를-내고싶다-그러기-위해-나의-실력을-키우는-과정을-열심히-빠르게-거쳐야겠다">인생 첫 해커톤을 마치고 앞으로도 다양한 공모전과 행사에 참가해서 뛰어난 성과를 내고싶다. 그러기 위해 나의 실력을 키우는 과정을 열심히 빠르게 거쳐야겠다.</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[여름방학 쏙쏙캠프 대학생 봉사활동 후기]]></title>
            <link>https://velog.io/@shlee_972/%EC%97%AC%EB%A6%84%EB%B0%A9%ED%95%99-%EC%8F%99%EC%8F%99%EC%BA%A0%ED%94%84-%EB%8C%80%ED%95%99%EC%83%9D-%EB%B4%89%EC%82%AC%ED%99%9C%EB%8F%99-%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@shlee_972/%EC%97%AC%EB%A6%84%EB%B0%A9%ED%95%99-%EC%8F%99%EC%8F%99%EC%BA%A0%ED%94%84-%EB%8C%80%ED%95%99%EC%83%9D-%EB%B4%89%EC%82%AC%ED%99%9C%EB%8F%99-%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Mon, 04 Aug 2025 12:15:24 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/shlee_972/post/b7255311-ac1e-4f30-a7d4-42fe97c2dc1d/image.png" alt=""></p>
<h3 id="여름방학기간에-7월23일수7월-25일금-1박2일로-충남-서산에-있는-팔봉중학교에-봉사활동을-다녀왔다">여름방학기간에 7월23일(수)~7월 25일(금) 1박2일로 충남 서산에 있는 팔봉중학교에 봉사활동을 다녀왔다.</h3>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/d52c6810-6e94-4578-8513-8ce8b9c4f9e0/image.png" alt=""></p>
<p>쏙쏙캠프는 도서벽지에 있는 초-중등 학생등을위해 대학생 동아리가 직접 찾아가 재능기부를 하는 형식의 봉사활동이다.</p>
<p>내가 속해있는 멋쟁이사자처럼이라는 IT스타트업 동아리에서 본인을 포함한 4명이 모여 중학생들에게 나만의 웹제작을 알려주는 활동을 가졌다.</p>
<p>우리팀에선 기획, 백엔드, 프론트엔드 파트로 나눠서 각각 1명,1명,2명으로 맡은 다음 중학생이 알기쉽게 그리고 친숙하게 기본지식을 알려주고 실습까지 진행했다.</p>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/a30a3050-93e3-4f9d-9e1e-39ba748ba525/image.png" alt=""></p>
<p>내가 맡은 파트는 프론트엔드의 기본적인 구조에 대해 학생들에게 옆에서 자세히 알려주는 역할을 맡았다.</p>
<ul>
<li>HTML </li>
<li>CSS</li>
<li>Javascript</li>
</ul>
<p>대표적인 언어들을 알려주었고 HTML과 CSS간의 연결에 대해 중점적으로 다뤘다. 한정적인 시간과 수업에대한 흥미를 고려하여 코드는 미리 모두 알려주고 조금씩 바꿔보면서 실습해보는 활동을 중점적으로 진행했다.</p>
<p>이 과정에서 학생들이 백엔드 수업보다 프론트엔드 수업에서 좀 더 집중하는 모습을 보였는데, 
직접 vscode에서 코드를 작성하면 바로 적용되어 웹사이트에서 바뀌는 모습이 보여져서 더욱 흥미가 있었던것 같았다.</p>
<p>중학생 대부분이 코딩을 전혀모르는 상태여서 블록 조합하는 것처럼 미리 알려준 코드를 ctrl+c , ctrl+v 하여 각 블록이 하는 역할에 대해 알려주었다. 그렇게 진행하니 학생들이 영어로 된 코드로 인식하기보다 하나의 블록을 쌓아가는 느낌을 학습해 좀 더 쉽게 이해한것 같았다.</p>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/04c13f6e-4c68-4b8b-aa66-67ee74a8d560/image.jpg" alt=""></p>
<h1 id="느낀점">느낀점</h1>
<p>이번 봉사활동을 하면서 느낀점은 생성형AI를 활용하는 법을 중학생때부터 친숙해지는 것도 좋을것같다는 점을 배웠다.
아마 지방 인구가 적은 학교에 있는 학생들은 생성형AI를 이용한 학습에 익숙치않을것이다. 
앞으로 점점 확대되는 AI에 대해 미리학습하는 활동을 재미있게 배우기위해, 파이썬과 생성형 AI를 이용한 간단한 게임 만들기도 괜찮을것같다. </p>
<p>추후에 기회를 만들어서 이 부분에대해 교육봉사를 진행해야겠다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 기초 학습기-4 ]]></title>
            <link>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-4</link>
            <guid>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-4</guid>
            <pubDate>Tue, 08 Jul 2025 15:34:59 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/shlee_972/post/60b7b7b9-5dbd-4808-adfe-d55a8e2e6e82/image.png" alt=""></p>
<h2 id="중간고사">중간고사</h2>
<p>생각보다 어려웠던 문제도 있었지만 우선 94점 4등으로 A안정권에는 들어갔다.</p>
<p>기말고사에는 A+를 위해 100점을 맞아야 할것같다.</p>
<p>기말고사는 </p>
<ul>
<li>컨테이너 자료형의 개념,활용 </li>
<li>함수 모듈과 패키지</li>
<li>클래스와 객체 </li>
<li>파일입출력</li>
</ul>
<p>이 범위인데 중간고사의 문제 특성을 보아 생각보다 개념문제OX를 많이 15문제정도로 많이내시는 편이다. </p>
<p>수업시간에 했던 실습 코드에 빈칸을 뚫어서 문제를 내신다. 이부분은 수업시간에 했던 코드를 외우는것으로 대비해야겠다.</p>
<hr>
<h2 id="컨테이너-자료형">컨테이너 자료형</h2>
<p>오늘 배웠던 컨테이너 자료형에대해 정리하고 글을 마치겠다.</p>
<ul>
<li><p>List
가변객체 리스트는 다양한 종류의 자료를 여러개 저장할 수 있다. 
각 데이터는 index라는 번호가 붙는데 이 번호는 0부터 시작한다.
numList = [10,20,30,40] 에서 numList[1]이면 첫번째가 아니라 두번째를 의미한다.</p>
</li>
<li><p>append()
리스트의 가장 마지막칸에 새로운 값을 추가하는 기능
numList.append(i) 의 예시로 사용하면 된다.</p>
</li>
<li><p>sort()
리스트의 항목들을 오름차순으로 정렬하는 기능
내림차순으로 하고싶으면 sort(reverse=True)로 쓰면된다.</p>
</li>
<li><p>len()
리스트안에 총 몇개가 있는지 알려주는 기능
len(numList)로 사용하면된다.</p>
</li>
<li><p>del()
특정 위치의 index를 삭제할때 사용하는 기능
del numList[1] 로 사용하면된다. 주의점 index는 []를 사용해야한다.</p>
</li>
<li><p>copy()
리스트를 복사할때 사용하는 기능이다.
= 연산자를 사용하면 값이 바뀌면 원본도 바뀌는 문제가 발생한다.</p>
</li>
</ul>
<p>여기서 shallow copy와 deepcopy에 차이점이 있는데 이부분을 강조하셨다.</p>
<p>가장 큰 차이점은 둘다 List를 복사하지만 shallow copy는 다차원리스트를 복사하지 않는다.
리스트안에 리스트까지 복사하지않는다는 뜻이다.</p>
<p>그래서 shallow copy는 다차원리스트에서 값을 수정할때 원본도 바뀔 가능성이 있다.</p>
<h3 id="중요한점">중요한점</h3>
<p>copy()는 외부의 리스트만 복사하고 내부의 객체는 복사하지 않는다. 그래서 내부의 객체의 주소만을 복사하기 때문에 내부 객체에 리스트가 있다면 그 2차원 리스트의 데이터의 주소가 달라지면 그것을 원본에도 반영해버린다. 2차원 리스트의 값 자체가 바뀐것이기 때문이다.</p>
<p><strong>쉬운 비유로 알아보기 📁
원본 리스트 x: [사진1, 사진2, &#39;공유문서_링크&#39;]가 들어있는 폴더라고 생각해보세요.</strong></p>
<p><strong>얕은 복사 y: x를 얕은 복사하면, 새로운 폴더 y가 생겨요. 그리고 그 안에 사진1, 사진2를 복사해 넣고, &#39;공유문서_링크&#39;는 그대로 복사해서 넣어요.</strong></p>
<p><strong>결과: 이제 폴더는 x, y 두 개지만, 두 폴더 안의 링크는 동일한 하나의 공유 문서를 가리켜요. y 폴더의 링크로 문서를 열어서 내용을 수정하면, 나중에 x 폴더의 링크로 열었을 때도 수정된 내용이 보이는 것과 같은 원리랍니다.</strong></p>
<hr>
<h3 id="오늘-배운-코드-실습">오늘 배운 코드 실습</h3>
<p>리스트에 사용자가 입력한 양의정수를 저장하고 합과 평균을 구하는 코드다.</p>
<pre><code class="language-python">#리스트 예제 평균계산 리스트 합계 for문 / 평균은 갯수인 len(numList)로 나눠준다
numList=[]

while True:
    num = int(input(&quot;-1을 입력할때까지 임의의 양의정수를 입력하세요:&quot;))
    if num == -1 :
      break
    numList.append(num)

sum=0
#두가지 방법 모두 알고있어야함 위의 방법은 파이썬에서만 아래는 다른언어에서
&#39;&#39;&#39;
for i in numList:
    sum+=i
&#39;&#39;&#39;
for i in range(len(numList)):
    sum += numList[i]

average=sum/(len(numList))

print(f&quot;합계: {sum}, 평균: {average}&quot;) </code></pre>
<p>이번 중간고사에서도 나온 부분이지만 break의 위치가 어디에 들어가느냐에따라 코드에 오류발생가능성이 생길수 있다.</p>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 기초 학습기-3]]></title>
            <link>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-3</link>
            <guid>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-3</guid>
            <pubDate>Sun, 06 Jul 2025 17:29:27 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/shlee_972/post/c38c630f-ccd5-4172-957e-70dcd43291ec/image.png" alt=""></p>
<h1 id="📚-3-조건문-반복문">📚 3: 조건문, 반복문</h1>
<h2 id="❓-기본-if문">❓ <strong>기본 if문</strong></h2>
<h3 id="if문-핵심-규칙"><strong>if문 핵심 규칙</strong></h3>
<ul>
<li><strong>조건식이 참이면 문장 실행, 거짓이면 아무것도 실행하지 않음</strong></li>
<li><strong>콜론 : 필수</strong> - 아직 문장이 종료되지 않음을 의미</li>
<li><strong>들여쓰기 필수</strong> - 보통 <strong>공백 4칸 권장</strong></li>
<li><strong>같은 블록은 동일한 들여쓰기</strong> 사용해야 함</li>
</ul>
<h2 id="🔀-ifelse문">🔀 <strong>if~else문</strong></h2>
<h3 id="특징"><strong>특징</strong></h3>
<ul>
<li><strong>조건식이 참이면 명령문1 실행, 거짓이면 명령문2 실행</strong></li>
<li><strong>반드시 둘 중 하나는 실행됨</strong></li>
</ul>
<h2 id="🔄-중첩-if문과-elif문">🔄 <strong>중첩 if문과 elif문</strong></h2>
<h3 id="중첩-if문"><strong>중첩 if문</strong></h3>
<pre><code class="language-python">if 조건식1:
    명령문1
    if 조건식2:
        명령문2
    else:
        명령문3
else:
    명령문4</code></pre>
<h3 id="elif문"><strong>elif문</strong></h3>
<ul>
<li><strong>else + if = elif</strong></li>
<li><strong>여러 조건을 순차적으로 검사</strong></li>
</ul>
<pre><code class="language-python">if 조건식1:
    명령문1
elif 조건식2:
    명령문2
else:
    명령문3</code></pre>
<h1 id="ifelse문">if~else문</h1>
<pre><code class="language-python">score = 85
if score &gt;= 90:
    print(&quot;A&quot;)
_____:  → else
    print(&quot;B&quot;)
</code></pre>
<h1 id="elif문-1">elif문</h1>
<pre><code class="language-python">if score &gt;= 90:
    print(&quot;A&quot;)
_____ score &gt;= 80:  → elif
    print(&quot;B&quot;)
</code></pre>
<h1 id="논리-연산자">논리 연산자</h1>
<pre><code class="language-python">if age &gt;= 10 _____ height &gt;= 165:  → and
    print(&quot;탑승 가능&quot;)

if age  65:  → or
    print(&quot;할인 대상&quot;)
</code></pre>
<h1 id="관계-연산자">관계 연산자</h1>
<pre><code class="language-python">if num _____ 0:  → &gt;, =,  10:
    if num = 90:
    print(&quot;A&quot;)
elif score &gt;= 80:
    print(&quot;B&quot;)
else:
    print(&quot;C&quot;)</code></pre>
<h2 id="💡-반복문-필요성">💡 <strong>반복문 필요성</strong></h2>
<h3 id="반복문-정의"><strong>반복문 정의</strong></h3>
<ul>
<li><strong>특정 부분을 원하는 횟수만큼 반복하는 구문</strong></li>
<li><strong>수백 줄의 코드를 단 몇 줄로 줄이는 효율을 발휘함</strong></li>
</ul>
<h3 id="반복문-종류"><strong>반복문 종류</strong></h3>
<ul>
<li><strong>for문</strong>: <strong>회수 제어 반복</strong> - 정해진 횟수만큼 반복 실행</li>
<li><strong>while문</strong>: <strong>조건 제어 반복</strong> - 조건식을 충족하는 동안 반복 실행</li>
</ul>
<h2 id="🔢-for문">🔢 <strong>for문</strong></h2>
<h3 id="for문-기본-형식"><strong>for문 기본 형식</strong></h3>
<pre><code class="language-python"># 자료 원소
for 변수 in 리스트:
    반복할 문장

# 범위 값
for 변수 in range():
    반복할 문장</code></pre>
<h3 id="자료-원소-사용"><strong>자료 원소 사용</strong></h3>
<pre><code class="language-python"># 리스트
for i in [0, 1, 2]:
    print(i)

# 문자열
for char in &quot;hello&quot;:
    print(char)</code></pre>
<h3 id="range-함수"><strong>range 함수</strong></h3>
<ul>
<li><strong>range(start, end, step)</strong></li>
<li><strong>start</strong>: 범위의 시작 값, 생략하면 기본값 0</li>
<li><strong>end</strong>: 범위의 종료 값, <strong>미포함</strong></li>
<li><strong>step</strong>: 반환 숫자의 간격, 생략하면 기본값 1</li>
</ul>
<h3 id="range-함수-사용법"><strong>range 함수 사용법</strong></h3>
<ul>
<li><strong>range(3)</strong> = <strong>range(0, 3, 1)</strong> = <strong>0, 1, 2</strong></li>
<li><strong>range(1, 5)</strong> = <strong>1, 2, 3, 4</strong></li>
<li><strong>range(1, 10, 2)</strong> = <strong>1, 3, 5, 7, 9</strong></li>
<li><strong>range(10, 0, -1)</strong> = <strong>10, 9, 8, 7, 6, 5, 4, 3, 2, 1</strong></li>
</ul>
<h3 id="중첩-for문"><strong>중첩 for문</strong></h3>
<ul>
<li><strong>for문 안에 또 다른 for문 사용</strong></li>
<li><strong>실행 횟수</strong>: <strong>바깥 for문 반복 횟수 × 안쪽 for문 반복 횟수</strong></li>
<li><strong>안쪽 for문이 더 자주, 더 많이 반복 실행</strong></li>
</ul>
<h2 id="⏰-while문">⏰ <strong>while문</strong></h2>
<h3 id="while문-기본-형식"><strong>while문 기본 형식</strong></h3>
<pre><code class="language-python">while 조건식:
    반복할 문장</code></pre>
<h3 id="for문을-while문으로-변환"><strong>for문을 while문으로 변환</strong></h3>
<pre><code class="language-python"># for문
for i in range(start, end, step):
    반복할 문장

# while문으로 변환
i = start
while i &lt; end:
    반복할 문장
    i = i + step</code></pre>
<h3 id="무한-루프"><strong>무한 루프</strong></h3>
<pre><code class="language-python">while True:
    반복할 문장</code></pre>
<ul>
<li><strong>중지 방법</strong>: <strong>Ctrl + C</strong></li>
</ul>
<h2 id="🛑-break문과-continue문">🛑 <strong>break문과 continue문</strong></h2>
<h3 id="break문"><strong>break문</strong></h3>
<ul>
<li><strong>반복문을 완전히 빠져나옴</strong></li>
<li><strong>반복문 안에서 break문을 만나면 무조건 반복문 종료</strong></li>
</ul>
<h3 id="continue문"><strong>continue문</strong></h3>
<ul>
<li><strong>현재 반복을 건너뛰고 다음 반복으로 이동</strong></li>
<li><strong>continue 이후 명령문 실행 생략 후 반복문의 처음으로 돌아감</strong></li>
</ul>
<h3 id="중첩-반복문에서의-break"><strong>중첩 반복문에서의 break</strong></h3>
<ul>
<li><strong>단 하나의 반복문만 빠져나옴</strong></li>
<li><strong>모든 중첩 반복문을 빠져나오려면 flag 변수 사용</strong></li>
</ul>
<pre><code class="language-python">flag = False
for i in range(10):
    for j in range(10):
        if 조건:
            flag = True
            break
    if flag:
        break</code></pre>
<hr>
<h1 id="나의-생각">나의 생각</h1>
<h3 id="for-while을-사용한-과제">for, while을 사용한 과제</h3>
<p><strong>1번) 
사용자로부터 두 정수를 입력받고 작은 숫자 이상 큰 숫자 이하의 수 중에서
3으로 끝나는 숫자를 제외하고 다른 숫자 모두를 출력하는 프로그램을 작성하시오.</strong></p>
<pre><code class="language-python">num1 = int(input(&quot;number1 : &quot;))
num2 = int(input(&quot;number2 : &quot;))

if num1 &gt; num2:
    big = num1
    small = num2
else:
    big = num2
    small = num1

for i in range(small, big + 1):
    if i % 10 != 3:
        print(i, end=&quot; &quot;)</code></pre>
<p>이 부분에서 고민했던 것은 3으로 끝나는 숫자의 판별이였다. 짝수 홀수로 판별할수없고 내가 배운 부분에서는 바로 떠오르지 않았다.
그래서 1의자리만 남게 만들고 그 값이 3이면 제외하고 출력하는 방법을 사용했다. 
10으로 나누면 1의자리 숫자만 남게된다. 이 방법은 쉽지만 생각하기 어려웠다고 생각한다.</p>
<hr>
<p><strong>2번)
사용자로부터 두 숫자를 입력받고 두 숫자 사이의 수 중에서 홀수와 짝수의 개수를 구하는 프로그램을 작성하시오. 
(입력된 두 숫자 포함하여 홀수/짝수 계산)</strong></p>
<pre><code class="language-python">num1 = int(input(&quot;number1 : &quot;))
num2 = int(input(&quot;number2 : &quot;))

even = 0
odd = 0

if num1 &gt; num2:
    big = num1
    small = num2
else:
    big = num2
    small = num1

for i in range(small, big + 1):
    if i % 2 == 0:
        even += 1
    else:
        odd += 1

print(f&quot;짝수의 개수: {even}, 홀수의 개수: {odd}&quot;)</code></pre>
<p>이 문제는 비교적 쉽게 작성할 수 있었다. 홀수와 짝수는 명확하게 &#39;%2&#39; 를 통해 알아낼수 있기 때문이다.</p>
<hr>
<p>*<em>3번)
답을 연속으로 맞출수록 점수가 커지는 OX퀴즈가 있다. O는 정답을, X는 오답을 의미한다. 정답인 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, &quot;OOXXOXXOOO&quot;의 점수는 총 1+2+0+0+1+0+0+1+2+3 = 10점이다. 퀴즈의 OX를 입력받은 후 점수를 계산하는 프로그램을 작성하시오. OX 문자를 입력하면 반복 진행하며, 다른 문자를 입력하면 점수 결과를 출력하고 종료한다.
*</em></p>
<pre><code class="language-python">score = 0
sum = 0

while True:
    OX = input(&quot;영어 O or X 를 입력하세요 (종료하려면 &#39;OX외 다른문자&#39; 입력): &quot;)
    if OX != &quot;O&quot; and OX != &quot;o&quot; and OX != &quot;X&quot; and OX != &quot;x&quot;:
        break

    if OX == &quot;O&quot; or OX == &quot;o&quot;:
        score += 1
        sum += score
    elif OX == &quot;X&quot; or OX == &quot;x&quot;:
        score = 0


print(f&quot;종료합니다. \n퀴즈 점수는 {sum}점 입니다.&quot;)</code></pre>
<p>처음에 보고 꽤 오랜시간동안 고민했다. 단순히 점수의 합이 아니라 연속되면 점수가 올라가는 방식이라 중간에 초기화가 필요했다.
그래서 앞서 배웠던 개념중에서 인터프리터 방식에선 한줄씩 읽기때문에 객체의 값이 계속 변할수있다는 점을 이용했다.
윗줄에서 &#39;O&#39;면 score의 점수가 쌓인다. 그리고 sum에 더해준다. 그런데 &#39;X&#39;가 입력되면 score가 0으로 초기화되고 다시 반복한다.
그럼 또 연속된 &#39;O&#39;의 갯수에 따라 score가 쌓이고 sum에 더해준다. 다른 방법도 있겠지만 좀 더 학습해야할것같다.</p>
<p>또한 사용자에게 입력받을때 영어 ox가 대문자나 소문자 둘다 인식하게 해줘야하는데 그 코드를 and방식으로 연결한건 비효율적으로 보인다.
다른 방법도 있겠지만 현재의 난 이 방법을 사용해야했다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 기초 학습기-2]]></title>
            <link>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-2</link>
            <guid>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-2</guid>
            <pubDate>Sun, 06 Jul 2025 16:51:43 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/shlee_972/post/3b292467-16e7-4fce-97ef-512cc42fb493/image.png" alt=""></p>
<h1 id="📚-2-자료형-변수와-데이터형">📚 2: 자료형, 변수와 데이터형</h1>
<h2 id="🔢-자료형-기본-개념">🔢 <strong>자료형 기본 개념</strong></h2>
<h3 id="자료형-정의"><strong>자료형 정의</strong></h3>
<ul>
<li><strong>프로그래밍을 할 때 사용되는 숫자, 문자열 등 자료 형태로 사용하는 모든 것</strong></li>
<li><strong>프로그래밍을 할 때 기본적이고 핵심적인 단위</strong></li>
</ul>
<h3 id="자료형-종류"><strong>자료형 종류</strong></h3>
<ul>
<li><strong>숫자 자료형</strong>: <strong>int, float, complex</strong></li>
<li><strong>문자열 자료형</strong>: <strong>str</strong></li>
<li><strong>불 자료형</strong>: <strong>bool</strong></li>
<li><strong>리스트 자료형</strong>: <strong>list</strong></li>
<li><strong>튜플 자료형</strong>: <strong>tuple</strong></li>
<li><strong>딕셔너리 자료형</strong>: <strong>dictionary</strong></li>
</ul>
<h2 id="📊-숫자-자료형">📊 <strong>숫자 자료형</strong></h2>
<h3 id="정수형-int"><strong>정수형 int</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>소수점이 없는 숫자 표현</strong></li>
<li><strong>진수 표현법</strong>:<ul>
<li><strong>10진수</strong>: 숫자를 기본적으로 10진수로 판단</li>
<li><strong>2진수</strong>: <strong>0b 또는 0B</strong></li>
<li><strong>8진수</strong>: <strong>0o 또는 0O</strong></li>
<li><strong>16진수</strong>: <strong>0x 또는 0X</strong></li>
</ul>
</li>
</ul>
<h3 id="진수-변환-함수"><strong>진수 변환 함수</strong></h3>
<ul>
<li><strong>bin()</strong>: 10진수를 2진수로 변환</li>
<li><strong>oct()</strong>: 10진수를 8진수로 변환</li>
<li><strong>hex()</strong>: 10진수를 16진수로 변환</li>
</ul>
<h3 id="실수형-float"><strong>실수형 float</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>소수점이 있는 숫자 표현</strong></li>
<li><strong>표현법</strong>: <strong>10진수로만 표현</strong></li>
<li><strong>소수점 18자리에 있는 값을 반올림하여 17자리까지 표시</strong></li>
<li><strong>예</strong>: <strong>3.141592, 3., .141592, 1e100, 314.1592e-2</strong></li>
</ul>
<h3 id="복소수형-complex"><strong>복소수형 complex</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>복소수 숫자 표현</strong></li>
<li><strong>표현법</strong>: <strong>정수나 실수 숫자 마지막에 j를 붙여서 표현</strong></li>
<li><strong>예</strong>: <strong>3.14j, 314.1592e-2j, 0.1j, 10j, 100j</strong></li>
</ul>
<h2 id="🔡-문자열-자료형-str">🔡 <strong>문자열 자료형 str</strong></h2>
<h3 id="기본-개념"><strong>기본 개념</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>문자들을 표현</strong></li>
<li><strong>표현법</strong>: <strong>한 쌍의 큰 따옴표나 작은 따옴표 안에 문자를 나열</strong></li>
<li><strong>예</strong>: <strong>&quot;Hello Everyone&quot;, &#39;Hello Everyone&#39;</strong></li>
</ul>
<h3 id="이스케이프-시퀀스"><strong>이스케이프 시퀀스</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>프로그래밍 언어 특성상 표현할 수 없는 기능, 문자를 표현</strong></li>
<li><strong>이스케이프 문자</strong>: <strong>\ 역슬래시</strong></li>
</ul>
<table>
<thead>
<tr>
<th>시퀀스</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td><strong>&#39;</strong></td>
<td><strong>작은 따옴표 출력</strong></td>
</tr>
<tr>
<td><strong>&quot;</strong></td>
<td><strong>큰 따옴표 출력</strong></td>
</tr>
<tr>
<td><strong>\\</strong></td>
<td><strong>역 슬래시 출력</strong></td>
</tr>
<tr>
<td><strong>\n</strong></td>
<td><strong>라인 피드, 줄 바꿈</strong></td>
</tr>
<tr>
<td><strong>\t</strong></td>
<td><strong>가로 탭문자 출력</strong></td>
</tr>
<tr>
<td><strong>\a</strong></td>
<td><strong>벨 소리</strong></td>
</tr>
</tbody></table>
<h2 id="✅-불-자료형-bool">✅ <strong>불 자료형 bool</strong></h2>
<h3 id="기본-개념-1"><strong>기본 개념</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>참True과 거짓False의 논리값을 표현</strong></li>
<li><strong>표현법</strong>: <strong>참True와 거짓False를 표시할 때 대문자를 사용</strong></li>
<li><strong>컴퓨터 입장</strong>: <strong>True = 0이 아닌 수, False = 0 // 참 ( 1, 10, -10, A )...</strong></li>
</ul>
<h3 id="거짓false에-해당하는-값"><strong>거짓False에 해당하는 값</strong></h3>
<ul>
<li><strong>False, None, 0, 0.0, 빈 문자열, 빈 리스트, 빈 딕셔너리</strong></li>
</ul>
<h2 id="🔍-자료형-확인-및-변환">🔍 <strong>자료형 확인 및 변환</strong></h2>
<h3 id="type-함수"><strong>type 함수</strong></h3>
<ul>
<li><strong>기능</strong>: <strong>변수나 값의 자료형을 확인하는 함수</strong></li>
<li><strong>문법</strong>: <strong>type(x)</strong></li>
<li><strong>파이썬은 자료형을 저장해줄 필요없음</strong> - 데이터가 자료형을 가지고 있음</li>
</ul>
<h3 id="자료형-변환-함수"><strong>자료형 변환 함수</strong></h3>
<ul>
<li><strong>int()</strong>: <strong>문자열이나 실수를 정수로 변환</strong></li>
<li><strong>float()</strong>: <strong>문자열이나 정수를 실수로 변환</strong></li>
<li><strong>str()</strong>: <strong>정수, 실수, 불 자료형 데이터를 문자열로 변환</strong></li>
</ul>
<h3 id="자료형-표현-범위"><strong>자료형 표현 범위</strong></h3>
<table>
<thead>
<tr>
<th>자료형</th>
<th>메모리 공간 크기</th>
<th>표현 범위</th>
</tr>
</thead>
<tbody><tr>
<td><strong>정수 int</strong></td>
<td><strong>제한 없음</strong></td>
<td><strong>제한 없음</strong></td>
</tr>
<tr>
<td><strong>실수 float</strong></td>
<td><strong>8바이트</strong></td>
<td><strong>있음</strong></td>
</tr>
<tr>
<td><strong>문자열 str</strong></td>
<td><strong>제한 없음</strong></td>
<td><strong>제한 없음</strong></td>
</tr>
</tbody></table>
<p>float에서 주의할점 정수처럼 사용하다가 ex) 3.3333333333.... 
소수점 10번째 이후의 숫자는 인식하지않기때문에 계산결과가 달라질 수 있음.</p>
<h2 id="📝-변수">📝 <strong>변수</strong></h2>
<h3 id="변수-기본-개념"><strong>변수 기본 개념</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>값을 저장할 수 있는 메모리 상의 저장 공간</strong></li>
<li><strong>파이썬 문법</strong>: <strong>식별자 = 값 또는 수식</strong></li>
<li><strong>특징</strong>: <strong>저장된 값을 변경할 수 있음</strong></li>
</ul>
<h3 id="변수-선언"><strong>변수 선언</strong></h3>
<ul>
<li><strong>파이썬은 C/C++, 자바 등과는 달리 변수를 선언하지 않아도 됨</strong></li>
<li><strong>예</strong>: <strong>boolVar = True, intVar = 0, floatVar = 0.0, strVar = &quot;&quot;</strong></li>
</ul>
<h3 id="객체와-메모리"><strong>객체와 메모리</strong></h3>
<ul>
<li><strong>불변 객체</strong>: <strong>정수형int, 실수형float, 문자열형str, 튜플tuple</strong></li>
<li><strong>가변 객체</strong>: <strong>리스트list, 딕셔너리dict, 집합set</strong></li>
<li><strong>id() 함수</strong>: <strong>변수가 참조하는 객체의 메모리 주소 확인</strong></li>
</ul>
<h2 id="🏷️-식별자">🏷️ <strong>식별자</strong></h2>
<h3 id="식별자-정의"><strong>식별자 정의</strong></h3>
<ul>
<li><strong>변수, 함수, 클래스 등의 요소를 서로 구분하기 위한 고유한 이름</strong></li>
</ul>
<h3 id="식별자-규칙"><strong>식별자 규칙</strong></h3>
<ul>
<li><strong>파이썬 키워드 사용 불가</strong></li>
<li><strong>문자, 숫자, 밑줄_로 구성</strong></li>
<li><strong>밑줄을 제외한 다른 특수 문자 사용 불가</strong></li>
<li><strong>숫자로 시작 불가</strong></li>
<li><strong>대소문자 구분</strong></li>
<li><strong>변수 이름 중간에 공백 포함 불가</strong></li>
</ul>
<h3 id="명명-규칙"><strong>명명 규칙</strong></h3>
<ul>
<li><strong>스네이크 케이스</strong>: <strong>밑줄_을 단어들 중간에 붙여서 연결</strong></li>
<li><strong>캐멀 케이스</strong>: <strong>첫 단어는 소문자, 이후 단어의 첫 글자를 대문자</strong></li>
<li><strong>파이썬 개발자는 주로 스네이크 케이스 사용</strong></li>
</ul>
<h3 id="일반적인-식별자-사용-방법"><strong>일반적인 식별자 사용 방법</strong></h3>
<ul>
<li><strong>클래스</strong>: <strong>단어의 첫 글자를 대문자로 표기</strong></li>
<li><strong>변수, 함수</strong>: <strong>스네이크 케이스</strong></li>
</ul>
<h2 id="🔄-자료형-변환">🔄 <strong>자료형 변환</strong></h2>
<h3 id="암시적-형-변환"><strong>암시적 형 변환</strong></h3>
<ul>
<li><strong>파이썬 프로그램에서 자동으로 자료형을 변환하는 경우</strong></li>
<li><strong>정수형과 실수형 연산은 실수형으로 변환됨</strong></li>
</ul>
<h3 id="명시적-형-변환"><strong>명시적 형 변환</strong></h3>
<ul>
<li><strong>프로그래머가 직접 자료형을 변환하는 경우</strong></li>
</ul>
<h3 id="자료형-변환-시-주의사항"><strong>자료형 변환 시 주의사항</strong></h3>
<ul>
<li><strong>형식 오류</strong>: <strong>잘못된 형식의 문자열을 int() 또는 float()로 변환하면 ValueError 발생</strong></li>
<li><strong>소수점 이하 버림</strong>: <strong>실수를 정수로 변환할 때 소수점 이하는 버림</strong></li>
</ul>
<hr>
<h1 id="나의생각">나의생각</h1>
<h3 id="파이썬의-문법">파이썬의 문법</h3>
<p>** &#39;=&#39;은 같다는 의미가 아니라 오른쪽의 값을 왼쪽에 대입한다. 처음 배울때 헷갈리기 쉬운 부분이라고 생각함. **</p>
<p>** 파이썬에서는 객체가 값과 자료형을 모두 저장한다. 따로 정의하지 않아도 된다. 
Ex) A=10, print(type(A)) -&gt; class int**</p>
<p>** 객체와 메모리 공간에서 객체는 메모리상의 주소로 저장되고 그곳의 값을 불러온다. 
값을 저장하는 것이 아니라 주소를 저장하고 주소에 저장된 값을 표시해주는 것이다. **
** 그래서 불변 객체는 값이 바뀌면 항상 새로운 주소로 저장된다. ID( ) 함수를 통해 바뀌는 것을 알 수 있음. **</p>
<p>** 파이썬은 인터프리터 방식으로 동작하기 때문에 위에서부터 순서대로 진행하면서 변수의 값이 계속 변경될 수 있음
이를 통해 똑같은 변수를 사용하면서 저장된 값을 초기화시키는 조건을 활용할 수 있음. (과제에서 확인)**</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 기초 학습기-1]]></title>
            <link>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-1</link>
            <guid>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-1</guid>
            <pubDate>Sun, 06 Jul 2025 11:18:27 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/shlee_972/post/fee27e57-de06-4880-badf-f7b05dfc0130/image.png" alt=""></p>
<h1 id="📚-1-사람-언어와-컴퓨터-언어">📚 1: 사람 언어와 컴퓨터 언어</h1>
<h2 id="🔢-컴퓨터-언어-기초-">🔢 *<em>컴퓨터 언어 기초 *</em></h2>
<h3 id="비트와-바이트-">*<em>비트와 바이트 *</em></h3>
<ul>
<li><strong>비트(Bit)</strong>: 컴퓨터 정보의 <strong>최소 단위</strong>, <strong>0 또는 1</strong> 중 하나의 값</li>
<li><strong>바이트(Byte)</strong>: <strong>8개의 비트</strong>가 모인 조합  </li>
<li><strong>핵심 공식</strong>: <strong>8비트 = 1바이트</strong>, <strong>16비트 = 2바이트</strong></li>
</ul>
<h2 id="💻-언어-분류-및-특징">💻 <strong>언어 분류 및 특징</strong></h2>
<h3 id="기계어machine-language"><strong>기계어(Machine Language)</strong></h3>
<ul>
<li><strong>정의</strong>: 컴퓨터 CPU가 <strong>직접 처리</strong>하는 언어</li>
<li><strong>구성</strong>: <strong>2진 숫자(0과 1)로 구성</strong></li>
</ul>
<h3 id="어셈블리어assembly-language"><strong>어셈블리어(Assembly Language)</strong></h3>
<ul>
<li><strong>정의</strong>: 기계어와 <strong>1:1 대응</strong>되는 저급 언어</li>
<li><strong>특징</strong>: 숫자를 <strong>사람이 이해하기 쉬운 단어로 변경</strong></li>
</ul>
<h3 id="고급-언어high-level-language"><strong>고급 언어(High-Level Language)</strong></h3>
<ul>
<li><strong>정의</strong>: <strong>사람 중심 언어</strong></li>
<li><strong>예시</strong>: <strong>Python, C, C++, Java, C#</strong> </li>
</ul>
<h2 id="🔄-언어-번역-프로그램-">🔄 *<em>언어 번역 프로그램 *</em></h2>
<h3 id="어셈블러assembler"><strong>어셈블러(Assembler)</strong></h3>
<ul>
<li><strong>기능</strong>: <strong>어셈블리어 → 기계어</strong> </li>
</ul>
<h3 id="컴파일러compiler-vs-인터프리터interpreter"><strong>컴파일러(Compiler) vs 인터프리터(Interpreter)</strong></h3>
<table>
<thead>
<tr>
<th>구분</th>
<th>컴파일러</th>
<th>인터프리터</th>
</tr>
</thead>
<tbody><tr>
<td><strong>번역 방식</strong></td>
<td><strong>전체 프로그램을 한 번에</strong> 번역</td>
<td><strong>한 줄씩 번역하며 실행</strong></td>
</tr>
<tr>
<td><strong>번역 시점</strong></td>
<td><strong>실행 전에 번역</strong> 완료</td>
<td><strong>실행 중에 번역</strong></td>
</tr>
<tr>
<td><strong>실행 속도</strong></td>
<td><strong>빠름</strong></td>
<td><strong>느림</strong></td>
</tr>
<tr>
<td><strong>메모리 사용</strong></td>
<td>많음 (목적 코드 생성)</td>
<td><strong>효율적</strong></td>
</tr>
<tr>
<td><strong>예시</strong></td>
<td><strong>C, C++</strong></td>
<td><strong>Python, JavaScript</strong></td>
</tr>
</tbody></table>
<h3 id="핵심-암기-포인트"><strong>핵심 암기 포인트</strong></h3>
<ul>
<li><strong>컴파일러</strong>: 전체를 한 번에 → <strong>빠른 실행</strong></li>
<li><strong>인터프리터</strong>: 한 줄씩 → <strong>스크립트 언어</strong>라고도 함</li>
</ul>
<h2 id="🐍-파이썬-특징-">🐍 *<em>파이썬 특징 *</em></h2>
<h3 id="기본-정보"><strong>기본 정보</strong></h3>
<ul>
<li><strong>개발자</strong>: 귀도 반 로섬(Guido van Rossum)</li>
<li><strong>발표년도</strong>: <strong>1991년</strong></li>
<li><strong>언어 종류</strong>: <strong>인터프리터 언어</strong> = <strong>스크립트 언어</strong></li>
</ul>
<h3 id="장점-">*<em>장점 *</em></h3>
<ol>
<li><strong>무료 사용 가능</strong> (오픈 소스)</li>
<li><strong>읽기 쉽고 사용하기 쉬움</strong></li>
<li><strong>사물인터넷과 잘 연동됨</strong></li>
<li><strong>다양하고 강력한 외부 라이브러리</strong></li>
<li><strong>강력한 웹 프레임워크</strong></li>
</ol>
<h3 id="단점-">*<em>단점 *</em></h3>
<ol>
<li><strong>느린 속도</strong> (인터프리터 언어이므로)</li>
<li><strong>모바일 컴퓨팅 지원 약함</strong>, <strong>하드웨어 제어 어려움</strong></li>
</ol>
<hr>
<h1 id="나의-생각">나의 생각</h1>
<h3 id="바이브-코딩의-등장">바이브 코딩의 등장</h3>
<p>** 최근 급부상하고 있는 바이브코딩의 사례에서 언어의 분류에 한가지 방법론이 생긴것 같다.
컴퓨터 -&gt; 어셈블리어 -&gt; 고급 언어(C,Python,java ...) -&gt; 프로그래머 -&gt; 사람(고객)** </p>
<ul>
<li><p>어셈블리어는 사람이 이해하기에 어렵고 비효율적이여서 각각의 상황에 맞는 언어를 공부해서, 클라이언트가 원하는 목표를 
프로그래머가 잘 알아듣고 정확하게 프로그래밍 언어로 바꿔 SW를 만드는 것이 보통이였다면...</p>
</li>
<li><p>바이브 코딩의 등장으로 <strong>고급언어 -&gt; 생성형 AI(claude, cursor...) -&gt; 사람(고객)</strong> 이 사이에 프로그래머가 사라지는 느낌이다.</p>
</li>
</ul>
<p>물론 여전히 SW에 대해 전반적으로 배우지않으면 복잡한 프로그램을 만들기 어렵고, 보안문제나 오류가 발생하면 대처하기 어렵다.
그러나 절대 대체될 수 없는 것과 AI의 등장 몇년이 지나 벌써 대체되기 시작하는 것은 다르다.</p>
<p>게임 업계에서도 생성형 AI를 이용해 개발을 시작한 것으로 안다. 내가 졸업하는 2029년에는 어떤 방식으로 개발을 하고 있을지 상상도
하기 힘들것이라고 생각한다.</p>
<p>우선 기술의 발전을 막을순 없으니 내가 집중해야하는 것은 게임 개발의 전반적인 작업방법과 언리얼엔진같은 전문적인 툴의 학습 그리고 인공지능을 활용한 게임개발 변화에 대한 빠른 리딩이 필요할 것이라고 생각한다. </p>
<p>언리얼엔진5가 등장하고 AI가 아직 이것을 통해 지금 claude나 cursor가 아주 쉽게 코드를 생성하지 못하는 것으로 안다. 몇년뒤에는 또 모르겠지만.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 기초 학습기-0]]></title>
            <link>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-0</link>
            <guid>https://velog.io/@shlee_972/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%ED%95%99%EC%8A%B5%EA%B8%B0-0</guid>
            <pubDate>Sat, 05 Jul 2025 16:05:53 GMT</pubDate>
            <description><![CDATA[<h2 id="파이썬-학습을-시작했다">파이썬 학습을 시작했다</h2>
<p><img src="https://velog.velcdn.com/images/shlee_972/post/443f5500-45e9-4354-a5be-ff31196213ec/image.png" alt=""></p>
<p>여름 계절학기로 디지털문해력이라는 수업을 수강했다. 수업내용은 파이썬 기초를 배우는 과목이다. </p>
<ul>
<li>변수와 자료형</li>
<li>기본 입출력</li>
<li>연산자 </li>
<li>조건문</li>
<li>반복문</li>
<li>컨테이너 자료형</li>
<li>함수</li>
<li>모듈과 패키지</li>
<li>클래스와 객체</li>
<li>파일 입출력</li>
</ul>
<p>위와 같은 내용을 짧은 기간인 15일내에 모두 배워서 중간, 기말을 본다.</p>
<p>우선 이번 기초 학습기에서는 중간고사범위인 변수와 자료형 ~ 반복문까지 공부하고 이해한 내용을 업로드하고 기말고사 범위인 컨테이너 자료형 ~ 파일 입출력까지의 내용을 업로드 하겠다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[3월~6월 활동한 내용 정리-2]]></title>
            <link>https://velog.io/@shlee_972/3%EC%9B%946%EC%9B%94-%ED%99%9C%EB%8F%99%ED%95%9C-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC-2</link>
            <guid>https://velog.io/@shlee_972/3%EC%9B%946%EC%9B%94-%ED%99%9C%EB%8F%99%ED%95%9C-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC-2</guid>
            <pubDate>Wed, 02 Jul 2025 14:14:57 GMT</pubDate>
            <description><![CDATA[<h2 id="웹프론트엔드-활동-정리">웹프론트엔드 활동 정리</h2>
<p>CSS, React를 간단하게 배웠다. </p>
<p>CSS는 html이 만든 건물에 인테리어를 하는 역할이다. html은 기술에 한계가 있어 요즘은 React를 많이 사용하는 추세라고 알고있다. 실제로 동아리 선배님들도 React를 중심으로 개발하시고 여기에 tailwind 같은 CSS 프레임워크를 사용하는 것이 더 편하고 좋다고한다.</p>
<p>React 파일 ---.js에 CSS파일을 import하고 사용하면 된다.</p>
<p>주의할 점은 프로젝트의 규모가 커지면 CSS의 클래스 이름이 중복되는 경우가 있다.</p>
<p>그래서 다양한 장점이 있어 Tailwind 방식을 사용한다.
Tailwind 방식에서는 미리 디자인되어 완성된 컴포넌트를 가져다 쓰는 장점이 있다.
CSS 자체를 거의 작성하지 않기 때문에 중복의 위험도 낮아지고 빠르게 빌드할 수 있다.</p>
<p>하지만 미리 정해진 모듈을 익히는데에 시간이 걸리지만 또 배워두면 유용하게 사용할 수 있다.</p>
<p>그래서 이번 7~8월에 있는 웹프로젝트 만들기 활동은 React와 Tailwind를 사용해 제작할 예정이다.</p>
<img src=https://velog.velcdn.com/images/shlee_972/post/1383df7d-6dd4-47e3-91b1-29e6b55cdd0a/image.png height=500, witdh=500>


<p>3<del>6월의 활동간에는 주로 html과 css, javascript, react에 관해 아주 기본적인 기초를 배웠기에 지금 짧은 2</del>3주 방학기간 중에 React에 대해 도움이 될 수 있을 정도의 지식을 쌓는것이 목표이다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[3월~6월 활동한 내용 정리-1]]></title>
            <link>https://velog.io/@shlee_972/3%EC%9B%946%EC%9B%94-%ED%99%9C%EB%8F%99%ED%95%9C-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC-1</link>
            <guid>https://velog.io/@shlee_972/3%EC%9B%946%EC%9B%94-%ED%99%9C%EB%8F%99%ED%95%9C-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC-1</guid>
            <pubDate>Tue, 01 Jul 2025 15:23:02 GMT</pubDate>
            <description><![CDATA[<h2 id="웹프론트엔드-활동-정리">웹프론트엔드 활동 정리</h2>
<p>3월~6월 사이에 아주 간단하게 프론트엔드에 대해 공부하고 실제로 웹사이트를 만드는 활동을 했었다. </p>
<p>1학기중에는 처음들어가는 대학교라서 챙길것도 많고 신경써야할 부분이 많아 나중에 배운내용을 정리하고자 했다.</p>
<p>우선 내가 배운내용은 HTML, CSS, React를 아주 간단하게 배웠다.</p>
<p>사실 배운내용도 동아리 차원에서 같이 새로운 아이템을 선정해서 웹사이트를 만들어보는 활동에서 배운거라 기초만 배웠다.</p>
<p>3월~6월에서 배운 내용들을 정리하고 이제 7월과 8월에 있는 동아리의 큰 프로젝트를 수행하기 위해 React를 좀 더 신경써서 배우겠다.</p>
<hr>
<h2 id="html">HTML</h2>
<img src=https://velog.velcdn.com/images/shlee_972/post/394e4171-a795-40d4-b696-b994f555d49d/image.png height=500 width=500>



<p>C언어, 파이썬 같은 프로그래밍 언어와 다르게 이미 정의된 태그들을 가지고 와서 웹사이트의 기초를 세우는 역할이다.</p>
<p>html은 건물로 비유하면 기둥으로 비유할 수 있다. 기초 공사를 통해 뼈대와 기둥을 세우고 여기에 CSS로 인테리어를 한다.</p>
<p>실제로 엘리베이터나 수도같은 필수 시설은 자바스크립트와 같은 프로그래밍언어를 사용하면 된다.</p>
<p>html의 사용법은 간단하다 지금 내가 글을 쓰고있는 Velog나 Notion처럼 H1~4 태그나 bold, 기울임, 취소선, 이미지를 불러오기 같은 방법을 똑같이 사용하면 된다.</p>
<p>그래서 html을 배울땐 배운 그자리에서 간단하게 자기소개 페이지를 만들 수 있을 정도로 간단하다. 핵심적인 태그를 배우고 그것을 불러와서 원하는대로 꾸미면 되기 때문이다.</p>
<p>내일은 CSS에 대해 배운 내용을 간단히 적고 그 다음부터 본격적으로 사용해야하는 React에 대해 복습하면서 정리하겠다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[25살 대학입학 후 게임개발자를 꿈꾸다.]]></title>
            <link>https://velog.io/@shlee_972/25%EC%82%B4-%EB%8C%80%ED%95%99%EC%9E%85%ED%95%99-%ED%9B%84-%EA%B2%8C%EC%9E%84%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EA%BF%88%EA%BE%B8%EB%8B%A4</link>
            <guid>https://velog.io/@shlee_972/25%EC%82%B4-%EB%8C%80%ED%95%99%EC%9E%85%ED%95%99-%ED%9B%84-%EA%B2%8C%EC%9E%84%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EA%BF%88%EA%BE%B8%EB%8B%A4</guid>
            <pubDate>Mon, 30 Jun 2025 15:50:53 GMT</pubDate>
            <description><![CDATA[<h1 id="시작">시작</h1>
<img src="https://velog.velcdn.com/images/shlee_972/post/9ee1f69f-01c1-4d1e-9a8e-9b650f82bf6d/image.png" height="500" width="500">


<p>2019년 고등학교를 졸업하고 2025년까지 병역을 마치고 안해본 알바가 없었다. 편의점, 쿠팡, 중국집, 물류배송, 대형마트 물류포장, 서점 등...</p>
<p>처음엔 대학을 안가고 하고싶은 일을 찾으려고 했다. </p>
<p>그렇게 알바하다가 그만두길 반복하다 작년 여름때 결심했다. 지금부터 수능을 준비하고 대학에 가서 게임개발자가 되고싶다고.</p>
<p>그렇게 25년 3월에 늦은나이로 신입생이 되고 정신없이 1학기를 보냈다. </p>
<p>그동안 주위에서 많은 정보들을 물어보고 검색해본 결과, 1학년부터 꾸준히 개발블로그에 글을쓰면서 포트폴리오를 채워나가는 것이 좋은 방법이라고 추천을 받아서 이렇게 쓰게되었다.</p>
<p>오늘부터 이 Velog에 내가 배우는 것들과 느낀것들을 차곡차곡 쌓아보겠다.</p>
<hr>
<h2 id="목표">목표</h2>
<p>우선 대학 과제중에서 포트폴리오같은 진로 계획서를 미리 써보는 과제가 있었다.</p>
<p>그래서 포트폴리오를 미리 써보고 계획하는 시간을 가졌고 그 계획을 여기에 잠시 써보고자 한다.</p>
<p>우선 2학년때 컴퓨터공학부 세부전공으로 인공지능공학쪽으로 선택하려고한다. 그 이유는...</p>
<p>진로 계획서를 쓰면서 IT업계 전반의 동향을 알아보고자 다양한 곳에서 정보를 얻었다. </p>
<p><a href="https://spri.kr/posts/view/23810?code=issue_reports&amp;study_type=&amp;board_type=issue_reports&amp;flg=">소프트웨어정책연구소</a> SW개발자 채용시장의 변화와 생성형 AI의 영향에 관한 보고서를 읽으면서 인사이트를 얻을 수 있었다. 
<img src=https://velog.velcdn.com/images/shlee_972/post/67326e52-4b69-456d-8a6b-cbcdb3148c2e/image.png height="500" width="500">
요약하면, &quot;생성형 AI의 등장으로 &#39;Cursor&#39; &#39;Claude&#39; 등의 코딩을 잘하는 AI를 통해 바이브코딩으로 누구나 손쉽게 코딩에 접근 할 수 있게되어서 진입장벽이 낮아졌고 이 생성형 AI의 생산성이 초급개발자를 쉽게 대체가능 할것이다&quot; 라는 예측이다.</p>
<p>이제 단순히 코딩실력으로 취업하는 시대는 지나갔고 신입 개발자들은 각자 색다른 무기를 준비해야 험난한 취업시장을 대비할 수 있을 것이다.</p>
<p>Nvidia와 크래프톤이 협력해서 최근에 출시한 &#39;인조이&#39;라는 게임의 NPC(Non Playable Character)의 기술에서 업그레이드 된 CPC(Co-Playable Character)에서 핵심 기술은 엔비디아 에이스 기술로 구축된 게임에 특화된 GPU 안에 있는 소형 언어 모델(on-device SLM for Gaming)을 사용하여 게임 내의 상호작용의 정보를 Chat GPT 같은 다른 대규모 클라우드에 보내지 않고 GPU 내에서 직접 처리하여 매우 빠르고 개인정보 보호를 장점으로 하는 기술이라고 한다. </p>
<p>이처럼 이제 본격적으로 AI가 게임에 활용되기 시작하는 지금, 난 AI에 관해 더 공부해서 게임개발에 AI를 활용가능한 인재가 되어 경쟁력을 갖추는 것이 좋다고 생각했다.</p>
<p>그래서 인공지능공학쪽으로 선택했다. 내가 인공지능을 배운다고 만들 수 있다고는 생각하지 않는다. 하지만 배우지 않는 사람보다는 이 배움을 통해 더 잘 사용할 수 있는게 목표다.</p>
<hr>
<h2 id="포스팅">포스팅</h2>
<p>우선 내용에 관해서는 크게 2가지로 적고자 한다.</p>
<ol>
<li><p>&#39;AI 게임 개발자가 되기 위해 어떻게 공부했다&#39; 라는 과정을 쓰려고한다. 내가 단순히 공부하고 조사한 내용을 포스팅하는 것이 아니라 내가 공부한 과정을 적고 내 생각과 이해를 중점으로 적어야 내가 이해한 기술이 된다고 생각하기때문이다.</p>
</li>
<li><p>주간,월간마다 그 주, 그 달 공부했던 것을 돌아보면서 개선하겠다. 나의 성향상 항상 자기반성을 해야 더 능률이 올라가는 점이 있다고 생각한다.</p>
</li>
</ol>
<hr>
<p>포스팅도 1학기때 배웠던 Html이랑 비슷하지만 더 다양한 기능에 익숙해 지려면 많은 포스팅이 필요할 것 같다.
<a href="https://gist.github.com/ihoneymon/652be052a0727ad59601">마크다운 참고용</a> 여기에 보기 좋게 정리 되어있어서 올려두고 간간히 보면서 익숙해져야겠다.</p>
]]></description>
        </item>
    </channel>
</rss>