張怡文

(Vivian Chang)

 在網軟擔任實習生
 就讀元智大學資訊管理學系
 現居台北市
編輯詳細資料
編輯精選

picture相片
查看全部相片
postpic
postpic
postpic
postpic
postpic
postpic
postpic
postpic
postpic
friend朋友
查看全部朋友
  890位朋友
  •  建立貼文
  •  相片 / 影片
  •  直播視訊
  •  生活要事
在想什麼呢?
  • picture相片 / 影片
  • tag標註朋友
  • smile感受 / 活動
  • ...
公開
發佈
張怡文
9月15日 上午10:29

       暑假期間完成了不少案子,尤其是微客公益,他的後台客製足足有10多萬,每一項都是我很認真的做了出來,也花了不少時間,在做這個案子的時候, 過程中主管就告訴了我很多東西,有的是其他人之前在做類似的東西遇到了甚麼樣的問題,像是她之前在作轉檔的代碼維護時,是依照新系統的順序, 不過她後來接到了很多客戶的反應,希望能將代碼順序按照先前舊系統的排序,有些客戶會想要按照自己本來舊系統代碼的順序,我們的新系統就要去調整成和舊系統的一樣, 不然有些客戶在使用上如果有習慣自己的排序,換成新的順序會導致他們使用上的不便。以及應該要如何將功能或是欄位調整做的更好客戶接受度才會高、 也教了我很多思考的步驟及方向,真的十分感謝她的經驗談!在過程中有很多次都很擔心自己做的速度很慢,導致不能如期完成專案,結束這個案子的時候真的有小感動了一下!

       我也發現自己常常寫的程式被檢查出很多小錯誤,就會開始想說為甚麼會沒有想到這種可能會出現的錯誤,或是自己怎麼會沒有檢查地更仔細。再寫一個功能需要考慮到各種狀況因為我們 沒辦法預期客戶會按照我們所想的模式去使用我們的產品,萬一遇到例外的狀況讓整個系統當掉或是跳出錯誤訊息,這些都會導致客戶使用體驗不好,也會讓他們對我們產品的評價降低, 所以更應該要再多多的使自己能夠思考的更加詳細。

       雖然已經能夠大致上清楚整個系統流程,不會還是有很多產品的核心還沒弄的很清楚,也還有很多東西還沒接觸到,所以還是有許多不足的地方,公司的技術課程期時有很多在學校就有上過, 但是實際上在聽課的時候發現自己很多都已經忘了,所以在理解的方面就會需要花比較多時間,很多沒聽過的技術性方面相關知識,也都是上網查了才了解,希望在這段實習的期間, 能夠將不足的地方慢慢的學習起來,日後,也希望自己在工作的效率上能夠大大地提升,也可以減少出錯的機會,額外的下班時間也能多看一些專業書來精進一下自己。

#自我評估#心得感想
likelovehaha
 Jennifer、45129和其他40人


張怡文
9月6日 上午11:43

.技術面

       微客這個案子,從轉舊資料開始就是自己負責,所以完成這一個案子下來,感覺自己更加了解整個捐款系統的作業流程,包含如何和前台的同事配合、和業務進行客製問題的協調,主管也一步步的教我一些新的東西, 有明顯的發現到自己真的有開始在進步,不管是寫程式的速度,還是邏輯上的思考(要如何寫才會比較有效能、同樣的東西可以直接抓取就不用在重複宣告取值),更加是Debug下中斷點找問題的能力,都有比一開始的時候好了許多, 可以參考範例或是想辦法寫出各種功能,在這個案子上真的學習到了很多,主管也會給我一些建議,教我一些比較好的寫法可以增加程式跑的效率。產品優化—電子通知信寄送這個全新功能,因為使用了三個不同的DB,有扣封數的(NPOIS)、 自己的(DonateStandard)、及專門發送電子報的(SendGrid),所以需要查看資料的時候就會要去每個Table看看是否符合所寄送的資料內容,可能資料都寫進對的Table裡,但是資料的內容根本就是錯誤的,就需要仔細的做檢查、測試,去進行不同角度的思維。

       而主管現在也慢慢的在訓練我能夠從一開始告知我現在哪個客戶需要做後台客製,自己能夠去客戶管理系統裡面找該客戶的網站,接著Checkout他們的資料下來做更改,commit上去更新的程式後,也直接能更新DB到Server上,DB一開始也是要學習自己去主機連線去抓取bak檔下來去做還原, 主管就不會再直接給我bak檔、替我更新DB欄位到主機上,因為更新至正式環境,是有客戶在做使用的,所以就要更加的小心。

       我們的捐款系統是提供給非營利組織(NPO)去做使用,而捐款方式就有很多種,其中網路捐款就會需要刷信用卡,這個就要和銀行或是第三方金流公司去做串接,可以學習到整個付款流程是如何操作的,也知道了一些交易的方式,這些都是在學校比較接觸不到的知識,也因此更加的了解了。

