<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>아빠는개발자</title>
    <link>https://programmerdaddy.tistory.com/</link>
    <description>개발자를 위한 블로그입니다. php, 자바스크립트,jquery, 자바,mysql,oracle,파이썬, 엘라스틱서치등등...</description>
    <language>ko</language>
    <pubDate>Sat, 15 Aug 2026 17:18:54 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>에스크리토</managingEditor>
    <image>
      <title>아빠는개발자</title>
      <url>https://tistory1.daumcdn.net/tistory/2922239/attach/73d8acace51e40928b21f3d71f26dcaa</url>
      <link>https://programmerdaddy.tistory.com</link>
    </image>
    <item>
      <title>그래픽</title>
      <link>https://programmerdaddy.tistory.com/554</link>
      <description>&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;⚙️ 게임 켜서 딱 1분 만에 끝내는 세팅 방법&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDRAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;게임에 접속하신 후 키보드의 ESC를 누르고 다음 순서대로 체크만 해주시면 됩니다.&lt;/div&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;디스플레이 전환&lt;/b&gt;: &lt;b&gt;설정 ➡️ 화면 설정 ➡️ 디스플레이 설정&lt;/b&gt;으로 이동합니다.&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://www.youtube.com/watch?v=EUwZsEiddh4&amp;amp;t=40&quot;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAD&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;DirectX 12 선택&lt;/b&gt;: 그래픽 API 설정 항목에서 기존 DX11로 되어 있던 것을 &lt;b&gt;DirectX 12로 변경&lt;/b&gt;합니다. (설정 적용을 위해 게임 재시작이 필요할 수 있습니다.)&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAG&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;DLSS 및 프레임 생성 활성화&lt;/b&gt;: &lt;b&gt;화면 설정 ➡️ 품질&lt;/b&gt; 또는 &lt;b&gt;그래픽 최적화&lt;/b&gt; 탭으로 이동하여 &lt;b&gt;NVIDIA DLSS&lt;/b&gt; 옵션을 찾습니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAH&quot; data-ved=&quot;2ahUKEwjQsJLu55mWAxWksVYBHZ7JO6wQ-7AUegYIAAgOEAc&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAI&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;DLSS 모드&lt;/b&gt;: 품질(Quality) 혹은 DLAA로 선택합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAJ&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;DLSS 프레임 생성(Frame Generation)&lt;/b&gt;: 켜기(Check)로 활성화합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;  아주 사소한 꿀팁 하나 더&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIERAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;수년 동안 그래픽카드 드라이버를 업데이트하지 않으셨다면, 이번 기회에 컴퓨터에 깔려 있는 &lt;b&gt;NVIDIA GeForce Experience&lt;/b&gt;나 공식 홈페이지를 통해 &lt;b&gt;그래픽 드라이버를 최신 버전으로 업데이트&lt;/b&gt;해주시면 DX12와 DLSS가 한층 더 안정적으로 작동합니다.&lt;span&gt; [&lt;a href=&quot;https://www.youtube.com/watch?v=prER_4cPraE&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://www.reddit.com/r/TheFirstDescendant/comments/1dspv3k/directx_12_is_not_supported_on_your_system_try/?tl=ko&quot;&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIEhAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;오늘 저녁에 접속하셔서 설정 변경해 보시고, 혹시 옵션이 회색으로 비활성화되어 있거나 세팅 중에 막히는 부분이 생기시면 언제든 말씀해 주세요! 구체적으로 어떤 메뉴에서 막히는지 알려주시면 바로 해결해 드리겠습니다.&lt;span&gt; [&lt;a href=&quot;https://www.youtube.com/watch?v=EUwZsEiddh4&amp;amp;t=40&quot;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sfc-inited=&quot;2&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-wiz-uids=&quot;UPjPfb_3h&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-xid=&quot;Gd7Hsc&quot;&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; margin: 4px 0px 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;1️⃣ 인게임 '최적화 설정' 수치 올리기 (Shift+F5 작동 조건 변경)&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIChAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;시스템이 '렉이 걸렸다'고 판단하는 기준 프레임 수치를 강제로 높여주면 Shift + F5가 바로 작동합니다.&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAICxAA&quot; data-ved=&quot;2ahUKEwjZ49jF6JmWAxV32jQHHS_iOJQQ-7AUegYIAAgLEAA&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAICxAB&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;설정 방법&lt;/b&gt;: 게임 설정 ➡️ 성능 설정 ➡️ &lt;b&gt;[최적화]&lt;/b&gt; 메뉴로 이동합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAICxAC&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;수정&lt;/b&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;: '다른 모험가 숨기기' 항목에서 기준 프레임을 &lt;b&gt;최대치(예: 60프레임 또는 그 이상)&lt;/b&gt;로 올려버립니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAICxAD&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;결과&lt;/b&gt;: 프레임이 아주 조금만 출렁여도 시스템이 즉시 주변 유저들을 화면에서 지워버립니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;2️⃣ '가까이 있는 보스 주변' 유저 숨기기 켜기 (핵심)&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDBAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;검은사막에는 보스와 겹쳐 있는 유저들을 강제로 안 보이게 하는 별도의 레이드 전용 옵션이 있습니다.&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDRAA&quot; data-ved=&quot;2ahUKEwjZ49jF6JmWAxV32jQHHS_iOJQQ-7AUegYIAAgNEAA&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDRAB&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;설정 방법&lt;/b&gt;: 게임 설정 ➡️ 성능 설정 ➡️ 최적화 ➡️ &lt;b&gt;[우두머리 시야 확보 (가까이 있는 모험가 숨기기)]&lt;/b&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt; 옵션을 반드시 &lt;b&gt;'켜기'&lt;/b&gt;로 체크합니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDRAC&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;결과&lt;/b&gt;: 월드 보스나 길드 레이드 보스 바로 옆에서 비비며 딜을 넣는 수십 명의 유저들이 완벽하게 사라집니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;3️⃣ 다른 모험가 이펙트 투명도 '0%' 만들기&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDhAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;위치와 우사처럼 이펙트가 큰 캐릭들이 수십 명 모여있으면 캐릭터를 숨겨도 '이펙트 잔상' 때문에 팬이 계속 돌 수 있습니다.&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDxAA&quot; data-ved=&quot;2ahUKEwjZ49jF6JmWAxV32jQHHS_iOJQQ-7AUegYIAAgPEAA&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDxAB&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;설정 방법&lt;/b&gt;: 게임 설정 ➡️ 화면 설정 ➡️ 효과 ➡️ &lt;b&gt;[화면 효과 설정]&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIDxAC&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;수정&lt;/b&gt;: &lt;b&gt;'다른 모험가 기술 이펙트 보기'를 체크 해제&lt;/b&gt;하거나, 아래 &lt;b&gt;'이펙트 투명도' 슬라이더를 0%&lt;/b&gt; 또는 최소치로 줄여버립니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; margin: 32px 0px; text-decoration: none; border-bottom: 0px rgb(128, 128, 128);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-pl=&quot;|||[]&quot; data-sfc-root=&quot;ep&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;1️⃣ 가장 간편한 최신 방법: 'NVIDIA App' 활용하기&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIERAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;기존의 복잡했던 제어판과 지포스 익스피리언스가 하나로 합쳐진 최신 프로그램입니다.&lt;span&gt; [&lt;a href=&quot;https://blog.naver.com/danawa02/223773506548&quot;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIFBAA&quot; data-ved=&quot;2ahUKEwjZhrH955mWAxWZslYBHWT9J70Q-7AUegYIAAgUEAA&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIFBAC&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;그래픽카드 자동 오버클럭 기능&lt;/b&gt;: 앱 내부의 &lt;b&gt;[시스템] ➡️ [성능]&lt;/b&gt; 탭으로 이동하면 &lt;b&gt;'자동 조정'&lt;/b&gt; 스위치가 있습니다&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;. 이를 켜면 AI가 유저분의 &lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot;&gt;RTX 5070&lt;/span&gt;&lt;/span&gt; 수율을 안전하게 분석하여 &lt;/span&gt;&lt;b&gt;클럭을 자동으로 오버클럭&lt;/b&gt;해 줍니다. (성능이 무료로 향상됩니다.)&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://m.blog.naver.com/baljern/223846483930&quot;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIFBAG&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;RTX 다이나믹 선명도 (AI 필터)&lt;/b&gt;: 게임 중 Alt + F3을 누르면 AI가 화면을 선명하게 보정해 주는 필터를 씌울 수 있습니다. DLSS를 켰을 때 미세하게 발생하는 화면 뭉개짐을 완전히 지워주는 꿀기능입니다.&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://coolenjoy.net/bbs/39/34118&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://www.inven.co.kr/board/black/3583/1931352&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;https://www.facebook.com/groups/372119787729533/posts/1309279440680225/&quot;&gt;3&lt;/a&gt;, &lt;a href=&quot;https://www.nvidia.com/ko-kr/geforce/news/nvidia-app-download-and-features/&quot;&gt;4&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; margin: 32px 0px; text-decoration: none; border-bottom: 0px rgb(128, 128, 128);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-pl=&quot;|||[]&quot; data-sfc-root=&quot;ep&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;2️⃣ 전통의 정밀 세팅: 'NVIDIA 제어판' 3D 설정&lt;/div&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIHBAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;윈도우 바탕화면 빈 곳을 마우스 우클릭하여 &lt;b&gt;[NVIDIA 제어판]&lt;/b&gt;을 열고, &lt;/span&gt;&lt;b&gt;[3D 설정 관리] ➡️ [프로그램 설정]&lt;/b&gt; 탭에서 검은사막(Black Desert)을 선택한 뒤 아래 3가지 옵션만 바꿔주세요.&lt;span&gt; [&lt;a href=&quot;https://www.reddit.com/r/blackdesertonline/comments/5agmsq/how_to_massively_increase_your_fps_in_bdo/&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://support.medit.com/hc/ko/articles/360040008572-Web-Viewer-%EC%82%AC%EC%9A%A9%EC%9D%84-%EC%9C%84%ED%95%9C-NVIDIA-%EC%A0%9C%EC%96%B4%ED%8C%90-%EC%84%A4%EC%A0%95&quot;&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-processed=&quot;true&quot; data-hveid=&quot;CAAIJBAA&quot; data-ved=&quot;2ahUKEwjZhrH955mWAxWZslYBHWT9J70Q-7AUegYIAAgkEAA&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sae=&quot;&quot; data-hveid=&quot;CAAIJBAC&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;전원 관리 모드 ➡️ 최고 성능 선호로 변경&lt;/b&gt;: 그래픽카드가 사냥 도중 절대 쉬지 않고 항상 100%의 풀 클럭 성능을 내도록 고정합니다. (프레임 드랍 방지에 가장 중요합니다.)&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://m.dcinside.com/board/heidel/194274&quot;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIJBAH&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;기본 재생 빈도 ➡️ 사용 가능한 최고 값으로 변경&lt;/b&gt;: 모니터가 가진 최고 주사율(Hz)을 게임 내에서 강제로 고정해 줍니다.&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://www.inven.co.kr/board/diablo4/6023/8638&quot;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIJBAM&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;저지연 모드 ➡️ 끄기 또는 켜기 (울트라 금지)&lt;/b&gt;: 검은사막은 '울트라'로 설정 시 오히려 화면이 뚝뚝 끊기는 스태터링이 생길 수 있으므로 끄기 혹은 인게임 설정을 따르는 것이 안정적입니다.&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://m.dcinside.com/board/heidel/194274&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://www.inven.co.kr/board/black/3583/1931352&quot;&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; margin: 32px 0px; text-decoration: none; border-bottom: 0px rgb(128, 128, 128);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-pl=&quot;|||[]&quot; data-sfc-root=&quot;ep&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;div data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; margin: 24px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt; ️ 지금 바로 해야 할 행동 요약&lt;/div&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 12px 0px 16px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIKBAA&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;인터넷에 &lt;b&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 700; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;a href=&quot;https://www.nvidia.com/ko-kr/software/nvidia-app/&quot; data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 500; margin: 0px; text-decoration: underline 1px rgb(21, 88, 214); border-bottom: 0px rgb(21, 88, 214);&quot; data-hveid=&quot;CAAIKBAB&quot; data-ved=&quot;2ahUKEwjZhrH955mWAxWZslYBHWT9J70Qy_kOegYIAAgoEAE&quot;&gt;NVIDIA App&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; 공식 홈페이지를 통해 다운로드해 설치합니다. (설치 시 구형 제어판 기능들이 최신 UI로 깔끔하게 통합됩니다.)&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIKBAC&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;앱에서 &lt;b&gt;자동 오버클럭&lt;/b&gt;을 켜두고 게임에 접속합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px 0px 12px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAAIKBAD&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-copy-service-computed-style=&quot;font-family: Arial, sans-serif; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);&quot; data-complete=&quot;true&quot; data-sfc-root=&quot;ep&quot; data-sfc-cp=&quot;&quot;&gt;검은사막 인게임에서 &lt;b&gt;DirectX 12 + DLSS 품질 + 프레임 생성&lt;/b&gt;을 켜고 사냥을 즐기시면 끝입니다!&lt;/span&gt;&lt;span&gt; [&lt;a href=&quot;https://www.nvidia.com/ko-kr/software/nvidia-app/&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://blog.naver.com/danawa02/223773506548&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;https://m.blog.naver.com/baljern/223846483930&quot;&gt;3&lt;/a&gt;]&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>쉬었다하자</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/554</guid>
      <comments>https://programmerdaddy.tistory.com/554#entry554comment</comments>
      <pubDate>Wed, 12 Aug 2026 09:23:07 +0900</pubDate>
    </item>
    <item>
      <title>PHP 웹소켓을 이용한 채팅 feat.Ratchet #4 - PM2를 이용해 채팅 데몬 띄우기</title>
      <link>https://programmerdaddy.tistory.com/549</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;채팅 데몬을 계속 띄워놓기 위해 pm2라는 놈을 써보려고 한다.&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;노드에서 사용하는 놈이기때문에 node와 npm을 설치해야한다. 그건 각자 알아서.&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;$sudo&amp;nbsp;npm&amp;nbsp;install&amp;nbsp;pm2&amp;nbsp;-g&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;/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;$pm2&amp;nbsp;start&amp;nbsp;chat_server.php&amp;nbsp;--interpreter&amp;nbsp;php&amp;nbsp;--name&amp;nbsp;&quot;chat-server&quot;&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;/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;/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;$pm2&amp;nbsp;startup&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;이렇게 하면 뭔가 환경 설정 명령어를 pm2가 만들어서 뿌려준다.&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;보통 sudo로 시작하니까 그 줄을 복사해서 실행해준다.&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;$ sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u 유저명 --hp 경로&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;/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;/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;$pm2&amp;nbsp;save&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;/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;$ pm2&amp;nbsp;status&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;/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;pm2&amp;nbsp;status:&amp;nbsp;현재&amp;nbsp;실행&amp;nbsp;중인&amp;nbsp;서버&amp;nbsp;목록과&amp;nbsp;상태(online),&amp;nbsp;재시작&amp;nbsp;횟수를&amp;nbsp;보여줍니다. &lt;br /&gt;pm2&amp;nbsp;logs&amp;nbsp;chat-server:&amp;nbsp;채팅&amp;nbsp;서버에서&amp;nbsp;발생하는&amp;nbsp;로그(에러&amp;nbsp;등)를&amp;nbsp;실시간으로&amp;nbsp;보여줍니다.&amp;nbsp;(디버깅할&amp;nbsp;때&amp;nbsp;최고입니다.) &lt;br /&gt;pm2&amp;nbsp;restart&amp;nbsp;chat-server:&amp;nbsp;소스&amp;nbsp;코드를&amp;nbsp;수정했을&amp;nbsp;때&amp;nbsp;서버를&amp;nbsp;재시작합니다. &lt;br /&gt;pm2&amp;nbsp;stop&amp;nbsp;chat-server:서버를&amp;nbsp;잠시&amp;nbsp;멈춥니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PHP</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/549</guid>
      <comments>https://programmerdaddy.tistory.com/549#entry549comment</comments>
      <pubDate>Wed, 8 Apr 2026 15:17:37 +0900</pubDate>
    </item>
    <item>
      <title>pc견적</title>
      <link>https://programmerdaddy.tistory.com/545</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2026.01.22 PC견적.png&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;859&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyCCjb/dJMcaf6rOBZ/cBbtr530ogUChNGvA2Qf8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyCCjb/dJMcaf6rOBZ/cBbtr530ogUChNGvA2Qf8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyCCjb/dJMcaf6rOBZ/cBbtr530ogUChNGvA2Qf8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyCCjb%2FdJMcaf6rOBZ%2FcBbtr530ogUChNGvA2Qf8K%2Fimg.png&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;762&quot; height=&quot;859&quot; data-filename=&quot;2026.01.22 PC견적.png&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;859&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>개발은아니지만</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/545</guid>
      <comments>https://programmerdaddy.tistory.com/545#entry545comment</comments>
      <pubDate>Thu, 22 Jan 2026 15:54:31 +0900</pubDate>
    </item>
    <item>
      <title>[라라벨]ORM 안쓰고 일반 쿼리로 라라벨 페이징이랑 호환되는 함수</title>
      <link>https://programmerdaddy.tistory.com/543</link>
      <description>&lt;div style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Illuminate\Support\Facades\&lt;/span&gt;&lt;span style=&quot;color: #267f99;&quot;&gt;DB&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Illuminate\Pagination\&lt;/span&gt;&lt;span style=&quot;color: #267f99;&quot;&gt;LengthAwarePaginator&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;paginateSmart&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$sql&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$bindings&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = [], &lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$perPage&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #098658;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;// 현재 페이지&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$page&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #267f99;&quot;&gt;LengthAwarePaginator&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;resolveCurrentPage&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;// 전체 개수 구하는 쿼리 (원본 SQL을 서브쿼리로 감쌈)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$countSql&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;COUNT&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt; cnt &lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt; ({&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$sql&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;}) &lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt; sub&lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$countRow&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #267f99;&quot;&gt;DB&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;selectOne&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$countSql&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$bindings&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$total&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;nbsp; &amp;nbsp;= (&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;) (&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$countRow&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;cnt&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; ?? &lt;/span&gt;&lt;span style=&quot;color: #098658;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;// 페이지 아이템 가져오기용 LIMIT / OFFSET&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$offset&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = (&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$page&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;color: #098658;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;) * &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$perPage&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$items&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;nbsp;= &lt;/span&gt;&lt;span style=&quot;color: #267f99;&quot;&gt;DB&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$sql&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot; LIMIT ? OFFSET ?&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;array_merge&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$bindings&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, [&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$perPage&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$offset&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;// 라라벨 기본 paginator랑 동일한 객체 리턴&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #af00db;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #267f99;&quot;&gt;LengthAwarePaginator&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$items&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$total&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$perPage&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$page&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;'path'&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;nbsp;=&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;request&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;()-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(),&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;'query'&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; =&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;request&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;()-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;query&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;// withQueryString() 같이 쓰려고&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 Helpers에 함수 만들고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$sql&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SELECT *&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM test&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE aaa = ?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ORDER BY id DESC&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a31515;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$results&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;paginateSmart&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$sql&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, [&lt;/span&gt;&lt;span style=&quot;color: #001080;&quot;&gt;$aaa&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #098658;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;이렇게 호출함...&lt;/div&gt;
