2017年9月29日 星期五

[生命分享]時間分配

每天都在抱怨時間不夠用嗎!
還在每天加班工作當作是比較認真地為公司賣命嗎!

這樣搞壞身體有誰賠呢!

當然各個職位都有他必須忙碌的事情。
我只能在這分享一些我的個人經驗與方法。
1. 工作分類
2. 進行捨棄與整理
3. 適時調整與休息

1.工作分類
每個職務上都會有一些所謂無意義的雜事存在。
因此可以嘗試將預計今日要完成的工作與被交代的臨時任務做一下分類。
以早上三小時規劃、下午五小時執行的大體分類。
早上三個小時可以進行一些訪談需求確認、資料彙整、行政文件的編輯與交付作業。
下午五個小時可以進行需要連續思考的開發、維護、設計這類需要較為耗時與專注的工作。

2. 進行捨棄與整理
職場上工作是不可能有作完的一天,唯獨有做到一個段落的情況。
因此我會想把一些工作先行彙整後再來評估捨棄工作。
當然這裡的捨棄不是直接不理會該項任務,
而是可以選擇性的交代其他可以協助完成的人協助完。成。
例如說:資訊工程師需要維護與整理環境,若此時兩項工作都要執行時其實我們可以很清楚地因該捨棄整理環境這個選項,因為以工程師而言開發維護作業為第一要務。
但我個人則會有一點點不太一樣的想法,當心中對要開發的項目存在的疑惑與疑問時,我會先選擇整理環境。
此時一般因該會出現一個疑問,為甚麼是整理環境,而不是認真思考開發。反而是捨棄開發這個選項。
或許是個人習慣吧或是經驗給我這樣的思維吧,當身邊的環境混亂時,也會讓自己的思緒跟著混亂。因此開發這類需要思緒清楚的工作執行前,我都會把環境整理好。
所以"捨棄"是要捨棄急躁的情緒,"整理"是要整理好自己的腦袋。

3. 適時調整與休息
有些人的確可以一直工作不休息,但是別忘了!!!
機器用久了要進廠保養。
身體用久了也會生病的。
因此當我們感到累了的時候,就別再繼續了。
休息五分鐘,絕對比連續加班一小時來的報酬率高。
畢竟加班工作換來的會是品質不佳的結果。
那倒不如休息一下,身體、腦袋都冷靜了再來進行工作。
相信可以提高不少效率。

以上是小弟個人自工作到現在的一些小小心得,提供在這讓大家分享。

2016年7月25日 星期一

[jquery]產生新標籤

在撰寫網頁系統時,有時會需要彈性增加一些東西給使用者使用。
一般常見的就是多檔上傳,有種作法是一次可以上傳的檔案數一起產生出來,之後再使用者使用。
但這種方式就是會有一堆上傳欄位。
當然也是有人會用JS去產生這些標籤,讓他動態產生即可。
一般JS會用的函數是innerhtml這個標籤使用。
現在的jquery的方式則是使用append這個函數標籤。
使用方式如下