.非技術面

       我真的覺得自己的表達能力還需要再加油,常常有很多問題想問,但每次表達出來的話語都會讓主管聽不太懂我不懂的地方,努力地在練習自己的溝通能力,因為之後可能會面對到的是客戶,如果連表達都不清楚的話,客戶對系統就會更加不懂。現在寫出來的程式還是會被主管檢查出一堆小錯誤, 如果自己能夠再更仔細去做測試,再多往其他方向去思考,就會發現很多可以改善的地方,希望能持續的改進這個部份,因為目前已經會將程式更新上正式環境,有些是還在測試中沒有交付,有些可能客戶已經開始再使用了,如果因為不夠細心而將錯誤的東西放上去,造成網站壞掉那真的很不好, 所以再更新前一定要多多在localhost先測試好,此外,公司除了在工作上給予我很大的學習機會,也會另外撥出時間開課程給我們讓我們學習更多相關的知識。

#學習心得
likelovehaha
 Hannah、Nancy和其他40人


張怡文
8月31日 下午8:45

       8月就是著手台灣微客公益行動協會的案子,這個客戶想要在今年轉成新的系統(原本是ASP要轉成ASPX),所以第一個所要做的就是轉他的舊資料到新系統裡, 轉檔程式做了一兩個Table之後就會發現其實沒有很難,除了要仔細比對新舊系統欄位的差異,也要去看看DB內有沒有比較特別的資料,需要額外去作判別寫入。 不過比較要注意的是它原本的前台資料有些客製功能有需要寫進新的系統裡,這時候,新系統頁面上也要加入其客製的功能及欄位。
       以專案活動為例,就會像這樣去整理出新舊系統的欄位對應,有些欄位是客戶根本沒在用到的就可以不用轉入新的,需求單上會將客戶所需要轉檔的範圍一一列表。

.轉舊資料

       這邊是連接DB的程式碼,連到的是這台電腦上的資料庫,若是要在主機上作轉資料就要改成Localhost,可以看到資料是從OldDonateWake轉到DonateWake。 可能會有很多Table需要作轉檔,所以可以看到畫面上會有很多按鈕,我們成功將專案活動這四筆資料轉到新的Table裡了。

       這個是將舊資料設值到新資料裡,等到值都設定好,就會執行以下:strSql = Util.CreateInsertCommand("Act", list, dict),就是成功將資料Insert進去了。

       舊系統換新的客戶,他不像是直接購買新系統的客戶,直接使用一開始的初版(頁面上都會是新系統一開始就有的欄位),他可能已經在舊系統上加了很多客製欄位,這樣我們就需要去將他舊的網站和我們的初版去做比對 看他哪些欄位是做客製出來的,新系統也應該要同步進行修正,下面是這個這個客戶在舊系統上有的客製功能,所以新系統我們也做了一樣的。

       此外,還有做單筆及年度捐款收據套印、台新銀行定期定額請款作業、銷帳檔功能(這個在做瑞智的時候有類似的所以就不呈現了,不過他和第一銀行的整個格式就不一樣,所以當時在做的時候加上測試也是花了一些時間)、 在捐款資料維護加上合作通路及捐款年度的欄位。特別是捐款年度,因為是寫進捐款資料裡,又是必填欄位,所以跟捐款有關的相關頁面,也都需要加上”捐款年度”這個欄位的值,以下是全部所要加的畫面, 可以利用VS的尋找和取代找出所想要加的程式頁面。

