一半科學。一半藝術。Code Gen。
科學的部份有可能code gen。
藝術的部份要如何code gen。
只認同原則的reuse。觀念的reuse。
不認同programming是可以完完全全的reuse。
之所以對code gen還存有一絲絲的希望是畢竟其中還有科學的部份。
這部份是可以量化的。
之所以沒辦法蔚為風潮。實實在在的成功是因為難以量化藝術的部份。
這部份code gen何以可成。
標籤: IT
標籤: IT
標籤: IT
標籤: IT
標籤: IT
| 數位憑證是網路上的個人身分證明,由憑證管理中心經過身分的驗證程序後,發給你的一個數位的身分證明。數位憑證也是一種用來驗證使用者或使用服務的身分的技術,利用PKI技術來提供身分識別的能力,以保護網路上資料存取的正確性、保密性等。 |
| Certificate 憑證,也稱為數位憑證(Digital Certificate),是一種驗證的技術,也是網路上的身分證明 我們在登入網頁的時候常常需要輸入帳號與密碼,初次登入某個網站時,還要先註冊這些資訊才能使用。輸入帳號跟密碼最主要的目的,只是為了要作到身分的認證,也就是讓資訊系統能夠認得你是誰,進而能賦予適當的權限,以及便於事後的追蹤記錄。 數位憑證的用意也是如此,讓系統可以辨認、證明身分。簡單地說,數位憑證就是網路上的個人身分證明,由憑證管理中心經過身分的驗證程序後,發給你的一個數 位的身分證明。數位憑證也是一種用來驗證使用者或使用服務的身分的技術,利用PKI技術來提供身分識別的能力,以保護網路上資料存取的正確性、保密性等。 它不僅可以代表使用者,也可以代表電腦/設備、組織機構,甚至是程式的身分,所以才有所謂的個人憑證、伺服器憑證、認證機構憑證、軟體出版者憑證。 一般憑證有效期限為1至3年,視發行者而定,長度最低為40位元,假如要破解目前採用的1024位元RSA密鑰,在短時間內是完全不可能的,所以憑證的安全性是非常高的,但需留意私鑰的保管,這些檔案最好是不能連上網路的地方,例如儲存於磁片。 現今憑證應用的範圍很廣。例如電子郵件方面,用來保障郵件傳輸的安全,也可用來加密與人交換或需要保存的資料檔案;內部工作流程簽核或申辦表單等資料的數 位簽章,也很普遍。目前最常見的運用是在證券公司、銀行、保險等金融單位,主要因為發給客戶的數位憑證(如網路銀行憑證、網路下單憑證、網路保險憑證), 是用來下單委託或是轉帳,需要高度的正確性與保密性。而對銀行業者來說,自動化與數位化的流程,也大大減少服務人員數量,以及降低手動操作上的失誤機率。 除此之外,在網路報稅時,我們也需要搭配使用,就像臺灣政府積極推廣的自然人憑證,主要是以安全性為考量,並希望行政作業流程更為便利。 Public Key Infrastructure, PKI 公開金鑰基礎架構 簡單說,基本上它是一個服務群組,是指結合憑證管理中心,以及非對稱性密碼而形成的系統機制,用來強化網路安全,使用者可以透過網路,安全且經過驗證地與 他人交換資訊,提供一個嚴密的服務平臺。類似現實世界中,我們用簽名、密封文件的方式來保全交換的訊息,PKI主要目的是提供使用者於電子訊息交換時,確 保身份確認性、資料完整性、不可否認性、私密性。 RSA Algorithm RSA加密演算法 於1977年由R. Rivest、A. Shamir及L. Adleman三人所發布,取三人姓氏首字而命名,稱為RSA。這套演算法是以兩個非常巨大的質數為私鑰,兩質數的乘積為公鑰,鑰匙的長度在用戶端應使用 1024位元密鑰,認證管理中心所應用的是2048位元以上。若要強行破解則對方將進行質因數分解才行,但因為當兩質數的值越大時,則質因數分解所耗用的 時間成倍數成長。RSA密碼法在目前算是相當安全。 Public Key、Private Key 公開金鑰、私密金鑰 使用非對稱加密演算法,加密端及解密端會分別使用不同的金鑰。 這兩個金鑰一個稱之為公開金鑰(Public key),簡稱公鑰;另一個稱為私密金鑰(Private Key)簡稱私鑰。公鑰公諸大眾,私密金鑰則由擁有人自行保存。像RSA演算法就屬於非對稱加密演算法,加密時用公開金鑰,解密時須搭配私密金鑰;以私密 金鑰產生簽章,以公開金鑰驗證簽章,而這兩金鑰就是一種非對稱金鑰。 Electronic Signature 電子簽章 電子簽章類似傳統的簽名或蓋章,只是它是以電子形式存在。當簽署者在電子文件上簽章後,表示本人同意文件的內容,並留下可供識別簽署者身分的證 據。2002年以後,臺灣開始實施電子簽章法,效力已具備法律上的地位。由於近年來生物科技(指紋、聲紋、眼虹膜、DNA)等用於鑑別身分的技術,也正快 速的發展,整體而言,任何的電子技術只要能符合特定的安全需求,皆可用來製作電子簽章。 Digital Signature 數位簽章 它是電子簽章技術的一種。以公開金鑰基礎建設為基礎而製作。數位簽章在簽署時,將文件運用雜湊演算法以及私密金鑰進而產生數位簽章。而在驗證時, 使用公開金鑰驗證簽章的真實性。在簽署以電子方式傳送的文件時,確認發送對象的真實身分,防止傳送資料時遭竄改偽造,並可避免事後發生否認的情形。目前數 位簽章已廣泛用於各種電子方式交易,能夠充分保障電子商務交易安全的資訊。 Encryption、Decryption 加密、解密 指將可讀的明文資料經由特定演算方式加以處理,轉化為外人無法讀取的密文資料。依特定演算方式將密文資料轉換回原始明文資料的動作則稱為解密。由 於在網路上常見一些資訊安全問題,如竄改、竊聽、冒名傳送、否認傳送,我們需要使用加密的方式,來保護我們的資料不被竊取竄改。當然,簡單的加密模式容易 破解,重要資料的保護必須使用高安全性的加密模式處理,而不是一般的加密就可以了。 Certificate Authority,CA 憑證管理中心 簡單地說,就是一個製作數位簽章及提供電子認證服務的機構。它是一個具公信力的第三方單位,他們可以對個人及機關團體提供認證及憑證簽發管理等服 務,例如利用憑證管理資訊系統(憑證管理系統、註冊管理系統、目錄伺服器),嚴密管理憑證作業流程,並提供申請者註冊、憑證的簽發、廢止、管理、產生稽核 記錄等服務,來建立具有機密性、識別性、完整性、不可否認性的資訊安全環境。 Secure Sockets Layer,SSL SSL網路安全傳輸協定 它是一個為保障網路上資訊傳輸安全的安全協定,用來提供用戶端和伺服器端的資料加密和認證。SSL使用公開金鑰加密方式作安全認證,而傳遞資料使 用對稱式密碼加密。目前最新版本為SSL v3,國際標準組織將它稍微修改並重新命名為Transport Layer Security(TLS v1.0)。由於兩者相差無幾,故多半沿襲舊稱SSL。現今SSL已成為國際標準,大多數網站要求身分認證的網站都會使用SSL加密技術。 X.509 X.509數位認證標準 X.509標準是由國際電信聯盟(ITU-T)制定的數位認證標準,以公開金鑰基礎架構與電子簽章為基礎而建立。標準中含公開金鑰和使用者的名稱 及資訊,定義了數位憑證的結構,以及利用數位憑證作認證的協定。最新使用的版本為X.509 v3,目前電子商務的安全電子交易(SET)協議就是基於X.509 v3。X.509標準在公共金鑰的密碼格式方面已被廣為接受。 |
標籤: IT
| 藍牙 IEEE802.11b | WiFi |
頻率波段 | 2.4GHz | 2.4GHz |
有效範圍 | 10米 | 91米 |
傳送速率 | 1Mbps | 11Mbps |
同時連接器材 | 7種 | 63種 |
應用網絡 | 個人區域網絡 | 乙太網絡 |
標籤: IT
標籤: IT
| 在人月神話中,工作完成所需的月數,會因人員的增加而遞減,然而由於軟體專案是交互關係複雜的工作,需要大量的溝通成本,因此人數的增加,容易因溝通問題,反而無法達到預期的效果。 |
| |
| The Mythical Man-Month 人月神話,探究工時與人力無耗損互換的迷思 人月神話》出版至今已經超過三十年,一直被視為是軟體專案管理的聖經。《人月神話》之所以能歷久不衰,一方面是作者Frederick P. Brooks, Jr.本身曾擔任IBM System/360與OS/360這類大型軟體系統專案的專案經理,因此能從實務中提取出具體意見。另一方面,即使IT產業在這三十年中飛快成長,然而 《人月神話》對於軟體專案提出的看法與建議,至今仍有參考價值。 所謂的人月(man-month)是用來衡量工作量的單位,也就是一個人在一個月內所能完成的工作量,例如有個專案預估需要12個人月,那麼如果 派了4個人來處理這項專案,理論上只要三個月就能達成。Brooks之所以將這個換算的機制稱為神話,是因為軟體專案在本質上,人力與工時是無法互換的, 換言之,當專案進度落後時,光靠加派人力到該專案中,並不會增加產能,反而有可能讓情況更加失控。 Brooks認為,軟體專案在本質上是系統性的工作,在過程中必須處理複雜的交互關係,在溝通上必須花費不少的成本。 因此Brooks認為,在專案的人員配置上,最好是有如外科手術團隊,利用支援性的角色,協助操刀的外科醫師,讓開刀過程可以更流暢,而不是讓整 個開刀床旁圍滿了一堆外科醫師。另外書中也針對軟體專案的問題,像是架構與實作的分野、溝通的方式、軟案時程預估、預防失敗等多種面向,提出理論與實務兼 俱的立論,希望藉此讓陷入困境的專案能順利走出焦油坑。文⊙黃天賜 Tar Pit 焦油坑 焦油坑是因石油揮發而成的黏稠瀝青,表面會因日照而反射出光亮,而讓野獸誤以為是水池而走近,最後陷在其中無法逃脫。 Brooks以焦油坑作比喻,形容他觀察到的大型系統的軟體開發。雖然系統最後總能釋出、運作,但是開發團隊往往無法達到既定的目標、時程或預算上的要求,因此被種種問題困住的開發團隊,就好像跳不出焦油坑的巨獸一樣。 Tractable Medium 易操控介質 在論及寫程式的樂趣時,Brooks舉出數個原因,包含創造的樂趣、有益於他人、可目睹成果動起來、持續學習的樂趣,以及最後的原因便是易於操控的介質。 在介質這一點,Brooks將程式設計師與詩人相提並論,只要動動腦筋,兩者就可以創造出美妙的事物,而更甚於詩人的是,程式設計的結果,能具體讓人感受到它的運作。一些問題也伴隨容易操控的特性而來,軟體工程便是在解決這些問題。 Aristocracy 貴族政體、菁英份子 軟體系統在設計時,至關重要的一點是保持概念的整體性(conceptual integrity),Brooks認為寧可丟棄某些新奇或更好的特色,以反映出同一組設計理念。 為了達到這樣的目的,在設計系統時,必須採用少數人決定的方式,類似於貴族統治的方式,由架構設計師這類角色,決定系統整體的規格。雖然在開發團隊中採用民主方式,可以廣納意見與創意,卻會破壞概念整體性。 Tower of Babel 巴別塔 巴別塔是聖經上的知名故事,人們想要合作搭建通天的高塔,上帝於是將人類的語言分成多種言語,彼此即無法溝通,高塔的任務即告失敗。 Brooks用這個故事來聚焦軟體開發過程中溝通的重要性,他指出許多問題都源自左手不知道右手在做什麼的情況,因此開發團隊成員應該應用各種方式,包含非正式方法、會議與工作手冊進行溝通。 Document Hypothesis 文件假說 「在成堆的書面資料中,有一小部分關鍵性文件記錄著任何專案管理的核心工作,而這些文件是身為管理者最重要的工具。」這是Brooks提出的假說,而他透過與其他產業運用文件的情況,驗證這個假說的真實性。 紙上作業經常被視為繁瑣、無趣,但Brooks認為對管理者而言,文件能讓團隊的思考與討論更集中,也能作為監督和預警的機制,因此對軟體工程的文件作業和其他產業一樣重要。 Silver Bullet 銀彈 在傳說中,銀彈是殺死狼人的致命武器,因此如果將軟體專案比喻為狼人,那麼能讓狼人一槍斃命的銀彈會是什麼呢?Brooks懷疑這種銀彈並不存在,這和軟體工程的本質有關。 他認為軟體工程的本質是架構許多抽象概念,並進一步制定規格、設計與測試,這造成它的高度複雜性,易變性、隱匿性等特質,因此軟體工程,這些難度不會因為軟體技術進步(像高階語言、整合開發環境)而帶來根本性改變。 Catastrophe 大災難 軟體專案釀成不可收拾的大災難究竟是如何造成的?Brooks認為大災難其實就是每天一點一點地的延誤中造成的。 因此日常的監控機制便相當重要,像是建立明確描述、可量測的里程碑(milestone),或是利用計畫評核圖來監控與應變進度狀況。 另外,成立計畫監控小組,擔任進度的守門員,進而提醒團隊容易疏忽掉的落後時程,對於專案有相當大的幫助。 Auxiliary Program 輔助程式 開發軟體系統,測試與除錯是相當重要的一環,因此建立良好的測試方案就至關重要。Brooks介紹了數種測試方案中應該包含的項目,而在介紹建立充份的測試鷹架(scaffolding)這個項目時,他介紹三種鷹架形式:傀儡組件、迷你檔案和輔助程式。 輔助程式是用來產生測試資料、列印特定分析結果與分析交互參考的表格的工具程式,提升除錯工作的效益。 Surgical Team 外科手術團隊 Brooks認為太多人參與專案開發,往往會增加溝通的成本,容易因為傳達不清形成不良影響。然而面對大系統,精簡的人力又往往增加時間成本。 兩難之中權衡,他認為開發團隊應該像外科手術團隊,不需要每個人都要實際操刀,而是應該安排像隨侍在外科醫生旁邊的支援性角色,增加操刀者的效率與生產力。換句話說,可以適時地加入行政助理、祕書、程式助理等人員。 |
標籤: IT
標籤: IT