發表文章

建置形象網站考量因素與成本分析

圖片
常有人問我有沒有幫人製作網頁,其實這問題並不好回答,可以說有,也可以說沒有,而且要做的其實是網站,網頁只是網站的其中一頁,而且網站有太多要考慮的需求元素。 就我的經驗,很多人想要的都是個人部落格,但他會想要多一點功能,所以會往返於各種網站型態,但最後都是因為價格考量而回到個人部落格,而且是放在免費平台,那麼這篇文章就這麼結束了嗎? 當然不是,以下分析一下各種網站的考量元素,第一個元素是目的,目的大致有幾種 個人使用:我只是想要有個網站,甚麼網站不重要 個人行銷:我想行銷自己的一些產品或者一些理念,個人部落格或臉書粉絲頁都屬於這一種,部落格常看到的就是痞客幫或者我在用的Blogger(我使用Blogger是因為他是Google的產品線,跟Google整合是最方便的) 商業行銷:我要幫公司建置一個網站做行銷,這時候有多種選擇,部落格可能不適合,但臉書粉絲頁是很多人都會選擇的方式,不然就是找人幫忙建置一個形象網站,這邊的形象網站是指你可以自己定義幾個頁面,但沒辦法很方便地將你的相關文章或商品上下架 CMS:CMS=Content Management System,主流工具有Joomla、Wordpress以及Drupal,這三種CMS的差異有機會再專文說明,這類工具有很多免費外掛可以用,所以可以用來管理各種資訊的上下架,但缺點是,功能是由別人寫出來的,無法百分之百合用 客製化的CMS:另一種就是在幾個主流CMS框架上架構出一套客製化的平台,在這個框架上為客戶開發各種特殊功能,未來也可以找別人根據CMS的規範開發各種外掛 全客製化平台:最後一種就是上面的幾種我都不喜歡,我喜歡獨特而且完全為了我客製化的網站,這樣的平台應該最符你想要的,但費用也最高,幾乎都是百萬起跳,而且很難找別人接手 因此網頁的目的可能要考量的有 個人或商業目的 是否需要靈活上下架的功能 是否需要建構在通用平台 是否要完全個人客製化 第二個元素是功能,常見的幾個功能如下 我不要任何功能,你幫我做好一個網站,我也不用維護他了,這種價格比較便宜,但因為網頁沒有變化,所以應該很快就被淘汰了 我要有基本的文章上架架功能,一般的CMS和部落格都會有這功能 商品上下架:這方面筆文章複雜一點,可能需要有價格,單一產品多張圖片,各種解說與客製化欄

進階設定讓搜尋引擎找到你的Blogspot並進行GA分析

圖片
要讓搜尋引擎找到你的帳戶,除了要開啟隱私權索引之外 還要將sitemap送給Google Search Console,而Blogspot有支援幾種主要的sitemap格式,只要在你的連結後面加上以下網址即可成為sitemap,在網路上找了些資料,建議加入以下兩個sitemap: http://hcm86.blogspot.com/sitemap.xml http://hcm86.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=500 第一種sitemap可以提交無限個文章網址,第二個則是可以用來提交1-500個網址,但他的速度比較快,可以馬上提交出去,因此兩個搭配可以有效提出相關的網址給Google,那Google Search Console怎麼用呢? Google Search Console網址為  https://www.google.com/webmasters/tools/home?hl=zh-tw ,進入之後要自己加上自己的網址 然後就會出現你的網站的紀錄 點入這筆紀錄後就可以提交sitemap了,提交的地方如下圖 我標示了左方選單的位置以及右上角新增sitemap的按鈕處,加入sitemap只有輸入後半段網址,我這邊就新增了兩個sitemap如下 接下來Google就會定期去搜尋你的文章了,但Google並不保證會將你的文章列入,因為他還要審核你的文章內容,那麼我們就等幾天再來看結果吧。 在此之前順便提一下另一個重要的東西,就是Google Analytics,這可以用來統計訪問你的網站的相關統計資料,會比Blogger預設的統計資訊詳細許多,收先要先到 Google Analytics 新增一個帳戶,選擇左方的管理,然後選右方的建立帳戶  接下來將相關資訊填寫好,以下是我的範例,大家請填寫自己的資訊 按下取得追蹤碼後請同以相關條款 這時你就會拿到追蹤碼了,下面的追蹤碼是我的,被大家知道也沒關係,因為他只有在我申請的網站有用  最後就是把追蹤碼放到Blogger的設定之中 這樣就完成GA的設定了,你可以在首頁看

