<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>文章清單</title>
		<description><![CDATA[]]></description>
		<link>http://www.ucamc.com/inf/ucamc-list.html</link>
		<lastBuildDate>Wed, 31 Jul 2019 04:17:07 +0800</lastBuildDate>
		<generator>Joomla! - Open Source Content Management</generator>
		<atom:link rel="self" type="application/rss+xml" href="http://www.ucamc.com/inf/ucamc-list.feed?type=rss"/>
		<language>zh-tw</language>
		<managingEditor>jq153387@gmail.com (ucamc)</managingEditor>
		<item>
			<title>Joomla網站GZip壓縮：如何檢查啟用或禁用它</title>
			<link>http://www.ucamc.com/e-learning/joomla/364-joomla%E7%B6%B2%E7%AB%99gzip%E5%A3%93%E7%B8%AE%EF%BC%9A%E5%A6%82%E4%BD%95%E6%AA%A2%E6%9F%A5%E5%95%9F%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E5%AE%83.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/joomla/364-joomla%E7%B6%B2%E7%AB%99gzip%E5%A3%93%E7%B8%AE%EF%BC%9A%E5%A6%82%E4%BD%95%E6%AA%A2%E6%9F%A5%E5%95%9F%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E5%AE%83.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/images/2019-07-30-16-38-42.png" /></p>使**Joomla網站**更快的必須做的事情之一是**啟用Joomla Gzip壓縮**。本質上，它要求服務器在將所有文件發送給用戶之前壓縮它們。由於文件較小，因此可以將更少的時間交付給用戶，從而為用戶帶來更快的整體體驗。

讓我們帶您完成檢查Joomla **GZip壓縮**是否已啟用以及啟用或禁用它的整個過程。
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>Joomla</category>
			<pubDate>Tue, 30 Jul 2019 08:48:19 +0800</pubDate>
		</item>
		<item>
			<title>Javascript如何動態載入模組Dynamic import()</title>
			<link>http://www.ucamc.com/e-learning/javascript/362-javascript%E5%A6%82%E4%BD%95%E5%8B%95%E6%85%8B%E8%BC%89%E5%85%A5%E6%A8%A1%E7%B5%84dynamic-import.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/javascript/362-javascript%E5%A6%82%E4%BD%95%E5%8B%95%E6%85%8B%E8%BC%89%E5%85%A5%E6%A8%A1%E7%B5%84dynamic-import.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/thumb_5x_Javascript-O.png" /></p>[動態import()](https://github.com/tc39/proposal-dynamic-import)引入了一種新的類似功能的形式，import與靜態相比，可以解鎖新功能import。本文對這兩者進行了比較，並概述了新的內容。

## 靜態import（概述）

模塊./utils.mjs

    // Default export
    export default () => {
    console.log('Hi from the default export!');
    };

    // Named export `doStuff`
    export const doStuff = () => {
    console.log('Doing stuff…');
    };
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>Javascript</category>
			<pubDate>Wed, 24 Jul 2019 01:39:31 +0800</pubDate>
		</item>
		<item>
			<title>如何使用 Windows 10 內建實用的快捷鍵開啟螢幕截圖功能</title>
			<link>http://www.ucamc.com/e-learning/computer-skills/361-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8-windows-10-%E5%85%A7%E5%BB%BA%E5%AF%A6%E7%94%A8%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%8D%B5%E9%96%8B%E5%95%9F%E8%9E%A2%E5%B9%95%E6%88%AA%E5%9C%96%E5%8A%9F%E8%83%BD.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/computer-skills/361-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8-windows-10-%E5%85%A7%E5%BB%BA%E5%AF%A6%E7%94%A8%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%8D%B5%E9%96%8B%E5%95%9F%E8%9E%A2%E5%B9%95%E6%88%AA%E5%9C%96%E5%8A%9F%E8%83%BD.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/windows10.jpg" /></p>微軟於 2018 年 10 月所釋出的 1809 版本中，大幅改動了 Windows 內建的螢幕截圖工具，這對使用者的體驗來說改善了許多。Win10 內建新的截圖功能，微軟將其工具取名為『剪取與繪圖』，而且微軟也有將此工具方便使用這使用者，設定了一組**鍵盤快捷鍵**。

## 使用快捷鍵開啟螢幕截圖功能

