<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Dev 저장소</title>
    <link>https://dev.uhoon.co.kr/</link>
    <description>정보저장소</description>
    <language>ko</language>
    <pubDate>Wed, 22 Apr 2026 22:14:03 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Yo.</managingEditor>
    <image>
      <title>Dev 저장소</title>
      <url>https://t1.daumcdn.net/cfile/tistory/27425245580FFBD028</url>
      <link>https://dev.uhoon.co.kr</link>
    </image>
    <item>
      <title>멀티도메인 호스팅에 대한 robots.txt 분리 설정</title>
      <link>https://dev.uhoon.co.kr/entry/%EB%A9%80%ED%8B%B0%EB%8F%84%EB%A9%94%EC%9D%B8-%ED%98%B8%EC%8A%A4%ED%8C%85%EC%97%90-%EB%8C%80%ED%95%9C-robotstxt-%EB%B6%84%EB%A6%AC-%EC%84%A4%EC%A0%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정도메인에 대해서 robots.txt 설정이 되어야하는 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은 도메인 별로 robots.txt 설정이 필요한 경우&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;아래와 같이 .htaccess 상에 추가하면 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709099884504&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;
    RewriteEngine On

    # abc.uhoon.co.kr 도메인에 대한 리디렉션
    RewriteCond %{HTTP_HOST} ^abc\.uhoons\.co.kr$ [NC]
    RewriteRule ^robots\.txt$ robots_uhoons.txt [L]

	# b2b.uhoon.co.kr 도메인에 대한 리디렉션
    RewriteCond %{HTTP_HOST} ^b2b\.uhoons\.co.kr$ [NC]
    RewriteRule ^robots\.txt$ robots_uhoons.txt [L]

    # 나머지 도메인에 대한 리디렉션
    RewriteCond %{HTTP_HOST} !^abc\.uhoon\.co.kr$ [NC]
    RewriteRule ^robots\.txt$ robots.txt [L]
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/pre&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;본인의 경우는 codeigniter로 public_html 하위에 폴더로 멀티도메인 서비스를 하는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;robots.txt 가 분리 설정이 필요하게 되어 적용함.&lt;/p&gt;</description>
      <category>Progmming/PHP</category>
      <category>.htaccess</category>
      <category>robots.txt</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/193</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EB%A9%80%ED%8B%B0%EB%8F%84%EB%A9%94%EC%9D%B8-%ED%98%B8%EC%8A%A4%ED%8C%85%EC%97%90-%EB%8C%80%ED%95%9C-robotstxt-%EB%B6%84%EB%A6%AC-%EC%84%A4%EC%A0%95#entry193comment</comments>
      <pubDate>Wed, 28 Feb 2024 14:59:53 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] EC2 아파치 로그를 S3 버킷으로 업로드 후 삭제 , 로그 관리 하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/AWS-EC2-%EC%95%84%ED%8C%8C%EC%B9%98-%EB%A1%9C%EA%B7%B8%EB%A5%BC-S3-%EB%B2%84%ED%82%B7%EC%9C%BC%EB%A1%9C-%EC%97%85%EB%A1%9C%EB%93%9C-%ED%9B%84-%EC%82%AD%EC%A0%9C-%EB%A1%9C%EA%B7%B8-%EA%B4%80%EB%A6%AC-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;pre id=&quot;code_1707300381958&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash

# AWS 자격 증명 설정
export AWS_ACCESS_KEY_ID=&quot;xxxxxxxxxxxxxx&quot;
export AWS_SECRET_ACCESS_KEY=&quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;
export AWS_DEFAULT_REGION=&quot;xxxxxxxxxxx&quot;

# 로그 파일 경로 및 S3 경로 설정
LOG_PATH=&quot;/var/log/httpd/&quot;
S3_BUCKET=&quot;버킷명&quot;
S3_PREFIX=&quot;logs/$(date -d 'yesterday' +'%Y/%m')/&quot;  

# 어제의 로그 파일을 S3로 이동
aws s3 cp &quot;${LOG_PATH}access_log-$(date -d 'yesterday' +'%Y%m%d')&quot; &quot;s3://${S3_BUCKET}/${S3_PREFIX}&quot;
aws s3 cp &quot;${LOG_PATH}error_log-$(date -d 'yesterday' +'%Y%m%d')&quot; &quot;s3://${S3_BUCKET}/${S3_PREFIX}&quot;
aws s3 cp &quot;${LOG_PATH}ssl_access_log-$(date -d 'yesterday' +'%Y%m%d')&quot; &quot;s3://${S3_BUCKET}/${S3_PREFIX}&quot;
aws s3 cp &quot;${LOG_PATH}ssl_error_log-$(date -d 'yesterday' +'%Y%m%d')&quot; &quot;s3://${S3_BUCKET}/${S3_PREFIX}&quot;
aws s3 cp &quot;${LOG_PATH}ssl_request_log-$(date -d 'yesterday' +'%Y%m%d')&quot; &quot;s3://${S3_BUCKET}/${S3_PREFIX}&quot;

# 로그 파일 삭제 (선택 사항)
rm &quot;${LOG_PATH}access_log-$(date -d 'yesterday' +'%Y%m%d')&quot;
rm &quot;${LOG_PATH}error_log-$(date -d 'yesterday' +'%Y%m%d')&quot;
rm &quot;${LOG_PATH}ssl_access_log-$(date -d 'yesterday' +'%Y%m%d')&quot;
rm &quot;${LOG_PATH}ssl_error_log-$(date -d 'yesterday' +'%Y%m%d')&quot;
rm &quot;${LOG_PATH}ssl_request_log-$(date -d 'yesterday' +'%Y%m%d')&quot;&lt;/code&gt;&lt;/pre&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;위 스크립트를 cron 으로 적절히 스케쥴링 해주면 끝.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그 경로 및 로그파일 패턴에 대해서는 적절히 변경이 필요하며 삭제에 대해서는 선택사항임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트는 글쓴이 상황에 맞게 작성된 것이며 검증 후 사용하시길 바랍니다.&lt;/p&gt;</description>
      <category>Cloud Server</category>
      <category>apache</category>
      <category>AWS</category>
      <category>log</category>
      <category>S3</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/192</guid>
      <comments>https://dev.uhoon.co.kr/entry/AWS-EC2-%EC%95%84%ED%8C%8C%EC%B9%98-%EB%A1%9C%EA%B7%B8%EB%A5%BC-S3-%EB%B2%84%ED%82%B7%EC%9C%BC%EB%A1%9C-%EC%97%85%EB%A1%9C%EB%93%9C-%ED%9B%84-%EC%82%AD%EC%A0%9C-%EB%A1%9C%EA%B7%B8-%EA%B4%80%EB%A6%AC-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry192comment</comments>
      <pubDate>Wed, 7 Feb 2024 19:05:25 +0900</pubDate>
    </item>
    <item>
      <title>C# , OpenFileDialog 확장자 지정하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/C-OpenFileDialog-%ED%99%95%EC%9E%A5%EC%9E%90-%EC%A7%80%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;아래는&amp;nbsp;OpenFileDialog를&amp;nbsp;사용하여&amp;nbsp;특정&amp;nbsp;확장자를&amp;nbsp;가진&amp;nbsp;파일만&amp;nbsp;선택할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;필터를&amp;nbsp;지정하는&amp;nbsp;예시&amp;nbsp;코드입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CSV 파일과 TXT 파일을 선택하는 방법.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1682675333377&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;using System;
using System.Windows.Forms;

namespace OpenFileDialogExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = &quot;CSV 파일 (*.csv)|*.csv|텍스트 파일 (*.txt)|*.txt&quot;;
            openFileDialog1.ShowDialog();
        }
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Progmming/.Net</category>
      <category>C#</category>
      <category>openfiledialog</category>
      <category>확장자</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/188</guid>
      <comments>https://dev.uhoon.co.kr/entry/C-OpenFileDialog-%ED%99%95%EC%9E%A5%EC%9E%90-%EC%A7%80%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry188comment</comments>
      <pubDate>Fri, 28 Apr 2023 18:50:03 +0900</pubDate>
    </item>
    <item>
      <title>C#에서 특정 경로의 폴더를 Windows 탐색기에서 여는 예시 코드</title>
      <link>https://dev.uhoon.co.kr/entry/C%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95-%EA%B2%BD%EB%A1%9C%EC%9D%98-%ED%8F%B4%EB%8D%94%EB%A5%BC-Windows-%ED%83%90%EC%83%89%EA%B8%B0%EC%97%90%EC%84%9C-%EC%97%AC%EB%8A%94-%EC%98%88%EC%8B%9C-%EC%BD%94%EB%93%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;C#에서 특정 경로의 폴더나 파일을 Windows 탐색기에서 열려면&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Process.Start&amp;nbsp;메서드를&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;이&amp;nbsp;때,&amp;nbsp;ProcessStartInfo&amp;nbsp;클래스를&amp;nbsp;이용하여&amp;nbsp;Process&amp;nbsp;객체를&amp;nbsp;생성하고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ProcessStartInfo&amp;nbsp;객체의&amp;nbsp;Arguments&amp;nbsp;속성에&amp;nbsp;&quot;Explorer.exe&quot;와&amp;nbsp;함께&amp;nbsp;열고자&amp;nbsp;하는&amp;nbsp;경로를&amp;nbsp;전달합니다. &lt;br /&gt;&lt;br /&gt;아래는 C#에서 특정 경로의 폴더를 Windows 탐색기에서 여는 예시 코드입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1682675182291&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        string path = @&quot;C:\MyFolder&quot;;
        Process.Start(new ProcessStartInfo()
        {
            FileName = &quot;Explorer.exe&quot;,
            Arguments = path
        });
    }
}&lt;/code&gt;&lt;/pre&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;</description>
      <category>Progmming/.Net</category>
      <category>C#</category>
      <category>Process.Start</category>
      <category>탐색기 열기</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/187</guid>
      <comments>https://dev.uhoon.co.kr/entry/C%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95-%EA%B2%BD%EB%A1%9C%EC%9D%98-%ED%8F%B4%EB%8D%94%EB%A5%BC-Windows-%ED%83%90%EC%83%89%EA%B8%B0%EC%97%90%EC%84%9C-%EC%97%AC%EB%8A%94-%EC%98%88%EC%8B%9C-%EC%BD%94%EB%93%9C#entry187comment</comments>
      <pubDate>Fri, 28 Apr 2023 18:48:14 +0900</pubDate>
    </item>
    <item>
      <title>JSON 객체의 데이터를 filter 적용하기</title>
      <link>https://dev.uhoon.co.kr/entry/JSON-%EA%B0%9D%EC%B2%B4%EC%9D%98-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-filter-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;json 데이터를 filter 적용하는 예제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1679651285188&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const jsonData = [
  { &quot;숙소코드&quot;: 123, &quot;숙소명&quot;: &quot;호텔A&quot;, &quot;사용여부&quot;: &quot;Y&quot; },
  { &quot;숙소코드&quot;: 456, &quot;숙소명&quot;: &quot;모텔B&quot;, &quot;사용여부&quot;: &quot;N&quot; },
  { &quot;숙소코드&quot;: 789, &quot;숙소명&quot;: &quot;게스트하우스C&quot;, &quot;사용여부&quot;: &quot;Y&quot; }
];

const filteredData = jsonData.filter(data =&amp;gt; data[&quot;사용여부&quot;] === &quot;Y&quot;);

console.log(filteredData);&lt;/code&gt;&lt;/pre&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;</description>
      <category>Progmming/Javascript</category>
      <category>filter</category>
      <category>json</category>
      <category>필터</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/186</guid>
      <comments>https://dev.uhoon.co.kr/entry/JSON-%EA%B0%9D%EC%B2%B4%EC%9D%98-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-filter-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0#entry186comment</comments>
      <pubDate>Fri, 24 Mar 2023 18:49:49 +0900</pubDate>
    </item>
    <item>
      <title>웹 개발 언어별 장단점</title>
      <link>https://dev.uhoon.co.kr/entry/%EC%9B%B9-%EA%B0%9C%EB%B0%9C-%EC%96%B8%EC%96%B4%EB%B3%84-%EC%9E%A5%EB%8B%A8</link>
      <description>&lt;div class=&quot;markdown prose w-full break-words dark:prose-invert dark&quot;&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;h3 data-ke-size=&quot;size23&quot;&gt;HTML / CSS&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 페이지의 구조와 스타일을 정의하는 데 필수적인 언어입니다.&lt;/li&gt;
&lt;li&gt;모든 웹 개발 프로젝트에서 사용됩니다.&lt;/li&gt;
&lt;li&gt;쉽게 배울 수 있고, 많은 자료와 템플릿이 제공됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동적인 기능을 구현할 수 없습니다.&lt;/li&gt;
&lt;li&gt;웹 애플리케이션 개발에는 부족합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Javascript&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 페이지의 동적인 기능을 구현할 수 있습니다.&lt;/li&gt;
&lt;li&gt;Node.js를 사용하여 서버 측 개발도 가능합니다.&lt;/li&gt;
&lt;li&gt;다양한 라이브러리와 프레임워크가 있어 개발이 용이합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 언어보다 학습 곡선이 높습니다.&lt;/li&gt;
&lt;li&gt;브라우저 호환성 문제가 발생할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;PHP&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동적인 웹 페이지를 생성하고 데이터베이스와의 상호 작용을 가능하게 합니다.&lt;/li&gt;
&lt;li&gt;많은 웹 호스팅 업체에서 지원합니다.&lt;/li&gt;
&lt;li&gt;개발 생산성이 높습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보안 문제가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;대규모 프로젝트에서 성능 이슈가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;다른 언어보다 문법이 복잡합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Python&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 애플리케이션 개발에 많이 사용됩니다.&lt;/li&gt;
&lt;li&gt;Django, Flask와 같은 프레임워크를 사용하면 개발을 더욱 효율적으로 할 수 있습니다.&lt;/li&gt;
&lt;li&gt;높은 생산성과 코드 가독성을 보장합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대규모 프로젝트에서 성능 이슈가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;웹 호스팅 업체에서 지원되는 경우가 적습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Ruby&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ruby on Rails 프레임워크를 사용하여 웹 개발을 할 수 있습니다.&lt;/li&gt;
&lt;li&gt;생산성이 높고, 코드 가독성이 좋습니다.&lt;/li&gt;
&lt;li&gt;다양한 플러그인과 라이브러리가 있어 개발이 용이합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;성능 이슈가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;다른 언어보다 학습 곡선이 높습니다.&lt;/li&gt;
&lt;/ul&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;h3 data-ke-size=&quot;size23&quot;&gt;React&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가상 DOM을 사용하여 성능을 최적화할 수 있습니다.&lt;/li&gt;
&lt;li&gt;컴포넌트 기반으로 구조화되어 있어 코드의 재사용성이 높습니다.&lt;/li&gt;
&lt;li&gt;다른 라이브러리와 프레임워크와의 호환성이 뛰어납니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습 곡선이 높습니다.&lt;/li&gt;
&lt;li&gt;개발을 위해 추가적인 라이브러리가 필요할 수 있습니다.&lt;/li&gt;
&lt;li&gt;SEO를 위해 서버 사이드 렌더링을 구현해야 할 경우에는 추가적인 구현이 필요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 대규모 애플리케이션에서도 활용할 수 있으며, 컴포넌트 기반으로 구조화되어 있어 재사용성이 높습니다. 또한, 가상 DOM을 사용하여 성능을 최적화할 수 있어 빠른 렌더링이 가능합니다. 그러나 React는 기존의 HTML/CSS와는 다른 개념과 문법을 가지고 있기 때문에 학습 곡선이 높은 편입니다. 또한, SEO를 위해 서버 사이드 렌더링을 구현해야 할 경우에는 추가적인 구현이 필요할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Java&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;객체 지향 프로그래밍을 지원하며, 안정적이고 확장성이 높은 애플리케이션을 개발할 수 있습니다.&lt;/li&gt;
&lt;li&gt;다양한 라이브러리와 프레임워크가 있어 개발이 용이합니다.&lt;/li&gt;
&lt;li&gt;멀티 쓰레드 처리를 지원하여 대규모 애플리케이션 개발에 적합합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개발 생산성이 낮은 편입니다.&lt;/li&gt;
&lt;li&gt;메모리 관리가 자동으로 이루어지지 않기 때문에 메모리 누수가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;코드 가독성이 다른 언어들에 비해 떨어질 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 안정적이고 확장성이 높은 애플리케이션을 개발할 수 있는 언어입니다. 또한, 다양한 라이브러리와 프레임워크가 있어 개발이 용이합니다. 그러나 개발 생산성이 낮은 편이며, 메모리 관리가 자동으로 이루어지지 않기 때문에 메모리 누수가 발생할 수 있습니다. 또한, 코드 가독성이 다른 언어들에 비해 떨어질 수 있습니다. 대규모 애플리케이션을 개발할 때, 멀티 쓰레드 처리를 지원하여 성능을 향상시킬 수 있습니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>이야기</category>
      <category>개발자</category>
      <category>진로고민</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/185</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EC%9B%B9-%EA%B0%9C%EB%B0%9C-%EC%96%B8%EC%96%B4%EB%B3%84-%EC%9E%A5%EB%8B%A8#entry185comment</comments>
      <pubDate>Fri, 3 Mar 2023 18:32:33 +0900</pubDate>
    </item>
    <item>
      <title>개발자로 전향을 고민하신다면..</title>
      <link>https://dev.uhoon.co.kr/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A1%9C-%EC%A0%84%ED%96%A5%EC%9D%84-%EA%B3%A0%EB%AF%BC%ED%95%98%EC%8B%A0%EB%8B%A4%EB%A9%B4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;개발자 진로를 선택하는 것은 매우 현명한 선택입니다. 하지만 이 일을 계속하기 위해선 다양한 고민과 노력이 필요합니다. 아래는 개발자 진로에 대한 고민과 해결책에 대한 몇 가지 팁입니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;어떤 분야에서 개발자가 되고 싶은가? &lt;br /&gt;소프트웨어 개발에는 다양한 분야가 있습니다. 예를 들어 웹 개발, 애플리케이션 개발, 빅 데이터, 인공지능, 게임 개발 등이 있습니다. 각 분야마다 요구되는 기술과 지식이 다르기 때문에, 우선 자신이 어떤 분야에서 일하고 싶은지 생각해보는 것이 중요합니다. 그리고 해당 분야에서 요구되는 기술과 경험을 쌓는 것이 필요합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;어떤 언어를 배워야 할까? &lt;br /&gt;개발자가 되기 위해서는 언어를 배워야 합니다. 하지만 어떤 언어를 배워야 할지 고민하는 경우가 많습니다. 이 경우, 자신이 선택한 분야에서 사용되는 언어를 찾아보는 것이 좋습니다. 예를 들어, 웹 개발 분야에서는 HTML, CSS, JavaScript, Python, Ruby 등이 자주 사용됩니다. 하지만 언어는 매우 다양하기 때문에, 언어를 배우는 것은 끝이 없습니다. 중요한 것은 기본적인 지식을 쌓는 것이며, 언어를 사용하는 방법과 원리를 이해하는 것입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;어떻게 기술과 경험을 쌓을 수 있을까? &lt;br /&gt;개발자가 되기 위해서는 기술과 경험이 필요합니다. 이를 위해서는 자신의 프로젝트를 만들어보거나 오픈 소스 프로젝트에 참여하는 것이 좋습니다. 이외에도 학교나 커뮤니티에서 개최하는 해커톤, 코딩 대회 등에 참여하여 기술을 쌓을 수 있습니다. 또한, 이론적인 지식뿐만 아니라 실무적인 경험도 중요하기 때문에, 인턴십을 경험해보는 것도 좋은 방법입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;어떤 회사에서 일을 해야 할까? &lt;br /&gt;개발자로 일하기 위해서는 어떤 회사에서 일하는가도 중요한 요소입니다. 이 경우, 자신이 일하고 싶은 분야에서 일하는 회사를 찾아보는 것이 좋습니다. 또한, 회사의 규모와 문화도 고려해야 합니다. 대기업에서는 안정적인 업무와 복지가 많이 제공되지만, 그만큼 느린 의사결정과 업무분담 등의 문제가 있을 수 있습니다. 반면에 스타트업은 빠른 의사결정과 다양한 경험을 쌓을 수 있는 기회가 많지만, 안정성이 떨어지고 직원의 업무량이 많을 수 있습니다. 이러한 것들을 고려하여 자신이 잘 맞을 수 있는 회사를 찾는 것이 중요합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;어떤 자질이 필요할까? &lt;br /&gt;개발자가 되기 위해서는 기술적인 역량뿐만 아니라, 문제해결능력, 논리적인 사고력, 창의력, 협업능력 등의 다양한 자질이 필요합니다. 특히, 빠른 학습능력과 지속적인 자기계발이 필요하기 때문에, 호기심과 열정을 가지고 지속적으로 학습하며 발전하는 것이 중요합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;어떤 고민이 있을까? &lt;br /&gt;개발자로 일하면서도 다양한 고민이 있을 수 있습니다. 예를 들어, 새로운 기술을 배워야 하는지, 진로를 변경해야 하는지, 업무에 대한 만족도 등이 그 예입니다. 이 경우, 주변의 개발자들이나 선배 개발자들과 이야기를 나누는 것이 좋습니다. 또한, 자신의 목표와 가치를 재확인하고, 그에 따라 방향을 잡는 것이 중요합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자로서&amp;nbsp;성장하는&amp;nbsp;것은&amp;nbsp;지속적인&amp;nbsp;노력과&amp;nbsp;자기계발이&amp;nbsp;필요합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를&amp;nbsp;위해서는&amp;nbsp;자신이&amp;nbsp;선택한&amp;nbsp;분야에서&amp;nbsp;필요한&amp;nbsp;기술과&amp;nbsp;경험을&amp;nbsp;쌓는&amp;nbsp;것이&amp;nbsp;중요합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한,&amp;nbsp;회사와&amp;nbsp;문화,&amp;nbsp;자질,&amp;nbsp;고민&amp;nbsp;등&amp;nbsp;다양한&amp;nbsp;요소를&amp;nbsp;고려하여&amp;nbsp;자신에게&amp;nbsp;맞는&amp;nbsp;길을&amp;nbsp;찾아&amp;nbsp;나가는&amp;nbsp;것이&amp;nbsp;중요합니다.&lt;/p&gt;</description>
      <category>이야기</category>
      <category>개발자</category>
      <category>진로고민</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/184</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A1%9C-%EC%A0%84%ED%96%A5%EC%9D%84-%EA%B3%A0%EB%AF%BC%ED%95%98%EC%8B%A0%EB%8B%A4%EB%A9%B4#entry184comment</comments>
      <pubDate>Thu, 23 Feb 2023 17:55:54 +0900</pubDate>
    </item>
    <item>
      <title>PHP CI 로그 레벨별 파일 분리 하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/PHP-CI-%EB%A1%9C%EA%B7%B8-%EB%A0%88%EB%B2%A8%EB%B3%84-%ED%8C%8C%EC%9D%BC-%EB%B6%84%EB%A6%AC-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #4e4e4e;&quot;&gt;libraries/Log.php&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674094893305&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 아마도 상단에 이렇게 선언이 되어있을텐데..
