如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2023年1月17日

哪種人適合台積電?她道內部文化3特質 坦言「做得很痛苦」-- 感想

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-1-17

這篇新聞是一名台積電員工在整理出3點公司內部文化,坦言自己做得很辛苦 :


內文重點如下 :
她以自身的經驗,整理出3點公司內部文化:
第一,同事非常積極與有野心。在會議上,每個人都不停提問刷存在感,舉辦活動時則是巴著上層主管合照,想辦法討好對方。

第二,不顧團隊充斥個人主義。考績至上,出錯時同事大多見獵心喜,沒人會幫你,大家都想做能有表現的工作,不想配合別人主導的專案。

第三,公司軍事化管理。要求上班準時,卻很難準時下班,上下分明、嚴格管控。

她透露自己的個性內向敏感,並不適應上述公司文化,常常覺得格格不入,其實做得很痛苦,因此反倒想詢問大家要如何改變才能融入台積電?

------------------------------------------------------------------------------------------------------------------------------

我的感想是 : 太在乎別人怎樣,自己就會很痛苦,不如多花時間讓自己更強,建立好個人專業品牌,當能力越強,主管與公司越需要你的時候,就會過得更有自信並更順利。

另外,紀律如果是公司或主管要求出來的,自己就會很痛苦,不如先求自律,對自己要求高些,就會減少別人來要求你的機會。

Codeigniter系統異常登出問題 "Session Error" 原因與解決方法

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-1-17

最近開發PHP+Codeigniter架構的網站發生奇怪的問題 :

程式碼 : 
$this->session->set_userdata("message",$msg);
redirect($prev_page);
上述程式碼執行要redirect(重導)到另一個網頁,卻發生登入者自動被登出。

經過一番測試,終於發現問題在哪裡了。

我系統的設計是 : 
1. 用Session儲存使用者登入的資訊,系統各個頁面會根據此登入資訊判斷是否處於登入狀態。  $this->session->set_userdata("username",$username);
   ***** 顯然上面的問題是Session中使用者登入資訊已經消失了。*****
2.  用Session儲存訊息,如上面的$this->session->;set_userdata("message",$msg); 重導到另一個網頁時,再讀出此資料顯示在頁面上,如$message = $this->session->userdata("message");。

原因一 : 與預設編碼不同。
$this->session->set_userdata("message",$msg); 這行程式的$msg變數中包含Big5中文編碼的文字,
而Codeigniter系統設定application/config/config.php中預設編碼為UTF-8
$config['charset'] = "UTF-8"; 
內容與預設編碼不同,造成Session資料的消失。

解決方法 :,只要將上面$msg轉換為UTF-8編碼格式就不會有問題了。


原因二 : 也有可能是設定的內容太長 
解決方法 : 縮短訊息內容長度就不會發生了。(或加大session容量,需要其他設定)


參考 :  網路上其他類似的問題與Session data lost可能的原因

2023年1月15日

如何使用Excel讀取mySQL資料庫(含環境安裝)

作者: Fred F.M. Wang (FW知識瑣記) 日期:2023-1-15

筆者用Excel讀取過Access或SQL Server資料庫,最近嘗試使用Excel讀取mySQL資料庫,查了許多方法,經過幾次失敗的安裝,終於正確的安裝完成,並讓Excel可以讀取到mySQL資料庫,分享給需要的人。下面是我安裝的步驟與一些要注意的地方 :

我的電腦環境是:
. Windows 7 家用進階版
. Office 365專業增強版
. mySQL資料庫(使用UTF-8編碼) : 安裝在同一台個人電腦。


步驟一 下載並安裝 mysql ODBC Connector

1.1 首先,要了解您的Office版本是32位元或64位元,安裝的mysql ODBC Connector必須與Office是相同位元的版本,因為我電腦的Office是32位元版本,因此安裝32位元的mysql ODBC Connector。如何知道您Office版本是32位元或64位元的呢? 以Office 365為例,在Excel選單 : 檔案 > 帳戶 的畫面中,點擊"關於Excel"就可以看到您Excel版本了,如下畫面。    
    



