- 博客(84)
- 资源 (4)
- 收藏
- 关注
原创 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
325
原创 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
241
原创 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
665
原创 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
503
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
665
3
原创 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
283
原创 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
363
原创 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
321
原创 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
241
原创 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
406
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
246
原创 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
299
原创 skynet 基础部分(二) sproto 通讯协议
介绍在和客户端通讯时,需要制订一套通讯协议。 skynet 并没有规定任何通讯协议,所以你可以自由选择。sproto 是一套由 skynet 自身提供的协议,并没有特别推荐使用,只是一个选项。sproto 有一个独立项目存在 。同时也复制了一份在 skynet 的源码库中。它类似 google protobuffers ,但设计的更简单,也更利于 lua 使用。同时还提供了一套简单的 rpc 方案。以上内容来自 sproto简单来说,sproto是云风为skynet定制的通讯协议,它只支持四种
2020-07-24 19:04:42
2085
原创 skynet 基础部分(一)启动及消息处理流程
介绍skynet 项目地址skydet demo 即本项目地址skynet 是一个轻量级的为在线游戏服务器打造的框架。在使用skynet之前,非常有必要把作者写的skyent说明看一遍。homeGettingStartedFAQAPIListLuaAPIsprotoGateServerConfigCoroutine以上是必看的内容。agentagent 用于处理来自客户端的请求。watchdog看门狗,主要负责启动agent来执行业务逻辑、处理来自客户端的请求,agen
2020-07-24 17:43:01
1551
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
1658
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
3839
原创 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
501
原创 videojs 的常规使用
videojs 的常规使用初步使用videojs是一个开源的web视频组件(videojs官网),其使用基于html5的video标签。官方已经给出较为简单的使用例子:<head> <link href="https://vjs.zencdn.net/7.1.0/video-js.css" rel="stylesheet"> <!-- I...
2018-08-04 10:04:49
8013
原创 Linux inotify机制 -- 监控文件系统事件
Linux inotify机制 – 监控文件系统事件描述信息在Linux中,inotify API提供了一种机制来监控文件系统的事件信息。Inotify可以监控文件亦或者是目录。当一个目录被监控时,inotify会返回这个目录本身所发生的事件以及目录内的文件所发生的事件信息。 常用的API:inotify_init()函数创建一个inotify的实例,返回一个被inotify实...
2018-06-23 15:50:11
2815
原创 Linux lseek函数的使用
Linux lseek函数的使用注:如果文章内容有误,请留言指出,谢谢合作。名字 Name : lseek - reposition read/write file offsetlseek函数的作用是用来重新定位文件读写的位移。头文件以及函数声明#include <sys/types.h>#include <unistd.h>...
2018-06-22 18:38:59
19379
原创 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
5221
原创 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
2008
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
856
原创 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
544
原创 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
7186
2
原创 MySQL -- 外键约束
MySQL – 外键约束外键 外键是一种用来在父表和子表间建立联系的一种类型。外键有助于保持数据的一致性和完整性。外键一旦被定义,就不允许删除在另一个表中具有关联关系的行。外键约束 MySQL的InnoDB引擎支持外键约束,其语法如下:[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_na...
2018-03-25 16:12:27
630
原创 MySQL -- 主键约束
MySQL – 主键约束 主键,是一个表中一列或者多列的组合,规定主键不能重复,也不能为空值,且每个表只能有一个主键,主键是唯一性索引的一种,但二者并不等同。在MySQL的官方说明中,MySQL是这样处理主键约束的: Normally, errors occur for data-change statements (such as INSERT or UPDATE) tha...
2018-03-23 16:03:46
1453
原创 MySQL -- 基础语句一览表
MySQL – 基础语句一览表MySQL – 基础语句一览表表格一览建立表删除表表格一览 作用 语句 查看当前所有的数据库 SHOW DATABASES; 查看当前数据库中所有的表 SHOW TABLES; 查看当前表的结构 DESC table_name; 查看当前所有用户 SELECT User...
2018-03-22 23:00:09
470
原创 MySQL -- 查看MySQL版本
MySQL – 查看MySQL版本 查看mysql版本:mysql -V //or `mysql --version` 注意是大写的VC:\Users\lk>mysql -Vmysql Ver 14.14 Distrib 5.7.20, for Win64 (x86_64) 或者进入mysql shell后:mysql> SELECT VE...
2018-03-22 17:29:09
2501
原创 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
49901
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
13241
原创 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
1944
原创 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
4226
原创 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
1232
原创 Kotlin -- inner and nested
Kotlin – inner and nested 和Java一样,在Kotlin中,你可以在一个类中声明另一个类。不太一样的是,在kotlin中,嵌套类(nested class)默认不能访问其外部类(outer class)的实例,除非你明确指出可以访问。 在kotlin中,一个没有修饰符的嵌套类与Java中的静态嵌套类一样。为了能让其引用其外部类,需要用inner修饰符指定。...
2018-03-02 18:14:07
1898
原创 Kotlin -- 访问控制修饰符
Kotlin – 访问控制修饰符public by default 和Java一样,在Kotlin中拥有public、protected、private修饰符,作用也和Java几乎一样,与Java不同的是,在Kotlin中,类的声明默认是public的。 在kotlin中,还增加了一层访问控制,就是internal修饰符,被internal修饰的类意味着只在模块中可见。模块是K...
2018-03-02 18:12:38
4122
原创 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
12705
1
原创 Kotlin -- 接口(Interface)
Kotlin – 接口(Interface) interface用于声明一个接口类:interface Speakable{ fun say()} 然后通过:来实现接口,顺带说一下,在kotlin中,:是一个很强大的符号,对应于Java的implements、extends都是用:来实现:class Bob : Speakable { override...
2018-03-01 23:20:36
3296
原创 Kotlin - *local function*
Kotlin - local function 想必大家都赞同的一点是好代码都具有复用率高的特点。在初学编程的时候,你的老师也一定告诫过你:“不要让自己写重复的代码。”但在Java中,有时候并不能很好的践行这一原则。 在大多数情况下,尽管你可以使用你的IDE帮你重构那些长得不得了的函数,让其分成更小的代码块,然后重用这些代码块。但这会让你的代码更加难以理解和阅读,这样做的最终结果会...
2018-03-01 17:47:55
1475
JFace_SWT_win32.x86_64_3.106.2.v20171129-0543.jar(修正版)
2018-01-25
JFace_SWT_win32.x86_64_3.106.2.v20171129-0543.jar
2018-01-25
swt-4.8M4-win32-win32-x86_64.zip
2018-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人