發表文章

目前顯示的是 2018的文章

甚麼是RWD

圖片
RWD是指Responsive Web Design,翻譯成響應式網頁設計,他的意思就是會根據畫面的條件呈現不同結果,例如在電腦上是一個樣子,在手機上是一個樣子,在平版上又是一個樣子,那該怎麼做這樣的設計,目前主要都是透過CSS技術來達成,在CSS語法中指定螢幕寬度來決定要用甚麼方式呈現,一般大都會分為 PC:寬度在768px以上一般都會被當成PC 平板:一般是指寬度在768px以內的螢幕 手機:一般是指寬度在360px以內的狀況,不過大都會讓手機和平板設計一樣,所以分介一般式在768px 所以我們會在CSS中針對寬度作設定,下面是個範例 @media only screen and (max-width: 768px) { display: block; } @media only screen and (max-width: 480px) { display: flex; } @media only screen and (max-width: 320px) { display: inline-flex; } 上面這一段就是分別對不同的寬度作不同的dispay風格作設定,不過這只是個小範例,如果你沒用過CSS,看不懂是正常的,只是讓你知道程式設計師平常條畫面時大概是在幹嘛,而且真正的CSS調整不會是單純這樣的格式,比較可能像下面這個樣子,他的目的是把一張底圖放進某個區塊 @media screen and (max-width: 768px) #banner_toolbar .logo { height: 0; width: 0vw; background: url(/logo-phone.svg); background-repeat: no-repeat; background-position: center; background-size: 100%; object-fit: contain; } 我要在那邊一個一個解析度設定真的很麻煩,那有簡單一點的方法嗎?當然有,大家比較常用的是Twitter Bootstrap,他提供一個網格系統,他把電腦平板和手機都分成12格,這樣我可以自己決定這邊要幾格那邊要幾個,不用自己去記憶那些解析度,他將畫面分成四種 xs: <768px sm: >=768px md

ISO 9001:2015

圖片
我們常常在說ISO,但你真的知道ISO是指甚麼嗎?其實ISO是一個組織名稱,他代表  International Organization for Standardization,主要是用來做一些國際標準的定義,那我們常常在說你的公司有沒有做ISO,指的又是甚麼,其實這邊指的是ISO 9000這一組標準,其中包括 ISO 9000:ISO 9000的主要詞彙與定義指引 ISO 9001:ISO 9000的主要要求 ISO 9004:ISO 9000績效改善指引 ISO 19001:ISO 9000環境審核指南 因此我們在說的ISO應該是指ISO 9001,尤其公司有研發性質的就會以ISO 9001為主要要求規範,ISO 9000有幾個版本,第一個版本為1987版,接下來為1994→2000 →2008,最新版本為2015,以下大致介紹ISO 9001:2015的精隨。 下圖是ISO很重要的一個概念,所有ISO的的流程都叫做Process,他的重點是要讓某些輸入資訊轉化(transform)為有用的資訊,而不是GIGO(Garbage In Garbage Out),也就是說進入時是垃圾沒關係,但出來之後要變成有用的資訊,如果輸出的資訊是沒用的,那這個Process就是個失敗的流程。 那公司有那些資訊是需要做轉化的呢?每個公司因為性質不同而有不同的結果,例如研發團隊的客行性評估就是一個Process,在這樣的過程中,我們會收集相關的輸入資訊,包括各單位意見、市場分析等等資訊,經過可行性評估的過程,可能包括評估報告的撰寫、開會與會簽等等,最後輸出成可行性評估報告,便可以用來決定是否進行這個專案計畫,這就是ISO文件要定義的資訊,這並不代表ISO要寫一大堆報告,他只是要各個公司是著找出對自己最有用的流程,有些傳產公司的ISO也許只有一張A4文件就夠了,但研發團隊的文件可能就會很多,因為他有很多研發要遵守的流程。 ISO有幾個很重要的工作要做,包括 找出公司的核心價值並且獲得領導者的認可 找出要進行ISO的範圍,也許不是整個公司都做ISO,但建議ISO還是以全公司配合為佳 成立ISO委員會開始相關規畫工作 找出公司的必要流程並撰寫成ISO工作指導書 進行教育訓練,讓所有參與ISO的人了解相關流程 執行並不