.感謝禮維護

       還有感謝禮資料維護,這個功能也是整個頁面都是自己排版的,格式規則也是根據客戶所提出的要求做,不過當時對於一個小欄位有稍做更動,客戶原希望用RadioButtonList呈現,但是因為版面的設計, 所以我最後改了DropDownList(下拉選單),也是配合查詢畫面。

.合作通路效益分析報表

       最後做合作通路的報表分析,這個功能做了~很久,不過覺得自己的思考邏輯因此進步了許多,下了很多中斷點、監看式,雖然很多步驟是和主管一起討論出來的,不會真的覺得學習到了很多,以下是作查詢將結果直接匯出的畫面。

       這是個SQL指令是撈出效益次數為1的捐款資料,捐款資料可能是從捐款來,也可能是從授權書而來(即定期定額),亦或是其他(可能是從匯入作業各種匯入方式而來),所以1可能會是”1/單筆”(這個就一定不是從授權書來的)或是”1/月繳” (只要不是單筆,列如12/月繳,這些都是從授權書來的資料),所以撈出資料如下。

1. strReportData[“月繳群組”]:是去找出所有效益次數的種類。
2. strReportData[“1/單筆”]:是去找出該效益次數的金額種類有哪些。

      以”1/單筆”為例,目前不同的金額有9種,先將此字串切割”,”並放入陣列中,接著跑迴圈,看陣列長度多少將金額一行一行分開,筆數作法也是如此,最後匯出結果呈現。

#暑期實習#轉舊資料#客製調整#感謝禮資料維護#分析報表
likelove
 Peter Jung和其他33人


  查看2則留言
張怡文
7月31日 下午9:32

       這個月做了很多不同客戶的客製需求,像是扶弱成長協會的宣導聯繫紀錄。暑假之前我所做的都只是小改頁面上的欄位,這個客製就是第一個我自己設計的頁面, 需要去看哪樣的排版比較舒服,讓客戶操作上較方便,哪些欄位應該要讓客戶必填哪些欄位需要有限制(像是只能輸入數字、輸入不得超過幾個字、欄位不可以做資料異動)、 哪些欄位可以直接帶入值等等,客戶會有一張對於每個欄位的需求,就要照著上面的做,如果對哪些欄位的設計有更好的想法也都可以提出和主管討論。這個需求雖然要做的滿多, 進入頁面的不同所要導向的頁面也都不是一樣的,不過和之前新人訓練時步驟差不多相同,反倒是在畫面呈現調整上花了比較多的時間。

.宣導聯繫資料維護

      客戶對欄位需求,如下。

.定期定額功能

       瑞智社會福利基金會的中信定期定額功能,產品裡面有個功能叫固定轉帳作業(也可稱定期定額或授權書),這個功能可以說是產品的核心。所謂的定期定額功能,是捐款人會把卡號提供給基金會, 允許基金會用捐款人的卡號在每期扣固定的金額,每期可以是每個月(月繳)/每三個月(季繳)/每年(年繳)…等,是說我固定每個月的五號都會進行捐款,且金額為800元,那麼我的轉帳週期就會是月繳, 批次授權就會是5-第一批次扣款(大部分的都會是選5,因為很多都會是月初發薪,所以比較有錢)。

       那麼基金會如何拿卡號扣款? 他們會在系統裡的請款作業頁面匯出一個請款檔的檔案(會由客戶提供該銀行的格式),這檔案就包含了這個月所有要扣錢的卡號及金額,接著拿這個檔案去銀行的後台上傳, 上傳後可能等個一兩個工作天,銀行的後台就會吐出回覆檔(即銷帳檔),而回覆檔裡面就會註記卡號是扣款成功還是失敗,接著把回覆檔上傳到我們的系統,上傳後就會將這個月所有要扣錢的卡號轉換成下期(因為本期的款已經扣過了, 原本扣款是2020/07/23,下一期就是2021/01/23)。

       那基金會的銀行後台是哪家銀行的後台?通常我們標準版的客戶是採用聯合信用卡公司的後台,聯信公司的請款檔以及回覆檔不管哪一家基金會格式都會長一樣,但如果是其他家銀行的請款檔/回覆檔,就會都不一樣, 像是合庫的請款檔和回覆檔是A格式,中信的請款檔和回覆檔就會是完全跟合庫的A格式不一樣,蠻多基金會會指定說他要跟哪家銀行做請款檔和回覆檔,這樣的話我們就要寫程式花工,而這個客戶就是要跟中信配合。

       通常客戶會提供銀行所需要的請款檔格式,以及所要輸出的檔案類型,和格式裡面所要包含的資料長度及形式,大多格式會有表頭(Header)內容(Detail)尾巴(Tailer),而中信的是只有表頭及內容,且有規定檔名,內容長度。

       請款檔案就是照著這個格式打出來,測試的時候就要比較細心一點,每個欄位都要去算下它的長度和值是否都正確。下圖為匯出的請款檔案。

      中信吐出回覆檔就只有這個欄位的值不同,去註記交易狀態是成功或是失敗。

