<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Black.Dev.log</title>
        <link>https://velog.io/</link>
        <description>Back-end Developer</description>
        <lastBuildDate>Tue, 23 Nov 2021 08:36:31 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>Black.Dev.log</title>
            <url>https://images.velog.io/images/baobab_man/profile/c548d625-db83-4886-845f-7975bf1d15e8/cfee51e23f7f4a7fa0bebab8d08417c9_1585617357_5544.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. Black.Dev.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/baobab_man" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[싱글톤 패턴(Singleton)이란 ?]]></title>
            <link>https://velog.io/@baobab_man/%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4Singleton</link>
            <guid>https://velog.io/@baobab_man/%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4Singleton</guid>
            <pubDate>Tue, 23 Nov 2021 08:36:31 GMT</pubDate>
            <description><![CDATA[<h3 id="java에서의-싱글톤-패턴">Java에서의 싱글톤 패턴</h3>
<blockquote>
<p>Singleton 패턴은 자바에서 많이 사용한다.
싱글톤 패턴이란 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미한다.
즉, 생성자의 호출이 반복적으로 이뤄져도 실제로 생성되는 객체는 최초 생성된 객체를 반환 해주는 것이다.</p>
</blockquote>
<pre><code class="language-java">public class SingleTon {
    //Instance
    private static SingleTon singleTon = new SingleTon();

    //private construct
    private SingleTon() {}

    public static SingleTon getSingleTon() {
        return singleTon;
    }
}</code></pre>
<blockquote>
<p>위 코드에서는 singleTon이라는 전역 변수를 선언하는데, 
static을 줌으로써 인스턴스화 하지 않고 사용할 수 있게 했다. 
하지만 접근 제한자가 private로 되어 있어, 직접 접근은 불가능하다.
또한 생성자도 private으로 되어 있어 new를 통한 객체 생성도 불가능하다.
결국 getSingleTon 메서드를 통해서 해당 인스턴스를 얻을 수 있게 된다.</p>
</blockquote>
<h3 id="싱글톤-패턴을-사용하는-이유">싱글톤 패턴을 사용하는 이유</h3>
<blockquote>
<p>위에서도 언급된 바와 같이 한번의 객체 생성으로 재사용이 가능하기 때문에 메모리 낭비를 방지할 수 있다.
또한 싱글톤으로 생성된 객체는 무조건 한번 생성으로 전역성을 띄기에 다른 객체와 공유가 용이하다.</p>
</blockquote>
<h3 id="싱글톤-패턴의-문제점">싱글톤 패턴의 문제점</h3>
<blockquote>
<p>싱글톤도 위에서 언급된 것 처럼 전역성을 띄면서 다른 객체와 공통으로 사용하는 경우와 같은 몇 가지 케이스에서만 사용할 때 효율적이며 그 외에는 문제점이 생길 수 있다.
일단 싱글톤으로 만든 객체의 역할이 간단한 것이 아닌 역할이 복잡한 경우라면 해당 싱글톤 객체를 사용하는 다른 객체간의 결함도가 높아져서 객체 지향 설계 원칙에 어긋나게 된다. (open-closed)
또한 해당 싱글톤 객체를 수정할 경우 싱글톤 객체를 사용하는 곳에서 사이드 이팩트 발생 확률이 생기게 되며, 멀티 쓰래드 환경에서 동기화 처리 문제 등이 생기게 된다.</p>
</blockquote>
<h3 id="싱글톤-패턴-구현">싱글톤 패턴 구현</h3>
<h3 id="java와-spring의-차이점">Java와 Spring의 차이점</h3>
<blockquote>
<p>자바와 Spring에서의 싱글톤 차이점이라면, 싱글톤 객체의 생명주기가 다르다.
또한 자바에서 공유 범위는 Class loader 기준이지만, Spring에서는 ApplicationContext가 기준이 된다.</p>
</blockquote>
<p>참고 : <a href="https://elfinlas.github.io/2019/09/23/java-singleton/">https://elfinlas.github.io/2019/09/23/java-singleton/</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Java Bean과 Spring Bean의 차이]]></title>
            <link>https://velog.io/@baobab_man/Java-Bean%EA%B3%BC-Spring-Bean%EC%9D%98-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@baobab_man/Java-Bean%EA%B3%BC-Spring-Bean%EC%9D%98-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Tue, 23 Nov 2021 08:12:52 GMT</pubDate>
            <description><![CDATA[<h2 id="1-java-bean">1. Java Bean</h2>
<blockquote>
<p>Java Bean은 특정 형태의 클래스이다.
DTO나 VO의 형태가 Java Bean이라고 말할 수 있다.
전달 인자가 없는(No-argument) 생성자를 가지는 형태의 클래스이다.
모든 필드는 private로 getter와 setter를 통해서만 접근 가능하다.</p>
</blockquote>
<pre><code class="language-java">public class JavaBean {

    // 필드 -&gt; private으로 선언
    private String bean;
    private int beanValue;

    // 전달 인자가 없는(no-argument) 생성자
    public JavaBean() {
    }

    // getter
    public String getBean() {
        return beanName;
    }

    // setter
    public void setBean(String bean) {
        this.bean = bean;
    }

    public int getBeanValue() {
        return beanValue;
    }

    public void setBeanValue(int beanValue) {
        this.beanValue = beanValue;
    }
}</code></pre>
<h2 id="2-spring-bean">2. Spring Bean</h2>
<blockquote>
</blockquote>
<p>Spring에서의 Bean은 일반 Java 객체와 다른 점은 없고, 
Spring IoC컨테이너가 관리하는 Java 객체를 뜻한다.
스프링 IoC가 관리하는 객체라함은 스프링에 의해 생성되고, 
라이프 사이클을 수행하고, 
의존성 주입이 일어나는 객체들을 말한다.
즉, 개발자가 관리하는 객체가 아닌 스프링에게 제어권을 넘긴 객체를 스프링에서 Bean이라고 부른다.</p>
<p>참고 : <a href="https://jjingho.tistory.com/10">https://jjingho.tistory.com/10</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[애자일 소프트웨어 개발 방법론이란 ?]]></title>
            <link>https://velog.io/@baobab_man/%EC%95%A0%EC%9E%90%EC%9D%BC-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B0%A9%EB%B2%95%EB%A1%A0%EC%9D%B4%EB%9E%80</link>
            <guid>https://velog.io/@baobab_man/%EC%95%A0%EC%9E%90%EC%9D%BC-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B0%A9%EB%B2%95%EB%A1%A0%EC%9D%B4%EB%9E%80</guid>
            <pubDate>Sun, 21 Nov 2021 13:03:19 GMT</pubDate>
            <description><![CDATA[<h3 id="애자일-선언문">애자일 선언문</h3>
<blockquote>
</blockquote>
<p>&quot;프로세스, 도구보다는 <strong><em>사람과의 상호작용</em></strong>을
광범위한 문서보다는 <strong><em>실제 작동하는 제품</em></strong>을
계약 협상보다는 <strong><em>고객 협력</em></strong>을
계획을 따르기보다는 <strong><em>변화 대응</em></strong>을
가치 있게 여긴다.
이 말은 왼쪽에 있는 것들도 가치가 있지만
오른쪽에 있는 것에 더 가치를 둔다는 의미이다.&quot;</p>
<h3 id="애자일-12가지-원칙">애자일 12가지 원칙</h3>
<blockquote>
<p><strong>1. 초기부터 지속적으로 고객 만족</strong>
    가치 있는 소프트웨어를 조기에 지속적으로 제공함으로써 고객을 만족시키는 것을 최고 우선순위로 한다.<br><strong>2. 요구사항 변경 수용</strong>
    개발 작업 후반부일지라도 요구사항 변경을 기꺼이 수용한다. 애자일 프로세스는 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
<strong>3. 짧은 배포 간격 **   
    2주에서 2개월 주기로 작동하는 소프트웨어를 자주 제공하되, 더 짧은 시간 단위를 선호한다.
*<em>4. 기획자/현업과 개발자는 함께 일하기 *</em><br>    프로젝트 전반에 걸쳐 비즈니스 담당자들과 개발자들이 매일 함께 작업해야 한다.
*<em>5. 동기부여된 팀원들로 프로젝트 팀 만들기 *</em><br>    동기가 부여된 개인들을 중심으로 프로젝트를 구성한다. 구성원들이 필요로 하는 환경과 지원을 제공하고, 담당 업무를 완수할 것임을 신뢰한다.
**6. 얼굴보고 대화하기</strong>
    개발팀에 그리고 팀 내부에서 가장 효과적, 효율적으로 정보를 전달하는 방법은 대면 대화이다.
<strong>7. 동작되는 소프트웨어로 진도 측정 **   
    작동하는 소프트웨어가 진척의 주된 척도이다.
**8. 지속 가능한 개발 속도 유지</strong><br>    애자일 프로세스는 지속 가능한 개발을 장려한다. 스폰서와 개발자, 사용자들이 일정한 속도를 계속 유지할 수 있어야 한다.
*<em>9. 좋은 기술, 설계에 관심 *</em><br>    기술적 탁월성과 좋은 설계에 대한 지속적인 관심으로 기민함을 향상시킨다.
*<em>10. 단순성 *</em><br>    단순성(수행되지 않은 작업량을 최대화하는 기술)은 필수적이다.
*<em>11. 자기 조직화 팀 *</em><br>    최고의 아키텍처, 요구사항 및 설계는 자기 조직화(자율구성)팀에서 비롯된다.
*<em>12. 정기적으로 효율성 제고   *</em> 
    팀은 정기적으로 더 효과적인 방법을 찾아서 반영한 다음, 그에 따라 업무 활동을 조율하고 조정한다.</p>
</blockquote>
<h3 id="애자일-vs-폭포수">애자일 vs 폭포수</h3>
<p><img src="https://images.velog.io/images/baobab_man/post/17b9289e-4f34-48ed-934b-d0a4b6842f6e/Untitled.png" alt=""></p>
<blockquote>
</blockquote>
<p>고객중심(애자일) vs 계획중심(폭포수)
작은 릴리즈(애자일) vs 빅뱅 릴리즈(폭포수)
동작하는 소프트웨어 중심(애자일) vs 산출물 중심(폭포수)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 020 사칙 연산자의 이해]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-020-%EC%82%AC%EC%B9%99-%EC%97%B0%EC%82%B0%EC%9E%90%EC%9D%98-%EC%9D%B4%ED%95%B4</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-020-%EC%82%AC%EC%B9%99-%EC%97%B0%EC%82%B0%EC%9E%90%EC%9D%98-%EC%9D%B4%ED%95%B4</guid>
            <pubDate>Thu, 08 Jul 2021 23:21:37 GMT</pubDate>
            <description><![CDATA[<pre><code>1: a = 5
2: b = 3
3: result_1 = a+b
4: result_2 = a-b
5: result_3 = a*b
6: result_4 = a/b
7: result_5 = a**b
8: result_6 = a+a*b/a
9: result_7 = (a+b)*(a-b)
10: result_8 = a*b**a
11: print(result_1)
12: print(result_2)
13: print(result_3)
14: print(result_4)
15: print(result_5)
16: print(result_6)
17: print(result_7)
18: print(result_8)</code></pre><blockquote>
<p>8
2
15
1.6666666666666667
125
8.0
16
1215</p>
</blockquote>
<p><em>* 사칙연산자가 섞여 있을 때 연산하는 우선 순위는 곱셈, 나눗셈 -&gt; 덧셈, 뺄셈</em>
<em>* 괄호()로 묶여 있는 부분을 먼저 계산한 후 사칙 연산을 수행</em>
<em>* 거듭제곱은 사칙 연산보다 연산 순위가 더 우선</em></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[알고리즘] 위상정렬]]></title>
            <link>https://velog.io/@baobab_man/%EC%9C%84%EC%83%81%EC%A0%95%EB%A0%AC</link>
            <guid>https://velog.io/@baobab_man/%EC%9C%84%EC%83%81%EC%A0%95%EB%A0%AC</guid>
            <pubDate>Mon, 17 May 2021 11:00:40 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] 다익스트라]]></title>
            <link>https://velog.io/@baobab_man/%EB%8B%A4%EC%9D%B5%EC%8A%A4%ED%8A%B8%EB%9D%BC</link>
            <guid>https://velog.io/@baobab_man/%EB%8B%A4%EC%9D%B5%EC%8A%A4%ED%8A%B8%EB%9D%BC</guid>
            <pubDate>Mon, 17 May 2021 10:59:53 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] 이분탐색]]></title>
            <link>https://velog.io/@baobab_man/%EC%9D%B4%EB%B6%84%ED%83%90%EC%83%89</link>
            <guid>https://velog.io/@baobab_man/%EC%9D%B4%EB%B6%84%ED%83%90%EC%83%89</guid>
            <pubDate>Mon, 17 May 2021 10:59:22 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] 트리 자료구조]]></title>
            <link>https://velog.io/@baobab_man/%ED%8A%B8%EB%A6%AC-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0</link>
            <guid>https://velog.io/@baobab_man/%ED%8A%B8%EB%A6%AC-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0</guid>
            <pubDate>Mon, 17 May 2021 10:58:38 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] Dynamic Programming]]></title>
            <link>https://velog.io/@baobab_man/Dynamic-Programming</link>
            <guid>https://velog.io/@baobab_man/Dynamic-Programming</guid>
            <pubDate>Mon, 17 May 2021 10:58:01 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] DFS(깊이우선탐색)]]></title>
            <link>https://velog.io/@baobab_man/DFS</link>
            <guid>https://velog.io/@baobab_man/DFS</guid>
            <pubDate>Mon, 17 May 2021 10:57:09 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] BFS(너비우선탐색)]]></title>
            <link>https://velog.io/@baobab_man/BFS</link>
            <guid>https://velog.io/@baobab_man/BFS</guid>
            <pubDate>Mon, 17 May 2021 10:56:38 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[알고리즘] 완전탐색]]></title>
            <link>https://velog.io/@baobab_man/%EC%99%84%EC%A0%84%ED%83%90%EC%83%89</link>
            <guid>https://velog.io/@baobab_man/%EC%99%84%EC%A0%84%ED%83%90%EC%83%89</guid>
            <pubDate>Mon, 17 May 2021 10:55:38 GMT</pubDate>
            <description><![CDATA[<blockquote>
<h4 id="-완전탐색-exhaustive-search-의-정의">[ 완전탐색 (Exhaustive Search) ]의 정의</h4>
<p> &quot;모든 경우의 수를 전부 찾아서 답을 찾는 알고리즘&quot;</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 019 대입 연산자(=) 이해]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-019-%EB%8C%80%EC%9E%85-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%9D%B4%ED%95%B4</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-019-%EB%8C%80%EC%9E%85-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%9D%B4%ED%95%B4</guid>
            <pubDate>Thu, 13 May 2021 09:31:37 GMT</pubDate>
            <description><![CDATA[<pre><code>1: a = 1
2: b = 2
3: sum = a + b
4: print(&#39;a와 b의 합은 &#39;, end=&#39;&#39;)
5: print(sum, end=&#39;&#39;)
6: print(&#39;이다.&#39;)</code></pre><blockquote>
<p>변수에 값을 대입하는데 사용되는 기호는 =(등호)
컴퓨터 프로그래밍 언어에서 =는 = 왼쪽의 변수에 = 오른쪽의 값을 대입한다는 의미</p>
</blockquote>
<pre><code>a와 b의 합은 3이다.</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 018 복소수형 자료]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-018-%EB%B3%B5%EC%86%8C%EC%88%98%ED%98%95-%EC%9E%90%EB%A3%8C</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-018-%EB%B3%B5%EC%86%8C%EC%88%98%ED%98%95-%EC%9E%90%EB%A3%8C</guid>
            <pubDate>Thu, 13 May 2021 09:27:03 GMT</pubDate>
            <description><![CDATA[<pre><code>1: a = 1 + 2j
2: print(a.real); print(a.imag)
3: b = complex(1,2)
4: print(b)</code></pre><blockquote>
<p>복소수형 상수는 (실수부+허수부)로 되어 있는 수
허수부는 수학에서는 i를 이용해 표현하지만 파이썬에서는 j를 이용해 표현
복소수형 자료에서 실수부만 취하려면 real을 이용
복소수형 자료에서 허수부만 취하려면 imag를 이용</p>
</blockquote>
<pre><code>1.0
2.0
(1+2j)</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 017 실수형 자료]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-017-%EC%8B%A4%EC%88%98%ED%98%95-%EC%9E%90%EB%A3%8C</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-017-%EC%8B%A4%EC%88%98%ED%98%95-%EC%9E%90%EB%A3%8C</guid>
            <pubDate>Thu, 13 May 2021 09:14:44 GMT</pubDate>
            <description><![CDATA[<pre><code>1: f1 = 1.0
2: f2 = 3.14
3: f3 = 1.56e3
4: f4 = -0.7e-4
5: print(f1)
6: print(f2)
7: print(f3)
8: print(f4)</code></pre><blockquote>
<p>실수 = (소수로 나타낼 수 있는 유리수) + (소수로 나타낼 수 없는 무리수)
변수에 소수로 표현한 값을 대입하면 이 변수는 실수형 자료로 취급
<em>&gt; f1은 값이 1이지만 실수형 자료로 취급(f2도 마찬가지)</em>
실수형 상수를 표현하는 또 다른 방법: e를 사용
e는 10의 거듭제곱을 나타냄</p>
</blockquote>
<pre><code>1.0
3.14
1560.0
-7e-05</code></pre><h3 id="-note-">!!! Note !!!</h3>
<blockquote>
<p>실수형 자료와 정수형 자료를 연산해서 나오는 결과는 모두 실수형 자료!
나눗셈의 결과는 그 자료형에 관계없이 실수형 자료!</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 016 정수형 자료]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-016-%EC%A0%95%EC%88%98%ED%98%95-%EC%9E%90%EB%A3%8C</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-016-%EC%A0%95%EC%88%98%ED%98%95-%EC%9E%90%EB%A3%8C</guid>
            <pubDate>Thu, 13 May 2021 08:58:49 GMT</pubDate>
            <description><![CDATA[<pre><code>1: int_data = 10
2: bin_data = 0b10 # 2진수
3: oct_data = 0o10 # 8진수
4: hex_data = 0x10 # 16진수
5: long_data = 123456789
6: print(int_data)
7: print(bin_data)
8: print(oct_data)
9: print(hex_data)
10: print(long_data)</code></pre><blockquote>
<p>정수형 자료는 정수형 상수를 취함!
프로그래밍에서 일반적으로 사용되는 정수형 상수는 10진수.
But, 컴퓨터는 0과 1로 표현되는 2진수로 처리하기 때문에 코드에서 8진수나 16진수를 사용하는 것이 편리
파이썬 3에서 2진수는 0b, 8진수는 0o, 16진수는 0x로 시작하는 수
메모리가 허용하는 범위에서 지원 가능한 수를 사용할 수 있음!
정수형 상수를 대입한 변수를 출력하면 모두 10진수로 나옴!</p>
</blockquote>
<pre><code>10
2
8
16
123456789</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 015 None]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-015-None</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-015-None</guid>
            <pubDate>Wed, 28 Apr 2021 11:29:30 GMT</pubDate>
            <description><![CDATA[<pre><code>source: 015.py
1: val = None
2: condition = 1
3: if condition == 1:
4:     val = [1, 2, 3]
5: else:
6:     val = &#39;Back to the basic&#39;</code></pre><ul>
<li>None : Types.NoneType의 유일한 값으로, 값이 존재하지 않는 변수에 대입하여 이 변수에 아무런 값이 없다는 것을 나타내기 위해 사용됨!</li>
<li>None으로 지정된 변수에 값이 있는 임의의 자료형을 대입하여 활용 가능!</li>
<li>어떤 변수에 대입할 자료형을 결정하지 않은 상태로 선언할 때 None을 대입하거나, 함수에서 아무값도 리턴하지 않고 끝낼 때 사용!</li>
<li>함수 로직에서 예외가 발생하거나 오류가 발생하여 None을 리턴하여 종료하면 이 함수를 호출한 쪽에서 호출한 함수가 실행 도중 오류가 발생하여 비정상적으로 종료되었음을 알 수 있음!</li>
<li>예제에서는 condition의 값에 따라 val에 리스트 또는 문자열을 대입!</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 014 while문 (while ~ continue ~ break)]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-014-while%EB%AC%B8-while-continue-break</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-014-while%EB%AC%B8-while-continue-break</guid>
            <pubDate>Wed, 28 Apr 2021 11:22:23 GMT</pubDate>
            <description><![CDATA[<pre><code>source: 014.py
1: x = 0
2: while x &lt; 10:
3:     x = x + 1
4:     if x &lt; 3:
5:         continue
6:     print(x)
7:     if x &gt; 7:
8:         break</code></pre><ul>
<li>for문이 범위가 지정된 자료나 반복 가능한 객체를 이용해 반복문을 수행하는 것이라면 while문은 특정 조건을 만족하는 경우 지속적으로 반복을 수행하는 반복문!<pre><code>while 조건:
  반복 실행 코드
  continue # while 구문 처음으로 이동하여 반복문 계속
  ...
  break # while 구문을 탈출함</code></pre></li>
<li>while 다음에 놓인 조건이 거짓일 때까지 while 반복문을 계속 실행!</li>
<li>while 반복문 내에 continue 키워드를 만나면 while 반복문 처음으로 돌아와 반복문을 계속 수행!</li>
<li>while 반복문 내에서 break 키워드를 만나면 while 반복문을 탈출!</li>
<li>예제 코드를 실행시 3, 4, 5, 6, 7, 8을 출력!<pre><code>source: 014-1.py
x = 1
total = 0
while 1:
  total = total + x
  if total &gt; 100000:
      print(x)
      print(total)
      break
  x = x + 1</code></pre></li>
<li>보통 프로그래밍 언어에서 참은 1(0이 아닌 값)로, 거짓은 0으로 정의!</li>
<li>while 1:은 조건 자체가 참이므로 while 반복문을 무한 반복!</li>
<li>예제 코드는 무한 루프를 돌면서 변수 total값에 x값을 더하고 total값 갱신 -&gt; total값이 10만보다 커지면 x값과 total값을 출력하고 while 반복문을 탈출/total값이 10만보다 작으면 x를 1증가시키고 while 반복문을 계속 실행!</li>
<li>예제 코드 실행시 x는 447, total은 100128!</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 013 for문 [3] for ~ else]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-013-for%EB%AC%B8-3-for-else</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-013-for%EB%AC%B8-3-for-else</guid>
            <pubDate>Wed, 28 Apr 2021 11:05:53 GMT</pubDate>
            <description><![CDATA[<pre><code>source: 013.py
1: scope = [1, 2, 3]
2: for x in scope:
3:     print(x)
4:     #break
5: else:
6:     print(&#39;Perfect&#39;)</code></pre><ul>
<li>for 반복문이 break에 의해 중단됨이 없이 정상적으로 모두 실행되어야만 특정 코드를 실행하게 할 경우 for ~ else를 사용!<pre><code>for 변수 in 범위:
  반복 실행 코드
else:
  for 구문이 모두 실행되었을 때 실행할 코드</code></pre></li>
<li>else:로의 진입은 for 반복문에서 break 등에 의해 중간에 중단됨이 없이 정상적으로 실행이 다 되었을 경우!<pre><code># 예제 코드 실행 결과
1
2
3
Perfect</code></pre></li>
<li>source 013.py에서 break에 주석 처리를 해제하고 코드를 실행하면 1만 출력!</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[(Back To The Basic - 파이썬 문제은행) 012 for문 [2] for ~ continue ~ break]]></title>
            <link>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-012-for%EB%AC%B8-%EA%B0%9C%EB%85%90-%EB%B0%B0%EC%9A%B0%EA%B8%B0-2-for-continue-break</link>
            <guid>https://velog.io/@baobab_man/Back-To-The-Basic-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%A0%9C%EC%9D%80%ED%96%89-012-for%EB%AC%B8-%EA%B0%9C%EB%85%90-%EB%B0%B0%EC%9A%B0%EA%B8%B0-2-for-continue-break</guid>
            <pubDate>Tue, 27 Apr 2021 12:49:30 GMT</pubDate>
            <description><![CDATA[<pre><code>source: 012.py
1: scope = [1, 2, 3, 4, 5]
2: for x in scope:
3:     print(x)
4:     if x &lt; 3:
5:         continue
6:     else:
7:         break</code></pre><ul>
<li>for문을 이용해 반복문을 수행하다가 어떤 조건에 따라 반복문을 계속 수행하고, 아니면 반복문을 벗어나야 하는 경우가 있는데, 이 경우 for 반복문 안에서 continue를 만나면 이후 코드는 수행하지 않고 다음 반복문을 수행하게 되고, break를 만나면 for 반복문을 탈출!<pre><code>for 변수 in 범위:
  ...
  continue # 다음 반복문 수행
  ...
  break # for 반복문 탈출</code></pre></li>
<li>예제 코드는 1~5까지 정수에 대해 코드를 반복하는데, 화면에 해당 정수를 출력한 후 그 수가 3보다 작으면 그 다음 숫자를 출력하고 3보다 크거나 같으면 for 반복문을 탈출하여 종료!</li>
<li>따라서 예제 코드를 실행하면 1, 2, 3까지 숫자가 출력!<pre><code># break만을 사용하여 작성한 코드
scope = [1, 2, 3, 4, 5]
for x in scope:
  print(x)
  if x &gt;= 3:
      break</code></pre></li>
</ul>
]]></description>
        </item>
    </channel>
</rss>