軟體開發人天成本的計算方法

圖片
之前有幫人規畫過形象網站,他們的目的是要有一個屬於自己的網站來做產品行銷,因為官網代表著公司的形象,也是進行網路行銷的入門磚,但是當我告訴他一個有些許客製化的形象網站可能會落在三到五萬,對方的反應是,怎麼這麼高,我問他的預算在哪,他也講不出來,我猜他可能覺得一個網站大概只要三到五千吧,這篇文章主要是想讓大家知道軟體開發的人力成本是如何計算的,但這並不是唯一個算法,只是一種大家比較常用來計算的方法。 人天評估的問題另有專文說明,這邊想要解釋的是為什麼一個人天經常會被估成8,000台幣,這有兩個參考理論,第一個是以月薪為假設,我們假設一個還不錯的開發工程師一個月月薪是45,000,那一個月上班22天,他每一天的成本大約會是2,000,如果把公司的開銷都放進去的話,經常會乘以2,也就是4,000元的成本,假設公司獲利20%,大概就是5,000元左右,那3,000的差距為何會存在,因為他是用來配合幾個可能成本 被殺價 需求被一改再改 客戶不配合驗收 因此8,000是一個比較好的起點,但有很多地方已經把價格殺到5,000-6,000,其實根本沒空間了。 另外一個參考資料是採用比較有公信力的一些建立,尤其是資策會公布的『資訊委外服務人員計價參考要點』,可以到以下連結下載 http://admin.must.edu.tw/upfiles/ADUpload/c23_downmul1330722846.pdf 或者政府提供的『資訊服務委外經費估算原則』,連結如下 https://www.dgbas.gov.tw/public/Data/88712263090V1BWDI.pdf 這兩個規範都是將軟體系統分成第一類、第二類與第三類,他的區分主要是系統的規模以及需要的人月,而一般的系統會是第一類和第二類為主,所以他的建議是一個開發工程師的月成本大約是15萬台幣,除以22天,大約是7,000元,基於上面說到的殺價需求,一般大概也會加到8,000元整,因此,這是一個比較有理論基礎的算法。 如果你發現有人跟你說,我一天只要2,000,這時候你就要考慮一下是否要採用這個廠商,因為根據上面的算法,一個月薪45,000的工程師,一天的成本大概就要4,000,而且公司完全不賺錢,假設今天公司用22,000找了一個工程師來寫程式,公司都不賺錢也要2,00

群組版規實務

圖片
社群媒體發達,生活中到處都有群組的影子,群組運作就了就會有越來越多光怪陸離的現象發生,為了解決這些問題,通常會進行管理團隊的推派與版規的建立,並不是所有的社群媒體都會有真正的群主(或稱之為群組管理者),例如Line群組就是個人人是版主、人人有權力的世界,所以第一個動作就是推派群主,雖然這個群主的操作權限不一定跟別人一樣,但是大家會約定成俗地由這些群主進行一些特殊的工作 警告 提出群組 制定群規 那群規有哪些東西要制定呢? 群組目的:至少要把當初建立群組的目的說清楚,這是接下來所有群規的依據 群規: 第一個群規大都是約束大家不要有情緒性字眼以及不尊重他人的字眼或指控 接下來會建議大家那些話題儘量避免,一般就是幾個:政治、宗教與違法議題 也會請大家避免進行借貸或者邀請大家投資等議題,如有需要就建立其他群組 如果真的要討論一些避免提及的議題,請詳細描述個人意見,不要只是轉貼 規定邀請機制,是要設定群組為公開或者封閉邀請制 不得任意修改群組名稱 懲罰規則制定:幾次違規要如何處理,幾次違規會踢出群組等等 群主權力的賦予,所有人約定成俗 尊重他人,所有人都有發言權,你沒有資格要求別人不要提出任何議題,除非版規有嚴格規定 是否禁止廣告或者限制發廣告的方法 是否允許早安圖、問候文等等 是否允許接龍 是否建立記事本收集成員資訊或者建立記事本提供成員分享資訊 以上是幾個比較常在板規中出現的資訊,但也可能因為實際狀況而增加相關資訊,大家就參考看看吧!