你只需按下鍵盤的

    Windows鍵 + Shift + S
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>資訊筆記</category>
			<pubDate>Mon, 22 Jul 2019 06:26:18 +0800</pubDate>
		</item>
		<item>
			<title>如何使用Photo Viewer和Photoshop編輯打開儲存WebP</title>
			<link>http://www.ucamc.com/e-learning/computer-skills/360-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8photo-viewer%E5%92%8Cphotoshop%E7%B7%A8%E8%BC%AF%E6%89%93%E9%96%8B%E5%84%B2%E5%AD%98webp.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/computer-skills/360-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8photo-viewer%E5%92%8Cphotoshop%E7%B7%A8%E8%BC%AF%E6%89%93%E9%96%8B%E5%84%B2%E5%AD%98webp.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/html5.png" /></p>在本教程中，我們將了解如何使用**Windows Photo Viewer和Photoshop編輯打開儲存WebP文件**。[WebP](https://zh.wikipedia.org/wiki/WebP)初始版本是2010年，但現在您可以看到它更頻繁地使用。WebP由google開發，google表示它與PNG相比尺寸縮小了26％，有損圖像比JPEG圖像小25-34％，並且像PNG一樣支持透明度。**WebP支持動畫Animated** **WebP**（WebM），它包括了真正的(8bit)alpha通道，每一幀還可以按照需要設置成有損或無損。

## 支援

目前網頁瀏覽器當中，Google Chrome和Opera原生支援靜態與動態的WebP格式，而Google Chrome自12版開始支援WebP的漸進式解碼功能。此外所有可以原生播放WebM影像的瀏覽器，也可以透過javascript來顯示WebP影像。又Pale Moon 26+瀏覽器僅支援靜態的WebP圖像。Firefox瀏覽器亦在65.0版本支援WebP圖像。

網頁瀏覽器GNOME Web和KDE圖片瀏覽器Gwenview也支援WebP。
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>資訊筆記</category>
			<pubDate>Mon, 22 Jul 2019 03:33:03 +0800</pubDate>
		</item>
		<item>
			<title>如何使用Node.js + express 建立一個網站</title>
			<link>http://www.ucamc.com/e-learning/javascript/359-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8node-js-express-%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B%E7%B6%B2%E7%AB%99.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/javascript/359-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8node-js-express-%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B%E7%B6%B2%E7%AB%99.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/thumb_5x_Javascript-O.png" /></p>若提到使用Node.js來架設網站，基本上都會聯想到 Express 模組，以下即是簡單地說明如何使用Node.js + Express 在十分鐘內架設一個網站。

檔案架構:

	node_modules
	view
	--layout.ejs
	--login.ejs
	--index.ejs
	server.js
	package.json

## Step 1. 

建立 package.json

	npm init
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>Javascript</category>
			<pubDate>Fri, 12 Jul 2019 00:34:42 +0800</pubDate>
		</item>
		<item>
			<title>如何在HTML連結標籤中直接下載PDF文件?</title>
			<link>http://www.ucamc.com/e-learning/computer-skills/358-%E5%A6%82%E4%BD%95%E5%9C%A8html%E9%80%A3%E7%B5%90%E6%A8%99%E7%B1%A4%E4%B8%AD%E7%9B%B4%E6%8E%A5%E4%B8%8B%E8%BC%89pdf%E6%96%87%E4%BB%B6.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/computer-skills/358-%E5%A6%82%E4%BD%95%E5%9C%A8html%E9%80%A3%E7%B5%90%E6%A8%99%E7%B1%A4%E4%B8%AD%E7%9B%B4%E6%8E%A5%E4%B8%8B%E8%BC%89pdf%E6%96%87%E4%BB%B6.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/html5.png" /></p>![](images/images/pdfjojlj.png)

這是一個常見問題，網頁上提供pdf文件的鏈接供下載，如下所示

	<a href="http://www.ucamc.com/myfile.pdf">Download Brochure</a>

問題是當使用者點擊此鏈接時，會使用同一瀏覽器窗口中，打開該文件給予預覽。
但希望它能直接給使用者下載，不需要再打開預覽文件。
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>資訊筆記</category>
			<pubDate>Wed, 10 Jul 2019 02:33:49 +0800</pubDate>
		</item>
		<item>
			<title>webpack如何Code Splitting拆分代碼splitChunks</title>
			<link>http://www.ucamc.com/e-learning/javascript/357-webpack%E5%A6%82%E4%BD%95code-splitting%E6%8B%86%E5%88%86%E4%BB%A3%E7%A2%BCsplitchunks.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/javascript/357-webpack%E5%A6%82%E4%BD%95code-splitting%E6%8B%86%E5%88%86%E4%BB%A3%E7%A2%BCsplitchunks.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/thumb_5x_Javascript-O.png" /></p>## webpack中的三個概念module、chunk和bundle