protected $_levels = array('ERROR' =&amp;gt; '1', 'DEBUG' =&amp;gt; '2',  'INFO' =&amp;gt; '3', 'ALL' =&amp;gt; '4');

// $level 을 추가하면 기존 log연월일.php 가 ERROR-연월일.php로 바뀌게 됨. 에러 레벨별로 로그 분리
$filepath = $this-&amp;gt;_log_path.$level.'-'.date('Y-m-d').'.php';&lt;/code&gt;&lt;/pre&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;&lt;a href=&quot;https://cikorea.net/bbs/view/lecture?idx=7113&quot;&gt;https://cikorea.net/bbs/view/lecture?idx=7113&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1674095015107&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[게임서버] 로그파일 분리하기&quot; data-og-description=&quot;CI 기본은 log-년-월-일.php와 같이 단일파일로 로그가 저장이 됩니다. 단일파일로 로그가 합쳐져 있을경우 분석시간이 많이 걸리기 때문에 분리를 하게 됩니다. (예 : 결제로그를 별도로 분리해서 &quot; data-og-host=&quot;cikorea.net&quot; data-og-source-url=&quot;https://cikorea.net/bbs/view/lecture?idx=7113&quot; data-og-url=&quot;http://cikorea.net/bbs/view/lecture?idx=7113&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://cikorea.net/bbs/view/lecture?idx=7113&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://cikorea.net/bbs/view/lecture?idx=7113&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[게임서버] 로그파일 분리하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;CI 기본은 log-년-월-일.php와 같이 단일파일로 로그가 저장이 됩니다. 단일파일로 로그가 합쳐져 있을경우 분석시간이 많이 걸리기 때문에 분리를 하게 됩니다. (예 : 결제로그를 별도로 분리해서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;cikorea.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Progmming/PHP</category>
      <category>CI</category>
      <category>log</category>
      <category>php</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/183</guid>
      <comments>https://dev.uhoon.co.kr/entry/PHP-CI-%EB%A1%9C%EA%B7%B8-%EB%A0%88%EB%B2%A8%EB%B3%84-%ED%8C%8C%EC%9D%BC-%EB%B6%84%EB%A6%AC-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry183comment</comments>
      <pubDate>Thu, 19 Jan 2023 11:23:13 +0900</pubDate>
    </item>
    <item>
      <title>vscode 후행 공백 제거</title>
      <link>https://dev.uhoon.co.kr/entry/vscode-%ED%9B%84%ED%96%89-%EA%B3%B5%EB%B0%B1-%EC%A0%9C%EA%B1%B0</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;253&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W6wll/btrWwHLeSLB/BtVVVzfbxNOhJj6khakXhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W6wll/btrWwHLeSLB/BtVVVzfbxNOhJj6khakXhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W6wll/btrWwHLeSLB/BtVVVzfbxNOhJj6khakXhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW6wll%2FbtrWwHLeSLB%2FBtVVVzfbxNOhJj6khakXhk%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;961&quot; height=&quot;253&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;253&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Trim&amp;nbsp;Trailing&amp;nbsp;Whitespace&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;</description>
      <category>Tools/vs code</category>
      <category>vsCode</category>
      <category>공백제거</category>
      <category>후행공백</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/182</guid>
      <comments>https://dev.uhoon.co.kr/entry/vscode-%ED%9B%84%ED%96%89-%EA%B3%B5%EB%B0%B1-%EC%A0%9C%EA%B1%B0#entry182comment</comments>
      <pubDate>Wed, 18 Jan 2023 13:31:04 +0900</pubDate>
    </item>
    <item>
      <title>VSCode에서 Git Bash를 통합 터미널로 설정하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/VSCode%EC%97%90%EC%84%9C-Git-Bash%EB%A5%BC-%ED%86%B5%ED%95%A9-%ED%84%B0%EB%AF%B8%EB%84%90%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;터미널 설정 구성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;722&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mt5GJ/btrUOLuuX1n/74RHEHynI0W4EyDqptgmDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mt5GJ/btrUOLuuX1n/74RHEHynI0W4EyDqptgmDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mt5GJ/btrUOLuuX1n/74RHEHynI0W4EyDqptgmDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmt5GJ%2FbtrUOLuuX1n%2F74RHEHynI0W4EyDqptgmDk%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;722&quot; height=&quot;102&quot; data-origin-width=&quot;722&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;terminal.integrated.defaultprofile.windows 에서 Git Bash 선택&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1569&quot; data-origin-height=&quot;788&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVb9Tn/btrUVi5s4GQ/1RtJlkOZ11dSzKrSrz75WK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVb9Tn/btrUVi5s4GQ/1RtJlkOZ11dSzKrSrz75WK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVb9Tn/btrUVi5s4GQ/1RtJlkOZ11dSzKrSrz75WK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVb9Tn%2FbtrUVi5s4GQ%2F1RtJlkOZ11dSzKrSrz75WK%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;1569&quot; height=&quot;788&quot; data-origin-width=&quot;1569&quot; data-origin-height=&quot;788&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;만약 해당 옵션이 없다면 settings.json 파일을 열고 terminal.integrated.profiles.windows 항목을 찾고 없다면 추가 .&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;주의 : defaultProfile.windows 값은 한 단어여야 작동합니다. 붙여쓰세요.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1672280817061&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  &quot;terminal.integrated.profiles.windows&quot;: {
    &quot;GitBash&quot;: { 
        &quot;source&quot;: &quot;Git Bash&quot;,
        &quot;path&quot;: [&quot;C:\\Program Files\\Git\\bin\\bash.exe&quot;],
    },
  },  
  &quot;terminal.integrated.defaultProfile.windows&quot;: &quot;GitBash&quot;,&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Tools/vs code</category>
      <category>Git</category>
      <category>git bash</category>
      <category>vsCode</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/181</guid>
      <comments>https://dev.uhoon.co.kr/entry/VSCode%EC%97%90%EC%84%9C-Git-Bash%EB%A5%BC-%ED%86%B5%ED%95%A9-%ED%84%B0%EB%AF%B8%EB%84%90%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry181comment</comments>
      <pubDate>Thu, 29 Dec 2022 11:27:54 +0900</pubDate>
    </item>
    <item>
      <title>MariaDB MaxScale 2022.10 웨비나</title>
      <link>https://dev.uhoon.co.kr/entry/MariaDB-MaxScale-202210-%EC%9B%A8%EB%B9%84%EB%82%98</link>
      <description>&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/p9Nd4/btrUupc7NTq/PO9St2q7naHjYzvlYQ30Zk/MariaDB%2B%EA%B8%B0%EB%B3%B8%2B%EC%86%8C%EA%B0%9C%2B20221007.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;MariaDB+기본+소개+20221007.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;2.52MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b6CTWd/btrUs6MCqGz/eIyhse80C2z0zsXyEc9OAK/MariaDB%2BMaxScale%2B%EC%9B%A8%EB%B9%84%EB%82%98%2B202210.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;MariaDB+MaxScale+웨비나+202210.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;1.72MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=rhtL0mtIGP0&quot;&gt;https://www.youtube.com/watch?v=rhtL0mtIGP0&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=rhtL0mtIGP0&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/u6Lr2/hyQZFRcBaW/DlxXoF8EkKpPhtZiotG21k/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=102_124_150_176&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/rhtL0mtIGP0&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DataBase/My-SQL</category>
      <category>MariaDB</category>
      <category>maxScale</category>
      <category>웨비나</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/180</guid>
      <comments>https://dev.uhoon.co.kr/entry/MariaDB-MaxScale-202210-%EC%9B%A8%EB%B9%84%EB%82%98#entry180comment</comments>
      <pubDate>Fri, 23 Dec 2022 18:54:03 +0900</pubDate>
    </item>
    <item>
      <title>.ppk 파일을 .pem 파일로 변환하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/ppk-%ED%8C%8C%EC%9D%BC%EC%9D%84-pem-%ED%8C%8C%EC%9D%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;aws ec2 접속을 위한 ppk 로 pem 생성하는 방법&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;.ppk 파일을 .pem 파일로 변환&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PuTTYgen 다운로드 및 실행.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Actions에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;Load 메뉴&amp;nbsp; .ppk 파일 선택&lt;/li&gt;
