工作中學習收穫
技術面
Oracle SQL
除了有與Microsoft SQL server相同的select、insert、delete等語法外,Oracle SQL也有內建一些僅能在Oracle SQL內用的函式,如下圖:
以下再以文字舉例:
●trunc() → 輸入日期格式,其產生結果為擷取當年的第一天。
● to_date() → 輸入日期格式,按其函數設定,可以產生當週的第幾天等。
● Round() →四捨五入到第幾位。
(eg : ROUND(123.123,2) 輸入123.123,擷取到小數 點第二位;故輸出結果為123.12)
● connected by level → 按照順序排列。
●Decode() → oracle sql專用之 if –else 寫法。
(eg : DECODE(value, if1, then1, else) 測試value,若if1 成立,則輸出then1,以此類推,否則輸出else)
● NVL() → 空值轉換函數。
(eg : NVL(value1, value2) 若value1 為空值,則執行 value2)
●Replace() → 字串替代。
(eg : Replace(str1, str2, str3) 在str1中,若出現str2, 則以str3替代)
●SQL字串相加 → Oracle 以 「||」 符號或以CONCAT()函 數連結。
●SET SERVEROUTPUT ON → 使PL/SQL程序在SQL *plus 中輸出結果。
●SET VERIFY OFF/ON → SQL語句中有替代變量(& or &&) 時,決定是否顯示替代前後語句。
●ACCEPT PROMPT → 對話框設置。
●Execute Immediate → 可敘述無明確指示的SQL語法。
(寫法 : EXECUTE IMMEDIATE <SQL or SPL Commands>
[INTO <variable list>]
[USING <bind variable list>] ; )
Visual Basic 6.0
包括其基本的宣告方式、語法等;其中,Visual Basic 6.0也與一般程式語言一樣,
可以將重複使用的函式定義後並利用呼叫的方式使用,如下圖:
ASP.net
基本語法與學校所學相同,但須學習分辨工程師所提供之程式碼中的函數為C# 本身所提供還是工程師自行撰寫的;此外,由於需連接至資料庫,故需了解連接資料庫之方式。舉例來說,利用SQL語法篩選來代替C# 語法之for迴圈判斷,增加程式效率,
如下圖:
Excel
在製作報表期間,由於其報表的數值是由外部資料庫抓取,但Excel內建怕抓取外部資料庫之數值會出錯,因此會轉換成文字格式;又因為文字格式的緣故,樞紐分析表無法讀取,會造成錯誤。為解決此問題,我找到5種處理辦法,如下:
● 手動將其轉換為數值格式。一般來說,文字格式的數字會靠左對齊,數值格式則會靠右對齊,由此辨別。
● 選取欲修改的欄位,進行資料剖析轉換。
● 在空白格子內輸入1,並選擇齊格式貼上至修改欄位。
● 在欲修改的格子內點選2下即可。
● 在其他欄位利用Excel Value()公式將其取值。
態度面
自我評估與心得
心得感想
1092學期
從實習開始已約莫經過四個月了,從剛開始的期待實習,到面對工作的忐忑,再到感受完成工作時的喜悅,最後期待接收到新工作,我在對實習的心態上轉變很多。
在與同在日月光實習的同學分享中,我感覺我所遇到的主管是對於實習生較為重視的,因為好像只有與我所在的MES2組的實習生需要每天回報工作進度、以及每周需要code review;其實這樣的監督方式除了可以適當的給予進度壓力外,也能審視自己所學的內容。雖然時常有主管嚴格、工作多的感覺,但在與其他同學比較後,感覺我的工作好像也沒有到那麼忙,反而是剛剛好。
另外,日月光很注重程式的可讀性及一致性。在每一次的更新時不可刪除就有程式需註解掉,甚至連版號的編輯都很注重、函數設定也有統一的模式等。讓我了解撰寫程式的紀律很重要,畢竟一支程式並不是只有一個人看,要使每個人都看得懂,程式的可讀性與一致性是相當重要的。
截至目前為止,我認為自己對於實習工作還算適應良好,對於工作的內容中的程式,既不會難到誇張,卻又不完全是與學校一樣的內容;既能從中收穫,卻又不會有過多的壓力,算是蠻幸運的。希望往後的實習也能保有相同的感受,從中一步一步學習,得到寶貴的經驗。
暑期
由於新冠肺炎疫情的緣故,我直到8月才回廠實習。原本想說因疫情延宕這麼就,原本所做的工作可能已有其他人幫我做完,而我即將面對的是新的工作內容;然而,我回廠實習後所做的工作仍與之前相同,使我不用花過多的時間重新熟悉工作內容。
到暑假末端,我原先所做的工作內容已完成的差不多,但遲遲等不到新的工作內容交給我,因此我透過這段期間,將先前所累積的問題一一解決,將上班時間加以利用。然而,雖我先前認為工作量對我來說剛剛好,但未交付新的工作給我使我最近實習較為悠閒,也因此體會到之前學長姐所說的要好好利用實習的空閒時間。
截至整個暑假,並沒有增加新的工作內容,而是將我先前的工作一一完成。沒有新的工作內容雖有較多時間可以利用,但也因此失去許多學習的機會,有好有壞。
1101學期
暑期過後,我與另一位接獲到部門調動的通知,協助新成立組別中的工程師。然而,調動到此部門後,或許是工程師們過於忙碌,又或許是真的沒有工作交付給工讀生,實習的工作負荷有明顯的減少,僅僅有一些小工作進行而已。我便利用這實習的空閒時間,閱讀英文、程式基礎等書籍增進自身的能力。亦有持續學習Oracle PL/SQL的程式撰寫,以準備可能相關工作的交付。
這學期截至目前為止,我較多的時間是運用在自我學習上,雖可以對自身能力有所提升,卻無法透過實際工作衡量成效如何,是較為美中不足的地方。
自我評估
1092學期
在開始實習後,發現自己在學校所學的內容完全不足以支撐工作內容,雖然各程式語言的邏輯都類似,但要上手也並非容易的事;基本上進入公司後,都要重新適應。
然而,透過前期準備工作的學習,以及從工作中獲取能力,我認為自己已經有逐漸步上軌道。我僅僅只是個實習生,所負責的工作內容與所學習的新知相較於正職工程師只是微乎其微,果然各個行業的知識、撇步都博大精深,學海無涯。在做事態度的方面,我認為我也有所改善。往往我都是將事情做到好但需花費很多時間,時間縮短事情就無法做到完美;但經過近四個月的實習,我認知到不可能將每一件事都處理到完美,因此我的做事態度轉為控制在時間內完成,但完美度上達到八成,並隨需要修改,才能將事情在時間限制內做完卻又不失品質。
暑期
相隔將近三個月的時間恢復實習,剛開始花了一點時間重新熟悉工作;這顯示我對於程式的熟悉程度還不足。在暫停實習的期間,我鮮少觸碰程式相關的東西。對於程式的自我學習我還不夠,若要持續在這方面的業界發展,這個問題必須改善。
此外,我對於工作的心態調整還須修正。時常想將工作做到沒有紕漏、或是自行解決問題,這都會導致工作時間的延長。雖然深知工作、寫程式不太可能一次搞定,通常需經過多次修改才能完成,但面對心態的調整依舊難以適應。
1101學期
實習逐漸邁入尾聲,我認為我學到最多的反而不是程式能力的提升,而是時間管理、做事態度的改變。由於暑假開始後到現在被交付的工作內容比例減少,若不多加運用實習空閒時間,就只是坐在位子上虛度光陰而已。
透過自主時間的應用,學習相關程式的撰寫與英文能力的進修,不僅僅對未來2個月可能被交付的工作準備,更是為往後出社會準備。雖薪水領得有些心虛,但仔細想想也不錯。