-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
58 lines (55 loc) · 26.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE html><html lang="en"><head><meta name="generator" content="Scully 0.0.0">
<!-- Meta -->
<meta charset="utf-8">
<title>Thomas Blog</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Thomas Chang">
<link rel="shortcut icon" href="favicon.ico">
<base href="/">
<!-- Theme CSS -->
<link rel="stylesheet" href="https://unpkg.com/[email protected]/css/bulma.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3">
<script src="https://pagead2.googlesyndication.com/pagead/managed/js/adsense/m202410300101/show_ads_impl.js"></script><script src="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<!-- Google tag (gtag.js) -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-704JZ9KNS1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-704JZ9KNS1');
</script>
<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1636928419295654" crossorigin="anonymous" data-checked-head="true"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Nunito&display=swap');
body {
font-family: 'Nunito', sans-serif;
}
nav.navbar {
height: 6rem !important;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
}
::-webkit-scrollbar {
height: 10px;
width: 10px;
}
::-webkit-scrollbar-track {
background: #efefef;
border-radius: 6px;
}
::-webkit-scrollbar-thumb {
background: #d5d5d5;
border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
background: #c4c4c4;
}
</style>
<link rel="stylesheet" href="styles.42d886cd97eb7005.css" media="all" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.42d886cd97eb7005.css"></noscript><style></style><meta name="keywords" content="JavaScript Node.js Express.js TypeScript C# .NET Blog"><meta name="description" content="JavaScript And .NET Blog"><meta name="og:title" content=""><meta name="twitter:title" content=""><meta name="og:site_name" content=""><meta name="og:locale" content="zh-tw"><meta name="og:type" content="website"><meta name="og:description" content=""><meta name="twitter:description" content=""><meta name="og:url" content="http://localhost:1864/"><meta name="twitter:url" content="http://localhost:1864/"><style>.d-none[_ngcontent-knr-c6]{display:none}</style><meta http-equiv="origin-trial" content="AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="Amm8/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="A9wSqI5i0iwGdf6L1CERNdmsTPgVu44ewj8QxTBYgsv1LCPUVF7YmWOvTappqB1139jAymxUW/RO8zmMqo4zlAAAAACNeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A+d7vJfYtay4OUbdtRPZA3y7bKQLsxaMEPmxgfhBGqKXNrdkCQeJlUwqa6EBbSfjwFtJWTrWIioXeMW+y8bWAgQAAACTeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><script>window['ScullyIO']='generated';</script></head>
<body scully-version="0.0.0">
<app-root _nghost-knr-c12="" ng-version="13.1.1"><div _ngcontent-knr-c12=""><app-blog-nav _ngcontent-knr-c12="" _nghost-knr-c10=""><nav _ngcontent-knr-c10="" class="navbar"><div _ngcontent-knr-c10="" class="container"><div _ngcontent-knr-c10="" class="navbar-brand"><a _ngcontent-knr-c10="" class="navbar-item" href="/"> Thomas Blog </a><span _ngcontent-knr-c10="" data-target="navbarMenu" class="navbar-burger burger"><span _ngcontent-knr-c10=""></span><span _ngcontent-knr-c10=""></span><span _ngcontent-knr-c10=""></span></span></div><div _ngcontent-knr-c10="" id="navbarMenu" class="navbar-menu"><div _ngcontent-knr-c10="" class="navbar-end"><div _ngcontent-knr-c10="" class="navbar-item"><div _ngcontent-knr-c10="" id="docsearch" class="control has-icons-left"><button type="button" aria-label="Search" class="DocSearch DocSearch-Button"><span class="DocSearch-Button-Container"><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class="DocSearch-Search-Icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"><svg width="15" height="15" class="DocSearch-Control-Key-Icon"><path d="M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953" stroke-width="1.2" stroke="currentColor" fill="none" stroke-linecap="square"></path></svg></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div></div><a _ngcontent-knr-c10="" class="navbar-item is-size-5 has-text-weight-semibold" href="/"> Blog </a><a _ngcontent-knr-c10="" href="https://thomascsd.github.io/repos/" target="_blank" class="navbar-item is-size-5 has-text-weight-semibold"> Repos </a><a _ngcontent-knr-c10="" class="navbar-item is-size-5 has-text-weight-semibold" href="/about"> About </a></div></div></div></nav></app-blog-nav><router-outlet _ngcontent-knr-c12=""></router-outlet><app-home _nghost-knr-c6=""><section _ngcontent-knr-c6="" class="hero"><div _ngcontent-knr-c6="" class="hero-body"><div _ngcontent-knr-c6="" class="container"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><figure _ngcontent-knr-c6="" class="image is-16by9"><img _ngcontent-knr-c6="" src="assets/images/bgBlog.png" alt=""></figure></div></div><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2024-09-01-VsCodeExtensions"><h2 _ngcontent-knr-c6="" class="title is-2">VSCode Extensions 其他的選擇</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2024-09-01</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2024-07-14-FirtstStepBulma"><h2 _ngcontent-knr-c6="" class="title is-2">Bulma的初體驗</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2024-07-14</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2023-12-29-TurorialOfCommnadLine"><h2 _ngcontent-knr-c6="" class="title is-2">.NET 好用套件 - commandline</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2023-12-29</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2023-08-27-AngularOnChanges"><h2 _ngcontent-knr-c6="" class="title is-2">Angular判斷 DOM Render 是否完成</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2023-08-27</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2023-05-24-ExpressjsTypescriptTsed"><h2 _ngcontent-knr-c6="" class="title is-2">使用TypeScript建立Express.js-使用Ts.ED</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2023-05-24</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2023-02-06-Slidev"><h2 _ngcontent-knr-c6="" class="title is-2">建立簡報的工具 - Slidev 的介紹</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2023-02-06</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2022-09-08-AngularTypeform"><h2 _ngcontent-knr-c6="" class="title is-2">Angular TypeForm - 強型別Form的心得</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2022-09-08</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2022-05-20-WindowTeminalAndOhMyPosh"><h2 _ngcontent-knr-c6="" class="title is-2">我的Terminal 設定方式 - Windows Terminal & ohmyposh</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2022-05-20</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2021-12-09-TutorialOfTsdx"><h2 _ngcontent-knr-c6="" class="title is-2">tsdx - 快速建立 npm 套件樣板的CLI工具</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2021-12-09</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2021-09-20-NetlifyFunctionTutorial"><h2 _ngcontent-knr-c6="" class="title is-2">Netlify functions 初體驗記錄</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2021-09-20</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2021-08-07-Codewars"><h2 _ngcontent-knr-c6="" class="title is-2">CodeWars - Coding Challenge Site</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2021-08-07</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2021-06-12-AirTableWithDotnetCore"><h2 _ngcontent-knr-c6="" class="title is-2">將AirTable做為資料庫的心得 - .NET Core 篇</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2021-06-12</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2021-04-24-AirtableAsDatabase"><h2 _ngcontent-knr-c6="" class="title is-2">將AirTable做為資料庫的心得</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2021-04-24</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2021-02-07-ExpressjssWithTypescript"><h2 _ngcontent-knr-c6="" class="title is-2">使用TypeScript建立Express.js</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2021-02-07</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2020-09-05-IntroducingDailyDev"><h2 _ngcontent-knr-c6="" class="title is-2">daily.dev - 整合各個技術文章的好用套件</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2020-09-05</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2020-08-03-BuildBlogUsingScully"><h2 _ngcontent-knr-c6="" class="title is-2">使用 Angular Static Generator - Scully 建立Blog的心得記錄</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2020-08-03</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2020-07-05-AngularLibrary"><h2 _ngcontent-knr-c6="" class="title is-2">6個推薦的Angular Library</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2020-07-05</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2020-03-13-classValidatorAndNgxDynamicFormBuilder"><h2 _ngcontent-knr-c6="" class="title is-2">class-validator & ngx-dynamic-form-builder</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2020-03-13</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2019-11-30-SvgAndAngular"><h2 _ngcontent-knr-c6="" class="title is-2">SVG與Angular</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2019-11-30</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2019-09-01-TutorialOfVscodeExtension"><h2 _ngcontent-knr-c6="" class="title is-2">VSCode Extension的開發心得</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2019-09-01</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2019-06-16-TutorialOfUppy"><h2 _ngcontent-knr-c6="" class="title is-2">Uppy - 最方便的上傳套件</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2019-06-16</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2019-02-20-CreateLibraryWithAngular"><h2 _ngcontent-knr-c6="" class="title is-2">於Angular中,建立Library的心得</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2019-02-20</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2018-12-23-ModulePatternPart2"><h2 _ngcontent-knr-c6="" class="title is-2">談談JavaScript Module part2</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2018-12-23</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2018-10-31-ModulePattern"><h2 _ngcontent-knr-c6="" class="title is-2">談談JavaScript Module part1</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2018-10-31</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2018-09-07-TutorialOfDraxtjs"><h2 _ngcontent-knr-c6="" class="title is-2">draxt.js-簡化存取檔案的小幫手</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2018-09-07</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2018-08-12-ExampleOfPromise"><h2 _ngcontent-knr-c6="" class="title is-2">從範例講解Promise概念</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2018-08-12</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2018-06-23-NuxtjsAndNuxtent"><h2 _ngcontent-knr-c6="" class="title is-2">使用Nuxt.js及Nuxtent建立Blog的心得</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2018-06-23</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2017-12-23-VscodeDebugForNodejsAndnAgular"><h2 _ngcontent-knr-c6="" class="title is-2">使用VSCode偵錯Node.js及Angular的小技巧</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2017-12-23</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2017-10-08-VuejsInAspnetMvc"><h2 _ngcontent-knr-c6="" class="title is-2">在asp.net MVC上使用vue.js需注意的事項</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2017-10-08</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2017-07-13-BuildBlogWithJekyll"><h2 _ngcontent-knr-c6="" class="title is-2">使用Jekyll建立Blog -1</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2017-07-13</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><section _ngcontent-knr-c6="" class="section"><div _ngcontent-knr-c6="" class="columns"><div _ngcontent-knr-c6="" class="column is-8 is-offset-2"><div _ngcontent-knr-c6="" class="content is-medium"><a _ngcontent-knr-c6="" href="/blog/2017-06-20-HelloWorld"><h2 _ngcontent-knr-c6="" class="title is-2">Hello World!</h2></a><h4 _ngcontent-knr-c6="" class="subtitle is-4">2017-06-20</h4></div></div></div></section><div _ngcontent-knr-c6="" class="is-divider"></div><!----><!----></div></div></section></app-home><!----><hr _ngcontent-knr-c12=""><app-footer _ngcontent-knr-c12="" _nghost-knr-c11=""><footer _ngcontent-knr-c11="" class="footer"><div _ngcontent-knr-c11="" class="content has-text-centered"><div _ngcontent-knr-c11="" class="columns"><div _ngcontent-knr-c11="" class="column"></div><div _ngcontent-knr-c11="" class="column"><a _ngcontent-knr-c11="" href="https://www.twitter.com/thomascsd" target="_blank" class="block"><span _ngcontent-knr-c11="" class="fa-stack fa-lg"><i _ngcontent-knr-c11="" class="fa fa-circle fa-stack-2x"></i><i _ngcontent-knr-c11="" class="fa fa-twitter fa-stack-1x fa-inverse"></i></span></a><a _ngcontent-knr-c11="" href="https://github.com/thomascsd" target="_blank" class="block"><span _ngcontent-knr-c11="" class="fa-stack fa-lg"><i _ngcontent-knr-c11="" class="fa fa-circle fa-stack-2x"></i><i _ngcontent-knr-c11="" class="fa fa-github fa-stack-1x fa-inverse"></i></span></a></div><div _ngcontent-knr-c11="" class="column"></div></div><div _ngcontent-knr-c11="" class="columns"><div _ngcontent-knr-c11="" class="column is-2"></div><div _ngcontent-knr-c11="" class="column is-8"><strong _ngcontent-knr-c11="">Bulma - Blog theme</strong> . Based on the <a _ngcontent-knr-c11="" href="http://jigsaw-blog-staging.tighten.co/">jigsaw-blog</a>. </div><div _ngcontent-knr-c11="" class="column is-2"></div></div></div></footer></app-footer></div></app-root>
<script id="ScullyIO-transfer-state"></script><script src="runtime.d72ac3ba258b1102.js" type="module"></script><script src="polyfills.683fd6a0711b2044.js" type="module"></script><script src="main.bba5769321e149f0.js" type="module"></script>
<ins class="adsbygoogle adsbygoogle-noablate" data-adsbygoogle-status="done" style="display: none !important;"><div id="aswift_0_host" style="border: none; height: 0px; width: 0px; margin: 0px; padding: 0px; position: relative; visibility: visible; background-color: transparent; display: inline-block;"><iframe id="aswift_0" name="aswift_0" style="left:0;position:absolute;top:0;border:0;width:undefinedpx;height:undefinedpx;" sandbox="allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" src="https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-1636928419295654&output=html&adk=1812271804&adf=3025194257&abgtt=6&lmt=1731220789&plat=1%3A8%2C2%3A8%2C3%3A2162688%2C4%3A2162688%2C9%3A32776%2C16%3A8388608%2C17%3A32%2C24%3A32%2C25%3A32%2C30%3A1048576%2C32%3A32%2C41%3A32%2C42%3A32&format=0x0&url=http%3A%2F%2Flocalhost%3A1864%2F&pra=5&wgl=1&aihb=0&asro=0&ailel=1~2~4~6~7~8~9~10~11~12~13~14~15~16~17~18~19~20~21~24~29~30~34&aiael=1~2~4~6~7~8~9~10~11~12~13~14~15~16~17~18~19~20~21~24~29~30~34&aicel=33~38&aifxl=29_18~30_19&aiixl=29_5~30_6&aiict=1&aiapm=0.3221&aiapmi=0.33938&aiombap=1&aief=1&uach=WyIiLCIiLCIiLCIiLCIiLG51bGwsMCxudWxsLCIiLG51bGwsMF0.&dt=1731220806878&bpp=66&bdt=5011&idt=537&shv=r20241106&mjsv=m202410300101&ptt=9&saldr=aa&abxe=1&cookie_enabled=1&eoidce=1&nras=1&correlator=8689307075300&frm=20&pv=2&u_tz=480&u_his=2&u_h=600&u_w=800&u_ah=600&u_aw=800&u_cd=24&u_sd=1&dmc=8&adx=-12245933&ady=-12245933&biw=800&bih=600&scr_x=0&scr_y=0&eid=44759875%2C44759926%2C31088580%2C31088671%2C31088771%2C95344190%2C95345966&oid=2&pvsid=2029916465551802&tmod=2055417816&uas=0&nvt=1&fsapi=1&fc=1920&brdim=0%2C0%2C0%2C0%2C800%2C0%2C800%2C600%2C800%2C600&vis=1&rsz=%7C%7Cs%7C&abl=NS&fu=32768&bc=31&bz=1&psd=W251bGwsbnVsbCxudWxsLDNd&ifi=1&uci=a!1&fsb=1&dtd=666" data-google-container-id="a!1" tabindex="0" title="Advertisement" aria-label="Advertisement" data-load-complete="true"></iframe></div></ins></body><iframe id="google_esf" name="google_esf" src="https://googleads.g.doubleclick.net/pagead/html/r20241106/r20190131/zrt_lookup.html" style="display: none;"></iframe></html>