.超商條碼+匯入銷帳檔

       陽光社會福利基金會的單筆收據加上超商條碼,在做這個的時候也是調版面花了很多時間,因為收據分了三個部分,導致說條碼的位置就變得挺小,但是條碼位置又不能太緊密,不然超商會刷不到條碼的資訊, 這個部分就微調了許多次。而三段式條碼每一個BarCode都是有所對應的值,這個也會有規格書可以參考,第二段條碼的交易序號,必須是唯一值,所以這裡帶入了捐款人編號,比較複雜的是第三段條碼, 其中有一個檢碼,而檢碼(校對碼)的值會有一個特殊算法。

       這裡是計算各段BarCode之奇數值加總值除以11後之餘數,則為檢碼第一碼,偶數值的計算同奇數,最後將兩個string相加得出檢碼值。

       條碼做完後,接著要把有成功繳錢的條碼匯入到系統裡面銷帳檔,格式也是照著客戶給的檔來做,匯進去後要先到一個暫存區,所以要再新增一個DonateTemp的Table,放這些匯進來的資料, 可以按”轉收據”按鈕才會轉到捐款資料裡。

       我們真正要讀取到的資料只有”明細”,也就是錄別為2的資料列,所以我們在讀取TXT檔的資料時就要作判斷,如果開頭是2的才需要進行匯入,是1和3的就不用

      如果有成功比對到捐款人,則匯入成功,若是沒有比對到,失敗訊息就會顯示出原因。

      這筆即是剛剛匯入成功的資料,按”轉收據”按鈕就會轉到捐款資料裡。

#暑期實習#宣導聯繫紀錄#中信定期定額功能#超商條碼
likelove
 Iris和其他53人


  查看2則留言
張怡文
6月30日 下午1:30

       公司會不時的做產品優化的作業,希望將捐款系統的價值更往上推,讓客戶使用到的產品能夠更好。在產品版的優化上也做了一個新的功能, 這個大功能—電子通知信發送,公司目前有一個類似的功能,它是列印出紙張由郵局寄給捐款人,但是公司思考到可能有客戶以後會覺得收紙本很麻煩, 想改用電子化的方式,所以這個新功能就是用電子信件的方式發給捐款人。

       在做這個功能前,我有做過一個電子報發送作業,所以熟悉了電子報的基本架構,再去參考郵件的列印作業,這個優化功能也是想了很多例外的狀況, 和主管討論之後,也將自己想到的例外狀況加進了產品版裡。

.產品版的優化—電子通知信

這個功能的特色是:
     1.可針對不同的性質資料發電子報,可以找出授權書到期/信用卡到期或是針對這個月有捐款超過多少錢的捐款人進行發電子報。
     2.通知信內容放有參數,當發送電子信件時參數會被替換成這捐款人的資料。這樣客戶就可以同一封信件內容可以分別寄給不同的人。

例如信件內容為:
親愛的$DonorName$, 您的信用卡卡號$CardNum$的有效期限已到期,請聯絡發卡行重新提供新卡號!謝謝。 捐款人分給寄給了:TINA 卡號-1111222233334444、Vivian 卡號-1122334455667788,這樣這兩個人收到的信件會分別是
親愛的TINA, 您的信用卡卡號1111222233334444的有效期限已到期,請聯絡發卡行重新提供新卡號!謝謝。
親愛的Vivian, 您的信用卡卡號1122334455667788的有效期限已到期,請聯絡發卡行重新提供新卡號!謝謝。

       我們以捐款感謝信發送為例,可以依據所設下的查詢去撈出所想要的資料,現在我想寄通知信給捐款人編號67的這個人,我們可以按下「信件預覽」 來確定期信件內容是否為我們所要寄的,確定無誤後就可以按下「發送」按鈕。

