原创 c語言詞法分析初試(C++實現)

開篇 所謂詞法分析,就是將源代碼按照構詞規則分解成一系列單詞符號。單詞是語言中具有獨立意義的最小單位,包括關鍵字、標識符、運算符、界符和常量等。 分析 源程序分解的單詞可以歸爲以下幾類: 1. 關鍵字 c語言關鍵字有不少

原创 JDBC數據庫操作封裝(PreparedStatement)

之前有用過老師給的實現好的JDBC封裝類,今天自己看着書按自己思路實現了一遍,並將Statement改爲了PreparedStatement。 代碼 import com.sun.tools.javac.util.List;

原创 網易遊戲面試題 - 誰收到了消息

題意 思路 乍一看題,冒出來的思路是,將每個用戶凡是在同一個羣的兩個用戶看做是一條無向邊,這樣所有羣的所有用戶之間的聯繫就轉化爲了一張圖,然後以官方用戶(id=1)爲起點,計算所有可以到達的節點的總數,dfs即可,按着這個思路

原创 linux之創建守護進程

簡介 守護進程是一種運行在後臺的特殊進程,它獨立於控制終端並且週期性地執行某種任務或等待處理某些發生的事件。 其實,本質上守護進程和普通的進程並沒有什麼區別,只是我們規定了一種進程的編寫規則,將其叫做守護進程,僅此而已。

原创 8086彙編初學之貪喫蛇

前言 一直沒想過要去學習彙編,覺得需要用匯編的場合無非三種: 1. 與硬件結合很緊密高級語言做不到 2. 時空效率要求甚高算法層面已不能優化到 3. 逆向破解等只能用某些途徑看其彙編指令 其餘情況下,用匯編無異於有炮

原创 步步爲營-牆棋AI人機對戰(Android)

放縱了三天了,之前寫了一半懶得去動的牆棋,反而在這幾天間隙斷斷續續完成了,也是挺可笑的。 簡介-關於牆棋 路牆棋(Quoridor),或譯牆棋、步步爲營,是由Mirko Marchesi(米爾科·邁凱西)設計、Gigamic

原创 正規表達式轉NFA(C++)

分析 表達式裏包含五種符號:左括號,右括號,連接符,選擇符,閉包符。 連接符因爲優先級最高,可以將其過濾掉,不予考慮。 閉包符* 首先來說閉包,無非兩種情況: X* 或者 (…..)*

原创 8086彙編初學之貪吃蛇

前言 一直沒想過要去學習彙編,覺得需要用匯編的場合無非三種: 1. 與硬件結合很緊密高級語言做不到 2. 時空效率要求甚高算法層面已不能優化到 3. 逆向破解等只能用某些途徑看其彙編指令 其餘情況下,用匯編無異於有炮

原创 java程序操作命令行

使用 在寫java項目時, 有些特殊情況下需要用到操作命令行, 以前用過好幾次, 都是用的時候從網上找, 用完又忘記, 用一次找一次, 所以這次乾脆將其保存在這裏. /** * Created by shiyi on 16

原创 IDEA使用maven創建web項目卡住解決辦法

解決方法 如下圖所示:在Properties中添加一個參數archetypeCatalog=internal,不加這個參數,在maven生成骨架的時候將會非常慢,有時候會直接卡住。 理由 archetypeCatalog表示

原创 Epoll-ET模式下非阻塞讀寫之Buffer的封裝

先說說Epoll的ET模式 epoll默認的模式是LT,要說ET不得不提到LT,LT與ET的區別可以用一句話概括: LT模式下只要socket處於可讀狀態(添加EPOLLIN事件時)或可寫狀態(添加EPOLLOUT事件時)

原创 Mysql查詢重複數據並按條件刪除重複行

在對遊戲進行合區的過程中, 存在一個情況, 那就是當一個賬號在兩個區都存在角色的時候, 需要按照條件對重複角色進行刪除, 比如以等級爲條件, 只保留等級高的. 解決方案 用mysql語句, 兩條就可以解決:

原创 JavaWeb ServletContext/application初試總結

簡介:ServletContext/application 爲什麼將其兩者放在一起介紹呢,因爲他們可以被看做是同一個類,只是名字起得不同而已。 ServletContext是在Servlet中使用,而applicatio

原创 linux服務器開發之網關服務器的實現

什麼是網關服務器 初學linux服務器開發時,我們的服務器是很簡單的,只需要一個程序完成與客戶端的連接,接收客戶端數據,數據處理,向客戶端發送數據。 但是在處理量很大的情況下,一臺機器不能滿足我們的需求,此時我們應該怎麼辦

原创 遊戲後臺開發九問(騰訊技術分享實錄)

[導讀]騰訊遊戲訊,7月30日消息,第九屆中國遊戲商務大會網頁遊戲論壇30日在上海浦東嘉裏大酒店展進行相關主題論壇活動。 30日,在上海chinajoy嘉裏酒店進行了遊戲開發者大會,騰訊遊戲的研發部助力總經理聶志明進行了演講。