<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>일단은 프로그래머 나부랭이</title>
    <link>https://this1.tistory.com/</link>
    <description>이거원, 이것저것 남겨봅니다.</description>
    <language>ko</language>
    <pubDate>Fri, 6 Mar 2026 18:01:02 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>하필이면 도대체가</managingEditor>
    <item>
      <title>fstab 잘못 수정해서 emergency mode로 부팅될 경우</title>
      <link>https://this1.tistory.com/102</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 상태로 부팅이 될 경우 root 계정으로 login만 가능한데. /etc/fstab을 바로 수정하려 할 경우, read only라면서 수정이 안 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 절차에 따라 임시로 disk mount를 하고, /etc/fstab을 재수정하면, 문제를 해결할 수 있다&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;findmnt /
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;/ 의 device를 찾는다 (ex: /dev/sda)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;mount -o rw,remount /dev/sda /
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이 때 /dev/sda는 findmnt / 로 확인된 device를 지정해야 한다&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이후 vi 또는 vim으로 /etc/fstab을 접속하면 read only 메시지가 사라지고, 파일 수정이 가능해진다&lt;/li&gt;
&lt;li&gt;수정 완료 후 리부팅하면 된다.
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;만약 또 잘못 수정했다면 1번부터 반복&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>Linux</category>
      <category>emergencymode</category>
      <category>fstab</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/102</guid>
      <comments>https://this1.tistory.com/102#entry102comment</comments>
      <pubDate>Mon, 28 Jul 2025 17:28:44 +0900</pubDate>
    </item>
    <item>
      <title>무기력 디톡스를 읽고</title>
      <link>https://this1.tistory.com/101</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 책은 코로나 이후 집단적 무기력에 빠진 우리 사회를 위해 쓰여진 책이다 저자는 서울대병원의 정신건강의학과 교수로, 오래도록 사람들의 마음을 치유하기 위해 힘을 써온 사람이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자는 무기력에 빠진 요인을 3가지로 꼽는다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;정신적 요인: 스트레스와 압박감으로 인한 무기력&lt;/li&gt;
