發表文章

Red Hat Enterprise 5_VMware配置教學_part1

圖片
Red Hat (Linux)作業系統環境虛擬機設置教學(使用Vmware) 準備工具項目: 1. rhel-server-5.10-x86_64-dvd.iso (從官方網站) 2. VMWare WorkStation pro 12 下載連結: https://developers.redhat.com/downloads/ 點選  Red Hat Enterprise Linux --->進行下載 這裡需要注意要註冊帳戶填寫一些基本資料才可以進行下載 那就是隨意填寫符合格式即可 電話就  1111111111 之類的 住址你也知道的  不需要認真填寫 最新 Red Hat 版本已經到 7.4版本了 https://developers.redhat.com/products/rhel/download/ 這裡你我會困惑到底要點選哪個做下載 別慌張 Red Hat Enterprise Linux Server 縮寫為 -->  RHEL / rhel -server 可以先下載最新版本後續再學怎麼配置 現行我先示範如何找舊的成熟版本 現行網頁上設計  紅色又大的方案紐點選它即可進行下載對應 7.4之ISO檔案 若要下載  舊版就到 View Older Downloads 點開收合 恩   舊版 現行只提供到 7.X開頭的 在你登入官方網站後 https://access.redhat.com/downloads 請至如上連結所在之分頁 請點選  Red Hat Enterprice Linux 那就可以從這去下載對應你所需要之版本 這裡我們要進行下載認識的環境 先以第五版來認識 下載下來的檔案名稱 rhel-server-5.10-x86_64-dvd.iso rhel-server-6.9-x86_64-dvd.iso rhel-server-7.4-x86_64-dvd.iso 要有包含 dvd 這字眼的才能讓 vmware 偵測得到喔...

產業工作心得分享_分工極細_層層聯絡窗口溝通經驗

圖片
圖片來源:[exdez]/Getty Images 截自: https://www.yes123.com.tw/admin/aboutwork/article.asp?w_id=2724 近期工作專案內容由於需要對內部一些設備做一些軟體導入 過程中先是從慢慢盤點軟體環境及設備盤點 到尋找聯絡負責窗口 大大小小前置作業十分重要 因為不同環境上對一些軟體的支援度本身都有差異 此外還有一些財產擁有方的確認作業 在此感觸就是盤出之相關設備列表 發生了存有十分老舊的機型(軟體環境十分舊而導致系統安置受阻) 慢慢地開始嘗試要去找尋窗口 可能就要設法去自己瞭解這幾台過舊設備是否有必要做廠內特定系統之安置 是否有必要 可能你就要先去盤出所有現行設備安置此套特定軟體環境必要之作業環境版本 可能最低要求是捨麼(e.g. OS....XX語言或套件包的版本) 此時還有需要去分析一些設備數量差異 可能現有(只是個比方)絕大多數設備都是採用同一環境標準 此時過舊的設備環境是否適合更新、是否能夠更新、一些安置軟體之可行性 就手邊能夠盤出的資訊和設想問題陳列並即時回饋 此外還需要一直不停從最源頭要求做這項任務的長官或是上層 慢慢地深入去詢問 確認過舊設備的更新以及財產擁有方(可能是廠內or客戶) 很多的東西都必須做過確認的 開始會發現提單的長官(可能是產品部分的) 或許本身對設備的財產擁有方的歸類不太清楚 是一個只知道按鈕按下去就會運行的使用者 但他清楚當前作業系統環境和一些工程detail 那他就給你另一個部門的窗口(可能是業務) 此時你在打給業務窗口開始對談會發現 你可能不能再用同一套跟上一個長官對談之內容 此時的業務可能對產線設備不太瞭解 可能連那個按鈕按下去就會運行的特定軟體是捨麼也不知道 甚至完全無任何工程背景的人(所以你講任何術語都會造成溝通不順) 那此時你不可在這段溝通過程中又放入太多專業術語 盡可能的要簡化並非常簡單的去說明 在這過程從產品到運籌到設備再到業務 我總共聯繫了 快五個窗口 才問到真正對應聯繫的方式 很多事情會發現你要的答案是需要跳層層窗口聯絡才可知曉的 甚至每一層對應窗口或者從長官、老闆到部屬、員工 每一個角色瞭解熟悉層面都不同 因此不能用同一套說法來...

Magic Number_咖啡寶貝???_0xCAFEBABE

圖片
最近由於在研究如何去撰寫Trigger avoid without where-clause 使用 Xmind 繪製 針對一些改善方案要去研究如何去寫這段防範 Trigger 說實在的  根本沒捨麼碰過!!!! 所以算是一項全新挑戰 爬到了 Enforce Where clause on every update statement https://www.sqlservercentral.com/Forums/Topic1076396-145-1.aspx 這篇英文文章 下方有一位十分英明的大大Gianluca Sartori 寫的一段SQL 剛好是覺得可以派的上用場的 只不過....... 只能說 程度不太夠  還真不太能知道Gianluca Sartori大大在寫捨麼 勉強可以知道一些判斷邏輯、流程和變數使用 只不過突然看到一個感覺有點詭異的數字內容 0xCAFEBABE(「cafe babe」) 這個 字面直翻的  "咖啡寶貝"  到底是捨麼????? T-SQL 區塊 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 CREATE TRIGGER MyTrigger ON MyTable FOR INSERT , DELETE , UPDATE AS BEGIN SET NOCOUNT ON ; DECLARE @ program_name nvarchar( 128 ) SELECT @ program_name = program_name FROM sys.dm_exec_sessions WHERE session_id = @@ spid -- Is it SSMS? IF @ program_name LIKE '%Management%Studio%' BEGIN IF CONTEXT_INFO() IS NULL OR CONTEX...