加密貨幣交易注意事項

圖片
比特幣大跌,有專家分析主因之一是因為政府加強監管,監管確實有他的好處,但也造成獲利空間限縮,因為有人獲利就會有人損失,因此整個加密貨幣大跌就是因為未來不再會有大漲大跌的空間,不過本文重點不是這個,是要描述一下何謂加密貨幣市場以及要注意那些事情。 加密貨幣技術又稱之為區塊鏈(Blockchain),他的主要精神是去中心化,所有的交易資料都會在網路上不斷散佈,也就世說會有很多人擁有同一份交易資料的備份,不過這些資訊都是匿名的,誰擁有哪個轉入地址並無法被得知,除非這些地址是由有信譽的交易中心所管理的,不然你根本不知道給你加密貨幣的人是誰,你又會將加密貨幣轉給誰。 在這樣的狀況下,還是有一些類是電話黃頁的服務出現,因為每一筆交易都需要一個目標地址,並未產生一個交易序號,所以交易前可以查詢一下交易地址是否合法,如果這個地址是有問題的,可能就會有很多人對他加上一些標註,比特幣可以透過 https://www.blockchain.com/explorer 乙太幣則可以透過 https://etherscan.io/ 從大家的註記(Comment)就可以知道哪一些是常常被拿來詐騙用的地址,以下畫面就是利用etherscan查到的Comment 這裡面說的Scammer就是詐欺者,不過並不是所有詐欺者都會用同一個錢包地址詐騙,他可以能會經常換錢包,所以不管怎樣轉帳前先確認對方身分,但如果怕有意外可以參考以下方法處理 到官方網站透過官方問題處理系統提問 官方的群組中也是可能戶有詐騙者出沒,他傳訊你的時候,即使他的名字跟群組中的管理者一樣,還是到群組中確認一下比較好 透過官方提供的E-Mail處理事情 另外,加密貨幣的合法性很重要,加密貨幣本身並沒有違法,是上面因匿名機制而造成的問題不合法,而加密貨幣的兌現也請不要在網路上自己進行,要在合法的交易中心進行,目前我知道的有MaiCoin、BitPoint等等,甚至全家也可以買賣加密貨幣,這些都是比較正派的交易中心。 加密貨幣的轉帳都需要轉帳費用,雖然這筆轉帳費用並不貴,但他影響你最後成功轉帳的數額,如果你需要轉1顆乙太幣,就請記得加上轉帳費用,不然到的對方可能會是0.99顆。 這兩年,很多新的加密貨幣問世,新加密貨幣的發行叫做ICO,你說這會不

To App or To RWD?

