<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>日常茶飯事</title>
    <link>https://neo365.tistory.com/</link>
    <description>설명하기 귀찮아...걍 느껴</description>
    <language>ko</language>
    <pubDate>Wed, 13 May 2026 18:45:14 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>잠탱</managingEditor>
    <image>
      <title>日常茶飯事</title>
      <url>https://tistory1.daumcdn.net/tistory/5205/attach/7c6bb47318a2428281f7ada90a663558</url>
      <link>https://neo365.tistory.com</link>
    </image>
    <item>
      <title>Docker로 Database 설치하기</title>
      <link>https://neo365.tistory.com/2678616</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;PostgreSql&lt;/h3&gt;
&lt;pre id=&quot;code_1697314823311&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ docker pull postgres:latest
$ docker volume create pgdata
$ docker run -p 5432:5432 --name PostgreSql -e POSTGRES_PASSWORD=&amp;lt;암호&amp;gt; -e TZ=Asia/Seoul -d -v pgdata:/var/lib/postgresql/data -d postgres:latest&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;MariaDB&lt;/h3&gt;
&lt;pre id=&quot;code_1697314891265&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ docker pull mariadb:latest
$ docker volume create mariadata
$ docker run -p 3306:3306 --name MariaDB -e MARIADB_ROOT_PASSWORD=&amp;lt;암호&amp;gt; -d -v mariadata:/var/lib/mariadb/data -d mariadb:latest&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;Oarcle 19C&lt;/h3&gt;
&lt;pre id=&quot;code_1697314951545&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ docker pull doctorkirk/oracle-19c
$ docker volume create oradata
$ docker run --name oracle-19c -p 1521:1521 -e ORACLE_SID=ORCL -e ORACLE_PWD=&amp;lt;암호&amp;gt; -e ORACLE_CHARACTERSET=KO16MSWIN949 -v oradata:/opt/oracle/oradata -d doctorkirk/oracle-19c&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그램개발/Database</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678616</guid>
      <comments>https://neo365.tistory.com/2678616#entry2678616comment</comments>
      <pubDate>Sun, 15 Oct 2023 05:23:51 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 설치 &amp;amp; 최적화</title>
      <link>https://neo365.tistory.com/2678614</link>
      <description>&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;windows + R 이후 control.exe folders 입력&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;898&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIJDJ7/btsrrcM30yj/lknkb98SxkqK1amxAh6OB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIJDJ7/btsrrcM30yj/lknkb98SxkqK1amxAh6OB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIJDJ7/btsrrcM30yj/lknkb98SxkqK1amxAh6OB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIJDJ7%2FbtsrrcM30yj%2Flknkb98SxkqK1amxAh6OB1%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;646&quot; height=&quot;898&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;898&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>팁 &amp;amp; 강좌</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678614</guid>
      <comments>https://neo365.tistory.com/2678614#entry2678614comment</comments>
      <pubDate>Thu, 17 Aug 2023 03:15:21 +0900</pubDate>
    </item>
    <item>
      <title>yarn을 이용한 오프라인 빌드 설정</title>
      <link>https://neo365.tistory.com/2678613</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트를 하다보면 인터넷이 안되는 환경이 참 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴때 빌드가 안되는 불상사가 T.T&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 yarn을 이용하기로 했습니다. npm이랑 사용하시는데 별반 차이는 없습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1691056137684&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ npm run dev

$ yarn dev&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 동작시키면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 윈도우 기준으로 작성합니다.&amp;nbsp;mac이나 리눅스도 동일하게 적용가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 yarn을 설치 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1691056177921&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ npm install yarn --global&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 프로젝트에서&amp;nbsp; .lock 파일을 삭제 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1691056222754&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ del .\package.lock&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음&lt;/p&gt;
&lt;pre id=&quot;code_1691056261223&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yarn install&lt;/code&gt;&lt;/pre&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;pre id=&quot;code_1691055694283&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ rmdir .\node_modules /S /Q
$ rmdir .\npm_packages /S /Q
$ del yarn.lock&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;.yarnrc 파일을 작성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1691055833449&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// path : /.yarnrc

