<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>창슈  Area</title>
    <link>https://lcs1245.tistory.com/</link>
    <description>개발 공부내용 및 일상을 기록합니다.__^+_</description>
    <language>ko</language>
    <pubDate>Thu, 9 Jul 2026 19:48:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>창슈</managingEditor>
    <image>
      <title>창슈  Area</title>
      <url>https://tistory1.daumcdn.net/tistory/2846710/attach/b2138981323b4bb6bde58dd94a75b84e</url>
      <link>https://lcs1245.tistory.com</link>
    </image>
    <item>
      <title>JavaScript 비동기 흐름 제어: Promise.all, Promise.race 활용법</title>
      <link>https://lcs1245.tistory.com/entry/JavaScript-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%9D%90%EB%A6%84-%EC%A0%9C%EC%96%B4-Promiseall-Promiserace-%ED%99%9C%EC%9A%A9%EB%B2%95</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;비동기 프로그래밍은 현대 JavaScript 개발에서 필수적인 요소입니다. 특히, 여러 비동기 작업을 동시에 처리해야 할 때 Promise.all과 Promise.race는 매우 유용합니다. 이번 글에서는 이 두 메서드의 활용법을 자세히 살펴보겠습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Promise.all&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Promise.all은 여러 개의 프로미스를 병렬로 처리하고, 모든 프로미스가 완료되면 하나의 프로미스를 반환합니다. 다음은 Promise.all의 기본적인 사용 예제입니다:&lt;/p&gt;
&lt;pre id=&quot;code_1716956473738&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const promise1 = fetch('/api/data1');
const promise2 = fetch('/api/data2');
const promise3 = fetch('/api/data3');

Promise.all([promise1, promise2, promise3])
  .then((responses) =&amp;gt; {
    return Promise.all(responses.map(response =&amp;gt; response.json()));
  })
  .then((data) =&amp;gt; {
    console.log('All data fetched:', data);
  })
  .catch((error) =&amp;gt; {
    console.error('Error fetching data:', error);
  });&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 예제에서 fetch로 데이터를 가져오는 세 개의 비동기 작업을 Promise.all로 묶어서 처리합니다. 모든 요청이 완료되면 응답을 JSON으로 파싱 하여 결과를 출력합니다. 하나의 프로미스라도 실패하면 catch 블록으로 이동합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Promise.race&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Promise.race는 가장 먼저 완료된 프로미스를 반환합니다. 주로 타임아웃 설정이나 여러 소스 중 빠른 응답을 선택할 때 사용됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716956493458&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const promise1 = new Promise((resolve) =&amp;gt; setTimeout(resolve, 500, 'Fast'));
const promise2 = new Promise((resolve) =&amp;gt; setTimeout(resolve, 1000, 'Slow'));

Promise.race([promise1, promise2])
  .then((result) =&amp;gt; {
    console.log('First completed:', result);
  })
  .catch((error) =&amp;gt; {
    console.error('Error:', error);
  });&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 예제에서는 두 개의 타이머 프로미스를 사용하여 먼저 완료된 프로미스의 결과를 반환합니다. promise1이 더 빠르게 완료되므로 &quot;First completed: Fast&quot;가 출력됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;실전 활용 예제&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음은 Promise.all과 Promise.race를 결합하여 API 요청을 더 효율적으로 처리하는 예제입니다:&lt;/p&gt;
&lt;pre id=&quot;code_1716956518257&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const fetchWithTimeout = (url, timeout = 3000) =&amp;gt; {
  const fetchPromise = fetch(url).then(response =&amp;gt; response.json());
  const timeoutPromise = new Promise((_, reject) =&amp;gt;
    setTimeout(() =&amp;gt; reject(new Error('Timeout')), timeout)
  );

  return Promise.race([fetchPromise, timeoutPromise]);
};

const urls = ['/api/data1', '/api/data2', '/api/data3'];

Promise.all(urls.map(url =&amp;gt; fetchWithTimeout(url)))
  .then((data) =&amp;gt; {
    console.log('All data fetched within timeout:', data);
  })
  .catch((error) =&amp;gt; {
    console.error('Error fetching data:', error);
  });&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기서는 fetchWithTimeout 함수를 통해 각 요청에 타임아웃을 설정하고, Promise.all을 사용하여 모든 요청이 완료될 때까지 기다립니다. 타임아웃 내에 모든 요청이 완료되면 데이터를 출력하고, 하나라도 실패하면 에러를 처리합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Promise.all과 Promise.race는 비동기 작업을 효과적으로 관리할 수 있는 강력한 도구입니다. 각 메서드의 특성을 잘 이해하고 적절히 활용하면 더 견고하고 효율적인 코드를 작성할 수 있습니다. 다양한 상황에서 이 두 메서드를 사용해 보고, 자신의 프로젝트에 맞는 최적의 비동기 흐름 제어 방법을 찾아보세요^^.&lt;/p&gt;</description>
      <category>LANGUAGE/JavaScript</category>
      <category>javascript</category>
      <category>promiseall</category>
      <category>promiserace</category>
      <category>비동기프로그래밍</category>
      <category>웹개발</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/109</guid>
      <comments>https://lcs1245.tistory.com/entry/JavaScript-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%9D%90%EB%A6%84-%EC%A0%9C%EC%96%B4-Promiseall-Promiserace-%ED%99%9C%EC%9A%A9%EB%B2%95#entry109comment</comments>
      <pubDate>Wed, 29 May 2024 13:23:15 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript 클로저(Closure)의 원리와 활용 방법</title>
      <link>https://lcs1245.tistory.com/entry/JavaScript-%ED%81%B4%EB%A1%9C%EC%A0%80Closure%EC%9D%98-%EC%9B%90%EB%A6%AC%EC%99%80-%ED%99%9C%EC%9A%A9-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;JavaScript를 사용하다 보면 &quot;클로저(Closure)&quot;라는 개념을 접하게 됩니다. 클로저는 자바스크립트의 강력한 기능 중 하나로, 함수와 함수가 선언된 렉시컬 환경의 조합을 의미합니다. 이번 글에서는 클로저의 원리와 활용 방법에 대해 자세히 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;클로저란 무엇인가?&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클로저는 함수가 생성될 때 함께 생성된 환경을 기억하는 기능입니다. 이 환경에는 함수가 생성될 당시의 변수들이 포함됩니다. 쉽게 말해, 클로저는 함수가 선언된 스코프 외부에서도 해당 스코프의 변수를 기억하고 접근할 수 있게 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;클로저의 기본 예제&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래는 클로저의 기본적인 예제입니다:&lt;/p&gt;