<div id="more_update"></div>
<script>
$("#more_update).append("<div>我是動態產生的</div>");
</script>

2016年7月19日 星期二

[SQL]複製資料表

最近剛好在做一些新功能時發現需要開新的資料表來用。
再加上想直接引用就程式來使用就好就突發奇想的要來個無痛複製。(似乎不是甚麼可取的方案,特別注意此方法常常犯的錯就是不懂得程式碼直接使用造成錯誤無法排除。)

小弟偏偏就是那個懶人,只是還是有一點點道德,先分析程式碼都看懂了再來複製。
以下就是直接複製資料表的SQL語法。
在這邊留作紀錄方便大家需要時可以領用。

這邊是將舊的資料表欄位及資料一同複製備份出來。
select * into new_table from old_table where 1=1

這邊是將舊的資料表複製出來而不複製其資料行
select * into new_table from old_table where 1=2

2016年6月1日 星期三

[php]檢查Funcation是否已存在 function_exists

設計function時,有時會可能因為是維護別人的系統因此不知道名稱是否已經有被使用過了或是在已經使用了自己卻不知道。
造成出現錯誤,當然找出原本的function是一個比較根源的修正。
此外為了避免這種錯誤發生,畢竟有時是在不同程式宣告使用的。
所以在賺寫function前可以先加上一個判斷

function_exists

這個方法可以幫我們判斷function是否已存在。
我個人的基礎使用反例如下

if(!function_exists('myfunction')){
    function myfunction(){
         alert('自訂方法');
    }
}


如此依來可以先判斷是否存在再去寫新的方法。
如有相同名稱,就不會產生我們新寫的function了。

2016年5月18日 星期三

[SQL]指定排序

一般使用SQL在進行查詢時的固定用法
select * from table
但有常常會需要排序,一班的用的就是利用某個欄位進行排序
select * from table order by name asc
排序故名思義就是要做一下資料整理,因此固定用法中又有順排逆排
分別是"asc" 、 "desc" 這兩種排序方法。
當然偶爾會遇到一些排序需求是無法直接靠這樣固定排函數排法來實現。
因此若確定查詢出來的結果是固定的,其實我們可以在排序的地方改寫一下,就能讓她固定的排序方式了。
select * from table
order  by (case name
when "dion"  then "01"
when "Allen" then "02"
when "Zero" then "03"
End)

利用這樣的寫法下來,其實就可以達到強迫順序指定的效果了。

2016年5月11日 星期三

[Jquery]逐題顯示的測驗系統寫作技巧

雲端測驗是系統的製作時,常常會需要逐題顯示。
較舊的方式利用參數重新查詢題目來顯示。
這種方式已較為單純的方式,純粹靠著後端程式語言即可完成。
當然相對地每次換題都有重新存取資料庫的效能問題。
在雲端測驗系統實在不太適合。
畢竟"測驗",當然是分秒必爭的情境。

因此我在這部分突發奇想(這種方式相信已經很多高手想到並大量使用),
第一次的存取資料庫取的題目時就先將所有的題目一次取出,並排列好的顯示於頁面上。

此時每一筆都放在某個標籤底下如。
<table>
    <tr>
           <td>第一題</td>
    </tr>
    <tr>
           <td>第二題</td>
    </tr>
    <tr>
           <td>第三題</td>
    </tr>
</table>
這樣排列下來,當然為了讓他可以被我們控制自然需要一些命名。
<table>
    <tr class="ltem">
           <td>第一題</td>
    </tr>
    <tr class="ltem">
           <td>第二題</td>
    </tr>
    <tr class="ltem">
           <td>第三題</td>
    </tr>
</table>
像這樣加入了Class標籤後我們利用Class來控制全部,
但這樣還是無法達到竹題顯示的要求。畢竟大家都是一樣的,因此我又加入了ID的標籤
<table>
    <tr class="ltem" id="ltem_1">
           <td>第一題</td>
    </tr>
    <tr class="ltem" id="ltem_2">
           <td>第二題</td>
    </tr>
    <tr class="ltem" id="ltem_3">
           <td>第三題</td>
    </tr>
</table>
如此一來每題的標籤就都不一樣了
此時可以引入jquery或直接使用javasscript。
我就用jquery來調整。
<script>
$(document).ready(function(){
    $(".ltem").toggle();          //將class="ltem" 的標籤轉為隱藏
    $("#ltem_1").toggle();    //將id="ltem_1" 的標籤轉為顯示
});
</script>

至於換題的按鈕就下次再作解釋了。
這算是我在玩toggle時發現的一個小技巧,相信已有人大量使用了。
感謝指教。

2016年4月19日 星期二

[生命分享]觀念的窘竟

開發是一份充滿未知與探索的工作。
雖說現在是一個資訊爆炸的時代。
程式開發的工作雖然都可以在網路上找到相關程式碼或套件等等。
我們擔任開發的技術人員常常可以使用這些套件工具進行開發新功能。
而在此時卻會造成一個嚴重的問題。
就是只要系統會動而不在乎他的真正用意。

或許開發人員會認為我開發完成的程式是可以正常運作的,原則上不會有任何的問題。
但卻忽略了系統使用者的觀感與習慣。

這段時間不斷的在看UI相關的技術時,發現了UX的觀念才是真正可以解決這個問題的關鍵。

有好的UI就相當於始有一件光鮮亮麗的衣服,但有好的UX引入後,反正就成為一個不只看起來光鮮亮麗,更加是一個有能力有內涵的傑出人才。

其中感覺很奇妙吧!

其實就是工程單位最常出現的問題,就是沒有與使用者進行良好的溝通。
當然其中一的原因是,尚未成形的東西,在溝通上往往都是紙上談兵、天馬星空。
這部份想當然而的會成為工程的一個窘境。


[工作心得]會議記錄撰寫原則

 會議記錄撰寫原則 一般而言撰寫會議紀錄時,就是會議決策結果進行文字記錄,藉此留下討倫決策結果並進行對其進行執行作業;透過紀錄的作業紀錄,可以表現出對事件闡述狀況,並呈現出好的說明方紀錄。 會議的用意本身是要進行決策的一個過程,決策結果透過記錄的方式公告出來進行執行方案的推動,在...