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

2018年5月28日

Firefox版本更新後,打字變得超慢,怎麼辦?

作者: Fred F.M. Wang (FW知識瑣記) 日期:20180518

今天Firefox版本自動更新後, 在瀏覽器上面打字卡卡的,一個一個字慢慢浮現。找了幾種方法後,終於,得到一個正解,恢復正常的速度

解法 :
進入設定 > 選項

選擇 "隱私權與安全性"頁面

捲動到"權限"區塊

勾選 "防止無障礙輔助功能存取您的瀏覽器"

設完後,重啟Firefox就可以了  

參考來源 : https://support.mozilla.org/zh-TW/questions/1184964

2018年3月20日

SAP ABAP/4程式共用的六種方法

作者: Fred F.M. Wang (FW知識瑣記) 日期:2018.3.20
原著作日期 : 2001/03/29



Outline
   共用程式片段(Include file)
   共用副程式庫(Subroutine pool)
   共用功能模組(Function pool)
   共用Transaction (Call transaction)
   共用報表(Submit report)
   共用對話窗模組(Dialog module pool)

共用程式片段(Include file)
    共用程式片段Program type : ‘I’ (Include program)
    叫用方式 : Include Zxxxxx.
    Include programs are used to
    1. divide very large programs into smaller more manageable units
    2. create common program components
    就上面第二點而言, 兩個缺點:
    data dependence, not information hiding
    not modularization

共用副程式庫(Subroutine pool)
    副程式庫Program type : ‘S’ (subroutine pool)
    用來存放可共用的副程式(Form)
    副程式庫宣告方式 : Report Zxxxxx.
    程式庫宣告方式 :  FORM abc.  … ENDFORM.
    叫用共用副程式庫中的副程式 : PERFORM abc(Zxxxxx).
    優點:
    Easy developing, easy calling
    Grouping different purpose subroutines into pools
    Data independent, data transmitting via parameters

共用功能模組庫(Function pool)
    功能模組庫Program type : ‘F’ (Function group)
    Function pool 用來存放Function module
    功能模組庫宣告方式 : FUNCTION-POOL Zxxx.
    功能模組宣告方式 : FUNCTION abc. …. ENDFUNCTION.
    叫用功能模組庫中的功能模組 : CALL FUNCTION abc.
    優點:
    same as subroutine pool
    Remote function call supported
    不必記得function module放在哪個function group只要記得function module name即可
共用Transaction (Call transaction)
叫用方式 : CALL TRANSACRION “Zxx”.
2種應用方式:
1. SET PARAMETER 方式: Call transaction … and skip first screen,  put value into parameters of input fields
2. BATCH INPUT 方式: Call transaction …  using BDCDATA mode 'E'  update 'S’ messages into MESSTAB : put value into fields via BDC structure

共用報表(Submit report)
    共用報表Program type : ‘1’ (report)
    報表程式宣告方式 : REPORT Zxxxxx.
    叫用報表程式 : SUBMIT Zxxxxx.
    缺點:
    Parameters transmitting via EXPORT/IMPORT commands
    變數必須宣告以相同的名稱, 模組化程度不足

共用對話窗模組庫(Dialog module pool)
    Program type : ‘M’ (module pool)
    共用對話窗模組庫宣告方式 : PROGRAM Zxxxxx.
    叫用方式 : CALL DIALOG “Zabc”.
    可將許多共用對話窗模組,放在一個Module pool內供許多程式叫用
    優點:Function module不必記得Dialog module放在哪個module pool要記得dialog module name即可

2018年3月16日

我用開源Open Source做多少事, 導入Open Source平台需要做甚麼

作者: Fred F.M. Wang (FW知識瑣記) 日期:2018.3.16

 這是我五年多的時間, 用Open Source做的專案
1 使用BIRT建立商業智慧報表系統
2 使用Drupal 建立企業網站
3 使用Drupal Commerce 建立露營地訂位系統
4 使用Codeigniter+XAMPP 建立企業應用入口,以及許多Web應用系統如資產查詢,設備查詢,安裝軟體查詢,刷卡紀錄查詢,行事曆,同仁通訊錄,特約商店...等
5 使用 phpBB 建立公司內部論壇平台
6 使用 Redmine 建立專案管理平台
7 使用 Mantis 建立Issue Tracking System
8 使用 Subversion 建立版本管理系統
9 使用 OTRS 建立IT服務管理系統(ITSM), 包含IT服務需求管理
10 使用 Spiceworks 建立資訊設備管理系統自動掃描與收集設備資訊
11 使用ProcessMaker 做為流程管理平台(注意: ProcessMaker Open Source版不提供patch更新等服務)

