發表文章

區塊鍊(Block Chain)_理論_挖礦到底是在挖捨麼???

圖片
在探討何謂  「區塊鍊」 以及 其來龍去脈之前 先來回顧 你在日常生活中去便利商店甚至是夜市攤販 買東西時 會給錢 可能是紙鈔或零錢 但是隨著科技發展 漸漸地買東西從實體店面轉為網路電子商務 給錢、付款一詞不再僅侷限於實體給付 更延伸為一筆帳的資料紀錄 所以演變為  「錢」  到底是用捨麼樣子呈現的議題 試想有一個超大帳本裡頭紀載全世界所有人交易買賣的紀錄 任何人的資產和交易紀錄全紀錄在此 會衍生出一些問題 有誰要來建立並管控這個超大帳本呢??? 而且系統細部功能 1.所有權認定(資產要歸給誰、流動的交易錢財歸給誰??) 2.支配權行使(誰有權可以去挪用這些錢??) 3.清算、結算運作 4.資訊紀錄信任(帳戶資訊的保護  、 不可被隨意更動) 圖截自:  http://iknow.stpi.narl.org.tw/Post/Read.aspx?PostID=13354 於是有一個日裔美國人 化名 Satoshi 於2008年 跳出來開發出這套管理大帳簿的伺服器端應用程式(Node節點) 和客戶端(電子錢包 eWallet)連節伺服器的軟體 且整套系統已公開金鑰加密技術(匿名機制) 來確保使用者的安全性  以及資產「所有權」、「支配權」之行使機制 !!! 公鑰(一串0、1字串) 作為  個人帳戶號碼(使用者名稱) 確保 個人隱私(匿名) 各節點間資料傳遞播送方式採用  溢散式(Propagation Casting) 我們大家一起來建立上述這些機制吧 讓願意一起加入這計畫的志願人士(有錢人、企業人) 自備軟硬體和網路來下載Server軟體 使用者只需要下載並安裝即可用這項服務 願意提供伺服器的用戶端就會形成所謂的節點(Node) 終端使用者 (End User) 則可以下載並使用 網路零錢包來和這些節點連結 這就是所謂的  區塊鍊(Block Chain) 最原始雛形 節點間透過網路和彼此訂定的協定來連結更新帳簿資料並確保一致姓 (一個帳簿只要一更動,其餘一起立即更新) 終端使用者透過錢包連任一節點來得到帳簿服務 這一整個網路串起來的架構就像是虛擬的線上銀行帳簿 ...

JAVA_HashMap運作_Set觀念補充_無序的潛藏陷阱

圖片
HashMap會去透過對應一組Key跟Value來做一個值的map存放。 key存在與不存在時的對應值回傳 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package hashmapapp; import java.util.HashMap ; /** * * @author chous */ public class HashMapApp { /** * @param args the command line arguments */ public static void main (String[] args) { // TODO code application logic here HashMap<Integer,String> map = new HashMap<Integer,String>(); map. put ( 5 , "Five" ); map. put ( 8 , "Eight" ); map. put ( 6 , "Six" ); map. put ( 4 , "Four" ); map. put ( 2 , "Two" ); String resultIsExist = map. get ( 4 ); Syste...

JAVA_ArrayList和LinkedList效能比較

圖片
當你是要對資料集合去做固定尾端增、刪時 請愛用 ArrayList 當你是要去特定位置做增、刪時 請愛用LinkedList 固定尾端增、刪 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package linkedlistex ; import java.util.ArrayList ; import java.util.LinkedList ; import java.util.List ; /** * * @author chous */ public class LinkedListEx { /** * @param args the command line arguments */ public static void main ( String [] args ) { // TODO code application logic here //ArrayList: If you only want to add or remove items to the end of list. ArrayList < Integer > arrayList = new ArrayList < Integer >(); //LinkedList: If you want to add or remove items from anywhere in ...

Day3_J2EE(Java 2 Enterprise Edition)_Servlet API_練習匯入war檔案_使用Java Servlet生成網頁

圖片
Web Application和網頁之差別!!! html靜態網頁多數用來做資料靜態呈現,給人瀏覽。 主要處裡資訊顯示的樣式!!!! Web應用系統則是一個放在Server上運行的應用程式 小可小到只做檔案文件中找出特定key word ,大則可到電子商務網站。 像目前接觸的Java Servlets 就是一種 web application 主要處裡 在最早一開始的動態網頁內容互動採用的是一種名為 「共同閘道介面(CGI)」的技術 主要協助網頁與WWW server做互動,達到跟使用者有所來往。 CGI主要會針對每一項來自client端的請求去產生一個process (處裡程序) 也因此會造成大量資源的耗損。 也因應資訊技術進步 產生像是如下三種動態網頁程式語言 ASP(Active Server Pages) : 採用IIS 的特定Server (只可搭配微軟產品) 易學、人性化 PHP(Personal Home Page) : for free、可跨平台 JSP(Java Server Pages) : 主打 Write Once , Run Anywhere,可跨平台!! 共同性:都是可 穿插一些特定程式語言 至html當中使其具備互動性(提交表單、....等等) link: https://corejava25hours.com/category/advance-java-in-25-hours/ Servlet API 基本主要兩部分 javax.servlet javax.servlet.http Java Servlet 程式主要是實作Servlet介面or繼承HttpServlet類的Class file https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServlet.html 有很多常用的開發手段是去繼承 HttpServlet類 來建出Java Servlet程式 覆寫 父類中的  doGet() 或 doPost() 等等  method去實作!!!!! 練習匯入war檔案 網站備存檔案.war (web application archive)...

Day2_J2EE(Java 2 Enterprise Edition)_JSP語法介紹_隱含物件(Implicit Object)

圖片
我們可以在JSP的網頁專案中穿插java code 利用 <%  ..... %> 來做包覆(當你要寫不只一行java code的時候就用) 可以一至多行 <%=.... %> 可能是某一種方法或是變數的宣告 很常使用在賦予值或返回計算結果之情況 做輸出功能可以透過 out.println()去實現 當然我們也可以去透過JSP的程式將一串字串全部轉為大寫 轉換為全大寫 JSP 1 2 3 4 5 6 7 8 9 10 11 12 <% @ page language= "java" contentType= "text/html; charset=BIG5" pageEncoding= "BIG5" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=BIG5" > <title> 英文字母轉為大寫 </title> </head> <body> Hello World 全部轉大寫 :<%= new String( "Hello World" ). toUpperCase () %> </body> </html> 甚至是數值運算或是Boolean判斷都可透過JSP去做 數值計算 / Boolean判別 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <% @ page language= "java" conten...