&lt;pre id=&quot;code_1716866763159&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function outerFunction() {
    let outerVariable = 'I am outside!';
    
    function innerFunction() {
        console.log(outerVariable);
    }
    
    return innerFunction;
}

const myFunction = outerFunction();
myFunction(); // I am outside!&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 코드에서 innerFunction은 outerFunction의 내부 변수인 outerVariable에 접근할 수 있습니다. 이는 innerFunction이 outerFunction의 렉시컬 환경을 기억하기 때문입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;클로저의 활용 방법&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클로저는 다양한 상황에서 유용하게 사용할 수 있습니다. 몇 가지 활용 예제를 살펴보겠습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 데이터 은닉화&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클로저를 사용하면 함수 내부의 데이터를 외부에서 직접 접근할 수 없도록 은닉화할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716866841653&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function createCounter() {
    let count = 0;
    
    return {
        increment: function() {
            count++;
            return count;
        },
        decrement: function() {
            count--;
            return count;
        },
        getCount: function() {
            return count;
        }
    };
}

const counter = createCounter();
console.log(counter.increment()); // 1
console.log(counter.increment()); // 2
console.log(counter.getCount()); // 2
console.log(counter.decrement()); // 1&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 예제에서 count 변수는 createCounter 함수의 외부에서는 직접 접근할 수 없고, 오직 반환된 객체의 메서드를 통해서만 접근할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 함수의 부분 적용&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클로저를 이용하여 함수의 일부 인수를 고정하고 나머지 인수만 나중에 전달할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716866869830&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function multiply(a) {
    return function(b) {
        return a * b;
    };
}

const multiplyByTwo = multiply(2);
console.log(multiplyByTwo(5)); // 10
console.log(multiplyByTwo(10)); // 20&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;multiply 함수는 a 값을 고정한 새로운 함수를 반환하며, 반환된 함수는 나머지 인수 b를 받아 결과를 계산합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 이벤트 핸들러에서 클로저 사용&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이벤트 핸들러에서 클로저를 사용하면 특정 상태를 유지하면서 콜백 함수에 접근할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716866892346&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function setupHandlers() {
    let message = 'Button clicked!';
    
    document.getElementById('myButton').addEventListener('click', function() {
        alert(message);
    });
}

setupHandlers();&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;setupHandlers 함수 내부의 message 변수는 클릭 이벤트 핸들러 내부에서 참조할 수 있으며, 이는 클로저 덕분입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;결론&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클로저는 자바스크립트에서 매우 유용한 개념으로, 이를 활용하면 데이터 은닉화, 함수의 부분 적용, 이벤트 핸들러 등 다양한 상황에서 코드의 가독성과 유지보수성을 높일 수 있습니다. 클로저의 작동 원리와 다양한 활용 방법을 이해하고 나면, 더욱 효율적인 자바스크립트 코드를 작성할 수 있을 것입니다.&lt;/p&gt;</description>
      <category>LANGUAGE/JavaScript</category>
      <category>javascript</category>
      <category>데이터 은닉화</category>
      <category>비동기 처리</category>
      <category>클로저</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/108</guid>
      <comments>https://lcs1245.tistory.com/entry/JavaScript-%ED%81%B4%EB%A1%9C%EC%A0%80Closure%EC%9D%98-%EC%9B%90%EB%A6%AC%EC%99%80-%ED%99%9C%EC%9A%A9-%EB%B0%A9%EB%B2%95#entry108comment</comments>
      <pubDate>Tue, 28 May 2024 12:29:04 +0900</pubDate>
    </item>
    <item>
      <title>2024 웹 개발 트렌드</title>
      <link>https://lcs1245.tistory.com/entry/2024-%EC%9B%B9-%EA%B0%9C%EB%B0%9C-%ED%8A%B8%EB%A0%8C%EB%93%9C</link>
      <description>&lt;h1&gt;2024 웹 개발 트렌드&lt;/h1&gt;