1.  可以預覽信件內容是否正確。
2.  按下發送後寄送信件至SendGrid,更新資料庫狀態為排程中。(到此並非已完成寄信,而只是將信件送至SendGrid那邊排程,由SendGrid負責寄送信件)
3.  去查看哪些Server或是信箱已被SendGrid設為黑名單,因為SendGrid會檔下已在黑名單裡的信件,不會去做寄送,但仍是算一封信的錢,因此我們會先在資料庫裡建立好黑名單去作比對,這樣就可以替客戶省下錢。

      客戶可以透過我們的系統發信給捐款人,但是時常信發出去了,捐款人不一定會打開信件,為了方便讓我們系統的使用者查看實際發送出去的信件是否有被開啟,就可以知道捐款人到底有沒有開過信, 所以加上了這個判斷—有開啟偵測開信功能就幫它加上一個圖片,這個圖片路徑其實是一支程式,若是捐款人打開了信件,就會去更新資料庫在OpenRate的這個欄位去幫他加1,讓客戶知道說他寄出的信捐款人他到底有沒有開過信,且計算開信次數。

      若是都為”可發送”才可以發 Email。在做這個的時候發現了一個小問題,因為當初設計是參考電子報群組發送的程式,電子報有分成單封發送(欲寄信箱為手 key 進去所以不檢查 會不會是同個信箱)和群組發送(欲寄信箱若是已寄過,則檢查 mail 是否為重複發送), 所以只要是寄過一次的信箱就會直接被記錄在已發過的紀錄裡,這樣下次客戶如果想更改信件內 容再次發送給同個捐款人,就會直接被認定是重複發過的信箱。所以我在這邊做了一個判 斷,在頁面上,去判斷它可以再次進行發送的天數,客戶可以依照自己所設定的天數去進行寄信 。如果是今天是 9/20,我在 9/14 寄過一次,那我想在 7 天後(也就是第 8 天,9/21)再寄一封,不過還未到 9/21,所以記錄裡面就會有此編號存在,所以是不能重複發送的。

      發送排程結果會跳出提示窗,顯示成功失敗各自筆數,也會將成功及失敗結果的紀錄下來,無法發送的也會記錄起來,原因也會分別說明。下圖為成功發送的紀錄。

#暑期實習#產品優化#通知信寄送
likelovehaha
 Anny和其他60人


  查看4則留言
張怡文
6月6日 下午2:40

時間過得好快,來實習的日子一下子就到了第五個月了,在這期間真的也學習到了很多,每天的工作也都十分具有挑戰性,就會知道其實自己在工作中還是有許多不足的地方, 因為是第一次碰到這些東西,所以在理解的方面就會需要花比較多時間,技術性方面的相關知識,很多也都是上網查了才了解,希望在這段實習的期間,能夠將不足的地方慢慢的學習起來,日後,也希望自己在工作的效率上能夠大大地提升,也可以減少出錯的機會。

其中我覺得最為重要的就是學習如何下中斷點,以前在寫一支程式的時候,並沒有學習到要如何下中斷點這個技巧,也沒什麼機會可以寫到上百行的程式碼, 宣告的函式也沒那麼多,所以要檢查是哪邊有誤,都是一行行去找出問題。現在因為寫的是一個系統,有很多支程式在裡面,而且幾乎都是百行起跳,在某個函式裡面又去呼叫了另外一隻函式, 並不像在學校所寫的一看就懂程式執行的順序,在修改要動到的頁面時,要快速找出並大致了解它的架構,讓工作的效率更好,所以學會這個技巧對我而言就顯得非常重要了,目前也在努力學習如何使用這個技巧。

