2019年12月29日 星期日

[工作心得]任務筆記與分配


工作任務的分配,特別是個人獨立作戰的時候,不學會如何分配自己的工作內容,招來各項責難一定是必然的結果,以下分享一下我從社會菜鳥到一個只需要為了新業務加班的心路歷程而學習的一些分配心得。

可以把工作做一個簡單的四個象限來進行分配

1.不重要有急迫性
2.不重要無急迫性
3.重要有急迫性
4.重要無急迫性

1.      不重要有急迫性
這一類的任務有點難判斷,因為急迫性會讓人覺得這點事情有一定的急迫,所以會把手邊重要的任務放下停止,因此很難決定是不是該去進行這樣的任務。
2.      不重要無急迫性
這樣的任務說直接一點,就是所謂的雜事,這類的事情最常派給所謂的菜鳥新人,雖說是雜事、瑣事,而這些都會讓人感到枯燥乏味的任務,可是還是得要有人去執行的任務。
3.      重要有急迫性
這樣象限不用多想,這就是要立刻去完成的任務了!我想這部分因該沒有懸念了吧!
4.      重要無急迫性
這樣的任務,這樣的任務在的成敗一般都是有相當程度的影響性。
因此在比較容易被追蹤與關注,但卻沒有太多的督促性。

但是其中有一個共同的特性,就是每件事情都需要去完成,只是先後順序的差異而已。

因此任務筆記還是需要好好養成的習慣!!

2019年12月10日 星期二

[Security]備份任務觀念

近期一直在處理備份問題,想說來整理一下備份的觀念好了。
目前知道的備份概念分為三種
一、完整備份
二、差異備份
三、增量備份

完整備份:
顧名思義就是把全部的都東西都備份一份起來。

差異備份:
先一份完整備份,之後只備份跟完整備份有差異的部分。

增量備份:
先一份完整備份,之後每次備份指備份跟上一次備份有差異的部分。

這樣簡單介紹不容易區分增量與差異。
那就靠時間軸吧!!!
A、B、C分別代表一個時間點,順序就是A>B>C

完整備份:
完整備份就是三個時間點都是完整的備份一份,這就不用多說了吧!

差異備份:
我們當作A時間點做了完整備份,
B跟A有差異才備份,
C跟A有差異才備份。
這樣以此類推

增量備份:
我們當作A時間點做了完整備份,
A跟B有差異才備份,
B跟C有差異才備份。
這樣以此類推

這樣才能比較容易懂了,就當留個紀錄吧!!!
延伸話題:
這三種方式的各有各的特性,特別是還原動作。

2019年10月14日 星期一

[生命分享]"教授"VS"教練"

在教育方法上,偶爾會探討這兩個詞,"教授"VS"教練"。
我也不是這方面的專家,但我嘗試把這兩個詞在我的生命中探索出來的結果記錄下來。

教授:一般就是上課、聽講等等的方式進行教育訓練,這種教育訓練的成效,普遍較為低落,因為是透過課堂上短短的幾分鐘,或者是演講那短短的幾小時發表,這樣的學習成果,只能依靠這學習者自己的觀念與吸收,因此往往產生不一樣的學習效果,有出類拔萃、有一竅不通等等參差不齊的結果。

教練:一般而言是訓練的感覺,常見的例子就是運動或者技術的傳承方法,透過實際參與並實踐的方式進行教育訓練,又有所謂的"體驗教育"的一種說詞,由於是透過實際操作而非觀念講授,因此最後的學習成果往往都能順利達到一定的水平。

這兩種方式看上去就是不一樣的領域在進行訓練的方式而已,但實際上,這兩種方式一直在各個領域上被人採用。而且這兩種方式其實也有其優劣。目前將我評估的優缺點歸類出來。

教授-優點:
訓練成本較低,訓練時間較短,透過知識灌輸的方式達到教育訓練的目的。
教授-缺點:
成效較不佳,知識活用度與接受度不容易展現。透過大量的課程進而產生學習疲乏的現象。

教練-優點:
透過體驗與實踐的方式達到教育訓練的目的。
容易就其訓練結果轉換成人生的一種習慣。
訓練成果會有一定的效果呈現。

教練-缺點:
訓練成本較高、訓練時間較長、學員要有足夠的耐心與抗壓性。
教育訓練過程中可能會有許多衝突發生。

