成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧

SQC / 1066人閱讀

摘要:實現(xiàn)步驟非常簡單,在標(biāo)準(zhǔn)程序的內(nèi)創(chuàng)建一個隱式增強。禁止在測試服務(wù)器和生產(chǎn)服務(wù)器使用否則由此造成的一切負(fù)面后果,本人及概不負(fù)責(zé)。

最近Jerry在忙一個項目,技術(shù)棧換成了nodejs平臺,語言換成了JavaScript,因為趕項目進(jìn)度,一直沒時間更新公眾號。感謝大家的支持,關(guān)注人數(shù)還是慢慢地增長到了3000。

今天我們來聊聊一個比較輕松的話題。

當(dāng)今這個數(shù)字化時代,大家的生活都離不開互聯(lián)網(wǎng)?;ヂ?lián)網(wǎng)公司為了確保服務(wù)器不會因為軟硬件問題宕機而影響自己的業(yè)務(wù),紛紛使出渾身解數(shù),包括設(shè)計更健壯的架構(gòu),實現(xiàn)高質(zhì)量的代碼,提供硬件條件更好的機房等。當(dāng)然也有一些腦洞大開的公司,另辟蹊徑,采取讓佛祖對服務(wù)器進(jìn)行開光的方式,來實現(xiàn)"服務(wù)器永不宕機"的美好愿望。

下面是Jerry從一則搜狐新聞上看到的一些有趣的圖片,轉(zhuǎn)貼于此,新聞原文網(wǎng)址:

http://www.sohu.com/a/1166219...

有請高僧給服務(wù)器貼上靈符:

看著這個符咒,Jerry想起了自己曾經(jīng)通關(guān)過無數(shù)遍的仙劍奇?zhèn)b傳98柔情版里各種各樣的靈符。

高僧正在認(rèn)真地進(jìn)行開光儀式:

這些難道是IT管理員,或者SAP稱呼的Basis們,虔誠地跪在服務(wù)器前向佛祖祈禱“永不宕機”嗎?

除了“永不宕機”外,“永無bug”也是程序員們另一個美好的愿望。

于是乎,有些程序員希望通過在代碼頭部加上這種注釋,來獲得一些心理上的慰藉。

而對于SAP ABAP程序員,一看到bug這個詞,最容易聯(lián)想到什么?不知道大家心中的答案是什么,Jerry的答案是:ST22。

ABAP程序在執(zhí)行時,如果遇到了沒有捕捉的異常,程序會終止,同時ABAP運行時會產(chǎn)生一個類似Windows系統(tǒng)藍(lán)屏的core dump:

這種dump可以在事務(wù)碼ST22里查看。一般來說,一個有經(jīng)驗的ABAP程序員,通過分析ST22里提供的程序崩潰時的上下文信息,系統(tǒng)變量的內(nèi)容,調(diào)用棧等等,不難修復(fù)這種bug。

下圖是ST22里dump的一個例子,值得一提的是大家可能會忽略的BASIS Developer View, 里面包含了引起運行時錯誤的ABAP語句對應(yīng)的C語言實現(xiàn)的具體文件位置,比如下圖的//bas/753_STACK/src/krn/abap/runt/abassert.c。

大家還記得我寫過的聊聊C語言和ABAP?這篇文章么?

這里我偷個懶,把那篇文章里介紹C語言和ABAP語言關(guān)系的文字引用過來:

為什么這篇文章要把C語言和ABAP放在一起講,而不是別的語言比如Java和ABAP呢?因為ABAP語言底層是基于C/C++實現(xiàn)的,包括其關(guān)鍵字(比如最簡單的關(guān)鍵字WRITE的C++實現(xiàn)有2千多行)和虛擬機(ABAP Runtime)。SAP內(nèi)部的一群計算機科學(xué)家們發(fā)明了ABAP這門偉大的語言,由它實現(xiàn)的各種SAP應(yīng)用幫助了全球超過180個國家和地區(qū)的客戶們更好地運行其業(yè)務(wù)。

通過Google我們能搜索到一些關(guān)于這些SAP計算機科學(xué)家們的介紹,比如這個鏈接:

http://sapexperts.wispubs.com...

SAP內(nèi)部的Netweaver開發(fā)服務(wù)器上是能夠瀏覽這些C語言代碼的。Jerry 2017年在德國工作時,業(yè)余時間比較多,相關(guān)的C代碼也閱讀了不少,比如ABAP里最簡單的WRITE關(guān)鍵字,其C語言實現(xiàn)有2000多行。可惜因為這些C語言實現(xiàn)對客戶和partner不可見,因此無法在這里給大家分享它們的邏輯。

再回到ST22。相信每一位ABAP程序員運行代碼看到ST22的dump后,心里都會很沮喪。這個時候,如果有佛祖能夠給引起bug的代碼開開光,那將是一件很鼓舞人心的事情。

相信無論使用何種編程語言的程序員,看到下圖紅色高亮的這兩行字,都會精神為之一振:

佛祖保佑,永無bug

這段代碼佛祖已經(jīng)做過開光處理,絕無可能再產(chǎn)生bug

如何實現(xiàn)ST22里這個顯示效果?其實ST22和Windows系統(tǒng)藍(lán)屏顯示邏輯一樣,都是一段靜態(tài)模板文本加上運行時異常的實際動態(tài)內(nèi)容合并而成。

模板文字存儲在ABAP Netweaver服務(wù)器的數(shù)據(jù)庫表里。我們只需要在ST22的框架代碼把模板文本從數(shù)據(jù)庫表讀出之后,將佛祖開光的文本動態(tài)添加到模板文本的頭部,就大功告成了。

實現(xiàn)步驟非常簡單,在ST22標(biāo)準(zhǔn)程序SAPMS380的subroutine?read_snapt內(nèi)創(chuàng)建一個隱式增強。