&lt;li&gt;.ppk 파일 &lt;span&gt;&amp;nbsp;&lt;/span&gt;Open&lt;/li&gt;
&lt;li&gt;Key passphrase를 입력 (보안을 위해 입력하는것을 권장)&lt;/li&gt;
&lt;li&gt;PuTTYgen 메뉴에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;Conversions - Export OpenSSH Key 선택&lt;br /&gt;( 암호를 입력하지 않았다면 경고가 표시되지만 Y 선택하면 진행 가능.)&lt;/li&gt;
&lt;li&gt;확장자를&lt;span&gt;&amp;nbsp;&lt;/span&gt;.pem로 입력&lt;/li&gt;
&lt;li&gt;Save&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>Cloud Server</category>
      <category>PEM</category>
      <category>ppk</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/179</guid>
      <comments>https://dev.uhoon.co.kr/entry/ppk-%ED%8C%8C%EC%9D%BC%EC%9D%84-pem-%ED%8C%8C%EC%9D%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry179comment</comments>
      <pubDate>Mon, 4 Jul 2022 18:42:18 +0900</pubDate>
    </item>
    <item>
      <title>SQL Formatter SQL 자동 정렬 해주는 웹 사이트</title>
      <link>https://dev.uhoon.co.kr/entry/SQL-Formatter-SQL-%EC%9E%90%EB%8F%99-%EC%A0%95%EB%A0%AC-%ED%95%B4%EC%A3%BC%EB%8A%94-%EC%9B%B9-%EC%82%AC%EC%9D%B4%ED%8A%B8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;SQL Formatter&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;a href=&quot;https://www.dpriver.com/pp/sqlformat.htm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.dpriver.com/pp/sqlformat.htm&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649755959044&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Instant SQL Formatter&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.dpriver.com&quot; data-og-source-url=&quot;https://www.dpriver.com/pp/sqlformat.htm&quot; data-og-url=&quot;https://www.dpriver.com/pp/sqlformat.htm&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.dpriver.com/pp/sqlformat.htm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.dpriver.com/pp/sqlformat.htm&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Instant SQL Formatter&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.dpriver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;452&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lwBwv/btrzbG2ecZd/67cnHr7ZPpp4rwwyYJn03K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lwBwv/btrzbG2ecZd/67cnHr7ZPpp4rwwyYJn03K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lwBwv/btrzbG2ecZd/67cnHr7ZPpp4rwwyYJn03K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlwBwv%2FbtrzbG2ecZd%2F67cnHr7ZPpp4rwwyYJn03K%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;452&quot; height=&quot;146&quot; data-origin-width=&quot;452&quot; data-origin-height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;들어갈 때 마다 세팅 하는것이 번거로워서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 즐겨찾기 등록 후 수정을 통해서 Javascript&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;URL 칸에는 아래와 같이..&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;javascript:document.all.dbvendor.value&amp;nbsp;=&amp;nbsp;'mysql';document.all.keywordcs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.tablenamecs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.columnnamecs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.functioncs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.datatypecs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.variablecs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.aliascs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.quotedidentifiercs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.identifiercs.value&amp;nbsp;=&amp;nbsp;'Unchanged';document.all.maxlenincm.value&amp;nbsp;=&amp;nbsp;8000;document.all.salign[1].checked&amp;nbsp;=&amp;nbsp;true;&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;최종적으로는 아래와 같이 사이트 즐겨찾기와 세팅하기를 즐겨찾기해두고 사용합니다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;208&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c9eADn/btry9eSgOj4/wQmZ24vvkABjq0Zo2VeUD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c9eADn/btry9eSgOj4/wQmZ24vvkABjq0Zo2VeUD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c9eADn/btry9eSgOj4/wQmZ24vvkABjq0Zo2VeUD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9eADn%2Fbtry9eSgOj4%2FwQmZ24vvkABjq0Zo2VeUD0%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;208&quot; height=&quot;141&quot; data-origin-width=&quot;208&quot; data-origin-height=&quot;141&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;</description>
      <category>추천 정보</category>
      <category>beautifier</category>
      <category>sql</category>
      <category>sql formatter</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/178</guid>
      <comments>https://dev.uhoon.co.kr/entry/SQL-Formatter-SQL-%EC%9E%90%EB%8F%99-%EC%A0%95%EB%A0%AC-%ED%95%B4%EC%A3%BC%EB%8A%94-%EC%9B%B9-%EC%82%AC%EC%9D%B4%ED%8A%B8#entry178comment</comments>
      <pubDate>Tue, 12 Apr 2022 18:36:53 +0900</pubDate>
    </item>
    <item>
      <title>기상청 지역별 날씨정보 API</title>
      <link>https://dev.uhoon.co.kr/entry/%EA%B8%B0%EC%83%81%EC%B2%AD-%EC%A7%80%EC%97%AD%EB%B3%84-%EB%82%A0%EC%94%A8%EC%A0%95%EB%B3%B4-API</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.kma.go.kr/wid/queryDFS.jsp?gridx=60&amp;amp;gridy=127&quot;&gt;https://www.kma.go.kr/wid/queryDFS.jsp?gridx=60&amp;amp;gridy=127&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;gridx , gridy 는 leaf 에서 확인.&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;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.kma.go.kr/DFSROOT/POINT/DATA/top.json.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://www.kma.go.kr/DFSROOT/POINT/DATA/top.json.txt&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;[ &lt;br /&gt;{&quot;code&quot;:&quot;11&quot;,&quot;value&quot;:&quot;서울특별시&quot;}, &lt;br /&gt;{&quot;code&quot;:&quot;26&quot;,&quot;value&quot;:&quot;부산광역시&quot;} &lt;br /&gt;... &lt;br /&gt;... &lt;br /&gt;] &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.kma.go.kr/DFSROOT/POINT/DATA/mdl.11.json.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://www.kma.go.kr/DFSROOT/POINT/DATA/mdl.11.json.txt&lt;/a&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;11&amp;nbsp;:&amp;nbsp;서울특별시 &lt;br /&gt;[ &lt;br /&gt;{&quot;code&quot;:&quot;11110&quot;,&quot;value&quot;:&quot;종로구&quot;}, &lt;br /&gt;{&quot;code&quot;:&quot;11140&quot;,&quot;value&quot;:&quot;중구&quot;} &lt;br /&gt;... &lt;br /&gt;... &lt;br /&gt;] &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.kma.go.kr/DFSROOT/POINT/DATA/leaf.11110.json.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://www.kma.go.kr/DFSROOT/POINT/DATA/leaf.11110.json.txt&lt;/a&gt;&amp;nbsp;//&amp;nbsp;11110&amp;nbsp;:&amp;nbsp;종로구 &lt;br /&gt;[ &lt;br /&gt;{&quot;code&quot;:&quot;1111051000&quot;,&quot;value&quot;:&quot;청운동&quot;,&quot;x&quot;:&quot;60&quot;,&quot;y&quot;:&quot;127&quot;}, &lt;br /&gt;{&quot;code&quot;:&quot;1111052000&quot;,&quot;value&quot;:&quot;효자동&quot;,&quot;x&quot;:&quot;60&quot;,&quot;y&quot;:&quot;127&quot;} &lt;br /&gt;... &lt;br /&gt;... &lt;br /&gt;... &lt;br /&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/OJuvi/btsiNchLvGW/50u1UCghLmPmx3HMQOF4R0/timeseries_XML.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;timeseries_XML.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.11MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Open API/그 외</category>
      <category>API</category>
      <category>기상청</category>
      <category>날씨</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/177</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EA%B8%B0%EC%83%81%EC%B2%AD-%EC%A7%80%EC%97%AD%EB%B3%84-%EB%82%A0%EC%94%A8%EC%A0%95%EB%B3%B4-API#entry177comment</comments>
      <pubDate>Thu, 27 Jan 2022 13:51:21 +0900</pubDate>
    </item>
    <item>
      <title>C# 소켓통신 서버 &amp;amp; 클라이언트 소스코드  , MSDN &amp;amp; 예제 샘플소스</title>
      <link>https://dev.uhoon.co.kr/entry/C-%EC%86%8C%EC%BC%93%ED%86%B5%EC%8B%A0-%EC%84%9C%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C</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;MSDN&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/ko-kr/dotnet/framework/network-programming/socket-code-examples&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.microsoft.com/ko-kr/dotnet/framework/network-programming/socket-code-examples&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1641462712494&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;소켓 코드 예제&quot; data-og-description=&quot;다음 예제를 통해 Socket 클래스를 사용하여 클라이언트에서 네트워크 서비스에 연결하는 방법 및 클라이언트의 연결을 수신 대기할 서버로 사용하는 방법을 알아봅니다.&quot; data-og-host=&quot;docs.microsoft.com&quot; data-og-source-url=&quot;https://docs.microsoft.com/ko-kr/dotnet/framework/network-programming/socket-code-examples&quot; data-og-url=&quot;https://docs.microsoft.com/ko-kr/dotnet/framework/network-programming/socket-code-examples&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bke4b4/hyMZJpJiYa/aFK2VfIeYQztTH1WAJ6uN0/img.png?width=456&amp;amp;height=456&amp;amp;face=0_0_456_456&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/ko-kr/dotnet/framework/network-programming/socket-code-examples&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.microsoft.com/ko-kr/dotnet/framework/network-programming/socket-code-examples&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bke4b4/hyMZJpJiYa/aFK2VfIeYQztTH1WAJ6uN0/img.png?width=456&amp;amp;height=456&amp;amp;face=0_0_456_456');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;소켓 코드 예제&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;다음 예제를 통해 Socket 클래스를 사용하여 클라이언트에서 네트워크 서비스에 연결하는 방법 및 클라이언트의 연결을 수신 대기할 서버로 사용하는 방법을 알아봅니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.microsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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;&lt;a href=&quot;https://sheepone.tistory.com/57&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://sheepone.tistory.com/57&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1641462500114&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;C# 소켓통신 TcpClient (비동기, 재접속, TcpServer 예제포함)&quot; data-og-description=&quot;비동기 재접속이 가능한 TCPCLIENT using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Windows.Forms; namespace TCPClient01 { public partial class Form1 : Form {..&quot; data-og-host=&quot;sheepone.tistory.com&quot; data-og-source-url=&quot;https://sheepone.tistory.com/57&quot; data-og-url=&quot;https://sheepone.tistory.com/57&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ctJtNn/hyMZJQPAkl/VEXhqtk7aIkP7vr25zyIak/img.png?width=800&amp;amp;height=612&amp;amp;face=0_0_800_612,https://scrap.kakaocdn.net/dn/m3gt0/hyMZPwJfVW/EzuIyFoktyevIV8LDk6UT0/img.png?width=800&amp;amp;height=612&amp;amp;face=0_0_800_612,https://scrap.kakaocdn.net/dn/r4cDj/hyMZUY7Wr2/hv1ZCDSWs0jxzwytYZs5K1/img.png?width=980&amp;amp;height=750&amp;amp;face=0_0_980_750&quot;&gt;&lt;a href=&quot;https://sheepone.tistory.com/57&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://sheepone.tistory.com/57&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ctJtNn/hyMZJQPAkl/VEXhqtk7aIkP7vr25zyIak/img.png?width=800&amp;amp;height=612&amp;amp;face=0_0_800_612,https://scrap.kakaocdn.net/dn/m3gt0/hyMZPwJfVW/EzuIyFoktyevIV8LDk6UT0/img.png?width=800&amp;amp;height=612&amp;amp;face=0_0_800_612,https://scrap.kakaocdn.net/dn/r4cDj/hyMZUY7Wr2/hv1ZCDSWs0jxzwytYZs5K1/img.png?width=980&amp;amp;height=750&amp;amp;face=0_0_980_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;C# 소켓통신 TcpClient (비동기, 재접속, TcpServer 예제포함)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;비동기 재접속이 가능한 TCPCLIENT using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Windows.Forms; namespace TCPClient01 { public partial class Form1 : Form {..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;sheepone.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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;&lt;a href=&quot;https://blog.daum.net/pg365/276&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://blog.daum.net/pg365/276&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1645074260797&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;시리얼 포트, TCP/IP, UDP/IP 터미널 프로그램 (시리얼 통신 프로그램)&quot; data-og-description=&quot;이번에 소개 드리는 프로그램은 시리얼 포트(COM port)나 TCP/IP, UDP/IP 프로토콜로 데이터를 주고받을 수 있는 프로그램입니다. 시리얼이나 TCP, UDP 프로토콜로 통신하는 장비를&amp;nbsp;연결하는 프로그램&quot; data-og-host=&quot;blog.daum.net&quot; data-og-source-url=&quot;https://blog.daum.net/pg365/276&quot; data-og-url=&quot;https://blog.daum.net/pg365/276&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/O7Qbu/hyNrMFvt1I/1srk7SGQrARwuvrTGo5f4K/img.png?width=699&amp;amp;height=634&amp;amp;face=0_0_699_634,https://scrap.kakaocdn.net/dn/bonuud/hyNqzA1uAr/mywOfej6BEf0sO0RixOLXk/img.png?width=699&amp;amp;height=634&amp;amp;face=0_0_699_634&quot;&gt;&lt;a href=&quot;https://blog.daum.net/pg365/276&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.daum.net/pg365/276&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/O7Qbu/hyNrMFvt1I/1srk7SGQrARwuvrTGo5f4K/img.png?width=699&amp;amp;height=634&amp;amp;face=0_0_699_634,https://scrap.kakaocdn.net/dn/bonuud/hyNqzA1uAr/mywOfej6BEf0sO0RixOLXk/img.png?width=699&amp;amp;height=634&amp;amp;face=0_0_699_634');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;시리얼 포트, TCP/IP, UDP/IP 터미널 프로그램 (시리얼 통신 프로그램)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이번에 소개 드리는 프로그램은 시리얼 포트(COM port)나 TCP/IP, UDP/IP 프로토콜로 데이터를 주고받을 수 있는 프로그램입니다. 시리얼이나 TCP, UDP 프로토콜로 통신하는 장비를&amp;nbsp;연결하는 프로그램&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.daum.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Progmming/.Net</category>
      <category>C#</category>
      <category>서버</category>
      <category>소켓통신</category>
      <category>클라이언트</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/176</guid>
      <comments>https://dev.uhoon.co.kr/entry/C-%EC%86%8C%EC%BC%93%ED%86%B5%EC%8B%A0-%EC%84%9C%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C#entry176comment</comments>
      <pubDate>Thu, 6 Jan 2022 18:49:38 +0900</pubDate>
    </item>
    <item>
      <title>한글 포함 문자열 바이트로 자르기 substring</title>
      <link>https://dev.uhoon.co.kr/entry/%ED%95%9C%EA%B8%80-%ED%8F%AC%ED%95%A8-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B0%94%EC%9D%B4%ED%8A%B8%EB%A1%9C-%EC%9E%90%EB%A5%B4%EA%B8%B0-substring</link>
      <description>&lt;pre id=&quot;code_1640226146129&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;       function getTextLength(str) {
           var len = 0;
           for (var i = 0; i &amp;lt; str.length; i++) {
               if (escape(str.charAt(i)).length == 6) {
                   len++;
               }

               len++;
           }

           return len;
       }

       function cutStr(str, start, size) {
           var i = 0;
           var lim = 0;
           var pos = 0;
           var beg = 0;
           var minus = 0;
           var len = getTextLength(str);

           for (var i = 0; pos &amp;lt; start; i++) {
               pos += (str.charCodeAt(i) &amp;gt; 128) ? 2 : 1;
           }

           beg = i;


           for (i = beg; i &amp;lt; len; i++) {
               lim += (str.charCodeAt(i) &amp;gt; 128) ? 2 : 1;

               if (lim &amp;gt; size) {
                   break;
               }
           }

           return str.substring(beg, i);
       }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Progmming/Javascript</category>
      <category>javascript</category>
      <category>SUBSTRING</category>
      <category>문자열자르기</category>
      <category>바이트</category>
      <category>한글포함</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/175</guid>
      <comments>https://dev.uhoon.co.kr/entry/%ED%95%9C%EA%B8%80-%ED%8F%AC%ED%95%A8-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B0%94%EC%9D%B4%ED%8A%B8%EB%A1%9C-%EC%9E%90%EB%A5%B4%EA%B8%B0-substring#entry175comment</comments>
      <pubDate>Thu, 23 Dec 2021 11:23:37 +0900</pubDate>
    </item>
    <item>
      <title>크롬 자동완성 막기</title>
      <link>https://dev.uhoon.co.kr/entry/%ED%81%AC%EB%A1%AC-%EC%9E%90%EB%8F%99%EC%99%84%EC%84%B1-%EB%A7%89%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;의도치 않은 input에 아이디가 자꾸 찍혀 있어서 찾아보다보니 고질병으로&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;autocomplete 속성으로 하는 방법이 있었으나 크롬 버전이 바뀌면서 사용 불가능.&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;pre id=&quot;code_1639977391022&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;input id=&quot;email&quot; readonly type=&quot;email&quot; onfocus=&quot;if (this.hasAttribute('readonly')) {
    this.removeAttribute('readonly');
    // fix for mobile safari to show virtual keyboard
    this.blur();    this.focus();  }&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&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;a href=&quot;https://stackoverflow.com/questions/15738259/disabling-chrome-autofill&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/questions/15738259/disabling-chrome-autofill&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1639977494112&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Disabling Chrome Autofill&quot; data-og-description=&quot;I have been running into issues with the chrome autofill behavior on several forms. The fields in the form all have very common and accurate names, such as &amp;quot;email&amp;quot;, &amp;quot;name&amp;quot;, or &amp;quot;password&amp;quot;, and the...&quot; data-og-host=&quot;stackoverflow.com&quot; data-og-source-url=&quot;https://stackoverflow.com/questions/15738259/disabling-chrome-autofill&quot; data-og-url=&quot;https://stackoverflow.com/questions/15738259/disabling-chrome-autofill&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/0rpgO/hyMKFuFZlI/Fn7d9rKNwDhapbWFupImi0/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/15738259/disabling-chrome-autofill&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://stackoverflow.com/questions/15738259/disabling-chrome-autofill&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/0rpgO/hyMKFuFZlI/Fn7d9rKNwDhapbWFupImi0/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Disabling Chrome Autofill&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;I have been running into issues with the chrome autofill behavior on several forms. The fields in the form all have very common and accurate names, such as &quot;email&quot;, &quot;name&quot;, or &quot;password&quot;, and the...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;stackoverflow.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Open API/Jquery</category>
      <category>Autofill</category>
      <category>disable</category>
      <category>자동완성</category>
      <category>크롬</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/174</guid>
      <comments>https://dev.uhoon.co.kr/entry/%ED%81%AC%EB%A1%AC-%EC%9E%90%EB%8F%99%EC%99%84%EC%84%B1-%EB%A7%89%EA%B8%B0#entry174comment</comments>
      <pubDate>Mon, 20 Dec 2021 14:18:30 +0900</pubDate>
    </item>
    <item>
      <title>HeidiSQL Ping Server 로그 숨기기</title>
      <link>https://dev.uhoon.co.kr/entry/HeidiSQL-Ping-Server-%EB%A1%9C%EA%B7%B8-%EC%88%A8%EA%B8%B0%EA%B8%B0</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;로그 파일에 대부분 용량을 차지하는 /* Ping server ... */&amp;nbsp; 메시지&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;숨기는 방법&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;환경설정 - 로그 기록 - 디버그 메시지 체크 해제&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;726&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v3g92/btrl8mAGPyI/oOtKJGe8mGKpEOnTcW2Ck1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v3g92/btrl8mAGPyI/oOtKJGe8mGKpEOnTcW2Ck1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v3g92/btrl8mAGPyI/oOtKJGe8mGKpEOnTcW2Ck1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv3g92%2Fbtrl8mAGPyI%2FoOtKJGe8mGKpEOnTcW2Ck1%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;740&quot; height=&quot;726&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;726&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DataBase/My-SQL</category>
      <category>HeidiSQL</category>
      <category>ping server</category>
      <category>로그</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/173</guid>
      <comments>https://dev.uhoon.co.kr/entry/HeidiSQL-Ping-Server-%EB%A1%9C%EA%B7%B8-%EC%88%A8%EA%B8%B0%EA%B8%B0#entry173comment</comments>
      <pubDate>Thu, 25 Nov 2021 11:33:38 +0900</pubDate>
    </item>
    <item>
      <title>mysql - 특정 컬럼명 검색하기 , 포함하는 테이블 찾기</title>
      <link>https://dev.uhoon.co.kr/entry/mysql-%ED%8A%B9%EC%A0%95-%EC%BB%AC%EB%9F%BC%EB%AA%85-%EA%B2%80%EC%83%89%ED%95%98%EA%B8%B0-%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%B0%BE%EA%B8%B0</link>
      <description>&lt;pre id=&quot;code_1637641272418&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	SELECT 	TABLE_SCHEMA
		,	TABLE_NAME
		,	COLUMN_NAME
		,	CHARACTER_MAXIMUM_LENGTH
		,	ORDINAL_POSITION
		,	COLUMN_DEFAULT
		,	DATA_TYPE
		,	COLUMN_TYPE
		,	COLUMN_KEY
		,	EXTRA
		,	COLUMN_COMMENT
	FROM 	INFORMATION_SCHEMA.COLUMNS
	WHERE 	TABLE_SCHEMA		= '디비명' 
		AND COLUMN_NAME			= '컬럼명';&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-4169082997566429&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&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;동일 컬럼이 여러개 인 경우 뒤져보기.&lt;/p&gt;</description>
      <category>DataBase/My-SQL</category>
      <category>mysql</category>
      <category>길이</category>
      <category>컬럼검색</category>
      <category>타입</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/172</guid>
      <comments>https://dev.uhoon.co.kr/entry/mysql-%ED%8A%B9%EC%A0%95-%EC%BB%AC%EB%9F%BC%EB%AA%85-%EA%B2%80%EC%83%89%ED%95%98%EA%B8%B0-%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%B0%BE%EA%B8%B0#entry172comment</comments>
      <pubDate>Tue, 23 Nov 2021 13:23:41 +0900</pubDate>
    </item>
    <item>
      <title>aws lambda 윈도우환경에서 배포 패키지 생성하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/aws-lambda-%EB%B0%B0%ED%8F%AC-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%83%9D%EC%84%B1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1631870404060&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 - AWS Lambda&quot; data-og-description=&quot;자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 이 자습서에서는 Lambda 함수를 생성하고 Amazon Simple Storage Service(Amazon S3)에 대한 트리거를 구성합니다. Amazon S3는 S3 버킷에 업로드된 각 이&quot; data-og-host=&quot;docs.aws.amazon.com&quot; data-og-source-url=&quot;https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html&quot; data-og-url=&quot;https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 - AWS Lambda&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 이 자습서에서는 Lambda 함수를 생성하고 Amazon Simple Storage Service(Amazon S3)에 대한 트리거를 구성합니다. Amazon S3는 S3 버킷에 업로드된 각 이&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Amazon S3 트리거를 사용하여 썸네일 이미지 생성을 만드는 중에...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스를 몰라도 AWS 웹 인터페이스를 통해 대부분이 해결 가능했습니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자가 찾은 가장 간편한 방법은 git bash를 설치하는 방법인데&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;우선 다운로드는&amp;nbsp;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://git-scm.com/&lt;/a&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;설치 후 실행하면 아래와 같이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J19pH/btrfnwEyaeN/pJajcbQ7uFXuLK1wBnQX4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J19pH/btrfnwEyaeN/pJajcbQ7uFXuLK1wBnQX4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J19pH/btrfnwEyaeN/pJajcbQ7uFXuLK1wBnQX4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ19pH%2FbtrfnwEyaeN%2FpJajcbQ7uFXuLK1wBnQX4K%2Fimg.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;pwd 는 현재 경로를 보는 명령어 입니다. 후에 배포 패키지를 zip으로 만들어야 하기 때문에&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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGZxtj/btrfnmvkJ64/yVHgHt5UPCKNgmfkgr4c3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGZxtj/btrfnmvkJ64/yVHgHt5UPCKNgmfkgr4c3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGZxtj/btrfnmvkJ64/yVHgHt5UPCKNgmfkgr4c3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGZxtj%2FbtrfnmvkJ64%2FyVHgHt5UPCKNgmfkgr4c3K%2Fimg.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C:\aws 폴더를 만들고 이동하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yUA6C/btrfnVYezcw/a8VeRkpmvvH740RPRR8dz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yUA6C/btrfnVYezcw/a8VeRkpmvvH740RPRR8dz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yUA6C/btrfnVYezcw/a8VeRkpmvvH740RPRR8dz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyUA6C%2FbtrfnVYezcw%2Fa8VeRkpmvvH740RPRR8dz1%2Fimg.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;자습서에 나오는 npm install sharp 명령어 실행을 해야하지만&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git bash 에서 그대로 실행하면 윈도우 버전이 다운로드 되기 때문에&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--arch 와 --platform 옵션을 추가해서&amp;nbsp; x64 , linux 로 설치했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qEUSm/btrfpCXz8mD/5970G7ZhBzgrjHfa29ZGQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qEUSm/btrfpCXz8mD/5970G7ZhBzgrjHfa29ZGQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qEUSm/btrfpCXz8mD/5970G7ZhBzgrjHfa29ZGQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqEUSm%2FbtrfpCXz8mD%2F5970G7ZhBzgrjHfa29ZGQ0%2Fimg.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;c:\aws 폴더에 아래와 같이 모듈이 설치되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;145&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0rwBO/btrfn3u8rIU/JyBWnJVJE5kYlaknxlJ0r0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0rwBO/btrfn3u8rIU/JyBWnJVJE5kYlaknxlJ0r0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0rwBO/btrfn3u8rIU/JyBWnJVJE5kYlaknxlJ0r0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0rwBO%2Fbtrfn3u8rIU%2FJyBWnJVJE5kYlaknxlJ0r0%2Fimg.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;145&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;여기에 index.js 파일에 생성 소스를 넣고 zip으로 압축하면 배포 패키지 완성..&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;배포나 실행 테스트도 git bash - cli 를 통해서 처리가 가능한데 그 부분에 대해서도...추후에..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저와 같이 어려워 하시는분들을 위해서 ㅠㅠ..&lt;/p&gt;</description>
      <category>OS/Microsoft</category>
      <category>AWS</category>
      <category>배포패키지</category>
      <category>윈도우환경</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/171</guid>
      <comments>https://dev.uhoon.co.kr/entry/aws-lambda-%EB%B0%B0%ED%8F%AC-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%83%9D%EC%84%B1#entry171comment</comments>
      <pubDate>Fri, 17 Sep 2021 18:36:45 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 이벤트로그 일괄 삭제</title>
      <link>https://dev.uhoon.co.kr/entry/%EC%9C%88%EB%8F%84%EC%9A%B0-%EC%9D%B4%EB%B2%A4%ED%8A%B8%EB%A1%9C%EA%B7%B8-%EC%9D%BC%EA%B4%84-%EC%82%AD%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;FOR&amp;nbsp;&amp;nbsp;/F&amp;nbsp;&amp;nbsp;&quot;tokens=*&quot;&amp;nbsp;&amp;nbsp;%1&amp;nbsp;&amp;nbsp;IN&amp;nbsp;&amp;nbsp;('wevtutil&amp;nbsp;el')&amp;nbsp;&amp;nbsp;DO&amp;nbsp;&amp;nbsp;wevtutil&amp;nbsp;cl&amp;nbsp;&amp;nbsp;&quot;%1&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;</description>
      <category>OS/Microsoft</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/170</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EC%9C%88%EB%8F%84%EC%9A%B0-%EC%9D%B4%EB%B2%A4%ED%8A%B8%EB%A1%9C%EA%B7%B8-%EC%9D%BC%EA%B4%84-%EC%82%AD%EC%A0%9C#entry170comment</comments>
      <pubDate>Thu, 16 Sep 2021 16:37:44 +0900</pubDate>
    </item>
    <item>
      <title>php empty() 함수 만약 변수의 값이 0 이라면?</title>
      <link>https://dev.uhoon.co.kr/entry/php-empty-%ED%95%A8%EC%88%98-%EB%A7%8C%EC%95%BD-%EB%B3%80%EC%88%98%EC%9D%98-%EA%B0%92%EC%9D%B4-0-%EC%9D%B4%EB%9D%BC%EB%A9%B4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;php 로 개발언어를 바꾸니..생기는 여러가지 소소한 차이들&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;값이 존재하고 0이 아니어야 함.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 값이 0일 경우에도 false 값이 Return 되기 때문에 주의가 필요함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 변수의 실제 값이 0 일 경우 return Type 이 boolean 이기 때문에 0이 리턴되면 False로 판단되어 문제가 됨.&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;&lt;a href=&quot;https://www.php.net/manual/en/function.empty.php&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.php.net/manual/en/function.empty.php&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Progmming/PHP</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/169</guid>
      <comments>https://dev.uhoon.co.kr/entry/php-empty-%ED%95%A8%EC%88%98-%EB%A7%8C%EC%95%BD-%EB%B3%80%EC%88%98%EC%9D%98-%EA%B0%92%EC%9D%B4-0-%EC%9D%B4%EB%9D%BC%EB%A9%B4#entry169comment</comments>
      <pubDate>Wed, 15 Sep 2021 18:55:21 +0900</pubDate>
    </item>
    <item>
      <title>Throttle &amp;amp; Debounce 스로틀과 디바운스</title>
      <link>https://dev.uhoon.co.kr/entry/Throttle-Debounce-%EC%8A%A4%EB%A1%9C%ED%8B%80%EA%B3%BC-%EB%94%94%EB%B0%94%EC%9A%B4%EC%8A%A4</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;&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;a href=&quot;https://webclub.tistory.com/607&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://webclub.tistory.com/607&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1630905899705&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;디바운스(Debounce)와 스로틀(Throttle ) 그리고 차이점&quot; data-og-description=&quot;Throttle,&amp;nbsp;Debounce &amp;amp; Difference 스로틀(Throttle) 과 디바운스(Debounce) 란 무엇일까? 이 두 가지 방법 모두 DOM 이벤트를 기반으로 실행하는 자바스크립트를 성능상의 이유로 JS의 양적인 측면, 즉 이벤트(ev.&quot; data-og-host=&quot;webclub.tistory.com&quot; data-og-source-url=&quot;https://webclub.tistory.com/607&quot; data-og-url=&quot;https://webclub.tistory.com/607&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wetbj/hyLuU76oY9/GWF8ENp9wNFvpQHIyRSXzk/img.png?width=661&amp;amp;height=133&amp;amp;face=0_0_661_133,https://scrap.kakaocdn.net/dn/bx0NGS/hyLwghlFja/m9kN9NHbNXdVS74SuKC6xk/img.png?width=661&amp;amp;height=133&amp;amp;face=0_0_661_133,https://scrap.kakaocdn.net/dn/baC2l9/hyLu43UvD9/AKfIgacvaRcv3KHYbCLPBK/img.jpg?width=589&amp;amp;height=545&amp;amp;face=236_184_363_322&quot;&gt;&lt;a href=&quot;https://webclub.tistory.com/607&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://webclub.tistory.com/607&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wetbj/hyLuU76oY9/GWF8ENp9wNFvpQHIyRSXzk/img.png?width=661&amp;amp;height=133&amp;amp;face=0_0_661_133,https://scrap.kakaocdn.net/dn/bx0NGS/hyLwghlFja/m9kN9NHbNXdVS74SuKC6xk/img.png?width=661&amp;amp;height=133&amp;amp;face=0_0_661_133,https://scrap.kakaocdn.net/dn/baC2l9/hyLu43UvD9/AKfIgacvaRcv3KHYbCLPBK/img.jpg?width=589&amp;amp;height=545&amp;amp;face=236_184_363_322');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;디바운스(Debounce)와 스로틀(Throttle ) 그리고 차이점&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Throttle,&amp;nbsp;Debounce &amp;amp; Difference 스로틀(Throttle) 과 디바운스(Debounce) 란 무엇일까? 이 두 가지 방법 모두 DOM 이벤트를 기반으로 실행하는 자바스크립트를 성능상의 이유로 JS의 양적인 측면, 즉 이벤트(ev.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;webclub.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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;&lt;a href=&quot;https://zetawiki.com/wiki/Jquery-throttle-debounce&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://zetawiki.com/wiki/Jquery-throttle-debounce&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1630905880790&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;jquery-throttle-debounce - 제타위키&quot; data-og-description=&quot;다음 문자열 포함...&quot; data-og-host=&quot;zetawiki.com&quot; data-og-source-url=&quot;https://zetawiki.com/wiki/Jquery-throttle-debounce&quot; data-og-url=&quot;https://zetawiki.com/wiki/Jquery-throttle-debounce&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://zetawiki.com/wiki/Jquery-throttle-debounce&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://zetawiki.com/wiki/Jquery-throttle-debounce&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;jquery-throttle-debounce - 제타위키&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;다음 문자열 포함...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;zetawiki.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Open API/그 외</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/168</guid>
      <comments>https://dev.uhoon.co.kr/entry/Throttle-Debounce-%EC%8A%A4%EB%A1%9C%ED%8B%80%EA%B3%BC-%EB%94%94%EB%B0%94%EC%9A%B4%EC%8A%A4#entry168comment</comments>
      <pubDate>Mon, 6 Sep 2021 14:27:45 +0900</pubDate>
    </item>
    <item>
      <title>크롬에서 코드 경량화(minify) 된 Javascript 재정렬 하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/%ED%81%AC%EB%A1%AC%EC%97%90%EC%84%9C-%EC%BD%94%EB%93%9C-%EA%B2%BD%EB%9F%89%ED%99%94minify-%EB%90%9C-Javascript-%EC%9E%AC%EC%A0%95%EB%A0%AC-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;본 사이트에 들어간 Javascript 파일 중 하나 입니다.&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;이전에는 상단에 버튼이 떴던거같은데 어느순간 사라져버려서...&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;892&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQvbrr/btrdkO62vI3/FbZSSciBKgJpUHAM90KZn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQvbrr/btrdkO62vI3/FbZSSciBKgJpUHAM90KZn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQvbrr/btrdkO62vI3/FbZSSciBKgJpUHAM90KZn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQvbrr%2FbtrdkO62vI3%2FFbZSSciBKgJpUHAM90KZn0%2Fimg.png&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;892&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;하단에 보시면 {} 표시를 누르시면 보기 좋게 재정렬 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;892&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MKcsR/btrdfH2n9g5/Ikxgz5gknKaeKEwAqp8j2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MKcsR/btrdfH2n9g5/Ikxgz5gknKaeKEwAqp8j2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MKcsR/btrdfH2n9g5/Ikxgz5gknKaeKEwAqp8j2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMKcsR%2FbtrdfH2n9g5%2FIkxgz5gknKaeKEwAqp8j2k%2Fimg.png&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;892&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>추천 정보</category>
      <category>javascript</category>
      <category>jsbeautifier</category>
      <category>정렬</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/167</guid>
      <comments>https://dev.uhoon.co.kr/entry/%ED%81%AC%EB%A1%AC%EC%97%90%EC%84%9C-%EC%BD%94%EB%93%9C-%EA%B2%BD%EB%9F%89%ED%99%94minify-%EB%90%9C-Javascript-%EC%9E%AC%EC%A0%95%EB%A0%AC-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry167comment</comments>
      <pubDate>Thu, 26 Aug 2021 18:32:44 +0900</pubDate>
    </item>
    <item>
      <title>uncaught RangeError: Maximum call stack size exceeded</title>
      <link>https://dev.uhoon.co.kr/entry/uncaught-RangeError-Maximum-call-stack-size-exceeded</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;최대 호출 스택 크기 초과&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;또 다른 원인으로 ajax 호출 시 parameter 에 object 의 value 값이 아닌 object 를 넘긴 경우에 발생할 수 있다.&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;parameter에 object 를 넘긴 것이 실수..아마도 object의 모든 속성(?)을 넘겨서 그런것이 아닐까 하는 추측.&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;var&amp;nbsp;a&amp;nbsp;=&amp;nbsp;$(this);&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;a 를 ajax Parameter로 넘겨서 발생함.&lt;/p&gt;</description>
      <category>에러노트</category>
      <category>ajax</category>
      <category>maximum call stack size exceeded</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/166</guid>
      <comments>https://dev.uhoon.co.kr/entry/uncaught-RangeError-Maximum-call-stack-size-exceeded#entry166comment</comments>
      <pubDate>Tue, 10 Aug 2021 11:58:34 +0900</pubDate>
    </item>
    <item>
      <title>javascript Table 로 Excel 파일 생성 다운받기</title>
      <link>https://dev.uhoon.co.kr/entry/javascript-Table-%EB%A1%9C-Excel-%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1-%EB%8B%A4%EC%9A%B4%EB%B0%9B%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;table id 를 지정해서&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;테이블 아이디 , 파일명 ,&amp;nbsp; 시트명을 변수처리함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1627541261417&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;    var makeToExcel = (function () { 
        var style = &quot;&amp;lt;style&amp;gt; td,th {width:100px;} &amp;lt;/style&amp;gt;&quot;;
        var uri = 'data:application/vnd.ms-excel;base64,'
            , template = '&amp;lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;!--[if gte mso 9]&amp;gt;&amp;lt;xml&amp;gt;&amp;lt;x:ExcelWorkbook&amp;gt;&amp;lt;x:ExcelWorksheets&amp;gt;&amp;lt;x:ExcelWorksheet&amp;gt;&amp;lt;x:Name&amp;gt;{worksheet}&amp;lt;/x:Name&amp;gt;&amp;lt;x:WorksheetOptions&amp;gt;&amp;lt;x:DisplayGridlines/&amp;gt;&amp;lt;/x:WorksheetOptions&amp;gt;&amp;lt;/x:ExcelWorksheet&amp;gt;&amp;lt;/x:ExcelWorksheets&amp;gt;&amp;lt;/x:ExcelWorkbook&amp;gt;&amp;lt;/xml&amp;gt;&amp;lt;![endif]--&amp;gt;' + style + '&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;application/vnd.ms-excel; charset=utf-8&quot;/&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;table border=&quot;1&quot;&amp;gt;{table}&amp;lt;/table&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;'
            , base64 = function (s) {
                return window.btoa(unescape(encodeURIComponent(s)))
            }
            , format = function (s, c) {
                return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; })
            }
        return function (table, fileName , sheetName) {
            if (!table.nodeType) table = document.getElementById(table)
            var ctx = { worksheet: sheetName || 'Worksheet', table: table.innerHTML }
			console.log(table.innerHTML); 
            let a = document.createElement('a');
        a.href = uri + base64(format(template, ctx));
        a.download = fileName+'.xls';
        a.click();
        }
    })()
	
	makeToExcel('테이블아이디', '파일명' ,'시트명');&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Progmming/Javascript</category>
      <category>Excel</category>
      <category>Table</category>
      <category>TableToExcel</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/165</guid>
      <comments>https://dev.uhoon.co.kr/entry/javascript-Table-%EB%A1%9C-Excel-%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1-%EB%8B%A4%EC%9A%B4%EB%B0%9B%EA%B8%B0#entry165comment</comments>
      <pubDate>Thu, 29 Jul 2021 15:49:23 +0900</pubDate>
    </item>
    <item>
      <title>유동적인 테이블 Td 셀 병합 rowspan 처리 Javascript 함수</title>
      <link>https://dev.uhoon.co.kr/entry/%EC%9C%A0%EB%8F%99%EC%A0%81%EC%9D%B8-%ED%85%8C%EC%9D%B4%EB%B8%94-Td-%EC%85%80-%EB%B3%91%ED%95%A9-rowspan-%EC%B2%98%EB%A6%AC-Javascript-%ED%95%A8%EC%88%98</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;지정 항목의 tr &amp;gt; td 값에 값이 동일 한 경우 rowspan 처리해주는 Javascript 함수입니다.&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;주석 처리된 라인의 경우 contains 를 사용하여 포함된 조건이어서 일부 상황에서 정렬에 의해 해당&amp;nbsp; Row 사이에 다른 Row가 존재하는 경우&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;pre id=&quot;code_1626916732358&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(document).ready(function(e){
    genRowspan(&quot;td 클래스명&quot;);
});
 
