<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[darjun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/darjun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; darjun]]></copyright><item><title><![CDATA[一起用Go做一个小游戏（下）]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/128229660</link><guid>https://blog.youkuaiyun.com/darjun/article/details/128229660</guid><author>darjun</author><pubDate>Thu, 08 Dec 2022 00:00:57 +0800</pubDate><description><![CDATA[打包资源使用file2byteslice包我们可以将图片和config.json文件打包进二进制程序中，之后编译生成一个二进制程序。然后拷贝这一个文件即可，不用再拷贝图片和其他配置文件了。golang有很多第三方包可以将打包资源，原理其实很简单——读取资源文件的内容，然后生成一个go文件，在这个文件中创建一个变量保存这个文件的二进制内容。我们将使用ebiten作者编写的file2byteslice...]]></description><category></category></item><item><title><![CDATA[一起用Go做一个小游戏（中）]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/128213155</link><guid>https://blog.youkuaiyun.com/darjun/article/details/128213155</guid><author>darjun</author><pubDate>Wed, 07 Dec 2022 00:12:41 +0800</pubDate><description><![CDATA[限制飞船的活动范围上一篇文章还留了个尾巴，细心的同学应该发现了：飞船可以移动出屏幕！！！现在我们就来限制一下飞船的移动范围。我们规定飞船可以左右超过半个身位，如下图所示：很容易计算得出，左边位置的x坐标为：x=-W2/2右边位置的坐标为：x=W1-W2/2修改input.go的代码如下：func(i*Input)Update(ship*Ship,cfg*Config){
...]]></description><category></category></item><item><title><![CDATA[一起用Go做一个小游戏（上）]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/128213350</link><guid>https://blog.youkuaiyun.com/darjun/article/details/128213350</guid><author>darjun</author><pubDate>Tue, 06 Dec 2022 23:43:38 +0800</pubDate><description><![CDATA[引子最近偶然看到一个Go语言库，口号喊出“一个超级简单（dead simple）的2D游戏引擎”，好奇点开了它的官网。官网上已经有很多可以在线体验的小游戏了（利用WASM技术）。例如曾经风靡一时的2048：当然只要安装了Go，我们也键入下面的命令本地运行这个游戏：$gorun-tags=examplegithub.com/hajimehoshi/ebiten/v2/examples/204...]]></description><category></category></item><item><title><![CDATA[Go中调用外部命令的几种姿势]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/127644250</link><guid>https://blog.youkuaiyun.com/darjun/article/details/127644250</guid><author>darjun</author><pubDate>Tue, 01 Nov 2022 23:54:14 +0800</pubDate><description><![CDATA[引子在工作中，我时不时地会需要在Go中调用外部命令。前段时间我做了一个工具，在钉钉群中添加了一个机器人，@这个机器人可以让它执行一些写好的脚本程序完成指定的任务。机器人倒是不难，照着钉钉开发者文档添加好机器人，然后@这个机器人就会向一个你指定的服务器发送一个POST请求，请求中会附带文本消息。所以我要做的就是搭一个Web服务器，可以用go原生的net/http包，也可以用gin/fasthttp/...]]></description><category></category></item><item><title><![CDATA[一个好玩的 Go 语言 REPL 工具]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/125903972</link><guid>https://blog.youkuaiyun.com/darjun/article/details/125903972</guid><author>darjun</author><pubDate>Wed, 20 Jul 2022 10:00:15 +0800</pubDate><description><![CDATA[简介周末闲逛 GitHub 的时候发现一个很好玩的 Go 语言的 REPL（read-eval-print-loop）工具。本文和大家分享一下这个工具：gore。首先放一张 GitHub 的动图感受一下：快速使用gore 是一个命令行工具，需要配合 Go Module 安装。Go 环境安装完成之后，执行下面的命令安装 gore：$ go install github.co...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 roaring]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/125863466</link><guid>https://blog.youkuaiyun.com/darjun/article/details/125863466</guid><author>darjun</author><pubDate>Tue, 19 Jul 2022 00:04:01 +0800</pubDate><description><![CDATA[简介集合是软件中的基本抽象。实现集合的方法有很多，例如 hash set、tree等。要实现一个整数集合，位图（bitmap，也称为 bitset 位集合，bitvector 位向量）是个不错的方法。使用 n 个位（bit），我们可以表示整数范围[0, n)。如果整数 i 在集合中，第 i 位设置为 1。这样集合的交集（intersection）、并集（unions）和差...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 bitset]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/125827475</link><guid>https://blog.youkuaiyun.com/darjun/article/details/125827475</guid><author>darjun</author><pubDate>Sat, 16 Jul 2022 22:37:51 +0800</pubDate><description><![CDATA[简介我们都知道计算机是基于二进制的，位运算是计算机的基础运算。位运算的优势很明显，CPU 指令原生支持、速度快。基于位运算的位集合在有限的场景中替换集合数据结构可以收到意想不到的效果。bitset库实现了位集合及相关操作，不妨拿来即用。安装本文代码使用 Go Modules。创建目录并初始化：$ mkdir -p bitset &amp;&amp; cd bitset
$...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 testify]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119658145</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119658145</guid><author>darjun</author><pubDate>Thu, 12 Aug 2021 08:22:43 +0800</pubDate><description><![CDATA[简介testify可以说是最流行的（从 GitHub star 数来看）Go 语言测试库了。testify提供了很多方便的函数帮助我们做assert和错误信息输出。使用标准库testing...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 testing]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119397584</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119397584</guid><author>darjun</author><pubDate>Wed, 04 Aug 2021 21:23:30 +0800</pubDate><description><![CDATA[简介testing是 Go 语言标准库自带的测试库。在 Go 语言中编写测试很简单，只需要遵循 Go 测试的几个约定，与编写正常的 Go 代码没有什么区别。Go 语言中有 3 种类型的测试...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 goth]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119157577</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119157577</guid><author>darjun</author><pubDate>Tue, 27 Jul 2021 23:59:00 +0800</pubDate><description><![CDATA[简介当前很多网站直接采用第三方认证登录，例如支付宝/微信/ Github 等。goth封装了接入第三方认证的方法，并且内置实现了很多第三方认证的实现：图中截取的只是goth支持的一部分，完...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 gorilla/sessions]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119122806</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119122806</guid><author>darjun</author><pubDate>Mon, 26 Jul 2021 00:46:43 +0800</pubDate><description><![CDATA[简介上一篇文章《Go 每日一库之 securecookie》中，我们介绍了 cookie。同时提到 cookie 有两个缺点，一是数据不宜过大，二是安全问题。session 是服务器端的存...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 gorilla/securecookie]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119067165</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119067165</guid><author>darjun</author><pubDate>Sat, 24 Jul 2021 23:59:00 +0800</pubDate><description><![CDATA[简介cookie 是用于在 Web 客户端（一般是浏览器）和服务器之间传输少量数据的一种机制。由服务器生成，发送到客户端保存，客户端后续的每次请求都会将 cookie 带上。cookie ...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 gorilla/schema]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119047991</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119047991</guid><author>darjun</author><pubDate>Fri, 23 Jul 2021 07:13:39 +0800</pubDate><description><![CDATA[简介gorilla/schema 是 gorilla 开发工具包中用于处理表单的库。它提供了一个简单的方式，可以很方便地将表单数据转为结构体对象，或者将结构体对象转为表单数据。快速使用本文...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 gorilla/handlers]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/119013339</link><guid>https://blog.youkuaiyun.com/darjun/article/details/119013339</guid><author>darjun</author><pubDate>Thu, 22 Jul 2021 07:35:27 +0800</pubDate><description><![CDATA[简介上一篇文章中，我们介绍了 gorilla web 开发工具包中的路由管理库gorilla/mux，在文章最后我们介绍了如何使用中间件处理通用的逻辑。在日常 Go Web 开发中，开发者...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 gorilla/mux]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/118948667</link><guid>https://blog.youkuaiyun.com/darjun/article/details/118948667</guid><author>darjun</author><pubDate>Tue, 20 Jul 2021 08:00:58 +0800</pubDate><description><![CDATA[简介gorilla/mux是 gorilla Web 开发工具包中的路由管理库。gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包。它包括 Web 服务器开发的...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 net/http（基础和中间件）]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/118742313</link><guid>https://blog.youkuaiyun.com/darjun/article/details/118742313</guid><author>darjun</author><pubDate>Wed, 14 Jul 2021 07:09:28 +0800</pubDate><description><![CDATA[简介几乎所有的编程语言都以Hello World作为入门程序的示例，其中有一部分以编写一个 Web 服务器作为实战案例的开始。每种编程语言都有很多用于编写 Web 服务器的库，或以标准库，...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 termtables]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/118448181</link><guid>https://blog.youkuaiyun.com/darjun/article/details/118448181</guid><author>darjun</author><pubDate>Sat, 03 Jul 2021 23:00:00 +0800</pubDate><description><![CDATA[简介今天学个简单点的????，termtables处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据，便于观察和调试。是一个很小巧的工具库。我在学习dateparse库时偶尔见...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 colly]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/118426391</link><guid>https://blog.youkuaiyun.com/darjun/article/details/118426391</guid><author>darjun</author><pubDate>Fri, 02 Jul 2021 08:46:55 +0800</pubDate><description><![CDATA[简介colly是用 Go 语言编写的功能强大的爬虫框架。它提供简洁的 API，拥有强劲的性能，可以自动处理 cookie&amp;session，还有提供灵活的扩展机制。首先，我们介绍co...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 resty]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/118283449</link><guid>https://blog.youkuaiyun.com/darjun/article/details/118283449</guid><author>darjun</author><pubDate>Sun, 27 Jun 2021 12:15:35 +0800</pubDate><description><![CDATA[简介resty是 Go 语言的一个 HTTP client 库。resty功能强大，特性丰富。它支持几乎所有的 HTTP 方法（GET/POST/PUT/DELETE/OPTION/HEA...]]></description><category></category></item><item><title><![CDATA[Go 每日一库之 dateparse]]></title><link>https://blog.youkuaiyun.com/darjun/article/details/118215015</link><guid>https://blog.youkuaiyun.com/darjun/article/details/118215015</guid><author>darjun</author><pubDate>Fri, 25 Jun 2021 07:32:43 +0800</pubDate><description><![CDATA[简介不管什么时候，处理时间总是让人头疼的一件事情。因为时间格式太多样化了，再加上时区，夏令时，闰秒这些细枝末节处理起来更是困难。所以在程序中，涉及时间的处理我们一般借助于标准库或第三方提供...]]></description><category></category></item></channel></rss>