從read_snapt的代碼能看出ST22的模板文本是存儲在數(shù)據(jù)庫表SNAPT里的。

把佛祖開光的文本注入到read_snapt輸出的頭部:

這段隱式增強的代碼我放在了我的Github上:

https://github.com/i042416/Kn...

最終效果就是每次出現(xiàn)了運行時程序執(zhí)行錯誤后,程序員到ST22里查看dump時,總能看到“佛祖保佑,永無BUG”幾個字。

這個例子其實也再次體現(xiàn)了Jerry之前提到的,作為ABAP開發(fā)環(huán)境和運行環(huán)境和二而一的Netweaver,給開發(fā)者提供了強大的可擴展性。

最后也是最重要的

1. 本文提供的步驟涉及到了對ABAP框架代碼的隱式增強,請謹(jǐn)慎使用。禁止在測試服務(wù)器和生產(chǎn)服務(wù)器使用! 否則由此造成的一切負(fù)面后果,Jerry本人及SAP概不負(fù)責(zé)。

2. 如果真的想確保自己交付的代碼“永無BUG”,程序員還是得老老實實練好自己的內(nèi)功,而不要把自己的命運交給佛祖。畢竟國內(nèi)這么多程序員,這么多行代碼,要是每一位程序員每一行代碼都要由佛祖開光,佛祖得多累鴨,佛祖忙不過來鴨!

更多閱讀

動手使用ABAP Channel開發(fā)一些小工具,提升日常工作效率

聊聊C語言和ABAP

ABAP vs Java, 蛙泳 vs 自由泳

300行ABAP代碼實現(xiàn)一個最簡單的區(qū)塊鏈原型

Jerry的ABAP原創(chuàng)技術(shù)文章合集

ABAP開發(fā)人員未來應(yīng)該學(xué)些什么

Jerry的ABAP, Java和JavaScript亂燉

我用ABAP做過的那些無聊的事情

不喜歡SAP GUI?那試試用Eclipse進(jìn)行ABAP開發(fā)吧

那些年我用過的SAP IDE

使用Visual Studio Code編寫和激活A(yù)BAP代碼

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/109059.html

相關(guān)文章

  • #私藏項目實操分享# 使用 JavaScript 上傳 PDF 和 Excel 等二進(jìn)制文件到 AB

    摘要:這是年的第篇文章,也是汪子熙公眾號總共第篇原創(chuàng)文章。使用通過格式發(fā)送和文件到服務(wù)器關(guān)于格式的詳細(xì)說明,參考開發(fā)社區(qū)和的文檔我在前文例子的基礎(chǔ)上稍作修改在里使用兩個類型為的標(biāo)簽,分別上傳和文件用來測試的本地文件,大小為字節(jié)。 這是 Jerry 2021 年的第 71 篇文章,也是汪子熙公眾號總共第 348 篇原創(chuàng)文章。 Jerry 之前發(fā)布過一篇文章 不使用任何框架,手寫純 Jav...

    peixn 評論0 收藏0
  • 不喜歡SAP GUI?那試試用Eclipse進(jìn)行ABAP開發(fā)吧

    摘要:比如的的個性化設(shè)置是這樣的,字體必須用程序猿專用的等寬開源字體,這樣顯得比較專業(yè)。我覺得網(wǎng)上流傳的程序猿和工具的鄙視鏈很無聊,與其有時間去鄙視別人,不如把這時間用來深入研究自己每天用的,進(jìn)一步提高自己單位時間內(nèi)的工作效率。 Jerry和SAP成都研究院一些新同事聊天時,談到ABAP和SAP GUI這個話題。很多新同事在加入SAP成都之前,是做Java和C++開發(fā)的,習(xí)慣了Eclipse...

    jkyin 評論0 收藏0
  • 我用ABAP做過的那些無聊的事情

    摘要:而且這種現(xiàn)象在德國的法定節(jié)假日里更加突出。所以本文提到的這些東西都是在德國節(jié)假日里無聊的產(chǎn)物,對于顧問的實際工作可能幫助不大。這也是在這篇文章里介紹的眾多用搞出來的無聊的東西里唯一被官方認(rèn)可的工具,囧。直接用執(zhí)行里的事務(wù)碼或者函數(shù)。 國慶大假馬上就要來臨了,我們聊點輕松的話題,關(guān)于假期。 Jerry的成都同事李貝寧(Li Ben), 《SAP成都研究院李三郎:SCP Applicati...

    wuaiqiu 評論0 收藏0
  • 那些年我用過的SAP IDE

    摘要:本文里提到的所有都是基于版本的,這使得我又一次被鄙視了使用的程序猿鄙視使用的程序猿。因此這些事物碼本身也是可以通過進(jìn)行增強的。 在Google上根據(jù)關(guān)鍵字程序員鄙視鏈搜索,會得到68多萬條結(jié)果。 showImg(https://segmentfault.com/img/remote/1460000014000687); 玲瑯滿目的搜索結(jié)果里是眾多不同維度劃分的鄙視鏈。 其中有一個維度,...

    denson 評論0 收藏0
  • 那些年我用過的SAP IDE

    摘要:本文里提到的所有都是基于版本的,這使得我又一次被鄙視了使用的程序猿鄙視使用的程序猿。因此這些事物碼本身也是可以通過進(jìn)行增強的。 在Google上根據(jù)關(guān)鍵字程序員鄙視鏈搜索,會得到68多萬條結(jié)果。 showImg(https://segmentfault.com/img/remote/1460000014000687); 玲瑯滿目的搜索結(jié)果里是眾多不同維度劃分的鄙視鏈。 其中有一個維度,...

    wawor4827 評論0 收藏0

發(fā)表評論

0條評論

SQC

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<