<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Bugtype</title>
    <link>https://bugtypekr.tistory.com/</link>
    <description>IT 개발 관련 사이트 입니다.</description>
    <language>ko</language>
    <pubDate>Wed, 20 May 2026 20:25:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>bugtype</managingEditor>
    <item>
      <title>React native - canvas 이미지 흐릿한 현상 해결하기</title>
      <link>https://bugtypekr.tistory.com/91</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사에서 React native 사용시, 특정 렌더러에서 이미지가 흐릿한 현상이 발생하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;픽셀아트를 사용해야하는데, 해당 canvas에서 pixelated를 제공안한다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서, 이미지 사이즈를 늘려서 해결하려고 한다고 하였다. 하지만 2가지 문제가 발생한다.&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;이 문제에 대해서 고민하다가 2가지 방법을 생각해냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 해당부분만 webview를&amp;nbsp; 띄운다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. image pixelated를 구현한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- image pixlated는 k nearest neighbor 알고리즘을 이용하므로, k nearest neighbor를 구현하면 해결이 될 것이다.&lt;/p&gt;</description>
      <category>Mobile App/React native</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/91</guid>
      <comments>https://bugtypekr.tistory.com/91#entry91comment</comments>
      <pubDate>Sat, 7 May 2022 11:23:22 +0900</pubDate>
    </item>
    <item>
      <title>이미지 흐릿한 현상 해결하기 (픽셀아트)</title>
      <link>https://bugtypekr.tistory.com/90</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-07 오전 11.12.03.png&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;630&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cy8XYC/btrBqDPXns8/tmwxSY9PKZdlGwnWGH7Jhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cy8XYC/btrBqDPXns8/tmwxSY9PKZdlGwnWGH7Jhk/img.png&quot; data-alt=&quot;https://bugtype.github.io/post/css/image-render/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cy8XYC/btrBqDPXns8/tmwxSY9PKZdlGwnWGH7Jhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcy8XYC%2FbtrBqDPXns8%2FtmwxSY9PKZdlGwnWGH7Jhk%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;360&quot; height=&quot;630&quot; data-filename=&quot;스크린샷 2022-05-07 오전 11.12.03.png&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;630&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://bugtype.github.io/post/css/image-render/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서론&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 회사에서는 픽셀아트를 이용해서 메타버스를 개발을 하고 있다. 픽셀 이미지를 확대하거나 축소하면 흐릿해지는 문제가 발생하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부적은 이미지 사이즈를 조절하면 브라우저 내에 특정 알고리즘으로 인해 loss가 발생해서 생기는 현상이다. 이것은 당연한 증상이다. 현실은 픽셀아트처럼 사각형 형태의 이미지가 아니며, 곡선처럼 다듬어져야 하기에 그런 내부적으로 알고리즘이 있는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해결방법&lt;/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;css에서 image-rendering 옵션을 주면 된다. 픽셀아트는 아래옵션을 기본적으로 해줘야 원하는 이미지를 볼 수 있을 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/image-rendering&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.mozilla.org/ko/docs/Web/CSS/image-rendering&lt;/a&gt;&lt;/p&gt;
&lt;pre class=&quot;scss&quot;&gt;&lt;code&gt;image-rendering: pixelated;
&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>Web/CSS</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/90</guid>
      <comments>https://bugtypekr.tistory.com/90#entry90comment</comments>
      <pubDate>Sat, 7 May 2022 10:11:19 +0900</pubDate>
    </item>
    <item>
      <title>Redux useSelector 사용시, 귀찮은 RootState(AppState)을 없애기</title>
      <link>https://bugtypekr.tistory.com/89</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;현재 팀에서는 typescript를 사용하지 않아 매우 불편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;typescript 도입하고 싶다고 하였지만, 여러번 반려당했다. 이유를 들어보면 어느정도 이해는 되긴한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나는 처음으로 typescript 없이 오직 javacsript 만으로 코딩을 하기 시작하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 불편함을 너무 발견하였고, tight하게 타입을 정의하기보다는 loose하게 작업하자고 생각하였다. 그래서 혼자서 작업을 하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현재 내가하는 목표는 prmitive type을 넣기보다는 property(object key etc.)를 추론할 수 있도록 타입을 넣고 있다.&lt;/b&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;redux를 사용하게 되면 아래처럼 RootState를 import해서 많이 사용할 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screen Shot 2022-02-02 at 1.39.47 PM.png&quot; data-origin-width=&quot;1824&quot; data-origin-height=&quot;748&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ucwg1/btrsktOcOBf/hoL4E5IjgiGZBt820nzK30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ucwg1/btrsktOcOBf/hoL4E5IjgiGZBt820nzK30/img.png&quot; data-alt=&quot;예시) 동영상 일부장면 ( https://www.youtube.com/watch?v=FM5yyBaqqcg )&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ucwg1/btrsktOcOBf/hoL4E5IjgiGZBt820nzK30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fucwg1%2FbtrsktOcOBf%2FhoL4E5IjgiGZBt820nzK30%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;1824&quot; height=&quot;748&quot; data-filename=&quot;Screen Shot 2022-02-02 at 1.39.47 PM.png&quot; data-origin-width=&quot;1824&quot; data-origin-height=&quot;748&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시) 동영상 일부장면 ( https://www.youtube.com/watch?v=FM5yyBaqqcg )&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드의 문제점은 useSelector를 사용하는 곳은 무조건 RootState type을 넣는다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;export const reducers = combineReducers({
  auth: authReducer,
  form: formReducer,
  nav: navReducer,
})

