<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://codechacha.com</id>
    <title>codechacha</title>
    <updated>2025-07-06T03:54:12.309Z</updated>
    <generator>awesome</generator>
    <author>
        <name>https://codechacha.com</name>
        <email>farfs.dev@gmail.com</email>
        <uri>https://codechacha.com</uri>
    </author>
    <link rel="alternate" href="https://codechacha.com"/>
    <link rel="self" href="https://codechacha.com/atom.xml"/>
    <subtitle>Java, Kotlin, Android, Python, Linux 등 Programming, Software 개발 방법을 다룹니다.</subtitle>
    <logo>https://codechacha.com/assets/icon/android-icon-192x192.png</logo>
    <icon>https://codechacha.com/assets/icon/android-icon-192x192.png</icon>
    <rights>Copyright © 2019 codechacha</rights>
    <contributor>
        <name>codechacha</name>
        <email>farfs.dev@gmail.com</email>
        <uri>https://codechacha.com</uri>
    </contributor>
    <entry>
        <title type="html"><![CDATA[ESLint warning, Expected '===' and instead saw '==' eqeqeq]]></title>
        <id>https://codechacha.com/ko/eslint-eqeqeq/</id>
        <link href="https://codechacha.com/ko/eslint-eqeqeq/">
        </link>
        <updated>2025-04-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[React 프로젝트를 빌드하는데, ESLint warnning이 눈에 거슬렸다. ==를 쓰지 말고 ===를 써야한다고 한다. 워닝 마지막엔 eqeqeq라고 출력되는데 검색해보니 ESLint의 eqeqeq 규칙이라고 한다. 왜 ===로 비교를 해야하는지 예제와 함께 알아보자.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[React/nextJs 에러 해결 : Type '{ async: true; src: string; crossorigin: string; }' is not assignable to type]]></title>
        <id>https://codechacha.com/ko/react-error-when-passing-args-to-script/</id>
        <link href="https://codechacha.com/ko/react-error-when-passing-args-to-script/">
        </link>
        <updated>2025-04-05T00:00:00.000Z</updated>
        <content type="html"><![CDATA[React나 Nextjs를 빌드할 때, <script/>에 인자를 잘못 전달하면 발생할 수 있는 에러입니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 현재 날짜/시간을 항상 한국 기준으로 가져오기]]></title>
        <id>https://codechacha.com/ko/javascript-current-korea-time-and-date/</id>
        <link href="https://codechacha.com/ko/javascript-current-korea-time-and-date/">
        </link>
        <updated>2023-10-29T00:00:00.000Z</updated>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Android 14 - 사진/동영상 파일, 일부 접근 권한 소개]]></title>
        <id>https://codechacha.com/ko/android-14-partial-media-access/</id>
        <link href="https://codechacha.com/ko/android-14-partial-media-access/">
        </link>
        <updated>2023-10-03T00:00:00.000Z</updated>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 문자열 사이에 문자 넣기]]></title>
        <id>https://codechacha.com/ko/javascript-add-string-in-string/</id>
        <link href="https://codechacha.com/ko/javascript-add-string-in-string/">
        </link>
        <updated>2023-09-22T00:00:00.000Z</updated>
        <content type="html"><![CDATA[문자열 중간에(특정 Index) 문자 또는 문자열을 추가하는 방법에 대해서 알아보겠습니다. 문자열의 특정 Index까지 잘라서 두개의 문자열로 나누고, 문자열 사이에 원하는 문자나 문자열을 추가할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 버튼 활성화/비활성화 시키는 방법]]></title>
        <id>https://codechacha.com/ko/javascript-button-enable-disable/</id>
        <link href="https://codechacha.com/ko/javascript-button-enable-disable/">
        </link>
        <updated>2023-08-19T00:00:00.000Z</updated>
        <content type="html"><![CDATA[button.disabled이 true이면 버튼은 비활성화 상태이며, false는 활성화 상태를 의미합니다. innerText는 버튼에 보이는 텍스트로, 버튼 상태를 변경하면서 이름도 함께 변경하고 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 버튼 이름 변경하기]]></title>
        <id>https://codechacha.com/ko/javascript-change-button-text/</id>
        <link href="https://codechacha.com/ko/javascript-change-button-text/">
        </link>
        <updated>2023-08-19T00:00:00.000Z</updated>
        <content type="html"><![CDATA[버튼을 누를 때, Javascript로 버튼의 이름을 변경하는 방법을 소개합니다. myButton으로 button의 요소를 찾고, innerText를 변경합니다. innerText는 화면에 보이는 버튼의 이름입니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - div 안의 내용 가져오기, 변경, 추가, 삭제]]></title>
        <id>https://codechacha.com/ko/javascript-div-contents/</id>
        <link href="https://codechacha.com/ko/javascript-div-contents/">
        </link>
        <updated>2023-08-19T00:00:00.000Z</updated>
        <content type="html"><![CDATA[div 요소에서 innerHTML 속성을 통해 html을 읽을 수 있습니다. 이 속성에 다른 값을 입력하여 기존 값을 변경하거나 추가, 삭제가 가능합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - <ol>, <ul>에 <li> 동적 추가, 삭제]]></title>
        <id>https://codechacha.com/ko/javascript-add-li-to-ol-ul/</id>
        <link href="https://codechacha.com/ko/javascript-add-li-to-ol-ul/">
        </link>
        <updated>2023-08-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<ol>은 ordered list, <ul>은 unordered list로, 둘다 리스트를 표현하는데 사용되는 태그입니다. ol 또는 ul에 아이템을 추가할 때 하위에 <li>를 동적으로 추가하는 방법에 대해서 알아보겠습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - div 생성, 추가, 삭제 방법]]></title>
        <id>https://codechacha.com/ko/javascript-add-remove-div/</id>
        <link href="https://codechacha.com/ko/javascript-add-remove-div/">
        </link>
        <updated>2023-08-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[div 요소를 동적으로 생성하고 삭제하는 방법에 대해서 알아보겠습니다. 추가 버튼을 누르면 새로운 div를 생성하여 container에 추가하고 삭제 버튼을 누르면 가장 마지막의 div를 삭제하려고 합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 테이블 행(tr) 숨기기, 보이기]]></title>
        <id>https://codechacha.com/ko/javascript-show-hide-table-tr/</id>
        <link href="https://codechacha.com/ko/javascript-show-hide-table-tr/">
        </link>
        <updated>2023-08-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[3명의 이름과 나이를 보여주는 테이블을 추가하였고, 그 아래에 행 숨기기, 보이기 버튼을 추가하였습니다. 버튼을 누르면 마지막 행(<tr/>)을 숨기거나 보이도록 구현하려고 합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - div에 링크 거는 방법]]></title>
        <id>https://codechacha.com/ko/javascript-add-link-to-div/</id>
        <link href="https://codechacha.com/ko/javascript-add-link-to-div/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 자식 요소(element) 개수 확인]]></title>
        <id>https://codechacha.com/ko/javascript-children-node-count/</id>
        <link href="https://codechacha.com/ko/javascript-children-node-count/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[먼저 parent 요소를 찾고, childElementCount 또는 children.length로 요소 개수를 가져옵니다. querySelectorAll("*")으로 모든 자식 요소를 찾고 length로 개수를 가져올 수 있음.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 요소(element) 복사, 붙여넣기]]></title>
        <id>https://codechacha.com/ko/javascript-copy-and-paste-element/</id>
        <link href="https://codechacha.com/ko/javascript-copy-and-paste-element/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[cloneNode(deep)는 deep 인자가 true일 때 깊은 복사(모든 하위 요소 복사), false 일 때 얕은 복사(노드만 복사), target.appendChild(source)는 target 요소에 source를 하위에 추가]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - div에 클릭 이벤트(onclick) 설정 방법]]></title>
        <id>https://codechacha.com/ko/javascript-div-onclick/</id>
        <link href="https://codechacha.com/ko/javascript-div-onclick/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[HTML에서 div가 클릭되었을 때 호출할 Javascript의 함수를 입력할 수 있습닏. DOM이 로드되면, div 요소를 찾고 클릭 이벤트 리스너를 설정합니다. 클릭 이벤트가 발생하면 alert가 발생되도록 구현하였습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 체크박스 선택/해제 시, 텍스트박스 활성화/비활성화]]></title>
        <id>https://codechacha.com/ko/javascript-enable-disable-textbox-with-checkbox/</id>
        <link href="https://codechacha.com/ko/javascript-enable-disable-textbox-with-checkbox/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[먼저 checkbox와 textbox 요소(element)를 찾고, checkbox에 change에 대한 이벤트 리스너를 설정합니다. 체크박스의 상태가 변경될 때, checked 값에 따라서 텍스트박스의 활성화 상태를 변경합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - input 숫자만 입력받도록 설정]]></title>
        <id>https://codechacha.com/ko/javascript-input-only-number/</id>
        <link href="https://codechacha.com/ko/javascript-input-only-number/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[input에 사용자가 숫자만 입력할 수 있도록 설정하는 방법에 대해서 알아보겠습니다. type=number로 타입을 지정하면 숫자만 입력할 수 있습니다. 정규표현식, oninput, replace를 이용하여 숫자만 입력하도록 만들 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 자식 노드 모두 제거]]></title>
        <id>https://codechacha.com/ko/javascript-remove-all-children/</id>
        <link href="https://codechacha.com/ko/javascript-remove-all-children/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[parent를 찾고 innerHTML에 빈 값을 입력하여 모든 자식 노드를 삭제, removeChild(node)를 이용하여 parent 노드에서 node를 삭제, querySelectorAll()으로 모든 자식 노드를 찾고 삭제.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - 체크박스 선택, 해제 방법]]></title>
        <id>https://codechacha.com/ko/javascript-uncheck-checkbox/</id>
        <link href="https://codechacha.com/ko/javascript-uncheck-checkbox/">
        </link>
        <updated>2023-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[checkbox를 찾고 checked 값을 true 또는 false로 변경하여 선택, 해제시킬 수 있습니다. 초기값을 미리 저장하면 초기 값으로 초기화 시킬 수 있으며, form reset을 이용하여 초기 값으로 변경할 수도 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Javascript - input text 값 가져오기]]></title>
        <id>https://codechacha.com/ko/javascript-get-input-text/</id>
        <link href="https://codechacha.com/ko/javascript-get-input-text/">
        </link>
        <updated>2023-08-13T00:00:00.000Z</updated>
        <content type="html"><![CDATA[Javascript로 <input>에 입력된 text 값을 가져오는 방법을 소개합니다. getElementById('name')으로 id가 name인 input 요소를 가져오고, value 값을 가져와서 로그로 출력합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - Yaml 파일 파싱하는 방법]]></title>
        <id>https://codechacha.com/ko/python-parse-yaml/</id>
        <link href="https://codechacha.com/ko/python-parse-yaml/">
        </link>
        <updated>2023-07-18T00:00:00.000Z</updated>
        <content type="html"><![CDATA[Yaml 파일을 아래와 같이 파일로 읽어서, yaml.load()를 사용하여 파싱할 수 있습니다. 파싱된 데이터는 리스트와 딕셔너리 형태로 전달됩니다. 파싱 데이터는 구조적으로 개별 속성에 접근할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 파일 내용 삭제]]></title>
        <id>https://codechacha.com/ko/python-remove-file-contents/</id>
        <link href="https://codechacha.com/ko/python-remove-file-contents/">
        </link>
        <updated>2023-07-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[파일을 w 모드로 열고 닫으면 파일의 내용이 모두 삭제됩니다. (파일 자체는 삭제되지 않음) 파일을 r+ 모드로 열고, truncate()를 호출하면 파일의 내용이 모두 삭제됩니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - for문에서 리스트 순회 중 요소 값 제거]]></title>
        <id>https://codechacha.com/ko/python-delete-elements-while-loop/</id>
        <link href="https://codechacha.com/ko/python-delete-elements-while-loop/">
        </link>
        <updated>2023-07-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[slice, list() 생성자로 리스트를 먼저 복사하고, 복사된 리스트를 순회하면서 원본 리스트에서 요소를 삭제하도록 구현하면, 안전하게 리스트에서 요소 값을 삭제할 수 있습니다. 또는 역순으로 순회하면 문제가 발생하지 않습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 두 리스트에서 공통 요소 값 찾기]]></title>
        <id>https://codechacha.com/ko/python-find-common-elements-in-list/</id>
        <link href="https://codechacha.com/ko/python-find-common-elements-in-list/">
        </link>
        <updated>2023-07-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[set에는 intersection()이라는 함수가 있는데, 두개의 Set에서 공통 요소를 찾아서 set로 리턴하는 함수입니다.  리스트 컴프리헨션으로 리스트를 순회하면서 공통 요소를 찾을 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 문자열 앞(뒤)에 0으로 채우기]]></title>
        <id>https://codechacha.com/ko/python-add-padding-to-string/</id>
        <link href="https://codechacha.com/ko/python-add-padding-to-string/">
        </link>
        <updated>2023-07-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[rjust(len, padding)은 len 크기 만큼 문자열 길이를 할당하고, 문자열 str을 오른쪽에 배치하고 나머지는 padding으로 채웁니다. zfill()은 문자열을 len 만큼 할당하고 문자열 뒤를 0으로 채웁니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 공백으로 문자열 분리]]></title>
        <id>https://codechacha.com/ko/python-split-strintg-with-whitespace/</id>
        <link href="https://codechacha.com/ko/python-split-strintg-with-whitespace/">
        </link>
        <updated>2023-07-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[split()은 문자열을 공백으로 분리하고 각각의 문자열이 저장된 리스트를 리턴합니다. split()은 탭과 줄바꿈 문자들이 포함된 문자열도 공백으로 인식하여 위와 동일한 결과를 출력합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 중첩 리스트 평탄화(1차원 리스트 변환)]]></title>
        <id>https://codechacha.com/ko/python-flatten-nested-list/</id>
        <link href="https://codechacha.com/ko/python-flatten-nested-list/">
        </link>
        <updated>2023-07-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[중첩 리스트(Nested list, 리스트 안에 리스트)를 1차원 리스트로 평탄화하는 방법에 대해서 알아보겠습니다. 아래와 같이 재귀함수를 구현하여 평탄화 할 수 있습니다. 또한 itertools를 이용하여 중첩 리스트를 평탄화할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 16진수 문자열을 Int로 변환]]></title>
        <id>https://codechacha.com/ko/python-convert-hex-string-to-int/</id>
        <link href="https://codechacha.com/ko/python-convert-hex-string-to-int/">
        </link>
        <updated>2023-07-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[16진수(Hex) 문자열을 정수(int)로 변환하는 방법에 대해서 알아보겠습니다. int(hex, 16)은 문자열 hex를 int로 변환합니다. eval(hex)는 hex를 정수로 변환합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 두 날짜, 시간 비교]]></title>
        <id>https://codechacha.com/ko/python-compare-datetime/</id>
        <link href="https://codechacha.com/ko/python-compare-datetime/">
        </link>
        <updated>2023-07-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<, >, = 연산자를 이용하여 두개의 date를 비교할 수 있습니다. datetime은 날짜와 시간정보를 모두 갖고 있는 클래스입니다.  >, <, = 연산자를 이용하여 두개의 datetime 객체의 크기를 비교할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python f-string으로 변수 이름, 값 쉽게 출력 (변수명 = )]]></title>
        <id>https://codechacha.com/ko/python-print-vars-with-fstring/</id>
        <link href="https://codechacha.com/ko/python-print-vars-with-fstring/">
        </link>
        <updated>2023-07-08T00:00:00.000Z</updated>
        <content type="html"><![CDATA[f-string으로 변수의 이름과 변수 값을 출력할 수 있습니다. f-string에 {변수명=}를 입력하면 실제로 문자열은 "변수명=(변수의 값)"으로 변환되어 출력됩니다. 리스트와 함수에도 사용할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - nonlocal과 global 사용 방법]]></title>
        <id>https://codechacha.com/ko/python-non-local-and-global-keyword/</id>
        <link href="https://codechacha.com/ko/python-non-local-and-global-keyword/">
        </link>
        <updated>2023-07-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[파이썬에서 nonlocal 키워드는 중첩(inner) 함수에서 외부(outer) 함수의 변수에 접근할 때 사용됩니다. global 키워드는 함수 안에서 전역 변수를 사용할 때 사용합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python 바다코끼리 연산자 := 알아보기]]></title>
        <id>https://codechacha.com/ko/python-walrus-operator/</id>
        <link href="https://codechacha.com/ko/python-walrus-operator/">
        </link>
        <updated>2023-07-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[:= 연산자는 바다코끼리(Walrus) 연산자로, Python 3.8에서 추가되었습니다. 이 연산자를 사용하면 표현식 안에서 변수에 값을 할당할 수 있습니다. 바다코끼리 연산자를 어떻게 활용할 수 있는지 예제와 함께 알아보겠습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Ubuntu/Linux - 특정 이름이 들어간 파일 모두 찾고 삭제하기]]></title>
        <id>https://codechacha.com/ko/linux-find-files-and-delete/</id>
        <link href="https://codechacha.com/ko/linux-find-files-and-delete/">
        </link>
        <updated>2023-06-11T00:00:00.000Z</updated>
        <content type="html"><![CDATA[find 명령어로 특정 패턴 이름의 파일들을 모두 찾고 삭제하는 방법에 대해서 알아보겠습니다. find [/경로] -type f -name [파일 이름 패턴] -delete로 파일을 찾고 삭제할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Ubuntu/Linux - 특정 이름이 포함된 프로세스 모두 종료]]></title>
        <id>https://codechacha.com/ko/linux-kill-all/</id>
        <link href="https://codechacha.com/ko/linux-kill-all/">
        </link>
        <updated>2023-06-11T00:00:00.000Z</updated>
        <content type="html"><![CDATA[한번의 명령어로 특정 이름이 포함된 모든 프로세스를 종료시키는 방법에 대해서 알아보겠습니다. killall -r [pattern] 명령어는 프로세스에 pattern에 해당하는 프로세스를 kill시킵니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - pip와 requirements.txt로 패키지 관리]]></title>
        <id>https://codechacha.com/ko/python-pip-requirements/</id>
        <link href="https://codechacha.com/ko/python-pip-requirements/">
        </link>
        <updated>2023-06-11T00:00:00.000Z</updated>
        <content type="html"><![CDATA[의존성 패키지들을 requirements.txt 파일에 정의하고, pip 명령어로 쉽게 설치하도록 도와줍니다. requirements.txt에는 의존성 패키지가 정의되는데, 명시한 패키지와 버전에 해당하는 것을 pip가 설치합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[유튜브 쇼츠(Shorts) 자막 끄기/켜기]]></title>
        <id>https://codechacha.com/ko/youtube-hide-subtitles-in-shorts/</id>
        <link href="https://codechacha.com/ko/youtube-hide-subtitles-in-shorts/">
        </link>
        <updated>2023-06-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[Youtube 쇼츠(Shorts)에서 자막이 보일 때가 있는데요. 자막을 끄거나, 켜는 방법을 알려드립니다. 쇼츠를 실행 중, 왼쪽 하단에 점 3개 버튼을 누릅니다. 자막 메뉴를 클릭하면, 자막이 꺼지거나 켜집니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 딕셔너리 보기 좋게 출력 (pprint)]]></title>
        <id>https://codechacha.com/ko/python-pretty-print-dict/</id>
        <link href="https://codechacha.com/ko/python-pretty-print-dict/">
        </link>
        <updated>2023-06-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[딕셔너리의 데이터를 보기 좋게 출력하는 방법에 대해서 알아보겠습니다. pretty print라고 하기도 합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Ubuntu/Linux - 사용자 계정 이름 확인 (id, whoami)]]></title>
        <id>https://codechacha.com/ko/linux-id-whoami/</id>
        <link href="https://codechacha.com/ko/linux-id-whoami/">
        </link>
        <updated>2023-06-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[리눅스(우분투)에서 명령어로 현재 동작 중인 사용자 id 이름을 확인하는 방법을 소개합니다. id를 입력하면, 시스템에 등록된 id들이 출력되며, 첫번째 id가 현재 터미널에서 실행 중인 계정 이름과 uid입니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Ubuntu/Linux - E: unable to locate package 에러 해결]]></title>
        <id>https://codechacha.com/ko/ubuntu-fix-unable-to-locate-package/</id>
        <link href="https://codechacha.com/ko/ubuntu-fix-unable-to-locate-package/">
        </link>
        <updated>2023-06-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[apt로 패키지를 설치할 때, 아래와 같이 Unable to locate package XXXX처럼 XXXX 패키지를 찾을 수 없다는 에러가 뜰 수 있는데요. sudo apt update으로 apt를 업데이트하고 다시 설치 시도해봅니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Ubuntu 22.04/20.04 - Yarn 설치 방법]]></title>
        <id>https://codechacha.com/ko/ubuntu-install-yarn/</id>
        <link href="https://codechacha.com/ko/ubuntu-install-yarn/">
        </link>
        <updated>2023-06-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[Yarn은 JavaScript 패키지 관리자로, JavaScript 프로젝트의 의존성 모듈을 설치, 업데이트, 제거할 때 사용됩니다. sudo apt install yarn 명령어로 터미널에서 설치할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Bash Shell - 문자열에서 첫번째 문자 N개 제거]]></title>
        <id>https://codechacha.com/ko/shell-script-remove-first-char/</id>
        <link href="https://codechacha.com/ko/shell-script-remove-first-char/">
        </link>
        <updated>2023-06-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[문자열의 왼쪽 문자 n개를 제거하는 방법에 대해서 알아보겠습니다. cut -c "$((N+1))"-)는 문자열에서 왼쪽 N개의 문자열을 제거합니다. sed "s/^.\{$N\}//"는 문자열에서 왼쪽 N개의 문자열을 제거합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Bash Shell - 문자열에서 마지막 문자 N개 제거]]></title>
        <id>https://codechacha.com/ko/shell-script-remove-last-char/</id>
        <link href="https://codechacha.com/ko/shell-script-remove-last-char/">
        </link>
        <updated>2023-06-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[문자열의 마지막 문자 n개를 제거하는 방법에 대해서 알아보겠습니다. cut -c -N은 문자열 왼쪽에서 N개의 문자열을 남기고 모두 제거합니다. sed 's/.\{N\}$//'는 문자열의 오른쪽 N개의 문자를 제거합니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Linux/Ubuntu - grep 명령어로 문자열 검색]]></title>
        <id>https://codechacha.com/ko/linux-grep/</id>
        <link href="https://codechacha.com/ko/linux-grep/">
        </link>
        <updated>2023-06-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[grep 명령어를 사용하여 특정 디렉토리 및 하위 디렉토리의 파일들 중에서 특정 키워드가 포함되어있는지 검색을 할 수 있습니다. 대소문자 구분 없이 검색하거나, 정규표현식 패턴으로 문자열을 검색할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Linux/Ubuntu - 터미널에서 seq로 명령어 N회 반복]]></title>
        <id>https://codechacha.com/ko/linux-seq/</id>
        <link href="https://codechacha.com/ko/linux-seq/">
        </link>
        <updated>2023-06-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[seq 명령어로 어떤 명령어를 n회 반복적으로 수행시킬 수 있습니다. seq N 명령어를 입력하면 아래와 같이 1에서 N까지 출력합니다. 터미널에서 seq를 사용하여 for문을 만들고 어떤 명령어를 N회 반복시킬 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Linux/Ubuntu - wc 명령어로 Line(줄) 개수 세기]]></title>
        <id>https://codechacha.com/ko/linux-wc/</id>
        <link href="https://codechacha.com/ko/linux-wc/">
        </link>
        <updated>2023-06-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[wc 명령어는 word count라는 의미로, 명령어로 출력된 결과가 몇 줄 출력되었는지 Line(줄) 개수를 셀 때 사용할 수 있습니다. 파일 결과가 출력될 때, wc 명령어를 사용하면 전체 파일 개수를 계산할 수 있습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[bash: pip: command not found 문제 해결 (Linux/Ubuntu)]]></title>
        <id>https://codechacha.com/ko/linux-fix-pip-not-found/</id>
        <link href="https://codechacha.com/ko/linux-fix-pip-not-found/">
        </link>
        <updated>2023-06-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[pip나 pip3를 사용할 때, 터미널에서 pip를 찾지 못하는 에러가 발생할 수 있습니다. pip가 설치되어있지 않거나, pip의 환경설정이 잘못되어있어서 발생하는 문제일 수 있는데요. 해결 방법에 대해서 알아보겠습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - Requests 사용 방법 (GET/POST/PUT/PATCH/DELETE)]]></title>
        <id>https://codechacha.com/ko/python-requests/</id>
        <link href="https://codechacha.com/ko/python-requests/">
        </link>
        <updated>2023-06-04T00:00:00.000Z</updated>
        <content type="html"><![CDATA[requests는 웹 서버로 요청을 보내고 응답을 받는 데 사용되는 라이브러리로, HTTP 요청을 보내고 응답을 받는 동작을 쉽게 구현할 수 있습니다. GET/POST/PUT/PATCH/DELETE 요청을 알아보겠습니다.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[SOLID 원칙, 객체지향 설계 5가지 원칙]]></title>
        <id>https://codechacha.com/ko/solid-principles/</id>
        <link href="https://codechacha.com/ko/solid-principles/">
        </link>
        <updated>2023-06-03T00:00:00.000Z</updated>
        <content type="html"><![CDATA[객체 지향 프로그래밍의 5가지 원칙, SOLID에 대해서 알아보려고 합니다. SRP 단일 책임 원칙, OCP 개방 폐쇄 원칙, LSP 리스코프 치환 원칙, ISP 인터페이스 분리 원칙, DIP 의존 역전 원칙]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Java - Unsupported class file major version 61 에러]]></title>
        <id>https://codechacha.com/ko/java-unsupported-class-file-major/</id>
        <link href="https://codechacha.com/ko/java-unsupported-class-file-major/">
        </link>
        <updated>2023-06-03T00:00:00.000Z</updated>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Python - 온라인 컴파일러 사이트 추천]]></title>
        <id>https://codechacha.com/ko/python-online-compiler/</id>
        <link href="https://codechacha.com/ko/python-online-compiler/">
        </link>
        <updated>2023-06-03T00:00:00.000Z</updated>
        <content type="html"><![CDATA[파이썬 환경을 구축하지 않고, 간단히 온라인에서 코드를 실행하고 결과를 확인해볼 수 있습니다. 온라인 컴파일러 사이트들을 소개합니다. Programiz는 다크 모드 지원, 광고 있음, 로그인 필요 없음.]]></content>
        <author>
            <name>codechacha</name>
            <email>farfs.dev@gmail.com</email>
            <uri>https://codechacha.com</uri>
        </author>
    </entry>
</feed>