function genRowspan(className){
    $(&quot;.&quot; + className).each(function() {
        //var rows = $(&quot;.&quot; + className + &quot;:contains('&quot; + $(this).text() + &quot;')&quot;);
        var sText = $(this).text();
        var rows = $(&quot;.&quot; + className).filter(function() {
        	return $(this).text() == sText;
        });
        if (rows.length &amp;gt; 1) {
            rows.eq(0).attr(&quot;rowspan&quot;, rows.length);
            rows.not(&quot;:eq(0)&quot;).remove();
        }
    });
}&lt;/code&gt;&lt;/pre&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;a href=&quot;https://zero-gravity.tistory.com/311&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://zero-gravity.tistory.com/311&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1626916749943&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[jQuery] 유동적인 테이블 셀병합 - rowspan&quot; data-og-description=&quot;&amp;nbsp;위와 같이 소속에 같은 데이터가 있을 경우 하나의 셀로 병합해주는 코드다. $(document).ready(function(e){ genRowspan(&amp;quot;td 클래스명&amp;quot;); }); function genRowspan(className){ $(&amp;quot;.&amp;quot; + className).each(funct..&quot; data-og-host=&quot;zero-gravity.tistory.com&quot; data-og-source-url=&quot;https://zero-gravity.tistory.com/311&quot; data-og-url=&quot;https://zero-gravity.tistory.com/311&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/08rNi/hyKXTair6E/BDjrkF2vZBF8lj5hIQzvok/img.png?width=150&amp;amp;height=162&amp;amp;face=0_0_150_162,https://scrap.kakaocdn.net/dn/BYx8H/hyKXSoXTSZ/whk4MkxLzoRM9kTkslk0N0/img.png?width=150&amp;amp;height=162&amp;amp;face=0_0_150_162&quot;&gt;&lt;a href=&quot;https://zero-gravity.tistory.com/311&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://zero-gravity.tistory.com/311&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/08rNi/hyKXTair6E/BDjrkF2vZBF8lj5hIQzvok/img.png?width=150&amp;amp;height=162&amp;amp;face=0_0_150_162,https://scrap.kakaocdn.net/dn/BYx8H/hyKXSoXTSZ/whk4MkxLzoRM9kTkslk0N0/img.png?width=150&amp;amp;height=162&amp;amp;face=0_0_150_162');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[jQuery] 유동적인 테이블 셀병합 - rowspan&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;위와 같이 소속에 같은 데이터가 있을 경우 하나의 셀로 병합해주는 코드다. $(document).ready(function(e){ genRowspan(&quot;td 클래스명&quot;); }); function genRowspan(className){ $(&quot;.&quot; + className).each(funct..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;zero-gravity.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://api.jquery.com/contains-selector/&quot;&gt;https://api.jquery.com/contains-selector/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1626916752692&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;:contains() Selector | jQuery API Documentation&quot; data-og-description=&quot;Description: Select all elements that contain the specified text. The matching text can appear directly within the selected element, in any of that element's descendants, or a combination thereof. As with attribute value selectors, text inside the parenthe&quot; data-og-host=&quot;api.jquery.com&quot; data-og-source-url=&quot;https://api.jquery.com/contains-selector/&quot; data-og-url=&quot;https://api.jquery.com/contains-selector/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://api.jquery.com/contains-selector/&quot; data-source-url=&quot;https://api.jquery.com/contains-selector/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('&amp;quot;&amp;quot;');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;:contains() Selector | jQuery API Documentation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Description: Select all elements that contain the specified text. The matching text can appear directly within the selected element, in any of that element's descendants, or a combination thereof. As with attribute value selectors, text inside the parenthe&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;api.jquery.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Open API/그 외</category>
      <category>javascript</category>
      <category>jQuery</category>
      <category>rowspan</category>
      <category>셀병합</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/164</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EC%9C%A0%EB%8F%99%EC%A0%81%EC%9D%B8-%ED%85%8C%EC%9D%B4%EB%B8%94-Td-%EC%85%80-%EB%B3%91%ED%95%A9-rowspan-%EC%B2%98%EB%A6%AC-Javascript-%ED%95%A8%EC%88%98#entry164comment</comments>
      <pubDate>Thu, 22 Jul 2021 10:22:10 +0900</pubDate>
    </item>
    <item>
      <title>Visual Studio Code FTP 설치하기</title>
      <link>https://dev.uhoon.co.kr/entry/Visual-Studio-Code-FTP-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;622&quot; data-origin-height=&quot;323&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czQpr1/btq9jvEoOmi/wPCC4t7a1zFMgeQmtAKpR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czQpr1/btq9jvEoOmi/wPCC4t7a1zFMgeQmtAKpR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czQpr1/btq9jvEoOmi/wPCC4t7a1zFMgeQmtAKpR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczQpr1%2Fbtq9jvEoOmi%2FwPCC4t7a1zFMgeQmtAKpR1%2Fimg.png&quot; data-origin-width=&quot;622&quot; data-origin-height=&quot;323&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-origin-width=&quot;43&quot; data-origin-height=&quot;48&quot; width=&quot;33&quot; height=&quot;37&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bu6uc1/btq9jwwxb1h/FEjMseMojP6QhRhVDniVfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bu6uc1/btq9jwwxb1h/FEjMseMojP6QhRhVDniVfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bu6uc1/btq9jwwxb1h/FEjMseMojP6QhRhVDniVfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu6uc1%2Fbtq9jwwxb1h%2FFEjMseMojP6QhRhVDniVfK%2Fimg.png&quot; data-origin-width=&quot;43&quot; data-origin-height=&quot;48&quot; width=&quot;33&quot; height=&quot;37&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확장 탭에서 &quot;ftp-simple&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 후 F1 을 눌러서 검색창을 열고 ftp 를 검색하면 아래와 같이 검색 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;351&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQpshY/btq9kQPLTc6/oK6PboNHy6vQtQ99OOCOkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQpshY/btq9kQPLTc6/oK6PboNHy6vQtQ99OOCOkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQpshY/btq9kQPLTc6/oK6PboNHy6vQtQ99OOCOkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQpshY%2Fbtq9kQPLTc6%2FoK6PboNHy6vQtQ99OOCOkK%2Fimg.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;351&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;위와 같이 보이시면 ftp-simple : config - FTP connection setting 을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;354&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brxdZ5/btq9lTMg77f/MkC1xBROxX5tbbZtSdItVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brxdZ5/btq9lTMg77f/MkC1xBROxX5tbbZtSdItVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brxdZ5/btq9lTMg77f/MkC1xBROxX5tbbZtSdItVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrxdZ5%2Fbtq9lTMg77f%2FMkC1xBROxX5tbbZtSdItVk%2Fimg.png&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;354&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;아마도 보시면 아시겠지만 각 항목은 위와 같이 입력합니다.&lt;/p&gt;</description>
      <category>Progmming/PHP</category>
      <category>ftp</category>
      <category>visualstudiocode</category>
      <category>vsCode</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/163</guid>
      <comments>https://dev.uhoon.co.kr/entry/Visual-Studio-Code-FTP-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0#entry163comment</comments>
      <pubDate>Mon, 12 Jul 2021 13:36:36 +0900</pubDate>
    </item>
    <item>
      <title>Visual Studio Code 한국어 팩 설치 방법</title>
      <link>https://dev.uhoon.co.kr/entry/Visual-Studio-Code-%ED%95%9C%EA%B5%AD%EC%96%B4-%ED%8C%A9-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;522&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpBCoF/btq9jFub2Zx/oZrRdMI9uiRbWkbVMKlhY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpBCoF/btq9jFub2Zx/oZrRdMI9uiRbWkbVMKlhY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpBCoF/btq9jFub2Zx/oZrRdMI9uiRbWkbVMKlhY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpBCoF%2Fbtq9jFub2Zx%2FoZrRdMI9uiRbWkbVMKlhY1%2Fimg.png&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;522&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-origin-width=&quot;43&quot; data-origin-height=&quot;48&quot; width=&quot;29&quot; height=&quot;32&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1Fkju/btq9sCJdKJ6/1SgZAQoi5BR9AouhkmZYzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1Fkju/btq9sCJdKJ6/1SgZAQoi5BR9AouhkmZYzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1Fkju/btq9sCJdKJ6/1SgZAQoi5BR9AouhkmZYzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Fkju%2Fbtq9sCJdKJ6%2F1SgZAQoi5BR9AouhkmZYzK%2Fimg.png&quot; data-origin-width=&quot;43&quot; data-origin-height=&quot;48&quot; width=&quot;29&quot; height=&quot;32&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확장 탭 에서 &quot;Korean&quot;을 검색하면 &quot;Korean Language Pack for Visual Studio Code&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;이미 설치했기 때문에&amp;nbsp; &amp;nbsp;&lt;span style=&quot;background-color: #006dd7; color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #006dd7; color: #ffffff;&quot;&gt;&amp;nbsp;&lt;span style=&quot;background-color: #006dd7; color: #ffffff;&quot;&gt;설&lt;/span&gt;&lt;/span&gt;치&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 라고 나옵니다만&amp;nbsp;&lt;span style=&quot;background-color: #006dd7; color: #ffffff;&quot;&gt; Install&amp;nbsp;&lt;/span&gt; 이라고 보이실텐데 설치하시면 됩니다.&lt;/span&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;span style=&quot;color: #000000;&quot;&gt;설치 후 VS Code를 재시작해주시면 한글팩이 설치되어 한글로 보이게 됩니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Progmming/PHP</category>
      <category>Visual Studio Code</category>
      <category>vsCode</category>
      <category>한글팩</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/162</guid>
      <comments>https://dev.uhoon.co.kr/entry/Visual-Studio-Code-%ED%95%9C%EA%B5%AD%EC%96%B4-%ED%8C%A9-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95#entry162comment</comments>
      <pubDate>Mon, 12 Jul 2021 13:29:25 +0900</pubDate>
    </item>
    <item>
      <title>WerFault.exe 웹서버 부하 해결 - 임시조치와 근본적인 해결 방법</title>
      <link>https://dev.uhoon.co.kr/entry/WerFaultexe-%EC%9B%B9%EC%84%9C%EB%B2%84-%EB%B6%80%ED%95%98-%ED%95%B4%EA%B2%B0-%EC%9E%84%EC%8B%9C%EC%A1%B0%EC%B9%98%EC%99%80-%EA%B7%BC%EB%B3%B8%EC%A0%81%EC%9D%B8-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;WerFault.exe 프로세스로 인해 웹서버 부하가 높아졌다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;호스팅 서버였기 때문에 임시 조치로 에러 리포팅 서비스를 중지시켜버렸다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;이렇게 에러 리포팅으로 인한 서버 부하는 해결이 되었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Windows Error Reporting Service&amp;nbsp; &amp;nbsp;WERSVC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619508795365&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Faulting application name: w3wp.exe 