yarn-offline-mirror &quot;./npm_packages&quot;
yarn-offline-mirror-pruning true&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;package를 한번 다운로드 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1691055706034&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yarn install&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러면 위에서 지정한 npm_packages 폴더에 뭔가 다운로드가 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;요넘들로 오프라인 설치를 하는 거죠&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;offline 설치 테스트&lt;/p&gt;
&lt;pre id=&quot;code_1691055924744&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yarn install --offline
$ yarn install --offline --production&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;배포 불용파일 삭제&lt;/p&gt;
&lt;pre id=&quot;code_1691055954257&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ rmdir .\node_modules /S /Q
$ del yarn.lock&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제 소스를 압축해서 들고 갑니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;설치시에는&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1691055967182&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ yarn install --offline&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참 쉽죠?&lt;/p&gt;</description>
      <category>프로그램개발/Vue</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678613</guid>
      <comments>https://neo365.tistory.com/2678613#entry2678613comment</comments>
      <pubDate>Thu, 3 Aug 2023 18:53:35 +0900</pubDate>
    </item>
    <item>
      <title>el-table-v2 / cellRenderer 예제</title>
      <link>https://neo365.tistory.com/2678612</link>
      <description>&lt;div style=&quot;background-color: #ffffff; color: #080808;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vite에서 jsx를 사용 하기위해 플러그인 설치&lt;/p&gt;
&lt;pre id=&quot;code_1678856993618&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm instsall @vitejs/plugin-vue-jsx --save&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;vite.config.js 설정&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx';

export default defineConfig({
  plugins: [vue(), vueJsx()],
  resolve: {
    alias: [
      { find: '@', replacement: '/src' },
      { find: /^~@/, replacement: '/src' }
    ],
    extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'],
  },
})&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1678856806704&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;template&amp;gt;
  &amp;lt;div style=&quot;height: 100vh;&quot;&amp;gt;
    &amp;lt;el-auto-resizer&amp;gt;
      &amp;lt;template #default=&quot;{ height, width }&quot;&amp;gt;
        &amp;lt;el-table-v2
            :columns=&quot;columns&quot;
            :data=&quot;data&quot;
            :width=&quot;width&quot;
            :height=&quot;height&quot;
        /&amp;gt;
      &amp;lt;/template&amp;gt;
    &amp;lt;/el-auto-resizer&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;script lang=&quot;jsx&quot;&amp;gt;
import { h } from &quot;vue&quot;;
import ZLText from &quot;@/components/ZzzLab/ZLText.vue&quot;;

var me = this;