JAVA_介面(Interface)_上

圖片
介面一詞到底要如何去瞭解 事實上於日常生活中我們有很多 具體東西 已經知道可以用 Class的觀念 去看待 但是有些事務實際實作上各自都不同 是比較不能很具體、明確地去實作出一套流程、如何具體實作等等!!!! 也因此介面 很抽象 更不能實體化 預設的存取修飾為public 、 abstract 此時就會透過"介面" 來去定義 介面和抽象類別有點像 只定義方法但 不實作 差別在於抽象類別中也可能包含實作過的方法成員 還有介面中不可定義任一屬性,除非是一種常數(不可更改)。 需要用final去修飾 介面是 被類別實作 介面 可被介面繼承、 可去多重繼承(繼承多個父類別) 且凡是 定義於介面中所有方法成員都是抽象的  因此也不用特定用abstract做修飾描述 有去實作(implements) interface的物件必須要去實作其中所定義的方法 介面 事實上就是 一套規格標準的定義 JAVA中 interface中的方法存取權限都會是public公開的 主要就是要利於其他類去實作 所以可以省略abstract 和 public 修飾 介面定義 interface InterfaceName { [ public ][ static ][ final ] varProperty ; [ public ][ abstract ] method: } 介面實作語法如下 class ClassName implements InterfaceName , InterfaceName2,.... { ... } 可將其裡解為 使用 介面 InterfaceName 來打造 類別 ClassName 介面  可以解釋為 一種身分資格(抽象概念) 介面實作則可想成  想獲取就必須去付出一些證照考取的準備過程 那每個人都有各自不同的準備方法 舉例而言 我想成為某一領域的專家(JAVA 專家 或是 Linux 專家) 就需要去考過某張認證 有人是去透過做考古題、有人是透過做中學 每個人 去實作的方式皆各有不同 有人只想獲取一個資格 有人則想同時獲取兩個資格 /* * To change ...

JAVA物件導向_封裝_繼承_抽象類別_多型的概念

圖片
在物件導向程式設計當中 會探討到所謂  「多形」的概念 那一般會和抽象類別一起探討 其實每一天的任務做的事情就牽扯到這些物件導向設計的觀念 可以用下面的例子來做簡易示範 前人工程師們很辛苦的設計出如下架構 今天若我們想要去滿足使用者輸入特定關鍵字來對應計算出不同形狀的面積 此時我們可以怎麼去做開發前的規劃呢??? 假設user可能會輸入  三角形、正方形、圓形等等的時候 各有各自不同面積計算的公式和對應傳入的參數 所有的形狀都有 計算面積的機制!!!!!!!! 藉此我們創建一個抽象類別命名為 Shape 抽象類別包含以下幾個特徵: 1.無法定義明確細部動作的類別 2.無法產生物件實體 3.包含抽象方法(不具實作細節的方法)的類別 4.以其作為父類繼承的子類必須實作其抽象方法 由下方的UML 進行程式規格設計撰寫 使用staruml 繪製 Shape 抽象類別 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 /* * 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 shape; //無法定義明確細部動作的類別,所以也無法產生物件實體 //包含抽象方法的類別 /** * * @author chous */ public abstract class Shape { protected double area; public abstract void calcArea (); public double getArea (){ return area; } public void printA...

JAVA_String、StringBuffer、StringBuilder_三者差異與記憶體內部運行機制介紹_雙等號與equals差別

圖片
【結論】 效能上 StringBulder(無Thread-Safe) 快於 StringBuffer(有Thread-Safe) 快於 String(會於內部轉為StringBuffer進行較多記憶體運算) 當你在做一些純粹針對 值或內容比對是否一樣時 請愛用 .equals() 盡量不要用雙等號 雙等號 會多 判斷是否參照到相同物件 【細部實作過程推導】 日常JAVA開發工作中最常碰到的就是我們所謂的 字串的相關處裡 這次要先來介紹關於 String 相關物件的運作差異 ============================================================= 1. String 2. StringBuffer 3. StringBuilder ============================================================= 1. String 宣告寫法 在一般String 宣告時 多數JAVA程式設計師 會直接用來作為變數指派 在JAVA 官方API 文件上 可以查到 其實它有許多建構子的多載 這邊先來看一段作為一般變數時指派內部運作細節 code 區塊 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 /* * 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 stringtest1; /** * * @author chous */ public class StringTest1 { /** * @param args the command line arguments ...