Faulting module name: ntdll.dll&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HOyPC/btq3ArneGR4/fgvsS1I9UyZf9K2uZzljAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HOyPC/btq3ArneGR4/fgvsS1I9UyZf9K2uZzljAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HOyPC/btq3ArneGR4/fgvsS1I9UyZf9K2uZzljAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHOyPC%2Fbtq3ArneGR4%2FfgvsS1I9UyZf9K2uZzljAK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;하지만 근본적인 오류가 해결된 것은 아니기에..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;근본적인 해결 방법은 오류 메시지가 발생하는 부분을 찾아 수정해야하는데&lt;/p&gt;
&lt;p&gt;이 에러 로그는 이벤트 뷰어에서 확인이 가능하다.&amp;nbsp;&lt;/p&gt;</description>
      <category>OS/Microsoft</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/161</guid>
      <comments>https://dev.uhoon.co.kr/entry/WerFaultexe-%EC%9B%B9%EC%84%9C%EB%B2%84-%EB%B6%80%ED%95%98-%ED%95%B4%EA%B2%B0-%EC%9E%84%EC%8B%9C%EC%A1%B0%EC%B9%98%EC%99%80-%EA%B7%BC%EB%B3%B8%EC%A0%81%EC%9D%B8-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95#entry161comment</comments>
      <pubDate>Tue, 27 Apr 2021 16:34:23 +0900</pubDate>
    </item>
    <item>
      <title>CSS 긴 텍스트 말줄임 처리하기</title>
      <link>https://dev.uhoon.co.kr/entry/%EA%B8%B4-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EB%A7%90%EC%A4%84%EC%9E%84-%EC%B2%98%EB%A6%AC%ED%95%98%EA%B8%B0</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;초과 되어 줄이 바뀌거나 UI가 깨지는 경우 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;... 말줄임 표로 처리하여 한줄에 노출 되도록 함.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1619500303915&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;style type=&quot;text/css&quot;&amp;gt;
.target
{
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
&amp;lt;/style&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lm18P/btq3xne9do5/EHyhS0awhM6Ns3cJT2X2x1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lm18P/btq3xne9do5/EHyhS0awhM6Ns3cJT2X2x1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lm18P/btq3xne9do5/EHyhS0awhM6Ns3cJT2X2x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flm18P%2Fbtq3xne9do5%2FEHyhS0awhM6Ns3cJT2X2x1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>CSS</category>
      <category>CSS</category>
      <category>말줄임</category>
      <category>줄바꿈</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/160</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EA%B8%B4-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EB%A7%90%EC%A4%84%EC%9E%84-%EC%B2%98%EB%A6%AC%ED%95%98%EA%B8%B0#entry160comment</comments>
      <pubDate>Tue, 27 Apr 2021 14:14:17 +0900</pubDate>
    </item>
    <item>
      <title>MS SQL 비트연산(&amp;amp;)</title>
      <link>https://dev.uhoon.co.kr/entry/MS-SQL-%EB%B9%84%ED%8A%B8%EC%97%B0%EC%82%B0</link>
      <description>&lt;p&gt;사용 배경은 계속적으로 추가되는 Flag 컬럼에 대해 고민 중 하나의 공용 컬럼에 값을 다 넣어버리기로 함.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;DECLARE @i INT &lt;br /&gt;SET&amp;nbsp;@i&amp;nbsp;=&amp;nbsp;6 &lt;br /&gt;SELECT @i &amp;amp; 1&amp;nbsp; , 결과 =&amp;gt; 0&lt;br /&gt;SELECT @i &amp;amp; 2&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; , 결과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;=&amp;gt; 2&lt;/span&gt;&amp;nbsp; &lt;br /&gt;SELECT @i &amp;amp; 4&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; , 결과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;=&amp;gt; 4&lt;/span&gt;&lt;br /&gt;SELECT @i &amp;amp; 6&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; , 결과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;=&amp;gt; 6&lt;/span&gt;&lt;br /&gt;SELECT @i &amp;amp; 8&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; , 결과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;=&amp;gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;INT 타입의 컬럼에 정수형 데이터를 넣고 2진법으로 보아 계산을 하는 방법.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2번째 조회인 @i &amp;amp; 2 의 내용을 보면.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;6 &amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;0110&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2 &amp;gt; 0010&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;======&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0010&amp;nbsp; &amp;gt; 2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;결과 값이 2가 나온다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;일반적으로 사용할 경우에는&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;SELECT * &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;FROM 테이블 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;WHERE 컬럼 &amp;amp; 2 &amp;gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;위와 같이 0보다 크거나(True) 작은 경우(False)로 구분하여 사용된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ex)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;취미 체크하기&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ㅁ 축구(1) &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ㅁ농구(2) &lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ㅁ독서(4)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;위와 같이 체크박스가 있는 경우 취미가 축구와 독서일 경우&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;저장값은 두 값의 합을 넣는다.&amp;nbsp; &amp;nbsp;&amp;gt;&amp;gt; 5&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;br /&gt;DECLARE&amp;nbsp;@i&amp;nbsp;INT &lt;br /&gt;SET&amp;nbsp;@i&amp;nbsp;=&amp;nbsp;5 &lt;br /&gt;SELECT @i &amp;amp; 1&amp;nbsp; , 결과 =&amp;gt; 1&lt;br /&gt;SELECT @i &amp;amp; 2&amp;nbsp; , 결과 =&amp;gt; 0&lt;br /&gt;SELECT @i &amp;amp; 4&amp;nbsp; , 결과 =&amp;gt; 4&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;축구가 포함된 경우를 찾으려면&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;SELECT *&lt;br /&gt;FROM TABLE&lt;/p&gt;
&lt;p&gt;WHERE 취미 &amp;amp; 1 &amp;gt; 0&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위와 같이 찾는다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>bit</category>
      <category>MSSQL</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/159</guid>
      <comments>https://dev.uhoon.co.kr/entry/MS-SQL-%EB%B9%84%ED%8A%B8%EC%97%B0%EC%82%B0#entry159comment</comments>
      <pubDate>Tue, 22 Dec 2020 10:42:04 +0900</pubDate>
    </item>
    <item>
      <title>SSMS 완료시간 : 안 보여지도록 옵션 수정</title>
      <link>https://dev.uhoon.co.kr/entry/SSMS-%EC%99%84%EB%A3%8C%EC%8B%9C%EA%B0%84-%EC%95%88-%EB%B3%B4%EC%97%AC%EC%A7%80%EB%8F%84%EB%A1%9D-%EC%98%B5%EC%85%98-%EC%88%98%EC%A0%95</link>
      <description>&lt;p style=&quot;text-align: center;&quot;&gt;SSMS(SQL Server Management Studio)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;도구 - 옵션에 아래 옵션을 체크 해제 하면 됩니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;u&gt;쿼리실행 - SQL Server - 고급 - 완료 시간 표시 체크 해제&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drTu5P/btqQpt5bDLF/341WbcEaZzzOPsrlQcaAqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drTu5P/btqQpt5bDLF/341WbcEaZzzOPsrlQcaAqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drTu5P/btqQpt5bDLF/341WbcEaZzzOPsrlQcaAqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrTu5P%2FbtqQpt5bDLF%2F341WbcEaZzzOPsrlQcaAqk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>SSMS</category>
      <category>완료시간</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/158</guid>
      <comments>https://dev.uhoon.co.kr/entry/SSMS-%EC%99%84%EB%A3%8C%EC%8B%9C%EA%B0%84-%EC%95%88-%EB%B3%B4%EC%97%AC%EC%A7%80%EB%8F%84%EB%A1%9D-%EC%98%B5%EC%85%98-%EC%88%98%EC%A0%95#entry158comment</comments>
      <pubDate>Wed, 16 Dec 2020 09:32:54 +0900</pubDate>
    </item>
    <item>
      <title>System.Security.SecurityException: 요청한 레지스트리에 액세스할 수 없습니다.</title>
      <link>https://dev.uhoon.co.kr/entry/SystemSecuritySecurityException-%EC%9A%94%EC%B2%AD%ED%95%9C-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC%EC%97%90-%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
      <description>&lt;p&gt;오류 메시지&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;System.Security.SecurityException: 요청한 레지스트리에 액세스할 수 없습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;해결 방법&lt;/p&gt;
&lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;EnableLUA 값 데이터를 0으로 설정.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEYJd3/btqP4kJnmlp/UgKRtyKw4IqnfnfOIgHRa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEYJd3/btqP4kJnmlp/UgKRtyKw4IqnfnfOIgHRa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEYJd3/btqP4kJnmlp/UgKRtyKw4IqnfnfOIgHRa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEYJd3%2FbtqP4kJnmlp%2FUgKRtyKw4IqnfnfOIgHRa1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Progmming/.Net</category>
      <category>EnableLUA</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/157</guid>
      <comments>https://dev.uhoon.co.kr/entry/SystemSecuritySecurityException-%EC%9A%94%EC%B2%AD%ED%95%9C-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC%EC%97%90-%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4#entry157comment</comments>
      <pubDate>Tue, 15 Dec 2020 10:34:40 +0900</pubDate>
    </item>
    <item>
      <title>Facebook 연동 오류 , Invalid Scope: Array (Please check lower letter case or delimiter)</title>
      <link>https://dev.uhoon.co.kr/entry/Facebook-%EC%97%B0%EB%8F%99-%EC%98%A4%EB%A5%98-Invalid-Scope-Array-Please-check-lower-letter-case-or-delimiter</link>
      <description>&lt;p&gt;오류 메시지 : Invalid&amp;nbsp;Scope:&amp;nbsp;Array&amp;nbsp;(Please&amp;nbsp;check&amp;nbsp;lower&amp;nbsp;letter&amp;nbsp;case&amp;nbsp;or&amp;nbsp;delimiter)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;해결 방법 :&amp;nbsp; &lt;span style=&quot;color: #333333;&quot;&gt;Scope에 대한 정의가 바뀐 것 같음.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&quot;scope&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt; ['public_profile', 'email']&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;배열로 되어있던 기존 상태에서&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;콤마 혹은 공백으로 구분하여 아래와 같이 수정.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&quot;scope&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt; 'public_profile,email'&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;참고 자료&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/63620672/hybridauth-facebook-invalid-scope-array-please-check-lower-letter-case-or-deli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;stackoverflow.com/questions/63620672/hybridauth-facebook-invalid-scope-array-please-check-lower-letter-case-or-deli&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1605535293429&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;HybridAuth Facebook Invalid Scope: Array (Please check lower letter case or delimiter)&quot; data-og-description=&quot;Facebook started returning this error a few days ago: &amp;quot;Invalid Scope: Array (Please check lower letter case or delimiter)&amp;quot; I haven't made a changes to the login functionality, or facebook...&quot; data-og-host=&quot;stackoverflow.com&quot; data-og-source-url=&quot;https://stackoverflow.com/questions/63620672/hybridauth-facebook-invalid-scope-array-please-check-lower-letter-case-or-deli&quot; data-og-url=&quot;https://stackoverflow.com/questions/63620672/hybridauth-facebook-invalid-scope-array-please-check-lower-letter-case-or-deli&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bLZ4O1/hyIgUV5aOv/6CuxhstH3w1lER8pjEEwQK/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/63620672/hybridauth-facebook-invalid-scope-array-please-check-lower-letter-case-or-deli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://stackoverflow.com/questions/63620672/hybridauth-facebook-invalid-scope-array-please-check-lower-letter-case-or-deli&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bLZ4O1/hyIgUV5aOv/6CuxhstH3w1lER8pjEEwQK/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;HybridAuth Facebook Invalid Scope: Array (Please check lower letter case or delimiter)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Facebook started returning this error a few days ago: &quot;Invalid Scope: Array (Please check lower letter case or delimiter)&quot; I haven't made a changes to the login functionality, or facebook...&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;stackoverflow.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://sir.kr/g5_tip/14440&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;sir.kr/g5_tip/14440&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1605535307450&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;페이스북 소셜로그인 에러가 발생될 때 &amp;gt; SIR&quot; data-og-description=&quot;페이스북 소셜로그인에서 아래와 같은 에러가 발생될 때 극복 방법입니다. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;Invalid Scope: Array (Please check lower letter case or delimiter) &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&amp;nbsp; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;plugin/social/includes/functions.php 파일 325줄 &quot; data-og-host=&quot;sir.kr&quot; data-og-source-url=&quot;https://sir.kr/g5_tip/14440&quot; data-og-url=&quot;https://sir.kr/g5_tip/14440&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://sir.kr/g5_tip/14440&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://sir.kr/g5_tip/14440&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;페이스북 소셜로그인 에러가 발생될 때 &amp;gt; SIR&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;페이스북 소셜로그인에서 아래와 같은 에러가 발생될 때 극복 방법입니다. &lt;br /&gt;&lt;br /&gt;Invalid Scope: Array (Please check lower letter case or delimiter) &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;plugin/social/includes/functions.php 파일 325줄&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;sir.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>에러노트</category>
      <category>API</category>
      <category>DELIMITER</category>
      <category>error</category>
      <category>facebook</category>
      <category>Invalid Scope</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/156</guid>
      <comments>https://dev.uhoon.co.kr/entry/Facebook-%EC%97%B0%EB%8F%99-%EC%98%A4%EB%A5%98-Invalid-Scope-Array-Please-check-lower-letter-case-or-delimiter#entry156comment</comments>
      <pubDate>Mon, 16 Nov 2020 23:02:51 +0900</pubDate>
    </item>
    <item>
      <title>디비 백업 프로시저 및 리포트 메일 발송 기능</title>
      <link>https://dev.uhoon.co.kr/entry/%EB%94%94%EB%B9%84-%EB%B0%B1%EC%97%85-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80-%EB%B0%8F-%EB%A6%AC%ED%8F%AC%ED%8A%B8-%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%EA%B8%B0%EB%8A%A5-%EC%8B%A4%EC%82%AC%EC%9A%A9-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;전문가 분들은 광고 클릭후 닫아주시면 감사하겠습니다. :)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저와 같이 운영관리에 익숙치 않은 분들을 위한 실 사용 사례입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;1. master DB에 백업 기록을 위한 테이블을 생성했습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1601902949842&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;USE [master]
