- 博客(228)
- 资源 (9)
- 收藏
- 关注
原创 Go 之为什么 rune 是 int32 的别名而不是 uint32 的别名
我对这个问题其实也是一直有疑问的,毕竟像 byte 都是 uint8 的别名。然后找了一些问答资料,不知道还没有没其他更好的解释。
2024-04-19 16:57:46 41
原创 Go 之获取变量类型
Python 可以通过 type 快速获取变量类型。Ruby 也可以通过 class 方法快速获取变量类型。那么 Go 有哪些获取变量类型的方法呢?
2024-04-18 22:25:25 203
原创 Go 之 sync.Mutex 加锁失效现象
我先声明一下,并不是真的加锁失效,而是我之前的理解有误,导致看起来像是加锁失效一样。于是乎记录一下,加深一下印象。
2024-04-17 00:13:26 263
原创 Go 之从标准输入读取数据的方法
最近刷题的时候,发现大家都喜欢用 bufio.Scanner 或 bufio.Reader 来从标准输入获取数据,所以正好来了解一下它们的特性。
2024-04-12 00:29:52 647
原创 Go 中无缓冲通道与容量为1的缓冲通道的区别
作为学Go的菜鸟,之前我以为这两个应该是同一个东西,以为无缓冲通道是缓冲通道容量为1的一种特殊情况。然鹅,这俩货根本不是同一个东西。
2024-04-09 22:48:22 531
原创 Go 之缓冲通道限制协程并发数目
并发执行的协程太多可能会对资源的消耗特别大,从而导致其它进程服务受到影响,因此协程执行时应该设计一种机制,来限制 并发执行的协程数目。
2024-04-09 09:42:53 332
原创 Python 之 Flask 框架学习
flask 作为轻量级的 web 框架,早些时候使用过,最近再来回看一下,依赖安装相关的就不多说了,直接从例子开始。
2024-04-02 17:11:59 1369
原创 Go 之 Gin 框架
Gin 是一个 Go (Golang) 编写的轻量级 web 框架,运行速度非常快,擅长Api 接口的高并发,如果项目的规模不大,业务相对简单,这个时候我们也推荐您使用 Gin,特别适合微服务框架。
2024-03-30 22:18:28 967
原创 Go 之 captcha 生成图形验证码
目前 chptcha 好像只可以生成纯数字的图像验证码,不过对于普通简单应用来说也足够了。captcha默认将store封装到内部,未提供对外操作的接口,因此使用自己显式生成的store,可以通过store自定义要生成的验证码。
2023-11-17 11:47:51 685
原创 Ruby 之方法委托
ruby 委托方法的优点在于,可以将多个不同实例(或类)的方法组织在一起,然后进行统一调用,方便各类方法的统一管理。比如下边示例中的 color 和 name,本来是不同类里边的属性,但最后都可以统一使用 Man 的实例进行调用。
2023-10-31 17:28:43 672
原创 Go 之 gotable 格式化打印表格
gotable是一个第三方库,一些复杂功能可能还不完善,但是对于简单的展示还是不成问题的。安装这些就不多说了,直接上例子吧。
2023-10-10 16:44:59 461
原创 Go 之 fmt 格式化输入输出(包括进制转换)
Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内容的结尾添加一个换行符。
2023-10-08 16:10:07 561
原创 Go 之 redis 处理
Redis是一个开源的内存数据库,支持诸如字符串(string)、哈希(hashe)、列表(list)、集合(set)、带范围查询的排序集合(sorted set)、bitmap、hyperloglog、带半径查询的地理空间索引(geospatial index)和流(stream)等数据结构。
2023-09-27 17:16:45 235
原创 Go 的标准库 Context 理解
作为一个才入门的菜鸟,还没写过真正的 go 项目,要理解这个 Context 还是有点难,不过还是要尝试一下。在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的token、请求的截止时间。
2023-08-18 14:26:45 749
原创 Go 的 gin 参数校验之 validator 库
对于元素类型为结构体的碎片,unique约束结构体对象的某个字段不重复,使用 unique=field指定字段名。tag标识相关校验规则,就可以进行参数校验了,而不用自己单独去写常见的校验规则。使用 validator 以后,只需要在定义结构体时使用。对于map,unique约束没有重复的值。对于数组和切片,unique没有重复的值。
2023-08-17 17:00:12 835
原创 ZMQ特点及消息模式
普通的socket是端对端的关系,ZMQ是N:M的关系,socket的连接需要显式地建立连接,销毁连接,选择协议(TCP/UDP)和错误处理,ZMQ屏蔽了这些细节,像是一个封装了的socket库,让网络编程变得更简单。"慢连接": 我们不知道订阅者是何时开始接受消息的,就算启动"订阅者",再启动"发布者", "订阅者"还是会缺失一部分的消息,因为建立连接是需要时间的,虽然时间很短,但不是零。有种简单的方法来同步"发布者" 和"订阅者", 通过sleep让发布者延迟发布消息,等连接建立完成后再进行发送。
2022-10-09 18:22:08 2733
转载 rsync 基础用法
rsync 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp和mv命令。它名称里面的r指的是 remote,rsync 其实就是"远程同步"(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。............
2022-08-03 17:57:22 376
原创 阻止 JetBrains 的 IDE 自动去掉行尾空格
最近换了电脑,然后重新装了一堆堆 IDE,包括 Pycharm、RubyMine 和 GoLand等,发现 RubyMine 修改某一行的代码后,Ctrl + S 保存,结果 IDE 将文件的所有行末尾的空格都自动给去掉了!!!
2022-07-01 14:53:31 417
原创 git 忽略文件 mode 变化
我原来的电脑坏了,所以换了一个电脑。但是由于远端的仓库比较大,所以准备先用 xftp 从虚拟机把里边的仓库下载下来。git pull 后看到也是最新的。但是 git status 的时候,可以看到一大堆 modified 文件:git diff 查看的时候,可以看到文件内容并没有改变,只是文件 mode 发生了变化(因为 Linux 和 Windows 文件系统不一样的缘故)。虽然并没有什么太大影响,但是强迫症受不了。有时候,设置以后,需要重新再......
2022-06-30 17:34:16 1883 1
原创 Go 学习笔记
之前一直接触的是 Python, Ruby 之类的解释性语言,至于静态语言和动态语言的优劣,这儿就不多分析了。如果现阶段想要熟练掌握一门静态语言,感觉 Go 应该是不错的选择,如果有 C++ 、Java 的语言基础,相信上手应该也会很快。.........................................................................................................................................
2022-06-20 10:56:17 601
原创 PostgreSQL 学习笔记
之前的话,MySQL 接触得稍微多一些,最近由于工作的原因,刚好以一个菜鸟的身份来学学 PostgreSQL。
2022-06-07 18:27:00 669 1
原创 Ruby 将项目打成 gem 包
直接使用例子来讲的话就清晰得多了。假如我有一个 zshell-sdk 的 ruby 小项目(项目目录结构如下):root@localhost ~# tree zshell-sdk/zshell-sdk/├── README.md├── rebuild_and_install_gem├── zshell│ ├── file_command.rb│ ├── ftp_command.rb│ ├── lurker_command.rb│ ├── macaddr.rb│...
2022-05-12 14:28:32 518
原创 Ruby 的 Singleton 单例模块
一般来说,对于某个类,我们可以创建无穷多个对象,且不会受到任何限制。但是,有时候,我们只需要类的一个实例来协调整个程序的操作,并不需要多个实例。对于这种场景,我们希望确保正在运行的程序只存在给定类的一个实例。也就是所谓的 单例模式。单例模式 是一种设计模式,它将给定类的实例化限制为一个对象。常规模式直接用例子来说更简单易懂一些。class HelloWorld def instance_method puts "instance method" endend
2022-04-26 20:39:16 712
原创 JetBrains 各 IDE 通用快捷键总结(包括 InteliJ idea,PyCharm,RubyMine,GoLand 等)
JetBrains 全家桶 IDE(集成开发环境)的快捷键都是通用的,而且很强大,我会把自己常用的命令标记一下。==Ctrl==Ctrl + A 全选Ctrl + B 快速打开光标处的类或方法(等同于 Ctrl + 光标点击)Ctrl + C 复制(不选定内容的话默认会复制光标所在整行)Ctrl + D 复制行或是块(不选定内容的话默认复制当前行到下一行)Ctrl + E 最近打开的文件Ctrl + F 当前代码中查找Ctrl + G 跳到指定行 (和 Eclipse 中的 Ct.
2022-04-19 16:12:03 2887
原创 XShell 中 tmux 无法通过 Alt + ↑ 改变窗口大小解决办法
窗口和窗格操作细节可参考博客:tmux系列:3、tmux窗口和窗格_xiaoyaoyou.xyz的博客-CSDN博客_tmux 交换窗口位置问题概述最近在 XShell 中使用 tmux 的时候遇到了一个问题,就是使用 Ctrl + b, Alt + ← 和 Ctrl + b, Alt + → 可以进行左右调节窗格,但是 Ctrl + b, Alt + ↑ 和 Ctrl + b, Alt + ↓ 却不可以上下调节窗格:解决方案在 XShell -> file(文件) ->
2022-04-15 18:06:10 1755
原创 SSL_connect returned=1 errno=0 state=error: certificate verify failed
起因起因是这样的,我昨天使用 gem 安装 irb 的时候出现了下面这个错误:[root@master ~]# gem install irbERROR: Could not find a valid gem 'irb' (>= 0), here is why: Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=error: certifi
2022-04-14 18:10:24 6493 2
原创 Ruby 中定义类的常用运算符方法
其中一元运算符包括 +、-、~、!(!是 ruby 内置的一元运算符方法,无法自定义,不过可以直接使用),二元运算符包括 +、-、*、/ 等,还包括下标方法。class Point attr_accessor :x, :y def initialize(x=0, y=0) @x, @y = x, y end def inspect "(#{x}, #{y})" end def +(other) sel
2022-03-14 10:41:17 268
人民日报语料文件2014
2019-04-29
《机器学习实战》一书的源码文件
2018-08-16
android-19 SDK
2017-10-10
Java Web开发常用jar工具集
2017-06-19
Web网页开发常用jar包
2017-06-19
Struts2开发常用jar包
2017-06-19
apk反编译实用工具集
2017-06-19
APP开发必备常用包
2017-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人