国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

SQC / 993人閱讀

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

最近Jerry在忙一個(gè)項(xiàng)目,技術(shù)棧換成了nodejs平臺(tái),語言換成了JavaScript,因?yàn)橼s項(xiàng)目進(jìn)度,一直沒時(shí)間更新公眾號(hào)。感謝大家的支持,關(guān)注人數(shù)還是慢慢地增長(zhǎng)到了3000。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

佛祖保佑,永無bug

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

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

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

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

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

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

這段隱式增強(qiáng)的代碼我放在了我的Github上:

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

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

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

最后也是最重要的

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

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

更多閱讀

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

聊聊C語言和ABAP

ABAP vs Java, 蛙泳 vs 自由泳

300行ABAP代碼實(shí)現(xiàn)一個(gè)最簡(jiǎ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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

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

相關(guān)文章

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

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

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

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

    jkyin 評(píng)論0 收藏0
  • 我用ABAP做過的那些無聊的事情

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

    wuaiqiu 評(píng)論0 收藏0
  • 那些年我用過的SAP IDE

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

    denson 評(píng)論0 收藏0
  • 那些年我用過的SAP IDE

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

    wawor4827 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<