GO
-- 시작안되는 경우도 발생하기 때문에 startDt 기본값을 넣지 않음.  
CREATE TABLE [dbo].[tblBackupDB](
	[dbName] [varchar](50) NULL,
	[startDt] [datetime] NULL,
	[endDt] [datetime] NULL,
	[msg] [ntext] NULL,
	[mdfSize] [int] NULL,
	[ldfSize] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO&lt;/code&gt;&lt;/pre&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;2. 백업을 위한 프로시저 생성, DATEPART를 이용해 특정 요일마다 풀백업과 차등백업을 반복하도록 설정.&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;pre id=&quot;code_1601903252283&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;USE [master]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_DataBaseBackup]
AS
BEGIN
	
	DECLARE @dbName varchar(4000), @SQL varchar(4000) 
	DECLARE @yoil int , @mdfSize int , @ldfSize int 
	
	SELECT @yoil = DATEPART(WEEKDAY,GETDATE())
	 
	-- 백업대상 기록 , 시스템 디비는 제외
	INSERT INTO master.dbo.tblBackupDB(dbName) 
		SELECT name 
			FROM sys.databases 
			WHERE UPPER(name) NOT IN ('MASTER','MODEL','MSDB','TEMPDB')

	-- 서버 아이피 체크
	declare @ip_v4 varchar(16) 
	SELECT DISTINCT @ip_v4 = local_net_address
	FROM sys.dm_exec_connections
	WHERE local_net_address IS NOT NULL and local_net_address &amp;lt;&amp;gt; '127.0.0.1' 

	DECLARE bk_cursor CURSOR FOR 
		SELECT name 
			FROM sys.databases 
			WHERE UPPER(name) NOT IN ('MASTER','MODEL','MSDB','TEMPDB')
	OPEN bk_cursor

	FETCH NEXT FROM bk_cursor 
	INTO @dbName 

	WHILE @@FETCH_STATUS = 0
	BEGIN
		BEGIN TRY
			-- mdf 파일 사이즈
			SELECT @mdfSize = SUM(size)*8/1024	--MB
			FROM sys.databases   
			JOIN sys.master_files  
			ON sys.databases.database_id=sys.master_files.database_id  
			WHERE sys.databases.name = @dbName and type='0'
			 
			-- ldf 파일 사이즈
			SELECT @ldfSize = SUM(size)*8/1024	--MB
			FROM sys.databases   
			JOIN sys.master_files  
			ON sys.databases.database_id=sys.master_files.database_id  
			WHERE sys.databases.name = @dbName and type='1'

			-- 백업시작 기록/용량 기록 
			UPDATE master.dbo.tblBackupDB 
				SET startDt = GETDATE() , mdfSize = @mdfSize, ldfSize = @ldfSize
				WHERE dbname = @dbName 
					AND startDt is null

			IF @yoil = 7 -- 토요일은 풀백업 
				BEGIN
					--풀백업	
					SET @SQL = 'BACKUP DATABASE ['+@dbName+'] TO DISK = N''D:\Backup\'+convert(varchar(30), getdate(),112)+'_'+@dbName+'.bak'' WITH COMPRESSION, INIT, NAME = '''+@dbName+' - Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10;'
				END 
			ELSE	 -- 주간은 차등백업
				BEGIN
					--차등백업			
					SET @SQL = 'BACKUP DATABASE ['+@dbName+'] TO  DISK = N''D:\Backup\'+convert(varchar(30), getdate(),112)+'_'+@dbName+'.bak'' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'''+@dbName+' - Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10;'
				END 
			--print @SQL
			EXEC (@SQL)
		
			-- 백업종료 기록 
			UPDATE master.dbo.tblBackupDB 
				SET endDt = GETDATE()
				WHERE dbname = @dbName 
					AND CONVERT(CHAR(10),startDt,23) = CONVERT(CHAR(10),GETDATE(),23)  
					AND endDt IS NULL  

		END TRY
		BEGIN CATCH
				-- 에러 기록 
				UPDATE master.dbo.tblBackupDB 
					SET msg = 'ERROR_NUMBER : ' + CAST(ERROR_NUMBER() AS VARCHAR) + '
						 ERROR_MESSAGE: ' + ERROR_MESSAGE()
					WHERE dbname = @dbName 
						AND CONVERT(CHAR(10),startDt,23) = CONVERT(CHAR(10),GETDATE(),23)  
						AND endDt IS NULL  
		END CATCH

		FETCH NEXT FROM bk_cursor 
		INTO @dbName 
	END 
	CLOSE bk_cursor;
	DEALLOCATE bk_cursor;

	-- FREEPROCCACHE 는 메모리 상에 전체 캐시를 비우기 
	-- https://bit.ly/3icmJ85
	DBCC FREEPROCCACHE; 
END&lt;/code&gt;&lt;/pre&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;!-- dev.uhoon.co.kr_중간 반응형 --&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;3. 백업 후 남겨진 기록과 msdb.dbo.backupset 테이블 데이터를 참조하여 리포팅 메일 발송.&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;html 코딩은 개인 취향대로.. msdb.dbo.backupset 에는 생각보다 많은 정보가 들어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://bit.ly/2Gxce24&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;bit.ly/2Gxce24&lt;/a&gt; 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1601903778204&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;USE [master]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER PROCEDURE [dbo].[spSendBackupReport]
AS
BEGIN 
	SET NOCOUNT ON; 

	DECLARE @dbName varchar(100),@sDt datetime , @eDt datetime , @result nvarchar(50)
	DECLARE @html varchar(max) , @ip_v4 varchar(16) , @subject varchar(200)
	DECLARE @idx int , @mdfSize int , @ldfSize int  , @backupSize int ,@totalBackupSize bigint , @BackupType nvarchar(20)

	SET @idx = 1

	SELECT DISTINCT @ip_v4 = local_net_address
	FROM sys.dm_exec_connections
	WHERE local_net_address IS NOT NULL and local_net_address &amp;lt;&amp;gt; '127.0.0.1' 

	SET @subject =  'DB Server Backup Report - '+ @ip_v4
	SET @totalBackupSize = 0

	SET @html = ' 
		&amp;lt;div&amp;gt;&amp;lt;h2&amp;gt;시스템에서 자동 발송되는 DB 백업 결과 메일입니다.&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;
		&amp;lt;div&amp;gt;&amp;lt;h3&amp;gt; IP : '+@ip_v4+'&amp;lt;/h3&amp;gt;&amp;lt;/div&amp;gt;
		&amp;lt;div&amp;gt;&amp;lt;h3&amp;gt; DATE : '+ CONVERT(VARCHAR(10) , GETDATE(),121) +'&amp;lt;/h3&amp;gt;&amp;lt;/div&amp;gt;
		&amp;lt;div&amp;gt;&amp;lt;h3&amp;gt; Total Backup Size : #TOTALBACKUPSIZE#   ( ※ 단순참고용, 연산에 의한 오차발생 ) &amp;lt;/h3&amp;gt;&amp;lt;/div&amp;gt;
		&amp;lt;table style=&quot;border-collapse: collapse;font-size: small;&quot;&amp;gt;
			&amp;lt;tr&amp;gt;
				&amp;lt;td colspan=&quot;6&quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;
			&amp;lt;/tr&amp;gt;
			&amp;lt;tr &quot;class=&quot;tr&quot;&amp;gt;
				&amp;lt;td style=&quot;width:20px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;#&amp;lt;/td&amp;gt;
				&amp;lt;td style=&quot;width:150px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;DB&amp;lt;/td&amp;gt;
				&amp;lt;td style=&quot;width:150px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;DB Size&amp;lt;/td&amp;gt;
				&amp;lt;td style=&quot;width:180px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;Backup Size&amp;lt;br/&amp;gt;/ Type&amp;lt;/td&amp;gt;
				&amp;lt;td style=&quot;width:100px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;Start&amp;lt;br/&amp;gt;/ End&amp;lt;/td&amp;gt;
				&amp;lt;td style=&quot;width:100px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;Processing Time (Min.)&amp;lt;/td&amp;gt;
				&amp;lt;td style=&quot;width:70px;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;Result&amp;lt;/td&amp;gt;
			&amp;lt;/tr&amp;gt;
	'

	-- https://bit.ly/2Gxce24 // msdb.dbo.backupset 백업셋 데이터 테이블 참조 

	DECLARE vendor_cursor
	CURSOR FOR
		SELECT D.name ,B.startDt , B.endDt 
		, case when B.endDt is null then '&amp;lt;span style=&quot;color:red;font-weight:bold;&quot;&amp;gt;실패&amp;lt;/span&amp;gt;' else '성공' end as result
		, B.mdfSize ,  B.ldfSize
		, BS.compressed_backup_size 
		, case Type when  'I' then N'차등백업' when 'D' then N'풀백업' end as BackupType
		FROM sys.databases D 
			LEFT OUTER JOIN tblbackupDB B 
				ON D.name = DBNAME  AND CONVERT(CHAR(10),endDt,23) = CONVERT(CHAR(10),GETDATE(),23)
			LEFT OUTER JOIN msdb..backupset BS 
				ON D.name = BS.database_name AND  CONVERT(CHAR(10),BS.backup_start_date,23) = CONVERT(CHAR(10),GETDATE(),23)
		WHERE UPPER(D.name) NOT IN ('MASTER','MODEL','MSDB','TEMPDB')
	OPEN vendor_cursor
	FETCH NEXT FROM vendor_cursor
	INTO @dbName ,@sDt , @eDt, @result , @mdfSize , @ldfSize , @backupSize , @BackupType

	WHILE @@FETCH_STATUS = 0
		BEGIN
		SET @html +='
		&amp;lt;tr&amp;gt;
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;'+ cast(@idx as varchar) +'&amp;lt;/td&amp;gt;
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;'+@dbName+'&amp;lt;/td&amp;gt;
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;DATA : '+ CAST(FORMAT(isnull(@mdfSize,0)/1024, N'#,0') AS VARCHAR)+' GB &amp;lt;br/&amp;gt;Log : '+ CAST(FORMAT(isnull(@ldfSize,0), N'#,0') AS VARCHAR)+' MB&amp;lt;/td&amp;gt;
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;'+ CAST(FORMAT(isnull(@backupSize,0)/1024/1024, N'#,0') AS VARCHAR)+' MB&amp;lt;br/&amp;gt;'+ @BackupType+'&amp;lt;/td&amp;gt; 
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;'+ltrim(rtrim(isnull(CONVERT(CHAR(8), @sDt, 8),'-')))+'&amp;lt;br/&amp;gt;'+ltrim(rtrim(isnull(CONVERT(CHAR(8), @eDt, 8),'-')))+'&amp;lt;/td&amp;gt; 
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;'+case when ltrim(rtrim(isnull(DATEDIFF(MINUTE,@sDt,@eDt),'-'))) = '0' then N'1 미만' else ltrim(rtrim(isnull(DATEDIFF(MINUTE,@sDt,@eDt),'-')))  end +'&amp;lt;/td&amp;gt;
			&amp;lt;td style=&quot;border: 1px solid black;text-align:center;padding: 5px;&quot;&amp;gt;'+@result+'&amp;lt;/td&amp;gt;
		&amp;lt;/tr&amp;gt;
		'

		SET @totalBackupSize += @backupSize
		SET @idx = @idx + 1
		FETCH NEXT FROM vendor_cursor
		INTO @dbName ,@sDt , @eDt, @result, @mdfSize , @ldfSize  , @backupSize , @BackupType
	END
	CLOSE vendor_cursor;
	DEALLOCATE vendor_cursor;

	SET @html += '&amp;lt;/table&amp;gt;'

	SET @html = replace(@html,'#TOTALBACKUPSIZE#',CAST(FORMAT(isnull(@totalBackupSize,0)/1024/1024, N'#,0') AS VARCHAR)+' MB')
	  
	EXEC msdb. dbo.sp_send_dbmail	-- sp_send_dbmail 상세 &amp;gt;&amp;gt; https://bit.ly/30zkdTj 
		@profile_name='메일프로필',
		@body_format = 'HTML' , -- 바디타입
		@recipients= '받을사람',
		@blind_copy_recipients= '숨김참조',
		@subject = @subject,
		@body =@html
END&lt;/code&gt;&lt;/pre&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;4. 결과적으로 시스템에서 발송해서 수신된 메일은 아래와 같습니다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;957&quot; data-origin-height=&quot;825&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYFI1W/btqJ8fNO642/LTU3niI9e60YgdTSeaVVN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYFI1W/btqJ8fNO642/LTU3niI9e60YgdTSeaVVN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYFI1W/btqJ8fNO642/LTU3niI9e60YgdTSeaVVN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYFI1W%2FbtqJ8fNO642%2FLTU3niI9e60YgdTSeaVVN0%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;957&quot; height=&quot;825&quot; data-origin-width=&quot;957&quot; data-origin-height=&quot;825&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;적당히 내용을 수정하여 입맛에 맛도록 수정 사용하시기 바랍니다.&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>MSSQL</category>
      <category>메일발송</category>
      <category>백업리포트</category>
      <category>차등백업</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/155</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EB%94%94%EB%B9%84-%EB%B0%B1%EC%97%85-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80-%EB%B0%8F-%EB%A6%AC%ED%8F%AC%ED%8A%B8-%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%EA%B8%B0%EB%8A%A5-%EC%8B%A4%EC%82%AC%EC%9A%A9-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80#entry155comment</comments>
      <pubDate>Mon, 5 Oct 2020 22:30:11 +0900</pubDate>
    </item>
    <item>
      <title>저장하지 않은 쿼리 확인 하는 방법 , 강제 종료 시 쿼리 복구</title>
      <link>https://dev.uhoon.co.kr/entry/%EC%A0%80%EC%9E%A5%ED%95%98%EC%A7%80-%EC%95%8A%EC%9D%80-%EC%BF%BC%EB%A6%AC-%ED%99%95%EC%9D%B8-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-%EA%B0%95%EC%A0%9C-%EC%A2%85%EB%A3%8C-%EC%8B%9C-%EC%BF%BC%EB%A6%AC-%EB%B3%B5%EA%B5%AC</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;때때로 ssms가 강제 종료 된다거나 저장하지 않고 닫았을 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL 쿼리를 복구 해야하는 경우 아래의 쿼리에서 일정 시간동안 쿼리 확인이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1601389950611&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Use &amp;lt;database&amp;gt;
SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script] FROM sys.dm_exec_query_stats AS execquery
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
ORDER BY execquery.last_execution_time DESC&lt;/code&gt;&lt;/pre&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;참조 Url : &lt;a href=&quot;https://qastack.kr/programming/15034832/recover-unsaved-sql-query-scripts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;qastack.kr/programming/15034832/recover-unsaved-sql-query-scripts&lt;/a&gt;&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>MSSQL</category>
      <category>sql</category>
      <category>쿼리복구</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/154</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EC%A0%80%EC%9E%A5%ED%95%98%EC%A7%80-%EC%95%8A%EC%9D%80-%EC%BF%BC%EB%A6%AC-%ED%99%95%EC%9D%B8-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-%EA%B0%95%EC%A0%9C-%EC%A2%85%EB%A3%8C-%EC%8B%9C-%EC%BF%BC%EB%A6%AC-%EB%B3%B5%EA%B5%AC#entry154comment</comments>
      <pubDate>Tue, 29 Sep 2020 23:34:32 +0900</pubDate>
    </item>
    <item>
      <title>SQL Server 에이전트에 등록된 작업 목록 조회</title>
      <link>https://dev.uhoon.co.kr/entry/SQL-Server-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%97%90-%EB%93%B1%EB%A1%9D%EB%90%9C-%EC%9E%91%EC%97%85-%EB%AA%A9%EB%A1%9D-%EC%A1%B0%ED%9A%8C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;SQL Server 에이전트에 등록된 작업 목록을 조회 하는 SQL 입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1596532650722&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
	A.name,
	case description when '설명이 없습니다.' then '' else description end as description,   
  CASE convert(
    nvarchar(3), 
    [freq_type], 
    3
  ) WHEN 4 THEN N' 매일' WHEN 8 THEN N' 매주 ' + CASE WHEN [freq_interval] &amp;amp; 1 = 1 THEN N'일' ELSE '' END 
	+ CASE WHEN [freq_interval] &amp;amp; 2 = 2 THEN ' 월' ELSE '' END + CASE WHEN [freq_interval] &amp;amp; 4 = 4 THEN ' 화' ELSE '' END + CASE WHEN [freq_interval] &amp;amp; 8 = 8 THEN ' 수' ELSE '' END + CASE WHEN [freq_interval] &amp;amp; 16 = 16 THEN N' 목' ELSE '' END + CASE WHEN [freq_interval] &amp;amp; 32 = 32 THEN N' 금' ELSE '' END + CASE WHEN [freq_interval] &amp;amp; 64 = 64 THEN N' 토' ELSE '' END WHEN 16 THEN N'하루 한번 ' 
	+ CAST(
    [freq_interval] AS VARCHAR(3)
  ) + N' 매달 ' + CAST(
    [freq_recurrence_factor] AS VARCHAR(3)
  ) + N' 매달' WHEN 32 THEN N'발생 ' + CASE [freq_relative_interval] WHEN 1 THEN N'첫째' WHEN 2 THEN N'둘째' WHEN 4 THEN N'셋째' WHEN 8 THEN N'넷째' WHEN 16 THEN N'마지막' END + ' ' + CASE [freq_interval] WHEN 1 THEN N'일' WHEN 2 THEN N'월' WHEN 3 THEN N'화' WHEN 4 THEN N'수' WHEN 5 THEN N'목' WHEN 6 THEN N'금' WHEN 7 THEN N'토' WHEN 8 THEN N'일' WHEN 9 THEN N'평일' WHEN 10 THEN N'주말' END + N' 모든 ' + CAST(
    [freq_recurrence_factor] AS VARCHAR(3)
  ) + N' 매달' END AS [Recurrence], 
  CASE convert(
    nvarchar(3), 
    [freq_subday_type], 
    3
  ) WHEN 1 THEN  STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_start_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) WHEN 2 THEN N'주기적 발생 ' + CAST(
    [freq_subday_interval] AS VARCHAR(3)
  ) + N' 초(s) 간격 ' + STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_start_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) + ' &amp;amp; ' + STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_end_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) WHEN 4 THEN N'주기적 발생 ' + CAST(
    [freq_subday_interval] AS VARCHAR(3)
  ) + N' 분(s) 간격 ' + STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_start_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) + ' &amp;amp; ' + STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_end_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) WHEN 8 THEN N'주기적 발생 ' + CAST(
    [freq_subday_interval] AS VARCHAR(3)
  ) + N' 시간(s) 간격 ' + STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_start_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) + ' &amp;amp; ' + STUFF(
    STUFF(
      RIGHT(
        '000000' + CAST(
          [active_end_time] AS VARCHAR(6)
        ), 
        6
      ), 
      3, 
      0, 
      ':'
    ), 
    6, 
    0, 
    ':'
  ) END [Frequency],  D.step_id, D.step_name, D.command 
FROM msdb.dbo.sysjobs A 
	INNER JOIN msdb.dbo.sysjobschedules B ON A.job_id = B.job_id 
	INNER JOIN msdb.dbo.sysschedules C ON B.schedule_id = C.schedule_id 
	INNER JOIN msdb.dbo.sysjobsteps D ON A.job_id = D.job_id  
ORDER BY A.name&lt;/code&gt;&lt;/pre&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/neney/btqGfswb4kQ/w3VP0YTp1lIkVokuC1Ekdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/neney/btqGfswb4kQ/w3VP0YTp1lIkVokuC1Ekdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/neney/btqGfswb4kQ/w3VP0YTp1lIkVokuC1Ekdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fneney%2FbtqGfswb4kQ%2Fw3VP0YTp1lIkVokuC1Ekdk%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;1322&quot; height=&quot;462&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>Server 에이전트</category>
      <category>sql</category>
      <category>작업 목록</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/153</guid>
      <comments>https://dev.uhoon.co.kr/entry/SQL-Server-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%97%90-%EB%93%B1%EB%A1%9D%EB%90%9C-%EC%9E%91%EC%97%85-%EB%AA%A9%EB%A1%9D-%EC%A1%B0%ED%9A%8C#entry153comment</comments>
      <pubDate>Wed, 5 Aug 2020 17:10:42 +0900</pubDate>
    </item>
    <item>
      <title>백업 혹은 복구중인 데이터베이스 진행률 확인</title>
      <link>https://dev.uhoon.co.kr/entry/%EB%B0%B1%EC%97%85-%ED%98%B9%EC%9D%80-%EB%B3%B5%EA%B5%AC%EC%A4%91%EC%9D%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%A7%84%ED%96%89%EB%A5%A0-%ED%99%95%EC%9D%B8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;백업 혹은 복구 중인 데이터 베이스의 진행 상태나 진행률을 확인하는 SQL 입니다.&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;pre id=&quot;code_1596531930593&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT r.session_id,r.command
,cast(CONVERT(NUMERIC(6,2),r.percent_complete)  as varchar) + ' %' AS [Percent Complete]
,CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GetDate()),20) AS [ETA Completion Time]
,CONVERT(NUMERIC(10,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed Min]
,CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0) AS [ETA Min]
,CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0/60.0) AS [ETA Hours]
,CONVERT(VARCHAR(1000),(SELECT text FROM sys.dm_exec_sql_text(sql_handle))) AS [SQL] 
FROM sys.dm_exec_requests r WHERE command IN ('RESTORE DATABASE','BACKUP DATABASE')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>sql</category>
      <category>백업</category>
      <category>복구</category>
      <category>진행률</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/152</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EB%B0%B1%EC%97%85-%ED%98%B9%EC%9D%80-%EB%B3%B5%EA%B5%AC%EC%A4%91%EC%9D%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%A7%84%ED%96%89%EB%A5%A0-%ED%99%95%EC%9D%B8#entry152comment</comments>
      <pubDate>Wed, 5 Aug 2020 10:03:38 +0900</pubDate>
    </item>
    <item>
      <title>프로시저(sp)에서 사용하는 테이블 목록 , 특정 테이블을 참조하는 프로시저 목록</title>
      <link>https://dev.uhoon.co.kr/entry/%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80sp%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%AA%A9%EB%A1%9D-%ED%8A%B9%EC%A0%95-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%84-%EC%B0%B8%EC%A1%B0%ED%95%98%EB%8A%94-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80-%EB%AA%A9%EB%A1%9D</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;관련된 sp를 확인하기 위해서 개인적으로 자주 사용하는 SQL 입니다.&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;특정 프로시저에서 사용하는 테이블 목록을 조회하는 SQL 문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1596531493197&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 프로시저에서 사용하는 테이블 목록
;WITH stored_procedures AS 
(   

    SELECT oo.name AS table_name,   o.name,
		ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row   
    FROM sysdepends d   
	    INNER JOIN sysobjects o ON o.id=d.id   
	    INNER JOIN sysobjects oo ON oo.id=d.depid   
    WHERE o.xtype = 'P' AND o.name LIKE '%프로시저명%' 
)  

SELECT name,Table_name FROM stored_procedures  
WHERE row = 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 특정 테이블을 참조하는 프로시저 목록을 조회하는 SQL문 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1596531679376&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 특정 테이블을 참조하는 프로시저 목록
;WITH stored_procedures AS 
(   

    SELECT oo.name AS table_name,   o.name,
		ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row   
    FROM sysdepends d   
	    INNER JOIN sysobjects o ON o.id=d.id   
	    INNER JOIN sysobjects oo ON oo.id=d.depid   
    WHERE o.xtype = 'P' AND oo.name = '테이블명' 
)  

SELECT name,Table_name FROM stored_procedures  
WHERE row = 1&lt;/code&gt;&lt;/pre&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>sql</category>
      <category>특정 테이블을 참조하는 프로시저</category>
      <category>특정 프로시저에서 참조하는 테이블목록</category>
      <category>프로시저</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/151</guid>
      <comments>https://dev.uhoon.co.kr/entry/%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80sp%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%AA%A9%EB%A1%9D-%ED%8A%B9%EC%A0%95-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%84-%EC%B0%B8%EC%A1%B0%ED%95%98%EB%8A%94-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80-%EB%AA%A9%EB%A1%9D#entry151comment</comments>
      <pubDate>Tue, 4 Aug 2020 18:05:13 +0900</pubDate>
    </item>
    <item>
      <title>그누보드5 완전히 회원삭제 하는 소스</title>
      <link>https://dev.uhoon.co.kr/entry/%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5-%EC%99%84%EC%A0%84%ED%9E%88-%ED%9A%8C%EC%9B%90%EC%82%AD%EC%A0%9C-%ED%95%98%EB%8A%94-%EC%86%8C%EC%8A%A4</link>
      <description>&lt;p&gt;/board( 설치경로)/lib/common.lib.php 에서 member_delete 를 찾아서&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;혹시 기존에 삭제처리해서 Flag 처리된 회원을 삭제해야하는 경우 아래 내용 주석처리 필요.&lt;/p&gt;