&lt;li&gt;신체적 요인: 몸과 마음은 연결되어 있다는 것에서 출발하는 내용으로 마음의 건강으로 신체적으로 나른해지고, 그로 인한 무기력&lt;/li&gt;
&lt;li&gt;환경적 요인: 세상 앞에서 내가 무력함을 느끼는 것&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자는 위의 3가지를 토대로 각자가 겪는 무기력을 설명한다. 나의 경우에는 위의 3가지가 복합적으로 왔던게 아닐까 싶다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 저자는 무기력한 마음을 활성화 하기 위한 마인드 부스팅 방법을 제시한다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;1단계: 2차 스트레스를 끊어라 저자는 스트레스를 두가지로 구분한다. 1차 스트레스는 내가 아닌 외부로부터 비롯된 스트레스 2차 스트레스는 나로부터 비롯된 스트레스이다. 구체적으로 설명하자면, 타인이 나를 비난하면 1차 스트레스이며, 이를 토대로 &amp;lsquo;나는 정말 쓰레기야&amp;rsquo;하면서 자기 비난에 빠지는 것은 2차 스트레스이다&lt;/li&gt;
&lt;li&gt;2단계: 자기 연민, 내 감정에 공감하라 나로서는 제일 이해하기 어려운 내용이었는데, 타인의 어려움에 공감하듯, 나라는 사람의 감정에도 공감해줘야 한다는 내용이었다.&lt;/li&gt;
&lt;li&gt;3단계: 반추 사고의 고리를 끊어라 이미 지나간 일을 계속해서 곱씹으며 괴로워하지 말라는 내용이다. 지나간 것은 더 이상 돌이킬 수 없으니, 일정 이상 되뇌이는 것은 자신을 괴롭힐 뿐이라는 내용이다.&lt;/li&gt;
&lt;li&gt;4단계: 마음에 시동을 걸어라 동기가 부여되는 완벽한 타이밍은 없다. 그러니 자신의 행동을 활성화 할 수 있는 방법을 찾으라는 내용이었다. 저자는 특히 익숙한 일상 생활에서 찾아볼 것을 권했다. (잠깐의 산책, 친구하고의 스몰 토크와 같은)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후의 내용은 더 이상 무기력에 빠지지 않기 위한 멘탈 강화 혹은 마음을 다치지 않는 요령과 같은 내용이었다. 모순적이게도 이 책의 제목은 &amp;lsquo;무기력&amp;rsquo; 디톡스이지만, 디톡스보다는 내 마음을 케어하고 관리하는 내용이 절반 이상을 차지한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;멘탈 강화의 방법으로는 다음의 방법을 추천했다&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;멘탈 브레이크 바쁜 일상 가운데 쉼을 가지라는 내용이었는데, 단어와 달리 방법은 그리 거창하지 않다. 일하는 중간에 잠깐의 커피 타임 혹은 사색을 가지는 정도면 충분하다 이는 내 마음에 잠깐의 숨돌릴 틈을 마련해준다&lt;/li&gt;
&lt;li&gt;오늘의 메모리를 관리하라 하루를 마무리하며, 좋은 일은 없었는지 되새기고, 그 날 하루를 &amp;lsquo;나쁘지 않았어&amp;rsquo;의 감정으로 마무리하라는 내용이다. 어째서 &amp;lsquo;오늘도 특별했어&amp;rsquo;가 아니냐고 묻는다면, 이는 이후에 후술할 내용과 이어진다&lt;/li&gt;
&lt;li&gt;행복 강박에서 벗어나라 반드시 모든 나날이 행복할 필요도 없고, 그럴 수도 없다. 가령 설탕을 먹은 뒤, 단 음식을 먹을 때 보다, 소금을 먹은 뒤 단 음식을 먹을 때 더 달게 느껴지는 것 처럼, 오늘이 나쁘지 않았다면, 설사 불행했더라도, 이는 행복이 찾아왔을 때 더 큰 행복을 느끼게 해주는 원동력이 된다&lt;/li&gt;
&lt;li&gt;자신의 감정과 거리를 둬라 때때로 자신의 감정을 타인화 하여 3인칭으로 대해보자 타인의 슬픔에는 100% 공감할 수 없는 것처럼, 자신의 감정을 타인화하는 것은 지금의 힘든 감정을 이겨내는데 도움을 준다. &amp;rsquo;아 그렇게 내가 힘들었구나&amp;rsquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 내용은 나의 마음과 일상이 무너지지 않도록 도움을 준다는게 저자의 논리였다. 나로서는 공감되는 내용도 있었지만, 과연 도움이 될까 싶은 내용도 많았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 저자는 관계를 맺는 것에 대한 이야기를 한다. 나의 힘듬이 타인에게 부담이 될 수 있다는 내용인데, 아래와 같은 예시를 든다&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;A라는 사람은 B에게 자신의 힘듬을 호소한다&lt;/li&gt;
&lt;li&gt;B는 처음에 열심히 들어주지만 매일 반복되는 대화에 어려움을 느낀다&lt;/li&gt;
&lt;li&gt;B는 점차 A를 멀리하게 된다. 그러나 A를 나쁘게 생각하지는 않고, 오히려 자신이 자주 연락하지 않는 것으로 인하여 A가 상처 받을까 걱정한다&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 논지였다. 절대로 서로가 다투거나, 싫어진 것은 아니나 A가 너무 B를 의지함으로 인하여 서로가 소원해지고, B는 걱정이 하나 더 늘었다. 때문에 저자는 건강한 관계를 위한 적정 거리를 제시한다. 물론 그렇다고해서 자신의 고민을 지인에게 털어놓지 말라는 의미는 아니다 어제는 힘든 일을 호소했다면, 오늘은 즐거운 이야기를 나누는게 좋다는 것이다 또한 다른 예시를 하나 더 들었는데, 때때로 가벼운 관계로 만난 사람에게 허심탄회하게 고민을 털어놓는게 도움이 될 수도 있다는 내용이었다. 요컨데 내 주변인은 나를 잘 알기 때문에 때로는 나에게 직언하지 못할 수도 있다. (저자는 이는 효율성에 비유했다) 하지만 나를 잘 모르는 사람이라면 오히려 직언하기 쉬우니, 고민을 해결하는게 효율적일 수도 있다는 내용이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 저자는 직장 생활에 관한 이야기를 한다. 가장 인상적이었던 내용은 &amp;lsquo;리더가 무조건적으로 팀원을 공감하지 않아도 되며, 때로는 리더로서 힘든 일이 있음을 팀원들에게 공유하라&amp;rsquo;는 내용이었다. 일반적으로 리더는 팀원들을 공감해주고, 그들의 고민이 해결될 수 있도록 도우라고 한다. 그러나 이런 리더들은 앞선 관계의 사례처럼 팀원으로 인하여 리더가 감정적으로 빠르게 지치는 원인이 될 수도 있다는 것. 또한 팀원들에게 자신의 힘듬을 공유함으로서, 팀원들이 리더에게 공감하고, 팀으로서 좀 더 바람직한 성과를 내기 유리하다는 논리였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 책은 여전히 우울증으로 치료중인 나의 눈에 띄어 읽히게 된 책이었다. 지금의 나는 &amp;lsquo;매일의 일상이 힘들며, 무엇을 해야한다는 것이 부담&amp;rsquo;되는 상황이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책의 많은 내용에 공감하는 한편, 나의 감정에 대한 관점을 어떻게 바꿔야할지 막막하다. 아니 바꿀 생각이 없는 걸지도 모르겠다. 그러면서 많은 생각이 들었다. 나는 나를 공감하지 못하면서, 타인을 공감하려 노력해왔다 나는 나를 사랑하지 않으면서, 타인에게 사랑 받고 싶어했다 나는 나의 회복을 말로만 말하면서, 실제로는 그 회복을 어떻게해야할지 알지 못한다. 나는 모순적이며, 이 상황에서 벗어날 생각이 없는걸까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 저자가 말했다 &amp;rsquo;삶의 의미를 찾으시라, 사람은 어두운 곳에 갇혀 있어도, 이곳을 나갈 수 있다는 &amp;ldquo;희망&amp;rdquo;만 있다면 어떤 어둠도 견딜 수 있다&amp;rsquo;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 삶의 의미 때때로 고민만 했지, 찾아야할 이유를 깨닫지 못했다 솔직히 때때로 나는 죽어도 괜찮지 않을까하고 생각한다. 의미를 찾지 못했으니, 삶에 의미가 없다고 생각하기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제는 정말로 찾아보자, 나의 삶의 의미를&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리 거창할 필요는 없겠지&lt;/p&gt;</description>
      <category>개인 근황 (이러고 삽니다)</category>
      <category>무기력디톡스</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/101</guid>
      <comments>https://this1.tistory.com/101#entry101comment</comments>
      <pubDate>Sun, 9 Mar 2025 00:28:44 +0900</pubDate>
    </item>
    <item>
      <title>시스템 예약 종료 프로그램</title>
      <link>https://this1.tistory.com/100</link>
      <description>&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/c7drd6/btsJfE7KUZS/J4R4qe51wLtjqkLZkeHZik/%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%98%88%EC%95%BD%20%EC%A2%85%EB%A3%8C.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;시스템 예약 종료.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;6.40MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 예약 종료 프로그램을 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐가 잘 안 된다 싶으면 '관리자 권한'으로 실행하시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간과 분을 각각 입력할 수 있습니다.&lt;br /&gt;단, 만약 0시간 0분을 입력하게 될 경우, 예약된 시스템 종료가 취소됩니다.&lt;/p&gt;</description>
      <category>뭔짓거리여!</category>
      <category>시스템예약종료</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/100</guid>
      <comments>https://this1.tistory.com/100#entry100comment</comments>
      <pubDate>Mon, 26 Aug 2024 22:30:06 +0900</pubDate>
    </item>
    <item>
      <title>docker container backup &amp;amp; restore</title>
      <link>https://this1.tistory.com/99</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;docker container backup &amp;amp; restore 방법 정리&lt;br /&gt;아래의 내용은 docker 1.13버전의 container를 20.10 버전으로 업그레이드 하는 과정에서 진행했던 backup &amp;amp; restore 방법을 정리 및 공유하기 위하여 작성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 container의 backup과 restore만을 정리했다.&lt;br /&gt;따라서 docker network와 bind 된 volume(docker run -v로 지정한 그것)은 아래의 내용과 별개로 재구성을 해줘야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;backup&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&amp;nbsp;docker commit [container name] [생성할 image name]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 사용중인 container를 docker image로 생성한다&lt;/li&gt;