因此我們在進行教育訓練時,還是要考量到各種狀況。
沒有絕對好的訓練方式,只有互相補足的訓練才能達到教育訓練的目標。


2019年9月21日 星期六

[分析工具]心智圖分析方法

偶爾聽到使用心智圖做問題分析與紀錄。

因此嘗試繪製了一兩張簡單的心智圖,發現的確可以看出許許多多的細節問題。

跟一般常見的條列式紀錄方法,更提高了聯想與紀錄點,透過觀點的發散,提高增加了許許多多的觸類旁通的基石。

關鍵在於出發點的唯一,所以在發散時可以有效的看出各個點的關係與影響程度,由於一開始使用的關鍵就是透過單一事件,進而產出各種屬性,因此在屬性與屬性之間我們容易透過圖畫方式來進行整體性思考,更有利於問題推演。

或許有時在事件分析上,可能兩條線索在條列式紀錄方式下,常常被誤認為兩者是毫無關係,但反觀透過心智圖分析方法,圖卻改變了這個關係式。
以此圖為例,就可以看出參數過濾的觀念,其實不是單一網站風險修改會提出的觀念,但我們若只用條列式出來,就很有可能完全忽略了參數過濾的關係,因而產生新手修改錯誤觀念的產生。

雖說我也是接觸到這個分析方法不久,過去的觀念與實際運用後,發現有這些特性值得記錄下來~


2019年7月12日 星期五

[生命分享]開發觀念,別被語言限制了~

工具只是工具,在熟悉他,她也只是工具,不會變成其他東西。

因此我們常常會問你熟悉甚麼工具,卻都不會去問你懂流程作業嗎?

在工業社會上"流程"這個詞層出不窮,

但教育訓練上"流程"卻只能不斷培養,而不是開一門課,上完課就能學會。


我個人觀點是這樣,工具不用太熟悉,會用就好,畢竟現在是資訊爆炸的時代,透過網路,不熟的東西一定有。

例如說開發網路爬蟲:

取得原始碼>解析原始碼>資料分類>存檔

這樣的流程看上去很清楚明瞭對吧!!

可是我們第一次開發時常常是瞎子摸巷的方式製作。

腦袋裡想的可能會變成這樣:

解析原始碼>存檔>分類

這個例子是誇張了點,是因為我第一次做網路爬蟲時,腦袋真的是這樣想(夠傻吧)

導致爬蟲有為無頭,結果甚麼都做不到也不會變化。

最後知道問題原來這麼簡單,就是運作流程沒搞清楚。

就成就了一些自用小工作的問世,甚至同一個功能可用不同語言撰寫而成。

最後成就了開發流程是這樣:弄清流程>工具開發方式搜尋>完成工具。

我想資訊界的人都會第二關卡關吧,因為工具不熟怎麼開發。

但是我們別忘了,電腦的原型不是1就是0,那樣的話不同工具相同方法也一定可行吧!

所以今天我們要的是一個工具,那就不要去在意是甚麼開發方式,那只會阻擋資訊人邁出下一步。

開發前先想好自己的終極目標吧~~~

2019年6月1日 星期六

[JSON]JSON如何看懂

最近由於開始使用D3.js時,有些時候是使用JSON格式有些時候是使用ARRAY格式,導致範例程式在直接使用上常常需要做一些修改與調教。

也發現常常有人在問JSON格式到底是甚麼?看不懂他的表示方法與使用的注意事項。

今天我來嘗試一下把我所知道的JSON格式,做個簡單的分享與介紹好了。

由於我是依照使用經驗來說明與分享,如有朋友發現錯誤再麻煩回復指教,感謝。

JSON全名JavaScript Object Notation,JavaScript物件表示法,看到中文就知道了,他是可以表示物件的東西,所以他在資料解析上會比我們過往所知道的CSV、XML還要花時間,我依然喜歡使用JSON的原因最大的因素就是他可以把表示物件與陣列,而且相當容易辨識。

這編列一個簡單的JSON結果當作範例來說明好了



從這邊我們可以看出來上面表示一個陣列,下面表示一個物件。
且透過JSON格式化後分別是用中括號與大括號進行分別,
這樣我想因該可以看出一些端倪了吧

沒錯,就是都陣列的多層包覆我們可能會混亂,但若陣列與物件混合使用呢,似乎就成了一個不錯的選擇。

