<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shawn前走</title>
    <link>https://www.shawnyin.com/</link>
    <description>Recent content on Shawn前走</description>
    <generator>Hugo -- gohugo.io</generator>
    <managingEditor>jazz321254@gmail.com (Shawn)</managingEditor>
    <webMaster>jazz321254@gmail.com (Shawn)</webMaster>
    <lastBuildDate>Tue, 09 Jan 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.shawnyin.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>介紹一個還不錯用的Kubernetes託管服務商</title>
      <link>https://www.shawnyin.com/kubernetes-hosting/</link>
      <pubDate>Tue, 09 Jan 2024 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/kubernetes-hosting/</guid>
      <description>&lt;p&gt;2024年的第一週就讓我驚嚇～去年才PO文說到Okteto可以免費託管k8s服務，結果不到半年，就公告此免費服務只提供到2024/1/15。挖哩勒，接受到通知後能把服務移出只有短短的兩週。以下分享一下後來是移轉到哪一家k8s的託管服務商，並使用心得。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>工程師至終還是會敗下去的螢幕</title>
      <link>https://www.shawnyin.com/recommend-screen-u2724de/</link>
      <pubDate>Mon, 18 Dec 2023 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/recommend-screen-u2724de/</guid>
      <description>&lt;p&gt;身為一位專業的工程師，怎麼可以沒有一台好的螢幕呢&amp;hellip;.這句話好像一年前講過&amp;hellip;.今年雙12不爭氣的又敗了一台螢幕。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>前後端服務免費託管</title>
      <link>https://www.shawnyin.com/free-hosting/</link>
      <pubDate>Tue, 25 Jul 2023 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/free-hosting/</guid>
      <description>&lt;p&gt;今天跟大家介紹一下如何免費使用前後端託管服務，你只需要擁有一個Github帳號就可以惹～打通全端服務無須花費任何摳摳，成為人人稱羨的網路軟體工程師，9453~&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Dotnet Core的中介軟體</title>
      <link>https://www.shawnyin.com/dotnet-core-middleware/</link>
      <pubDate>Wed, 14 Jun 2023 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/dotnet-core-middleware/</guid>
      <description>&lt;p&gt;什麼是中介軟體？中介軟體簡單的說就是可以讓你方便的插入你想要的邏輯在一系列http的流程中。而Dotnet Core所指的中介軟體(Middleware)，就是針對Request pipeline插入客製化邏輯的相關動作。所以有了這樣的設計模式，可以設計出非常健壯的網路程式應用，可以隨時抽換各式各樣的邏輯。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>真心推薦一款工程師用的螢幕</title>
      <link>https://www.shawnyin.com/recommend-screen/</link>
      <pubDate>Wed, 16 Nov 2022 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/recommend-screen/</guid>
      <description>&lt;p&gt;身為一位專業的工程師，怎麼可以沒有一台好的螢幕呢&amp;hellip;.最近雙11經過考慮了許久(一個小時)，下手買了一台27吋2K的螢幕作為我的主屏。14號收至今使用3天，分享一下使用心得。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Dotnet Core的依賴注入</title>
      <link>https://www.shawnyin.com/dotnet-core-dependency-injection/</link>
      <pubDate>Fri, 22 Oct 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/dotnet-core-dependency-injection/</guid>
      <description>&lt;p&gt;前一篇已經簡單的描述了Dotnet Core的啟動順序，其中有一個重要的環節，就是使用Startup來設定依賴注入，以及設定中介軟體。所以這篇文章會先介紹Startup運作原理，接者介紹依賴注入相關的重要事項。下一篇再接者介紹中介軟體的原理與使用。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Dotnet Core是如何啟動的？</title>
      <link>https://www.shawnyin.com/dotnet-core-startup/</link>
      <pubDate>Tue, 05 Oct 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/dotnet-core-startup/</guid>
      <description>&lt;p&gt;要了解一個程式的運行，一定要先了解程式的入口以及執行的邏輯與順序，只要抓住了主軸後面若要變化與應用就容易得多了。這篇文章想要簡單描述一下Dontnet Core的啟動流程，可能有些人覺得不重要，但我覺得只有掌握了核心流程才能說真的了解Dotnet Core。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>我該選擇Dotnet Core嗎？</title>
      <link>https://www.shawnyin.com/choose-dotnet-core/</link>
      <pubDate>Thu, 30 Sep 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/choose-dotnet-core/</guid>
      <description>&lt;p&gt;選擇一個好的框架一直是許多工程師爭論不休的議題。因為最近這一年來使用dotnet core有不少心得，想藉此整理一下。事實上，比較框架這件事是相對主觀的，在此就我個人觀點來闡述。之後若有時間會繼續寫一系列Dotnet Core的相關文章。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>你真的認識javascript的Timer嗎？！</title>
      <link>https://www.shawnyin.com/setinterval-vs-settimeout/</link>
      <pubDate>Fri, 10 Sep 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/setinterval-vs-settimeout/</guid>
      <description>&lt;p&gt;相信大家在寫Javascript時常常會用到Timer，一定會馬上想到用setInterval這個異步方法。然而，你有沒想過用setTimeout加上遞迴的方式去實作一個setInterval，孰優孰劣？&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>如何分析Dotnet Core線上服務記憶體使用問題</title>
      <link>https://www.shawnyin.com/analyze-online-core/</link>
      <pubDate>Sun, 05 Sep 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/analyze-online-core/</guid>
      <description>&lt;p&gt;這半年發生真多事，疫情爆發實施WFH，小孩滿周歲，買了人生第一輛二手車，域名莫名逾期，家中出現白蟻&amp;hellip;等等(BTW, &lt;a href=&#34;https://www.shawnyin.com/&#34;&gt;Shawn前走&lt;/a&gt;網址從七月改了&amp;hellip;)。這些林林總總的事使得在家上班並沒有比去公司輕鬆。當然許多事有弊必有利，這段期間可以看到小孩一點點成長也是一種喜悅(用汗水與淚水換來)。然而，在這段期間還是有許多技術的東西想要分享給大家，但是礙於時間關係，遲遲無法下筆，剛好最近疫情趨緩，生活步調也漸漸恢復，趁還記憶猶新的時候分享給大家。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>2021新年快樂，送你一個開發者福袋</title>
      <link>https://www.shawnyin.com/2021-happy-bag/</link>
      <pubDate>Sun, 14 Feb 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/2021-happy-bag/</guid>
      <description>&lt;p&gt;恭喜，恭喜，2021新年到；最近流行買福袋，今年就送給大家一個開發者的大福袋，希望大家會喜歡，喜歡的話麻煩在&lt;a href=&#34;https://github.com/jazz321254/awesome-init-dev-scirpt&#34;&gt;我的Github&lt;/a&gt;上給個Star，也算是給我一個小小的回應與回饋喔。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>可惡的邪惡隱藏字元，現身吧</title>
      <link>https://www.shawnyin.com/evil-hidden-unicode/</link>
      <pubDate>Thu, 21 Jan 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/evil-hidden-unicode/</guid>
      <description>&lt;p&gt;前些日子，在和別人對接API時，怎麼測試都不會過，看我的Response code竟然回覆404。當時我就懷疑他的API有問題，但是怎麼會404呢？為了解決這問題，親自clone他的code來看，結果驚人的事發生了。&lt;br&gt;
原來他的API URI在最後面夾帶了隱藏字元，難怪我怎麼打都打不到&amp;hellip;真的是雙手一攤&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>還在煩惱如何測試API嗎？試試K6吧！</title>
      <link>https://www.shawnyin.com/k6-load-testing/</link>
      <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/k6-load-testing/</guid>
      <description>&lt;p&gt;最近接處比較多DevOps相關資訊，對於已經開發好的API，希望能有一個快速且輕量的測試工具，並且能夠集成至DevOps中。&lt;br&gt;
這時開始尋尋覓覓，竟然發現一個好物～K6。&lt;br&gt;
它真的滿足了我大部分的需求，從此可以跟JMeter說bye bye了。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>考取微軟Azure解決方案架構師證照</title>
      <link>https://www.shawnyin.com/azure-solution-architect-expert/</link>
      <pubDate>Thu, 20 Feb 2020 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/azure-solution-architect-expert/</guid>
      <description>&lt;p&gt;最近去考一張微軟Azure的證照，從完全沒用過Azure到考取證照；若扣掉過年的一週，大約花了一多個月的時間。這張證照是Azure Solutions Architect Expert，也就是要考過Az 300 和 Az 301才能獲得。&lt;br&gt;
想說考完了提供一點心得分享給大家參考。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>讓 Mac Mini 再戰十年!</title>
      <link>https://www.shawnyin.com/mac-mini-speed-up/</link>
      <pubDate>Mon, 30 Sep 2019 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/mac-mini-speed-up/</guid>
      <description>&lt;p&gt;會寫這篇文章有兩個原因&lt;br&gt;
第一：真的很久沒更新blog&lt;br&gt;
第二：今天剛好放一個『賺到』的颱風假&amp;hellip;&lt;br&gt;
加上剛好上週將我的Mac Mini升級&lt;br&gt;
在此留做一個紀錄&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Gitlab Pages CDN 加速</title>
      <link>https://www.shawnyin.com/gitlab-page-cdn/</link>
      <pubDate>Sat, 22 Dec 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/gitlab-page-cdn/</guid>
      <description>&lt;p&gt;Gitlab Pages相關文章已經寫了不少&lt;br&gt;
今天來發最後一彈&lt;br&gt;
其實就是簡單告訴大家如何用CDN提速&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Gitlab Pages 優化小技巧</title>
      <link>https://www.shawnyin.com/gitlab-page-opt/</link>
      <pubDate>Mon, 12 Nov 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/gitlab-page-opt/</guid>
      <description>&lt;p&gt;經過之前&lt;a href=&#34;https://www.shawnyin.com/tags/hugo/&#34;&gt;三篇的教學&lt;/a&gt;&lt;br&gt;
我想大家應該對於Gitlab Pages有不少心得&lt;br&gt;
今天教大家幾個優化技巧&lt;br&gt;
讓你的Gitlab Pages運行的更有效率喔&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>如何高效遠端桌面到Linux</title>
      <link>https://www.shawnyin.com/remote-desktop-linux/</link>
      <pubDate>Tue, 11 Sep 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/remote-desktop-linux/</guid>
      <description>&lt;p&gt;用過Linux桌面系統的人&lt;br&gt;
應該都會有一種感受&lt;br&gt;
就是遠端桌面軟體又少又難用&lt;br&gt;
雖鼎鼎有名的Teamviewer&lt;br&gt;
已經有Linux版本&lt;br&gt;
但還是有種種我不喜歡的地方&amp;hellip;&lt;br&gt;
今天來為大家介紹一個&lt;br&gt;
我個人還算滿意的遠端工具&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>快快樂樂開發 Chatbot（二）</title>
      <link>https://www.shawnyin.com/chatbot-part2/</link>
      <pubDate>Wed, 29 Aug 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/chatbot-part2/</guid>
      <description>&lt;p&gt;今天為大家簡單介紹一下&lt;br&gt;
&lt;a href=&#34;https://dialogflow.com/&#34;&gt;Dialogflow&lt;/a&gt;的使用&lt;br&gt;
一開始會有一點難理解&lt;br&gt;
不過只要理解一些概念後&lt;br&gt;
就像打通任督二脈&lt;br&gt;
自然會習得裡面的精髓&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>快快樂樂開發 Chatbot（一）</title>
      <link>https://www.shawnyin.com/chatbot-part1/</link>
      <pubDate>Tue, 28 Aug 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/chatbot-part1/</guid>
      <description>&lt;p&gt;近些年來Chatbot還滿火的&amp;hellip;&lt;br&gt;
其實兩年前就簡單用PHP開發過一隻Chatbot&lt;br&gt;
但那時還沒有用到語意分析的東西&lt;br&gt;
所以語言相關的部份還要人工去判斷 &lt;br&gt;
然而現在有非常多的語意分析工具&lt;br&gt;
開發過程就更顯輕鬆&lt;br&gt;
所以想說實做一下這個開發流程&lt;br&gt;
整個流程其實不會太難 &lt;br&gt;
想藉此紀錄一下&lt;br&gt;
有興趣的可以參考參考&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Gitlab Pages自動更新SSL</title>
      <link>https://www.shawnyin.com/gitlab-page-auto-renew-ssl/</link>
      <pubDate>Mon, 06 Aug 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/gitlab-page-auto-renew-ssl/</guid>
      <description>&lt;p&gt;上一篇結尾有提到要教大家如何自動更新SSL憑證&lt;br&gt;
因為最近有些忙碌比較沒時間寫&lt;br&gt;
今天抓一點空檔紀錄一下&lt;br&gt;
以免變成食言而肥的&amp;quot;肥仔&amp;rdquo;&lt;br&gt;
之後若有時間再教大家一些簡單的優化&lt;br&gt;
若是真想用gitlab page來架設blog&lt;br&gt;
我想應該值得關注一下喔&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Gitlab Pages加上自己的Domain及SSL</title>
      <link>https://www.shawnyin.com/gitlab-page-domain-ssl/</link>
      <pubDate>Tue, 08 May 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/gitlab-page-domain-ssl/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Shawn前走&lt;/strong&gt;已經是正式移轉到Gitlab Pages上了😆&lt;br&gt;
不知道大家有沒有發現呢&lt;br&gt;
經過一週的實驗證實&lt;br&gt;
Gitlab Pages可以輕鬆加上&lt;br&gt;
自己的Domain和SSL的&lt;br&gt;
請大家可以放心移轉&amp;hellip;&lt;br&gt;
今天就來教教大家如何設定自己的Domain及SSL吧～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>三分鐘架設免費安全的部落格</title>
      <link>https://www.shawnyin.com/hugo-static-website/</link>
      <pubDate>Mon, 30 Apr 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/hugo-static-website/</guid>
      <description>&lt;p&gt;一年多前發現用Github或Gitlab來架設static website&lt;br&gt;
不僅架設容易還有許多優勢&lt;br&gt;
以下簡單羅列一下&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不再需要資料庫&lt;/li&gt;
&lt;li&gt;檔案直接託管在git repository上方便追蹤還原&lt;/li&gt;
&lt;li&gt;因為是純靜態頁面所以效率較高&lt;/li&gt;
&lt;li&gt;寫文章直接使用Markdown語法即可&lt;/li&gt;
&lt;li&gt;若是用Github Gitlab架設預設給你一個domain且包含https&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其實還有許多其他優點在此就不敘述了&lt;br&gt;
今天就簡單教大家如何擁有一個免費且安全的部落格&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>淺談設計模式（三）</title>
      <link>https://www.shawnyin.com/design_pattern3/</link>
      <pubDate>Sat, 17 Mar 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/design_pattern3/</guid>
      <description>&lt;p&gt;接下來讓我們來看&lt;a href=&#34;https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/&#34;&gt;&lt;em&gt;設計模式&lt;/em&gt;&lt;/a&gt;這本書裡的23個模式&lt;br&gt;
這23個設計模式可以依設計觀點來分類&lt;br&gt;
&lt;strong&gt;創建模式&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;結構模式&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;行為模式&lt;/strong&gt;&lt;br&gt;
事實上用這三個維度來切分&lt;br&gt;
只是就解決問題的角度去劃分&lt;br&gt;
而實際的實現還是綜合之前所述的原則去設計&lt;br&gt;
今天就讓我用通俗的方式&lt;br&gt;
簡單一次把它們全部介紹出場吧&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>當NPM的套件相依出問題時...</title>
      <link>https://www.shawnyin.com/npm_dependency/</link>
      <pubDate>Thu, 08 Feb 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/npm_dependency/</guid>
      <description>&lt;p&gt;相信開發NodeJS的人&lt;br&gt;
一定用過&lt;a href=&#34;https://www.npmjs.com/&#34;&gt;NPM&lt;/a&gt;這個套件管理工具&lt;br&gt;
它是不錯用&lt;br&gt;
但是有許多地方被人詬病&lt;br&gt;
諸如：&lt;br&gt;
效率問題&lt;br&gt;
套件版本控制機制問題&lt;br&gt;
最近剛好成為苦主&lt;br&gt;
就來分享一下處理心得&lt;br&gt;
(所以現在有不少人跳槽到&lt;a href=&#34;https://yarnpkg.com/zh-Hans/&#34;&gt;Yarn&lt;/a&gt;陣營&amp;hellip;)&lt;/p&gt;
&lt;p&gt;這裡不談效率問題&lt;br&gt;
我想NPM團隊應該會逐漸去改善&lt;br&gt;
聽說5.X以上的版本有不錯的改進&lt;br&gt;
至於版本控制問題&lt;br&gt;
其實NPM設計出發點是沒問題的&lt;br&gt;
前提是你必須遵照&lt;a href=&#34;https://semver.org/&#34;&gt;&lt;strong&gt;semver&lt;/strong&gt;&lt;/a&gt;的版本號規則&lt;br&gt;
若是你不依循就會造成別人編譯錯誤&amp;hellip;&lt;br&gt;
這邊簡單介紹如何避免或解決這些問題&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>一個相當好作為JAVA反射練習的案例</title>
      <link>https://www.shawnyin.com/java_reflection/</link>
      <pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/java_reflection/</guid>
      <description>&lt;p&gt;今天來介紹一個&lt;a href=&#34;https://github.com/JustinSDK/JavaSE6Tutorial/blob/master/docs/CH16.md&#34;&gt;&lt;strong&gt;反射&lt;/strong&gt;&lt;/a&gt;的應用&lt;br&gt;
若有用過Hibernate的人應該會知道&lt;br&gt;
@PrePersist @PreUpdate這兩個註解&lt;br&gt;
可以方便的做到&lt;br&gt;
新增跟修改前處理一些事情&lt;br&gt;
但是這兩個註解有一個限制&lt;br&gt;
就是必須用在一個類上&lt;br&gt;
並不能做細粒度的劃分與復用&lt;br&gt;
例如：在@Embedded的物件中就無法用&lt;br&gt;
以下為解決的方法&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>頗有教育意義的Google Doodle</title>
      <link>https://www.shawnyin.com/google-doodle/</link>
      <pubDate>Mon, 04 Dec 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/google-doodle/</guid>
      <description>&lt;p&gt;google doodle今天主題是&lt;br&gt;
慶祝兒童程式50年&lt;br&gt;
這兒童程式叫做&lt;a href=&#34;https://zh.wikipedia.org/wiki/Logo%E8%AF%AD%E8%A8%80&#34;&gt;&lt;strong&gt;“LOGO”&lt;/strong&gt;&lt;/a&gt;是用LISP做的&lt;br&gt;
其主要就是向前走、向左右走及重複執行&lt;br&gt;
可見外國的朋友早在50年前就在重視小孩學習程式語言&lt;br&gt;
然而google把這些指令做成了這&lt;a href=&#34;https://www.google.com/doodles/celebrating-50-years-of-kids-coding&#34;&gt;&lt;strong&gt;小遊戲&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
還頗有教育意義呢&lt;br&gt;
大家都可以來玩玩喔&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>在VS Code使用PlantUML</title>
      <link>https://www.shawnyin.com/vs-code_use_plantuml/</link>
      <pubDate>Mon, 23 Oct 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/vs-code_use_plantuml/</guid>
      <description>&lt;p&gt;今天簡單介紹一個UML小工具&lt;a href=&#34;http://plantuml.com&#34;&gt;PlantUML&lt;/a&gt;&lt;br&gt;
印象以前在學著畫UML圖時真的很”搞剛“&lt;br&gt;
常常需要對齊排版&lt;br&gt;
尤其是在畫流程圖的時候&lt;br&gt;
又碰到流程的調整時更為複雜&lt;br&gt;
但如今有PlantUML這對UML的領域特定語言(DSL)+自動產圖&lt;br&gt;
絕對是更據表現力來實踐UML的方法&lt;br&gt;
配合VS Code這一款優秀的編輯器&lt;br&gt;
相信整合起來一定會不錯使用&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>淺談設計模式（二）</title>
      <link>https://www.shawnyin.com/design_pattern2/</link>
      <pubDate>Sat, 21 Oct 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/design_pattern2/</guid>
      <description>&lt;p&gt;上一篇談到五大設計原則&lt;br&gt;
今天再來補充一下兩個常用到的概念(姑且讓我這樣稱呼)&lt;br&gt;
一個叫做*“迪米特法則”*&lt;br&gt;
另一個是*“組合/聚合復用原則”*&lt;br&gt;
為什麼要介紹這兩個設計概念呢？&lt;br&gt;
賣個關子最後再做說明吧&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>淺談設計模式（一）</title>
      <link>https://www.shawnyin.com/design_pattern/</link>
      <pubDate>Sat, 14 Oct 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/design_pattern/</guid>
      <description>&lt;p&gt;Long long long &amp;hellip; years ago~&lt;br&gt;
記得有把玩過設計模式的書&lt;br&gt;
當時只看了一兩章就看不下去了&amp;hellip;&lt;br&gt;
後來發現對於一個沒有什麼開發經驗的人來說&lt;br&gt;
根本就是無字天書&lt;br&gt;
時過境遷，我想應該有足夠的知識將這些書看過&lt;br&gt;
因此就將“大話設計模式”放入我的閱讀書單&lt;br&gt;
並花了幾週的時間將它讀過&lt;br&gt;
想藉這機會把讀過後的心得記錄下來&lt;br&gt;
因為設計模式博大精深&lt;br&gt;
以下的分享大多是經過自己的領會並不會照本宣科&lt;br&gt;
所以若有錯誤的地方歡迎指正喔～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>讓 Visual Studio Code Terminal 漂漂（Zsh）</title>
      <link>https://www.shawnyin.com/visual-studio-code-zsh/</link>
      <pubDate>Fri, 01 Sep 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/visual-studio-code-zsh/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;&lt;strong&gt;VS Code&lt;/strong&gt;&lt;/a&gt;是個相當優異的編輯器&lt;br&gt;
它不僅輕巧，且外掛豐富，又出生豪門（Microsoft）&lt;br&gt;
在VS Code中常會使用到terminal&lt;br&gt;
但是預設的terminal不夠colorful&lt;br&gt;
其實我想很多人用Mac寫程式都會使用&lt;a href=&#34;https://gist.github.com/kevin-smets/8568070&#34;&gt;&lt;strong&gt;iTerm+Zsh來美化&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
但在VS Code裡不能呼叫iTerm&lt;br&gt;
所以只好使用原生的終端機&lt;br&gt;
在此教教大家如何用Zsh美化自己VS Code的terminal吧～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>還我乾淨俐落的JSON</title>
      <link>https://www.shawnyin.com/clean_null_list/</link>
      <pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/clean_null_list/</guid>
      <description>&lt;p&gt;現在服務彼此之間溝通大多使用JSON這種數據格式來表示&lt;br&gt;
但若物件中的物件中有些是空值時就很麻煩&amp;hellip;&lt;br&gt;
當傳到其他服務主機上還需再做判斷且會增加網路傳輸&lt;br&gt;
處理不當甚至會影發奇怪問題&lt;br&gt;
有鑑於此&lt;br&gt;
傳輸一個乾淨的JSON為開發一個API基本且“道德”的指標&lt;/p&gt;
&lt;p&gt;本文介紹在開發JAVA時如何將它變得清爽且乾淨&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PM2≠PM2.5</title>
      <link>https://www.shawnyin.com/pm2/</link>
      <pubDate>Thu, 10 Aug 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/pm2/</guid>
      <description>&lt;p&gt;因為近年來空污問題日漸嚴重&lt;br&gt;
尤其當人聽聞PM2.5這詞往往聞之色變&lt;br&gt;
所以不知會不會有人看到PM2&lt;br&gt;
以為是不是又有一種2微米(μm)以下之粒狀污染物出現&amp;hellip;&lt;br&gt;
在此只是為博君一笑&lt;br&gt;
開一個冷冷的場子（氣溫最近屢屢創新高好像滿需要的）&lt;br&gt;
言歸正傳，今天是要介紹一個守護進程的&lt;a href=&#34;http://pm2.keymetrics.io/&#34;&gt;&lt;strong&gt;好用工具&lt;/strong&gt;（PM2）&lt;/a&gt;&lt;br&gt;
當初是在開發NodeJS的時候知悉&lt;br&gt;
只不過因為當初想快速一點將產品上線測試&lt;br&gt;
於是就先選擇非常陽春的守護進程的工具&amp;ndash;forever&lt;br&gt;
由於最近要上到生產環境&lt;br&gt;
為了系統的&lt;em&gt;健壯&lt;/em&gt; &lt;em&gt;日誌的規劃&lt;/em&gt; &lt;em&gt;監控&lt;/em&gt; &lt;em&gt;效能的提升&lt;/em&gt;&lt;br&gt;
當然要選用PM2摟&lt;br&gt;
使用過後真的建議大家快快換掉forever吧～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>X-Frame-Options最佳實踐</title>
      <link>https://www.shawnyin.com/x-frame-options/</link>
      <pubDate>Thu, 03 Aug 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/x-frame-options/</guid>
      <description>&lt;p&gt;通常在做iframe嵌入都會為了避免&lt;a href=&#34;https://en.wikipedia.org/wiki/Clickjacking&#34;&gt;&lt;strong&gt;Clickjacking&lt;/strong&gt;&lt;/a&gt;攻擊&lt;br&gt;
而在header加上&lt;a href=&#34;https://blog.allenchou.cc/x-frame-options/&#34;&gt;&lt;strong&gt;X-Frame-Options&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
而往往最基本的防護就是在所有的header上&lt;br&gt;
加上&lt;strong&gt;X-Frame-Options SAMEORIGIN&lt;/strong&gt;&lt;br&gt;
但是若要靈活的使用就不容易了&lt;br&gt;
例如:&lt;br&gt;
若在想要的subdomain下允許嵌入&lt;br&gt;
亦或是在不同的domain下允許嵌入&lt;br&gt;
最終目的就是希望達到可以再任意想要的domain下允許嵌入&lt;br&gt;
在此把我個人的見解以及觀念跟大家分享&lt;br&gt;
（實際實作要看所使用的語言而定）&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>讓Promise許你一個未來</title>
      <link>https://www.shawnyin.com/javascript_promise/</link>
      <pubDate>Thu, 20 Jul 2017 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/javascript_promise/</guid>
      <description>&lt;p&gt;好久沒寫東西了，剛好最近有用Nodejs寫一個爬圖小程式，過程中有用到Promise&lt;br&gt;
再加上之前用Express時把所有request都加上了Promise(感覺相當不錯)&lt;br&gt;
當時用它是為了解決兩件事&lt;br&gt;
1.異步調用時避免Callback Hell&lt;br&gt;
2.可以try catch&lt;br&gt;
但是對其原理及併發操作控制並沒有多少研究&lt;br&gt;
就想說藉著這次機會 稍微再深入一點&lt;br&gt;
(不知道Promise是什麼的可以參考這篇&lt;a href=&#34;https://www.gitbook.com/book/eyesofkids/javascript-start-es6-promise/details&#34;&gt;&lt;strong&gt;gitBook&lt;/strong&gt;&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>一勞永逸把Google Analytics的Spam除掉</title>
      <link>https://www.shawnyin.com/clean_ga_spam/</link>
      <pubDate>Thu, 22 Dec 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/clean_ga_spam/</guid>
      <description>&lt;p&gt;有好一段時間沒上Google Analytics(GA)關心網站流量了&lt;br&gt;
最近上去一看，挖哩勒～&lt;br&gt;
&lt;img src=&#34;https://www.shawnyin.com/wp-content/uploads/2016/12/ga_spam1.png&#34; alt=&#34;&#34;&gt;&lt;br&gt;
好多spam在我的GA上亂玩&amp;hellip;&lt;br&gt;
這怎麼行，當然要將他們一網打盡&lt;/p&gt;
&lt;p&gt;其實之前有用來源網址來擋&lt;br&gt;
但最近這種spam幾週就有一個新的&lt;br&gt;
這樣擋要到民國幾年哪&amp;hellip;&lt;br&gt;
還好網上&lt;a href=&#34;http://blog.analytics-toolkit.com/2016/language-spam-latest-google-analytics-spam/&#34;&gt;有一篇&lt;/a&gt;詳細的文章教大家如何設定&lt;br&gt;
只要透過簡單的方式就可以擋掉大部分的spam&lt;br&gt;
在此簡略告訴大家如何操作&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>強大的Google Apps Script</title>
      <link>https://www.shawnyin.com/google-apps-script/</link>
      <pubDate>Thu, 08 Dec 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/google-apps-script/</guid>
      <description>&lt;p&gt;現今已經是雲端服務時代，google文件已經廣為大家接受及使用&lt;br&gt;
所以當然要學一下類似excel的VBA摟&lt;br&gt;
&lt;!-- raw HTML omitted --&gt;記得小時候(讀書時)有學妹不會寫VBA還請我幫忙寫&amp;hellip;&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
它就叫做Google Apps Script&lt;br&gt;
我覺得他的優勢就是使用javascript&lt;br&gt;
就不需要再去學一個語言&lt;br&gt;
再者，它可以跟其他google服務作結合&lt;br&gt;
可以完成更為強大的功能&lt;/p&gt;
&lt;p&gt;最近剛好要處理一個功能&lt;br&gt;
將google spreadsheet中變動的項目重新產生SQL語法&lt;br&gt;
雖是可以手動一筆一筆建&lt;br&gt;
但這樣不像身為一位工程師該做的事&lt;br&gt;
當然要寫一隻小小的程式&lt;br&gt;
讓它能自動產生SQL ：）&lt;/p&gt;
&lt;p&gt;以下就舉個小小範例提供給大家參考&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>讓WordPress在Google PageSpeed Insights上達到90分</title>
      <link>https://www.shawnyin.com/google-pagespeed-insights-up90/</link>
      <pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/google-pagespeed-insights-up90/</guid>
      <description>&lt;p&gt;之前用PageSpeed Insights做測試&lt;br&gt;
發現自己的網站在手機的效能上竟然是紅色的&lt;br&gt;
電腦上也是黃色的&amp;hellip;&lt;/p&gt;
&lt;p&gt;於是決定要動手優化網站&lt;br&gt;
這邊提供一點心得給大家&lt;br&gt;
相信大家應該就能很輕易地上升為綠色&lt;br&gt;
甚至是90以上的高分喔&lt;/p&gt;
&lt;p&gt;首先，主要就是要將圖片優化&lt;br&gt;
再來就是將JS跟CSS壓縮並打包成一個檔&lt;br&gt;
細部步驟就在下面介紹摟～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>利用Mega自動備份資料</title>
      <link>https://www.shawnyin.com/mega-backup/</link>
      <pubDate>Mon, 08 Aug 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/mega-backup/</guid>
      <description>&lt;p&gt;相信大家對&lt;a href=&#34;https://mega.nz/&#34;&gt;&lt;strong&gt;Mega&lt;/strong&gt;&lt;/a&gt;這個免空已相當的認識&lt;br&gt;
目前欣賞它的原因是:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第一 開放原始碼&lt;/li&gt;
&lt;li&gt;第二 速度還算快&lt;/li&gt;
&lt;li&gt;第三 有SDK可以使用&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因為本人的主機空間過小（窮小孩）T_T&lt;br&gt;
所以極需一個backup storage server&lt;br&gt;
一台便宜的storage 50GB一個月要價5$&lt;br&gt;
而申請一個free acount的Mega就會有50GB的空間&lt;br&gt;
可以說使用Mega不僅備份空間綽綽有餘又可以省錢何樂不為&lt;/p&gt;
&lt;p&gt;接下來就要告訴大家如何使用API來實現自動備份&lt;br&gt;
其實Mega有提供SDK給人使用&lt;br&gt;
但是它是用C++開發，還要讀許多Documentation&amp;hellip;&lt;br&gt;
所以我就去gitHub上面找是否有人提供好用的API&lt;br&gt;
果真～找到了一位老兄用go寫的一個&lt;a href=&#34;https://github.com/t3rm1n4l/megacmd&#34;&gt;&lt;strong&gt;Mega Client的工具&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
使用後真的相當好用&lt;br&gt;
藉此分享給大家&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>用Docker快速架設Gitlab</title>
      <link>https://www.shawnyin.com/docker-gitlab/</link>
      <pubDate>Mon, 27 Jun 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/docker-gitlab/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gitlab.com&#34;&gt;&lt;strong&gt;Gitlab&lt;/strong&gt;&lt;/a&gt;是一個相當好低開放原始碼的git管理工具&lt;br&gt;
並且版本更新快速&lt;br&gt;
又有支援CI&lt;br&gt;
若是要做自動化測試建置及部署都沒問題&lt;/p&gt;
&lt;p&gt;但是要安裝其實是有一點點難度的&lt;br&gt;
好在有docker&lt;br&gt;
讓這一切事都變得簡單許多&lt;br&gt;
在此就不多敘述如何安裝docker&lt;br&gt;
本人是採用sameersbn這位老兄所提供的image&lt;br&gt;
他在github上的star有超多顆&lt;br&gt;
看起來就很有保障&lt;br&gt;
廢話不多說&lt;br&gt;
直接進入實作&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>解決Apache SSL Cache的問題</title>
      <link>https://www.shawnyin.com/apache-ssl-cache/</link>
      <pubDate>Fri, 24 Jun 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/apache-ssl-cache/</guid>
      <description>&lt;p&gt;為了提升網站速度&lt;br&gt;
替apache加上cache&lt;br&gt;
將圖片cache住，以後讀就快哩&lt;br&gt;
大致就是在.htaccess寫入這些東東&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;FilesMatch &amp;quot;\.(ico|pdf|jpg|jpeg|png|gif|js)$&amp;quot;&amp;gt;
      Header set Cache-Control &amp;quot;max-age=864000, public, must-revalidate&amp;quot;
  &amp;lt;/FilesMatch&amp;gt;  
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>Nginx設定SSL</title>
      <link>https://www.shawnyin.com/nginx-ssl/</link>
      <pubDate>Wed, 09 Mar 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/nginx-ssl/</guid>
      <description>&lt;p&gt;網站SSL架設好以後&lt;br&gt;
用手機測試發現竟然都不能用&amp;hellip;&lt;br&gt;
chrome有顯示以下error&lt;br&gt;
net::err_cert_authority_invalid&lt;br&gt;
再透過&lt;a href=&#34;https://www.ssllabs.com/ssltest&#34;&gt;&lt;em&gt;專業測試SSL的網站&lt;/em&gt;&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;做測試&lt;br&gt;
發現只有B而且有Chain issues Incomplete&lt;br&gt;
查後得知是缺少intermediate certificate&lt;br&gt;
簡單的說就是手機的browser不認識root certificate&lt;br&gt;
必須透過intermediate certificate才能得知&lt;br&gt;
既然知道問題，那就好解決哩～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WordPress使用SMTP寄信(Mailgun)</title>
      <link>https://www.shawnyin.com/wordpress-smtp-mailgun/</link>
      <pubDate>Sun, 07 Feb 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/wordpress-smtp-mailgun/</guid>
      <description>&lt;p&gt;當初在我的VPS上架設postfix&lt;br&gt;
該設定的都設定好了(在reverse proxy上)&lt;br&gt;
但是怎麼用就是寄不出去&lt;br&gt;
後來才發現VPS預設已經把25 port給擋了&lt;br&gt;
寫信問他們是否可以開port&lt;br&gt;
回信說需要填一些資料傳真過去確認後才能打開&lt;br&gt;
這麼麻煩 乾脆就使用第三方的SMTP來發信好了&lt;br&gt;
後來就使用**&lt;a href=&#34;http://www.mailgun.com/&#34;&gt;mailgun&lt;/a&gt;**來發信&lt;br&gt;
整體來說使用起來相當方便&lt;br&gt;
又有每個月免費10000封信的qouta&lt;br&gt;
對於一般的使用者來說已經是相當足夠了&lt;br&gt;
在此就簡單敘述一下步驟&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WordPress加上SSL</title>
      <link>https://www.shawnyin.com/wordpress-ssl/</link>
      <pubDate>Sat, 06 Feb 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/wordpress-ssl/</guid>
      <description>&lt;p&gt;本篇想分享如何在reverse proxy上將wordpress加上SSL&lt;br&gt;
因為在一般的web server上已經有許多文章介紹了&lt;br&gt;
但是在reverse proxy上卻少有文章&lt;br&gt;
藉此想與大家分享&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>讓Docker可以使用nano</title>
      <link>https://www.shawnyin.com/docker-nano/</link>
      <pubDate>Fri, 05 Feb 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/docker-nano/</guid>
      <description>在使用docker之後發現他真的是方便且部署快速
但是在進入container之後
就算安裝了nano還是不行使用
於是google了一下
發現原來是container裡面沒有設定$TERM這個環境變數
其實只要進去設定
 export TERM=xterm  就可以了
或是在進入container前
 docker exec -it $container env TERM=xterm bash -l  可是這樣必須每次進入都要設定
後來用去查了一下
目前docker在已經運行container中是不行更動env
還是一個open PR
但是目前還是有一些作法
 rm掉container重新run一次並加上參數-t 將已加入環境變數的container做commit 再使用這commit重新run 進去container的json加入環境變數 位址在下面 /var/lib/docker/containers/[container-id]/config.json  </description>
    </item>
    
    <item>
      <title>為Backbone做一個pretty Urls</title>
      <link>https://www.shawnyin.com/backbone-pretty-urls/</link>
      <pubDate>Thu, 04 Feb 2016 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/backbone-pretty-urls/</guid>
      <description>&lt;p&gt;之前有使用過backbone開發一個網站&lt;br&gt;
但是始終碰到一個問題&lt;br&gt;
就是url一定要加一個hash symbol&lt;br&gt;
使得url很醜並且也不利於seo&lt;br&gt;
最近剛好有些時間，稍微研究一下&lt;br&gt;
網路上剛好有一篇&lt;a href=&#34;http://artsy.github.io/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/&#34;&gt;文章&lt;/a&gt;&lt;br&gt;
照著操作已經可以解決大部分的問題&lt;br&gt;
最後再加上加入一些nginx的設定&lt;br&gt;
總於完全解決問題了～&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MySql 導出&amp;導入</title>
      <link>https://www.shawnyin.com/mysql-imort-export/</link>
      <pubDate>Mon, 08 Jun 2015 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/mysql-imort-export/</guid>
      <description>導出：
 mysqldump --user root --password=123456 mysql &amp;gt; /var/www/mysql.sql   &amp;ndash;user 表示要你的mysql登陸用戶名 超級用戶默認為root，也可縮寫-u &amp;ndash;password=123456 就是密碼了，也可縮寫-p mysql.sql 是你要導出的是什麼，就換成什麼名  導入：
 mysql -u root -p 123456 mysql &amp;lt; var/www/mysql.sql --show-warnings  [ssgreenlist]
 &amp;ndash;show-warnings 可以顯示整個導入的訊息，方便debug  以上，就是導出導入功能，很簡單吧。</description>
    </item>
    
    <item>
      <title>Joomla 1.5升級後K2 table的更新</title>
      <link>https://www.shawnyin.com/joomla-update-k2-table/</link>
      <pubDate>Sun, 07 Jun 2015 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/joomla-update-k2-table/</guid>
      <description>&lt;p&gt;上一篇介紹如何將user table更新，這篇會教大家如何更新&lt;a href=&#34;http://extensions.joomla.org/extension/k2&#34;&gt;K2&lt;/a&gt;的table&lt;br&gt;
K2是joomla一個擴充文章管理的套件，他多了許多好用的功能，例如：tag、vote等等&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Joomla 1.5升級後user table更新</title>
      <link>https://www.shawnyin.com/joomla-update-user-table/</link>
      <pubDate>Sun, 07 Jun 2015 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/joomla-update-user-table/</guid>
      <description>&lt;p&gt;因為之前有需要將Joomla從1.5升級到2.5，在升級的過程中費了相當大的工夫才完成&lt;br&gt;
本來用&lt;a href=&#34;http://extensions.joomla.org/extension/jupgradepro&#34;&gt;jUpgrade&lt;/a&gt;來升級，用了之後確實有部分功能成功&lt;br&gt;
但是可能在核心修改太多，#__users無法使用backend也就無法登入&lt;br&gt;
之後又使用&lt;a href=&#34;http://extensions.joomla.org/extension/userport&#34;&gt;userport&lt;/a&gt;來幫忙，先在舊網站上安裝支援1.5的userport，匯出CSV，再到新網站匯入&lt;br&gt;
其實這是可行的，但是缺點是速度太慢，對於帳號多的使用者會照程一些匯入上的問題&lt;br&gt;
最後使用土方法解決，土方法就是最有用的方法，也是最乾淨的方法&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Jumi</title>
      <link>https://www.shawnyin.com/jumi/</link>
      <pubDate>Thu, 04 Jun 2015 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/jumi/</guid>
      <description>&lt;p&gt;今天想要跟大家介紹一個非常實用的小外掛。&lt;br&gt;
他雖然小但是功能非常強大&lt;br&gt;
他可以跳脫joomla本身的架構就可以輕而易舉的製作出component module plugin&lt;br&gt;
可以用最小的開發成本製造最大效益&lt;br&gt;
例如你只想試試某個功能，可以先用jumi做個雛形&lt;br&gt;
之後再用joomla正規的方式做成componet之類的&lt;br&gt;
話不多說，先看實作步驟：&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>如何匯入Joomla的Framework</title>
      <link>https://www.shawnyin.com/include-joomla-framwork/</link>
      <pubDate>Wed, 03 Jun 2015 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/include-joomla-framwork/</guid>
      <description>使用Joomla也有好一段時間了，最近想說把一些使用過後不錯的資訊跟大家分享一下
首先，我想要分享的就是如何在Framework外匯入Joomla的Framework，簡單的說就是想跳脫Joomla的框架，但又想用其中一些方便的函式。EX: getDBO()、getSession() 所以就必須將重要的庫匯入。
 // 匯入Joomla Framework define( &#39;_JEXEC&#39;, 1 ); define( &#39;_VALID_MOS&#39;, 1 ); define( &#39;JPATH_BASE&#39;, realpath(dirname(__FILE__))); define( &#39;DS&#39;, DIRECTORY_SEPARATOR ); require_once ( JPATH_BASE .DS.&#39;includes&#39;.DS.&#39;defines.php&#39; ); require_once ( JPATH_BASE .DS.&#39;includes&#39;.DS.&#39;framework.php&#39; ); // 初始化Joomla $mainframe =&amp;amp; JFactory::getApplication(&#39;site&#39;); $mainframe-&amp;gt;initialise(); // 之後可以開始使用這個Framework  接下來就是簡單介紹一下這幾行程式碼啦~
第一及第二行簡單的意思就是要保護這張php的代碼
以免當發生錯誤時路徑暴露和有人蓄意注射有害代碼以及Session的保護
詳細內容的可以參考Joomla官網說明
接下來的代碼就是將Joomla最重要的兩張php匯進來
一張是defines.php和framework.php
但是在匯之前必須先處裡路徑的問題
JPATH_BASE就是將網站root的絕對路徑拿出來
以上面程式為例，這是在你的外部檔案與root目錄是同一層時所使用
若是不同層可以用下面方式匯入
例如：你的外部檔案放在 modules/mod_yourmodule/tmpl/ 就必須寫成
 define( &#39;JPATH_BASE&#39;, realpath(dirname(__FILE__).&#39;/../../..&#39;));  又例如：你的外部檔案放在 components/com_yourcomponent/templates/default/ 就必須寫成，依此類推
 define( &#39;JPATH_BASE&#39;, realpath(dirname(__FILE__).&#39;/../../../..&#39;));  好啦~介紹完啦，可以盡情地使用Joomla Framework所帶來的好處哩。</description>
    </item>
    
    <item>
      <title>關於我</title>
      <link>https://www.shawnyin.com/page/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>jazz321254@gmail.com (Shawn)</author>
      <guid>https://www.shawnyin.com/page/about/</guid>
      <description>尹相儒 資深後端工程師 (C# Java NodeJS)  Download PDF
jazz321254@gmail.com
Location Taiwan Taipei
  簡歷 在學經歷中沒遇見什麼貴人，但逐日發現，一步一腳印的向前走，當你回頭看的時候，會發現時間就是你的貴人。因此，在這千變萬化的時代，永遠賜與自己一顆『赤子之心』，才是成功之鑰。
 專長    網頁程式開發 多年開發網頁前後端程式，對於程式開發已有相當經驗，對於已經熟悉的工具持續專研，並也勇於嘗試新的技術。     系統架構規劃 對於系統如何從無到有都能掌握。從開發到上線階段，系統切割劃分也能獨自處理。亦能掌握雲端服務(GCP,Azure)，實現Agile精神。     專案分析 對於專案的可行性，能就技術、人員及組織上進行分析研究。     技術(三年內所使用)  Programing  C# Javascript Java   Framework  Dotnet Core Spring Play MyBatis Hibernate NodeJS Express   Database  Redis MongoDB PostgreSQL   Fontend  Vue JQuery React Webpack Gulp   Server  MacOS Ubuntu Windows     經歷   2021   Sep 中華電信資訊分公司 高級工程師</description>
    </item>
    
  </channel>
</rss>