自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sino_Crazy_Snail的小窝

给岁月以文明,给时光以生命

  • 博客(84)
  • 资源 (4)
  • 收藏
  • 关注

原创 问题杂谈手记

【代码】问题杂谈手记。

2022-08-29 15:27:58 402 1

原创 svn 常用命令备忘录

svn info: 查看项目信息svn status:查看项目状态,M表示文件已经修改,A表示新添加的文件,?表示未追踪的文件。svn log:查看提交日志svn commit:提交修改到svn仓库, 加上-m参数可直接写日志,和git一样,比如svn commit -m "first commit "。svn ls:列出svn仓库中项目的文件。svn revert [PATH]:放弃文件的修改(undo local changes),比如svn revert README.md。详细说明.

2020-09-07 11:47:59 230

原创 git command note

删除没用的引用git remote prune origin删除没用的引用,比如git branch -a 出现远程目录已经删除的分支。放弃本地修改,强制从远程仓库更新git fetch --allgit reset --hard origin/mastergit pull删除远程仓库分支git push origin --delete [远程仓库分支名]...

2020-08-13 14:39:29 175

原创 skynet SERVICE_NAME定义

在看源码的时候发现这样的调用:-- loginserver.lua#L163table.insert(slave, skynet.newservice(SERVICE_NAME))可是上下文并没有找到SERVICE_NAME的定义,因为之前对Lua的全局变量理解有误,导致我没有想到调用一个没有定义的变量的原因是什么。后来经过前辈提醒,SERVICE_NAME是一个全局变量,我立马醒悟过来,最终在 loader.lua中找到了SERVICE_NAME的定义。先记录一下。以前对lua的全局变量的理

2020-08-03 10:04:13 529

原创 skynet demo cluster 分支(二)Gamegate

项目地址在gamagate中并没有注册消息处理函数,那么它是怎么分发消息的呢?我们可以去查看msgserver的源码:-- msgserver.lua...function server.start(conf) ... local CMD = { login = assert(conf.login_handler), logout = assert(conf.logout_handler), kick = assert(conf.kick_handler), } fu

2020-07-27 17:21:31 385 1

原创 skynet demo cluster 分支(一)main.lua