export type AppState = StateType&amp;lt;typeof reducers&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주로 위처럼 작성해서 type을 import해서 사용할 것이다. 하지만 type을 직접 import 하기보다는 declare 파일을 정의해서 사용하면 불편함이 감소할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;// @types/index.d.ts
import 'react-redux';

import { AppState } from '../reducers';

declare module 'react-redux' {
  interface DefaultRootState extends AppState { };
}&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;typescript는 interface merge를 지원한다. 그러므로 위처럼 작성하면 redux에 있는 DefaultRootState와 내가 작성한 DefaultRootState를 merge하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Javascript/Typescript</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/89</guid>
      <comments>https://bugtypekr.tistory.com/89#entry89comment</comments>
      <pubDate>Wed, 2 Feb 2022 13:53:51 +0900</pubDate>
    </item>
    <item>
      <title>[Typescript] 릴리즈 노트</title>
      <link>https://bugtypekr.tistory.com/88</link>
      <description>&lt;p&gt;4.5 Beta&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-typescript&quot;&gt;type GetChars&amp;lt;S&amp;gt; =
    S extends `${infer Char}${infer Rest}` ? Char | GetChars&amp;lt;Rest&amp;gt; : never;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;참고&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/&quot;&gt;https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Javascript/Typescript</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/88</guid>
      <comments>https://bugtypekr.tistory.com/88#entry88comment</comments>
      <pubDate>Mon, 11 Oct 2021 12:13:54 +0900</pubDate>
    </item>
    <item>
      <title>[React-redux] 릴리즈 노트</title>
      <link>https://bugtypekr.tistory.com/87</link>
      <description>&lt;p&gt;v8.0.0-alpha.0&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;React18에 맞게 코드 베이스 재작성.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;connectAdvanced&lt;/code&gt; 제거&lt;/li&gt;
&lt;li&gt;Typescript로 마이그레이션&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;v7.2.5&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Subscription, useSelector의 사이즈 크기를 줄임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;v7.2.4&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;bindActionCreators 종속성 제거.&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/87</guid>
      <comments>https://bugtypekr.tistory.com/87#entry87comment</comments>
      <pubDate>Mon, 11 Oct 2021 12:04:29 +0900</pubDate>
    </item>
    <item>
      <title>[React-Redux] useShallowEqualSelector()</title>
      <link>https://bugtypekr.tistory.com/86</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React-redux를 사용하면서, useSelector를 사용할 것이다. Redux Store에서 일부분을 가져오면 이전상태가 같은지 알 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 이용하면,&amp;nbsp; Redux의 리렌더링 현상을 막아준다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useSelector, shallowEqual } from 'react-redux';

