2023年5月10日 星期三

Java-下載憑證放置檔案

各位大大是否有碰過連上 Https 時候出現交握失敗的錯誤訊息
主要原因在於

1. 到瀏覽器下載憑證, 並改為cer副檔名格式

2. 確認jdk路徑( 可能是系統的或是開發用的 )

3. cmd 切換到jdk底下

4. 匯入將憑證到cacerts內讓jvm能執行


 import

bin\keytool.exe -importcert -alias "www.xxx.com.tw" -file jre\lib\security\www.xxx.com.tw.cer -lkeystore jre\lib\security\cacerts -storepass changeit


check

bin\keytool.ext -list -v -alias "www.xxx.com.tw" -keystore jre\lib\security\cacerts - storepass changeit


remove

bin\keytool.exe -delete -alias "www.xxx.com.tw" -keystore jre\lib\security\cacerts -storepass chageit


常見功能說明

*.cer: 網站憑證
alias: 別名
importcacert: 匯入憑證至cacerts
file: 來源檔案路徑
keystore: 憑證庫
storepass: 憑證庫密碼


2023年5月9日 星期二

Jave-Proxy設定

各位大大再開發的時候多少有以下的經驗吧
要如何從內部網路藉由代理伺服器(Proxy)出去外網取得相關資源
如果沒設定好不管如何去執行都只會得到UnKnowHost這錯誤訊息吧
在此紀錄說明

以下當然有少很多說明
特別是 Proxy 機制
有興趣可以查維基百科

一般網路:
Local - 數據機 - Internet

企業( 特殊 ) 網路:
Local - Proxy - Internet


import java.io.IOException;
import java.io.InputStream;
import java.net.Authenticator;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.net.URLConnection;

public class TestProxy {

	public final static String acc = "A123456789";
	public final static String pwd = "!QAZ2wsx";

	public static void main(String[] args) {

		Authenticator.setDefault(new Authenticator() {

			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				// TODO Auto-generated method stub
				return new PasswordAuthentication(acc, pwd.toCharArray());
			}

		});

		System.setProperty("http.proxyHost", "proxy.com.tw");
		System.setProperty("http.proxyPort", "80");

		System.setProperty("https.proxyHost", "proxy.com.tw");
		System.setProperty("https.proxyPort", "80");

		URL url;
		try {
			url = new URL("https://tw.yahoo.com/");
			URLConnection connection = url.openConnection();
			InputStream is = connection.getInputStream();

			int i;
			while ((i = is.read()) != -1) {
				System.out.print((char)i);
			}

		} catch (MalformedURLException e) {
			e.printStackTrace();
			
		} catch (IOException e) {
			e.printStackTrace();
			
		}
	}
}

2023年2月5日 星期日

NPM-NPM是什麼

想必開發前端時會用到或是聽過此名詞
但是這是啥東西
為啥每此開發用到的套件組都需要用到它

説 NPM 之前一定要先提到: Node.js
如果對 Node.js 陌生的大大
請至前章節先簡單了解
否則短時間難以理解其中

回過頭來
你在安裝完 Node.js 後
基本上都會連 NPM 一起安裝完成
所以在命令提示字元都會出現訊息


NPM 是套件管理工具
可以說是管理 Node.js 的小幫手
是的,是 JavaScript管理工具
為了管理和統一專案的品質
有些公司要確保開發者下載的套件來源是正確的
所以都會在放在 NPM 空間提供大家上傳、下載
PS: 開發 Java 就一定聽過 Maven 的概念

為什麼會如此受歡迎
因為他有版本管理的功能
只要在設定檔編寫要

為啥麼要管理要下載的套件名稱或是版本
就可以藉由此設定檔的設定內容
去執行相關的程序作業


雖然 NPM 在管理上面非常方便
但是大家怎麼可能就此不疲
接下來就衍生出 Yarn 這一套工具
雖然都能達到相同功效
但是整體過程仍有些差異


歡迎轉載,請註明出處,

NodeJs-NodeJs是什麼


想必大家對 JavaScript 已就是俗稱的 JS 再熟悉不過吧

但是突然來一個 Node.js 這東東
是和 JavaScript 有任何關聯嗎?
他也是一種程式語言嗎?
能簡化 JS 的方法?
為啥總是有一堆看起來有關聯的東西
看得我好亂呀

大家是否有以上的煩惱
想學習新事物但先被名稱( 詞 )搞亂

如果有這以上問題的話
這篇就是你的解方

簡單帶你了解這是什麼東東
為啥大家都要使用它

在這之前想必大家都一定看過 Node.js-Wiki

但仍可能也非常的模糊
其實在開發過程都一定會遇得到
特別是開發網頁的時候

開啟瀏覽器並開啟開發者工具視窗
然後切換 Console 項目
對,這就是與 Node.js 相似之處
但是必須在瀏覽器去執行 JS 相關指令或操作
PS: 我們這先不談 Html 部分




簡單的說
Node.js 就是一個在本機端驅動程式
以下是在本機端命令提示字元執行 Node.js 的結果


以上瀏覽器與 Node.js 是否看出差異?
看起來是一模一樣的吧

因為瀏覽器與 Node.js 的核心就是:Google V8 JavaScript 引擎
在簡化一點就是把 Google V8 JavaScript 引擎抽離並放在不同地方罷了

結論:
node.js 或 瀏覽器的底層都是:
驅動程式( Google JavaScript 引擎 ) + 基本操作(指令)模組
希望大家不要在被 Node 後面那 js 搞昏頭


以上說明盡可能超白話了


歡迎轉載,請註明出處。