&lt;/div&gt;</description>
      <category>PHP</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/543</guid>
      <comments>https://programmerdaddy.tistory.com/543#entry543comment</comments>
      <pubDate>Tue, 9 Dec 2025 10:41:55 +0900</pubDate>
    </item>
    <item>
      <title>신사임당은 정말 현모양처였을까?</title>
      <link>https://programmerdaddy.tistory.com/542</link>
      <description>&lt;p data-end=&quot;1975&quot; data-start=&quot;1859&quot; data-ke-size=&quot;size16&quot;&gt;신사임당(申師任堂)은 오랫동안 한국 사회에서&lt;br /&gt;&amp;ldquo;현모양처의 상징&amp;rdquo;으로 자리 잡아 왔다.&lt;br /&gt;그러나 실제 역사 기록과 미술사 연구를 들여다보면,&lt;br /&gt;이 이미지는 &lt;b&gt;사실과 매우 다르다&lt;/b&gt;는 것을 알 수 있다.&lt;/p&gt;
&lt;hr data-end=&quot;1980&quot; data-start=&quot;1977&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2017&quot; data-start=&quot;1982&quot; data-ke-size=&quot;size26&quot;&gt;■ 1. &amp;lsquo;현모양처&amp;rsquo;라는 이미지는 역사적 사실이 아니다&lt;/h2&gt;
&lt;p data-end=&quot;2071&quot; data-start=&quot;2018&quot; data-ke-size=&quot;size16&quot;&gt;신사임당이 율곡 이이를 어떻게 교육했다는&lt;br /&gt;&lt;b&gt;구체적인 양육 기록은 전혀 존재하지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;2087&quot; data-start=&quot;2073&quot; data-ke-size=&quot;size16&quot;&gt;실제 남아 있는 기록은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2120&quot; data-start=&quot;2088&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2120&quot; data-start=&quot;2088&quot;&gt;&amp;ldquo;어머니에게서 글을 배웠다.&amp;rdquo;&lt;br /&gt;딱 이 한 줄뿐이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2225&quot; data-start=&quot;2122&quot; data-ke-size=&quot;size16&quot;&gt;더구나 율곡 본인은&lt;br /&gt;어머니가 죽은 뒤 슬픔에 빠져 &lt;b&gt;승려 생활을 했다가 환속 후 성리학자가 되었다.&lt;/b&gt;&lt;br /&gt;즉, 그의 학문적 성취는 &lt;b&gt;신사임당의 교육과 직접적인 관련이 없다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;2232&quot; data-start=&quot;2227&quot; data-ke-size=&quot;size16&quot;&gt;따라서&lt;/p&gt;
&lt;blockquote data-end=&quot;2290&quot; data-start=&quot;2233&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;2290&quot; data-start=&quot;2235&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;신사임당이 훌륭한 어머니였기에 율곡이 위대한 유학자가 되었다&amp;rdquo;&lt;br /&gt;라는 말은 역사적 근거가 없다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;2295&quot; data-start=&quot;2292&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2331&quot; data-start=&quot;2297&quot; data-ke-size=&quot;size26&quot;&gt;■ 2. 조선 시대 기준으로도 &amp;lsquo;양처&amp;rsquo;와 거리가 멀다&lt;/h2&gt;
&lt;p data-end=&quot;2344&quot; data-start=&quot;2332&quot; data-ke-size=&quot;size16&quot;&gt;조선의 양처 기준은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2396&quot; data-start=&quot;2345&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2355&quot; data-start=&quot;2345&quot;&gt;시부모 봉양&lt;/li&gt;
&lt;li data-end=&quot;2365&quot; data-start=&quot;2356&quot;&gt;남편 순종&lt;/li&gt;
&lt;li data-end=&quot;2375&quot; data-start=&quot;2366&quot;&gt;조용&amp;middot;정숙&lt;/li&gt;
&lt;li data-end=&quot;2396&quot; data-start=&quot;2376&quot;&gt;내조&lt;br /&gt;등의 요소로 구성되었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2409&quot; data-start=&quot;2398&quot; data-ke-size=&quot;size16&quot;&gt;하지만 신사임당은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2521&quot; data-start=&quot;2410&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2430&quot; data-start=&quot;2410&quot;&gt;결혼 후 친정에서 오래 살았고&lt;/li&gt;
&lt;li data-end=&quot;2452&quot; data-start=&quot;2431&quot;&gt;시부모 봉양 기록이 거의 없으며&lt;/li&gt;
&lt;li data-end=&quot;2480&quot; data-start=&quot;2453&quot;&gt;남편과 심한 갈등(재혼 논쟁 등)을 겪었고&lt;/li&gt;
&lt;li data-end=&quot;2521&quot; data-start=&quot;2481&quot;&gt;후대 전승에는 남편에게 &amp;ldquo;별거하며 공부하라&amp;rdquo;고 했다는 이야기도 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2611&quot; data-start=&quot;2523&quot; data-ke-size=&quot;size16&quot;&gt;칠거지악 기준으로 보아도&lt;br /&gt;&amp;ldquo;불효, 질투, 말이 많음&amp;rdquo;에 해당할 가능성이 크다.&lt;br /&gt;즉, 조선 시대 기준으로도 신사임당은 전통적 의미의 &amp;lsquo;양처&amp;rsquo;가 아니었다.&lt;/p&gt;
&lt;hr data-end=&quot;2616&quot; data-start=&quot;2613&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2655&quot; data-start=&quot;2618&quot; data-ke-size=&quot;size26&quot;&gt;■ 3. 예술가로서의 신사임당 &amp;mdash; 진작(眞作)이 거의 없다&lt;/h2&gt;
&lt;p data-end=&quot;2755&quot; data-start=&quot;2656&quot; data-ke-size=&quot;size16&quot;&gt;대중에게 널리 알려진 &amp;lsquo;초충도&amp;rsquo;나 &amp;lsquo;산수도&amp;rsquo;, &amp;lsquo;자리도&amp;rsquo; 등은&lt;br /&gt;오랫동안 &amp;ldquo;신사임당 작품&amp;rdquo;으로 소개되어 왔다.&lt;br /&gt;그러나 미술사계 평가를 보면 &lt;b&gt;대부분 진위가 불확실하다.&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2908&quot; data-start=&quot;2757&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2774&quot; data-start=&quot;2757&quot;&gt;&lt;b&gt;낙관(서명) 없음&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2795&quot; data-start=&quot;2775&quot;&gt;&lt;b&gt;확실한 문헌 기록 없음&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2841&quot; data-start=&quot;2796&quot;&gt;조선 후기 이후에 &amp;ldquo;신사임당 서명 도장&amp;rdquo;을 찍은 &lt;b&gt;위작이 대량 유통됨&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2875&quot; data-start=&quot;2842&quot;&gt;국보&amp;middot;보물 등 국가문화재 지정 작품은 단 하나도 없음&lt;/li&gt;
&lt;li data-end=&quot;2908&quot; data-start=&quot;2876&quot;&gt;전문가들은 &amp;ldquo;진작이라고 단정할 근거가 부족하다&amp;rdquo;고 평가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2976&quot; data-start=&quot;2910&quot; data-ke-size=&quot;size16&quot;&gt;심지어 후손들이 &amp;ldquo;집안의 가보&amp;rdquo;라고 전해오는 그림들도&lt;br /&gt;대부분 &amp;ldquo;전해진다(傳稱)&amp;rdquo; 수준이지&lt;br /&gt;확정된 작품이 아니다.&lt;/p&gt;
&lt;p data-end=&quot;3062&quot; data-start=&quot;2978&quot; data-ke-size=&quot;size16&quot;&gt;박물관이나 교과서에 실린 작품도&lt;br /&gt;&amp;ldquo;신사임당 작품으로 알려짐&amp;rdquo;이라는 &lt;b&gt;전승(傳承)&lt;/b&gt; 때문에 실린 것이지&lt;br /&gt;진품 확증을 기반으로 한 것은 아니다.&lt;/p&gt;
&lt;hr data-end=&quot;3067&quot; data-start=&quot;3064&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3103&quot; data-start=&quot;3069&quot; data-ke-size=&quot;size26&quot;&gt;■ 4. 그렇다면 왜 &amp;lsquo;현모양처 신사임당&amp;rsquo;이 되었나?&lt;/h2&gt;
&lt;p data-end=&quot;3166&quot; data-start=&quot;3104&quot; data-ke-size=&quot;size16&quot;&gt;이 이미지는 본래 역사적 사실이 아니라&lt;br /&gt;&lt;b&gt;일제강점기 이후 &amp;lsquo;양처현모&amp;rsquo; 이데올로기&lt;/b&gt; 속에서 강화된 것이다.&lt;/p&gt;
&lt;p data-end=&quot;3265&quot; data-start=&quot;3168&quot; data-ke-size=&quot;size16&quot;&gt;일제는 조선 여성에게 순종&amp;middot;가정&amp;middot;절약&amp;middot;육아 중심의 이미지를 강요했고,&lt;br /&gt;박정희 시대에는 이 이미지가 &lt;b&gt;교육열&amp;middot;근검절약&lt;/b&gt; 같은 가치와 결합하며&lt;br /&gt;대대적으로 재생산되었다.&lt;/p&gt;
&lt;p data-end=&quot;3272&quot; data-start=&quot;3267&quot; data-ke-size=&quot;size16&quot;&gt;그 결과,&lt;/p&gt;
&lt;blockquote data-end=&quot;3327&quot; data-start=&quot;3273&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;3327&quot; data-start=&quot;3275&quot; data-ke-size=&quot;size16&quot;&gt;역사적 사실이 아닌&lt;br /&gt;&lt;b&gt;&amp;ldquo;국가가 원하는 여성상&amp;rdquo;&lt;/b&gt;&lt;br /&gt;을 신사임당에게 투영한 것이다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;3332&quot; data-start=&quot;3329&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3359&quot; data-start=&quot;3334&quot; data-ke-size=&quot;size26&quot;&gt;■ 5. 5만원권 인물로서 적합한가?&lt;/h2&gt;
&lt;p data-end=&quot;3398&quot; data-start=&quot;3360&quot; data-ke-size=&quot;size16&quot;&gt;5만원권은 대한민국 최고액권 지폐이다.&lt;br /&gt;그 안에 들어갈 인물은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3441&quot; data-start=&quot;3399&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;3410&quot; data-start=&quot;3399&quot;&gt;시대적 상징성&lt;/li&gt;
&lt;li data-end=&quot;3422&quot; data-start=&quot;3411&quot;&gt;역사적 진정성&lt;/li&gt;
&lt;li data-end=&quot;3441&quot; data-start=&quot;3423&quot;&gt;국민적 합의&lt;br /&gt;이 필요하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;3448&quot; data-start=&quot;3443&quot; data-ke-size=&quot;size16&quot;&gt;그러나&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3541&quot; data-start=&quot;3449&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;3470&quot; data-start=&quot;3449&quot;&gt;현모양처 이미지는 사실이 아니며&lt;/li&gt;
&lt;li data-end=&quot;3488&quot; data-start=&quot;3471&quot;&gt;양처 기준에도 맞지 않고&lt;/li&gt;
&lt;li data-end=&quot;3505&quot; data-start=&quot;3489&quot;&gt;교육 영향도 불확실하며&lt;/li&gt;
&lt;li data-end=&quot;3526&quot; data-start=&quot;3506&quot;&gt;작품 진위도 확정된 것이 없고&lt;/li&gt;
&lt;li data-end=&quot;3541&quot; data-start=&quot;3527&quot;&gt;국보&amp;middot;보물 지정도 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;3591&quot; data-start=&quot;3543&quot; data-ke-size=&quot;size16&quot;&gt;이런 상황에서&lt;br /&gt;&lt;b&gt;신사임당을 최고액권 인물로 올린 결정은 재검토될 필요가 있다.&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;3596&quot; data-start=&quot;3593&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3607&quot; data-start=&quot;3598&quot; data-ke-size=&quot;size26&quot;&gt;■ 결론&lt;/h2&gt;
&lt;p data-end=&quot;3699&quot; data-start=&quot;3608&quot; data-ke-size=&quot;size16&quot;&gt;신사임당은&lt;br /&gt;&lt;b&gt;실제 역사적 인물로 보면 결코 &amp;lsquo;현모양처&amp;rsquo;가 아니었다.&lt;/b&gt;&lt;br /&gt;그녀에게 부여된 이미지는&lt;br /&gt;후대와 근현대 국가가 만들어낸 인공적 이미지일 뿐이다.&lt;/p&gt;
&lt;p data-end=&quot;3812&quot; data-start=&quot;3701&quot; data-ke-size=&quot;size16&quot;&gt;작품 진위마저 확실하지 않은 상황에서,&lt;br /&gt;그녀를 대한민국 최고액권의 얼굴로 선택한 것은&lt;br /&gt;역사적 사실과 맞지 않을 뿐 아니라&lt;br /&gt;우리 사회가 여성에게 어떤 이미지를 강요해 왔는지 되돌아보게 한다.&lt;/p&gt;</description>
      <category>쉬었다하자</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/542</guid>
      <comments>https://programmerdaddy.tistory.com/542#entry542comment</comments>
      <pubDate>Mon, 24 Nov 2025 13:21:06 +0900</pubDate>
    </item>
    <item>
      <title>텔넷에서 상대 서버로 파일 전송할때</title>
      <link>https://programmerdaddy.tistory.com/541</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;scp&amp;nbsp;-rv&amp;nbsp;./*&amp;nbsp;계정아이디@ip주소:/var/www/&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;현재 있는 폴더와 그 아래에 있는 모든 파일과 폴더를&amp;nbsp;&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;해당 ip 서버의 경로로 복사한다&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;rsync -azP ./* ebo@192.168.0.10:/var/www/&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;속도는 rsync가 더 빠르다&lt;/p&gt;</description>
      <category>개발은아니지만</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/541</guid>
      <comments>https://programmerdaddy.tistory.com/541#entry541comment</comments>
      <pubDate>Thu, 6 Nov 2025 12:54:08 +0900</pubDate>
    </item>
    <item>
      <title>윈도우11에서 폴더안에 있는 폴더들은 그냥 두고 그 안에 있는 파일들은 전부 지우기</title>
      <link>https://programmerdaddy.tistory.com/540</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Cap 2025-09-25 13-48-04-423.png&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rk1WJ/btsQMPnpCzA/LKVKUzGMtTSkxsEMYCo9x0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rk1WJ/btsQMPnpCzA/LKVKUzGMtTSkxsEMYCo9x0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rk1WJ/btsQMPnpCzA/LKVKUzGMtTSkxsEMYCo9x0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRk1WJ%2FbtsQMPnpCzA%2FLKVKUzGMtTSkxsEMYCo9x0%2Fimg.png&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;879&quot; height=&quot;639&quot; data-filename=&quot;Cap 2025-09-25 13-48-04-423.png&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;639&quot;/&gt;&lt;/span&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;특정 폴더: Get-ChildItem &quot;D:\MyData&quot; -Recurse -File | Remove-Item -Force&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;현재 폴더 : Get-ChildItem -Recurse -File | Remove-Item -Force &lt;/p&gt;</description>
      <category>개발은아니지만</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/540</guid>
      <comments>https://programmerdaddy.tistory.com/540#entry540comment</comments>
      <pubDate>Thu, 25 Sep 2025 13:49:16 +0900</pubDate>
    </item>
    <item>
      <title>윈도우11에서 파워쉘로 파일명으로 된 폴더 만들어서 해당 파일 옮기기</title>
      <link>https://programmerdaddy.tistory.com/539</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&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;/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;Get-ChildItem&amp;nbsp;-File&amp;nbsp;|&amp;nbsp;ForEach-Object&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;확장자&amp;nbsp;뺀&amp;nbsp;이름 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$name = [System&lt;a href=&quot;http://m.IO.Path]::GetFileNameWithoutExtension($_.Name)&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;.IO.Path]::GetFileNameWithoutExtension($_.Name)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;폴더&amp;nbsp;만들기(있으면&amp;nbsp;무시) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;New-Item&amp;nbsp;-ItemType&amp;nbsp;Directory&amp;nbsp;-Force&amp;nbsp;-Name&amp;nbsp;$name&amp;nbsp;|&amp;nbsp;Out-Null &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;파일을&amp;nbsp;해당&amp;nbsp;폴더로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Move-Item&amp;nbsp;-LiteralPath&amp;nbsp;$_.FullName&amp;nbsp;-Destination&amp;nbsp;(Join-Path&amp;nbsp;-Path&amp;nbsp;.&amp;nbsp;-ChildPath&amp;nbsp;$name) &lt;br /&gt;} &lt;/p&gt;</description>
      <category>개발은아니지만</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/539</guid>
      <comments>https://programmerdaddy.tistory.com/539#entry539comment</comments>
      <pubDate>Wed, 24 Sep 2025 15:14:24 +0900</pubDate>
    </item>
    <item>
      <title>병마용갱의 진짜 미스테리</title>
      <link>https://programmerdaddy.tistory.com/530</link>
      <description>&lt;h2 data-end=&quot;360&quot; data-start=&quot;329&quot; data-ke-size=&quot;size26&quot;&gt;1. 병마용갱에 대한 기록이 없는 것은 이상하다&lt;/h2&gt;