軟體工程與專案管理的不歸路

圖片
前一陣子有機會整理一下自己對於軟體工程的認知與了解,讓非程式設計師對於軟體工程有更多的了解,這邊將相關資訊更詳細地整理分享給更多的人了解,首先,何謂軟體工程? 軟體開發是運用既有的程式語言與相關技術基礎開發出想要的功能呈現,但他的結果不一定是好的,例如最終功能不符合最初期待、開發時程遠超過當初的預期、開發成本暴增造成團隊無法負荷、客戶提出的最原始需求並非客戶真正要的需求等等問題,因此軟體業界提出了各種理論來控制上述的問題,這就是軟體工程,大家可以Google軟體工程就可以找到很多軟體工程理論與方法,但這些方法不斷地被驗證與修改,至於哪一個方法是最好的方式可能跟你的團隊能力、成員多寡、團隊主要開發領域有關,沒有一個最好的方法,以下我提到的方法也不會是最好的方法,但可以給大家參考軟體工程師究竟在想甚麼。 首先,最標準的軟體工程定義了甚麼?他的內含主要是針對軟體專案管理需要做甚麼事情做出建議,例如ISO 9001與CMM-I等方法論,他們定義的內含很多,甚至不只是定義給軟體開發產業,ISO 9001是給所有產業的建議,這其中最重要的一環就是『專案管理』,沒有專案管理,團隊只是一盤散沙,但要當好一個專案經理可不是一朝一夕可及,他要懂得所有專案開發階段的相關細節,並且根據實際狀況調整這些流程的應對策略,那軟體開發階段包括哪些步驟,以下是我整理的簡易說明 上圖示一個軟體開發過程中主要會經歷到的階段,其中還有很多細節,例如CMM-I還定義到可行性評估以及風險管理等等(ISO 9001:2015也把風險管理納進流程),但主要還是以上幾個步驟,而軟體開發過程中,越前面的流程失控都會導致後續流程的更大失控,所以專案經理就要在這些流程中隨時反覆地將步調拉回主軸,而除了將一切拉回主軸外,專案經理也要意識到這整個專案的成敗是由專案經理一人所繫,沒有任何藉口。 專案管理的失控原因有哪些,下圖是我整理的大致原因 主要的問題就在於大家輕忽了軟體工程的複雜度,很多人會以以下的觀念 軟體開發不是很成熟的理論嗎?你的失敗一定是因為你沒有照著做 我都給你這麼多資源了,為何還無法如期如質如預算地完成 資訊相關科系畢業的人不是都應該懂這些嗎?為何我還要找你進到公司重新學習? 軟體開發不是軟體工程師的責任嗎?為何經常需要其他部門員工支援? ..... 上面提

網際網路的使用藝術 2.0

