微窗源碼
『壹』 有哪些值得推薦的源碼共享網站
網站源碼資源當然首選站長源碼下載了,主要源碼安全系數要高點,最主要是免費,還有就是一些商業源碼分享站了可能會要積分才能下載了,比如商業源碼,A5源碼,源碼...
『貳』 網上找到一份通達信自動畫線的源碼,但不知道怎麼導入進去,有沒有知道的大師,能幫小白解決
通達信公式導入安裝方法
通達信公式導入操作步驟如下(下面舉例以說明):
1、先將我們傳送的文件解壓到你選擇的硬碟位置,記住文件存檔位置。找到所接收文件。
8、主圖指標的選擇與副圖相似,但略有不同,故簡介於次:在主圖上點右鍵,再點「主圖指標」,然後點「選擇主圖指標」,進入主圖指標類,選擇剛才導入的主圖公式或其它我們要查看的主圖公式,點「確定」,就行了。
確定後,一般情況下,通達信系統會自動設為默認,下次打開行情分析時,出現的就是這次選擇的指標,若有時出現變化,可以重新進行一次設定就好。
股票公式專家團為你解答,希望能幫到你,祝投資順利。
『叄』 開放源代碼軟體的應用平台
WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務。WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發展起來的服務,也是發展最快和目前用的最廣泛的服務。正是因為有了WWW工具,才使得近年來 Internet 迅速發展,且用戶數量飛速增長。
開源的web伺服器軟體包括apache、kangle、nginx等。
Blog
Blog 全名Web log,中文意思是「網路日誌」,後來縮寫為Blog。它是繼Email、BBS、IM之後出現的第四種網路交流方式,是網路時代的個人「讀者文摘」,是以超級鏈接為武器的網路日記,是代表著新的生活方式和新的工作方式,更代表著新的學習方式。簡言之,Blog 就是以網路作為載體,簡易迅速便捷地發布自己的心得,及時有效輕松地與他人進行交流,再集豐富多彩的個性化展示於一體的綜合性平台。
開源的Blog軟體有b2evolution(php+MySQL)、BLOG:CMS (PHP、基於Nucleus CMS)、BLOG:CMS (PHP、基於Nucleus CMS)等。
論壇
論壇又名網路論壇BBS,全稱為Bulletin Board System(電子公告板)或者Bulletin Board Service(公告板服務)。是Internet上的一種電子信息服務系統。它提供一塊公共電子白板,每個用戶都可以在上面書寫,可發布信息或提出看法。它是一種交互性強,內容豐富而即使的Internet電子信息服務系統。用戶在BBS站點上可以獲得各種信息服務,發布信息,進行討論,聊天等等。
開源的論壇應用軟體包括phpbb、BMForum、phpwind[等。 應用伺服器定是指通過各種協議把商業邏輯曝露給客戶端的程序。它提供了訪問商業邏輯的途徑以供客戶端應用程序使用。應用伺服器使用此商業邏輯就像調用對象的一個方法一樣。簡單的說能實現動態網頁技術的伺服器叫做應用伺服器。
開源的應用伺服器軟體包括Enhydra (java)、JBoss (Java)、Open3 (XML)等。 消息伺服器作為網路的節點,專門用來存儲、轉發網路上的數據、信息(例如:聊天信息)。做一個形象的比喻:消息伺服器就像是郵局的交換機,而微機、筆記本、PDA、手機等固定或移動的網路終端,就如散落在家庭、各種辦公場所、公共場所等處的電話機。我們與外界日常的生活、工作中的電話交流、溝通,必須經過交換機,才能到達目標電話;同樣如此,我們利用個人電腦,PDA,手機等,發送消息,也必須經過消息伺服器,因此也可以說是消息伺服器在「組織」和「領導」這些接收消息設備。
開源的消息伺服器軟體包括ArsDigita (Tcl & Java)、Exolab Group (J2EE,整合OpenEJB,OpenJMS,OpenORA,Tyrex)、Zend (PHP)等。 企業應用程序是一個泛指的概念,細分下來可分為企業資源計劃(ERP)、客戶關聯管理、項目管理、內容管理、人力資源管理、自動化采購軟體、信息倉庫(CIW)、生產計劃、庫存管理、群組軟體、B2B和圖書館資源整合系統(ILS)。
開源的企業應用程序包括Compiere (ERP+CRM)、Compiere、Gnome Planner 、ArsDigita、phpgroupware、J2EE、Akopia、Compiere (ERP+CRM)、openapplications、OpenBiblio等。 所謂無線網路,既包括允許用戶建立遠距離無線連接的全球語音和數據網路,也包括為近距離無線連接進行優化的紅外線技術及射頻技術,與有線網路的用途十分類似,最大的不同在於傳輸媒介的不同,利用無線電技術取代網線,可以和有線網路互為備份。
開源的無線應用程序有kannel、Jwap、Ophelia等。 資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今五十年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
開源的資料庫軟體有BerkelayDB、MySQL、SQLite等。 「桌面環境」可能僅僅是一個簡單的窗口管理器,也可能是一個像 KDE 或者 GNOME這樣的完整桌面應用程序套件。
開源的桌面環境類軟體包括GNOME、GNUstep、KDE等。
窗口管理類
窗口管理,又名用戶界面,電子計算機系統中實現用戶與計算機信息交換的軟體、硬體部分。軟體部分包括用戶與計算機信息交換的約定、操作命令等處理軟體,硬體部分包括輸入裝置和輸出裝置。目前常用的是圖形用戶界面,它採用多窗口系統,顯示直接形象,操作簡便。
開源的窗口管理類軟體有Afterstep、Twm、fvwm、Window Maker等。
CD刻錄類
CD刻錄機的功能是:可以刻錄CD,讀取CD,但是卻無法讀取/寫入DVD,功能上次於COMBO,又次於DVD刻錄機。現在多數人使用的是DVDROM,COMBO,DVD刻錄機。性能方面:讀取——CDROM=CD刻錄機<DVDROM=COMBO=DVD刻錄機;寫入——CD刻錄機<COMBO<DVD刻錄機。
開源的CD刻錄軟體有CD Record、Freeburn、Xfburn等。
文件編輯類
文件編輯類軟體是一個泛指的概念,細分下來包括辦公軟體套件、記事本、PDF相關軟體、科技文本編輯器、文本編輯器、WYSIWYG和文件處理。
開源的文件編輯類軟體包括Gnome Office、KeyNote、FPDF、GNU TeXmacs、FreeDOS edlin、HTMLarea、AbiWord等。
教育類軟體
教育類軟體是一個泛指的概念,細分下來包括學習支持軟體、語言相關軟體、數學相關軟體、科學研究軟體、打字軟體和其他教育軟體。
開源的教育類軟體包括ILIAS、FlashKard、KBruch、BioJava、GNU Typist、KEca等。
金融相關軟體
從廣義上說,政府、個人、組織等市場主體通過募集、配置和使用資金而產生的所有資本流動都可稱之為金融。因此,不僅是金融業者,有關政府的財政,行業企業的行為、以及個人的理財都是金融的一部分。
開源的金融相關軟體有GnuCash、JCash、JMoney等。
游戲類軟體
游戲有很多種,在不同的媒體會以不同型式出現,使用的道具或參與的人數不一樣也會衍生出不同類型的游戲。其中包括:人手游戲、桌上游戲、版圖游戲、紙上游戲、紙牌游戲、群體游戲、電子游戲、角色扮演游戲、益智類游戲和其他。
開源的游戲類軟體有Abuse、Falcon's Eye、Java Risk、UFO2000、XulMine等。
網路軟體
網路及網際網路類軟體是一個泛指的概念,細分下來包括電子郵件、即時通訊軟體、通訊相關軟體、文件傳輸軟體、P2P文件共享軟體、遠程登錄、網頁瀏覽器、Webcam、Webgrabber、網路相關軟體和其他網路軟體。
絡及網際網路類軟體有Magic Mail Monitor 3、AMSN、Slrn、Samba、eMule、RealVNC、Galeon、Dorgem、HTTrack、Apache Tomcat、OpenLDAP等。
數學軟體類
是專門用來進行數學運算、數學規劃、統計運算、工程運算、繪制數學圖形或製作數學動畫的軟體。
開源的數學類軟體包括GAP、MAⅪMA、SINGULAR等。
媒體類
體類軟體是一個泛指的概念,細分下來包括音頻編輯軟體/音頻管理軟體、圖形類/圖片瀏覽類、媒體播放器類、視頻剪輯類。
源的媒體類軟體包括CD-DA X-Tractor、GOCR/JOCR、JCDSee、CoolPlayer、GNU VCDImager等。
操作系統類
操作系統(英語:Operating System,簡稱OS)是一管理電腦硬體與電腦軟體資源的程序,同時也是計算機系統的核心與基石。操作系統身負諸如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網上與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作介面。
開源的操作系統類軟體有開源Unix(System V/BSD)、FreeDOS、Linux、Menuet等。
密碼管理類
圍繞用戶賬號密碼安全和管理的軟體或者硬體的集合。
開源的密碼管理類軟體包括Password Safe、PINs等。
個人信息管理類
個人信息管理系統是一種提供個人信息組織管理功能的應用軟體。其目的是為了便於記錄、跟蹤和管理各種個人信息。
開源的個人信息管理類軟體有Elephant Memory、KAddressbook、KOrganizer等。
編程語言類
計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。如果按語種分,可以分為英文符號語言和漢語符號語言兩類。(典型的如:易語言、易語言.飛揚) 電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。目前通用的編程語言有兩種形式:匯編語言和高級語言。
開源的編程語言類軟體包括DJGPP、GCC、Open64、Objective CAML、PHP等。
屏幕保護軟體
屏幕保護程序是電腦程序,原意是通過將畫面空白,或在畫面上填滿移動的圖像,避免電腦顯示器在靜止的情況下產生磷質烙印,從而減低其壽命。現在,屏幕保護程序被用作娛樂或保安用途。
開源的屏幕保護軟體有Flurry、KISS Image Screen Saver、Really Slick Screensavers、xmatrix等。
安全軟體
安全軟體是一個泛指的概念,細分下來包括殺毒軟體、加密軟體、防火牆、SSH、其他安全軟體。
開源的安全軟體包括Open Antivirus、GnuPG、Coyote Linux、OpenSSH、Stunnel等。
其他軟體
下面列舉一些難於分類的開源軟體:
Active2
AstroGrep — 有GUI圖形界面的Grep
Autopackage — Linux上的軟體包管理系統
BibleTime — 聖經學習軟體
Bochs — PC積累器
Cygwin — Win32的開源Unix模擬環境
Link Checker — 檢查HTML文檔的壞連接
Memtest86 — 內存檢查軟體
Open Scene Graph
Sun Grid Engine —計算機集群軟體
TeX — 排版系統
Vitrite — Windows 2000/XP 上使窗口透明的軟體
WINE — 在Linux/BSD上運行Windows軟體
XFree86 — 視窗系統
gEDA自動化電器設計工具
GPAI 通用公共人工智慧平台
『肆』 如何寫代碼
問題一:什麼是代碼,代碼怎麼寫,怎樣寫入電腦 代碼
code
A.一組有序的數字或字母的排列,是代表客觀實體及其屬性的符號。
B.記錄計算機程序的符號。
代碼設計的原則包括惟一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。
1.理論上的概念
源代碼是相對目標代碼和可執行代碼而言的。
源代碼就是用匯編語言和高級語言寫出來的地代碼。
目標代碼是指源代碼經過編譯程序產生的能被cpu直接識別二進制代碼。
可執行代碼就是將目標代碼連接後形成的可執行文件,當然也是二進制的。
2.最直觀的概念
在這個網頁上右鍵滑鼠,選擇查看源文件.出來一個記事本,裡面的內容就是此網頁的源代碼.
===================================================
關於兩者的區別聯系:
1.從字面意義上來講,源文件是指一個文件,指源代碼的 *** .源代碼則是一組具有特定意義的可以實現特定功能的字元(程序開發代碼).
2.源代碼在大多數時候等於源文件.
楓舞在上面說過2.最直觀的概念 在這個網頁上右鍵滑鼠,選擇查看源文件.出來一個記事本,裡面的內容就是此網頁的源代碼.這句話就體現了他們的關系,此處的源文件是指網頁的源文件,而源代碼就是源文件的內容,所以又可以稱做網頁的源代碼..
問題二:怎樣寫代碼? 那就再看一本好一點的C書(國內很多書不敢恭維,可能是老師還要講,所以全是框框條條)
可以看看下面的書:
兩本入門書選一本:(我是看第二本入門,聽說譚浩強的也不錯,自己選吧)
《C程序設計》(譚浩強)
《c語言入門經典》(Ivor Horton )
進階書:
《C缺陷與陷阱》
《C專家編程》
《C與指針》
《The C Programming Language》
如果你把進階書都看完了(並理解),那你就可以算是高手了。
記住學編程最重要的兩件事:實踐和堅持不懈地博覽群書。
祝你好運。
問題三:c++代碼如何寫 #includeusing namespace std;class Teacher{private: int num; char *pName; int age;public: 構造 Teacher(int n,char *p,int a) { num = n; pName = new char[sizeof(p)+1]; strcpy(pName,p); age = a; } 類型轉換構造函數 這個方法我也不太會用 Teacher(int n) { num = n; strcpy(pName,0); age = 0; } void changeNum(int n) { num = n; } void changeName(char *p) { pName = new char[sizeof(p)+1]; strcpy(pName,p); } 拷貝構造 Teacher(const Teacher &tea) { num = tea.num; pName = new char[sizeof(tea.pName)+1]; strcpy(pName,tea.pName); age = tea.age; } 析構 ~Teacher() { delete []pName; } void show() { cout 問題四:這樣的DIV怎麼寫代碼 ]@]@]
@
問題五:如何學會寫代碼? 我暈、兄弟你要是完全靠自己自學的話、估計這個還是有點難哈、我建議你先學習C語言哈、在網路上搜索到處都是教程的、C語言是最基礎的東西、要學習它那種編程的思想哈、學習C語言就像是你學習認漢字要先學會拼音是一樣的、你現在看不懂是因為你還沒接觸過、C#也是一門語言哈、是微軟出的、最開始是C語言、然後有C++語言、而現在的C#就相當於是C++++哈、你先把C語言搞懂了、在進行學習C#吧、其實還有很多方向的、等你學到一定的程度你就懂了、代碼和軟體的關系我這樣給你說嘛、比如一個軟體的各種功能都是靠代碼去實現功能的哈、給你舉個例嘛、在你的電腦桌面上、當你雙擊「我的電腦」的時候、為什麼就打開了一個窗口了呢、這暢是代碼去實現的哈、希望對你有所幫助哈
問題六:HTML 視頻編輯 超清 如何寫代碼 50分 這個或者要去視頻網站,他們應該有引入的教學
但是其實你現在...已經在相關設定 quality=high
應該把 high 改成其他就行了
應該素質是設了但他們家網站有什麼選擇,能填上什麼,填上什麼才是高清,只有他們才知道
要去他們官方網找找
問題七:怎樣編寫代碼?要學習哪些方面的知識?? 20分 那你得學習編程,推薦《c語言程序設計》譚浩強版的,還有java編程思想第四版,想會編代碼必須會程序語言才行,得下功夫,不是三兩天幾分鍾的熱情就能會的,學好了qq秀這些都是小意思,比如java你學會了多線程和網路編程,你自己都可以寫一個聊天軟體
問題八:輸出你好用java語言編寫代碼怎麼寫 你是問hello world嗎?
public Class MyClass {
public static void main() {
system.out.println(Hello World);
}
}
問題九:程序是如何編寫的? 簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式――程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的 *** ,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的 *** ,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、......>>
問題十:編寫代碼是在計算機哪裡寫 具體流程是怎樣的 謝謝 你要先有一個編譯器和一個文本編輯器
代碼就在文本編輯器中寫,寫完後用編譯器來編譯,最後得到可執行程序,再運行程序。
IDE就是集成了編輯器和編譯器的編程工具,建議你可以下載安裝一個VS2012旗艦版,網上有密鑰
『伍』 ThinkPHP微的H5聊天室即時通訊系統APP源碼分享
ThinkPHP內核聊天室即時通訊系統源碼是一款類似微信的H5聊天系統APP源碼 。
源碼功能:
消息提醒:有新的消息可以提醒(數字提醒、聲音提醒)。
聊天列表:顯示最近所有的聊天列表,點擊列表某一項可以打開聊天窗口;還可以刪除聊天列表項。
聊天窗口:可以發生文字消息、圖片消息、表情;圖片可以預覽。
站內公告:在頂部顯示可以及時顯示後台發布的公告。
添加朋友:可以搜索對方的帳號名稱然後添加到通訊錄;添加前需要好友驗證才能通過。
群聊:顯示群聊信息。
列表:根據字母分組顯示聯系人;點擊聯系人可以查看詳情資料;可以刪除聯系人。
游戲:可添加你的官方網站或者游戲網站其它~自定義嵌入第三方網站
個人信息:顯示頭像、昵稱、帳號;可以修改頭像和昵稱。
修改密碼:可以修改登錄密碼。
朋友圈:可以發動態。
各種源碼每天更新,還有各種破解軟體、破解游戲、福利寫真圖哦~
網址 www.xqwym.com
『陸』 什麼代碼編輯器比較好用
著名的代碼編輯器: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+ 個,發布不到兩年的時間,這是什麼概念呢?
Sublime的插件(Stats - Package Control)大概 3500+個,但是sublime發布了5年的時間。
Emacs 的插件大概有2900個,可Emacs發布到今天已經過去 25+年的時間。
Vim 的各種插件雖然有9000個,但是Vi/Vim系列的歷史長達 30+年,是atom的15倍。
這就叫社區的活躍度的區別,為什麼短短兩年那麼多開發者先後給atom貢獻了各種高質量的擴展,為什麼大家對atom的熱情那麼高?為何好多人接觸了atom一段時間後都深深的愛上了它?這是有原因的。
再談性能優化
很多人錯誤的覺得 Atom慢是因為使用了 JavaScript/Coffee 等 Web 技術,所以先天慢,其實這是個誤區,即便使用 Web 技術它也還能快很多,同時再慢可以往C++層的 Electron 挪啊,這也是這幾個版本優化的一些方向,基於 Atom 開發的 Visual Studio Code 可以那麼流暢, Atom 性能優化空間還很大,了不起多參考下自己的兒子,同樣開源的 vscode怎麼做的。
同時 Atom編輯器1.0版本以來性能得到了很大的提升,主要是兩個方面,一方面是js層的各種渲染優化,控制項優化,延遲繪制,延遲載入,只繪制當前需要的東西等,另外一方面是將一些核心數據結構移動到 Electron 的 C++層,如今1.54版本性能較去年版本已經有了本質區別,運行時載入是慢些(但也比eclipse快很多),實際使用並沒覺得不如別的編輯器,況且,js層的優化和C層的優化未來還有很大的空間可以進步。
不過我不太喜歡 vscode 使用 Typed Script 進行開發,用點標准技術不行么,Atom使用 JavaScript/Coffee 寫的多爽,如今 Atom 正在准備慢慢的切換到 JavaScript 的新標准 ES6 上。其次 vscode 快是快在「做的事情少」,主要是可擴展性方面的努力遠不及 Atom,插件機制相對弱智,所以 vscode 的社區如今還不是特別活躍,擴展也少,發布一年多隻有差不多300+個擴展,遠不如 Atom 的情況,如果 vscode 還是按照現有結構開發下去,可能永遠不會擁有 Atom的靈活度,這樣再未來就無法擁有各種豐富多彩的插件。
再說開源免費
UltraEdit 單用戶版本價格: 79 美刀
UltraEdit 伺服器版價格: 229 美刀(多人登錄同一台伺服器的桌面使用),企業版更貴
EditPlus 單用戶版價格: 35 美刀,而且還只有windows版本,
Sublime 單用戶版價格:70 美刀
TextMate 單用戶版價格:48 歐元,而且還只有mac版本。
這些都是錢啊,可能你會說可以免費試用或者破解啊,是的個人可以,但正常來說sublime這些試用指不能拿來搞生產不能拿來工作的,個人你用用可以,但國外人家守規矩,不會亂用,這意味著失去一大批為其開發擴展的國外開發者,同時站在公司考慮IT方案的角度,免費試用和破解將來都是潛在的麻煩,現在上百人的公司微軟都會來收windows的錢了,版權問題越來越嚴肅,你得把這筆潛在費用考慮進去,同時這些閉源的或者單平台的東西,並不值得再上面花費過多精力和投資。
拋開擴展性問題和價格問題,我們再來看各個熱門的免費編輯器的試用情況:
Notepad++:免費,開源,只能運行於windows
PSPad:免費,不開源,只能運行再 Windows
Gedit:免費,開源,只能跑再 GNome下,Ubuntu用用,Windows/mac版本簡直是殘缺的。
Programmer's Notepad : 免費開源,只能跑 Windows
Notepad2:免費bu不開源,只能跑 Windows
更關鍵的是:閉源的東西個人作者可能失去興趣不再更新,商業公司的話,你需要一個功能,就只能無限期的等待他們發慈悲加入進去。而免費開源的很多其他編輯器除去平台兼容性問題外,更重要的時擴展性差。
而同時滿足:免費+開放+強擴展性的編輯器如今就只出現過三個:Vim / Emacs / Atom。他們是真正屬於使用者的編輯器,他們能變成使用者希望變成的樣子。這些曾經出現過得收費的或者免費的編輯器,憑借著一兩個自身獨有的 「賣點」,再某些時間段內都曾經流行過,可就像流星一樣一閃而過,如今他們都統統完成了自己的歷史使命,新的一頁可以翻開了。終端環境的話確實 Vim / Emacs 繼續下去,但桌面環境的話,Atom將會繼續向前,走出新的一步。
『柒』 幫我看一下,我的java代碼。為什麼運行結果不對!如圖:請詳解,為什麼其他組件沒有顯示
看注釋:
import java.awt.GridLayout;
import javax.swing.*;
public class LoadForm extends JFrame{
private JPanel jpanel1;
private JTextField jtext1;
private JPasswordField password;
private JLabel jlable1;
private JLabel jlable2;
private JButton button1;
private JButton button2;
public LoadForm()
{
super("商品管理系統");
this.setLayout(null);
GridLayout layout=new GridLayout(3,3,10,10);//這句保留
jpanel1=new JPanel();
//jpanel1.setLayout(null);//jpanel1的布局不能為空
jlable1=new JLabel("用戶名");
jlable2=new JLabel("密 碼");
jtext1=new JTextField();
password=new JPasswordField();
button1=new JButton("確定");
button2=new JButton("取消");
jpanel1.add(jlable1);
jpanel1.add(jtext1);
jpanel1.add(jlable2);
jpanel1.add(password);
jpanel1.add(button1);
jpanel1.add(button2);
//this.add(jpanel1);//寫法錯誤
this.setContentPane(jpanel1);//設置jpanel1為Frame的內容面版
this.setBounds(200,200,100,100);
//this.setSize(200,200);
this.setVisible(true);
}
//main方法測試
public static void main(String args[]){
new LoadForm();
}
}
『捌』 如何自己編譯源代碼
我們使用編譯器將自己的源代碼轉換成目標代碼, 使用鏈接器將我們的目標代碼鏈接成一個可執行程序。另外, 我們使用一些程序在計算機中輸入源代碼文本並且編輯它。這些是最初的和最重要的工具, 它們構成程序員的工具集合或「程序開發環境」。 如果你使用的是命令行窗口, 就像很多專業程序員所做的那樣, 你將不得不自己來編寫編譯和鏈接命令。如果你使用IDE(「互動式開發環境」或「集成式開發環境」), 就像很多程序員所做的那樣, 簡單地點擊正確按鈕就可以完成這個工作。附錄C介紹了如何在你的C++實現中編譯和鏈接。 IDE通常包括一個具有有用特性的編輯器, 例如用不同顏色的代碼來區分你的源代碼中的注釋、 關鍵字和其他部分, 以及其他幫助你來調試代碼、 編譯和運行代碼的功能。調試是發現程序中的錯誤和排除錯誤的活動, 你在前進的道路上會聽到很多有關它的內容。 我們使用微軟的Visual C++作?喑炭 ⒒肪呈道 H綣 頤羌虻サ廝怠氨嘁肫鰲被蚴恰癐DE」的某些部分, 那就是所指Visual C++系統。但是, 你可以使用一些提供最新的、 符合標準的C++實現的系統。我們所說的大多數內容(經過微小的修改)對所有的C++實現都將是正確的, 並且其代碼可以在任何地方運行。在工作中, 我們使用幾種不同的實現。