圖片
手機的問市帶來許多便利,所有手機的功能統稱為App,對用戶而言很方便,但卻為開發工程師帶來無止盡的問題,是要開發成原生App還是做成RWD網頁?這個答案取決於你的目的與需求。 談到App,可以再次證明軟體是無價的,沒甚麼價值的,因為每一個人聽到一套App的開發價格要一百萬都覺得不可思議,但這是有道理的,他的複雜度包括 要一次開發兩個平台系統─iOS和Android 每一個平台都要支援最新的幾個版本 每一隻手機的解析度都不一樣,都要做通盤考量 上架有很多規範,尤其是Apple App Store,很難一次就通過審查 手機畫面較小,所以使用者體驗和網頁是完全不一樣的,需要有很長的需求確認時間 那如果我採用RWD網頁呢?如果以下功能並不是你的主要需求,那你只要建置RWD網就就好了 需要即時提供訊息給用戶 需要很方便地使用手機硬體元件,例如項機、麥克風等等 需要可以離線使用 (網頁一定要上網才能用) 想利用手機的支付系統 需要很特殊的使用者體驗(網頁所辦不到的) 如果以上功能不是你覺得重要的功能,就可以使用RWD自適應網頁就好了,用手機的瀏覽器就可以達成目的了,也不用高昂的開發費用。 另外還有一個關鍵因素要考量,就是你的App功能是否會經常更新,如果是,就不建議用原生App,因為App上架都需要審核,而網頁不需要,所以如果你的服務是需要經常更新的,那就不適合原生App了。 以下做個簡單的表格比較 這邊簡單介紹到這邊,之後再找時間介紹甚麼叫原生App?甚麼叫RWD網頁?

將你的Blogspot加入Bing Webmaster

圖片
既然有Google的搜尋,也要考慮Bing,畢竟微軟還是軟體界的大咖,所以先打開 Bing WebMaster 網址,你可以用Microsoft ID或Google帳號做SSO,登入後就可以新增網站 輸入相關資訊後就可以案新增到下一步,下一步會出現一個Meta碼,請複製起來,因為我剛剛驗證通過了,所以會有驗證通過的訊息,第一次新增的不會有這個訊息  然後到Blogger中選擇主題→編輯HTML  將剛剛複製的字串插入下面的位置,然後按『儲存主題』 完成後就可以回到剛剛的頁面按最下方的驗證,就可以通過驗證 跟Google一樣等吧 幾天後 過了五天,還是沒處理過,聽說Bing至少要三天或更長,所以這邊做個小測試,再送一次Sitemap,但送完感覺他不多,就只是提交日期變了 只好再等幾天看看 隔天 是的,又過了一天,終於有被建立索引了 所以結論就是要耐心等候,真的等不了,試著再送一次吧。 不過,雖然索引被提交了,但搜尋還是找不到,這部分要再多研究,有甚麼結論再專文說明吧!

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

圖片
常有人問我有沒有幫人製作網頁,其實這問題並不好回答,可以說有,也可以說沒有,而且要做的其實是網站,網頁只是網站的其中一頁,而且網站有太多要考慮的需求元素。 就我的經驗,很多人想要的都是個人部落格,但他會想要多一點功能,所以會往返於各種網站型態,但最後都是因為價格考量而回到個人部落格,而且是放在免費平台,那麼這篇文章就這麼結束了嗎? 當然不是,以下分析一下各種網站的考量元素,第一個元素是目的,目的大致有幾種 個人使用:我只是想要有個網站,甚麼網站不重要 個人行銷:我想行銷自己的一些產品或者一些理念,個人部落格或臉書粉絲頁都屬於這一種,部落格常看到的就是痞客幫或者我在用的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也把風險管理納進流程),但主要還是以上幾個步驟,而軟體開發過程中,越前面的流程失控都會導致後續流程的更大失控,所以專案經理就要在這些流程中隨時反覆地將步調拉回主軸,而除了將一切拉回主軸外,專案經理也要意識到這整個專案的成敗是由專案經理一人所繫,沒有任何藉口。 專案管理的失控原因有哪些,下圖是我整理的大致原因 主要的問題就在於大家輕忽了軟體工程的複雜度,很多人會以以下的觀念 軟體開發不是很成熟的理論嗎?你的失敗一定是因為你沒有照著做 我都給你這麼多資源了,為何還無法如期如質如預算地完成 資訊相關科系畢業的人不是都應該懂這些嗎?為何我還要找你進到公司重新學習? 軟體開發不是軟體工程師的責任嗎?為何經常需要其他部門員工支援? ..... 上面提