&lt;pre id=&quot;code_1594537431430&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 이미 삭제된 회원은 제외
    if(preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo']))
        return;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;함수내 가장 하단에 추가&lt;/p&gt;
&lt;pre id=&quot;code_1594537396462&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sql_query(&quot; delete from {$g5['member_table']} where mb_id = '$mb_id' &quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;전체 함수&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1594537334227&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 회원 삭제
function member_delete($mb_id)
{
    global $config;
    global $g5;

    $sql = &quot; select mb_name, mb_nick, mb_ip, mb_recommend, mb_memo, mb_level from {$g5['member_table']} where mb_id= '&quot;.$mb_id.&quot;' &quot;;
    $mb = sql_fetch($sql);

	// 주석처리 
    // 이미 삭제된 회원은 제외
    //if(preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo']))
    //    return;

    if ($mb['mb_recommend']) {
        $row = sql_fetch(&quot; select count(*) as cnt from {$g5['member_table']} where mb_id = '&quot;.addslashes($mb['mb_recommend']).&quot;' &quot;);
        if ($row['cnt'])
            insert_point($mb['mb_recommend'], $config['cf_recommend_point'] * (-1), $mb_id.'님의 회원자료 삭제로 인한 추천인 포인트 반환', &quot;@member&quot;, $mb['mb_recommend'], $mb_id.' 추천인 삭제');
    }

    // 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
    $sql = &quot; update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '&quot;.date('Ymd', G5_SERVER_TIME).&quot; 삭제함\n{$mb['mb_memo']}' where mb_id = '{$mb_id}' &quot;;
    sql_query($sql);

    // 포인트 테이블에서 삭제
    sql_query(&quot; delete from {$g5['point_table']} where mb_id = '$mb_id' &quot;);

    // 그룹접근가능 삭제
    sql_query(&quot; delete from {$g5['group_member_table']} where mb_id = '$mb_id' &quot;);

    // 쪽지 삭제
    sql_query(&quot; delete from {$g5['memo_table']} where me_recv_mb_id = '$mb_id' or me_send_mb_id = '$mb_id' &quot;);

    // 스크랩 삭제
    sql_query(&quot; delete from {$g5['scrap_table']} where mb_id = '$mb_id' &quot;);

    // 관리권한 삭제
    sql_query(&quot; delete from {$g5['auth_table']} where mb_id = '$mb_id' &quot;);

    // 그룹관리자인 경우 그룹관리자를 공백으로
    sql_query(&quot; update {$g5['group_table']} set gr_admin = '' where gr_admin = '$mb_id' &quot;);

    // 게시판관리자인 경우 게시판관리자를 공백으로
    sql_query(&quot; update {$g5['board_table']} set bo_admin = '' where bo_admin = '$mb_id' &quot;);

    //소셜로그인에서 삭제 또는 해제
    if(function_exists('social_member_link_delete')){
        social_member_link_delete($mb_id);
    }

    // 아이콘 삭제
    @unlink(G5_DATA_PATH.'/member/'.substr($mb_id,0,2).'/'.$mb_id.'.gif');

    // 프로필 이미지 삭제
    @unlink(G5_DATA_PATH.'/member_image/'.substr($mb_id,0,2).'/'.$mb_id.'.gif');

    // 추가한 소스. 완전삭제.
    sql_query(&quot; delete from {$g5['member_table']} where mb_id = '$mb_id' &quot;);
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Progmming/PHP</category>
      <category>gnuboard</category>
      <category>member_delete</category>
      <category>그누보드</category>
      <category>완전삭제</category>
      <category>회원삭제</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/150</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5-%EC%99%84%EC%A0%84%ED%9E%88-%ED%9A%8C%EC%9B%90%EC%82%AD%EC%A0%9C-%ED%95%98%EB%8A%94-%EC%86%8C%EC%8A%A4#entry150comment</comments>
      <pubDate>Sun, 12 Jul 2020 16:04:46 +0900</pubDate>
    </item>
    <item>
      <title>IIS 확장자가 없는 파일 MIME 형식 등록</title>
      <link>https://dev.uhoon.co.kr/entry/IIS-%ED%99%95%EC%9E%A5%EC%9E%90%EA%B0%80-%EC%97%86%EB%8A%94-%ED%8C%8C%EC%9D%BC-MIME-%ED%98%95%EC%8B%9D-%EB%93%B1%EB%A1%9D</link>
      <description>&lt;p style=&quot;text-align: center;&quot;&gt;확장자가 없는 파일의 경우 .* 로 등록하면 처리가 안됨..&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;그냥 . 만 입력해서 추가하면 됩니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;원하는 mime 형식이 있다면 입력하면 되겠고 아래와 같이 text/plain 하면 텍스트 형태로 처리됨.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;보통은 확장자가 있기마련이지만 SSL 인증 할때 파일 업로드해서 인증 받는 경우 필요했음.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 1 --&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 336px; height: 280px;&quot; data-ad-client=&quot;ca-pub-4169082997566429&quot; data-ad-slot=&quot;8265896008&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dmHcpz/btqDBz4WCwv/3Can806vBFPEeJKdIt1kyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dmHcpz/btqDBz4WCwv/3Can806vBFPEeJKdIt1kyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dmHcpz/btqDBz4WCwv/3Can806vBFPEeJKdIt1kyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdmHcpz%2FbtqDBz4WCwv%2F3Can806vBFPEeJKdIt1kyK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>OS/Microsoft</category>
      <category>iis</category>
      <category>mime</category>
      <category>없는 파일</category>
      <category>확장자</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/149</guid>
      <comments>https://dev.uhoon.co.kr/entry/IIS-%ED%99%95%EC%9E%A5%EC%9E%90%EA%B0%80-%EC%97%86%EB%8A%94-%ED%8C%8C%EC%9D%BC-MIME-%ED%98%95%EC%8B%9D-%EB%93%B1%EB%A1%9D#entry149comment</comments>
      <pubDate>Tue, 21 Apr 2020 16:18:11 +0900</pubDate>
    </item>
    <item>
      <title>MSSQL 차등백업 방법 및 SQL</title>
      <link>https://dev.uhoon.co.kr/entry/MSSQL-%EC%B0%A8%EB%93%B1%EB%B0%B1%EC%97%85-%EB%B0%A9%EB%B2%95-%EB%B0%8F-SQL</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;차등 백업은 전체 백업 마지막 시점을 기준으로 이후에 수정된 내용을 백업는 방법입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;기본적인 내용과 SQL문을 공유합니다.&lt;/span&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;span&gt;-- 전체 백업&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;BACKUP DATABASE [test] TO  DISK = N'D:\Backup\test_full.bak' WITH NOFORMAT, NOINIT,  NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;142&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wiqL4/btqDoUBChLK/CeJ8MpZoCnOFmYungfE5ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wiqL4/btqDoUBChLK/CeJ8MpZoCnOFmYungfE5ik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wiqL4/btqDoUBChLK/CeJ8MpZoCnOFmYungfE5ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwiqL4%2FbtqDoUBChLK%2FCeJ8MpZoCnOFmYungfE5ik%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;142&quot; height=&quot;136&quot; data-origin-width=&quot;142&quot; data-origin-height=&quot;136&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;-- 차등백업 1&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;BACKUP DATABASE [test] TO  DISK = N'D:\Backup\test_1.bak' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;155&quot; data-origin-height=&quot;179&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btOMqO/btqDqjtV6AO/C9jHCppyhxqhUKWjlkwiFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btOMqO/btqDqjtV6AO/C9jHCppyhxqhUKWjlkwiFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btOMqO/btqDqjtV6AO/C9jHCppyhxqhUKWjlkwiFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtOMqO%2FbtqDqjtV6AO%2FC9jHCppyhxqhUKWjlkwiFk%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;155&quot; height=&quot;179&quot; data-origin-width=&quot;155&quot; data-origin-height=&quot;179&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;span&gt;-- 차등백업 2&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;BACKUP DATABASE [test] TO  DISK = N'D:\Backup\test_2.bak' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;138&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6hR52/btqDlM56Qp6/UrRscbns9YGdn1QXsMqB3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6hR52/btqDlM56Qp6/UrRscbns9YGdn1QXsMqB3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6hR52/btqDlM56Qp6/UrRscbns9YGdn1QXsMqB3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6hR52%2FbtqDlM56Qp6%2FUrRscbns9YGdn1QXsMqB3k%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;138&quot; height=&quot;218&quot; data-origin-width=&quot;138&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;-- 기본 전체 백업 + 차등 복구&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;문법&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;RESTORE DATABASE [디비명] FROM DISK = N'풀백업위치'

               WITH MOVE '논리적 DB명' TO 'mdf 복구위치'

                            ,MOVE '논리적 LOG명' TO 'ldf 복구위치',  NORECOVERY,  NOUNLOAD,  STATS = 5;

RESTORE DATABASE [tes디비명] FROM  DISK = N'차등백업위치' WITH  FILE = 1,  NOUNLOAD,  STATS = 5&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;RESTORE DATABASE [test3] FROM DISK = N'D:\Backup\test_full.bak'

               WITH MOVE 'test' TO 'C:\DATABASE\MSSQL15.MSSQLSERVER\MSSQL\DATA\test3.mdf'

                            ,MOVE 'test_log' TO 'C:\DATABASE\MSSQL15.MSSQLSERVER\MSSQL\DATA\test3.ldf',  NORECOVERY,  NOUNLOAD,  STATS = 5;

RESTORE DATABASE [test3] FROM  DISK = N'D:\Backup\test_2.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 5&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;백업 및 복구 시점별 데이터 체크&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;test : 풀백업&amp;nbsp; ,&amp;nbsp; test1 : 풀백업+차등1st ,&amp;nbsp; test2 : 풀백업+차등2nd&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ofbh0/btqDqi2RCmk/WJzQjKaw7iVbMV3Wlk0mv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ofbh0/btqDqi2RCmk/WJzQjKaw7iVbMV3Wlk0mv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ofbh0/btqDqi2RCmk/WJzQjKaw7iVbMV3Wlk0mv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fofbh0%2FbtqDqi2RCmk%2FWJzQjKaw7iVbMV3Wlk0mv1%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;448&quot; height=&quot;772&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;772&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;&lt;span&gt;개인적인 생각에서&lt;/span&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;span&gt;&lt;u&gt;&lt;b&gt;장점&lt;/b&gt;&lt;/u&gt;은 백업 용량이 데이터 변화에 비례하기 때문에 수정이 적다면 용량도 적어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;수정된 데이터와 용량은 비례하게 됩니다.&lt;/span&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;span&gt;&lt;b&gt;&lt;u&gt;단점&lt;/u&gt;&lt;/b&gt;은 전체 백업이 소실되면 복구가 불가능함. 전체 백업본이 있어야 차등백업본이 의미가 있기 때문에&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;무슨일이 있어도 전체 백업은 잘 보관해야합니다.&lt;/span&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;span&gt;적당주기별 전체 백업과 차등백업을 처리한다면...스토리지가 좋아합니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>MSSQL</category>
      <category>sql</category>
      <category>백업</category>
      <category>차등백업</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/148</guid>
      <comments>https://dev.uhoon.co.kr/entry/MSSQL-%EC%B0%A8%EB%93%B1%EB%B0%B1%EC%97%85-%EB%B0%A9%EB%B2%95-%EB%B0%8F-SQL#entry148comment</comments>
      <pubDate>Mon, 13 Apr 2020 17:01:24 +0900</pubDate>
    </item>
    <item>
      <title>GROUP_CONCAT 최대 결과 길이 변경하는 방법</title>
      <link>https://dev.uhoon.co.kr/entry/GROUPCONCAT-%EC%B5%9C%EB%8C%80-%EA%B2%B0%EA%B3%BC-%EA%B8%B8%EC%9D%B4-%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;mysql 최대 결과 길이 변경하기&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;세팅 값에 따라 부하가 걸릴수도 있으니 고민 고민 후 변경.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1583224039921&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#PHP
#해당 세션에만 적용됨.
SET SESSION group_concat_max_len = @@max_allowed_packet;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1583224142005&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#my.ini
#/etc/mysql/my.cnf
# 변경하고자 하는 최대 값 // [mysqld] 하단에 추가 
# GROUP_CONCAT()함수 에 허용되는 최대 결과 길이 (바이트)/기본값은 1024
group_concat_max_len=4M &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;적용 후 서비스 재시작 해야 적용 됨.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;만약 적용 후 서비스 재시작에 문제가 있다면 아래 글 참고.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4&quot;&gt;MySQL80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다.&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583224422736&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MySQL80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다.&quot; data-og-description=&quot;MySQL80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다. MYSQL 설정 파일인 my.ini 파일을 메모장으로 수정 후 서비..&quot; data-og-host=&quot;dev.uhoon.co.kr&quot; data-og-source-url=&quot;https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4&quot; data-og-url=&quot;https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/JENo8/hyE9guNjBf/aKHgLjz4v4wKdzteh8ilBK/img.png?width=503&amp;amp;height=146&amp;amp;face=0_0_503_146,https://scrap.kakaocdn.net/dn/cI0sGq/hyE9kRt8az/oYYKeEPV3w7bDKSpfbtJK0/img.png?width=503&amp;amp;height=146&amp;amp;face=0_0_503_146&quot;&gt;&lt;a href=&quot;https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/JENo8/hyE9guNjBf/aKHgLjz4v4wKdzteh8ilBK/img.png?width=503&amp;amp;height=146&amp;amp;face=0_0_503_146,https://scrap.kakaocdn.net/dn/cI0sGq/hyE9kRt8az/oYYKeEPV3w7bDKSpfbtJK0/img.png?width=503&amp;amp;height=146&amp;amp;face=0_0_503_146');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;MySQL80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;MySQL80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다. MYSQL 설정 파일인 my.ini 파일을 메모장으로 수정 후 서비..&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;dev.uhoon.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len&quot;&gt;https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1583224400713&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;MySQL :: MySQL 5.7 Reference Manual :: 5.1.7 Server System Variables&quot; data-og-description=&quot;&quot; data-og-host=&quot;dev.mysql.com&quot; data-og-source-url=&quot;https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len&quot; data-og-url=&quot;https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;MySQL :: MySQL 5.7 Reference Manual :: 5.1.7 Server System Variables&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;dev.mysql.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DataBase/My-SQL</category>
      <category>group_concat</category>
      <category>group_concat_max_len</category>
      <category>mysql</category>
      <category>최대결과길이</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/147</guid>
      <comments>https://dev.uhoon.co.kr/entry/GROUPCONCAT-%EC%B5%9C%EB%8C%80-%EA%B2%B0%EA%B3%BC-%EA%B8%B8%EC%9D%B4-%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry147comment</comments>
      <pubDate>Tue, 3 Mar 2020 17:34:49 +0900</pubDate>
    </item>
    <item>
      <title>MySQL80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다.</title>
      <link>https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;이미지 29.png&quot; data-origin-width=&quot;503&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Asbi5/btqCoRz369X/gmhmVPIX4ALHiYHICcdbuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Asbi5/btqCoRz369X/gmhmVPIX4ALHiYHICcdbuk/img.png&quot; data-alt=&quot;서비스 시작 시 에러 메시지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Asbi5/btqCoRz369X/gmhmVPIX4ALHiYHICcdbuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAsbi5%2FbtqCoRz369X%2FgmhmVPIX4ALHiYHICcdbuk%2Fimg.png&quot; data-filename=&quot;이미지 29.png&quot; data-origin-width=&quot;503&quot; data-origin-height=&quot;146&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;서비스 시작 시 에러 메시지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;MySQL80&amp;nbsp;서비스가&amp;nbsp;로컬&amp;nbsp;컴퓨터에서&amp;nbsp;시작했다가&amp;nbsp;중지되었습니다.&amp;nbsp;일부&amp;nbsp;서비스는&amp;nbsp;다른&amp;nbsp;서비스&amp;nbsp;또는&amp;nbsp;프로그램에서&amp;nbsp;사용되지&amp;nbsp;않으면&amp;nbsp;자동으로&amp;nbsp;중지됩니다.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;MYSQL 설정 파일인 my.ini 파일을 메모장으로 수정 후 서비스 재시작 시 발생한 에러입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;원인 : my.ini 파일 인코딩 문제&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;my.ini 파일 초기 인코딩은 ANSI&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;확인해보시면 아마도 UTF-8로 변경되어있을텐데&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;다시 ANSI로 변경 저장 후 서비스 시작하시면 정상 작동 될 것입니다.&lt;/p&gt;</description>
      <category>DataBase/My-SQL</category>
      <category>mysql</category>
      <category>mysql80</category>
      <category>서비스재시작</category>
      <category>에러</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/146</guid>
      <comments>https://dev.uhoon.co.kr/entry/MySQL80-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%96%88%EB%8B%A4%EA%B0%80-%EC%A4%91%EC%A7%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%9D%BC%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%8A%94-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%98%90%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%9C%BC%EB%A9%B4-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4#entry146comment</comments>
      <pubDate>Tue, 3 Mar 2020 17:23:23 +0900</pubDate>
    </item>
    <item>
      <title>Windows Server 2019 &amp;quot;암호가 암호 정책 요구 사항에 맞지 않습니다.&amp;quot;</title>
      <link>https://dev.uhoon.co.kr/entry/Windows-Server-2019-%EC%95%94%ED%98%B8%EA%B0%80-%EC%95%94%ED%98%B8-%EC%A0%95%EC%B1%85-%EC%9A%94%EA%B5%AC-%EC%82%AC%ED%95%AD%EC%97%90-%EB%A7%9E%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
      <description>&lt;p style=&quot;text-align: center;&quot;&gt;윈도우 서버 관리 계정 암호 설정 시 에러 메시지&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;text-align: center;&quot; data-ke-style=&quot;style3&quot;&gt;---------------------------&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;로컬&amp;nbsp;사용자&amp;nbsp;및&amp;nbsp;그룹&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;---------------------------&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;Administrator&amp;nbsp;사용자에&amp;nbsp;대한&amp;nbsp;암호를&amp;nbsp;설정하는&amp;nbsp;동안&amp;nbsp;다음&amp;nbsp;오류가&amp;nbsp;발생했습니다:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;암호가&amp;nbsp;암호&amp;nbsp;정책&amp;nbsp;요구&amp;nbsp;사항에&amp;nbsp;맞지&amp;nbsp;않습니다.&amp;nbsp;최소&amp;nbsp;암호&amp;nbsp;길이,&amp;nbsp;암호&amp;nbsp;복잡도&amp;nbsp;및&amp;nbsp;암호&amp;nbsp;기록&amp;nbsp;요구&amp;nbsp;사항을&amp;nbsp;확인하십시오.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;---------------------------&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;확인&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;---------------------------&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;460&quot; data-origin-height=&quot;302&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNQmZ9/btqB1bTIpWB/yQhtKhc28c2WpXjI8xmx8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNQmZ9/btqB1bTIpWB/yQhtKhc28c2WpXjI8xmx8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNQmZ9/btqB1bTIpWB/yQhtKhc28c2WpXjI8xmx8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNQmZ9%2FbtqB1bTIpWB%2FyQhtKhc28c2WpXjI8xmx8K%2Fimg.png&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;460&quot; data-origin-height=&quot;302&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;윈도우 로컬 보안정책&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;계정설정&amp;nbsp; &amp;gt; 암호정책 &amp;gt; &quot;암호는 복잡성을 만족해야 함&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;580&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bzu6N/btqB2H4YBTf/rKk4WjBvFNt90KM8t6Ugg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bzu6N/btqB2H4YBTf/rKk4WjBvFNt90KM8t6Ugg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bzu6N/btqB2H4YBTf/rKk4WjBvFNt90KM8t6Ugg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBzu6N%2FbtqB2H4YBTf%2FrKk4WjBvFNt90KM8t6Ugg0%2Fimg.png&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;580&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;사용안함&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;493&quot; data-origin-height=&quot;587&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOEKNW/btqB1djGjKe/mkASztxE0BHoBjNo5clBsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOEKNW/btqB1djGjKe/mkASztxE0BHoBjNo5clBsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOEKNW/btqB1djGjKe/mkASztxE0BHoBjNo5clBsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOEKNW%2FbtqB1djGjKe%2FmkASztxE0BHoBjNo5clBsK%2Fimg.png&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;493&quot; data-origin-height=&quot;587&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;정책 변경 후에는 재부팅을 하거나 수동으로 정책을 업데이트 시켜줘야 합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;cmd :&amp;nbsp; gpupdate /force&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;4.png&quot; data-origin-width=&quot;994&quot; data-origin-height=&quot;527&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BV15d/btqB1ZLN1bR/fAw0WbysV67ZKaSPcI4yY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BV15d/btqB1ZLN1bR/fAw0WbysV67ZKaSPcI4yY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BV15d/btqB1ZLN1bR/fAw0WbysV67ZKaSPcI4yY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBV15d%2FbtqB1ZLN1bR%2FfAw0WbysV67ZKaSPcI4yY0%2Fimg.png&quot; data-filename=&quot;4.png&quot; data-origin-width=&quot;994&quot; data-origin-height=&quot;527&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>OS/Microsoft</category>
      <category>암호 정책</category>
      <category>윈도우</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/145</guid>
      <comments>https://dev.uhoon.co.kr/entry/Windows-Server-2019-%EC%95%94%ED%98%B8%EA%B0%80-%EC%95%94%ED%98%B8-%EC%A0%95%EC%B1%85-%EC%9A%94%EA%B5%AC-%EC%82%AC%ED%95%AD%EC%97%90-%EB%A7%9E%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4#entry145comment</comments>
      <pubDate>Mon, 17 Feb 2020 16:49:41 +0900</pubDate>
    </item>
    <item>
      <title>설치된 닷넷프레임워크 버전 확인 방법</title>
      <link>https://dev.uhoon.co.kr/entry/%EC%84%A4%EC%B9%98%EB%90%9C-%EB%8B%B7%EB%84%B7%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;윈도우 서버에서 .Net Framework 설치 확인하는 방법입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Powershell 실행 후&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Install-Module -Name DotNetVersionLister -Scope CurrentUser #-Force&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Get-STDotNetVersion&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2OM9K/btqBS5Mon1W/YBD5tHhKITQQBtEWcPwfNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2OM9K/btqBS5Mon1W/YBD5tHhKITQQBtEWcPwfNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2OM9K/btqBS5Mon1W/YBD5tHhKITQQBtEWcPwfNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2OM9K%2FbtqBS5Mon1W%2FYBD5tHhKITQQBtEWcPwfNk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>OS/Microsoft</category>
      <category>.net framework</category>
      <category>버전확인</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/144</guid>
      <comments>https://dev.uhoon.co.kr/entry/%EC%84%A4%EC%B9%98%EB%90%9C-%EB%8B%B7%EB%84%B7%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95#entry144comment</comments>
      <pubDate>Tue, 11 Feb 2020 16:53:22 +0900</pubDate>
    </item>
    <item>
      <title>특정 컬럼명에 대한 테이블 및 속성 검색하는 쿼리 SQL</title>
      <link>https://dev.uhoon.co.kr/entry/%ED%8A%B9%EC%A0%95-%EC%BB%AC%EB%9F%BC%EB%AA%85%EC%97%90-%EB%8C%80%ED%95%9C-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%B0%8F-%EC%86%8D%EC%84%B1-%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94-%EC%BF%BC%EB%A6%AC-SQL</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;특정 컬럼명에 대한 테이블 및 속성 검색하는 쿼리 SQL&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;
select table_name ,column_name ,column_default, data_type
	, character_maximum_length ,character_octet_length 
From information_schema .columns 
where column_name='cityCd' 
order by character_maximum_length desc&lt;/code&gt;&lt;/pre&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>column_name</category>
      <category>information_schema .columns</category>
      <category>sql</category>
      <category>컬럼명</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/143</guid>
      <comments>https://dev.uhoon.co.kr/entry/%ED%8A%B9%EC%A0%95-%EC%BB%AC%EB%9F%BC%EB%AA%85%EC%97%90-%EB%8C%80%ED%95%9C-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%B0%8F-%EC%86%8D%EC%84%B1-%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94-%EC%BF%BC%EB%A6%AC-SQL#entry143comment</comments>
      <pubDate>Thu, 6 Feb 2020 17:05:45 +0900</pubDate>
    </item>
    <item>
      <title>IDENTITY_INSERT가 OFF로 설정되면 테이블 '테이블명'의 ID 열에 명시적 값을 삽입할 수 없습니다.</title>
      <link>https://dev.uhoon.co.kr/entry/IDENTITYINSERT%EA%B0%80-OFF%EB%A1%9C-%EC%84%A4%EC%A0%95%EB%90%98%EB%A9%B4-%ED%85%8C%EC%9D%B4%EB%B8%94-%ED%85%8C%EC%9D%B4%EB%B8%94%EB%AA%85%EC%9D%98-ID-%EC%97%B4%EC%97%90-%EB%AA%85%EC%8B%9C%EC%A0%81-%EA%B0%92%EC%9D%84-%EC%82%BD%EC%9E%85%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;쿼리&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1574391741316&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; CREATE TABLE dbo.[테이블명] (
        seq int IDENTITY (1, 1) NOT NULL,
       id varchar(20) NOT NULL
 )
 
insert into dbo.[테이블명] (seq,id) values(1,'abc')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;IDENTITY_INSERT가&amp;nbsp;OFF로&amp;nbsp;설정되면&amp;nbsp;테이블&amp;nbsp;'테이블명'의&amp;nbsp;ID&amp;nbsp;열에&amp;nbsp;명시적&amp;nbsp;값을&amp;nbsp;삽입할&amp;nbsp;수&amp;nbsp;없습니다.&lt;/span&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;IDENTITY 가 있는 데이터 테이블 생성 후 해당 컬럼 입력 시도 할 경우 에러 발생&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;아래와 같이 IDENTITY_INSERT ON 처리 후 실행 시 가능해짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반드시 INSERT 후에 OFF 처리 해야 이후 문제가 안생김&lt;/p&gt;
&lt;pre id=&quot;code_1574392221175&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SET IDENTITY_INSERT dbo.[테이블명] ON

insert into dbo.[테이블명] (seq,id) values(1,'abc')

SET IDENTITY_INSERT dbo.[테이블명] OFF&lt;/code&gt;&lt;/pre&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>IDENTITY_INSERT</category>
      <category>MSSQL</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/142</guid>
      <comments>https://dev.uhoon.co.kr/entry/IDENTITYINSERT%EA%B0%80-OFF%EB%A1%9C-%EC%84%A4%EC%A0%95%EB%90%98%EB%A9%B4-%ED%85%8C%EC%9D%B4%EB%B8%94-%ED%85%8C%EC%9D%B4%EB%B8%94%EB%AA%85%EC%9D%98-ID-%EC%97%B4%EC%97%90-%EB%AA%85%EC%8B%9C%EC%A0%81-%EA%B0%92%EC%9D%84-%EC%82%BD%EC%9E%85%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4#entry142comment</comments>
      <pubDate>Fri, 22 Nov 2019 12:11:20 +0900</pubDate>
    </item>
    <item>
      <title>MSSQL - 시간 분 시간별 그룹화 / 5분단위로</title>
      <link>https://dev.uhoon.co.kr/entry/MSSQL-%EC%8B%9C%EA%B0%84-%EB%B6%84-%EC%8B%9C%EA%B0%84%EB%B3%84-%EA%B7%B8%EB%A3%B9%ED%99%94</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;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;select DATEPART(YEAR, adddt) '년'
,DATEPART(MONTH, adddt) '월'
,DATEPART(DAY, adddt) '일'
,DATEPART(HOUR, adddt) '시'
-- ,(DATEPART(MINUTE, adddt) / 10)
,count(*) FRom 테이블명 with(nolock)
 GROUP BY
DATEPART(YEAR, adddt)
,DATEPART(MONTH, adddt) 
,DATEPART(DAY, adddt)
,DATEPART(HOUR, adddt)
--,(DATEPART(MINUTE, adddt) / 10)
order by 1,2,3,4


select TIMEFROMPARTS(
         DATEPART(HOUR, adddt),
         DATEPART(MINUTE, adddt) / 5 * 5, 0,
         0,
         0)
,count(*) FRom 테이블명 with(nolock) 
group by TIMEFROMPARTS(
         DATEPART(HOUR, adddt),
         DATEPART(MINUTE, adddt) / 5 * 5, 0,
         0,
         0)
order by 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DataBase/MS-SQL</category>
      <category>GROUP BY</category>
      <category>MSSQL</category>
      <category>시간별 그룹</category>
      <category>통계</category>
      <author>Yo.</author>
      <guid isPermaLink="true">https://dev.uhoon.co.kr/141</guid>
      <comments>https://dev.uhoon.co.kr/entry/MSSQL-%EC%8B%9C%EA%B0%84-%EB%B6%84-%EC%8B%9C%EA%B0%84%EB%B3%84-%EA%B7%B8%EB%A3%B9%ED%99%94#entry141comment</comments>
      <pubDate>Tue, 5 Nov 2019 15:43:07 +0900</pubDate>
    </item>
  </channel>
</rss>