&lt;li&gt;이 때 docker run -v 옵션으로 지정한 폴더의 내용은 저장되지 않는다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 어차피 host 장비에 저장되어 있기 때문으로 판단된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;docker save -o [file name].tar.gz [backup 대상 image]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;docker image를 tar.gz로 저장한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;restore&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;docker load -i [file name].tar.gz
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 때 file name은 docker image name으로 지정된다&lt;/li&gt;
&lt;li&gt;load가 정상 수행될 경우, docker images에서 확인할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;docker run -d [restore된 docker image]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 때 -v, --network, --name 등등의 옵션을 지정하여 기존과 동일한 내용을 container를 복원하도록 한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 docker save와 docker export의 차이를 정리한다.&lt;br /&gt;아래의 내용은 ChatGPT에게 질문하여 답변 받은 내용을 정리한 것이다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;docker save&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미지를 tar 파일로 저장.&lt;/li&gt;
&lt;li&gt;이미지의 모든 레이어와 메타데이터 포함.&lt;/li&gt;
&lt;li&gt;docker load를 사용하여 복원.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;docker export&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컨테이너의 파일 시스템을 tar 파일로 저장.&lt;/li&gt;
&lt;li&gt;컨테이너의 상태와 데이터만 포함.&lt;/li&gt;
&lt;li&gt;docker import를 사용하여 복원.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>docker container backup</category>
      <category>docker container restore</category>
      <category>컨테이너 백업</category>
      <category>컨테이너 복원</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/99</guid>
      <comments>https://this1.tistory.com/99#entry99comment</comments>
      <pubDate>Thu, 25 Jul 2024 10:47:59 +0900</pubDate>
    </item>
    <item>
      <title>웹 페이지에서 영상 또는 음악에 배속 거는 방법</title>
      <link>https://this1.tistory.com/98</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 설명은 크롬 웹브라우져를 기준으로 합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;개발자 도구 열기 (F12)&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Console 메뉴 진입&lt;/li&gt;