1.2 下載 mysql ODBC Connector


 

步驟二 設定ODBC來源

       此步驟要設定一個mySQL資料庫的ODBC來源,因為步驟一安裝的mySQL ODBC Connector 32位元版本,因此必須在32 位元版本ODBC資料來源管理員內設定。此處要注意的是作業系統如果是Windows 7 64位元,就不能使用控制台ODBC資料來源管理員,因為它是64位元版本的。
       32位元版本ODBC資料來源管理員(Odbcad32.exe)位於 %systemdrive%\Windows\SysWoW64 資料夾(如: C:\Windows\SysWOW64)中。必須執行此程式來設定mySQL資料庫的ODBC來源才行。
       參考來源 ODBC 工具會顯示32 位元和64 位元- SQL Server

    如果使用錯誤版本的ODBC資料來源管理員,Excel在連接資料庫時會產生下面的錯誤訊息。
    




   安裝步驟 :    

  1. 在 ODBC資料來源管理員視窗的"使用者資料來源名稱" > 新增
  2. 選擇"MySQL ODBC 8.0 Unicode Driver”, 點擊[完成]

說明 : 因為資料庫建立時我採用Unicode編碼,因此要使用Unicode Driver




   
    3. 設定新的資料來源。
        點擊[完成]後,會顯示出mySQL connector設定對話窗,如下。

     填入個欄位 : 
  • Database Source Name : 自訂一個好辨識的資料庫來源名稱
  • 勾選 TCP/IP Server
  • hostname : localhost  (因為裝在同一台電腦)
  • User : <mySQL資料庫管理帳號>
  • Password : <mySQL資料庫管理密碼>
  • Database : <選一個資料庫>

註 : mySQL資料庫管理帳號在資料庫建立時,已經建立至少一個資料庫管理員帳號,或可以到資料庫建立一個新的資料庫管理帳號,並設定適當的存取權限提供連線存取。

 

 

步驟三 使用Excel讀取mySQL資料庫中的資料

選單 : 資料>取得資料>從其他來源>從 ODBC



    在”從ODBC” 對話方塊的”資料來源名稱(DSN)”,選擇步驟二中建立的資料來源名稱(如mysql-xampp8.1.2 )。

    如果您想要設定資料庫查詢條件,查詢並匯入資料,請在對話框"進階選項"的"SQL陳述句" 中下SQL命令。然後點擊 [確定]。

    





        顯示出查詢結果後,點擊[載入],就會將這些查詢結果匯入Excel工作表中了。


參考影片 : Excel Import MySQL Table with ODBC Database Query

整理三大容易發生錯誤的地方,要特別注意 : 

  • 安裝的mySQL ODBC Connector必須與Office是相同位元的版本。
  • 安裝的mySQL ODBC Connector 32位元版本,因此必須在32位元版本ODBC資料來源管理員內設定。(注意64位元Windows 7 控制台的ODBC資料來源管理員是64位元版本的)
  • 資料庫建立時採用Unicode編碼,因此資料來源設定時就要選擇MySQL ODBC Unicode Driver(不是ANSI Driver)


 



 

2023年1月11日

珍惜並守護您所擁有的幸福

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-1-11

父親家貧未能受教育,十多歲就進入礦坑過著暗無天日的礦工生活,每天賺錢為讓生病的養父看病打止痛針直到養父過世,成年後才找機會進入私塾從三字經學起。

岳父在中國內戰時期長大,十四歲就被拉去當兵,隨軍隊轉戰南北然後到了台灣,年年清明只能遙望故鄉方向祭拜,年近七十歲才得以返為故鄉,父母早已離世,家鄉人事已非。

我則成長於經濟起飛的60,70年代,跟很多同輩的人一樣,努力打拼翻轉貧窮。

苦難的年代好不容易過去,也漸漸為人所淡忘,年輕一代正享受著數十年來經濟成長帶來富裕幸福的生活。

大家千萬要珍惜並守護現在擁有的幸福,讓社會讓與環境更好,讓下一代也能擁有好的生活。

Fred F.M. Wang正月有感