<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>nana_bird.log</title>
        <link>https://velog.io/</link>
        <description>코딩공부블로그</description>
        <lastBuildDate>Mon, 20 Oct 2025 14:40:56 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>nana_bird.log</title>
            <url>https://velog.velcdn.com/images/nana_bird/profile/95eb2912-fe06-4184-838a-da3b939e3ed2/social_profile.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. nana_bird.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/nana_bird" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[메모어 20기 후기]]></title>
            <link>https://velog.io/@nana_bird/%EB%A9%94%EB%AA%A8%EC%96%B4-20%EA%B8%B0-%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@nana_bird/%EB%A9%94%EB%AA%A8%EC%96%B4-20%EA%B8%B0-%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Mon, 20 Oct 2025 14:40:56 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/nana_bird/post/778bdfb8-6479-4050-918f-362568a7a989/image.png" alt=""></p>
<h3 id="회고-모임-후기">회고 모임 후기</h3>
<p>러닝에 대해서 내가 얼마나 진심인지 알게되었다
사람들한테 얻은 인사이트가 좋았다</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ML 강의 10-12강 정리]]></title>
            <link>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-10-12%EA%B0%95-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-10-12%EA%B0%95-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Mon, 31 Jul 2023 09:07:37 GMT</pubDate>
            <description><![CDATA[<h2 id="chap4-logistic-regression">CHAP4 Logistic Regression</h2>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/bd7c954d-d865-4a9d-ad7b-159c05c7eaca/image.jpg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ML 강의 7-9강 정리]]></title>
            <link>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-7-9%EA%B0%95-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-7-9%EA%B0%95-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Fri, 28 Jul 2023 11:20:14 GMT</pubDate>
            <description><![CDATA[<h2 id="📌-ch-3--linear-models-for-regression-_-regularization-shrinkage-sparseness">📌 ch 3 . Linear Models for Regression _ Regularization, Shrinkage, Sparseness</h2>
<h3 id="ridge-regression">Ridge Regression</h3>
<blockquote>
</blockquote>
<h3 id="lasso">LASSO</h3>
<blockquote>
</blockquote>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/2ff45e53-8343-4237-9304-3e4a872bd664/image.jpeg" alt=""></p>
<h3 id="bias-variance-dilemma">Bias-Variance Dilemma</h3>
<blockquote>
</blockquote>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/21631a92-0daf-4486-bfa0-fd3e424ee407/image.jpeg" alt=""></p>
<h3 id="proximal-gradient-methodoptional">Proximal gradient method(optional)</h3>
<blockquote>
</blockquote>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/a77844ad-86e8-48b8-af55-9d53762294c6/image.jpeg" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ML 강의 4-6강 정리]]></title>
            <link>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-4-6%EA%B0%95-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-4-6%EA%B0%95-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Thu, 27 Jul 2023 07:35:24 GMT</pubDate>
            <description><![CDATA[<h2 id="📌-ch-2--machine-learning-for-regression_ols-and-mle">📌 ch 2 . Machine Learning for Regression_OLS and MLE</h2>
<h3 id="regression-and-linear-models">Regression and Linear models</h3>
<blockquote>
<h4 id="linear-regression">Linear Regression</h4>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/a1973280-8155-4546-91d6-3a0ffca73a8c/image.png" alt=""></p>
</blockquote>
<h4 id=""></h4>
<hr>
<h3 id="batch-methods">Batch methods</h3>
<blockquote>
<h4 id="ordinary-least-squaresols">Ordinary least squares(OLS)</h4>
<p> <img src="https://velog.velcdn.com/images/nana_bird/post/25331288-0baf-42fb-a56a-575edf3c20cc/image.png" alt="">
여기서 <img src="https://velog.velcdn.com/images/nana_bird/post/7cd79f17-f5c5-49db-9570-70a0542b26ba/image.png" alt="">
minimize 하는게 목표
<img src="https://velog.velcdn.com/images/nana_bird/post/0a2e0704-df21-40c3-aa17-e6ab3fbb41f1/image.png" alt="">
y : target bector
∅ : design matrix</p>
</blockquote>
<blockquote>
<h4 id="maximum-likelihood-estimates">Maximum likelihood estimates</h4>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/c1b58c77-c08a-4043-b660-835f1e5d40a8/image.png" alt=""></p>
</blockquote>
<hr>
<h3 id="sequential-methods">Sequential methods</h3>
<blockquote>
<h4 id="least-mean-squareslms">Least mean squares(LMS)</h4>
<p>gredient descent method의 하나임
<img src="https://velog.velcdn.com/images/nana_bird/post/58be3dfd-262c-4d36-913a-d16826767656/image.png" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/8353e863-99bc-48f5-bb84-dbb7d2f195c1/image.png" alt=""></p>
</blockquote>
<blockquote>
<h4 id="recursive-sequential-least-squares-rls">Recursive (sequential) least squares (RLS)</h4>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/192c22f5-beae-4b51-9cd5-f2fe738b2013/image.png" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/d2ddc9db-631a-4d1c-bf50-36762623b816/image.png" alt="">
(P_(n-1) ϕ<em>n)/(λ+ϕ_n^T P</em>(n-1) ϕ<em>n ) : constant stepsize
[y_n-ϕ_n^T w</em>(n-1)] : error</p>
</blockquote>
<hr>
<h2 id="📌-ch-3--linear-models-for-regression-_-regularization-shrinkage-sparseness">📌 ch 3 . Linear Models for Regression _ Regularization, Shrinkage, Sparseness</h2>
<h3 id="regularization">Regularization</h3>
<blockquote>
<h4 id="regularization-1">Regularization</h4>
<pre><code>목적 : improve the generalization of the learned model</code></pre><p>   <img src="https://velog.velcdn.com/images/nana_bird/post/8c735e41-d8a8-4b93-ab6c-4b2b47ac3e9a/image.jpeg" alt=""></p>
</blockquote>
<blockquote>
<h4 id="ridge-regression">Ridge Regression</h4>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/ea132c8c-ba3c-48b6-bdc2-b4263bd9cac1/image.jpeg" alt=""></p>
</blockquote>
<h3 id="추가적인-정리">추가적인 정리</h3>
<h4 id="batch-methods와-sequential-methods-차이">Batch methods와 Sequential methods 차이</h4>
<p>Batch methods는 가능한 모든 데이터를 사용해 모델을 찾지만 Sequential methods는 하나하나 들어올 때마다 모델을 업데이트함</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ML 강의 1-3강 정리]]></title>
            <link>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-1-3%EA%B0%95-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@nana_bird/ML-%EA%B0%95%EC%9D%98-1-3%EA%B0%95-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Tue, 25 Jul 2023 07:44:26 GMT</pubDate>
            <description><![CDATA[<h2 id="📌-ch-1--machine-learning">📌 ch 1 . Machine Learning</h2>
<h3 id="🧐-machine-learning이란">🧐 machine Learning이란</h3>
<blockquote>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/05a8e9ae-f739-4deb-8c5f-cd2ff5249699/image.jpeg" alt=""></p>
</blockquote>
<h3 id="key-ingredients-in-ml">Key ingredients in ML</h3>
<blockquote>
<ul>
<li>Data<ul>
<li>Structured or unstructed data</li>
<li>IID(Independent identically distributed) data or non-IID data</li>
</ul>
</li>
</ul>
</blockquote>
<ul>
<li>Model</li>
<li>Training(algorithm &amp; inference)<ul>
<li>Nonparametaric models</li>
<li>Parametric models</li>
</ul>
</li>
</ul>
<h3 id="🧐-algorithm-이란">🧐 Algorithm 이란</h3>
<blockquote>
<ol>
<li>task 주어지고</li>
<li>trainning experience 즉, data가 주어졌을때</li>
<li>a performance measure이 되는 것</li>
</ol>
</blockquote>
<h3 id="🧐-ml과-non-ml의-차이">🧐 ML과 NON-ML의 차이</h3>
<blockquote>
<p>Re Programming을 하는지 Re-Training을 하는지</p>
</blockquote>
<h3 id="🧐-machine-learning-taxonomy">🧐 Machine Learning Taxonomy</h3>
<blockquote>
<table>
<thead>
<tr>
<th></th>
<th>Feedback</th>
<th>Goal</th>
</tr>
</thead>
<tbody><tr>
<td>Supervised Learning</td>
<td>명시적인 피드백</td>
<td>Regression&amp;Classification</td>
</tr>
<tr>
<td>Unsupervised Learning</td>
<td>No feedback</td>
<td>Representation learning &amp; clustering</td>
</tr>
<tr>
<td>Reinforcement Learning</td>
<td>Evaluative feedback(시스템이 피드백을 제공)</td>
<td>sequential decision making</td>
</tr>
<tr>
<td>즉, self-supervised는 unsuperviesed에 포함</td>
<td></td>
<td></td>
</tr>
<tr>
<td>supervised : labeld data</td>
<td></td>
<td></td>
</tr>
<tr>
<td>unsupervised : unlabled data</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Reinforce learning : 다양한 상황을 스스로 학습함</td>
<td></td>
<td></td>
</tr>
</tbody></table>
</blockquote>
<hr>
<h2 id="📌-ch-2--machine-learning-for-regression">📌 ch 2 . Machine Learning for Regression</h2>
<h4 id="ols-and-mle">OLS and MLE</h4>
<h3 id="regression-and-linear-models">Regression and Linear models</h3>
<blockquote>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[오늘의 코딩공부_0703]]></title>
            <link>https://velog.io/@nana_bird/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%800703</link>
            <guid>https://velog.io/@nana_bird/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%800703</guid>
            <pubDate>Tue, 04 Jul 2023 05:58:08 GMT</pubDate>
            <description><![CDATA[<ol>
<li>Do it C언어 입문 책을 공부함</li>
</ol>
<ul>
<li>06 표준 출력 함수</li>
<li>07 연산자</li>
<li>08 조건문</li>
<li>09 반복문</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[특강(0627)]]></title>
            <link>https://velog.io/@nana_bird/%ED%8A%B9%EA%B0%950627</link>
            <guid>https://velog.io/@nana_bird/%ED%8A%B9%EA%B0%950627</guid>
            <pubDate>Tue, 27 Jun 2023 08:48:13 GMT</pubDate>
            <description><![CDATA[<p>sk telecom
ai 서비스사업부- ai blockchain, cloud computing
product maneger</p>
<p>올해 뜨는 기술을 연초에 발표함(2023)
작년대비 어떤 기술이 떴는지, 없어졌는지를 중심으로 보기</p>
<p>-ai&amp;data
-cloud
ai
-web 3.0(block chain)</p>
<p>Key Technologies #1 : Artificial intelligence
ai)machine learning)deep learning
machine learning - rule을 스스로 학습
deep learning- 특징을 자동 추출/학습 높은 성능 제공(대량의 데이터)</p>
<p>data science와 ai 의 차이
-ai는 인공지능을 인공적으로 구현 인간의 지능을 모방
-data science는 finding hidden insights from data하며 데이터에서 분석하고 가ㅣㅅ화하는 것
-datat engineering : data를 처리해 휴열적으로 compu infra 제공 기술, cloud 어쩌구 활용</p>
<p>ai가 많이 사용되는 분야</p>
<ol>
<li>이미지
    영상/보안 플랫폼</li>
<li>자연어 처리</li>
</ol>
<p>-cloud
물리 보유 자원 없이 it 자원/기술을 서비스로 제공하는 컴퓨팅 환경</p>
<p>-기본적인 지식을 갖추는 것이 중요
=&gt; 기본수학,통계공부</p>
<p>역으로 희망하는 회사별 채용 공고의 우대 언어나 역량을 살펴 보는 것이 좋은 방법</p>
<p>커뮤니케이션 스킬, 배우려는 열정
스터디를 해랏-새로운 언어가 나오면 논문,스터디</p>
<p>어떤 분야에 관심이 있는지 생각해 보기
-앱,프론트,백,데이터,자연어처리
공부의 흔적을 남기기
-깃허브-히스토리(취업용인지 오랫동안 해왔는지), 기술블로그,포트폴리오
코딩테스트
-프로그래머스,백준 연습문제</p>
<p>실제로 기여, 과장아닌 과장
<img src="https://velog.velcdn.com/images/nana_bird/post/964011d7-ff3b-4cc4-9b8c-81602deaa957/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[융프1 실습과제_5/25]]></title>
            <link>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C525</link>
            <guid>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C525</guid>
            <pubDate>Wed, 07 Jun 2023 22:13:19 GMT</pubDate>
            <description><![CDATA[<h3 id="복습">복습</h3>
<p>랜덤함수,카운트함수 연습
코드타이핑 : 6/7</p>
<hr>
<h3 id="문제">문제</h3>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/0d82984e-63b0-4c61-b6ff-e611a0fe66f3/image.jpeg" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/581d4fe5-7663-4597-b2e9-3d110182e6fd/image.jpeg" alt=""></p>
<hr>
<h3 id="정답">정답</h3>
<p>Main클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Main {

    public static void main(String[] args) {
        System.out.println(&quot;Java API 실습과제&quot;);
        Quiz quiz=new Quiz();

        //1번 : 도로 제한속도 60km, 70, 80, 100 중 하나
        System.out.println
        (&quot;제한속도= &quot;+quiz.speed_limit()+&quot;km&quot;);

        //2번 : he의 개수 출력
        String source = &quot;The old man and the sea&quot;;
        System.out.println
        (quiz.count(source, &quot;he&quot;));

    }

}</code></pre>
<p>quiz 클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Quiz {
    //1번
    int speed_limit() {
        int n=(int)(Math.random()*4); // 0 * 4 &lt; n &lt; 1 * 4
        switch(n) {
        case 0:
            return 60;
        case 1:
            return 70;
        case 2:
            return 80;
        case 3:
            return 100;
        }
        return 0;
    }

    //2번
    int count(String src, String hunt) {
        int cnt=0;
        int cut=hunt.length();
        for(int i=0; i&lt;(src.length()-cut+1); i++) {
            //if(src.substring(i, i+cut).compareTo(hunt)==0)
            if(src.substring(i,i+cut).equals(hunt))
                cnt++;
    }
        return cnt;
}
}
</code></pre>
<hr>
<h3 id="공부">공부</h3>
<p>int n=(int)(Math.random()*4); 코드 분석
-&gt; Math.random() 0이상 1미만의 임의의 실수 반환
-&gt;(int)는 형변환 연산자로 실수를 정수로 변환=&gt; 0이상 4미만의 임의의 실수가 나옴</p>
<p>if(src.substring(i,i+cut).equals(hunt)); 코드 분석
-&gt;src.substring(i,i+cut)은 src 문자열에서 인덱스 i부터 i+cut-1까지의 부분 문자열 추출
-&gt;equals()는 앞서 추출한 문자열과 뒤 문자열이 동일한지 보아 결과를 논리값으로 반환</p>
<p>profile</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[융프1 실습과제_6/1]]></title>
            <link>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C61</link>
            <guid>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C61</guid>
            <pubDate>Wed, 07 Jun 2023 21:32:58 GMT</pubDate>
            <description><![CDATA[<h3 id="복습">복습</h3>
<p>코드타이핑 6/8</p>
<hr>
<h3 id="문제">문제</h3>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/3203fbd3-de70-4290-93c7-b92b2b35435e/image.jpeg" alt=""></p>
<hr>
<h3 id="정답">정답</h3>
<p>메인클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(&quot;ArrList&lt;E&gt;클래스 설계&quot;);
        ArrList&lt;Integer&gt; arr = new ArrList&lt;Integer&gt;();
        arr.add(5);
        arr.add(4);
        arr.add(-1);

        System.out.println(&quot;ArrList요소수: &quot; + arr.size());
        for (int i = 0; i &lt; arr.size(); i++) {
            System.out.println(arr.get(i));
        }
        System.out.println();

        arr.add(2, 100);
        arr.show();

        arr.remove(1);
        arr.show();
    }

}
</code></pre>
<p>ArrList클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class ArrList&lt;E&gt; {
    private E[] a;
    private int size;

    ArrList() {
        a = (E[]) new Object[50];
        size = 0;
    }

    public void add(E newItem) {
        a[size++] = newItem;
    }

    E get(int pos) {
        return a[pos];
    }

    public int size() {
        return size;
    }

    public void add(int pos, E newItem) {
        for (int i = size - 1; i &gt;= pos; i--)
            a[i + 1] = a[i];
        a[pos] = newItem;
        size++;
    }

    public void remove(int pos) {
        for (int i = pos; i &lt; size - 1; i++) {
            a[i] = a[i + 1];
        }
        size--;
    }

    public void show() {
        for (int i = 0; i &lt; size; i++) {
            System.out.print(a[i] + &quot; &quot;);
        }
        System.err.println();
    }

}</code></pre>
<hr>
<h3 id="공부">공부</h3>
<ul>
<li><p>위 코드는 ArrList<E>라는 제네릭 컬렉션 클래스를 구현한거임 제네릭을 사용해 클래스를 정의함으로써, ArrList클래스로 다양한 타입의 요소를 저장할 수 있는 컬렉션을 생성함</p>
</li>
<li><p>private E[] a;
-&gt; Arrlist클래스 내부에 E타입 배열 a가 선언</p>
</li>
<li><p>for (int i = size - 1; i &gt;= pos; i--): -&gt; size - 1부터 시작하여 pos까지 역순으로 반복하는 반복문입니다. 이 반복문은 배열의 요소들을 한 칸씩 오른쪽으로 이동시키는 역할을 합니다. 이렇게 함으로써 새로운 요소를 삽입할 위치를 확보합</p>
</li>
<li><blockquote>
<p> a[i + 1] = a[i];: 반복문 내부에서 현재 인덱스 i의 값을 다음 인덱스 i + 1로 이동시킵니다. 이렇게 함으로써 배열의 요소들이 한 칸씩 오른쪽으로 이동</p>
</blockquote>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[융프1 실습과제_5/18]]></title>
            <link>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C518</link>
            <guid>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C518</guid>
            <pubDate>Wed, 07 Jun 2023 05:42:42 GMT</pubDate>
            <description><![CDATA[<h3 id="복습">복습</h3>
<p>공부내용 : 상속
코드타이핑 6/7</p>
<hr>
<h3 id="문제">문제</h3>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/bd4af691-22d5-4e84-a21c-79d42626a4db/image.jpeg" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/674b7a2f-c19f-47ae-ab26-544861a201ed/image.jpeg" alt=""></p>
<hr>
<h3 id="코드">코드</h3>
<p>메인클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(&quot;1. Animal Class&quot;);
        Animal Tiger=new Animal(&quot;토끼&quot;);
        System.out.println(&quot;먹은 것 :&quot;+Tiger.get_feed());

        System.out.println(&quot;\n2. Fish Class&quot;);
        Fish Shark = new Fish(&quot;참치&quot;, 30);
    Shark.show();
        }

}
</code></pre>
<p>Animal class</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Animal {
    private String feed;
    Animal(String fd){
        feed=fd;
    }
    String get_feed() {
        return feed;
    }
}
</code></pre>
<p>Fish class</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Fish extends Animal {
    private int depth;
    Fish(String fd, int dt){
        super(fd);
        depth=dt;
    }

    void show() {
        System.out.println(&quot;먹은 것&quot;+get_feed()+&quot;,현재 수심: &quot;+depth+&quot;m&quot;);
    }
}
</code></pre>
<hr>
<h3 id="공부">공부</h3>
<ul>
<li>super : 부모를 부르는 예약어</li>
<li><blockquote>
<p>상위 클래스 생성자, 맴버변수, 메서드를 참조함</p>
</blockquote>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[융프1 실습과제_5/11]]></title>
            <link>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C511</link>
            <guid>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C511</guid>
            <pubDate>Wed, 07 Jun 2023 05:16:04 GMT</pubDate>
            <description><![CDATA[<h3 id="복습">복습</h3>
<p>[생성자 오버로딩, 배열이 들어간 클래스]
코드타이핑 6/7
안보고 타이핑 </p>
<hr>
<h3 id="문제">문제</h3>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/5e6a9b81-c2b4-4595-830e-8494c6c6f934/image.jpeg" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/5776b1da-e0ff-4d4d-a01b-c420fa15b63e/image.jpeg" alt=""></p>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/d0eb7e09-72e4-4e95-8d35-e2adb270abf6/image.jpeg" alt=""></p>
<hr>
<h3 id="코드">코드</h3>
<p>Main class</p>
<pre><code class="language-java">package do_it_java_ch2;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int mode = 5, size = 0;
        King[] Joseon = new King[30]; // King 객체배열

        menu();

        Scanner sc = new Scanner(System.in);
        while (mode != 0) {
            System.out.println(&quot;\n&gt; &quot;);
            mode = sc.nextInt();
            switch (mode) {
            case 0:
                System.out.println(&quot;종료되었습니다.&quot;);
                break;
            case 1:
                System.out.print(&quot;왕의 이름 &gt; &quot;);
                String name = sc.next();
                System.out.print(&quot;왕의 순서 &gt; &quot;);
                int order = sc.nextInt();
                Joseon[size++] = new King(name, order);
                break;
            case 2:
                for(int i=0; i&lt;size; i++) {
                    Joseon[i].show();
                }
                break;
            case 3:
                menu();
                break;

            }
        }
        sc.close();

    }

    private static void menu() {
        System.out.println(&quot; [ menu ] &quot;);
        System.out.println(&quot; 0 : exit &quot;);
        System.out.println(&quot; 1 : input(King Info.) &quot;);
        System.out.println(&quot; 2 : show (King List)&quot;);
        System.out.println(&quot; 3 : menu &quot;);

    }

}</code></pre>
<p>King class</p>
<pre><code class="language-java">package do_it_java_ch2;

public class King {
    private String name;
    private int order;
    King(String nm, int od){
        name=nm;
        order=od;
    }

    void show() {
        System.out.println(&quot;조선&quot;+order+&quot;대왕&quot;+name);
    }

}
</code></pre>
<hr>
<h3 id="공부">공부</h3>
<ul>
<li><p>배열 만드는 방법
클래스명 [] 인스턴스 명= new 클래스명 [객체크기]</p>
<ul>
<li><p>size++ 의미란?
size를 사용하고 다음으로 크기를 늘려라</p>
</li>
<li><p>menu클래스는 public,protected default모두 가능함</p>
</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[융프1 실습과제_5/4]]></title>
            <link>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C54</link>
            <guid>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C54</guid>
            <pubDate>Tue, 06 Jun 2023 13:31:50 GMT</pubDate>
            <description><![CDATA[<h3 id="복습">복습</h3>
<ul>
<li>코드타이핑 6/6</li>
</ul>
<hr>
<h3 id="문제">문제</h3>
<p>Message Passing 연습
<img src="https://velog.velcdn.com/images/nana_bird/post/8a183247-089e-45b2-a9fa-1af84b727d94/image.jpeg" alt=""></p>
<hr>
<h3 id="정답">정답</h3>
<p>메인클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Main {

    public static void main(String[] args) {
        System.out.println(&quot;자동차와 주유소&quot;);

        Car GM5= new Car();

        GasStation GS=new GasStation();

        GM5.set_gas(10);
        GS.set_gas(500);
        GM5.show();
        GS.show();
        GM5.fill_gas(50,GS);
        GM5.show();
        GS.show();

        GM5.fill_gas(460,GS);

    }

}</code></pre>
<p>차클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Car {
    private int gas; //필드 private로 구현

    void set_gas(int g) {
        gas=g;
    }
    void show() {
        System.out.println(&quot;현재 주유량: &quot;+gas+&quot;L&quot;);

    }
    void fill_gas(int g, GasStation st) { //메세지패싱 구현
        if(g==st.refuel(g))               // 메소드 호출 필
            gas +=g;
        else
            System.out.println(&quot;주유실패&quot;);
    }
}</code></pre>
<p>주유소클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class GasStation {
    private int gas; // 필드 private으로 구현

    void set_gas(int g) {
        gas = g;
    }

    void show() {
        System.out.println(&quot;현재 재고량:&quot; + gas + &quot;L&quot;);
    }

    int refuel(int g) {
        if (gas &lt; g) {
            return -1;
        }
        gas -= g;
        return g;
    }

}
</code></pre>
<hr>
<h3 id="공부">공부</h3>
<ul>
<li>1이 아니라 &quot;L&quot;였다.</li>
<li>메세지 패싱을 어떤 방식으로 하는 지 익히기(안보고 타이핑 몇 번 해봐야될듯)</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[융프1 실습과제_4/27]]></title>
            <link>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C427</link>
            <guid>https://velog.io/@nana_bird/%EC%9C%B5%ED%94%841-%EC%8B%A4%EC%8A%B5%EA%B3%BC%EC%A0%9C427</guid>
            <pubDate>Tue, 06 Jun 2023 12:31:00 GMT</pubDate>
            <description><![CDATA[<h3 id="복습">복습</h3>
<ul>
<li>코드타이핑 6/6</li>
<li>복습</li>
</ul>
<hr>
<h3 id="문제">문제</h3>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/df2d55a9-0086-4b70-89a8-4ff33de3c327/image.jpeg" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/f45a7dd3-23e8-4ff4-a3bb-b3cd6f97a177/image.jpeg" alt="">
<img src="https://velog.velcdn.com/images/nana_bird/post/59959d87-41df-4b8e-a230-86506606907d/image.jpeg" alt=""></p>
<hr>
<h3 id="정답코드">정답코드</h3>
<p>메인 클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Example ex=new Example();

        // 1번
        int a=5;
        System.out.print(&quot;1번문제= &quot;);
        if(ex.odd(a))
            System.out.println(&quot;홀수&quot;);
        else
            System.out.println(&quot;짝수&quot;);

        // 2번
        char c = &#39;s&#39;;
        c=next(c);
        System.out.println(&quot;2번문제= &quot; +c);

        // 3번
        int[]data= {10,5,8,20,7,3,30,25,15};
        System.out.println(&quot;3번문제= &quot;+ ex.min(data));

    }

    //2번
    static char next(char ch) {
        return (char)(ch+1);
    }

}
</code></pre>
<p>메소드 클래스</p>
<pre><code class="language-java">package do_it_java_ch2;

public class Example {

    //1번
    boolean odd(int n) {
        if(n%2==1)
            return true;
        else
            return false;
    }

    //3번
    int min(int[] dat) {
        int min=dat[0];
        for(int i=1; i&lt;dat.length; i++) {
            if(dat[i]&lt;min)
                min=dat[i];
        }
        return min;
    }

}
</code></pre>
<hr>
<h3 id="공부">공부</h3>
<ul>
<li>2번 문제만 static인 이유는?
인스턴스를 생성하지 않고도 바로 클래스를 만들 수 있는 것임</li>
<li>if문이 조건문에 true/false가 들어와도 되는거니?
true일때 if문을 실행하고 false면 실행하지 않아</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[06.05(금)]]></title>
            <link>https://velog.io/@nana_bird/06.05%EA%B8%88</link>
            <guid>https://velog.io/@nana_bird/06.05%EA%B8%88</guid>
            <pubDate>Tue, 06 Jun 2023 10:35:18 GMT</pubDate>
            <description><![CDATA[<ol>
<li>DO it 자바 공부</li>
</ol>
<h4 id="기본-개념-정리">기본 개념 정리</h4>
<p>객체 : 객체지향 프로그램의 대상, 생성된 인스턴스
클래스 : 객체를 프로그래밍 하기 위해 코드로 만든 상태
인스턴스 : 클래스가 메모리에 생성된 상태
맴버변수 : 클래스의 속성, 특성(수업에서는 필드라 부름)
메서드 : 맴버 변수를 이용해 클래스 기능을 구현
참조변수 : 메모리에 생성된 인스턴스를 가리키는 변수
참조값 : 생성된 인스턴스의 메모리 주소 값</p>
<h4 id="클래스-만들고-실행하는-과정은">클래스 만들고 실행하는 과정은?</h4>
<p>클래스형 변수이름 = new 생성자
이때, 변수이름을 참조변수라고도 하는데 인스턴스를 가리킴</p>
<h4 id="인스턴스">인스턴스</h4>
<p>인스턴스란 클래스가 메모리 공간에 생성된 형태
메인코드에서 사용될 때는 
참조변수.맴버변수
참조변수.메서드</p>
<h4 id="디폴트-생성자">디폴트 생성자</h4>
<p>main class에서
person personLee = new person();
이런 코드가 있고
person class에서
public person(String pname){
name=pname;
}
이라는 코드가 있다고 하자
이때 오류가 발생한다.</p>
<p>오류 해결하기 위해서는</p>
<ol>
<li>매개변수가 있는 생성자로 호출한다.</li>
<li>디폴트 생성자를 person class에 추가로 구현한다.
ex) public person(){}</li>
</ol>
<h4 id="접근제어자">접근제어자</h4>
<p>예약어의 일종
private 변수 선언시 외부 클래스에서 접근 불가
-&gt; public 매서드 get() set() 사용하기
get()은 값을 가져오고 set()은 값을 지정함
(이때, source-generate getters and setters로 자동으로 만들 수 있음)</p>
<ul>
<li>접근 제어자 정리
public- 외부 클래스 어디에서나
protected-같은 패키지 내부 상속관계 클래스에서만
아무것도없을때-default 같은 패키지 내부에서만
private-같은 클래스 내부에서만</li>
</ul>
<h4 id="this-예약어">this 예약어</h4>
<p>인스턴스를 가리킨다고 보면됨</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[논문 과제]]></title>
            <link>https://velog.io/@nana_bird/%EB%85%BC%EB%AC%B8-%EA%B3%BC%EC%A0%9C</link>
            <guid>https://velog.io/@nana_bird/%EB%85%BC%EB%AC%B8-%EA%B3%BC%EC%A0%9C</guid>
            <pubDate>Fri, 02 Jun 2023 02:11:03 GMT</pubDate>
            <description><![CDATA[<h2 id="메인코드">메인코드</h2>
<pre><code class="language-python">import numpy as np
import math
import cv2


# 감마 보정 함수
def estimate_optimal_gamma(img, std, r):
    s = (img ** r)
    up = s - std
    down = s * np.log1p(img)

    optimal_r = r - (up / down)
    if (abs(r - optimal_r) &lt; 0.0000001).all:
        return optimal_r
    else:
        estimate_optimal_gamma(img, std, optimal_r)


img = cv2.imread(&#39;chair.png&#39;)
cv2.imshow(&#39;original&#39;,img)

height, width, channel = img.shape

B = img[..., 0]
G = img[..., 1]
R = img[..., 2]
Y = np.zeros((height, width), dtype=np.float64)

# A.휘도 정규화

for x in range(height):
    for y in range(width):
        Y[x][y] = (0.299 * R[x][y] + 0.587 * G[x][y] + 0.114 * B[x][y])

# &#39;Y&#39; 휘도 정규화
MAX = max(map(max, Y))
for x in range(height):
    for y in range(width):
        Y[x][y] = math.log((Y[x][y] + 1), MAX)

# B. 감마보정
bright = np.zeros((height, width), dtype=np.float64)
dark = np.zeros((height, width), dtype=np.float64)

# 밝은영역 어두운 영역 나누기

for x in range(height):
    for y in range(width):
        if Y[x][y] &gt; 0.5:
            dark[x][y] = Y[x][y]
        else:
            bright[x][y] = Y[x][y]

# 표준편차
dark_std = np.std(dark)
bright_std = 1 - np.std(dark)

# 감마보정 적용
dark_r = estimate_optimal_gamma(dark, dark_std, 1.0)
bright_r = estimate_optimal_gamma(bright, bright_std, 1.0)
&quot;&quot;&quot;
print(dark_r)
print(bright_r)
&quot;&quot;&quot;

# 이미지 합성

w = np.zeros((height, width), dtype=np.float64)
Y_out = np.zeros((height, width), dtype=np.float64)

for x in range(height):
    for y in range(width):
        w[x][y] = math.exp(-(bright[x][y] ** 2) / (2 * (0.5) ** 2))
        Y_out[x][y] = (
                    (w[x][y]) * (((dark[x][y] ** dark_r[x][y]))) + ((1 - w[x][y]) * ((bright[x][y] ** bright_r[x][y]))))

# 색 복원

for x in range(height):
    for y in range(width):
        R[x][y] = Y_out[x][y] * np.power((R[x][y] / Y[x][y]), (1 - np.tanh(bright[x][y])))
        G[x][y] = Y_out[x][y] * np.power((G[x][y] / Y[x][y]), (1 - np.tanh(bright[x][y])))
        B[x][y] = Y_out[x][y] * np.power((B[x][y] / Y[x][y]), (1 - np.tanh(bright[x][y])))

result = (np.dstack((B, G, R)).astype(np.uint8))

cv2.imshow(&#39;Output Image&#39;, result)

cv2.waitKey(0)</code></pre>
<h2 id="psnr-ssim-비교코드">PSNR SSIM 비교코드</h2>
<p>코드</p>
<pre><code class="language-python">import cv2
import numpy as np
from skimage.metrics import structural_similarity as ssim

def calculate_psnr(img1, img2):
    mse = np.mean((img1 - img2) ** 2)
    if mse == 0:
        return float(&#39;inf&#39;)
    max_pixel = 255.0
    psnr = 20 * np.log10(max_pixel / np.sqrt(mse))
    return psnr

def calculate_ssim(img1, img2):
    return ssim(img1, img2, multichannel=True)

# 이미지 로드
low_image = cv2.imread(&#39;chair.png&#39;)
restored_image = cv2.imread(&#39;restored_image.png&#39;)


# 이미지를 그레이스케일로 변환
low_image_gray = cv2.cvtColor(low_image, cv2.COLOR_BGR2GRAY)
restored_image_gray = cv2.cvtColor(restored_image, cv2.COLOR_BGR2GRAY)

# PSNR 계산
psnr = calculate_psnr(low_image_gray, restored_image_gray)
print(f&quot;PSNR: {psnr} dB&quot;)

# SSIM 계산
ssim_score = calculate_ssim(low_image_gray, restored_image_gray)
print(f&quot;SSIM: {ssim_score}&quot;)</code></pre>
<h3 id="input이미지와-내가-짠-코드-output_image-사진과-값-비교">input이미지와 내가 짠 코드 output_image 사진과 값 비교</h3>
<p>결과 이미지
<img src="https://velog.velcdn.com/images/nana_bird/post/c1754744-3170-4f24-aa41-e8a32931de5e/image.png" alt=""></p>
<p>결과
PSNR: 30.782334103567116 dB
SSIM: 0.5385916414339124</p>
<h3 id="input이미지와-논문-table_average-값-비교">input이미지와 논문 Table_average 값 비교</h3>
<p>결과
PSNR: 30.240407956672627 dB
SSIM: 0.6787482216085202</p>
<h3 id="input이미지와-논문-table_median-값-비교">input이미지와 논문 Table_median 값 비교</h3>
<p>PSNR: 30.36245081307683 dB
SSIM: 0.63387279567819</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[오늘의 코딩공부_5.31]]></title>
            <link>https://velog.io/@nana_bird/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%805.31</link>
            <guid>https://velog.io/@nana_bird/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%805.31</guid>
            <pubDate>Wed, 31 May 2023 10:26:34 GMT</pubDate>
            <description><![CDATA[<p>-인공지능 수학</p>
<p>1.sse,예측값
2.design Matrix
3.gradient descent</p>
<p>-자구알(코드보기...ㅎ)
1.병합정렬이란?
2.퀵정렬이란?</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[PSNR,SSIM이란?]]></title>
            <link>https://velog.io/@nana_bird/PSNRSSIM%EC%9D%B4%EB%9E%80</link>
            <guid>https://velog.io/@nana_bird/PSNRSSIM%EC%9D%B4%EB%9E%80</guid>
            <pubDate>Wed, 31 May 2023 10:13:33 GMT</pubDate>
            <description><![CDATA[<p>해상도가 얼마나 좋은지 연구에서 사용되는 정량적인 평가 척도</p>
<h4 id="msemean-square-error">MSE(Mean Square Error)</h4>
<p>평균제곱오차
오차의 제곱에 대한 평균을 구한 값
값이 작을 수록 오차가 작은것=&gt; 정확성이 높음</p>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/83202464-fa55-4c78-9c3c-707abbff35f5/image.png" alt=""></p>
<h4 id="psnrpeak-signal-to-noise-ratio">PSNR(Peak Signal-to-Noise Ratio)</h4>
<p>영상내 신호가 가질 수 있는 최대 신호에 대한 잡음(noise)의 비율
일반적으로 영상을 압축했을 때 화질이 얼마나 손실되었는지를 평가하는 목적
db(데시벨)단위 사용
PSNR 수치가 높을수록 원본 영상에 비해 손실이 적음(높을 수록 좋음)
<img src="https://velog.velcdn.com/images/nana_bird/post/eef1410d-aff8-4330-b7ef-505e845a527e/image.png" alt=""></p>
<p>s=영상에서 픽셀의 최댓값
8bit unsigned integer일때 s=255
double,float type s=1</p>
<p>한계 </p>
<ol>
<li>인간이 시각적으로 느끼는 품질 차이를 표현한 방법이 아님</li>
<li>MSE=0 일때, PSNR 정의 불가</li>
</ol>
<h4 id="ssimstructural-similarity-index-map">SSIM(Structural SImilarity Index Map)</h4>
<p>PSNR과 다르게 수치적인 에러가 아닌 인간의 시각적 화질 차이를 평가하기 위해 고안된 방법</p>
<p>영상의 구조 정보를 고려해 얼마나 구조 정보를 변화시키지 않았는지를 계산
영상에 대한 SSIM값이 높을수록 원본 영상의 품질에 가깝다는 의미
즉, 높을수록 좋음</p>
<p>Luminance(휘도),Constrast(대비),Structural(구조)로 품질 평가</p>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/731fe633-8b36-4f92-95ce-6f770a5e90cb/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/nana_bird/post/5bf6fda3-e523-4adc-bec2-f55c02807ce7/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[생활속 지혜]]></title>
            <link>https://velog.io/@nana_bird/%EC%83%9D%ED%99%9C%EC%86%8D-%EC%A7%80%ED%98%9C</link>
            <guid>https://velog.io/@nana_bird/%EC%83%9D%ED%99%9C%EC%86%8D-%EC%A7%80%ED%98%9C</guid>
            <pubDate>Thu, 11 May 2023 05:51:35 GMT</pubDate>
            <description><![CDATA[<h3 id="실수로-창-닫았을때">실수로 창 닫았을때</h3>
<p>command shift T
그전에 닫았던 창 띄어줌</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[오늘의 코딩공부_5.02(화)]]></title>
            <link>https://velog.io/@nana_bird/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%805.02%ED%99%94</link>
            <guid>https://velog.io/@nana_bird/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%805.02%ED%99%94</guid>
            <pubDate>Tue, 02 May 2023 05:46:42 GMT</pubDate>
            <description><![CDATA[<p>백준</p>
<h3 id="10952번">10952번</h3>
<p>내코드</p>
<pre><code class="language-java">import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);

        int a = 1;
        int b = 1;

        while (a != 0 &amp;&amp; b != 0) {
            a = sc.nextInt();
            b = sc.nextInt();

            if (a != 0 &amp;&amp; b != 0) {
                System.out.println(a + b);
            } else {

            }

        }

    }

}</code></pre>
<p>다른 코드</p>
<pre><code class="language-java">import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true) {
            int a = sc.nextInt()+sc.nextInt();
            if(a == 0) return;
            System.out.println(a);
        }
    }
}</code></pre>
<p>공부
-while return하면 해당루프와 루프를 감싸고 있던 메서드까지 종료</p>
<h3 id="10951번-❌">10951번 ❌</h3>
<p>공부
-EOF=end of file을 의미
데이터 소스로부터 더 이상 읽을 데이터가 없을때
알고리즘 문제 풀때는 주로 입력값을 얼마나 받을지 명시하지 않을 경우 사용</p>
<ol>
<li>scanner 이용하기
Scanner scan = new Scanner(System.in);</li>
</ol>
<p>while(scan.hasNext()) {
  System.out.println(scan.nextLine());
}
2.bufferedreader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = &quot;&quot;;</p>
<p>while((input = br.readLine()) != null) {
  // 이후 로직 전개.
}
읽은 값이 null이되면 반복문을 종료</p>
<h3 id="15552번-❌">15552번 ❌</h3>
<p>정답코드</p>
<pre><code class="language-java">package 자료구조이해;

import java.io.*;
class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int n = Integer.parseInt(bf.readLine());
        for(int i = 0; i &lt; n; i++){
            String s = bf.readLine();
            int a = Integer.parseInt(s.split(&quot; &quot;)[0]);
            int b = Integer.parseInt(s.split(&quot; &quot;)[1]);
            bw.write(a+b+&quot;\n&quot;);
        }
        bw.flush();
    }
}</code></pre>
<p>공부
-BufferReader와 Bufferedwriter 사용법</p>
<p>사용하는 이유
많은 양의 데이터 처리할 때 유리</p>
<p>단점 
BuffererdReader은 Enter만 경계로 인식하고 받은 데이터가 String으로 고정되기에 입력받은 데이터를 가공하는 작업이 필요</p>
<p>BufferedReader 사용법</p>
<pre><code class="language-java">BufferedReader bf= new BufferedReader(new InputStreamReader (System.in));
String s = bf.readLine();
int i = Integer.parseInt(bf.readLine());</code></pre>
<p>주의할 점
readLine() 사용시 리턴값이 string으로 고정되기에 다른 타입 입력은 형변환 필수
예외처리 필요 throwsIOException 이용함</p>
<pre><code class="language-java">StringTokenizer st = new StringTokenizer(s);//StringTokenizer인자 값에 입력 문자열을 넣음
int a=Integer.parseInt(st.nextToken());//첫번째 호출
int b=Integer.parseInt(st.nextToken());//두번째 호출

String array[]=s.split(&quot;&quot;);</code></pre>
<p>BufferedWriter 사용법</p>
<pre><code class="language-java">BufferedWritter bw=new BufferedWritter(new OutputStreamWriter(System.out)); // 할당된 버퍼에 값 넣어주기
String s=&quot;abcdefg&quot;//출력할 문자열
bw.write(s+&quot;\n&quot;)//버퍼에 있는 값 전부 출력
bw.flush();//남아있는 데이터를 모두 출력
bw.close();// 스트림 닫음</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[워드 너 가끔 어렵다,,🥲]]></title>
            <link>https://velog.io/@nana_bird/%EC%9B%8C%EB%93%9C-%EB%84%88-%EA%B0%80%EB%81%94-%EC%96%B4%EB%A0%B5%EB%8B%A4</link>
            <guid>https://velog.io/@nana_bird/%EC%9B%8C%EB%93%9C-%EB%84%88-%EA%B0%80%EB%81%94-%EC%96%B4%EB%A0%B5%EB%8B%A4</guid>
            <pubDate>Sun, 30 Apr 2023 04:41:27 GMT</pubDate>
            <description><![CDATA[<h3 id="워드에서-영어-첫-글자가-대문자-되는거-없애는-방법">워드에서 영어 첫 글자가 대문자 되는거 없애는 방법</h3>
<p>파일-옵션-언어교정-자동고침옵션에서 바꾸기</p>
]]></description>
        </item>
    </channel>
</rss>