&lt;li&gt;'&amp;gt;' 화살표에 아래의 명령어를 입력. 배속은 최대 16배속까지 가능 (예제는 1.5배속)&lt;br /&gt;음악: document.getElementsByTagName(&quot;audio&quot;)[0].playbackRate = 1.5;&lt;br /&gt;영상: document.getElementsByTagName(&quot;video&quot;)[0].playbackRate = 1.5;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 위의 방법이 안 될 경우, video태그 또는 audio 태그를 사용하지 않은 것이며, 다른 방법을 찾아봐야겠죠 ㅠ&lt;/p&gt;</description>
      <category>HTML+CSS</category>
      <category>영상배속</category>
      <category>웹영상배속</category>
      <category>인강배속</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/98</guid>
      <comments>https://this1.tistory.com/98#entry98comment</comments>
      <pubDate>Sat, 18 May 2024 01:56:07 +0900</pubDate>
    </item>
    <item>
      <title>windows cmd상에서 *.msi 파일 설치하는 방법</title>
      <link>https://this1.tistory.com/97</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;windows OS에서 자동화를 할 때 유용할 것 같아서 적어둡니다.&lt;br /&gt;참고로, power shell용 명령어는 따로 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치: msiexec /package *.msi /passive&lt;br /&gt;제거: msiexec /uninstall *.msi /passive&lt;br /&gt;도움말: msiexec /help&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/passive 옵션을 사용하면 gui 화면이 나타나지 않고, 자동으로 진행됩니다.&lt;br /&gt;아마 default 설정으로 기본 설치 되는 것으로 추측됩니다.&lt;/p&gt;</description>
      <category>기타등등</category>
      <category>CMD</category>
      <category>cmd로msi파일설치</category>
      <category>cmd인스톨러설치</category>
      <category>Windows</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/97</guid>
      <comments>https://this1.tistory.com/97#entry97comment</comments>
      <pubDate>Fri, 2 Jun 2023 15:40:00 +0900</pubDate>
    </item>
    <item>
      <title>Ventoy 사용법</title>
      <link>https://this1.tistory.com/96</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Ventoy란? (Ventoy 공식 사이트 : &lt;a href=&quot;https://www.ventoy.net/en/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.ventoy.net/en/index.html&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈 소스 프로그램으로, usb 메모리를 부팅 디스크로 만들지 않고, iso 파일 등만 넣으면 바로 부팅 디스크처럼 동작하게 만들어주는 프로그램입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점은 하나의 usb 메모리에 OS별 iso 파일만 넣어두면, 매번 rufus로 부팅 디스크를 만들지 않고, OS를 선택해서 설치할 수 있습니다. 또 iso 파일을 지우고(또는 남은 공간을) 디스크 공간을 확보하면 일반적인 usb 메모리로 이용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;준비물은 다음과 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 위의 공식사이트에서 제공하는 ventoy 최신 인스톨러&lt;br /&gt;- usb 메모리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ventoy 설치 및 사용법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. usb메모리를 pc에 연결한 후, ventoy 인스톨러 다운로드 합니다.&lt;br /&gt;2. 압축 해제 후, Ventoy2Disk.exe를 실행, Device란에서 ventoy를 설치할 usb 메모리를 지정하고, Install 버튼을 실행합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치 1.jpg&quot; data-origin-width=&quot;1219&quot; data-origin-height=&quot;693&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIRiC5/btrXyqPfBIp/hPSlnrtbNjfN5JL1uUha1K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIRiC5/btrXyqPfBIp/hPSlnrtbNjfN5JL1uUha1K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIRiC5/btrXyqPfBIp/hPSlnrtbNjfN5JL1uUha1K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIRiC5%2FbtrXyqPfBIp%2FhPSlnrtbNjfN5JL1uUha1K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1219&quot; height=&quot;693&quot; data-filename=&quot;설치 1.jpg&quot; data-origin-width=&quot;1219&quot; data-origin-height=&quot;693&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.Ventoy 설치가 완료되면 usb 메모리는 아래와 같이 파티션이 생성됩니다.&lt;br /&gt;4. 설치가 완료된 후, 적당한 iso 파일을 복사합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;파티션.jpg&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qW5fr/btrXA9M9Kpn/VKdXThJFPX6k8dJVjjN6x0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qW5fr/btrXA9M9Kpn/VKdXThJFPX6k8dJVjjN6x0/img.jpg&quot; data-alt=&quot;ventoy가 쓰는건 고작 32MB이며, 나머지 대부분의 공간은 이전처럼 사용가능&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qW5fr/btrXA9M9Kpn/VKdXThJFPX6k8dJVjjN6x0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqW5fr%2FbtrXA9M9Kpn%2FVKdXThJFPX6k8dJVjjN6x0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;168&quot; data-filename=&quot;파티션.jpg&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ventoy가 쓰는건 고작 32MB이며, 나머지 대부분의 공간은 이전처럼 사용가능&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. OS를 설치할 pc(또는 노트북)에 ventoy usb 메모리를 연결한 후, 부팅 디스크를 usb 메모리로 지정합니다.&lt;br /&gt;6. 아래와 같은 화면이 나오는데, 여기서 자신이 설치할 iso 파일을 선택한 후, enter를 입력합니다.&lt;br /&gt;7. 부트로더를 선택한 후, OS 설치 화면으로 진입합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;iso 목록.jpg&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y6GYE/btrXDACAPaU/TfuwBSBkgEPB13JCbmcbu1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y6GYE/btrXDACAPaU/TfuwBSBkgEPB13JCbmcbu1/img.jpg&quot; data-alt=&quot;이후부터는 각 OS별 설치 화면으로 진입한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y6GYE/btrXDACAPaU/TfuwBSBkgEPB13JCbmcbu1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY6GYE%2FbtrXDACAPaU%2FTfuwBSBkgEPB13JCbmcbu1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1440&quot; height=&quot;1080&quot; data-filename=&quot;iso 목록.jpg&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이후부터는 각 OS별 설치 화면으로 진입한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ventoy는 사용법도 간단하고, 매번 포맷 및 부팅 디스크 만드는 번거로움도 없어 굉장히 편리한 것 같습니다.&lt;/p&gt;</description>
      <category>기타등등</category>
      <category>VENTOY</category>
      <category>ventoy 사용법</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/96</guid>
      <comments>https://this1.tistory.com/96#entry96comment</comments>
      <pubDate>Mon, 30 Jan 2023 21:33:01 +0900</pubDate>
    </item>
    <item>
      <title>스톱워치 프로그램</title>
      <link>https://this1.tistory.com/95</link>
      <description>&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b9hmBx/btrHEW8Su8f/yFZkAQD4MzqEiqQVU5kWUK/stop_watch%20%EC%BD%94%EB%93%9C.py?attach=1&amp;amp;knm=tfile.py&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;stop_watch 코드.py&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bPog7o/btrHBAe9M5k/MguasKgIMefMqOn65bg17K/stop_watch.exe?attach=1&amp;amp;knm=tfile.exe&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;stop_watch.exe&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;6.58MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cbkQFS/btrHAHliI61/nNUmxTAitePsABaL8K2HG0/stop_watch_%ED%81%B0%20%EA%B8%80%EC%94%A8.exe?attach=1&amp;amp;knm=tfile.exe&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;stop_watch_큰 글씨.exe&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;6.58MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통은 스마트폰에 내장된 스톱워치를 사용하겠지만, 어쩌다보니 pc에서 스톱워치를 써야할 일이 있어, 만들어봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬 3를 이용해 만들었으며, pyinstaller를 이용해 패키지로 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첨부된 파일중 stop_watch.exe와 stop_watch_큰 글씨.exe는 같은 코드에서 글자 크기만 다르게 해서 만들었습니다.&lt;br /&gt;stop_watch 코드.py는 소스 코드입니다.&lt;/p&gt;</description>
      <category>뭔짓거리여!</category>
      <category>스톱워치</category>
      <category>파이썬 스톱워치</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/95</guid>
      <comments>https://this1.tistory.com/95#entry95comment</comments>
      <pubDate>Mon, 18 Jul 2022 20:50:42 +0900</pubDate>
    </item>
    <item>
      <title>Flashback 정리</title>
      <link>https://this1.tistory.com/94</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;DB를 restore 하지 않고, 과거 특정 시점의 data를 조회하는 기술로, backup된 db를 restore하는 것과는 다르다&lt;br /&gt;(flashback이란? : &lt;a href=&quot;https://www.oracle.com/kr/database/technologies/high-availability/flashback.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.oracle.com/kr/database/technologies/high-availability/flashback.html&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(flashback transaction, total recall은 보고 있던 책에 예제가 없어서 따로 정리하지 않음)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;flashback query : 특정 시점의 테이블의 데이터 조회&lt;/li&gt;