export default {
  name: &quot;ForexFromBank&quot;,
  data: () =&amp;gt; ({
    data: [],
    device: &quot;mobile&quot;,
    columns: [
      {
        key: `financeName`,
        dataKey: `financeName`,
        title: `은행명`,
        width: 150,
        cellRenderer: ({ rowData }) =&amp;gt; {

          console.log(&quot;cellRenderer&quot;)
          let render;
          if( me.width &amp;gt; 768) {
            render = &amp;lt;img src={&quot;/Images/Finance/&quot; + rowData.financeCode + &quot;.png&quot;} style=&quot;height:15px;margin-right:5px;&quot; /&amp;gt;
          }
          else {
            render = &amp;lt;img src={&quot;/Images/Finance/&quot; + rowData.financeCode + &quot;_s.png&quot;} style=&quot;height:15px;margin-right:5px;&quot; /&amp;gt;
          }
          return render
        },
      },
      {
        key: `exchangeRate`,
        dataKey: `exchangeRate`,
        title: `고시금액`,
        width: 150,
        cellRenderer: ({ rowData }) =&amp;gt;
            h(
                ZLText,
                {bold: true},
                {default: () =&amp;gt; rowData.exchangeRate}
            )
      },
      {
        key: `exchangeRate`,
        dataKey: `exchangeRate`,
        title: `사실때`,
        width: 150,
        cellRenderer: ({ rowData }) =&amp;gt;(
            &amp;lt;img src={&quot;/Images/Finance/&quot; + rowData.financeCode + &quot;.png&quot;} style=&quot;height:15px;margin-right:5px;&quot; /&amp;gt;
        )
      },
      {
        key: `exchangeRate`,
        dataKey: `exchangeRate`,
        title: `파실때`,
        width: 300,
        cellRenderer: ({ rowData }) =&amp;gt;(
            &amp;lt;&amp;gt;
              &amp;lt;img src={&quot;/Images/Finance/&quot; + rowData.financeCode + &quot;.png&quot;} style=&quot;height:15px;margin-right:5px;&quot; /&amp;gt;
              &amp;lt;zl-text&amp;gt;{rowData.financeName}&amp;lt;/zl-text&amp;gt;
            &amp;lt;/&amp;gt;
        )
      },
    ],
    width: 0,
    height: 0
  }),
  created() {
    this.width = window.innerWidth;
    this.height = window.innerHeight;
    me = this;
  },
  beforeMount() {

    this.init();
  },
  mounted() {
    window.addEventListener('resize', this.handleResize);
    window.addEventListener('orientationchange', this.handleResize);
  },
  beforeUnmount() {
    window.removeEventListener('resize', this.handleResize);
    window.removeEventListener('orientationchange', this.handleResize);
  },
  methods: {
    init() {
      this.width = window.innerWidth;
      this.height = window.innerHeight;

      let financeList = [
        {financeCode: &quot;KEBHanaBank&quot;, financeName: &quot;KEB하나은행&quot;},
        {financeCode: &quot;WooriBank&quot;, financeName: &quot;우리은행&quot;},
        {financeCode: &quot;KBStarBank&quot;, financeName: &quot;KB국민은행&quot;},
        {financeCode: &quot;ShinhanBank&quot;, financeName: &quot;신한은행&quot;},
        {financeCode: &quot;NHBank&quot;, financeName: &quot;NH농협은행&quot;},
        {financeCode: &quot;IBKBank&quot;, financeName: &quot;기업은행&quot;},
        {financeCode: &quot;SCBankKorea&quot;, financeName: &quot;SC제일은행&quot;},
        {financeCode: &quot;CityBankKorea&quot;, financeName: &quot;시티은행&quot;},
        {financeCode: &quot;SHBank&quot;, financeName: &quot;수협은행&quot;},
        {financeCode: &quot;DGBBank&quot;, financeName: &quot;대구은행&quot;},
        {financeCode: &quot;JeonbukBank&quot;, financeName: &quot;전북은행&quot;},
        {financeCode: &quot;GyeongnamBank&quot;, financeName: &quot;경남은행&quot;},
        {financeCode: &quot;JejuBank&quot;, financeName: &quot;제주은행&quot;},
        {financeCode: &quot;BusanBank&quot;, financeName: &quot;부산은행&quot;},
      ]

      financeList.forEach((finance) =&amp;gt; {
          this.data.push({
            financeCode: finance.financeCode,
            financeName: finance.financeName,
            exchangeRate: 1300.24,
            cashBuy: 1300.24,
            buySpread: 1.75,
            cashSell: 1300.24,
            sellSpread: 1.75,
            cashSend: 1300.24,
            sendSpread: 1.75,
            timestamp: 1678136108,
          });
        });

    },
    handleResize(event) {
      this.width = window.innerWidth;
      this.height = window.innerHeight;

      console.log(this.width, this.height);
    }
  },
}
&amp;lt;/script&amp;gt;

&amp;lt;style&amp;gt;

&amp;lt;/style&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램개발/Vue</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678612</guid>
      <comments>https://neo365.tistory.com/2678612#entry2678612comment</comments>
      <pubDate>Wed, 15 Mar 2023 14:10:43 +0900</pubDate>
    </item>
    <item>
      <title>스프링부트 자동빌드 스크립트 예제</title>
      <link>https://neo365.tistory.com/2678611</link>
      <description>&lt;pre id=&quot;code_1675310006866&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@ECHO OFF
SET JAVA_HOME=%CD%\build\openjdk-1.8

ECHO ================================================
ECHO = VIEW Config
ECHO ================================================
ECHO JAVA_HOME : %JAVA_HOME%
ECHO ------------------------------------------------

del *.bak /Q

if NOT EXIST .\dist (
	mkdir .\dist
)

if EXIST .\dist\prod (
	rmdir .\dist\prod /s /q
)

if NOT EXIST .\dist\prod (
	mkdir .\dist\prod
)

ECHO ================================================
ECHO = SVN Update Start!
ECHO ================================================
.\build\Subversion\bin\svn.exe update

if %errorlevel% GTR 0 (
	ECHO ================================================
	ECHO = SVN Update Fail!
	ECHO ================================================
	pause
	exit -1
)

ECHO ================================================
ECHO = Backend Build Start!
ECHO ================================================
if EXIST .\dist\prod\back (
	rmdir .\dist\prod\back /s /q
)

if NOT EXIST .\dist\prod\back (
    mkdir .\dist\prod\back
)

if EXIST .\dist\prod\back (
	del .\dist\prod\back\*.* /Q
)

if EXIST .\src\BACKEND\target\ (
    rmdir .\src\BACKEND\target\ /s /q
)

