<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jungyu_l.log</title>
        <link>https://velog.io/</link>
        <description>개발자가 되기 위한 노력</description>
        <lastBuildDate>Mon, 21 Jul 2025 10:33:29 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jungyu_l.log</title>
            <url>https://velog.velcdn.com/images/jungyu_l/profile/81eebade-b959-4bb4-a880-2a41034a4a24/image.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jungyu_l.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jungyu_l" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[SKN Family AI Camp Day 3-1]]></title>
            <link>https://velog.io/@jungyu_l/SKN-Family-AI-Camp-Day-3</link>
            <guid>https://velog.io/@jungyu_l/SKN-Family-AI-Camp-Day-3</guid>
            <pubDate>Mon, 21 Jul 2025 10:33:29 GMT</pubDate>
            <description><![CDATA[<h3 id="1-변수-사용하여-구구단-표현하기">1. 변수 사용하여 구구단 표현하기</h3>
<h4 id="11-예시">1.1 예시</h4>
<pre><code class="language-python">n = 3
print(n,&quot;* 1 =&quot;, n*1)
print(n,&quot;* 2 =&quot;, n*2)
print(n,&quot;* 3 =&quot;, n*3)
print(n,&quot;* 4 =&quot;, n*4)
print(n,&quot;* 5 =&quot;, n*5)
print(n,&quot;* 6 =&quot;, n*6)
print(n,&quot;* 7 =&quot;, n*7)
print(n,&quot;* 8 =&quot;, n*8)
print(n,&quot;* 9 =&quot;, n*9)</code></pre>
<hr>
<p>출력 결과</p>
<pre><code class="language-python">3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27</code></pre>
<hr>
<h4 id="12-예시">1.2 예시</h4>
<pre><code class="language-python">x = 3
print(f&quot;{x} * 1 = {x*1}&quot;)
print(f&quot;{x} * 2 = {x*2}&quot;)
print(f&quot;{x} * 3 = {x*3}&quot;)
print(f&quot;{x} * 4 = {x*4}&quot;)
print(f&quot;{x} * 5 = {x*5}&quot;)
print(f&quot;{x} * 6 = {x*6}&quot;)
print(f&quot;{x} * 7 = {x*7}&quot;)
print(f&quot;{x} * 8 = {x*8}&quot;)
print(f&quot;{x} * 9 = {x*9}&quot;)</code></pre>
<hr>
<p>출력 결과</p>
<pre><code class="language-python">3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27</code></pre>
<hr>
<h4 id="13-예시">1.3 예시</h4>
<pre><code class="language-python">def gugudan():
    k = int(input(&quot;구구단 단을 입력해주세요 = &quot;))
    for i in range(1, 10):
        print(f&quot;{k} * {i} = {k*i}&quot;)

gugudan()</code></pre>
<hr>
<p>출력 결과</p>
<pre><code class="language-python">k = 입력된 값

6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54</code></pre>
<hr>
<h4 id="14-py-파일을-실행할-때-실행-과정">1.4 .py 파일을 실행할 때 실행 과정</h4>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/1e12af4e-e35a-424c-834a-4214535a29fa/image.png" alt=""></p>
<h3 id="2-ram메모리-주소">2. RAM(메모리 주소)</h3>
<hr>
<pre><code class="language-python">x = 1
y = x 

id(x), id(y)
</code></pre>
<hr>
<p>출력 결과</p>
<pre><code class="language-python">(140211730290672, 140211730290672)</code></pre>
<p>위의 결과를 보면 x, y의 데이터도 같고 메모리 주소가 같은 것을 확인</p>
<hr>
<pre><code class="language-python">x = 1001
y = 1001

id(x), id(y)</code></pre>
<hr>
<p>출력 결과</p>
<pre><code class="language-python">(140211730291216, 140211730289680)</code></pre>
<p>위의 결과를 보면 x, y의 데이터는 같지만 메모리 주소가 다른 것을 확인</p>
<h3 id="✅-데이터와-메모리-주소가-같은지-다른지-확인하는-방법">✅ 데이터와 메모리 주소가 같은지 다른지 확인하는 방법</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/a4ab6005-f2fc-470c-9ede-bf55c21b9adc/image.png" alt=""></p>
<hr>


<ul>
<li><code>is or is not</code>는 변수의 할당된 메모리 주소가 같은지 비교</li>
</ul>
<pre><code class="language-python">x = 1001
y = 1001
x is y </code></pre>
<hr>
<p>출력 결과 </p>
<pre><code class="language-python">False</code></pre>
<hr>
<pre><code class="language-python">x = 1001
y = 1001
x is not y</code></pre>
<hr>
<pre><code class="language-python">(출력 결과)

True</code></pre>
<hr>
<ul>
<li><code>== or !=</code>는 변수의 데이터 값이 같은지 비교</li>
</ul>
<pre><code class="language-python">x = 1001
y = 1001
x == y</code></pre>
<hr>
<p>출력 결과 </p>
<pre><code class="language-python">True</code></pre>
<hr>
<pre><code class="language-python">x = 1001
y = 1001
x != y </code></pre>
<hr>
<p>출력 결과</p>
<pre><code class="language-python">False</code></pre>
<hr>
<h3 id="3-indexing인덱싱--slicing슬라이싱">3. Indexing(인덱싱) , Slicing(슬라이싱)</h3>
<h4 id="31-indexing인덱싱은-무엇인가를-가리킨다는-의미">3.1 Indexing(인덱싱)은 무엇인가를 가리킨다는 의미</h4>
<blockquote>
<ul>
<li><h5 id="파이썬에서-indexing인덱싱을-표현하는-방법은-변수명인덱스이다">파이썬에서 Indexing(인덱싱)을 표현하는 방법은 변수명[인덱스]이다.</h5>
</li>
</ul>
</blockquote>
<pre><code class="language-python">a =  &quot;Hello World!&quot;
a[0] 
a[11]
</code></pre>
<hr>
<p>출력 결과 </p>
<pre><code class="language-python">
a[0] = &#39;H&#39;

a[11] = &#39;!&#39;</code></pre>
<hr>
<h4 id="32-슬라이싱은-무엇인가를-잘라낸다는-의미">3.2 슬라이싱은 무엇인가를 잘라낸다는 의미</h4>
<blockquote>
<ul>
<li><h5 id="슬라이싱-사용법은-변수명시작-인덱싱-번호-끝-인덱싱-번호로-표현">슬라이싱 사용법은 변수명[시작 인덱싱 번호: 끝 인덱싱 번호]로 표현</h5>
</li>
</ul>
</blockquote>
<pre><code class="language-python">a = &quot;Hello World!&quot;
a[0:3] # a[0] + a[1] + a[2], 끝 인덱싱은 위치 데이터를 가져오지 않음.
a[:-+] # 음수 표현</code></pre>
<hr>
<p>출력 결과 </p>
<pre><code class="language-python">a[0:3] = &#39;Hel&#39;

a[:-6] = &#39;Hello &#39;</code></pre>
<hr>







]]></description>
        </item>
        <item>
            <title><![CDATA[[플레이데이터 SK네트웍스 Family AI 캠프 18기] 1주차 회고(2025.07.16~2025.07.18)]]></title>
            <link>https://velog.io/@jungyu_l/%ED%94%8C%EB%A0%88%EC%9D%B4%EB%8D%B0%EC%9D%B4%ED%84%B0-SK%EB%84%A4%ED%8A%B8%EC%9B%8D%EC%8A%A4-Family-AI-%EC%BA%A0%ED%94%84-18%EA%B8%B0-1%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A02025.07.162025.07.18</link>
            <guid>https://velog.io/@jungyu_l/%ED%94%8C%EB%A0%88%EC%9D%B4%EB%8D%B0%EC%9D%B4%ED%84%B0-SK%EB%84%A4%ED%8A%B8%EC%9B%8D%EC%8A%A4-Family-AI-%EC%BA%A0%ED%94%84-18%EA%B8%B0-1%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A02025.07.162025.07.18</guid>
            <pubDate>Sun, 20 Jul 2025 11:04:52 GMT</pubDate>
            <description><![CDATA[<h1 id="✅-3일간의-후기">✅ 3일간의 후기</h1>
<hr>


<h3 id="🚗-orientation-후기">🚗 Orientation 후기</h3>
<p>지방에서 서울로 올라와 처음 자취를 시작했다. 새벽부터 짐을 옮기느라 정신이 없었기에 오리엔테이션의 모든 내용을 정확히 기억하지는 못하지만, 전반적으로 교육의 전체 커리큘럼을 소개받고 기본적인 서류 작성을 진행했다. 또한 함께 교육을 받는 분들의 이름, MBTI, 학습 이력, 취미 등을 공유하며 아이스 브레이킹 시간을 가졌다.</p>
<h3 id="🔔-교육-12일차-후기">🔔 교육 1,2일차 후기</h3>
<p>수요일에 오리엔테이션을 마치고, 목요일과 금요일 이틀간 본격적인 교육이 시작되었다. 처음이라 초기 환경 세팅과 설치 작업이 많았는데 이 과정에서 시간이 예상보다 많이 소요되었다. 첫날을 거의 세팅에 소비했고, 둘째 날 오전까지도 계속 세팅을 진행한 후, 오후부터 급하게 Python의 기본 개념 수업이 시작되었다. 준비 과정에서 시간을 많이 소비했기 때문에 실제로 3~4시간 만에 모든 개념을 배우기에는 무리가 있어 보였다.</p>
<p>나는 전공자였음에도 처음 접하는 명령어들이 많아 새로운 경험이었고 흥미로웠지만, 빠른 수업 속도 탓에 정신없이 교육을 듣게 되었다. 특히 비전공자분들은 Python의 개념을 이해하고 바로 실습하기가 쉽지 않을 것으로 느껴졌으며, 별도의 복습 시간이 반드시 필요하겠다고 생각했다.</p>
<hr>
<h3 id="👍-plus">👍 Plus</h3>
<ul>
<li>강사님께서는 몇 년 전까지 현업에 계셨던 분으로, 비전공자 출신임에도 AI 개발 팀장과 다양한 분야에서 높은 직급까지 올라가신 경력을 가진 분이다. 수업 진행 속도는 빨랐지만 핵심을 명확하고 상세하게 설명해 주셨다. 이미 알고 있는 내용도 있었지만, 처음 접한 가상환경 세팅 및 새로운 명령어들을 배우면서 새롭게 얻는 지식들이 많아 개인적으로 만족스러웠다.</li>
</ul>
<h3 id="😒-minus">😒 Minus</h3>
<ul>
<li>정해진 시간 내에 많은 내용을 습득해야 하다 보니, 어느 순간부터는 내용을 이해하며 따라가기보다는 무작정 타이핑만 하게 되는 나를 발견했다. 앞으로는 교육이 끝난 후 그날 배운 내용을 매일 정리하며 스스로의 지식으로 확실히 습득할 필요가 있다고 느꼈다.</li>
</ul>
<h3 id="✌️-impressive">✌️ Impressive</h3>
<ul>
<li>처음에는 전공자라는 이유로 초반 커리큘럼을 가볍게 생각했는데, 이는 큰 오산이었다. 기본적인 개념에서도 내가 알지 못했던 부분이 있었고, 이전에 배웠지만 잊어버린 내용이 상당히 많다는 걸 깨달았다. 또한 Docker와 Cursor AI와 같은 툴들을 처음 사용하면서, 전공자임에도 아직 경험하지 못한 것들이 많다는 사실을 새삼스럽게 깨달았다. 이번 주는 전공자라는 생각에 안주하지 않고, 더욱 열심히 노력해야만 목표를 이룰 수 있음을 깊이 느낄 수 있었던 인상적인 첫 주였다.</li>
</ul>
<hr>
<h3 id="❗마지막으로">❗마지막으로</h3>
<p>아직 첫 주차 교육을 2일만 진행했기 때문에 배운 내용이 많지 않아 주간 회고록에 구체적으로 내가 어려움을 느끼거나 좋았던 코드와 내용을 명확히 적기 어려웠다. 하지만 앞으로는 매일 그날의 교육 내용을 복습하고 정리하며 내 것으로 만들기 위해 꾸준히 Velog에 기록할 계획이다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[SKN Family AI Camp Day 2]]></title>
            <link>https://velog.io/@jungyu_l/SKN-Family-AI-Camp-Day-2</link>
            <guid>https://velog.io/@jungyu_l/SKN-Family-AI-Camp-Day-2</guid>
            <pubDate>Fri, 18 Jul 2025 08:44:18 GMT</pubDate>
            <description><![CDATA[<h2 id="1-vsc---mysql_server-폴더-내에-database-폴더-생성">1. VSC -&gt; mysql_server 폴더 내에 database 폴더 생성</h2>
<hr>
<h3 id="11-docker-composeyml">1.1 docker-compose.yml</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/1c3ebc00-9a28-437a-b45d-0f27d2a55a3d/image.png" alt=""></p>
<hr>
<h5 id="docker-composeyml">docker-compose.yml</h5>
<pre><code class="language-python">version: &quot;3&quot;

services:
  db:
    image: mysql
    restart: always
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    volumes:
      - ./database:/var/lib/mysql  # 데이터베이스 &lt;- 부모 컴퓨터 | /var/lib/mysql &lt;- 자식 컴퓨터 | :로 부모와 자식을 구분 
    environment:
      MYSQL_ROOT_PASSWORD: &quot;root1234&quot;  # root 계정의 비밀번호 설정 (root는 관리자를 뜻함)
      MYSQL_DATABASE: &quot;examplesdb&quot;  # 해당 데이터베이스 이름 지정
      MYSQL_USER: &quot;urstory&quot;  # 일반 유저의 아이디를 지정
      MYSQL_PASSWORD: &quot;u1234&quot;  # 위에서 지정한 유저의 비밀번호 설정
    ports:
      - &quot;3306:3306&quot;  # 3306포트를 통해 연결 및 소통 
</code></pre>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/3f2138d7-fa27-4ff0-b7f7-08cfea7211d5/image.png" alt=""></p>
<br>


<p>Terminal  </p>
<hr>
<pre><code class="language-python">PS C:\dev\course\mysql_server&gt; docker-compose up -d</code></pre>
<hr>
<p>위 명령어 실행
<br></p>
<pre><code>
up = 앞에 명시한 파일을 실행함 
*단 앞에 명시한 파일이 존재해야함*

d(demon) = 백그라운드를 명칭

</code></pre><h3 id="12-dbeaver---mysql">1.2 DBeaver -&gt; MySQL</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/55e58e4e-5601-4222-a483-0d512f294f55/image.png" alt=""></p>
<hr>
<p>docker-compose.yml 파일에서 입력했던 내용 -&gt; DBeaver Connect Database에 입력</p>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/366b89dd-07c3-4ff8-9124-0e01b1cc62ba/image.png" alt=""></p>
<p>Driver = MySQL-Connetor-J (JDBC) 드라이버를 Test Connection을 통해 연결을 테스트할 시 드라이버가 존재하지 않으면 자동으로 해당 드라이버를 설치해줌</p>
<hr>
<h4 id="-publickeyretrieval-is-not-allowed-오류-발생">※ PublicKeyRetrieval is not allowed 오류 발생</h4>
<p>Driver properties의 allowPublicKeyRetrieval 값을 false-&gt;true로 수정 후
Test Connection 할 시 문제 해결</p>
<hr>
<h3 id="13-해당-폴더-내의-uv를-통한-가상환경-설정">1.3 해당 폴더 내의 uv를 통한 가상환경 설정</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/1f8f0fe1-b229-405e-bb59-a88303d5982c/image.png" alt=""></p>
<hr>
<pre><code class="language-python">PS C:\dev\study\Python\python01&gt; uv venv .venv --python 3.13 </code></pre>
<hr>
<p>위 명령어 실행 </p>
<br>

<p>&lt;코드 설명&gt;</p>
<pre><code>
uv = uv 로컬 가상환경을 생성
venv = 가상환경을 지칭
.venv = 해당 가상환경 이름 설정
--python 3.13 = 사용할 언어와 버전
</code></pre><hr>
<h3 id="-uv-python-환경-둘다-가상환경-진입-코드-동일">※ uv, python 환경 둘다 가상환경 진입 코드 동일</h3>
<pre><code class="language-python">PS C:\dev\study\Python\python01&gt; .\.venv\Scripts\activate</code></pre>
<hr>
<p>위 명령어 실행</p>
<br>
<코드 설명>

<pre><code>
.\.venv\Scripts\activate
.\ = 경로를 뒤에로 지정한다
Scripts = 앞에 지정된 경로에 스크립트를 생성
activate = 해당 스크립트 실행하여 가상환경에 진입한다.
</code></pre><h3 id="131-해당-폴더-내의-uv-가상환경-out">1.3.1 해당 폴더 내의 uv 가상환경 Out</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/0f2d61c4-a062-4d9a-a5ad-093c250a8c02/image.png" alt=""></p>
<hr>
<pre><code class="language-python">PS C:\dev\study\Python\python01&gt; deactivate  </code></pre>
<hr>
<p>위 명령어 실행</p>
<br>

<p>&lt;코드 설명&gt;</p>
<pre><code>
deactivate를 통해 가상환경 연결 종료
</code></pre><hr>
<h3 id="132-해당-폴더-내의-python-가상환경-생성">1.3.2 해당 폴더 내의 python 가상환경 생성</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/ae130500-3727-48a7-b5e0-8fb91180ada9/image.png" alt=""></p>
<hr>
<pre><code class="language-python">PS C:\dev\study\Python\python01&gt; py -3.13 -m venv .venv</code></pre>
<hr>
<p>위 명령어 실행</p>
<br>

<p>&lt;코드 설명&gt;</p>
<pre><code>
py -3.13 -m venv .venv = .venv라는 폴더의 python 로컬 가상환경을 생성
</code></pre><h3 id="133-uv-로-python-설치">1.3.3 uv 로 python 설치</h3>
<p><a href="https://docs.astral.sh/uv/guides/install-python/#automatic-python-downloads">uv로 python 설치 링크</a></p>
<hr>
<h3 id="14-py파일을-실행할-시-python-버전-지정-방식">1.4 py파일을 실행할 시 python 버전 지정 방식</h3>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/d6d7803f-04b6-42bc-a9f7-de9c1f851f2b/image.png" alt=""></p>
<p>해당 python 파일을 실행하기 전 가상환경에 진입하여 해당 버전으로 우측 하단에서 변경 해주어야 함 </p>
<hr>
<h3 id="15-jupyter-노트북-실행">1.5 jupyter 노트북 실행</h3>
<h4 id="151-uv-jupyter-노트북-설치">1.5.1 uv jupyter 노트북 설치</h4>
<pre><code>jupyter을 설치하기 위한 코드는 2가지가 존재함
</code></pre><pre><code class="language-python">(.venv) C:\dev\study\Python\python01&gt;uv pip install jupyter</code></pre>
<pre><code class="language-python">(.venv) C:\dev\study\Python\python01&gt;pip install jupyter</code></pre>
<hr>
<pre><code class="language-python">uv pip install jupyter</code></pre>
<p>2개의 코드 중 위에 코드가 훨씬 설치 속도가 빠름 </p>
<h5 id="＃-설치-후-ipynb-실행-화면">＃ 설치 후 ipynb 실행 화면</h5>
<p><img src="https://velog.velcdn.com/images/jungyu_l/post/6775dc55-ef6c-46f2-aea0-9f28a51ba908/image.png" alt=""></p>
]]></description>
        </item>
    </channel>
</rss>