export function useShallowEqualSelector(selctor) {
  return useSelector(selector, shallowEqual);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/React-Redux</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/86</guid>
      <comments>https://bugtypekr.tistory.com/86#entry86comment</comments>
      <pubDate>Mon, 11 Oct 2021 11:15:50 +0900</pubDate>
    </item>
    <item>
      <title>[Three js] - 공 바운스</title>
      <link>https://bugtypekr.tistory.com/85</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;bounce2.gif&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;636&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpk6wD/btq1e6Zl4ng/3ZCLZHl7CHvXPGcEEw2pRk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpk6wD/btq1e6Zl4ng/3ZCLZHl7CHvXPGcEEw2pRk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpk6wD/btq1e6Zl4ng/3ZCLZHl7CHvXPGcEEw2pRk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bpk6wD/btq1e6Zl4ng/3ZCLZHl7CHvXPGcEEw2pRk/img.gif&quot; data-filename=&quot;bounce2.gif&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;636&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;three js를 이용해서 위에 애니메이션 효과를 구현해볼 예정이다.&lt;/p&gt;
&lt;p&gt;일단 우리 수학에서 sin, cos에 대해서 알아야 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-file-width=&quot;650&quot; data-file-height=&quot;390&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;650&quot; height=&quot;390&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XjyAm/btq09Z1It9U/0BKU9iC8aZM1pII4H8TCU0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XjyAm/btq09Z1It9U/0BKU9iC8aZM1pII4H8TCU0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XjyAm/btq09Z1It9U/0BKU9iC8aZM1pII4H8TCU0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/XjyAm/btq09Z1It9U/0BKU9iC8aZM1pII4H8TCU0/img.gif&quot; data-file-width=&quot;650&quot; data-file-height=&quot;390&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;650&quot; height=&quot;390&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;타원에서 sin, cos은 위와 같이 움직인다.&lt;/p&gt;
&lt;p&gt;x축은 cos을 나타내고, y축은 sin을 나타낸다.&lt;/p&gt;
&lt;p&gt;그러면 공 바운스 효과는 위의 운동에서 반만 움직이면 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1616900782231&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;        function renderScene() {
            cube.rotation.x += 0.02;
            cube.rotation.y += 0.02;
            cube.rotation.z += 0.02;

            step += 0.04;
            sphere.position.x = 20 + ( 10 * (Math.cos(step)));
            sphere.position.y = 2 + ( 10 * Math.abs(Math.sin(step)));

            requestAnimationFrame(renderScene);
            renderer.render(scene, camera);
        }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;y축 코드를 보면 math.abs(절대값)를 사용하고 있다. 그러므로 y축은 0미만이 될수가 없다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/85</guid>
      <comments>https://bugtypekr.tistory.com/85#entry85comment</comments>
      <pubDate>Sun, 28 Mar 2021 12:07:59 +0900</pubDate>
    </item>
    <item>
      <title>[Typescript] storybook에서 절대 경로 설정하기</title>
      <link>https://bugtypekr.tistory.com/84</link>
      <description>&lt;p&gt;1. 먼저 tsconfig에 path 셋팅을 한다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// tsconfig.json
{
  &amp;quot;compilerOptions&amp;quot;: {
    &amp;quot;baseUrl&amp;quot;: &amp;quot;./src&amp;quot;,
    &amp;quot;paths&amp;quot;: {
      &amp;quot;@components/*&amp;quot;: [&amp;quot;components/*&amp;quot;],
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2. storybook 셋팅에서 &lt;code&gt;TsconfigPathsPlugin&lt;/code&gt;를 추가해준다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// .storybook/main.js
const TsconfigPathsPlugin  = require(&amp;#39;tsconfig-paths-webpack-plugin&amp;#39;)
module.exports = {
  webpackFinal: async (config) =&amp;gt; {
    config.resolve.plugins.push(new TsconfigPathsPlugin({}));
    return config;
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;tsconfig-paths-webpack-plugin&lt;/code&gt; 는 설치해줘야 한다.!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;yarn add -D tsconfig-paths-webpack-plugin
//
npm install -D tsconfig-paths-webpack-plugin&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Javascript/Typescript</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/84</guid>
      <comments>https://bugtypekr.tistory.com/84#entry84comment</comments>
      <pubDate>Wed, 24 Mar 2021 22:07:30 +0900</pubDate>
    </item>
    <item>
      <title>Github Jenkins 연동 / 주의해야할 점</title>
      <link>https://bugtypekr.tistory.com/81</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://kutar37.tistory.com/entry/Jenkins-Github-%EC%97%B0%EB%8F%99-%EC%9E%90%EB%8F%99%EB%B0%B0%ED%8F%AC-3&quot;&gt;https://kutar37.tistory.com/entry/Jenkins-Github-%EC%97%B0%EB%8F%99-%EC%9E%90%EB%8F%99%EB%B0%B0%ED%8F%AC-3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;위에 방식대로 하면 되지만, 주의를 해야할 점이 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. github 주소를 입력할때, &lt;a href=&quot;https://github.com&quot;&gt;https://github.com&lt;/a&gt;... 이 아니라, &lt;a href=&quot;mailto:git@github.com&quot;&gt;git@github.com&lt;/a&gt;:아이디/레파지토리.git으로 해야한다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;2. 파이프라인으로 docker로 구성할 때 &lt;b&gt;권한 문제&lt;/b&gt;도 주의해야한다.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;usermod -a -G docker jenkins
chmod 664 /var/run/docker.sock
service jenkins restart (or systemctl restart jenkins.service)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Cloud</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/81</guid>
      <comments>https://bugtypekr.tistory.com/81#entry81comment</comments>
      <pubDate>Thu, 30 Apr 2020 19:07:38 +0900</pubDate>
    </item>
    <item>
      <title>Typescript Optional Chaining Prettier 에러 해결 방법</title>
      <link>https://bugtypekr.tistory.com/80</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Optional chaining 은 &lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;prettier 1.19.0&lt;/b&gt; 이상부터 지원하므로 &lt;span style=&quot;color: #333333;&quot;&gt;prettier&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;버전을 확인하도록 하자.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Javascript/Typescript</category>
      <author>bugtype</author>
      <guid isPermaLink="true">https://bugtypekr.tistory.com/80</guid>
      <comments>https://bugtypekr.tistory.com/80#entry80comment</comments>
      <pubDate>Tue, 28 Apr 2020 17:22:31 +0900</pubDate>
    </item>
  </channel>
</rss>