if EXIST .\src\BACKEND\src\main\resources\application.properties (
	ECHO $ Copy application.properties
	
	DEL .\src\BACKEND\src\main\resources\application.properties /q
	copy .\build\Backend\application.properties.prod .\src\BACKEND\src\main\resources\application.properties
)

cd .\src\BACKEND

call mvnw clean install

if %errorlevel% GTR 0 (
	ECHO ================================================
	ECHO = Backend:prod Build Fail!
	ECHO ================================================
	pause
	exit -2
)

copy .\target\SHE.war ..\..\dist\prod\back

if EXIST .\target\ (
    rmdir .\target /s /q
)

cd ..\..

ECHO ================================================
ECHO = Batch Build Start!
ECHO ================================================
if NOT EXIST .\dist\prod\back (
    mkdir .\dist\prod\back
)

if EXIST .\src\BATCH\target\ (
    rmdir .\src\BATCH\target\ /s /q
)

if EXIST .\src\BATCH\src\main\resources\application.properties (
	ECHO $ Copy application.properties
	
	DEL .\src\BATCH\src\main\resources\application.properties /q
	copy .\build\batch\application.properties.prod .\src\BATCH\src\main\resources\application.properties
)

cd .\src\BATCH

call mvnw clean install

if %errorlevel% GTR 0 (
	ECHO ================================================
	ECHO = Batch:prod Build Fail!
	ECHO ================================================
	pause
	exit -3
)

copy .\target\SheBatch.war ..\..\dist\prod\back

if EXIST .\target\ (
    rmdir .\target /s /q
)

cd ..\..

ECHO ================================================
ECHO = Frontend Build Start!
ECHO ================================================

cd .\src\MAIN-FRONTEND

call npm install

if %errorlevel% GTR 0 (
	ECHO ================================================
	ECHO = npm install Fail!
	ECHO ================================================
	pause
	exit -4
)

call npm run build:prod

if %errorlevel% GTR 0 (
	ECHO ================================================
	ECHO = npm run build:prod Fail!
	ECHO ================================================
	pause
	exit -5
)

if EXIST .\dist\prod\front (
	rmdir .\dist\prod\front /s /q
)



if NOT EXIST ..\..\dist\prod\front (
	mkdir ..\..\dist\prod\front
)

if NOT EXIST ..\..\dist\prod\front\ROOT (
	mkdir ..\..\dist\prod\front\ROOT
)

robocopy .\dist\ ..\..\dist\prod\front\ROOT /MIR

xcopy ..\..\build\Frontend\* ..\..\dist\prod\front\ROOT\ /E /Y

if EXIST .\dist\ (
    rmdir .\dist /s /q
)

cd ..\..

ECHO ================================================
ECHO = Release Command Copy
ECHO ================================================

copy .\build\release_all.cmd .\dist\prod\release_all.cmd
copy .\build\release_back.cmd .\dist\prod\release_back.cmd
copy .\build\release_front.cmd .\dist\prod\release_front.cmd

ECHO ================================================
ECHO = Rename Folder
ECHO ================================================
set shell_cmd1=.\build\Subversion\bin\svn.exe info --show-item last-changed-date

FOR /F &quot;tokens=*&quot; %%F IN ('%shell_cmd1%') DO (
SET changed-date=%%F
)
echo %changed-date%

set shell_cmd2=.\build\Subversion\bin\svn.exe info --show-item revision
 
FOR /F &quot;tokens=*&quot; %%F IN ('%shell_cmd2%') DO (
SET revision=%%F
)

set prod=prod_%changed-date::=%_rev%revision%

rename .\dist\prod %prod%

ECHO ================================================
ECHO = Build:prod Compleated!
ECHO ================================================

timeout /t 10&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그램개발/java</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678611</guid>
      <comments>https://neo365.tistory.com/2678611#entry2678611comment</comments>
      <pubDate>Thu, 2 Feb 2023 12:54:18 +0900</pubDate>
    </item>
    <item>
      <title>[Postgres] LastIndexOf 함수</title>
      <link>https://neo365.tistory.com/2678610</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1670916383692&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE OR REPLACE FUNCTION LastIndexOf(text,char) 