Main.lua这次我们从main.lua开始讲起。main.lua 代码-- main.luaskynet.start(function() ... skynet.newservice("debug_console", skynet.getenv("debug_port")) skynet.newservice("mysqldb") skynet.newservice("redisdb") local protoloader = skynet.uniques

2020-07-27 16:42:01 530 2

原创 skynet demo plain text 分支(七)客户端代码

client.lua 代码debugtool 代码-- client.luapackage.cpath = "luaclib/?.so;/home/lks/code/skynet/luaclib/?.so"package.path = "lualib/?.lua;service/?.lua;/home/lks/code/skynet/lualib/?.lua"设置lua包和c的so库的路径,告诉lua VM应该到哪里去找包。-- client.lualocal f = io.open("p

2020-07-27 14:34:18 239

原创 skynet demo plain text 分支(六)agent 业务逻辑处理

agent.luadebugtool 代码消息处理-- agent.lualocal function request(name, args, response) -- debugtool.log("get request with name: %s", name) local f = assert(REQUEST[name]) local r = f(args) if response then return response(r) endendlocal function

2020-07-27 11:46:11 293

原创 skynet demo plain text 分支(五)看门狗

watchdog.lua 代码debugtool 代码-- watchdog.lualocal CMD = {}local SOCKET = {}...skynet.start(function() skynet.dispatch("lua", function(session, source, cmd, subcmd, ...) skynet.error(string.format("watchdog get cmd: %s", cmd)) if cmd == "socket" th

2020-07-27 11:10:46 242

原创 skynet demo plain text 分支(四)通讯协议的载入

-- protoloader.lualocal skynet = require "skynet"local sprotoparser = require "sprotoparser"local sprotoloader = require "sprotoloader"local data = {}local CMD = {}local function load(name) local filename = string.format("proto/%s", name) local f

2020-07-27 10:32:26 184

原创 skynet demo plain text 分支(三)redis业务处理

-- redis.lualocal skynet = require "skynet"local redis = require "skynet.db.redis"local debugtool = require "debugtool"require "skynet.manager"local dblocal CMD = {}function CMD.sigin(username, client_fd) debugtool.log("sigin with (%s, %d)", u

2020-07-27 10:22:35 334 1

原创 skynet demo plain text 分支(二)Mysql业务处理

-- mysqldb.lualocal skynet = require "skynet"local mysql = require "skynet.db.mysql"require "skynet.manager"local debugtool = require "debugtool"local dblocal CMD = {}-- 注册 function CMD.sinup(username, password, nickname) local stmt = db:pre

2020-07-27 10:08:01 172

原创 skynet demo plain text 分支(一)通讯协议

skynet demo 项目地址(plain text分支 )客户端到服务端c2s.sproto:.package { type 0 : integer session 1 : integer ud 2 : string}.User { username 0 : string password 1 : string nickname 2 : string}ping 1 {}sigup 2 { request User response { ok 0 : boole

2020-07-27 09:49:27 243

原创 skynet 基础部分(二) sproto 通讯协议

介绍在和客户端通讯时,需要制订一套通讯协议。 skynet 并没有规定任何通讯协议,所以你可以自由选择。sproto 是一套由 skynet 自身提供的协议,并没有特别推荐使用,只是一个选项。sproto 有一个独立项目存在 。同时也复制了一份在 skynet 的源码库中。它类似 google protobuffers ,但设计的更简单,也更利于 lua 使用。同时还提供了一套简单的 rpc 方案。以上内容来自 sproto简单来说,sproto是云风为skynet定制的通讯协议,它只支持四种

2020-07-24 19:04:42 1762

原创 skynet 基础部分(一)启动及消息处理流程

介绍skynet 项目地址skydet demo 即本项目地址skynet 是一个轻量级的为在线游戏服务器打造的框架。在使用skynet之前,非常有必要把作者写的skyent说明看一遍。homeGettingStartedFAQAPIListLuaAPIsprotoGateServerConfigCoroutine以上是必看的内容。agentagent 用于处理来自客户端的请求。watchdog看门狗,主要负责启动agent来执行业务逻辑、处理来自客户端的请求,agen

2020-07-24 17:43:01 1399 1

原创 kubernetes 安装

环境ubuntu-19.10-live-server-amd64关闭防火墙sudo ufw disable关闭系统swapsudo swapoff -a或者去修改/etc/fstab文件UUID=ae07b0eb-6d6b-4edd-8989-d07ef0226e0f / ext4 defaults 0 0#/swap.img none swap sw 0 0即注释掉 sw...

2020-02-10 20:23:03 1493 1

原创 Gradle设置全局阿里云maven镜像

Gradle设置全局阿里云镜像去到 $USER_HOME/.gradle目录下,也就是C盘的C:\Users\{你的用户名}\.gradle下,创建init.d目录。在init.d目录下创建.init.gradle.kts脚本,写入apply<AliyunMavenRepositoryPlugin>()class AliyunMavenRepositoryPlugin: Pl...

2019-12-06 15:24:48 3730

原创 lua 5.3 C函数库

我们从头开始讲起怎么为lua写一个C语言函数库。首先去下载源代码,我这里选择的是5.3.5版本的源代码。然后去安装好mingw64编译工具。我们将lua源代码解压,进入源代码目录,打开命令行,输入 make mingw。在命令make mingw运行完毕后,我们会得到一系列的.o、.a等文件,还有luac、lua,lua53.dll或者lua53.so(取决于你的系统,我这里用的windo...

2019-10-11 19:08:05 420

原创 videojs 的常规使用

videojs 的常规使用初步使用videojs是一个开源的web视频组件(videojs官网),其使用基于html5的video标签。官方已经给出较为简单的使用例子:&lt;head&gt; &lt;link href="https://vjs.zencdn.net/7.1.0/video-js.css" rel="stylesheet"&gt; &lt;!-- I...

2018-08-04 10:04:49 7657

原创 Linux inotify机制 -- 监控文件系统事件

Linux inotify机制 – 监控文件系统事件描述信息在Linux中,inotify API提供了一种机制来监控文件系统的事件信息。Inotify可以监控文件亦或者是目录。当一个目录被监控时,inotify会返回这个目录本身所发生的事件以及目录内的文件所发生的事件信息。 常用的API:inotify_init()函数创建一个inotify的实例,返回一个被inotify实...

2018-06-23 15:50:11 2548

原创 Linux lseek函数的使用

Linux lseek函数的使用注:如果文章内容有误,请留言指出,谢谢合作。名字 Name : lseek - reposition read/write file offsetlseek函数的作用是用来重新定位文件读写的位移。头文件以及函数声明#include &lt;sys/types.h&gt;#include &lt;unistd.h&gt;...

2018-06-22 18:38:59 18953

原创 CSS -- Python爬虫常用CSS选择器(Selectors)

CSS – Python爬虫常用CSS选择器(Selectors) selector example description .class .your_class 选择所有class="your_class"的元素 #id #name 选择所有id="name"的元素 * * 选择所有的元素 element p ...

2018-04-28 23:38:05 5122

原创 openSUSE 安装 Anaconda3 之后出现Could not start D-Bus. Can you call qbus-qt5?

openSUSE 安装 Anaconda3 之后出现Could not start D-Bus. Can you call qbus-qt5?本来想学一下Python,就下了个Anaconda来玩。一路安装下来,安装的时候选择了将Anaconda添加到PATH中去,撸了一天代码也没有什么问题,结果第二天开机的时候就悲剧了:Could not start D-Bus. Can you cal...

2018-04-16 12:33:31 1885 1

原创 Struts2 -- No result defined for action action.Register and result success

Struts2 – No result defined for action action.Register and result success   在跟着官网的例子学习Struts 2框架的时候遇到了个问题:No result defined for action action.Register and result success.最后发现是struts.xml里 package的...

2018-04-02 12:50:16 771

原创 Struts2 -- 登录表单入门小Demo

Struts2 – 登录表单入门小DemoStruts2简介  Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。...

2018-03-31 11:41:43 473

原创 Kotlin -- Exposed框架入门

Kotlin – Exposed框架入门简介  Exposed1是JetBrains官方支持的SQL/ORM框架,风格颇为类似Django ORM,并且充分发挥了Kotlin的强类型优势。而且简单易学。配置  这里采用Gradle来构建项目,相关配置如下:buildscript { ext.kotlin_version = '1.2.31' //使用...

2018-03-27 22:44:23 6945 2

原创 MySQL -- 外键约束

MySQL – 外键约束外键  外键是一种用来在父表和子表间建立联系的一种类型。外键有助于保持数据的一致性和完整性。外键一旦被定义,就不允许删除在另一个表中具有关联关系的行。外键约束  MySQL的InnoDB引擎支持外键约束,其语法如下:[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_na...

2018-03-25 16:12:27 557

原创 MySQL -- 主键约束

MySQL – 主键约束  主键,是一个表中一列或者多列的组合,规定主键不能重复,也不能为空值,且每个表只能有一个主键,主键是唯一性索引的一种,但二者并不等同。在MySQL的官方说明中,MySQL是这样处理主键约束的: Normally, errors occur for data-change statements (such as INSERT or UPDATE) tha...

2018-03-23 16:03:46 1365

原创 MySQL -- 基础语句一览表

MySQL – 基础语句一览表MySQL – 基础语句一览表表格一览建立表删除表表格一览 作用 语句 查看当前所有的数据库 SHOW DATABASES; 查看当前数据库中所有的表 SHOW TABLES; 查看当前表的结构 DESC table_name; 查看当前所有用户 SELECT User...

2018-03-22 23:00:09 433

原创 MySQL -- 查看MySQL版本

MySQL – 查看MySQL版本  查看mysql版本:mysql -V //or `mysql --version`  注意是大写的VC:\Users\lk&gt;mysql -Vmysql Ver 14.14 Distrib 5.7.20, for Win64 (x86_64)  或者进入mysql shell后:mysql&gt; SELECT VE...

2018-03-22 17:29:09 2414

原创 MySQL 官方发音

  有很多朋友一直在纠结MySQL的发音到底是什么,我去看了下官方文档,是这样说的:    The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other l...

2018-03-22 13:08:26 49110 3

原创 gradle -- 使用国内阿里云镜像解决下载速度慢的问题

在build.gradle上加入如下url:buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } ...

2018-03-17 22:07:55 12862

原创 kotlin -- gradle配置Exposed框架和mysql连接

gradle:buildscript { ext.kotlin_version = '1.2.21' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_vers...

2018-03-17 20:49:36 1837

原创 kotlin -- Type inference failed: Cannot infer type parameter

kotlin – Type inference failed: Cannot infer type parameterimport org.jetbrains.exposed.sql.*import org.jetbrains.exposed.sql.transactions.transactionimport org.jetbrains.exposed.sql.SchemaUti...

2018-03-17 20:41:32 3990

原创 Kotlin -- Sealed Classes

Kotlin – Sealed Classes  如果有一个接口类interface Expr,其有两个实现:interface Exprclass Num(val value: Int) : Exprclass Sum(val left: Expr, val right: Expr) : Expr  当你用when表达式处理的时候,必须有else分支来作为默认选择:...

2018-03-02 18:15:35 1115

原创 Kotlin -- inner and nested

Kotlin – inner and nested  和Java一样,在Kotlin中,你可以在一个类中声明另一个类。不太一样的是,在kotlin中,嵌套类(nested class)默认不能访问其外部类(outer class)的实例,除非你明确指出可以访问。   在kotlin中,一个没有修饰符的嵌套类与Java中的静态嵌套类一样。为了能让其引用其外部类,需要用inner修饰符指定。...

2018-03-02 18:14:07 1838

原创 Kotlin -- 访问控制修饰符

Kotlin – 访问控制修饰符public by default  和Java一样,在Kotlin中拥有public、protected、private修饰符,作用也和Java几乎一样,与Java不同的是,在Kotlin中,类的声明默认是public的。   在kotlin中,还增加了一层访问控制,就是internal修饰符,被internal修饰的类意味着只在模块中可见。模块是K...

2018-03-02 18:12:38 4052

原创 Kotlin -- open, final, abstract 修饰符

Kotlin – open, final, abstract  在Kotlin中,所有的类默认都是final的。如果你需要允许它可以被继承,那么你需要使用open声明://这个类具有`open`属性,可以被其他类继承open class People: Speakable{ //`open`的方法被实现和覆写,该方法也是`open`的 override fun s...

2018-03-01 23:22:50 12399 1

原创 Kotlin -- 接口(Interface)

Kotlin – 接口(Interface)  interface用于声明一个接口类:interface Speakable{ fun say()}  然后通过:来实现接口,顺带说一下,在kotlin中,:是一个很强大的符号,对应于Java的implements、extends都是用:来实现:class Bob : Speakable { override...

2018-03-01 23:20:36 3134

原创 Kotlin - *local function*

Kotlin - local function  想必大家都赞同的一点是好代码都具有复用率高的特点。在初学编程的时候,你的老师也一定告诫过你:“不要让自己写重复的代码。”但在Java中,有时候并不能很好的践行这一原则。   在大多数情况下,尽管你可以使用你的IDE帮你重构那些长得不得了的函数,让其分成更小的代码块,然后重用这些代码块。但这会让你的代码更加难以理解和阅读,这样做的最终结果会...

2018-03-01 17:47:55 1328

QuickRedis-1.0.7-win.exe

redis windows 客户端

2020-07-24

JFace_SWT_win32.x86_64_3.106.2.v20171129-0543.jar(修正版)

JFace是建立在SWT之上的UI部件,是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API,其底层实现为SWT。它扩展了 SWT并能与 SWT 交互操作。JFace工具箱提供了一组功能强大的用户界面组件,开发人员可以轻松地在独立应用程序中利用这些组件,以简化常见的UI编程任务。 SWT是一个窗口构件集和图形库,它集成于本机操作系统提供的GUI API。而JFace是用SWT实现的UI工具箱,它简化了常见的UI编程任务。JFace在其API和实现方面都是独立于窗口系统的,它在窗口小部件系统上运行,即JFace旨在使用SWT而不隐藏它。本资源包含了JFace 和 SWT所需的所有类库

2018-01-25

JFace_SWT_win32.x86_64_3.106.2.v20171129-0543.jar

JFace是建立在SWT之上的UI部件,是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API,其底层实现为SWT。它扩展了 SWT并能与 SWT 交互操作。JFace工具箱提供了一组功能强大的用户界面组件,开发人员可以轻松地在独立应用程序中利用这些组件,以简化常见的UI编程任务。 SWT是一个窗口构件集和图形库,它集成于本机操作系统提供的GUI API。而JFace是用SWT实现的UI工具箱,它简化了常见的UI编程任务。JFace在其API和实现方面都是独立于窗口系统的,它在窗口小部件系统上运行,即JFace旨在使用SWT而不隐藏它。本资源包含了JFace 和 SWT所需的所有类库

2018-01-25

swt-4.8M4-win32-win32-x86_64.zip

eclipse 下的SWT桌面开发库,适用于64位的系统。SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。

2018-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除