原创 無限戰爭

      18世紀初,人類在不斷的工作實踐中發明了紡織機等工作機器,並以此開啓了第一次科技革命,機器生產開始替代手工勞動。       1785年,人類製成改良型蒸汽機,大大推動了機器的發展和普及。       至1840年,英國工業革命

原创 從零開始實現放置遊戲(十七)——完結篇(附DEMO地址)

  大家好,時隔2年多,我來填坑啦!   之前用的技術、設計思路都不成熟,所以直接幹掉重做了。   由於從頭教學實在太囉嗦,精力也有限,咱們還是直接上源碼吧。 DEMO地址: http://212.129.154.59:5173/ (大家快

原创 安卓開發入門(一)開發環境搭建

開發工具 基本上就一個選項:Android Studio,從官網下載最新版版即可。 我下載時是2020.3.1 for Windows 64-bit。 官網地址:https://developer.android.google.cn/stu

原创 線上高併發應用重構(寫)填坑經驗分享(二)

上一篇主要從設計層面,分享了一些小經驗。 因軟件系統有其複雜性和多樣性,不同的場景、架構下,系統的瓶頸各不相同。 文章裏的一些想法和設計並不通用,主要針對的是高併發場景下海量數據的實時查詢。   這次再分享一個更貼近生活的案例。 有時看似

原创 線上高併發應用重構(寫)填坑經驗分享(一)

        今年在公司重構(寫)了一個老項目,踩了無數的坑。         中間好幾次遇到問題,甚至感覺項目可能要失敗了,好在最後終於成功上線了。         雖然被坑的不要不要的,但也從中領悟到了不少東西,在這裏記錄一下,順便分

原创 線上Redis高併發性能調優實踐

項目背景   最近,做一個按優先級和時間先後排隊的需求。用 Redis 的 sorted set 做排隊隊列。   主要使用的 Redis 命令有, zadd, zcount, zscore, zrange 等。   測試完畢後,發到線上,

原创 SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis

  今天項目不忙,想搞一下shardingJDBC分庫分表看看,主要想實現以下幾點: 捨棄xml配置,使用.yml或者.properties文件+java的方式配置spring。 使用 Druid 作爲數據庫連接池,同時開啓監控界面,並支

原创 從零開始實現放置遊戲(十五)——實現戰鬥掛機(6)在線打怪練級

  本章初步實現遊戲的核心功能——戰鬥邏輯。   戰鬥系統牽涉的範圍非常廣,比如前期人物的屬性、怪物的配置等,都是在爲戰鬥做鋪墊。   戰鬥中,人物可以施放魔法、技能,需要技能系統支持。   戰鬥勝利後,進行經驗、掉落結算。又需要揹包、裝備

原创 Windows系統安裝最新版本RabbitMQ3.8.3及報錯解決

  今天想安裝下RabbitMQ寫幾個用例看下,發現最新的安裝包有些問題,不能直接安裝使用,遇到一些問題,記錄一下解決辦法。 下載安裝包   因爲RabbitMQ是Erlang編寫,安裝時,需要先安裝Erlang。在RabbitMQ官網(h

原创 從零開始實現放置遊戲(十四)——實現戰鬥掛機(5)地圖移動和聊天

  上一節添加了websocket組件,實現了前後端通信。後面我們只需要根據遊戲的業務邏輯,逐步實現各種功能即可。   另外,在實現具體業務邏輯時,發現上一章設計的消息對象有些不合理,由於粒度過粗,導致可以複用的部分很少,且這裏的通信模型並

原创 從零開始實現放置遊戲(十三)——實現戰鬥掛機(4)添加websocket組件

  前兩張,我們已經實現了登陸界面和遊戲的主界面。不過遊戲主界面的數據都是在前端寫死的文本,本章我們給game模塊添加websocket組件,實現前後端通信,這樣,前端的數據就可以從後端動態獲取到了。 一、添加maven依賴   在game

原创 從零開始實現放置遊戲(十二)——實現戰鬥掛機(3)數據字典和緩存改造

  上一章,我們添加了遊戲的主界面和註冊登錄功能。由於距離上上篇間隔較長,可能有些內容想些的後來就忘了。同時,邏輯也不復雜,所以描述比較粗略。   現在隨着模塊的增加,整個架構也暴露出一些問題。本章我們將對整個系統進行大規模重構。   比如

原创 從零開始實現放置遊戲(十一)——實現戰鬥掛機(2)註冊登陸和遊戲主界面

  本章主要實現註冊登陸功能和遊戲的主界面。有了遊戲的界面,大家能有更直觀的認識。   本章我們主要開發的是idlewow-game模塊,其實就是遊戲的客戶端展示層。因爲是放置遊戲,爲了方便,主要使用spring-mvc來開發,整個遊戲形式

原创 從零開始實現放置遊戲(十)——實現戰鬥掛機(1)hessian服務端搭建

  前面實現RMS系統時,我們讓其直接訪問底層數據庫。後面我們在idlewow-game模塊實現遊戲邏輯時,將不再直接訪問底層數據,而是通過hessian服務暴露接口給表現層。   本章,我們先把hessian服務搭好,並做一個簡單的測試,

原创 從零開始實現放置遊戲(五)——實現後臺管理系統(3)實現切面日誌

  上一章,我們初步實現了後臺管理系統的增刪查改功能。然而還有很多功能不完善。這一章,我們先把系統日誌搭建起來,不管是生產問題排查,還是方便開發調試,日誌都是必不可少的核心功能。所謂切面日誌,比如說,我們想把每個方法的入參都記錄日誌,那需要