研究splitChunks之前，我們必須先弄明白這三個名詞是什麼意思，主要是chunk的含義，要不然你就不知道splitChunks是在什麼的基礎上進行拆分。《[what are module,chunk and bundle in webpack](https://stackoverflow.com/questions/42523436/what-are-module-chunk-and-bundle-in-webpack)》

* module：就是js的模塊化webpack支持commonJS、ES6等模塊化規範，簡單來說就是你通過import語句引入的代碼。
* chunk: chunk是webpack根據功能拆分出來的，包含三種情況：
	1. 你的項目入口（entry）
	2. 通過import()動態引入的代碼
	3. 通過splitChunks拆分出來的代碼

	chunk包含著module，可能是一對多，也可能是一對一。

* bundle：bundle是webpack打包之後的各個文件，一般就是和chunk是一對一的關係，bundle就是對chunk進行編譯壓縮打包等處理之後的產出。

]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>Javascript</category>
			<pubDate>Tue, 09 Jul 2019 01:01:55 +0800</pubDate>
		</item>
		<item>
			<title>[Node.js] npm 與 yarn 指令比較</title>
			<link>http://www.ucamc.com/e-learning/javascript/356-node-js-npm-%E8%88%87-yarn-%E6%8C%87%E4%BB%A4%E6%AF%94%E8%BC%83.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/javascript/356-node-js-npm-%E8%88%87-yarn-%E6%8C%87%E4%BB%A4%E6%AF%94%E8%BC%83.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/thumb_5x_Javascript-O.png" /></p>## yarn加速安裝的秘密

**yarn** 在於根目錄下.yarn-cache這個資料夾，會將每次安裝套件先cache一份到這來，往後如果需要相同套件，就會從這邊拉。

大多數的指令用法和原本並無差異，只要將 **npm** 換成 **yarn**即可，特別要注意的是 npm install [package] 安裝少數套件在 yarn 是不支援的，yarn 的套件都是必須儲存 (--save)。

]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>Javascript</category>
			<pubDate>Fri, 05 Jul 2019 01:17:54 +0800</pubDate>
		</item>
		<item>
			<title>Javascript二維陣列Array轉換一維陣列及filter過濾重複值</title>
			<link>http://www.ucamc.com/e-learning/javascript/355-javascript%E4%BA%8C%E7%B6%AD%E9%99%A3%E5%88%97array%E8%BD%89%E6%8F%9B%E4%B8%80%E7%B6%AD%E9%99%A3%E5%88%97%E5%8F%8Afilter%E7%AF%A9%E9%81%B8%E9%87%8D%E8%A4%87%E5%80%BC.html</link>
			<guid isPermaLink="true">http://www.ucamc.com/e-learning/javascript/355-javascript%E4%BA%8C%E7%B6%AD%E9%99%A3%E5%88%97array%E8%BD%89%E6%8F%9B%E4%B8%80%E7%B6%AD%E9%99%A3%E5%88%97%E5%8F%8Afilter%E7%AF%A9%E9%81%B8%E9%87%8D%E8%A4%87%E5%80%BC.html</guid>
			<description><![CDATA[<p><img src="http://www.ucamc.com/images/thumb_5x_Javascript-O.png" /></p>## 二維陣列扁平化

三種不同的解決方法
將二維陣列合併為單一的陣列

給定一個陣列：

	var myArray = [[1, 2],[3, 4, 5], [6, 7, 8, 9]];

我們想得到這個結果：

	[1, 2, 3, 4, 5, 6, 7, 8, 9]

### 方法一：

	var myNewArray = [];
	for (var i = 0; i < myArray.length; ++i) {
		for (var j = 0; j < myArray[i].length; ++j){
			myNewArray.push(myArray[i][j]);
		}
	}
	console.log(myNewArray);
	// [1, 2, 3, 4, 5, 6, 7, 8, 9]
]]></description>
			<author>jq153387@gmail.com (Super User)</author>
			<category>Javascript</category>
			<pubDate>Thu, 04 Jul 2019 06:16:06 +0800</pubDate>
		</item>
	</channel>
</rss>
