Golang | redis

概述 网上有很多golang操作redis的例子,我使用github.com/gomodule/redigo/redis包写一个关于redis分布式锁的问题。 redis分布式锁 锁需要的几个组件 获取锁 删除……

阅读全文

Lua | next的使用

lua_next lua_next(L,index):先把 表(lua栈 index所指的表), 的当前索引弹出,再把table 当前索引的值弹出,也就是先弹出 table的索引,再弹出table索引的值 举例: local t = { ["a"] = 1, ["b"]……

阅读全文

Lua | API

lua_pop和lua_settop lua_settop 我们直接来看lua_settop,文档解释 /* 设置栈的高度,如果之前的栈顶比新设置的更高,那么高出来的元素会被丢弃,反之压入nil来补足大小 假设栈里有2个元素。 如果……

阅读全文

Hugo

hugo 我用过的静态博客有hexo、jekyll和hugo,对比起来,hugo虽然没有hexo那样丰富的插件和主题,但是hugo生成文章的速度更快。我是一名go语言爱好者,而hugo是go语言开发的, jek……

阅读全文

Golang | gomod拉取私有仓库

概述 在使用go mod的过程中,依赖的包往往是第三方库,当我们自定义一个包并且放在github.com私有仓库时候,按照原来的方法则会有如下问题。 get "gitlab.com/xxx/zz": found meta tag get.metaImport{Prefix:"gitlab.com/xxx/zz", VCS:"git", RepoRoot:"https://gitlab.com/xxx/zz.git"} at //gitlab.com/xxx/zz?go-get=1 verifying gitlab.com/xxx/zz@v0.0.1: gitlab.com/xxx/zz@v0.0.1: reading https://sum.golang.org/lookup/gitlab.com/xxx/zz@v0.0.1: 410 Gone 这个错误是因为新版本g……

阅读全文

八个基础排序

sort排序 std::sort( )函数是库函数提供的排序函数,必须包括头文件#include <algorithm>,它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n) Sort函数有三个参数:……

阅读全文

《仙剑奇侠传》编译运行

概述 今天在github上找到了《仙剑奇侠传》的rpg单机游戏sdlpal,sdlpal 是一个开源项目,基于sdl把仙剑奇侠传重写了一遍。 下面是我的编译过程总结。 环境 win10- sdl1.2- sdlpal- vs2017- DirectX SDK10 下载sdlpal $ git clone https://github.com.cnpmjs.org/sdlpal/sdlpal.git……

阅读全文

实现atoi和itoa函数

题目1: 把字符串转化为整数 有整数字符串,"13579", 和 "246810". 请写一个函数把这两个字符串转化为整数 步骤: 先判断正负 遍历字符串,转换字符为整数 //atoi.cc #include <stdio.h> int my_atoi(char *str) { bool bmin = false; int result = 0; //先判断正……

阅读全文

协程解析二 | 云风的coroutine

概述 云风的coroutine是通过ucontext来控制程序运行时上下文的,我们来根据该库提供的几个接口,和一个demo来解释协程的运行原理。如果不了解ucontext的,建议先了解ucontxt 环境……

阅读全文

协程解析一 | ucontext

概述 最近在研究协程的实现原理,看了云风的coroutine和腾讯的开源库libco后,原来要实现一个协程库也没那么难。我先来讲讲云风的coroutine库。他使用的是 uncontext来保存程序运行上……

阅读全文