&lt;li&gt;flashback version query : 특정 기간의 테이블의 데이터 버전 조회&lt;/li&gt;
&lt;li&gt;flashback transaction query : 특정 기간의 트랜잭션에 의한 변경정보 조회&lt;/li&gt;
&lt;li&gt;flashback table : 특정시점으로 테이블을 되돌림&lt;/li&gt;
&lt;li&gt;flashback drop : 삭제된 테이블을 원하는 시점으로 복원&lt;/li&gt;
&lt;li&gt;flashback&amp;nbsp;database&amp;nbsp;:&amp;nbsp;DB를&amp;nbsp;지정한&amp;nbsp;시점으로&amp;nbsp;되돌림&amp;nbsp;(과거에&amp;nbsp;생성한&amp;nbsp;backup&amp;nbsp;db를&amp;nbsp;restore하는&amp;nbsp;것과는&amp;nbsp;다름)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 각 기능은 아래에 정리된 저장소(?) 또는 log의 정보를 기반으로 동작한다. (불친절한 SQL 프로그래밍 921p에서 발췌)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;undo segment 사용 : flashback query, version query, transaction query, table
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;때문에 만약 undo segment 공간이 재사용 될 경우, error가 발생할 수 있다. (ora-08180)&lt;/li&gt;
&lt;li&gt;이 경우 flashback으로도 해당 시점의 내용을 조회할 수 없게 된다. (다른 방법이 있는지는 찾아보지 않음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;recyclebin 사용 : flashback drop&lt;/li&gt;
&lt;li&gt;flashback log 사용 : flashback database&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;flashback table 생성 및 사용방법&lt;/b&gt; (flashback query, flashback version query 사용법 정리)&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;flashback 기능을 사용하기 위해서는 table 생성시 enable row movement를 포함하여 생성해야 한다. &lt;br /&gt;(ex : create table t1 (col number) enable row movement;)&lt;/li&gt;
&lt;li&gt;data를 insert 혹은 delete해준다. (insert 혹은 delete시 commit 잘 해줄것)&lt;/li&gt;
&lt;li&gt;다음의 query 형식으로 조회하며, 아래의 timestamp는 scn 변경하여도 조회 가능.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;flashback query (as of timestamp 절을 이용)&lt;br /&gt;ex : select * from [table name]as&amp;nbsp;of&amp;nbsp;timestamp&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; timestamp&amp;nbsp;'yyyy-mm-dd&amp;nbsp;hh:mi24:ss';&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;flashback version query (versions between timestamp 절을 이용)&lt;br /&gt;ex : select * from t1 versions&amp;nbsp;between&amp;nbsp;timestamp&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;timestamp&amp;nbsp;'yyyy-mm-dd&amp;nbsp;hh:mi24:ss'&amp;nbsp;and&amp;nbsp;[timestamp&amp;nbsp;혹은&amp;nbsp;maxvalue];&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;flashback&amp;nbsp;transaction&amp;nbsp;query&amp;nbsp;조회&amp;nbsp;방법&lt;/b&gt; (단&amp;nbsp;dba&amp;nbsp;권한&amp;nbsp;필요)&lt;br /&gt;&amp;nbsp;: select * from&amp;nbsp;&lt;i&gt;f&lt;/i&gt;lashback_transaction_query; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;flashback table 사용 방법&lt;br /&gt;&lt;/b&gt;&amp;nbsp;: flashback table [table name] to timestamp timestamp 'yyyy-mm-dd hh:mi24:ss'; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;flashback drop 사용 방법&lt;br /&gt;&lt;/b&gt;&amp;nbsp;: flashback table [복원할 table name] to before drop rename to [rename할 table name];&lt;br /&gt;※ 참고 : 복원할 table이 recyclebin에 남아 있는지 확인하는 방법 : select * from user_recyclebin;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;flashback database 사용 방법&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;관련 옵션 활성화 (dba 권한 필요)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;shutdown immediate&lt;/li&gt;
&lt;li&gt;startup mount&lt;/li&gt;
&lt;li&gt;alter database archivelog;&lt;/li&gt;
&lt;li&gt;alter database flashback on;&lt;/li&gt;
&lt;li&gt;alter database open;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;되돌리기
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;shutdown immediate&lt;/li&gt;
&lt;li&gt;startup mount&lt;/li&gt;
&lt;li&gt;ex : (DB를 10분전으로 되돌림) flashback database to timestamp (systimestamp - interval '10' minute);&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>DBMS</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/94</guid>
      <comments>https://this1.tistory.com/94#entry94comment</comments>
      <pubDate>Sun, 6 Mar 2022 16:39:02 +0900</pubDate>
    </item>
    <item>
      <title>(메모) CUBRID python driver test</title>
      <link>https://this1.tistory.com/93</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;CUBRID python driver test : &lt;a href=&quot;https://github.com/swi0110/python_driver_test&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/swi0110/python_driver_test&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;개요&lt;/b&gt;&lt;br /&gt;cubrid python driver를 이용해 sql 파일을 수행하고 결과가 정상적으로 출력 됐는지를 확인 함&lt;br /&gt;몇가지 문제가 있지만 추후에 보완하기 위해 git hub에 올려둠 (문제는 후술)&lt;br /&gt;&lt;br /&gt;참고 : Test 프로그램의 기능 검증(?)을 위해 활용한 *.sql 파일은 cubrid repository에 있는 cubrid-testcases의 test scenario의 일부를 사용했음&lt;br /&gt;(링크 : &lt;a href=&quot;https://github.com/CUBRID/cubrid-testcases/tree/develop/sql&quot;&gt;https://github.com/CUBRID/cubrid-testcases/tree/develop/sql&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Test 수행 방법 및 수행 방식&lt;/b&gt;&lt;br /&gt;Test.py에 있는 'tc_path'로 test scenario가 있는 dir의 경로를 설정하고, 'cubrid.connect'에 DB 접속 정보를 입력하면 기본적이 테스트 수행 가능 함&lt;br /&gt;현재 test 수행 방식은 지정된 path에 있는 cases/*.sql 파일을 전부 찾아 test를 수행하며, 수행된 결과는 cases/*.result로 출력되며, answers/*.answer 파일의 내용과 diff로 비교하는 방식으로 수행 됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;환경 설정 및 확인된 문제&lt;/b&gt;&lt;br /&gt;지원&amp;nbsp;환경&amp;nbsp;:&amp;nbsp;Linux&amp;nbsp;OS &lt;br /&gt;필요&amp;nbsp;패키지&amp;nbsp;:&amp;nbsp;Python&amp;nbsp;3 &lt;br /&gt;&lt;br /&gt;현재 확인 된 문제 &lt;br /&gt;1. 테스트하는 파일이 150~200개 이상이면 python driver에서 core가 발생함&lt;br /&gt;2. null 값을 None으로 출력함&lt;br /&gt;&amp;nbsp; &amp;nbsp;(이는 python의 특성으로 보여짐 타 DBMS driver에서 null을 받을 때 어떻게 처리하는지 확인할 필요가 있음) &lt;br /&gt;3. collection type을 select하면 data에 '[ ](대괄호)'를 씌움&lt;br /&gt;&amp;nbsp; &amp;nbsp;(잘못 됐다기 보단, cubrid-testcases에서 제공되는 답지와 다르게 출력 되기 때문에 fail 처리 됨)&lt;/p&gt;</description>
      <category>DBMS</category>
      <category>cubrid</category>
      <category>python</category>
      <author>하필이면 도대체가</author>
      <guid isPermaLink="true">https://this1.tistory.com/93</guid>
      <comments>https://this1.tistory.com/93#entry93comment</comments>
      <pubDate>Mon, 11 Oct 2021 23:25:50 +0900</pubDate>
    </item>
  </channel>
</rss>