<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tutorial on 瓶子裡的小狐狸</title>
    <link>https://szeching.com/tags/tutorial/</link>
    <description>Recent content in Tutorial on 瓶子裡的小狐狸</description>
    <generator>Hugo</generator>
    <language>zh-Hant</language>
    <lastBuildDate>Wed, 03 Jul 2024 13:16:55 +0800</lastBuildDate>
    <atom:link href="https://szeching.com/tags/tutorial/rss" rel="self" type="application/rss+xml" />
    <item>
      <title>提升WordPress網站效能！設置免費CloudFlare快取規則指南2024</title>
      <link>https://szeching.com/set-up-free-cloudflare-cache-rules-for-wordpress-site/</link>
      <pubDate>Wed, 03 Jul 2024 13:16:55 +0800</pubDate>
      <guid>https://szeching.com/set-up-free-cloudflare-cache-rules-for-wordpress-site/</guid>
      <description>&lt;p&gt;本指南介紹了如何使用 Cloudflare 快取規則來提升 WordPress 站點效能，你需要有一個 Cloudflare 賬號才能跟隨本指南進行操作。如果你還沒有帳號，可以&lt;a href=&#34;https://szeching.com/how-to-speed-up-secure-your-wordpress-website-with-cloudflare/&#34;&gt;根據這篇文章註冊一個 Cloudflare 免費賬號&lt;/a&gt;，也可以&lt;a href=&#34;https://szeching.com/contact/&#34;&gt;聯繫Y Cheung&lt;/a&gt;，我可以幫你創建一個。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloudflare Pages 靜態網站使用Airtable實現聯絡表單提交</title>
      <link>https://szeching.com/how-to-create-contact-form-on-cloudflare-page-with-airtable/</link>
      <pubDate>Wed, 12 Jun 2024 21:11:39 +0800</pubDate>
      <guid>https://szeching.com/how-to-create-contact-form-on-cloudflare-page-with-airtable/</guid>
      <description>&lt;p&gt;最近在用Cloudflare的Page功能直接host靜態網頁，實在太方便了。但有時候又會需要提供給訪客提交聯絡表單，Y Cheung研究了下，發現 Cloudflare 官方文檔中提供的方案還行。&lt;/p&gt;</description>
    </item>
    <item>
      <title>優化您的電商策略：利用Google Analytics(GA4) 創建電子商務報表（一）</title>
      <link>https://szeching.com/how-to-create-ecommerce-reports-in-google-analytics-4-part-1/</link>
      <pubDate>Sun, 12 May 2024 15:14:44 +0800</pubDate>
      <guid>https://szeching.com/how-to-create-ecommerce-reports-in-google-analytics-4-part-1/</guid>
      <description>&lt;p&gt;通過GA4分析網站數據，您可以更好地了解用戶行為，做出更具戰略性的決策以增加銷售額。通常來說，GA4的電子商務報表可以幫您分析用戶最常瀏覽哪些產品，哪些頁面帶來最多的轉化，有多少用戶從結帳頁面完成購買等問題。&lt;/p&gt;</description>
    </item>
    <item>
      <title>提升網站流量的秘訣：學會在GA4中製作流量報告！</title>
      <link>https://szeching.com/how-to-create-traffic-reports-in-google-analytics/</link>
      <pubDate>Mon, 06 May 2024 15:05:19 +0800</pubDate>
      <guid>https://szeching.com/how-to-create-traffic-reports-in-google-analytics/</guid>
      <description>&lt;p&gt;Google分析的流量報告可以幫助您了解網站的流量來源，確定哪些渠道為您的網站帶來了最多的訪問者，幫助您優化網站，提高用戶體驗和轉化率。&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-名詞解釋&#34;&gt;1. 名詞解釋&lt;a class=&#34;anchorjs-link&#34; href=&#34;#1-%e5%90%8d%e8%a9%9e%e8%a7%a3%e9%87%8b&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;11-維度-dimensions&#34;&gt;1.1. 維度 Dimensions&lt;a class=&#34;anchorjs-link&#34; href=&#34;#11-%e7%b6%ad%e5%ba%a6-dimensions&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;到達網頁+查詢字串&lt;/strong&gt;：與工作階段中第一次網頁瀏覽相關聯的網頁路徑和查詢字串。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;工作階段預設管道群組&lt;/strong&gt;：與開啟工作階段相關聯的預設管道群組。預設管道群組包括「直接 Direct」、「自然搜尋 Organic Search」、「付費社群活動 Paid Social」、「自然社群活動 Organic Social」、「電子郵件 Email」、「參照連結網址 Referral」、「付費搜尋 Paid Search」、「影片 Organic Video」等。&lt;a href=&#34;https://support.google.com/analytics/answer/9756891?hl=zh-Hant&amp;amp;ref_topic=11151952&amp;amp;sjid=642164445835684101-AP&#34; target=&#34;_blank&#34;&gt;瞭解 Analytics (分析) 如何分類流量。&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;工作階段來源/媒介&lt;/strong&gt;：轉介使用者工作階段的來源和媒介。這個維度可在使用者啟動新工作階段時，說明使用者的來處。與「最初招攬到使用者來源/媒介」維度不同，「工作階段來源/媒介」維度會在每次使用者造訪您的網站時變更。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;工作階段廣告活動&lt;/strong&gt;：與啟動工作階段相關聯的廣告活動。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;裝置類別&lt;/strong&gt;：使用者活動的來源裝置類型。裝置類別包括「桌機」、「行動裝置」、「平板電腦」等。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;瀏覽器&lt;/strong&gt;：使用者活動的來源瀏覽器。常見瀏覽器包括「Chrome」、「Edge」、「Firefox」、「Internet Explorer」、「Safari」等。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;12-指標-metrics&#34;&gt;1.2. 指標 Metrics&lt;a class=&#34;anchorjs-link&#34; href=&#34;#12-%e6%8c%87%e6%a8%99-metrics&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;工作階段&lt;/strong&gt;：在網站上開始的工作階段數。&lt;a href=&#34;https://support.google.com/analytics/answer/9191807?hl=zh-Hant&amp;amp;ref_topic=11151952&amp;amp;sjid=642164445835684101-AP&#34; target=&#34;_blank&#34;&gt;進一步瞭解 Google Analytics (分析) 4 工作階段，包括系統在事件開始時如何產生工作階段 ID 和號碼。&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;互動工作階段&lt;/strong&gt;：持續超過 10 秒、曾發生轉換事件，或包含 2 次以上畫面或網頁瀏覽的工作階段數。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;購買&lt;/strong&gt;：在網站中的購買次數。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;總收益&lt;/strong&gt;：購買和廣告等帶來的總收益。總收益 = 購買 + 應用程式內購 + 訂閱 + 廣告收益 - 退款金額&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;工作階段重要事件發生率&lt;/strong&gt;：工作階段重要事件發生率 =（工作階段重要事件計數 / 工作階段） * 100 %&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-流量總覽報表-trafic-overview-report&#34;&gt;2. 流量總覽報表 Trafic overview report&lt;a class=&#34;anchorjs-link&#34; href=&#34;#2-%e6%b5%81%e9%87%8f%e7%b8%bd%e8%a6%bd%e5%a0%b1%e8%a1%a8-trafic-overview-report&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;默認的預設管道群組流量報告可以幫助您快速了解網站流量的來源和表現，讓您更好地優化營銷策略。流量總覽報表設計如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何為內容創作者建立強大的Google Analytics 4 報表？</title>
      <link>https://szeching.com/how-to-create-publishers-report-in-google-analytics/</link>
      <pubDate>Sat, 04 May 2024 21:34:32 +0800</pubDate>
      <guid>https://szeching.com/how-to-create-publishers-report-in-google-analytics/</guid>
      <description>&lt;p&gt;如果你是經營一個以內容為主的網站，那麼本文所述的這些GA4分析報表將為你提供許多寶貴的洞見，幫助更好地優化網站，建立更大影響力。&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-名詞解釋&#34;&gt;1. 名詞解釋&lt;a class=&#34;anchorjs-link&#34; href=&#34;#1-%e5%90%8d%e8%a9%9e%e8%a7%a3%e9%87%8b&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;11-維度-dimensions&#34;&gt;1.1. 維度 Dimensions&lt;a class=&#34;anchorjs-link&#34; href=&#34;#11-%e7%b6%ad%e5%ba%a6-dimensions&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;到達網頁+查詢字串&lt;/strong&gt;：與工作階段中第一次網頁瀏覽相關聯的網頁路徑和查詢字串。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;12-指標-metrics&#34;&gt;1.2. 指標 Metrics&lt;a class=&#34;anchorjs-link&#34; href=&#34;#12-%e6%8c%87%e6%a8%99-metrics&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;互動工作階段&lt;/strong&gt;：持續超過 10 秒、曾發生轉換事件，或包含 2 次以上畫面或網頁瀏覽的工作階段數。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;平均單次工作階段參與時間&lt;/strong&gt;：在每次工作階段期間，網站成為使用者瀏覽器焦點的平均時間。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;總人數&lt;/strong&gt;：與您的網站或應用程式有過互動的使用者總數，無論他們是否曾觸發參與事件。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;新使用者人數&lt;/strong&gt;：首次與您的網站互動的人數。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;參與度&lt;/strong&gt;：互動工作階段的工作階段百分比。參與度 = 互動工作階段/工作階段&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;事件計數&lt;/strong&gt;：使用者觸發事件的次數。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;工作階段&lt;/strong&gt;：在網站上開始的工作階段數。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;跳出率&lt;/strong&gt;：使用者只瀏覽著陸頁面，沒做出任何互動行為就離開網站的百分比率。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;總收益&lt;/strong&gt;：購買和廣告等帶來的總收益。總收益 = 購買 + 應用程式內購 + 訂閱 + 廣告收益 - 退款金額&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-熱門到達網頁報表-top-landing-pages&#34;&gt;2. 熱門到達網頁報表 Top Landing Pages&lt;a class=&#34;anchorjs-link&#34; href=&#34;#2-%e7%86%b1%e9%96%80%e5%88%b0%e9%81%94%e7%b6%b2%e9%a0%81%e5%a0%b1%e8%a1%a8-top-landing-pages&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;利用熱門到達網頁報表來了解讀者行為，識別高低表現的頁面，並做出數據驅動的決策來提高網站整體績效。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install Drupal 9 Multi-site in subdirectories</title>
      <link>https://szeching.com/install-drupal-9-multi-site-in-subdirectories/</link>
      <pubDate>Thu, 03 Nov 2022 07:00:55 +0000</pubDate>
      <guid>https://szeching.com/install-drupal-9-multi-site-in-subdirectories/</guid>
      <description>&lt;h2 id=&#34;instantiate-master-site&#34;&gt;Instantiate master site&lt;a class=&#34;anchorjs-link&#34; href=&#34;#instantiate-master-site&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;1.1: Create a database for the multisite root site, ex: drupal-dev.&lt;/p&gt;&#xA;&lt;p&gt;1.2: Create Drupal 9 project via Composer.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#8be9fd;font-style:italic&#34;&gt;cd&lt;/span&gt; /var/www&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;composer create-project drupal/recommended-project drupal_root_dir&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.3: Add Drush in your Drupal 9 project.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#8be9fd;font-style:italic&#34;&gt;cd&lt;/span&gt; /var/www/drupal_root_dir&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;composer require drush/drush&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.4: Install Drupal 9 master site using the Drush command line&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#8be9fd;font-style:italic&#34;&gt;cd&lt;/span&gt; /var/www/drupal_root_dir/web&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;drush site:install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;or&lt;/p&gt;</description>
    </item>
    <item>
      <title>在Mac上安裝Umbraco CMS</title>
      <link>https://szeching.com/how-to-install-net-cms-umbraco-on-mac/</link>
      <pubDate>Sat, 25 Jun 2022 02:14:00 +0000</pubDate>
      <guid>https://szeching.com/how-to-install-net-cms-umbraco-on-mac/</guid>
      <description>&lt;h2 id=&#34;安裝-dotnet-sdk&#34;&gt;安裝 dotnet SDK&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9d-dotnet-sdk&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下載並安裝 .NET 6.0 SDK (v6.0.301) &lt;a href=&#34;https://dotnet.microsoft.com/en-us/download&#34; target=&#34;_blank&#34;&gt;https://dotnet.microsoft.com/en-us/download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;安裝-visual-studio-2022-for-mac&#34;&gt;安裝 Visual Studio 2022 for mac&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9d-visual-studio-2022-for-mac&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下載並安裝 Visual Studio 2022 for mac (v17.0) &lt;a href=&#34;https://visualstudio.microsoft.com/vs/mac/&#34; target=&#34;_blank&#34;&gt;https://visualstudio.microsoft.com/vs/mac/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;安裝-umbraco-模板包&#34;&gt;安裝 Umbraco 模板包&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9d-umbraco-%e6%a8%a1%e6%9d%bf%e5%8c%85&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;打開終端輸入命令: &lt;code&gt;dotnet new -i Umbraco.Templates&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/install-umbraco-template.jpg&#34; data-action=&#34;zoom&#34; alt=&#34;.net Install Umbraco Template&#34;  title=&#34;.net Install Umbraco Template&#34; class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;  &lt;figcaption class=&#34;image-caption&#34;&gt;.net Install Umbraco Template&lt;/figcaption&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;請求信任https開發證書&#34;&gt;請求信任HTTPS開發證書&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e8%ab%8b%e6%b1%82%e4%bf%a1%e4%bb%bbhttps%e9%96%8b%e7%99%bc%e8%ad%89%e6%9b%b8&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;輸入命令： &lt;code&gt;dotnet dev-certs https --trust&lt;/code&gt; ，如果證書未被信任，在Run website的時候MAC OS 會不斷彈窗提示請求授權。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Drupal 9 Webform 發送自定義Email 功能的本地開發環境配置</title>
      <link>https://szeching.com/set-up-a-local-development-environment-for-a-drupal-9-webform-that-sends-email-notifications-using-mailhog/</link>
      <pubDate>Thu, 07 Apr 2022 11:27:00 +0000</pubDate>
      <guid>https://szeching.com/set-up-a-local-development-environment-for-a-drupal-9-webform-that-sends-email-notifications-using-mailhog/</guid>
      <description>&lt;p&gt;Drupal 9 Webform 表單提交後可以自定義 email 內容發送通知郵件到指定email地址，本地開發中使用 Mailhog 做測試。&lt;/p&gt;&#xA;&lt;p&gt;💡關於Mailhog的安裝介紹參看Y Cheung之前的文章《&lt;a href=&#34;https://szeching.com/mailhog-for-web-and-api-based-smtp-testing/&#34; target=&#34;_blank&#34;&gt;本地開發測試郵件服務 Mailhog&lt;/a&gt;》&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用Cloudflare加速和保護你的Wordpress網站</title>
      <link>https://szeching.com/how-to-speed-up-secure-your-wordpress-website-with-cloudflare/</link>
      <pubDate>Fri, 13 Aug 2021 11:05:00 +0000</pubDate>
      <guid>https://szeching.com/how-to-speed-up-secure-your-wordpress-website-with-cloudflare/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.cloudflare.com/zh-cn/&#34; target=&#34;_blank&#34;&gt;Cloudflare&lt;/a&gt; 是提供基於反向代理的內容傳遞網路及分布式域名解析的服務，也就是我們俗稱的CDN加速。它不僅可以緩存網站內容，加速網站提升用戶體驗，還能進行簡單的防火牆設置，讓你的網站和服務器更安全。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker 內 Laravel 8 瀏覽器測試 dusk 安裝配置指南</title>
      <link>https://szeching.com/laravel-8-browser-testing-dusk-in-docker/</link>
      <pubDate>Sat, 24 Apr 2021 09:54:00 +0000</pubDate>
      <guid>https://szeching.com/laravel-8-browser-testing-dusk-in-docker/</guid>
      <description>&lt;h2 id=&#34;docker-composeyml&#34;&gt;docker-compose.yml&lt;a class=&#34;anchorjs-link&#34; href=&#34;#docker-composeyml&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;本指南運行環境系 MacBook 上的 Docker 內，相關容器配置如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#6272a4&#34;&gt;# docker-compose.yml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#ff79c6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;3&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#ff79c6&#34;&gt;services&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;mysql&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;image&lt;/span&gt;: mariadb:10.2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;restart&lt;/span&gt;: always&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;volumes&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;~/Documents/Datas/laravel/mysql:/var/lib/mysql&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;ports&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;127.0.0.1:23306:3306&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;11&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;environment&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;12&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#ff79c6&#34;&gt;MYSQL_ALLOW_EMPTY_PASSWORD&lt;/span&gt;: &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;yes&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;13&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#ff79c6&#34;&gt;MYSQL_DATABASE&lt;/span&gt;: &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;puppy&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;14&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;laravel&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;15&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;image&lt;/span&gt;: ycheung/laravel-dev&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;16&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;restart&lt;/span&gt;: always&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;17&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;ports&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;18&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;8081:80&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;19&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;9001:9001&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;20&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;volumes&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;21&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;~/Documents/laravel:/var/www/html&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;22&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;depends_on&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;23&lt;/span&gt;&lt;span&gt;      - mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;24&lt;/span&gt;&lt;span&gt;      - mailhog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;25&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;mailhog&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;26&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;image&lt;/span&gt;: mailhog/mailhog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;27&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;ports&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;28&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#34;1025:1025&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;29&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#34;8025:8025&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;30&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;selenium-hub&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;31&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;image&lt;/span&gt;: selenium/hub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;32&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;container_name&lt;/span&gt;: selenium-hub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;33&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;ports&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;34&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#34;4444:4444&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;35&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;chrome&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;36&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;image&lt;/span&gt;: selenium/node-chrome&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;37&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;volumes&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;38&lt;/span&gt;&lt;span&gt;      - &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;/dev/shm:/dev/shm&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;39&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;depends_on&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;40&lt;/span&gt;&lt;span&gt;      - selenium-hub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;41&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff79c6&#34;&gt;environment&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;42&lt;/span&gt;&lt;span&gt;      - HUB_HOST=selenium-hub&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;43&lt;/span&gt;&lt;span&gt;      - HUB_PORT=4444&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;44&lt;/span&gt;&lt;span&gt;      - JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;安裝-laravel-dusk&#34;&gt;安裝 Laravel Dusk&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9d-laravel-dusk&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;composer require --dev laravel/dusk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/image_o-8.png&#34; data-action=&#34;zoom&#34; alt=&#34;&#34;  title=&#34;composer install dusk&#34; class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;  &lt;figcaption class=&#34;image-caption&#34;&gt;composer install dusk&lt;/figcaption&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android 使用 Volley 下載文件附進度條</title>
      <link>https://szeching.com/tutorial-about-download-file-with-progress-bar-using-volley/</link>
      <pubDate>Fri, 03 Jul 2020 11:06:01 +0000</pubDate>
      <guid>https://szeching.com/tutorial-about-download-file-with-progress-bar-using-volley/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://developer.android.com/training/volley/index.html&#34; target=&#34;_blank&#34;&gt;Volley官方文檔&lt;/a&gt;說：&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Volley is not suitable for large download or streaming operations, since&#xA;Volley holds all responses in memory during parsing. For large download&#xA;operations, consider using an alternative like DownloadManager.&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;這是真的，特別是內存小的手機，使用Volley下載很多文件或者單個大文件就不是很恰當了。這裡的large是相對手機內存大小而定。&lt;/p&gt;</description>
    </item>
    <item>
      <title>樹莓派3B開啟I2C接口</title>
      <link>https://szeching.com/enable-arm-i2c-interface-on-raspberry-pi-3b/</link>
      <pubDate>Tue, 12 May 2020 09:17:18 +0000</pubDate>
      <guid>https://szeching.com/enable-arm-i2c-interface-on-raspberry-pi-3b/</guid>
      <description>&lt;p&gt;使用PCF8591模組(AD/DA轉換模組、類比/數位轉換模組）的時候需要用到I2C接口，但是買回來的樹莓派默認沒有啟用這個接口，只好手動開啟。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows下強制使用Chrome全屏模式</title>
      <link>https://szeching.com/windows-force-chrome-to-fullscreen-mode-on-start/</link>
      <pubDate>Wed, 08 Apr 2020 09:10:26 +0000</pubDate>
      <guid>https://szeching.com/windows-force-chrome-to-fullscreen-mode-on-start/</guid>
      <description>&lt;p&gt;一般情況下，按 &lt;kbd&gt;F12&lt;/kbd&gt; 可以讓Chrome瀏覽器進入全屏模式。&lt;/p&gt;&#xA;&lt;p&gt;如需啟動Chrome時就以全屏模式打開某指定網頁，可以使用kiosk參數。具體操作如下：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在Chrome中創建某地址的快捷方式，比如我創建一個Google的。&#xA;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/SCREENSHOT-1.PNG&#34; data-action=&#34;zoom&#34; alt=&#34;Chrome 創建快捷方式&#34;  class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PHP:Imagecreatefrompng合成透明背景圖片</title>
      <link>https://szeching.com/php-merge-png-images-using-imagecreatefrompng-tutorial/</link>
      <pubDate>Thu, 26 Mar 2020 10:19:00 +0000</pubDate>
      <guid>https://szeching.com/php-merge-png-images-using-imagecreatefrompng-tutorial/</guid>
      <description>&lt;p&gt;Imagecreatefrompng的使用方法參見PHP手冊「&lt;a href=&#34;https://www.php.net/manual/en/function.imagecreatefrompng.php&#34; target=&#34;_blank&#34;&gt;PHP: imagecreatefrompng&lt;/a&gt;」，本文只作一個範例（&lt;strong&gt;語句順序是有意義的，最好不要隨意調換，如順序變更產生非預期效果請多嘗試&lt;/strong&gt;）.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unity3D接入MySQL数据库</title>
      <link>https://szeching.com/connect-mysql-database-with-unity3d/</link>
      <pubDate>Wed, 25 Mar 2020 04:23:57 +0000</pubDate>
      <guid>https://szeching.com/connect-mysql-database-with-unity3d/</guid>
      <description>&lt;h2 id=&#34;系統环境&#34;&gt;系統环境：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e7%b3%bb%e7%b5%b1%e7%8e%af%e5%a2%83&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Windows 10（x64）(version 1909)&lt;/li&gt;&#xA;&lt;li&gt;Unity3D (version 2018.3.0f2)&lt;/li&gt;&#xA;&lt;li&gt;Microsoft Visual Studio Community 2017 (version 15.9.4)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;操作步驟&#34;&gt;操作步驟：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%a9%9f&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;准備一個本地綫上mysql數據庫&#34;&gt;准備一個本地/綫上Mysql數據庫&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%87%86%e5%82%99%e4%b8%80%e5%80%8b%e6%9c%ac%e5%9c%b0%e7%b6%ab%e4%b8%8amysql%e6%95%b8%e6%93%9a%e5%ba%ab&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Y Cheung 的數據庫設置如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;DATABASE Host: 127.0.0.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;DATABASE Port: 3306&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;DATABASE Name: my_db&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&lt;/span&gt;&lt;span&gt;DATABASE Username: root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5&lt;/span&gt;&lt;span&gt;DATABASE Password: 7vWe4Z@ZT2N#&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;下載並安裝mysql-connectorodbc可選&#34;&gt;下載並安裝Mysql Connector/ODBC(可選)&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e4%b8%8b%e8%bc%89%e4%b8%a6%e5%ae%89%e8%a3%9dmysql-connectorodbc%e5%8f%af%e9%81%b8&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;下載並安裝&lt;a href=&#34;https://dev.mysql.com/downloads/connector/odbc/&#34; target=&#34;_blank&#34;&gt;Mysql Connector/ODBC&lt;/a&gt;,如果安裝過程中遇到錯誤(Error 1918)，前往&lt;a href=&#34;https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170&#34; target=&#34;_blank&#34;&gt;官網&lt;/a&gt;下載並安裝最新的適合你系統的Visual C++ Redistributable。安裝完成后可以在&lt;code&gt;C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ODBC 数据源(64 位)&lt;/code&gt;的驅動程序中看到安裝好的驅動&#xA;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/Screenshot_2020-03-25-116118.jpg&#34; data-action=&#34;zoom&#34; alt=&#34;Mysql Connector/ODBC driver&#34;  class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>RabbitMQ安装及启用web管理界面</title>
      <link>https://szeching.com/install-rabbitmq-on-archlinux-and-enable-web-management/</link>
      <pubDate>Fri, 25 May 2018 03:56:26 +0000</pubDate>
      <guid>https://szeching.com/install-rabbitmq-on-archlinux-and-enable-web-management/</guid>
      <description>&lt;h2 id=&#34;安装-rabbitmq&#34;&gt;安装 RabbitMQ&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%85-rabbitmq&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Arch Linux安装 RabbitMQ&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;pacman -S rabbitmq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;查看启用插件列表&#34;&gt;查看启用插件列表&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%9f%a5%e7%9c%8b%e5%90%af%e7%94%a8%e6%8f%92%e4%bb%b6%e5%88%97%e8%a1%a8&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;rabbitmq-plugins list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;启用web管理界面&#34;&gt;启用WEB管理界面&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%90%af%e7%94%a8web%e7%ae%a1%e7%90%86%e7%95%8c%e9%9d%a2&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;rabbitmq-plugins &lt;span style=&#34;color:#8be9fd;font-style:italic&#34;&gt;enable&lt;/span&gt; rabbitmq_management&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启用&lt;code&gt;rabbitmq_management&lt;/code&gt;后需重启RabbitMQ服务。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;systemctl restart rabbitmq&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者&lt;/p&gt;</description>
    </item>
    <item>
      <title>再談網站HTTPS升級</title>
      <link>https://szeching.com/how-to-request-and-install-ssl-cetificate/</link>
      <pubDate>Mon, 19 Mar 2018 13:48:09 +0000</pubDate>
      <guid>https://szeching.com/how-to-request-and-install-ssl-cetificate/</guid>
      <description>&lt;p&gt;Y.Cheung 曾於 2016 年時寫過一篇《 &lt;a href=&#34;https://szeching.com/enable-https-with-certbot-on-centos-7/&#34; target=&#34;_blank&#34;&gt;Centos 7 使用 certbot 安裝Let’s Encrypt SSL 證書&lt;/a&gt; 》，最近因爲幫忙升級了幾個站點，使用了一些免費/收費的SSL憑證服務，特寫此篇記錄一下流程思路送給整天吐槽Y.Cheung沒耐心教人的某只。&lt;/p&gt;</description>
    </item>
    <item>
      <title>drupal8 dursh config-import使用簡介</title>
      <link>https://szeching.com/drupal8-dursh-config-import-example/</link>
      <pubDate>Thu, 21 Sep 2017 05:10:55 +0000</pubDate>
      <guid>https://szeching.com/drupal8-dursh-config-import-example/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;GIT CLONE 代碼&lt;/li&gt;&#xA;&lt;li&gt;正常流程 stander 安裝drupal8&lt;/li&gt;&#xA;&lt;li&gt;修改/sites/default/settings.php 指定 config 文件夾位置&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#8be9fd;font-style:italic&#34;&gt;$config_directories&lt;/span&gt;[&lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;sync&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#ff79c6&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#39;sites/config/sync&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;執行drush命令導入config&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;drush config-import&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;提示報錯：&lt;/p&gt;</description>
    </item>
    <item>
      <title>CouchDB的安裝與使用簡介</title>
      <link>https://szeching.com/a-gentle-introduction-to-couchdb/</link>
      <pubDate>Tue, 08 Aug 2017 08:09:34 +0000</pubDate>
      <guid>https://szeching.com/a-gentle-introduction-to-couchdb/</guid>
      <description>&lt;p&gt;CouchDB 是一個通過 RESTful API 訪問的多版本控制文檔型存儲的 NoSQL，支持 Map/Reduce，不支持動態查詢。&lt;/p&gt;&#xA;&lt;h2 id=&#34;安裝couchdb&#34;&gt;安裝CouchDB&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9dcouchdb&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;RedHat 系統執行命令安裝：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;sudo yum -y install epel-release &lt;span style=&#34;color:#ff79c6&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; yum install couchdb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你也可以下載源碼自己編譯安裝，（不建議，超麻煩，Y.Cheung 已經失敗好多次）。&lt;/p&gt;</description>
    </item>
    <item>
      <title>在DRUPAL 7自定義多行表格表單中設置添加行按鈕與刪除行按鈕</title>
      <link>https://szeching.com/custom-table-form-with-add-more-button-and-remove-button-in-drupal-7/</link>
      <pubDate>Tue, 21 Mar 2017 07:54:26 +0000</pubDate>
      <guid>https://szeching.com/custom-table-form-with-add-more-button-and-remove-button-in-drupal-7/</guid>
      <description>&lt;p&gt;標題有點拗口，YCHEUNG也想不出來更好的中文表達，沒懂的朋友直接看內文吧（或者看url的英文標題）。&lt;/p&gt;&#xA;&lt;p&gt;這種功能的表格表單YCHEUNG已經嘗試了五六種方式來寫，但都不滿意。不然就是功能上多少有缺陷，比如無法使用drupal 7 form API的日期type，不然就是很繁瑣的一堆代碼和判斷，看着都頭暈……等，今天終於試出了一個令YCHEUNG較滿意的寫法！分享給大家，也是一種記錄，YCHEUNG有預感，之後還會寫很多個這樣的表單QAQ&lt;/p&gt;</description>
    </item>
    <item>
      <title>drupal 7中操作遠程oracle數據庫</title>
      <link>https://szeching.com/integrate-oracle-database-with-drupal-7-module-oci8/</link>
      <pubDate>Wed, 04 Jan 2017 11:45:38 +0000</pubDate>
      <guid>https://szeching.com/integrate-oracle-database-with-drupal-7-module-oci8/</guid>
      <description>&lt;h2 id=&#34;系統環境需求&#34;&gt;系統環境需求&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e7%b3%bb%e7%b5%b1%e7%92%b0%e5%a2%83%e9%9c%80%e6%b1%82&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;PHP環境最好是 PHP 7，系統最好是紅帽系。&lt;/p&gt;&#xA;&lt;h2 id=&#34;操作步驟&#34;&gt;操作步驟&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%a9%9f&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;安裝oracle-instant-client&#34;&gt;安裝Oracle Instant Client&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9doracle-instant-client&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在&lt;a href=&#34;https://www.oracle.com/technetwork/cn/database/features/instant-client/index-097480.html&#34; target=&#34;_blank&#34;&gt;Oracle官網頁面&lt;/a&gt;中找到系統對應的客戶端下載安裝，比如Y CHEUNG選擇的就是 &lt;a href=&#34;https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html&#34; target=&#34;_blank&#34;&gt;Instant Client Downloads for Linux x86-64&lt;/a&gt; ，Fedora可以下載RPM包直接安裝，非RedHat系統的可能需要先編譯,用&lt;code&gt;make install&lt;/code&gt;的方式安裝。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Centos 7 使用 certbot 安裝Let’s Encrypt SSL 證書</title>
      <link>https://szeching.com/enable-https-with-certbot-on-centos-7/</link>
      <pubDate>Thu, 06 Oct 2016 14:33:33 +0000</pubDate>
      <guid>https://szeching.com/enable-https-with-certbot-on-centos-7/</guid>
      <description>&lt;h2 id=&#34;安裝環境&#34;&gt;安裝環境&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9d%e7%92%b0%e5%a2%83&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;CentOS7 主機&lt;/li&gt;&#xA;&lt;li&gt;Nginx&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;操作步驟&#34;&gt;操作步驟&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%a9%9f&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;安裝certbot&#34;&gt;安裝certbot&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9dcertbot&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#6272a4&#34;&gt;#如果你已經安裝了EPEL,這個步驟可以省略&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;sudo yum install epel-release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#6272a4&#34;&gt;#安裝certbot客戶端&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&lt;/span&gt;&lt;span&gt;sudo yum install certbot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;使用嚮導自動安裝證書&#34;&gt;使用嚮導自動安裝證書&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e4%bd%bf%e7%94%a8%e5%9a%ae%e5%b0%8e%e8%87%aa%e5%8b%95%e5%ae%89%e8%a3%9d%e8%ad%89%e6%9b%b8&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;使用certbot嚮導安裝，有界面，根據指示一步步操作就行，但是YCHEUNG進行到設置webroot的時候就error了，只好放棄&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;$certbot certonly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/certbot1.PNG&#34; data-action=&#34;zoom&#34; alt=&#34;&#34;  class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;命令行安裝證書&#34;&gt;命令行安裝證書&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%ae%89%e8%a3%9d%e8%ad%89%e6%9b%b8&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果失敗，可以自行使用命令行安裝。用 &lt;code&gt;certbot certonly&lt;/code&gt;命令，加上參數 &lt;code&gt;--webroot&lt;/code&gt;表示使用webroot的方式安裝，或者你也可以使用&lt;code&gt;--standalone&lt;/code&gt;方式安裝，standalone安裝需要使用80端口，也就是說一般你的站點需要暫停運行一段時間，不太友好。&lt;code&gt;webroot&lt;/code&gt;則是它會生成一些文件到你的網站目錄下，然後訪問看驗證是否存在，所以使用這種方式的話，你需要在 nginx 裡面做設置，使它生成的驗證文件能夠被訪問。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Centos7 安裝 Postfix 並配置 mailgun 服務</title>
      <link>https://szeching.com/config-postfix-and-mailgun-on-centos-7/</link>
      <pubDate>Wed, 05 Oct 2016 14:26:35 +0000</pubDate>
      <guid>https://szeching.com/config-postfix-and-mailgun-on-centos-7/</guid>
      <description>&lt;p&gt;上次Ubuntu主機配置好郵件服務後沒有及時寫下來備份，結果這次重裝主機就又去search了一番 ，浪費時間，唉～&#xA;畢竟不熟練（&lt;del&gt;我又不是網管又不是運維，哼&lt;/del&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fedora WEB开发环境安装配置</title>
      <link>https://szeching.com/how-to-set-up-web-development-environment-in-fedora/</link>
      <pubDate>Thu, 04 Aug 2016 09:51:21 +0000</pubDate>
      <guid>https://szeching.com/how-to-set-up-web-development-environment-in-fedora/</guid>
      <description>&lt;h2 id=&#34;環境版本&#34;&gt;環境版本&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e7%92%b0%e5%a2%83%e7%89%88%e6%9c%ac&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Fedora 版本： &lt;a href=&#34;https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/24/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-24-1.2.iso&#34; target=&#34;_blank&#34;&gt;Fedora-Workstation-Live-x86_64-24-1.2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;VirtualBox 版本：&lt;a href=&#34;http://download.virtualbox.org/virtualbox/5.0.16/VirtualBox-5.0.16-105871-Win.exe&#34; target=&#34;_blank&#34;&gt;VirtualBox-5.0.16-105871-Win&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;操作步驟&#34;&gt;操作步驟&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%a9%9f&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;关闭selinux&#34;&gt;关闭SELinux&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%85%b3%e9%97%adselinux&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;sudo vi /etc/sysconfig/selinux&lt;/code&gt; ，更改 &lt;code&gt;SELINUX=disabled&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;升级包管理工具&#34;&gt;升级包管理工具&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%8d%87%e7%ba%a7%e5%8c%85%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;sudo dnf install python-dnf-plugins-extras-migrate &lt;span style=&#34;color:#ff79c6&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; dnf-2 migrate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;配置源开启缓存&#34;&gt;配置源，开启缓存&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e9%85%8d%e7%bd%ae%e6%ba%90%e5%bc%80%e5%90%af%e7%bc%93%e5%ad%98&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;修改配置文件，添加以下行，配置使用 dnf 最快源，开启缓存。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;# /etc/dnf/dnf.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;fastestmirror=true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;keepcache=true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;（参考：&lt;a href=&#34;http://dnf.readthedocs.io/en/latest/conf_ref.html&#34; target=&#34;_blank&#34;&gt;DNF Configuration Reference&lt;/a&gt;）&lt;/p&gt;&#xA;&lt;h3 id=&#34;安装chromium&#34;&gt;安装chromium&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%85chromium&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;sudo dnf install chromium&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;生成ssh-key&#34;&gt;生成SSH KEY&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e7%94%9f%e6%88%90ssh-key&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;生成SSH KEY并添加至各服务 (Github/coding.net/ &amp;hellip;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Drupal7中自定义表格输入</title>
      <link>https://szeching.com/theme-form-into-tables-in-drupal-7/</link>
      <pubDate>Sat, 11 Jun 2016 14:19:01 +0000</pubDate>
      <guid>https://szeching.com/theme-form-into-tables-in-drupal-7/</guid>
      <description>&lt;p&gt;Drupal默认的节点表单(entity form)输入有时候并不能满足我们的需求，比如我想做一个类似excel表格输入形式的表单呢？&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;= DEMO点&lt;a href=&#34;https://dev-szechingdemo.pantheonsite.io/demo/theme_table_into_form&#34; target=&#34;_blank&#34;&gt;这里&lt;/a&gt;&#xA;&lt;del&gt;(PS. 用Pantheon的sandbox做了一个随意折腾的drupal站点，真的是折腾死我了= =)&lt;/del&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;首先，新建一个自定义模块，在你的&lt;code&gt;*.module&lt;/code&gt;文件中&lt;code&gt;hook_menu()&lt;/code&gt; 指定一个页面路径，设置页面调用表单，比如这样：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Drupal7 中Restful模组应用简单介绍</title>
      <link>https://szeching.com/a-simple-guide-to-interacive-restful-module-with-drupal7/</link>
      <pubDate>Wed, 08 Jun 2016 16:22:42 +0000</pubDate>
      <guid>https://szeching.com/a-simple-guide-to-interacive-restful-module-with-drupal7/</guid>
      <description>&lt;h2 id=&#34;安装并启用restful-module&#34;&gt;安装并启用Restful Module&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%85%e5%b9%b6%e5%90%af%e7%94%a8restful-module&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.drupal.org/project/restful&#34; target=&#34;_blank&#34;&gt;Restful 2.x &lt;/a&gt; 下载&lt;/li&gt;&#xA;&lt;li&gt;drush 安装 &lt;code&gt;drush dl restful&lt;/code&gt;， &lt;code&gt;drush en restful&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;自定义restful-api模组&#34;&gt;自定义RESTFUL API模组&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e8%87%aa%e5%ae%9a%e4%b9%89restful-api%e6%a8%a1%e7%bb%84&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;可参考restful里的范例 &lt;code&gt;sites/all/modules/restful/modules/restful_example&lt;/code&gt; 或者测试文件内容 &lt;code&gt;sites/all/modules/restful/tests&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;模组文件结构&#34;&gt;模组文件结构&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%a8%a1%e7%bb%84%e6%96%87%e4%bb%b6%e7%bb%93%e6%9e%84&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-txt&#34; data-lang=&#34;txt&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;custom_restfulapi/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;├─ src/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;│  ├─ Plugin/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&lt;/span&gt;&lt;span&gt;│  │  ├─ resource/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5&lt;/span&gt;&lt;span&gt;│  │  │  ├─ entity/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;6&lt;/span&gt;&lt;span&gt;│  │  │  │  ├─ Testentity__1_0.php&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;7&lt;/span&gt;&lt;span&gt;├─ custom_restfulapi.info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;8&lt;/span&gt;&lt;span&gt;├─ custom_restfulapi.module&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;API RESOURCES要放在src/Plugin下。 *.info 和 *.module 的内容跟其他自定义模组的相差无几，方法一样，此处从略。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Krpano Panoramic Video Embed Wordpress plugin</title>
      <link>https://szeching.com/krpano-video-embed-wordpress-plugin/</link>
      <pubDate>Sun, 08 Nov 2015 11:47:15 +0000</pubDate>
      <guid>https://szeching.com/krpano-video-embed-wordpress-plugin/</guid>
      <description>&lt;p&gt;krpano 做 Panoramic Video 的時候很麻煩（&lt;a href=&#34;https://krpano.com/video/&#34; target=&#34;_blank&#34;&gt;官網說明太簡單&lt;/a&gt;），要自己改一堆東西然後上傳，然後再用iframe的方式在wordpress 文章或者頁面中加載，一整個就煩透了。於是用空閒時間順手做了這個插件，稍微簡化了一下流程。&lt;/p&gt;&#xA;&lt;h2 id=&#34;軟體版本&#34;&gt;軟體版本：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e8%bb%9f%e9%ab%94%e7%89%88%e6%9c%ac&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Wordpress 版本 4.3.1&lt;/li&gt;&#xA;&lt;li&gt;Krpano 版本 1.18&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;插件下載&#34;&gt;插件下載：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%8f%92%e4%bb%b6%e4%b8%8b%e8%bc%89&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/amyuki/krpano-video-plugin&#34; target=&#34;_blank&#34;&gt;Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://app.box.com/s/q8tcx32bql1yewspivzopqr95rs6z97e&#34; target=&#34;_blank&#34;&gt;BOX&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;安裝插件&#34;&gt;安裝插件：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%9d%e6%8f%92%e4%bb%b6&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;文件解壓縮至 &lt;code&gt;/wp-content/plugins/&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;將你購買的krpano程序中相應的文件替換掉本插件中的文件，包括 &lt;code&gt;/krpano/krpano.js&lt;/code&gt; 和 &lt;code&gt;/krpano/krpano.swf&lt;/code&gt; ，（本插件中的文件源自未授權demo版，請自行購買授權）。&lt;/li&gt;&#xA;&lt;li&gt;登錄wordpress後台，並激活插件&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;使用插件&#34;&gt;使用插件:&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e4%bd%bf%e7%94%a8%e6%8f%92%e4%bb%b6&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;將 Panoramic Video 壓制成 1920x960 和 1024x512 尺寸，推薦WEBM格式或MP4格式&lt;/li&gt;&#xA;&lt;li&gt;製作 Panoramic Video 封面縮略圖兩張，尺寸分別為1920x960 像素 和 1024x512 像素&lt;/li&gt;&#xA;&lt;li&gt;將視頻和圖片通過FTP上傳至 &lt;code&gt;/krpano/video&lt;/code&gt; 文件夾中&lt;/li&gt;&#xA;&lt;li&gt;點擊編輯器上的按鈕(如下圖所示）在需要嵌入Panoramic Video的地方插入代碼&#xA;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/YUKIMINIPC20151108192756.png&#34; data-action=&#34;zoom&#34; alt=&#34;01&#34;  class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/YUKIMINIPC20151108192959.png&#34; data-action=&#34;zoom&#34; alt=&#34;02&#34;  class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unity3D製作Cardboard全景VR應用</title>
      <link>https://szeching.com/how-to-make-cardboard-vr-app-with-unity3d/</link>
      <pubDate>Tue, 27 Oct 2015 13:30:51 +0000</pubDate>
      <guid>https://szeching.com/how-to-make-cardboard-vr-app-with-unity3d/</guid>
      <description>&lt;h2 id=&#34;本文中所使用的軟體&#34;&gt;本文中所使用的軟體&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%9c%ac%e6%96%87%e4%b8%ad%e6%89%80%e4%bd%bf%e7%94%a8%e7%9a%84%e8%bb%9f%e9%ab%94&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Unity3D 5.1.2f1 （&lt;a href=&#34;https://unity3d.com/cn/get-unity/download/archive&#34; target=&#34;_blank&#34;&gt;官方下載地址&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;Unity 版的 Cardboard SDK（&lt;a href=&#34;https://github.com/googlevr/gvr-unity-sdk&#34; target=&#34;_blank&#34;&gt;官方下載地址&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;Java SE Development Kit 8 （&lt;a href=&#34;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&#34; target=&#34;_blank&#34;&gt;官方下載地址&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;Android SDK （&lt;a href=&#34;https://developer.android.com/studio&#34; target=&#34;_blank&#34;&gt;官方下載地址&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;PTGui （可選）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;操作步驟&#34;&gt;操作步驟&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%a9%9f&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;新建-unity3d-工程&#34;&gt;新建 Unity3D 工程&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%96%b0%e5%bb%ba-unity3d-%e5%b7%a5%e7%a8%8b&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在Unity中新建一個工程： &lt;code&gt;VRtour&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/YUKIMINIPC20151027183847.png&#34; data-action=&#34;zoom&#34; alt=&#34;新建Unity工程&#34;  class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;載入-cardboard-sdk&#34;&gt;載入 Cardboard SDK&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e8%bc%89%e5%85%a5-cardboard-sdk&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;Assets&lt;/code&gt; &amp;gt; &lt;code&gt;Import Package&lt;/code&gt; &amp;gt; &lt;code&gt;Custom Package&lt;/code&gt; ，然後選擇事先下載好的&lt;code&gt;CardboardSDKForUnity.unitypackage&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bublcam 360全景圖片本地編輯指南</title>
      <link>https://szeching.com/how-to-render-bublcam-panorama-on-local-machine/</link>
      <pubDate>Sat, 17 Oct 2015 15:35:41 +0000</pubDate>
      <guid>https://szeching.com/how-to-render-bublcam-panorama-on-local-machine/</guid>
      <description>&lt;h2 id=&#34;使用的軟件&#34;&gt;使用的軟件&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e4%bd%bf%e7%94%a8%e7%9a%84%e8%bb%9f%e4%bb%b6&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Autopano Giga&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;Photoshop&lt;/li&gt;&#xA;&lt;li&gt;Krapano&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;將Bublcam 存儲卡中的圖片用Photoshop打開，並沿著邊框切片並分別保存。&#xA;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/YUKIMINIPC20151017223434.png&#34; data-action=&#34;zoom&#34; alt=&#34;切片&#34;  title=&#34;切片&#34; class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;  &lt;figcaption class=&#34;image-caption&#34;&gt;切片&lt;/figcaption&gt;&#xA;  &#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/YUKIMINIPC20151017223753.png&#34; data-action=&#34;zoom&#34; alt=&#34;保存&#34;  title=&#34;保存&#34; class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;  &lt;figcaption class=&#34;image-caption&#34;&gt;保存&lt;/figcaption&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;將上一步保存的四張圖片導入Autopano Giga，可以看到此時是沒有EXIF信息的，需要我們手動設定。&#xA;&lt;figure&gt;&#xA;  &lt;a class=&#34;paragraph-image&#34;&gt;&#xA;    &lt;img data-src=&#34;https://szeching.com/images/YUKIMINIPC20151017224142.png&#34; data-action=&#34;zoom&#34; alt=&#34;導入圖片&#34;  title=&#34;導入圖片&#34; class=&#34;lazyload&#34;&gt;&#xA;  &lt;/a&gt;&#xA;  &#xA;  &lt;figcaption class=&#34;image-caption&#34;&gt;導入圖片&lt;/figcaption&gt;&#xA;  &#xA;&lt;/figure&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>全景圖製作軟體PTGui與Kolor AutopanoGiga之初體驗</title>
      <link>https://szeching.com/getting-started-with-ptgui-and-autopanogiga/</link>
      <pubDate>Sat, 17 Oct 2015 10:37:55 +0000</pubDate>
      <guid>https://szeching.com/getting-started-with-ptgui-and-autopanogiga/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;全景图（panorama）是一种广角图，可以以画作、照片、影片、三维模型的形式存在。&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;全景，指於球體的空間狀態，視角涵蓋地平線+/-各180°，垂直+/-各90°，就立方體的空間狀態，即為上下前後左右六個面完全包含。尤於水平角度為360°，垂直為180°，能表達這種模式的照片有很多種，又跟球面的投影有關（類似繪製世界地圖的投影，但是是內投影）。 &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>DokuWiki 安装及使用</title>
      <link>https://szeching.com/install-dokuwiki-and-start/</link>
      <pubDate>Fri, 08 May 2015 03:34:59 +0000</pubDate>
      <guid>https://szeching.com/install-dokuwiki-and-start/</guid>
      <description>&lt;p&gt;最近搭建了一个私密wiki用来管理知识碎片及资料等，Y.Cheung 选择了&lt;a href=&#34;https://www.dokuwiki.org/start&#34; target=&#34;_blank&#34;&gt;DokuWiki&lt;/a&gt;这款开源wiki引擎。&lt;/p&gt;&#xA;&lt;h2 id=&#34;dokuwiki优点&#34;&gt;DokuWiki优点：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#dokuwiki%e4%bc%98%e7%82%b9&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;轻便、简洁、可扩展性强&lt;/li&gt;&#xA;&lt;li&gt;免数据库，data直接保存为txt&lt;/li&gt;&#xA;&lt;li&gt;用户众多，方便搜寻及使用各种资源&lt;/li&gt;&#xA;&lt;li&gt;支持markdown语法&lt;/li&gt;&#xA;&lt;li&gt;支持ACL权限控制&lt;/li&gt;&#xA;&lt;li&gt;基于PHP&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;dokuwiki缺点&#34;&gt;DokuWiki缺点：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#dokuwiki%e7%bc%ba%e7%82%b9&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;无移动平台客户端（在github上有找到这个开发项目但已经停止更新好几年了）&lt;/li&gt;&#xA;&lt;li&gt;默认界面简陋难看，提供下载的模版也很丑&lt;/li&gt;&#xA;&lt;li&gt;使用上手有一定的学习成本&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;安装dokuwiki&#34;&gt;安装DokuWiki：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%ae%89%e8%a3%85dokuwiki&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;在&lt;a href=&#34;#ZgotmplZ&#34;&gt;下载页面&lt;/a&gt;选择你要的版本、语言、插件等后下载.tgz文件到本地，再上传至Server&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.dokuwiki.org/install:unpacking&#34; target=&#34;_blank&#34;&gt;解压缩安装包&lt;/a&gt;后在浏览器中访问 &lt;code&gt;http://yourdomain/path_to_dokuwiki/install.php&lt;/code&gt;，根据提示进行即可&lt;/li&gt;&#xA;&lt;li&gt;对文件及文件夹进行&lt;a href=&#34;https://www.dokuwiki.org/install:permissions&#34; target=&#34;_blank&#34;&gt;权限设置&lt;/a&gt;，特别是data文件夹的权限&lt;/li&gt;&#xA;&lt;li&gt;启用默认的.htaccess 文件，按需要去除文件内的#符号&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/a/12901769&#34; target=&#34;_blank&#34;&gt;更改主页图标LOGO&lt;/a&gt;，在多媒体管理器中的wiki分类中上传你的logo.png即可&lt;/li&gt;&#xA;&lt;li&gt;安装插件（&lt;code&gt;http://yourdomain/path_to_dokuwiki/home?do=admin&amp;amp;page=extension&lt;/code&gt;），除了默认插件外，根据需要安装了常用的tag plugin ，Pagelist Plugin ，New PHP Markdown plugin ，Indexmenu Plugin ，可以参考&lt;a href=&#34;https://www.ichiayi.com/wiki/tech/dokuwiki_plugin&#34; target=&#34;_blank&#34;&gt;蔡宗融的推荐&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;开始使用dokuwiki&#34;&gt;开始使用Dokuwiki：&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8dokuwiki&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;基本编辑语法（&lt;a href=&#34;https://www.dokuwiki.org/zh-tw:wiki:syntax&#34; target=&#34;_blank&#34;&gt;官方文档&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;li&gt;创建新页面（&lt;a href=&#34;https://dokuwiki.group.iteye.com/group/wiki/3419-doku-wiki&#34; target=&#34;_blank&#34;&gt;参考&lt;/a&gt;）&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>自动备份网站文件及数据库到dropbox</title>
      <link>https://szeching.com/website-and-mysql-datebase-auto-backup-to-dropbox/</link>
      <pubDate>Mon, 04 May 2015 07:13:00 +0000</pubDate>
      <guid>https://szeching.com/website-and-mysql-datebase-auto-backup-to-dropbox/</guid>
      <description>&lt;h2 id=&#34;環境&#34;&gt;環境&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e7%92%b0%e5%a2%83&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;第三方资源：&lt;a href=&#34;https://github.com/andreafabrizi/Dropbox-Uploader&#34; target=&#34;_blank&#34;&gt;Dropbox Uploader&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;系统环境：Ubuntu x64&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;操作步驟&#34;&gt;操作步驟&lt;a class=&#34;anchorjs-link&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%a9%9f&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;在dropbox官方创建一个新的应用「 &lt;a href=&#34;https://www.dropbox.com/developers/apps/create&#34; target=&#34;_blank&#34;&gt;Dropbox API App&lt;/a&gt;」，获得APP key和APP secret&lt;/li&gt;&#xA;&lt;li&gt;在终端上下载并执行本文开头所引用的第三方资源&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;curl &lt;span style=&#34;color:#f1fa8c&#34;&gt;&amp;#34;https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh&amp;#34;&lt;/span&gt; -o dropbox_uploader.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;sudo &lt;span style=&#34;color:#8be9fd;font-style:italic&#34;&gt;$chmod&lt;/span&gt; +x dropbox_uploader.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;sudo $./dropbox_uploader.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;按照屏幕提示输入APP key和APP secret，许可权限类型选择a，确认后在浏览器中打开终端给出的token链接，完成验证&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