這段期間,使我受益良多,跟一開始相比起來,已經能夠漸漸地跟上這樣一半時間,上課一半時間上班的步調,也因為這樣讓我的生活作息變得更加規律,上班的時候也都會打理好自己,在穿著外表方面也盡量的不要給別人有壞的印象。在公司做事不像在學校修課, 不僅僅是需要對自己負責,也要對公司和同事負責,漸漸抓到步調之後,就比較清楚自己應該做好甚麼事,像是甚麼時候開會,在會前就該把東西都準備整理好、專案完成的進度,時間要自己掌握分配好、處理客戶需求也不可以草草了事,都應該要盡量降低出錯的機率等等,也很謝謝主管, 每一次客戶要做專案需求的時候,都會替我整理好他們所提出來的地方,怕我有不懂,還會更詳細的講述步驟該如何執行,花了心思做成word檔,讓我更能夠下手,很謝謝她的耐心又很細心的帶領著我,給我的工作內容也都很彈性,讓我一步步去了解自己的工作內容,一步步去了解公司捐款系統的每個系統功能。

滿感謝自己有選擇校外實習的機會,才能提前體會到職場生活,我很慶幸自己能夠進入到網軟學習,也很喜歡網軟這間公司,不但每個同事人都很好之外,公司內的設施也都很足夠,在這裡上班感覺是很舒服,不會有太多的壓力,公司也對我們很好,常常會有請客吃下午茶、在節日時也會送禮盒、舉辦生日會等等。希望在剩下的實習日子裡,也都可以做出最大的努力去完成分內的工作。

#學習心得
likelovehaha
 Hannah、James和其他40人


張怡文
5月30日 下午3:00

我覺得在這段期間,自己查找資料的能力,有大幅的提升,之前在學校遇到不會的問題第一時間就會想去問身旁的朋友同學或是老師助教, 反而不是先試著找看看答案,但到了公司後,大家都有著自己要忙的工作,而每個人的工作內容也都不相同,剛拿到新的專案也是需要自己先摸索起來後面才會執行的順利,一點小問題靠著自己上網找出答案,也許過程中會花一點時間,但得到的結果會理解許多, 工作上遇到不懂的地方也會努力的問清楚,完成主管交付任務,不會有草草了事的心態。

而到了公司也才真正發現細心的重要性,每次寫完程式總會被主管發現滿多小細節上的問題,有些是會漏做、也些是沒有測試到的地方,我也發現其實自己也算是有點毛躁的人,可能檢查測試個10幾次左右就會開始有點沒耐心,所以現在還是會被檢查出錯誤,希望我能在之後做得更好,在測試上更有耐心還要多點細心,這樣就可以減少來來回回修正的次數。

還有保持著良好的上班態度:不可以晚到早退,因為公司離住家有一段距離,每天通勤上班,剛開始每天要早起真的調適滿久,也在努力的學習,就算是很疲倦也不可以太過表現出來,應該要努力的維持著良好的工作態度,所以現在每天作息就相對比以前來的好, 前晚我會早早睡下,而隔天,我總是會提早的進到公司,讓自己適應好每日同樣的位置但不一樣的情緒,調整好自己狀況,這些改變對我在工作時的效率有十分多的幫助。

#學習心得
lovehaha
 Alice和其他65人


張怡文
5月18日 下午7:36

這半個多月都在做台新系統優化的東西,可能因為是同一個專案,所以這段時間撰寫程式感覺比較順,也不太會有卡住不會寫的情況發生,也越來越清楚該怎麼樣多角度的測試,雖然還是會漏測試到一些部分,但我相信一次次經驗的累積,一定能做得更好的! 在進行新順序修改的同時,主管可能將我上個順序測試完畢,所以同時也會進行舊順序的修正,這期間就會有一點點手忙腳亂,但大部分的時間還是十分順利的!

還有做了產品版的優化,公司的產品有兩種版本:DonateStandard、DonateStandardMultiPurpose。是做出信件偵測開信功能,簡單來說,客戶可以透過我們的系統發信給捐款人,但是時常信發出去了, 捐款人不一定會打開信件,為了方便讓我們系統的使用者查看實際發送出去的信件是否有被開啟,所以開發了這個功能。

#working
likehahawow
 Jenny、MollyLee的和其他41人


  查看1則留言
張怡文
4月29日 上午7:30