RETURNS integer LANGUAGE SQL AS $$  
select LENGTH($1) - strpos(reverse($1),$2)
$$;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그램개발/Database</category>
      <category>lastIndexOf</category>
      <category>PostgreSQL</category>
      <category>SQL</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678610</guid>
      <comments>https://neo365.tistory.com/2678610#entry2678610comment</comments>
      <pubDate>Tue, 13 Dec 2022 16:27:09 +0900</pubDate>
    </item>
    <item>
      <title>[Postgresql] uuid 생성함수</title>
      <link>https://neo365.tistory.com/2678609</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;uuid 생성방법에는 여러가지가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방법1.&lt;/p&gt;
&lt;pre id=&quot;code_1670916180057&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE OR REPLACE FUNCTION gen_uuid() 
RETURNS uuid stable language sql 
as 'SELECT md5(random()::text || clock_timestamp()::text)::uuid';

SELECT gen_uuid();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방법2&lt;/p&gt;
&lt;pre id=&quot;code_1670916293085&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE EXTENSION &quot;uuid-ossp&quot;;

SELECT uuid_generate_v4();&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그램개발/Database</category>
      <category>Postgres</category>
      <category>SQL</category>
      <category>UUID</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678609</guid>
      <comments>https://neo365.tistory.com/2678609#entry2678609comment</comments>
      <pubDate>Tue, 13 Dec 2022 16:25:44 +0900</pubDate>
    </item>
    <item>
      <title>[Postgresql] 외부 테이블 참조 하기</title>
      <link>https://neo365.tistory.com/2678608</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;postgresql은 동일 서버내의 db를 참조할수 있는 방법이 없다. (나름충격)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 따로 만들어 줘야됨.&lt;/p&gt;
&lt;pre class=&quot;sql&quot; data-ke-language=&quot;sql&quot;&gt;&lt;code&gt;CREATE EXTENSION postgres_fdw;

CREATE SERVER Foreign_Server
        FOREIGN DATA WRAPPER postgres_fdw
        OPTIONS (host 'my.domain.com', port '5432', dbname 'mydb');

CREATE USER MAPPING FOR localuser
        SERVER Foreign_Server
        OPTIONS (user 'ForeignUser', password 'password');