&lt;p&gt;웹 개발은 빠르게 변화하는 분야로, 매년 새로운 기술과 트렌드가 등장합니다. 2024년에도 다양한 변화가 예상됩니다. 이번 글에서는 2024년에 주목해야 할 웹 개발 트렌드를 소개하겠습니다.&lt;/p&gt;
&lt;h2&gt;1. &lt;strong&gt;AI와 머신 러닝의 통합&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;AI와 머신 러닝은 웹 애플리케이션의 핵심 기술로 자리잡고 있습니다. 특히, 챗봇과 개인화된 사용자 경험을 제공하는 데 중요한 역할을 하고 있습니다. 2024년에는 더 많은 웹사이트가 AI를 활용하여 사용자 인터페이스와 콘텐츠를 개선할 것입니다.&lt;/p&gt;
&lt;h2&gt;2. &lt;strong&gt;서버리스 아키텍처&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;서버리스 아키텍처는 서버 관리의 부담을 줄여주고, 개발자가 코드 작성에만 집중할 수 있도록 합니다. AWS Lambda, Azure Functions 등의 플랫폼을 통해 더 많은 웹 애플리케이션이 서버리스로 전환될 것입니다.&lt;/p&gt;
&lt;h2&gt;3. &lt;strong&gt;프로그레시브 웹 애플리케이션 (PWA)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;PWA는 네이티브 앱과 웹의 장점을 결합한 형태로, 빠른 로딩 속도와 오프라인 기능을 제공합니다. 2024년에는 더 많은 웹사이트가 PWA로 전환되어 사용자 경험을 개선할 것입니다.&lt;/p&gt;
&lt;h2&gt;4. &lt;strong&gt;웹 보안 강화&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;웹 보안은 언제나 중요한 이슈입니다. 2024년에는 HTTPS 사용이 기본이 되고, 다양한 보안 강화 기술이 도입될 것입니다. 특히, 사용자 데이터 보호와 관련된 법규가 강화되면서 보안이 더욱 중요해질 것입니다.&lt;/p&gt;
&lt;h2&gt;5. &lt;strong&gt;저코드/무코드 개발 플랫폼&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;저코드 및 무코드 플랫폼은 비개발자도 쉽게 웹 애플리케이션을 만들 수 있게 해줍니다. 2024년에는 이러한 플랫폼의 인기가 더욱 높아질 것으로 예상됩니다. 이로 인해 더 많은 사람들이 아이디어를 실현할 수 있게 될 것입니다.&lt;/p&gt;
&lt;h2&gt;6. &lt;strong&gt;다크 모드 지원 확대&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;사용자 경험을 개선하기 위해 다크 모드를 지원하는 웹사이트가 증가하고 있습니다. 다크 모드는 눈의 피로를 줄여주고 배터리 수명을 연장하는 데 도움이 됩니다. 2024년에는 더 많은 웹사이트가 다크 모드를 기본 옵션으로 제공할 것입니다.&lt;/p&gt;
&lt;h2&gt;7. &lt;strong&gt;웹 컴포넌트&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;웹 컴포넌트는 재사용 가능한 UI 요소를 만들 수 있게 해줍니다. 이를 통해 개발자는 일관된 디자인을 유지하면서도 생산성을 높일 수 있습니다. 2024년에는 웹 컴포넌트의 사용이 더욱 확산될 것입니다.&lt;/p&gt;
&lt;h2&gt;8. &lt;strong&gt;증강 현실 (AR)과 가상 현실 (VR)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;AR과 VR 기술이 발전하면서 웹에서도 이러한 기술을 활용한 콘텐츠가 늘어나고 있습니다. 2024년에는 쇼핑, 교육, 게임 등 다양한 분야에서 AR과 VR을 활용한 웹 애플리케이션이 증가할 것입니다.&lt;/p&gt;
&lt;h2&gt;9. &lt;strong&gt;CSS Grid와 Flexbox&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;CSS Grid와 Flexbox는 레이아웃 설계를 단순화하고 강력한 기능을 제공합니다. 2024년에는 이 두 가지 기술이 더 널리 사용되어 복잡한 레이아웃을 쉽게 구현할 수 있을 것입니다.&lt;/p&gt;
&lt;h2&gt;10. &lt;strong&gt;모듈식 디자인 시스템&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;모듈식 디자인 시스템은 일관된 사용자 경험을 제공하고, 개발과 디자인 간의 협업을 촉진합니다. 2024년에는 더 많은 기업이 모듈식 디자인 시스템을 도입하여 효율성을 높일 것입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;이상으로 2024년에 주목해야 할 웹 개발 트렌드를 살펴보았습니다. 빠르게 변화하는 웹 개발 환경에서 최신 트렌드를 파악하고 적응하는 것이 중요합니다. 이 글이 여러분의 웹 개발 여정에 도움이 되길 바랍니다.&lt;/p&gt;</description>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/107</guid>
      <comments>https://lcs1245.tistory.com/entry/2024-%EC%9B%B9-%EA%B0%9C%EB%B0%9C-%ED%8A%B8%EB%A0%8C%EB%93%9C#entry107comment</comments>
      <pubDate>Mon, 27 May 2024 12:33:33 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript 비동기 처리 심화: async/await와 Promise 활용하기</title>
      <link>https://lcs1245.tistory.com/entry/JavaScript-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%B2%98%EB%A6%AC-%EC%8B%AC%ED%99%94-asyncawait%EC%99%80-Promise-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;JavaScript에서 비동기 처리는 웹 애플리케이션의 성능을 최적화하는 데 매우 중요합니다. 이번 글에서는 비동기 처리를 더욱 효율적으로 다루기 위해 async/await와 Promise를 활용하는 방법을 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;1. Promise 기본 이해&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Promise는 비동기 작업의 완료 또는 실패를 나타내는 객체입니다. Promise는 pending, fulfilled, rejected 세 가지 상태를 가집니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716510990507&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let promise = new Promise((resolve, reject) =&amp;gt; {
    // 비동기 작업 수행
    if (/* 성공 */) {
        resolve('성공');
    } else {
        reject('실패');
    }
});

promise.then(result =&amp;gt; {
    console.log(result); // 성공 시 실행
}).catch(error =&amp;gt; {
    console.error(error); // 실패 시 실행
});&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;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;2. async/await 소개&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;async/await는 Promise를 더 간단하게 사용할 수 있도록 도와줍니다. async 키워드를 함수 앞에 붙여 비동기 함수를 만들고, await 키워드를 사용해 Promise가 해결될 때까지 기다릴 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716511036045&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;async function fetchData() {
    try {
        let response = await fetch('https://api.example.com/data');
        let data = await response.json();
        console.log(data);
    } catch (error) {
        console.error('Error:', error);
    }
}

fetchData();&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;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;3. 실제 예제: API 호출&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;API 호출 시 비동기 처리가 자주 필요합니다. async/await를 사용하면 코드를 더 직관적으로 작성할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716511050945&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;async function getUserData(userId) {
    try {
        let response = await fetch(`https://api.example.com/users/${userId}`);
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        let userData = await response.json();
        console.log(userData);
    } catch (error) {
        console.error('Fetch error:', error);
    }
}