您需要做甚麼
1 事前評估該Open Source軟體的成熟度, 可用性, 功能適用性,是否適用於您的電腦環境,如OS與帳號整合等。
2 熟悉PHP Programming, 必要時可以修改原始程式,修改後一定要記錄下來,當系統升級後需要確認是否還要將程式改回去。
3 熟悉CSS, 可以自行修改為合適的風格。
4 上相關資源網站找解答,發生錯誤時,可以找到解決的方法。
5 研究了解該平台的資料庫資料表格結構,必要時可以與其他系統整合,或開發輔助系統
6 了解Open Source 軟體安裝,升級,平台移轉與資料庫備份的方法。
7 了解Open Source軟體的設定
    a. 如何增加功能模組
    b. 如何設定郵件通知
    c. 如何設定企業帳號整合,例如與Microsoft AD整合
    d. 如何進行其他基本設定
 

2018年1月21日

夜校教職回憶

作者: Fred F.M. Wang (FW知識瑣記) 日期:2018.1.21

"老師,你知道嗎? 我今天差一點死掉了"  1994年兼職高職夜校教師,導師時期, 下課時間在走廊班上一位學生走悄悄到我身旁, 看似輕鬆地跟我講了這一句話。

我帶的班級學生幾乎白天都是有工作的,有油漆工,修機車學徒,修汽車學徒,餐廳老闆,服務生,搬家工人等等。說這句話的學生是油漆工,當天參加了一個地下室油漆工程,通風不佳,昏倒緊急送醫,還好只是暫時昏過去,醒來後就沒事了。

對退伍一年的我,學生們有些年紀與我相近,有些只小我幾歲,除了是老師,我也像是他們的朋友,時常在教室,走廊,導師室跟他們聊天。修機車學徒跟我抱怨,修機車薪水比修汽車少很多;上課都做在第一排的學生是餐廳服務生,常換工作,他希望多學些電腦技能,畢業後再找個薪水高一點,穩定一點的工作。 班長年紀與我相近,是餐廳老闆,還問我,要不要跟他一起做期貨,他可以教我。

最辛苦的是搬家工人,時常缺課,可能要被退學,找來聊聊才知道那陣子因為常要幫人搬家到桃園,時常趕不及來上課。事實上,就算他趕來,也都累到趴在桌上睡覺。

印象最深刻的還有當年的拔河比賽,我參加了班上拔河隊伍一起爭取班上榮譽,其他同學則很興奮地高喊老師加油。另外,參加了,學期中一位學生的婚禮,跟學生們一起舉杯慶賀...。

很快地,跟這些學生的緣份,在學期結束時,也畫下終點。一位學生說 "老師,如果您下學期不教我們,我就不念了.."

很抱歉,老師不能再教你們了,一定要好好的念完,找個好工作,知道嗎 !

當年,夜校老師是我職涯轉換過程中,暫時停留的點,不過留下的回憶卻是永遠的。

人來這個世上,就如過客,相遇即是有緣,任何緣份,不論長或短,不論深或淺,總是會結束。善盡已職。珍惜人與人間當下的緣份,才不愧走這一遭。










 

2017年11月19日

用javascript寫巴斯卡三角形

作者: Fred F.M. Wang (FW知識瑣記) 日期: 20171119

這是30多年前大一第一次段考計概課的考題, 當年用Basic程式寫, 現在改用javascript寫看看, 給初學者參考

二維陣列的寫法

var max = 6;  // 共幾層
var x = new Array(max);
for (var i = 0; i < max; i++) {
  x[i] = new Array(max);  // 建立nxn的
二維陣列
  for (var j = 0; j < max; j++) x[i][j] = 0;   // 設定初始值皆為0 
}
for (i = 0; i < max; i++) { 
  for (j = 0; j < i+1; j++) {
    x[i][j] = (i == 0 || j == 0)?1:(x[i-1][j] + x[i-1][j-1]);
    document.write(x[i][j] + " ");   
  }
  document.write("
<br />");
}


一維陣列的寫法

var max = 6;  // 共幾層
var x = new Array(max);  // 建立一維陣列
x[0] = 1;
for (var i = 1; i < max; i++) x[i] = 0;  // 設定初始值
for (i = 0; i < max; i++) { 
  for (var j = i; j > 0; j--) x[j] = x[j] + x[j-1];
  for (j = 0; j < i+1; j++) document.write(x[j] + " ");   
  document.write("
<br />");
}