&lt;p data-end=&quot;550&quot; data-start=&quot;362&quot; data-ke-size=&quot;size16&quot;&gt;중국 고대 역사 기록은 매우 방대합니다. 예를 들어, **아방궁(阿房宮)**은 결국 완공되지 못했지만 *사기(史記)*와 한서(漢書) 등에 그 기록이 남아 있으며, 당나라 시인 두목(杜牧)은 「아방궁부(阿房宮賦)」라는 시까지 남겼습니다. 심지어 실제로 존재했는지조차 불분명한 건축물조차 풍부한 기록과 설화가 함께 전해지는 것입니다.&lt;/p&gt;
&lt;p data-end=&quot;669&quot; data-start=&quot;552&quot; data-ke-size=&quot;size16&quot;&gt;또한 &lt;b&gt;만리장성(萬里長城)&lt;/b&gt; 역시 그 규모와 역사적 의미 때문에 수많은 사서에 기록이 남아 있고, 민간 설화까지 이어졌습니다. 특히 &amp;lsquo;맹강녀의 눈물&amp;rsquo; 이야기는 지금도 중국인들에게 널리 알려진 전설입니다.&lt;/p&gt;
&lt;p data-end=&quot;808&quot; data-start=&quot;671&quot; data-ke-size=&quot;size16&quot;&gt;이처럼 아방궁과 만리장성은 규모가 크거나 민중에게 영향을 준 사업이라면 반드시 기록과 설화가 뒤따랐습니다. 그런데 수천 명의 병사와 말, 전차까지 흙으로 정교하게 재현한 병마용갱에 대해서는 &lt;b&gt;사서에 단 한 줄의 기록도 존재하지 않습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;899&quot; data-start=&quot;810&quot; data-ke-size=&quot;size16&quot;&gt;만약 실제로 진시황릉을 지키기 위해 그렇게 엄청난 토용 군단을 제작했다면, 이는 당대에 엄청난 사건이었을 텐데 기록이 전혀 없다는 점은 매우 비상식적입니다.&lt;/p&gt;
&lt;hr data-end=&quot;904&quot; data-start=&quot;901&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;948&quot; data-start=&quot;906&quot; data-ke-size=&quot;size26&quot;&gt;2. 우리가 아는 &amp;lsquo;병마용갱 이야기&amp;rsquo;는 중국 측의 일방적인 주장이다&lt;/h2&gt;
&lt;p data-end=&quot;1006&quot; data-start=&quot;950&quot; data-ke-size=&quot;size16&quot;&gt;오늘날 병마용갱에 대한 설명은 대부분 중국 정부와 학계가 내놓은 주장을 그대로 받아들인 것입니다.&lt;/p&gt;
&lt;p data-end=&quot;1195&quot; data-start=&quot;1008&quot; data-ke-size=&quot;size16&quot;&gt;중국은 병마용갱을 &amp;ldquo;진시황릉을 지키는 부장품&amp;rdquo;이라 설명하지만, 이를 입증하는 사료나 외부 검증은 존재하지 않습니다. 발굴 과정부터 지금까지 철저히 중국 당국이 통제하고 있어, 해외 학자들은 독립적인 발굴이나 검증을 할 수 없습니다. 결국 전 세계가 접하는 병마용갱 관련 정보는 &lt;b&gt;중국이 허락한 범위 내&lt;/b&gt;에서만 제공되는 것입니다.&lt;/p&gt;
&lt;p data-end=&quot;1323&quot; data-start=&quot;1197&quot; data-ke-size=&quot;size16&quot;&gt;또한 중국은 아직까지 &amp;lsquo;릉산(驪山) 대묘&amp;rsquo;, 즉 그들이 주장하는 진시황릉 본체를 발굴하지 않았습니다. 그 이유를 &amp;ldquo;보존 기술 부족&amp;rdquo;이라 설명하지만, 실제로는 발굴 과정에서 불편한 진실이 드러날까 우려한다는 의혹도 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;1387&quot; data-start=&quot;1325&quot; data-ke-size=&quot;size16&quot;&gt;결국 지금 우리가 아는 &amp;lsquo;병마용갱 이야기&amp;rsquo;는 &lt;b&gt;중국 당국이 만든 일방적인 내러티브&lt;/b&gt;일 가능성이 높습니다.&lt;/p&gt;
&lt;hr data-end=&quot;1392&quot; data-start=&quot;1389&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1417&quot; data-start=&quot;1394&quot; data-ke-size=&quot;size26&quot;&gt;3. 중국은 가짜 골동품의 나라다&lt;/h2&gt;
&lt;p data-end=&quot;1539&quot; data-start=&quot;1419&quot; data-ke-size=&quot;size16&quot;&gt;중국을 이해할 때 반드시 고려해야 할 점은 &lt;b&gt;위조 문화재의 전통&lt;/b&gt;입니다. 송나라 시절부터 이미 청동기, 옥기, 서화 등을 정교하게 모조하는 기술이 발달했고, 지금까지도 골동품 시장은 가짜로 범람하고 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1944&quot; data-start=&quot;1541&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1739&quot; data-start=&quot;1541&quot;&gt;&lt;b&gt;China Post 보도&lt;/b&gt;&lt;br /&gt;최근 2년 동안 중국의 한 감정 기관에는 &lt;b&gt;100만 점이 넘는 골동품&lt;/b&gt;이 감정을 위해 접수되었습니다. 그러나 그 가운데 진품으로 판명된 것은 &lt;b&gt;단 61점&lt;/b&gt;뿐이었습니다. 나머지는 모두 가짜이거나 출처 불분명한 물건이었습니다.&lt;br /&gt;&amp;rarr; 사실상 시장 전체가 위조품으로 가득 차 있음을 보여주는 사례입니다.&lt;/li&gt;
&lt;li data-end=&quot;1944&quot; data-start=&quot;1741&quot;&gt;&lt;b&gt;중국 박물관 폐쇄 사건&lt;/b&gt;&lt;br /&gt;허난성의 한 박물관은 전시품의 상당수가 가짜라는 사실이 드러나며 결국 폐쇄되었습니다. 수천 점의 전시품 중 일부는 아예 현대에 만든 장난감 수준의 모조품이었고, 그 사건은 중국 내에서도 큰 충격을 주었습니다. 이처럼 심지어 &lt;b&gt;국가 공인 박물관조차 위조품을 전시&lt;/b&gt;하다가 폐쇄되는 일이 벌어지는 나라가 바로 중국입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2061&quot; data-start=&quot;1946&quot; data-ke-size=&quot;size16&quot;&gt;이런 현실을 고려하면, 병마용갱을 무조건 진품이라 믿는 것은 순진한 태도라 할 수 있습니다. 독립적이고 국제적인 검증 없이, 중국의 주장만으로 병마용갱을 &amp;ldquo;진시황의 유적&amp;rdquo;이라고 단정하는 것은 위험합니다.&lt;/p&gt;
&lt;hr data-end=&quot;2066&quot; data-start=&quot;2063&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2084&quot; data-start=&quot;2068&quot; data-ke-size=&quot;size26&quot;&gt;예상되는 반박과 대응&lt;/h2&gt;
&lt;p data-end=&quot;2158&quot; data-start=&quot;2086&quot; data-ke-size=&quot;size16&quot;&gt;병마용갱에 대한 비판적 시각을 제시하면, 흔히 다음과 같은 반박이 예상됩니다. 하지만 각각에는 충분히 대응할 논리가 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;2912&quot; data-start=&quot;2160&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;2295&quot; data-start=&quot;2160&quot;&gt;&lt;b&gt;&amp;ldquo;기록이 없는 건 당연하다&amp;rdquo;&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2295&quot; data-start=&quot;2188&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2217&quot; data-start=&quot;2188&quot;&gt;반박: 분서갱유와 전란으로 기록이 소실되었다.&lt;/li&gt;
&lt;li data-end=&quot;2295&quot; data-start=&quot;2221&quot;&gt;대응: 아방궁, 만리장성처럼 실체가 불분명한 건물도 기록과 설화가 풍부하다. 병마용만 기록이 전혀 없다는 건 납득하기 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2452&quot; data-start=&quot;2297&quot;&gt;&lt;b&gt;&amp;ldquo;외국 학자들도 검증했다&amp;rdquo;&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2452&quot; data-start=&quot;2324&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2358&quot; data-start=&quot;2324&quot;&gt;반박: 외국 학자들이 연구했고 UNESCO도 인정했다.&lt;/li&gt;
&lt;li data-end=&quot;2452&quot; data-start=&quot;2362&quot;&gt;대응: 외국 학자들은 중국이 제공한 자료만 볼 수 있었고, 독립 발굴 권한은 없었다. UNESCO 지정도 자체 검증이 아니라 중국 보고서에 의존한 것이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2597&quot; data-start=&quot;2454&quot;&gt;&lt;b&gt;&amp;ldquo;위조품 문제와 병마용은 별개다&amp;rdquo;&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2597&quot; data-start=&quot;2485&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2526&quot; data-start=&quot;2485&quot;&gt;반박: 시장에 떠도는 골동품은 가짜가 많아도 국가급 유적은 다르다.&lt;/li&gt;
&lt;li data-end=&quot;2597&quot; data-start=&quot;2530&quot;&gt;대응: 국가 박물관조차 가짜 전시로 폐쇄된 사례가 있다. 국가 관리라고 해서 곧바로 신뢰할 수 있는 것은 아니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2742&quot; data-start=&quot;2599&quot;&gt;&lt;b&gt;&amp;ldquo;발굴 안 하는 건 보존 때문이다&amp;rdquo;&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2742&quot; data-start=&quot;2631&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2660&quot; data-start=&quot;2631&quot;&gt;반박: 기술이 부족해 발굴을 미루는 것뿐이다.&lt;/li&gt;
&lt;li data-end=&quot;2742&quot; data-start=&quot;2664&quot;&gt;대응: 그렇다면 최소한 레이더 탐사, 지질 탐사 자료를 투명하게 공개해야 한다. 중국은 일부만 공개하고 대부분은 비밀에 부치고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2912&quot; data-start=&quot;2744&quot;&gt;&lt;b&gt;&amp;ldquo;이 정도 세계적 유산을 조작할 수는 없다&amp;rdquo;&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2912&quot; data-start=&quot;2781&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2827&quot; data-start=&quot;2781&quot;&gt;반박: 수십 년간 관광객과 외국 언론이 다 보고 갔다. 가짜라면 불가능하다.&lt;/li&gt;
&lt;li data-end=&quot;2912&quot; data-start=&quot;2831&quot;&gt;대응: 관광객과 언론은 검증을 하지 않는다. 국가 차원의 역사 왜곡 사례는 세계사적으로도 드물지 않다. 병마용 역시 예외가 아닐 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;2917&quot; data-start=&quot;2914&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2927&quot; data-start=&quot;2919&quot; data-ke-size=&quot;size26&quot;&gt;맺음말&lt;/h2&gt;
&lt;p data-end=&quot;2982&quot; data-start=&quot;2929&quot; data-ke-size=&quot;size16&quot;&gt;병마용갱은 세계적인 문화유산으로 알려져 있지만, 그 진실성에는 여전히 큰 의문이 존재합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;3137&quot; data-start=&quot;2983&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;3027&quot; data-start=&quot;2983&quot;&gt;아방궁&amp;middot;만리장성과 달리 병마용갱에 대한 &lt;b&gt;기록이 전혀 없다는 점&lt;/b&gt;,&lt;/li&gt;
&lt;li data-end=&quot;3065&quot; data-start=&quot;3028&quot;&gt;지금까지의 설명이 &lt;b&gt;중국 측의 일방적 주장&lt;/b&gt;이라는 점,&lt;/li&gt;
&lt;li data-end=&quot;3137&quot; data-start=&quot;3066&quot;&gt;중국이 &lt;b&gt;가짜 골동품의 나라&lt;/b&gt;라는 점을 종합해보면, 병마용갱은 반드시 &lt;b&gt;국제적이고 독립적인 검증&lt;/b&gt;이 필요합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;3245&quot; data-start=&quot;3139&quot; data-ke-size=&quot;size16&quot;&gt;중국이 이런 문제에 대해 의심을 사기 싫다면 그런 의구심을 해소하려면 지금이라도 진시황릉이라고 주장하는 그 산을 발굴하고 병마용갱의 연구에 외국의 고고학자들을 참여시키면 되는 것입니다. 그렇지 않으면 이런 의구심은 계속 될 것입니다.&lt;/p&gt;</description>
      <category>쉬었다하자</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/530</guid>
      <comments>https://programmerdaddy.tistory.com/530#entry530comment</comments>
      <pubDate>Mon, 18 Aug 2025 15:17:41 +0900</pubDate>
    </item>
    <item>
      <title>[파이썬]한글 형태소 분석기 KOMORAN 사용시 이상한 글자때문에 에러날때</title>
      <link>https://programmerdaddy.tistory.com/528</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;내가 komoran을 쓰는 이유는 새로운 단어를 등록하기 편하다는거다. 다른것들은 모두 새로운 단어를 등록하면 다시 컴파일해야 되고 보통 귀찮은게 아니다.&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;그러다 찾은게 komoran인데 komoran은 문제가 머냐하면 이상한 한글이나 특수문자나 이런거에 상당히 예민하다. 예를 들면 '즤엉이'라는 단어가 들어오면 에러가 난다. 즉 한글이 아닌 이상한 단어라고 해야하나. 특수문자도 아닌것이 한글도 아닌것이 komoran이 머지 이 글자는? 이란 생각이 들면 에러가 나는것 같다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re, unicodedata&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; PyKomoran &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;normalize_and_strip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; text &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;is&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; t &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; unicodedata.normalize(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;NFKC&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(text))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 제어/포맷/결합기호 제거&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; t &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(ch &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ch &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; t &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; unicodedata.category(ch) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Mn&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Me&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Cf&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# C0/C1 제어문자 공백화&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; t &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re.sub(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\x00&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\x1F\x7F&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;\u0080&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;\u009F&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;' '&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, t)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 한글/영문/숫자/공백만 남기기&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; t &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re.sub(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[^&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;\uAC00&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;\uD7A3&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;a-zA-Z0-9\s&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, t)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 공백 정리&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(t.split())&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;chunk_by_length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;160&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; out, cur, cur_len &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [], [], &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tok &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s.split():&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(tok) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; cur &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; cur_len &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; add &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; max_len:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; cur: out.append(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(cur))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cur, cur_len &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [tok], &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(tok)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cur.append(tok); cur_len &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; add&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; cur: out.append(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(cur))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; out&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;komoran_nouns_safe&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 1) 정규화/정리&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; text &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; normalize_and_strip(text)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; text:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; nouns &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; piece &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; chunk_by_length(text, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_len&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;160&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; toks &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; piece.split()&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 2) **토큰별 사전 테스트**: 에러 유발 토큰 사전 필터링&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; safe_toks &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tok &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; toks:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 토큰 단독 테스트 (여기서 에러나면 그 토큰만 제외)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _ &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; komoran.get_nouns(tok)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; safe_toks.append(tok)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 문제 토큰 기록 후 스킵 (예: '즤엉이')&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;스킵 토큰:&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;repr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(tok))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; safe_toks:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 3) 안전 토큰만 합쳐서 분석&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sent &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(safe_toks)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nouns.extend(komoran.get_nouns(sent))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 혹시 여기서도 실패하면 토큰 단위로 개별 분석&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tok &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; safe_toks:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nouns.extend(komoran.get_nouns(tok))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;최종 스킵:&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;repr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(tok))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; nouns&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;sentence&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;즤엉이 대한민국&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pos&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;komoran_nouns_safe(sentence)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 &quot;즤엉이&quot;는 건너뛰게 된다. 물론 이렇게하면 시간이 엄청 걸린다. 그래도 에러나서 멈춰 있는거보단 낫다. 그리고 이런 단어만 따로 모아두면 다음에 이런 단어가 들어오면 빼주면 되는데 그런 작업은 각자 해보자.&lt;/p&gt;</description>
      <category>파이썬</category>
      <author>에스크리토</author>
      <guid isPermaLink="true">https://programmerdaddy.tistory.com/528</guid>
      <comments>https://programmerdaddy.tistory.com/528#entry528comment</comments>
      <pubDate>Tue, 12 Aug 2025 11:14:19 +0900</pubDate>
    </item>
  </channel>
</rss>