沒想到竟然已經居家上班一個多月了!接到主管的通知下禮拜一就要恢復到公司上班了,要趕緊調回作息,不然肯定是爬不起來的><,在家因為沒有額外的螢幕,常常看程式碼都要切來切去, 眼睛都會看花掉,有點懷念在公司的日子了呢,感覺也會比較專心一點,在家到處都是使我不專注的誘惑阿~

這兩週裡我花了最多最多時間的專案就是在綠界匯入。簡單說客戶有個金流後台,裡面會有一些捐款人在裡面捐錢,客戶就會把這個金流後台的捐款匯出檔案,再用這個檔按匯入到我們的捐款系統,所以他們要做一個新匯入的功能,而這個功能我做了兩種檔案的匯入。

.匯入資料(CSV檔)

主管有給我一個範例的程式頁面做參考,但是匯入的檔案是Excel和綠界匯入功能(是CSV格式)很大不一樣,Excel的話我們是用套件,套件會直接將檔案資料整理成一個DataTable,但是CSV的話,很像文字檔(txt),是沒有套件,欄位要用逗號切割,所以就要去算它欄位到底有幾格, 不過在匯入的時候一直發現有問題,然後下了中斷點去做檢查(下中斷點找問題真的很重要呀!),最後發現到說是客戶的資料本身是有問題的,一筆資料內容換行的話就會造成匯入失敗。
主管試了Excel有換行的狀況,發現匯入進入會變成一行,所以是沒問題,所以就請我在做Excel的,最後看看客戶願不願意把原始檔轉換成EXCEL才不會有問題。

.匯入Excel資料

匯入的流程較複雜,我們給出的範例檔需要寫上一些注意事項、比對條件以及檢核條件,程式除了匯入外還要檢查欄位該是必填的是否都有填入資料、Excel內的資料是否都有符合我們所設定的格式限制……等等,在依照資料對捐款人資料去做新增或修改的動作,並且新增捐款紀錄, 最後會顯示匯入是否成功或失敗。

#居家上班 #working
likelovehaha
 Nancy Kuo、Jacy和其他25人


張怡文
4月15日 下午3:45