圖片
下面這篇文章是十幾年前寫的,有些人覺得這名字不太切題,但我個人還是比較喜歡這個名字,最近有些小省思,想在這基礎上再做點論述,比較能貼合近代科技,大家可以先讀完我的原文,或者直接往下捲到新的2.0版本。 網際網路的使用藝術 醞釀了一個多月,一直在衡量如何取評斷以及區分孰優孰劣,然而評斷總是不好, 也因此,本文會盡量少去判斷,而是以指引的方式來引領大家體解何謂網際網路, 何謂藝術。  網路之功能在於溝通,至於溝通的內容如何就難說紛芸,一般人可能認為網路就是 上上網、寫寫信、聊聊天,然後藏在後面的卻還有許許多多的未知存在,然而這是 一篇介紹文章,而非統整文章,許多東西都只是點到為止。  網路資訊分為文字、影像、聲音等等等,然而最主要的部分在於文字,網路生活與 過去的差異在於隨手可得的文字讓我們可以足不出戶而知天下事,而多樣化的資訊 則讓文字無法呈現的資訊也能躍然紙上,然而在這許許多多的資訊來源中,我們要 如何擷取與尋找則是一門學問。  資訊的接收可以分為主動與被動,一般人都是所謂的被動接收者,所有資訊透過轉 寄或者資訊提供者的主動寄發而將資訊放到你的手上,這種方式對於一般人來說是 最為方便的方式,而且發展至今,許多接收者都會隨手將資訊又轉寄出去,這造成 一些問題:  1.重複:同一封信可能會收到許多次,而有些人甚至就重複地轉寄了許多次。  2.品質:收到一大堆信件後,你真正會去看的可能只是少之又少的內容,其他的東 西可能對你一點用都沒有,甚至對所有人都沒用,還可能出現一些錯誤的觀念與資 訊,錯誤或者無用的資訊就稱之為垃圾,這對許多人造成了某種程度的困擾。  3.法律:一筆資訊是否可以合法轉寄不止,很少人會去思考,基本上,如果原作者 歡迎大家散播,那這筆資料就可以到處寄送,但是只要原作者並未同意或者您也並 未詢問原作者之下就轉寄原作的資訊,可能就有法律上的問題。  4.犯罪:當大家養成了轉寄習慣,許多人便開始利用這個習慣去從事一些不合法的 事情,並且藉由這種有效率的散播方式,將一些騙局以及非法交易傳遞到每個人手 中,能夠判斷其正謬之人自然不會受當,但是卻有許多人會因此蒙受損失。  雖然轉寄資訊有這些問題,但是整個行為對於網路發展卻有某些正面的價值,他促 進了資訊的正面傳遞功能,讓政令與知識能夠在最快的速度下傳到每個人手中,所 以這種網路文化

Google SEO測試

圖片
測試一下Google SEO的規則,一開始到Google找"我的資訊兩三事"是無法找到任何東西的 不過因為這個部落格已經申請好很久了,所以直接用網址搜尋是可以找到這個部落格的  但因為名字這幾天才改的,所以沒有辦法找到,但下方的文字是前幾天輸入的,所以確定Google是會更新的,但不知道他的週期,不過發現很精確地找"凡塵集"還是找不到的,看來還有東西要研究。不過要讓Google搜尋還是可以自己在Blogger設定中設定的 最後做個小實驗,將網站簡介加上我的粉絲團網址 當下還是無法搜尋到"我的資訊兩三事",過了幾天後..... 是的,我可以找到了,主要就是讓Google透過已經搜尋到的部落格知道我還有一個想要推薦給大家的粉絲團網址,不過"凡塵集"還是找不到,因此名稱的獨特性是很重要的,凡塵集這個名字並不獨特,要增加SEO排名是很難的,不過我的資訊兩三事也是一樣的道理,當我把關鍵字拆成"資訊兩三事"就找不到了,主要原因是大家比較常會用"資訊兩三事"來找資料,因此我的排名就被排在很後面,查"資訊"和"兩三事"就更不用說了。 接下來呢?持續Google找到相關資訊,其實很多規則可以加強優化自己的SEO排名,但不建議用黑帽SEO技術,因為他只是讓你一時間衝到很前面,但很快就會被搜尋引擎發現,還是累積自己的內容與人氣比較能被Google青睞。 後續繼續研究相關資訊再分享給大家。

雲端科技淺論