那下面我們就把它混再一起看看結果



這樣我想因該就可以看出來了吧!!

這就是一個陣列有三個值,每個值都存入不同的物件。
跟我們過往使用的二階陣列很不一樣吧!


參考資料:https://zh.wikipedia.org/wiki/JSON

2019年5月29日 星期三

[PHP]簡易爬蟲

這陣子一直遇到一些資訊需要固定去某些網站上擷取下來查看,但每次都要開瀏覽器去點及時在是有些麻煩,突然想到大家不是都說網路爬蟲,加上目前都在寫PHP得程式,就嘗試寫一支來試試看好了。

透過google大神搜尋了一下,知道了PHP中的CRUL函數可以幫我完成這項任務,因此寫了一點東西出來,雖然可以順利爬到資了,但還是要透過一些工具來解析結果,但今天這裡就不說解析那部份(太麻煩了,下次再說)。

網站傳輸還是要分清楚GETPOST這些基本觀念,否則撰寫網頁時真的會常常不知到資料去哪了!!!

今天範例只是可以順利取回該網站的原始碼資訊(爬蟲就是爬這個而已)。
這個範例是我比較常使用的方式因此直接寫出來分享如下

$url = "目標網址";
$data_array = array(需要的參數);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
//文件方式回傳,而不是輸出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data_array));
$output = curl_exec($ch);
curl_close($ch);
echo $output;


其中的目標網址取得方式我個人會先去了解該網站的運行方式,
有些是我們看到的網址列上面的東西就是我們需要的網址,
但現在框架這麼多,又有好用的AJAX,所以我們都知道,搞不好好東西都是才在這邊喔~~~
至於怎麼看出這個資訊,相信需要撰寫爬蟲的夥伴們,我們心照不宣,今天就不多說廢話了~~

雖然我個人有偷懶,把這個麼多行的程式寫成一支物件,在到處使用中~~


2019年4月12日 星期五

[Batch]將資料夾內的SQL檔全數執行

開發系統一段時間後,都發現累積了大量的SQL更新指令。
每次要做系統更新時最痛苦的就是在那執行一堆SQL指令,還要每一隻依序執行下來,
說實話太花時間了~~崩潰阿~~

有一天突發奇想地想用程式呼叫SQL指令來執行,於是傻傻地寫了一隻程式出來玩玩,可是發現在SP更新時不得使用。最後研究了一下錯誤訊息,發現是一些指令有連續關係,因此無法順利執行。哀~人啊~不要太偷懶。

由於聽說有sqlcmd的這道指令後,利馬嘗試了一下。
果然不會出錯了。

今天就來記錄一下sqlcmd的使用方式~

先去命令提示字元的介面輸入sqlcmd /?
就可以看到這個指令的使用方式與說明,但為了未來方便使用與紀錄,我只介紹幾個我有用到的參數而已
-S 伺服器=>這邊就是填寫資料庫的伺服器名稱
-U 帳號=>登入資料庫時所使用的帳號
-P 密碼=>對應帳號使用的密碼
-i 指令路徑=>檔存放的位置

組合起來大概像下面這樣:
sqlcmd -S desktop_user -U user -P user -d DBNAME -i *.sql

但是只有這樣,就一次一個檔案對吧
既然都說有大量了,難不成貼一推這種指令嗎?????

當然不是,我們只需要再搭配FOR指令的運用

FOR /R D:/sql/ %t IN (*.sql) DO (
  sqlcmd -S desktop_user -U user -P user -d DBNAME -i %t
)

這樣來使用,就可以把該資料夾內的所有.sql檔抓出來並且執行。

雖然好用,省了一些時間,可是還是有做不完的工作以及大量差單。

資訊人,工具人,勞苦命啊!




2019年1月20日 星期日

[coding]寫程式的心得(二)

程式撰寫雖然有各有各的創意思維,但也需要顧及團隊的運作與支援。

加上寄幾年來有人討論的敏捷開發與乾淨的程式碼。
其實有時想想,乾淨的程式碼其實就是某種整理的方法吧。
雖然現行已經大量運行MVC framework進行開發了。

今天也是在這邊分享一下在尚未導入MVC Framework的page script的一些建議。
以PHP的程式設計為例:

雖然教科書與學校都會教我們把程式碼寫在page的最上方或是<head></head>之間。
但相信許多程式在撰寫過程中都沒有造此需求進行開發,或許是時間壓力、或許是思維模式還沒到位等等這種可能的原因,導致程式碼混碼模式嚴重。

所以常常會有一些剛轉型從desktop系統轉型到web系統的人都分不清楚甚麼前端甚麼事後端。

這邊簡單的將前後端進行一個定義:
前端:瀏覽器看的到的所有東西如:HTML、CSS、JAVASCRIPT、JQUEY、CHART等等還有許許多多的程式語言或工具。

後端:瀏覽器看不到的東西,屬於Server端運行的程式語言如:ASP.net、PHP、JSP、JAVA、Python等等各種形形色色的程式語言。

再來就我個人經驗分享。

因為是page script因此這些東西都是寫在同一個檔案底下,一般而言我大概會區分為三個區域。

區域一 => 後端程式的撰寫位置:這一區主要是撰寫與伺服器需要的邏輯程式以及與資料庫間傳輸需求。

區域二 => 前端頁面的各種動作:這邊其實就是我們在看網站時有的一些連結或者是特效需求等等的程式需求。

區域三=> 前端頁面的畫面調教:這邊是我們針對頁面上的各個項目進行的色系或者使呈現方式進行的細部調教。

區域四=>頁面顯示的基礎架構:這邊就是學習網站設計最為基本的html標籤啦。

其實我個人分析後,發現MVC架構,若以我這個當原型去拆解的話,就像是把區域一內容進行調教,並且撰寫於不同的檔案之中,再透過自動化程式的方法讓他與區域二、三、四結合再一起的一種設假方法。

當然MVC沒有這麼簡單,他還可以限制撰寫方法,強迫讓團隊的撰寫程式的風格一致化。

當然今天不是要討論MVC架構,而是討論透過MVC的架構分析後,如果遇到沒時間導入或者是想導入但實在沒太多空檔的人一個方向,希望對有這類困擾地的朋友有一點點幫助。



[security]背後窺探

今天來分享個簡單的安全議題。

其實發現大部分的安全議題中,其實都隱含了一些身為一個人的道德操守。

今天簡單講講"背後窺探"這個安全議題。

其實"背後窺探"這個安全議題,說穿了真的可以說是一體兩面,同時也出現了許許多多為了避免這種事情發生的小小工具。

當然先了解一下為甚麼叫做"背後窺探"。

資訊安全觀點:
其實就是簡單的顧名思義,有人在你操作電腦時偷偷看著你的螢幕上的一舉一動,而這些人不只看著你的動作並且記錄下這所有的一切後,利用他的設備操作了相同的動作來進行利用他人權限進行系統操作。

道德操守觀點:
相信許多人都做過這類事情,偷看同學的測驗卷答案、私密信件、孩子們的個人物品等等,但這些事情都會有一些道德勸說,卻不知道後面其實就是現在討論的隱私權問題,以及這個討人厭的背後窺探的元兇。

所以現在有所謂的電腦上有防窺護目,筆記本也出現了可以上鎖的筆記本,看起來這個問題真正的源頭若以隱私或個人資料保護觀點來說,似乎就是所謂的不信任感導致,因此才有了這些創意小物的產生。

其實這些小物最大的重點就是及時上鎖,但我們使用windows系統這麼多年,其實都仗著他有自動螢幕鎖定功能,因此在離開座位時有記得關閉螢幕的人也微乎其微,或許一方面是仗著沒什麼重要資訊吧~,但還是養成習慣比較好。

今天這邊提一個windows的小小快捷鍵ctrl+L(螢幕鎖定快捷鍵)

這樣就像是可以上鎖的筆記本一樣,及時鎖定並需要輸入密碼才能進度到桌面(若密碼是公開或是預設也是沒用的拉~)。

希望本文可以讓人注意保護自己的資料,無論是文件或是工作偷懶的事時都不要被輕易發現與閱讀。

希望大人可以信任小孩、老闆可以信任員工、主管可以信任下屬。
這樣世界才會更加美好~~


[資安]社交工程

 社交工程 在資訊安全領域中所提出的"社交工程"議題,其實也可以說"溝通"一詞的另一個說詞。 人在討論交換訊息時的行為,正是所謂的社交工程的過程一模一樣,主要差異在於行為與意圖。 有心人士預計要蒐集他人的各種資訊使用的對話溝通方式,其中我們...