因為疫情的關係,在公司的考量下讓實習生們遠距工作,好處是對於每天要花1個多小時通勤的我來說,就可以不用因為要早起趕著搭車可以睡得晚一點(❁´◡`❁),不過壞處是因為主管不能面對面教學, 所以我有問題的時候就會花很多時間詢問,學姊也不能及時的拯救我😥,不知道甚麼時候會回公司上班呀!這幾周也陸續完成一些需求單,像在做北一女校友會的收據套印就花了一點時間了解,學習到了參數替換的作法。

.收據列印匯出Word檔

(通常客戶會先將基本的版面設計好,我們要做的是將參數上在版面上)
1. 先將Word範本檔裡面要替換的字換上功能變數裡的合併列印變數(MergeField)
2. 設定檔案路徑讀取檔案
3. 並將要替換的字設定好,執行替換文字(將值帶入)
4. 最後設定想要輸出的檔案類型(Word或是PDF)

#居家上班 #working
likewow
 YZUIM和其他29人


張怡文
3月23日 下午10:21

這週開始主管就陸續地給出一些客戶所提出來的需求單,交付給我執行。一開始看到需求單都搞不太清楚客戶是想要怎麼修改,不過主管真的很貼心,幫我將這一項項的需求整理起來成word檔,比較複雜的地方也會附上說明步驟,有了她的詳細說明我就明白很多了!!😊

我比較常做的是:新增修改欄位功能、預設好欄位限制條件、依照資料匯出Excel檔或是Word檔,以方便客戶去列印收據或是客戶資料,以及收據列印時格式想要客製調整等等,而每一項需求單的時間都壓在一個禮拜的工作天內完成即可, 所以不用太過於有壓力。在完成後更新上去,主管會進行一次檢查,如果程式有bug或是漏做哪些部分的話,主管會告知要修改的地方,我們再去將它修正過來,如果再進行一次檢查無誤的話,這份客戶需求單就算是完成好了。

.匯出Excel資料

作法是運用System.Data.OleDb,來完成資料匯出Excel,大致上流程為:
1. 先建立一個新的OleDbConnection跟OleDbCommand
2. 接著設定好要生成的Excel檔案名稱及存檔位置
3. 再來建立Excel表單及整個結構
4. 設定每個欄位所對應的變數,設定每個變數的資料型別
5. 最後將資料一列一列新增進Excel中

在執行建立表單時,我們需要用到ExecuteNonQuery()去執行這些動作。

#working
likehaha
 James、Hannah和其他35人


  查看2則留言
張怡文
3月2日 下午5:30

幾個禮拜練習下來,有越來越清楚這些頁面彼此之間的關係,CodeReview也講解的越來越順利,不像一開始那麼緊張,不過在最後一次的CodeReviw還是有些緊張,因為部門其他主管會來看,在前一天自己花了很多時間練習講了很多次!

這一個月中,每天都有紀錄自己做了些甚麼內容,特別是之前完全沒有聽過的,還有比較需要注意的觀念都有特別做筆記。

.SQL語法

常常要從SQL取資料,有時候資料會分散在不同的Table裡,就會需要用到Join去將Table連接起來,撈出需要的欄位,還有一些欄位所要呈現的方式,像是日期存入可能是西元年月日加上完整時間,但呈現出來只要西元年月,就需要將資料去做轉換。還有為避免SQL injection所做的防範都是很重要概念呢!

.Transaction

這個用途和使用時機對資料庫來說是非常重要的,進公司前完全沒有聽過,也是聽學姊和我講解了兩三遍才聽懂。要同時執行兩筆紀錄(同時對兩個或以上的資料庫進行操作),如果一筆紀錄有新增成功但是另一筆紀錄新增不完全,這時候rollback 就會所有操作都會復原(連第一筆都復原),回到執行前的狀態,用Transaction這個機制,來防止有資料被新增的不完全。

.權限控制

會先取得使用者的群組權限,並知道這個頁面有沒有新增、修改、刪除、查詢、進入頁面等等的權限,如果可以進入頁面,就去設定一些按鈕是否可以顯示,若是不能進入,就會直接登出。

#新人訓練
likelovewow
 37人


張怡文
2月10日 上午10:30

第一個禮拜主要是熟悉之後工作常會用到的程式語言,以及了解公司所使用甚麼系統去做版本控管,觀看了幾隻教學影片,學習ASP.NET、SQL、Html、css的基本觀念,下午主管會則是會上課,將我們之後在工作上所主要會用到的幾支重點程式,進行詳細的解說。

之後到3月初的幾個禮拜裡,每週都在寫主管交代的作業然後禮拜五和主管CodeReview,Demo所作成果,用實作的方式讓我們更加熟悉捐款系統的架構,我們寫了三個主要的系統功能做練習:捐款人管理、捐款管理、實物捐贈管理。

寫出基本的版面及功能:新增、修改、刪除、查詢,後幾次練習學習寫資料匯出到Excel、用Jquery及Ajax做前端變化。之前在學校對javaScript、Ajax、Jquery完全是沒有接觸過,所以很努力地在摸索當中~

#新人訓練
likehaha
 TinaLin、Krystal Jung和其他23人


張怡文 在 網軟股份有限公司
2月3日 上午12:05

今天是第一天到公司報到的日子,其實有點小緊張,不過還好也有同學一起來到網軟,而且帶我的主管也是元智畢業的學姊,人很好也很有耐心,講話十分溫柔,偶爾也會和我聊聊學校的事情~~

公司位在台北市中山區中山北路的協志大樓內,附近有許多小吃店家、商圈,而且旁邊就是大同大學,捷運公車都能抵達,交通便利性十分的良好!

Anita為我們幾個實習生簡單介紹了公司環境和同事們、還有一些工作上的規定,公司上下班時間是相對彈性的,表定9點上班6點下班,有半個小時的彈性時間,最晚9點半打卡即可。

辦公室各個部門有分區但沒有隔間,算是開放式交流的環境,同事們對我們很好、人也都很親切,雖然公司不大,公司人數大概20幾個人左右,但整體來說很溫馨很像大家庭,我也很喜歡這種辦公的氛圍。

likelove
Hannah、Jennifer Chang和其他20人