圖片
近幾年很多人在講雲端技術,但甚麼是雲端?這是個新技術嗎?所謂雲端就是將資訊或者運算機制放在別人家,不放在自己家,那網頁技術就是雲端技術嗎?嚴格來說,網頁就是雲端技術的雛形,所以雲端並不是甚麼有趣的新技術,只是一種老飯新炒,但他又不只是把舊技術做出新定義,而是重新包裝成更適合大家需求的使用方式。 那甚麼是雲端,如果是比較技術的回覆,標準回答包括以下三個架構: IaaS: Infrastructure as a Service: 就是提供應提平台給大家使用,不用自己建伺服器,Google Cloud Platform, AWS與Azure等等虛擬主機就是這樣的服務 (GCP/AWS/Azure等技術大都同是涵蓋到PaaS與SaaS) PaaS: Platform as a Service: 就是提供一個平台大家做開發測試等等,這邊指的就是在虛擬主機上提供作業系統,讓使用者可以自由使用,GCP上的App Engine就是一種PaaS應用 SaaS: Software as a Service: 這就是大家比較知道的雲端技術,例如網頁、線上API或GMail等等 因此過去大家熟知的網頁就是SaaS,IaaS與PaaS是比較新的概念,他代表我們不需要自己買硬體來安裝作業系統,所有事情都可以在遠端進行,我們自己的電腦只是一個用戶端(Client),安裝個Windows 10或Ubuntu這類工作站平台就可以了。 雲端架構除了上述分法,還有一個分法就是以開放性界分 公有雲:雲端服務是對外開放的,所有人都可以由網際網路存取,例如開放的網頁 私有雲:只有組織內部可以存取,例如內部才能使用的ERP系統 社群雲:可能由多個組織共同使用的雲,他們有共同的目的與需求,有可能外部第三者管理,例如用Line群組溝通也算是社群雲的一種 混合雲:這是上述多種雲的混合,可能因為需求所致,部分服務是公開的,部分服務是保護在組織內部,中間以DMZ界接 上述的分類並不是唯一的答案,還有很多分法,只是將比較常見到的做個說明。 這邊談雲端主要是看到一些比較新的趨勢,過去大家都在考慮要準備多少伺服器來建構一個服務平台,並考慮到未來可能會增加的使用量,最後規劃出一個效能很好的設備,可能是16核CPU、64G RAM等等高規設備,但最後會遇到的問題經常是

如何在CentOS 7安裝一套完整的LAMP服務 第三章 PHP安裝

圖片
PHP是執行動態網頁程式最常用的方法,其他比較常見的方法還有Java, Python, Ruby, C#等等機制,但PHP還是最常使用的一種方式,這邊先介紹如何安裝比較新的PHP 7版本,以7.1為例,就要建立所屬的Repo,安裝方式很簡單,只要執行以下兩個指令 sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 接下來就可以開始安裝PHP 7.1 sudo yum install mod_php71w php71w-cli php71w-common php71w-gd php71w-mbstring php71w-mcrypt php71w-mysqlnd php71w-xml 以上為比較常用的指令,有需要可以後續再補裝 看到上面的清單就表示可以開始安裝了。 安裝好之後重新啟動HTTPD就可以使用PHP了,PHP的設定檔放在 /etc/php.ini,如有需要可以修改此檔案,再重啟HTTPD使用該功能。 設定檔 設定檔的設定很多,比較常用的在下面做簡單介紹 Upload相關 file_uploads = On <== 是否啟用Upload upload_max_filesize = 2M <== Upload檔案的最大大小,這是指一次所有檔案的總大小 max_file_uploads = 20 <== 一次可以上傳多少個檔案 post_max_size = 8M <== 因為FTP Upload都都使用POST,所以這個也要記得改 Log相關 display_startup_errors = Off <== 錯誤是否顯示在畫面上,請不要打開,很容易被看光光的 log_errors = On <== 是否把錯誤紀錄到log中 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT <== 定義下一頁說明,這是預設的,可以沿用 程式語法