CREATE FOREIGN TABLE ft_table (
        columnName varchar(50) NOT NULL
)
        SERVER Foreign_Server
        OPTIONS (schema_name 'public', table_name 'tableName');&lt;/code&gt;&lt;/pre&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>프로그램개발/Database</category>
      <category>PostgreSQL</category>
      <category>SQL</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678608</guid>
      <comments>https://neo365.tistory.com/2678608#entry2678608comment</comments>
      <pubDate>Tue, 13 Dec 2022 16:20:01 +0900</pubDate>
    </item>
    <item>
      <title>애플 에어팟 맥스사용기</title>
      <link>https://neo365.tistory.com/2678607</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;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;- 디지털 크라운은 편한지 모르겠습니다. H95의 조작이 더 편한듯&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;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;- 40만원대면 무조건 사세요. 그런데 그 이상은 심하게 고민을.. 정가에 살물건은 절대 아닙니다.&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;총평 : 저 같으면 돈 더 모아서 H95사겠습니다.&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;[B&amp;amp;O H95와 비교컷]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b87xem/btrNv0lCWw0/fdB5lt7jZrghyLEoskefMk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b87xem/btrNv0lCWw0/fdB5lt7jZrghyLEoskefMk/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;2048&quot; data-filename=&quot;IMG_4576.JPEG&quot; style=&quot;width: 35.5814%; margin-right: 10px;&quot; data-widthpercent=&quot;36&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b87xem/btrNv0lCWw0/fdB5lt7jZrghyLEoskefMk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb87xem%2FbtrNv0lCWw0%2FfdB5lt7jZrghyLEoskefMk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEJrlW/btrNvrcWBxe/hTaWtvTKUL5nJwlKEgtyHk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEJrlW/btrNvrcWBxe/hTaWtvTKUL5nJwlKEgtyHk/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot; data-filename=&quot;IMG_4580.JPEG&quot; data-widthpercent=&quot;64&quot; style=&quot;width: 63.2558%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEJrlW/btrNvrcWBxe/hTaWtvTKUL5nJwlKEgtyHk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEJrlW%2FbtrNvrcWBxe%2FhTaWtvTKUL5nJwlKEgtyHk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o560R/btrNwEh34cD/NRPwCfSkz1a6eLKI0nPUUk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o560R/btrNwEh34cD/NRPwCfSkz1a6eLKI0nPUUk/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;2048&quot; data-filename=&quot;IMG_4577.JPEG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o560R/btrNwEh34cD/NRPwCfSkz1a6eLKI0nPUUk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo560R%2FbtrNwEh34cD%2FNRPwCfSkz1a6eLKI0nPUUk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNjFKT/btrNvxqIJ4T/uORvWjT1tW6mP4L01qkkR1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNjFKT/btrNvxqIJ4T/uORvWjT1tW6mP4L01qkkR1/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;2048&quot; data-filename=&quot;IMG_4578.JPEG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNjFKT/btrNvxqIJ4T/uORvWjT1tW6mP4L01qkkR1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNjFKT%2FbtrNvxqIJ4T%2FuORvWjT1tW6mP4L01qkkR1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDlaAd/btrNwD4yaRK/AxHko7Vr7Cl4uMymi7d7u1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDlaAd/btrNwD4yaRK/AxHko7Vr7Cl4uMymi7d7u1/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot; data-filename=&quot;IMG_4581.JPEG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDlaAd/btrNwD4yaRK/AxHko7Vr7Cl4uMymi7d7u1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDlaAd%2FbtrNwD4yaRK%2FAxHko7Vr7Cl4uMymi7d7u1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dm5d0r/btrNvqLTElZ/iY7kSpGZcx1QqexWq42Xs1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dm5d0r/btrNvqLTElZ/iY7kSpGZcx1QqexWq42Xs1/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot; data-filename=&quot;IMG_4582.JPEG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dm5d0r/btrNvqLTElZ/iY7kSpGZcx1QqexWq42Xs1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdm5d0r%2FbtrNvqLTElZ%2FiY7kSpGZcx1QqexWq42Xs1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgcQJm/btrNChzaB98/hFa6rkV9dHlXyYKkXG2Kt0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgcQJm/btrNChzaB98/hFa6rkV9dHlXyYKkXG2Kt0/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot; data-filename=&quot;IMG_4579.JPEG&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgcQJm/btrNChzaB98/hFa6rkV9dHlXyYKkXG2Kt0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgcQJm%2FbtrNChzaB98%2FhFa6rkV9dHlXyYKkXG2Kt0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nnXSE/btrNxecqrHf/aGImlELTIfjpIGgGbbPFV1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nnXSE/btrNxecqrHf/aGImlELTIfjpIGgGbbPFV1/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot; data-filename=&quot;IMG_4584.JPEG&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nnXSE/btrNxecqrHf/aGImlELTIfjpIGgGbbPFV1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnnXSE%2FbtrNxecqrHf%2FaGImlELTIfjpIGgGbbPFV1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>사용기</category>
      <category>h95</category>
      <category>애플</category>
      <category>에어팟</category>
      <category>에어팟 맥스</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678607</guid>
      <comments>https://neo365.tistory.com/2678607#entry2678607comment</comments>
      <pubDate>Sun, 2 Oct 2022 09:19:54 +0900</pubDate>
    </item>
    <item>
      <title>vue lifecycle</title>
      <link>https://neo365.tistory.com/2678606</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;lifecycle&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;3334&quot; data-origin-height=&quot;1723&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgWYb0/btrERmXjVCc/rEa0VPr3doJDxRDVcshcs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgWYb0/btrERmXjVCc/rEa0VPr3doJDxRDVcshcs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgWYb0/btrERmXjVCc/rEa0VPr3doJDxRDVcshcs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgWYb0%2FbtrERmXjVCc%2FrEa0VPr3doJDxRDVcshcs1%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;3334&quot; height=&quot;1723&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;3334&quot; data-origin-height=&quot;1723&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 alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;99E0014A5BC4942D18.png&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;2076&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FWDUi/btrESXXhNga/UHrDWpBiXpTLkpaXvhljf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FWDUi/btrESXXhNga/UHrDWpBiXpTLkpaXvhljf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FWDUi/btrESXXhNga/UHrDWpBiXpTLkpaXvhljf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFWDUi%2FbtrESXXhNga%2FUHrDWpBiXpTLkpaXvhljf0%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;820&quot; height=&quot;2076&quot; data-filename=&quot;99E0014A5BC4942D18.png&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;2076&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그램개발/Vue</category>
      <author>잠탱</author>
      <guid isPermaLink="true">https://neo365.tistory.com/2678606</guid>
      <comments>https://neo365.tistory.com/2678606#entry2678606comment</comments>
      <pubDate>Wed, 15 Jun 2022 13:54:15 +0900</pubDate>
    </item>
  </channel>
</rss>