getUserData(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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;4. 여러 비동기 작업 처리&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여러 개의 비동기 작업을 순차적으로 처리해야 할 때도 async/await가 유용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1716511068481&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;async function processUsers(userIds) {
    for (let id of userIds) {
        await getUserData(id);
    }
}

processUsers([1, 2, 3]);&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;h2 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;5. 결론&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;async/await와 Promise를 활용하면 복잡한 비동기 작업을 더 쉽게 관리할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;더 많은 예제와 정보를 원하시면 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/async_function&quot;&gt;MDN 문서&lt;/a&gt;를 참고하세요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 하면 여러분의 JavaScript 비동기 처리가 더욱 강력해질 것입니다. Happy coding!&lt;/p&gt;</description>
      <category>async/await</category>
      <category>javascript</category>
      <category>promise</category>
      <category>비동기처리</category>
      <category>웹개발</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/106</guid>
      <comments>https://lcs1245.tistory.com/entry/JavaScript-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%B2%98%EB%A6%AC-%EC%8B%AC%ED%99%94-asyncawait%EC%99%80-Promise-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0#entry106comment</comments>
      <pubDate>Fri, 24 May 2024 09:42:07 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript 문자열 자르기 (substring, substr, slice)</title>
      <link>https://lcs1245.tistory.com/entry/JavaScript-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%9E%90%EB%A5%B4%EA%B8%B0-substring-substr-slice</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;JavaScript에서 문자열을 자르는 방법에 대해 살펴보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적으로 기본내장함수 substring, substr, slice 3가지가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3가지 중에서 상황에 맞게 적절하게 쓰면 좋겠습니다.&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&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;#substr&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;문법은 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;문자열(str)의 시작위치(startIndex)부터 길이(length)만큼의 글자수를 자릅니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(이때, 종료위치를 생략할 경우 시작위치부터 끝까지 자릅니다.)&lt;/p&gt;
&lt;pre id=&quot;code_1694349107547&quot; class=&quot;javascript&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 문법
str.substr(startIndex, [length])

// 예시
&quot;서브스트링&quot;.substr(2, 1)
    //결과 --&amp;gt; &quot;스&quot;
    
&quot;서브스트링&quot;.substr(2, 2)
    //결과 --&amp;gt; &quot;스트&quot;
    
&quot;서브스트링&quot;.substr(2, 3)
    //결과 --&amp;gt; &quot;스트링&quot;
    
&quot;서브스트링&quot;.substr(1)
    //결과 --&amp;gt; &quot;브스트링&quot;
    
&quot;서브스트링&quot;.substr(3)
    //결과 --&amp;gt; &quot;트링&quot;&lt;/code&gt;&lt;/pre&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;span style=&quot;letter-spacing: 0px;&quot;&gt;#substring&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;문법은 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;문자열(str)의 시작위치(startIndex)부터 종료위치(endIndex - 1)까지를 자릅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;(이때, 종료위치를 생략할 경우 시작위치부터 끝까지 자릅니다.)&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694344811881&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 문법
str.substring(startIndex, [endIndex])

// 예시
&quot;서브스트링&quot;.substr(2, 3)
    //결과 --&amp;gt; &quot;스&quot;
    
&quot;서브스트링&quot;.substr(2, 4)
    //결과 --&amp;gt; &quot;스트&quot;
    
&quot;서브스트링&quot;.substr(2, 5)
    //결과 --&amp;gt; &quot;스트링&quot;
    
&quot;서브스트링&quot;.substr(1)
    //결과 --&amp;gt; &quot;브스트링&quot;
    
&quot;서브스트링&quot;.substr(3)
    //결과 --&amp;gt; &quot;트링&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-size: 1.2rem; font-weight: bold; background-image: linear-gradient(to right, darkorange, #fcfe00); background-size: 100% 15%; background-position: center bottom; background-repeat: no-repeat;&quot;&gt;주의사항&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. startIndex 또는 endIndex에 음수를 입력할 경우 해당 값은 0으로 인식됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1694345153240&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&quot;서브스트링&quot;.substring(-2, 3); // -2 --&amp;gt; 0으로 바뀐다
    //결과 -&amp;gt; &quot;서브스&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. endIndex가 startIndex보다 작은 경우 startIndex와 endIndex가 서로 바뀝니다.&lt;/p&gt;
&lt;pre id=&quot;code_1694345308828&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&quot;서브스트링&quot;.substring(3, 0); // 0이 3보다 작음으로 두파라미터의 자리가 바뀜.
    //결과 --&amp;gt; &quot;서브스&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#slice&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문법은 다음과 같습니다. (substring과 동일합니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;문자열(str)의 시작위치(startIndex)부터 종료위치(endIndex - 1)까지를 자릅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;(이때, 종료위치를 생략할 경우 시작위치부터 끝까지 자릅니다.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;다만 slice함수에서 음수는 문자열의 마지막글자부터의 인덱스를 의미합니다.&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;('서브스트링'에서 -1: '링', -2: '트', -3: '스', -4: '브'...)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;그래서 뒤에서 몇 글자 이런 식으로 가져올 때 사용하면 좋은 함수입니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1694349178001&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 문법
str.slice(startIndex, [endIndex])

// 예시
&quot;서브스트링&quot;.slice(2, 3)
    //결과 --&amp;gt; &quot;스&quot;
    
&quot;서브스트링&quot;.slice(-3, -1)
    //결과 --&amp;gt; &quot;스트&quot;
    
&quot;서브스트링&quot;.slice(-3)
    //결과 --&amp;gt; &quot;스트링&quot;
    
&quot;서브스트링&quot;.slice(1)
    //결과 --&amp;gt; &quot;브스트링&quot;
    
&quot;서브스트링&quot;.slice(-2)
    //결과 --&amp;gt; &quot;트링&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>javascript</category>
      <category>javascript 문자열 자르기</category>
      <category>Slice</category>
      <category>substr</category>
      <category>SUBSTRING</category>
      <category>문자열 자르기</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/105</guid>
      <comments>https://lcs1245.tistory.com/entry/JavaScript-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%9E%90%EB%A5%B4%EA%B8%B0-substring-substr-slice#entry105comment</comments>
      <pubDate>Sun, 10 Sep 2023 21:51:32 +0900</pubDate>
    </item>
    <item>
      <title>네이버 스마트스토어 만들기, 나만의 온라인 상점</title>
      <link>https://lcs1245.tistory.com/entry/%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%8A%A4%EB%A7%88%ED%8A%B8%EC%8A%A4%ED%86%A0%EC%96%B4-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EB%82%98%EB%A7%8C%EC%9D%98-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EC%83%81%EC%A0%90</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;첫 번째 관문인 스마트스토어 만들기를 해보겠습니다.&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;#1. 네이버 스마트스토어 홈페이지 진입하기.&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이버에 '스마트스토어' 검색하거나 아래 URL을 통해 진입가능 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://sell.smartstore.naver.com/#/home/about&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://sell.smartstore.naver.com/#/home/about&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1693835931532&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;누구나 쉽고 편리하게 만드는 스마트스토어에서 내 가게를 만들어보세요.&quot; data-og-host=&quot;sell.smartstore.naver.com&quot; data-og-source-url=&quot;https://sell.smartstore.naver.com/#/home/about&quot; data-og-url=&quot;https://sell.smartstore.naver.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/kISqv/hyTPFnjh0V/0iRBn6ihZRro3spG3hMtek/img.jpg?width=270&amp;amp;height=270&amp;amp;face=0_0_270_270&quot;&gt;&lt;a href=&quot;https://sell.smartstore.naver.com/#/home/about&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://sell.smartstore.naver.com/#/home/about&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/kISqv/hyTPFnjh0V/0iRBn6ihZRro3spG3hMtek/img.jpg?width=270&amp;amp;height=270&amp;amp;face=0_0_270_270');&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;누구나 쉽고 편리하게 만드는 스마트스토어에서 내 가게를 만들어보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;sell.smartstore.naver.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;h3 data-ke-size=&quot;size23&quot;&gt;#2. 네이버 커머스 ID 회원가입하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 네이버 커머스 ID가 있으시다면 패스해도 되지만, 처음 스마트스토어를 개설하는 저는 회원가입 진행해 주었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;네이버커머스 가입.png&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5S4ZC/btss88h6eQ8/jwmwzMG2NN4UusykbgIlz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5S4ZC/btss88h6eQ8/jwmwzMG2NN4UusykbgIlz0/img.png&quot; data-alt=&quot;네이버커머스 가입&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5S4ZC/btss88h6eQ8/jwmwzMG2NN4UusykbgIlz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5S4ZC%2Fbtss88h6eQ8%2FjwmwzMG2NN4UusykbgIlz0%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;544&quot; height=&quot;1104&quot; data-filename=&quot;네이버커머스 가입.png&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;네이버커머스 가입&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가입하기 눌러주시고, 저는 편하게 네이버 아이디로 가입하기 진행했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;절차에 따라 진행해 주세요, 어렵지 않습니다^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#3. 판매자유형 선택&lt;/h3&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스마트스토어 가입.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIeqow/btssVUkXNHq/N92DhmOXxXtggJ3MI8IYI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIeqow/btssVUkXNHq/N92DhmOXxXtggJ3MI8IYI0/img.png&quot; data-alt=&quot;스마스스토어 판매자유형 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIeqow/btssVUkXNHq/N92DhmOXxXtggJ3MI8IYI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIeqow%2FbtssVUkXNHq%2FN92DhmOXxXtggJ3MI8IYI0%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;948&quot; height=&quot;798&quot; data-filename=&quot;스마트스토어 가입.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스마스스토어 판매자유형 선택&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사업자등록이 돼있으시다면 사업자, 안되어있다면 개인으로 해주세요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 취미로 시작하는 단계이기 때문에 개인으로 진행했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추후에 얼마든지 사업자로 전향할 수 있기 때문에 시작하는 단계라면&lt;/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;h3 data-ke-size=&quot;size23&quot;&gt;#4. 비즈니스 서비스 연결&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요한 비즈니스 서비스들 연결하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 안 하셔도 나중에 얼마든지 설정할 수 있습니다 :D&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;비지니스서비스 연결.png&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;584&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lda5k/btss8mgsntn/bibyDgUwT8stAWTBjkuOx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lda5k/btss8mgsntn/bibyDgUwT8stAWTBjkuOx1/img.png&quot; data-alt=&quot;스마스스토어 비지니스 서비스 연결&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lda5k/btss8mgsntn/bibyDgUwT8stAWTBjkuOx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flda5k%2Fbtss8mgsntn%2FbibyDgUwT8stAWTBjkuOx1%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;944&quot; height=&quot;584&quot; data-filename=&quot;비지니스서비스 연결.png&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;584&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스마스스토어 비지니스 서비스 연결&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#5. 스마트스토어 정보입력&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은, 스마트스토어 정보입력을 할 차례입니다.&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;이 중에서 이름은 가입 후 1회만 수정가능하고, URL은 가입 후 수정불가하니 신중하게 작성해 주세요~&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스마스스토어 정보입력.png&quot; data-origin-width=&quot;963&quot; data-origin-height=&quot;764&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N81Bq/btss9idM2l0/ZK130IJkkps4OblRgYz60k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N81Bq/btss9idM2l0/ZK130IJkkps4OblRgYz60k/img.png&quot; data-alt=&quot;스마트스토어 정보 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N81Bq/btss9idM2l0/ZK130IJkkps4OblRgYz60k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN81Bq%2Fbtss9idM2l0%2FZK130IJkkps4OblRgYz60k%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;963&quot; height=&quot;764&quot; data-filename=&quot;스마스스토어 정보입력.png&quot; data-origin-width=&quot;963&quot; data-origin-height=&quot;764&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스마트스토어 정보 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#6. 판매 상품정보 입력&lt;/h3&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;판매 상품정보 입력.png&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;324&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6RBWf/btssUPqzHEz/7zqixmicKohyoKhVojzFt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6RBWf/btssUPqzHEz/7zqixmicKohyoKhVojzFt0/img.png&quot; data-alt=&quot;판매 상품정보 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6RBWf/btssUPqzHEz/7zqixmicKohyoKhVojzFt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6RBWf%2FbtssUPqzHEz%2F7zqixmicKohyoKhVojzFt0%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;946&quot; height=&quot;324&quot; data-filename=&quot;판매 상품정보 입력.png&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;324&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;판매 상품정보 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#7. 배송 정산정보 입력&lt;/h3&gt;
&lt;p 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-filename=&quot;배송_정산정보.png&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;1056&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sUurw/btssUKbPATE/8FGL2caKWJs1U00Xe1Xw4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sUurw/btssUKbPATE/8FGL2caKWJs1U00Xe1Xw4k/img.png&quot; data-alt=&quot;배송 정산정보 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sUurw/btssUKbPATE/8FGL2caKWJs1U00Xe1Xw4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsUurw%2FbtssUKbPATE%2F8FGL2caKWJs1U00Xe1Xw4k%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;790&quot; height=&quot;1056&quot; data-filename=&quot;배송_정산정보.png&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;1056&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;배송 정산정보 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#8. 판매자 추가정보 입력&lt;/h3&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_판매자 추가정보 입력.png&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;817&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bav4au/btss3EuXUFY/Zxy5dkSNfierZ5w1eQoYBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bav4au/btss3EuXUFY/Zxy5dkSNfierZ5w1eQoYBk/img.png&quot; data-alt=&quot;판매자 추가정보 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bav4au/btss3EuXUFY/Zxy5dkSNfierZ5w1eQoYBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbav4au%2Fbtss3EuXUFY%2FZxy5dkSNfierZ5w1eQoYBk%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;1069&quot; height=&quot;817&quot; data-filename=&quot;edited_판매자 추가정보 입력.png&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;817&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;판매자 추가정보 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;#9. 신청완료 &amp;gt; 가입완료&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가입완료 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심사결과는 하루정도 기다려야 된다는 분들도 있던데, 저는 가입하자마자 완료되었네요 :D&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_스마트스토어 가입완료.png&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;872&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cID2hy/btssT7Zriqp/GjJVekhDzXMDB1SmH8ApV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cID2hy/btssT7Zriqp/GjJVekhDzXMDB1SmH8ApV1/img.png&quot; data-alt=&quot;가입완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cID2hy/btssT7Zriqp/GjJVekhDzXMDB1SmH8ApV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcID2hy%2FbtssT7Zriqp%2FGjJVekhDzXMDB1SmH8ApV1%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;895&quot; height=&quot;872&quot; data-filename=&quot;edited_스마트스토어 가입완료.png&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;872&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가입완료&lt;/figcaption&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;5분 정도밖에 안 걸린 것 같네요&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;만약 첫 제품이 팔린다면 사업자등록을 진행해야 하니, 사업자등록 관련글로 찾아올 수 있기를 고대합니다 :D&lt;/p&gt;</description>
      <category>네이버 스마트스토어</category>
      <category>스마트 스토어</category>
      <category>스마트 스토어 개설</category>
      <category>온라인 상점</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/104</guid>
      <comments>https://lcs1245.tistory.com/entry/%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%8A%A4%EB%A7%88%ED%8A%B8%EC%8A%A4%ED%86%A0%EC%96%B4-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EB%82%98%EB%A7%8C%EC%9D%98-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EC%83%81%EC%A0%90#entry104comment</comments>
      <pubDate>Mon, 4 Sep 2023 23:42:00 +0900</pubDate>
    </item>
    <item>
      <title>JQuery Ajax 사용법 정리</title>
      <link>https://lcs1245.tistory.com/entry/JQuery-Ajax-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;JQuery Ajax 사용법에 대해 포스팅하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Ajax란 Asynchronous Javascript And Xml (비동기식 Javascript And Xml)의 약자로&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-size: 1.2rem; font-weight: bold; background-image: linear-gradient(to right, darkorange, #fcfe00); background-size: 100% 15%; background-position: center bottom; background-repeat: no-repeat;&quot;&gt;기본 사용법: JQuery.ajax({Settings})&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Settings에 들어가는 옵션들을 살펴보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적인 옵션만 기술합니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 242px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px; background: #aea9cf;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;옵션&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;타입&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;기본값&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;url&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;String&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;HTTP Request 보낼 주소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;method&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;String&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;GET&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;HTTP Request 메소드&lt;br /&gt;(GET, POST 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;data&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;Object or String or Array&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;요청과 함께 보낼 데이터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 34px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 34px;&quot;&gt;dataType&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 34px;&quot;&gt;String&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 34px;&quot;&gt;Intelligent Guess (추측)&lt;br /&gt;(xml, json, script, or html)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 34px;&quot;&gt;서버에서 응답받을 데이터타입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;async&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;Boolean&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;비동기 진행여부&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;beforeSend&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;Function(jqXHR jqXHR, Object settings)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;요청보내기 전 진행할 함수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;success (jQuery 3.0&amp;darr;)&lt;br /&gt;done (jQuery 3.0&amp;uarr;)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;Function(anyThing data, String status, jqXHR jqXhr)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px;&quot;&gt;요청이 성공했을때 진행할 함수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;error (jQuery 3.0&amp;darr;)&lt;br /&gt;fail (jQuery 3.0&amp;uarr;)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;Function(jqXHR jqXHR, String textStatus, STring errorThrown )&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;요청에서 에러가 발생했을때 진행할 함수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 60px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 60px;&quot;&gt;complete (jQuery 3.0&amp;darr;) &lt;br /&gt;always (jQuery 3.0&amp;uarr;)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 60px;&quot;&gt;Function(jqXHR jqXHR, String textStatus)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 60px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 60px;&quot;&gt;요청이 모두 완료되고난후 진행할 함수 (성공/실패 관계없이)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외에도 세부 옵션들은 공식 홈페이지 Documents에서 확인 가능합니다.&lt;/p&gt;
&lt;figure id=&quot;og_1656251181315&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.ajax() | jQuery API Documentation&quot; data-og-description=&quot;Description: Perform an asynchronous HTTP (Ajax) request. The $.ajax() function underlies all Ajax requests sent by jQuery. It is often unnecessary to directly call this function, as several higher-level alternatives like $.get() and .load() are available &quot; data-og-host=&quot;api.jquery.com&quot; data-og-source-url=&quot;https://api.jquery.com/jquery.ajax/&quot; data-og-url=&quot;https://api.jquery.com/jquery.ajax/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://api.jquery.com/jquery.ajax/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://api.jquery.com/jquery.ajax/&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.ajax() | jQuery API Documentation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Description: Perform an asynchronous HTTP (Ajax) request. The $.ajax() function underlies all Ajax requests sent by jQuery. It is often unnecessary to directly call this function, as several higher-level alternatives like $.get() and .load() are available&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제 코드를 한번 보겠습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1656251424037&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$.ajax({
    url: &quot;/ajaxRequest.do&quot; // Http 요청보낼 서버Url
    , method: &quot;GET&quot; // http 요청 메소드(GET, POST 등)
    , async: true // 비동기여부
    , data: {
        ID: &quot;A32&quot;
        , NAME: &quot;Aiden&quot;
    }
    , dataType: &quot;json&quot; // 서버에서 응답하여 보내줄 데이터타입
    , beforeSend: function() { // 요청보내기전 실행할 함수
        $(&quot;#loading&quot;).show();
    }
    , done: function(data, status) { // 요청성공하면 실행될 함수
        console.log(data);
        console.log(status);
    }
    , fail: function(jqXhr, status, errorThrown) { // 요청실패하면 실행될 함수
        alert(&quot;실패했습니다. (error : &quot; + errorThrown + &quot; )&quot;);
    }
    , always: function(jqXhr, status) { // 성공,실패와 상관없이 항상 실행되는 함수, done/fail 함수 먼저 실행됩니다.
        $(&quot;#loading&quot;).hide();
    }
});&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>LANGUAGE/JavaScript</category>
      <category>ajax</category>
      <category>javascript</category>
      <category>jQuery</category>
      <category>비동기</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/103</guid>
      <comments>https://lcs1245.tistory.com/entry/JQuery-Ajax-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC#entry103comment</comments>
      <pubDate>Sun, 26 Jun 2022 23:20:23 +0900</pubDate>
    </item>
    <item>
      <title>Python MSSQL 연결하기 pymssql</title>
      <link>https://lcs1245.tistory.com/entry/Python-MSSQL-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0-pymssql</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;Python에서 pymssql 라이브러리를 통해 MSSQL 연결하는 방법을 소개합니다.&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;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;먼저 pymssql 라이브러리를 설치해주어야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1649986296742&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pymssql&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;span style=&quot;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;다음은 아래 코드를 통해 MSSQL 서버와 연결 및 쿼리 실행합니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1649995081254&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import pymssql

# MSSQL 연결
connect = pymssql.connect(server=r&quot;(local)&quot;, database=&quot;Aiden&quot;, user=&quot;user&quot;, password=&quot;password&quot;)
cursor = connect.cursor()

# 쿼리실행
cursor.execute(&quot;SELECT * FROM T_FILE_LIST&quot;)

row = cursor.fetchone()
while row:
    print(row)
    row = cursor.fetchone()
    
# 연결종료
connect.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;* 위 코드는 주로 쓰이는&amp;nbsp; SQL Server 인증방식으로&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;b&gt;코드 해석&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;--&amp;gt; 로컬에 있는 Aiden DB에 user/password 계정으로 연결한 뒤 쿼리를 실행 후, 실행결과를 한 줄씩 가져와서 출력&lt;/b&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;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;큰 틀은 위와 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;서버, DB, 계정, 비밀번호만 본인 상황대로 바꾸시면 MSSQL 디비 연결 쉽게 하실 수 있습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>LANGUAGE/Python</category>
      <category>MSSQL</category>
      <category>pymssql</category>
      <category>PYTHON</category>
      <category>Python MSSQL 연결</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/100</guid>
      <comments>https://lcs1245.tistory.com/entry/Python-MSSQL-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0-pymssql#entry100comment</comments>
      <pubDate>Sat, 16 Apr 2022 22:21:41 +0900</pubDate>
    </item>
    <item>
      <title>MSSQL 로컬 환경 구축하기</title>
      <link>https://lcs1245.tistory.com/entry/MSSQL-%EB%A1%9C%EC%BB%AC-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이번 포스팅에는 MSSQL 로컬 환경 구축하는 방법에 대해서 포스팅하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;MSSQL 설치 및, SSMS (SQL Server Management Studio) 설치 후 연결까지 본 포스팅에서 설명합니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #424242; border-left: 10px solid #424242; border-bottom: 3px solid #424242; padding: 5px; padding-left: 20px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;MSSQL 설치하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;MSSQL 설치하기 위해 공식 홈페이지로 이동해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;a href=&quot;https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads&quot;&gt;SQL Server 다운로드 | Microsoft&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649944977758&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;SQL Server 다운로드 | Microsoft&quot; data-og-description=&quot;지금 Microsoft SQL Server 다운로드를 시작하세요. 내 데이터와 워크로드에 가장 적합한 SQL Server 체험판 또는 버전, 에디션, 도구 또는 커넥터를 선택하세요.&quot; data-og-host=&quot;www.microsoft.com&quot; data-og-source-url=&quot;https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads&quot; data-og-url=&quot;https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads&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;SQL Server 다운로드 | Microsoft&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;지금 Microsoft SQL Server 다운로드를 시작하세요. 내 데이터와 워크로드에 가장 적합한 SQL Server 체험판 또는 버전, 에디션, 도구 또는 커넥터를 선택하세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.microsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이동하신 후 운영체제에 맞게 설치파일을 다운로드합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&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;font-family: 'Noto Serif KR';&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #424242; border-left: 10px solid #424242; border-bottom: 3px solid #424242; padding: 5px; padding-left: 20px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SSMS (SQL Server Management Studio) 설치하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;공식 홈페이지로 이동해 SSMS 설치 파일을 다운로드합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&amp;amp;view=sql-server-ver15&quot;&gt;SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS) | Microsoft Docs&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649946352492&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;SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS)&quot; data-og-description=&quot;최신 버전의 SSMS(SQL Server Management Studio)를 다운로드합니다.&quot; data-og-host=&quot;docs.microsoft.com&quot; data-og-source-url=&quot;https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&amp;amp;view=sql-server-ver15&quot; data-og-url=&quot;https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/oSg2z/hyN2HqrzMx/2yYFMlVlMP1tOlofXrEZak/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&amp;amp;view=sql-server-ver15&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&amp;amp;view=sql-server-ver15&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/oSg2z/hyN2HqrzMx/2yYFMlVlMP1tOlofXrEZak/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&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;SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;최신 버전의 SSMS(SQL Server Management Studio)를 다운로드합니다.&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;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #424242; border-left: 10px solid #424242; border-bottom: 3px solid #424242; padding: 5px; padding-left: 20px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SSMS &amp;gt; LOCAL 연결하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;설치된 SSMS를 실행해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;SSMS 로그인.png&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TumTh/btrzpaPpesy/CmpbVVRVBwsXVfw6TnyV0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TumTh/btrzpaPpesy/CmpbVVRVBwsXVfw6TnyV0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TumTh/btrzpaPpesy/CmpbVVRVBwsXVfw6TnyV0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTumTh%2FbtrzpaPpesy%2FCmpbVVRVBwsXVfw6TnyV0K%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;562&quot; height=&quot;300&quot; data-filename=&quot;SSMS 로그인.png&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Server type &amp;gt; Database Engine&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Server name &amp;gt; DESKTOP-...로 시작하는 내 컴퓨터 선택&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Connect!&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;font-family: 'Noto Serif KR';&quot;&gt;이제 로컬에서 MSSQL을 사용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>MSSQL</category>
      <category>MSSQL</category>
      <category>MSSQL 로컬</category>
      <category>MSSQL 설치하기</category>
      <category>SSMS</category>
      <category>ssms 설치하기</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/99</guid>
      <comments>https://lcs1245.tistory.com/entry/MSSQL-%EB%A1%9C%EC%BB%AC-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0#entry99comment</comments>
      <pubDate>Fri, 15 Apr 2022 00:11:42 +0900</pubDate>
    </item>
    <item>
      <title>ElasticSearch 로컬 설치하기</title>
      <link>https://lcs1245.tistory.com/entry/ElasticSearch-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0</link>
      <description>&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;ElasticSearch는 오픈소스 검색엔진으로 이 분야에 굉장히 유용합니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이번 포스팅은 엘라스틱서치를 시작하기 위해 설치하는 방법에 대한 내용입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;+ 엘라스틱서치 커리를 쉽게 날리기위해 키바나또한 함께 설치해주겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; background-color: #f6e199;&quot;&gt;&lt;b&gt;1. 공식홈페이지에서 엘라스틱서치와 키바나를 다운로드합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;- 제 피씨는 윈도우 운영체제이기 때문에 윈도우용 다운로드합니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;- 저는 7.15.2 Version을 다운받았습니다. ( 엘라스틱서치, 키바나 같은버전으로 합니다. )&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/downloads/elasticsearch&quot;&gt;Download Elasticsearch | Elastic&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/downloads/kibana&quot;&gt;Download Kibana Free | Get Started Now | Elastic&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649571073171&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;Download Elasticsearch&quot; data-og-description=&quot;Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic.&quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/kr/downloads/elasticsearch&quot; data-og-url=&quot;https://www.elastic.co/kr/downloads/elasticsearch&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bSON3t/hyNVRNXZRk/eEFFFDT80eGIg4W5oHKndk/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/cKygyH/hyNVG0cEWp/6h1wFu3Zl3i92bFfY7ccXK/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/btAJZE/hyNVHSb7ap/9SWgVWflGCdTCQKEfdzuA1/img.png?width=1441&amp;amp;height=841&amp;amp;face=0_0_1441_841&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/downloads/elasticsearch&quot; data-source-url=&quot;https://www.elastic.co/kr/downloads/elasticsearch&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bSON3t/hyNVRNXZRk/eEFFFDT80eGIg4W5oHKndk/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/cKygyH/hyNVG0cEWp/6h1wFu3Zl3i92bFfY7ccXK/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/btAJZE/hyNVHSb7ap/9SWgVWflGCdTCQKEfdzuA1/img.png?width=1441&amp;amp;height=841&amp;amp;face=0_0_1441_841');&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;Download Elasticsearch&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1649571071554&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;Download Kibana Free | Get Started Now&quot; data-og-description=&quot;Download Kibana or the complete Elastic Stack (formerly ELK stack) for free and start visualizing, analyzing, and exploring your data with Elastic in minutes.&quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/kr/downloads/kibana&quot; data-og-url=&quot;https://www.elastic.co/kr/downloads/kibana&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/k8YDM/hyN0gZ5Odi/enPKFxW38pHWGkGbCqByP0/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/cxqqzd/hyNYRnlEl9/8os8stexyOxTzJNAUcTp41/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/hjIqT/hyN0nx9a9b/9OhlabL4cCikxiTerXwLCk/img.jpg?width=720&amp;amp;height=420&amp;amp;face=0_0_720_420&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/downloads/kibana&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.elastic.co/kr/downloads/kibana&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/k8YDM/hyN0gZ5Odi/enPKFxW38pHWGkGbCqByP0/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/cxqqzd/hyNYRnlEl9/8os8stexyOxTzJNAUcTp41/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/hjIqT/hyN0nx9a9b/9OhlabL4cCikxiTerXwLCk/img.jpg?width=720&amp;amp;height=420&amp;amp;face=0_0_720_420');&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;Download Kibana Free | Get Started Now&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Download Kibana or the complete Elastic Stack (formerly ELK stack) for free and start visualizing, analyzing, and exploring your data with Elastic in minutes.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;background-color: #f6e199; font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;2. 다운받은&amp;nbsp;파일 압축해제합니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199; font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;3. 배치파일을 실행합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;115&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RfNnC/btryww7yGE6/N7B9c3pKFnUOQGxRtbP7K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RfNnC/btryww7yGE6/N7B9c3pKFnUOQGxRtbP7K1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RfNnC/btryww7yGE6/N7B9c3pKFnUOQGxRtbP7K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRfNnC%2Fbtryww7yGE6%2FN7B9c3pKFnUOQGxRtbP7K1%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;612&quot; height=&quot;115&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;115&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUvCcp/btryZagX16p/2VRPWBKdNHGodK69L4kC8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUvCcp/btryZagX16p/2VRPWBKdNHGodK69L4kC8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUvCcp/btryZagX16p/2VRPWBKdNHGodK69L4kC8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUvCcp%2FbtryZagX16p%2F2VRPWBKdNHGodK69L4kC8k%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;637&quot; height=&quot;125&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199; font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;4. 웹에서 아래 주소로 이동해 ElasticSearch 설치된 것을 확인합니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;/localhost:9200&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1283&quot; data-origin-height=&quot;671&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgmxQY/btryzoGIyRa/pDLsPL71SzXVX2EzN6is7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgmxQY/btryzoGIyRa/pDLsPL71SzXVX2EzN6is7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgmxQY/btryzoGIyRa/pDLsPL71SzXVX2EzN6is7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgmxQY%2FbtryzoGIyRa%2FpDLsPL71SzXVX2EzN6is7k%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;1283&quot; height=&quot;671&quot; data-origin-width=&quot;1283&quot; data-origin-height=&quot;671&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&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;size18&quot;&gt;&lt;span style=&quot;background-color: #f6e199; font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;5. 아래주소로 이동해 키바나를 실행합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;/localhost:5601&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Dev Tools 메뉴로 이동해 쿼리를 실행할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1011&quot; data-origin-height=&quot;709&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l1F5q/btryTNmkhWo/i0VlN7HXAdHT5MUZAXvueK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l1F5q/btryTNmkhWo/i0VlN7HXAdHT5MUZAXvueK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l1F5q/btryTNmkhWo/i0VlN7HXAdHT5MUZAXvueK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl1F5q%2FbtryTNmkhWo%2Fi0VlN7HXAdHT5MUZAXvueK%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;1011&quot; height=&quot;709&quot; data-origin-width=&quot;1011&quot; data-origin-height=&quot;709&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>ELASTIC SEARCH</category>
      <category>elasticsearch</category>
      <category>ElasticSearch 다운로드</category>
      <category>elasticsearch 설치</category>
      <category>검색엔진</category>
      <author>창슈</author>
      <guid isPermaLink="true">https://lcs1245.tistory.com/97</guid>
      <comments>https://lcs1245.tistory.com/entry/ElasticSearch-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0#entry97comment</comments>
      <pubDate>Wed, 6 Apr 2022 22:40:24 +0900</pubDate>
    </item>
  </channel>
</rss>