Appearance
文章索引
注意
部分老文章年代久远或因迁移问题存在配图丢失或样式不正确等问题,选择性观看。大概率不会修复。
文章列表不完全,逐步迁移中。
这里是文章索引,通过双链功能在下方自动索引所有引用该页面的文章形成列表。
注意
部分老文章年代久远或因迁移问题存在配图丢失或样式不正确等问题,选择性观看。大概率不会修复。
文章列表不完全,逐步迁移中。
系列文章
太长不看版:
本文在集群外部架设了
nfs server
作为远程存储 ,然后在集群内部署了subdir provisioner
并在此基础上创建nfs storage class
实现持久卷的自动创建。接着使用Helm
部署 APISIX 和 Ingress Controller 以及 Dashboard 组件,最后创建一条路由规则实现从集群外部访问 Dashboard 对网关进行管理。
说明
x86系列文章为书籍《x86汇编语言:从实模式到保护模式》的学习笔记,内容属于笔者学习总结性质。
笔者将之发表到博客上,一方面是作为笔记存档,另一方面希望对同在阅读本书的小伙伴起到理解帮助作用。
前置概念
大家好,我是朝日丽奈!
[[文章索引]]
使用 phpactor language-server -vvv
启动 LSP 服务。
bin/phpactor
Phpactor/Application
parent::run()
language-server -vvv
$application->doRun()
$application->initialize()
Phpactor::boot()
PhpactorContainer::register()
注册 LanguageServerExtension
扩展LanguageServerExtension::load()
LanguageServerExtension::registerCommand()
Phpactor\Extension\LanguageServer\Command\StartCommand
实例$application->doRunCommand()
$command->run()
$command->execute()
Phpactor\LanguageServer\Core\LanguageServer 实例
$server->run()
[[文章索引]]
WARNING
本文目前为草稿状态
低技术含量警告
由于笔者水平所限,本文记叙的内容对你来说可能相当于常识一样的存在,过于低级或者幼稚。
本文记录了在 Apple M1 Max 上安装 Asahi Linux 后配置 Sway 的全部过程。
[[文章索引]]
随兴做的一些有关第一章的学习记录。
题目 使用尾递归计算斐波那契数列的过程中,状态变量a和b有以下变换规则,a←a+b和b←a,现在将这种变换称为T变换。从1和0开始将T反复应用n次,将产出一对数Fib(n+1)和Fib(n)。
工作中,一个web应用常常需要迭代更新。与php-fpm脚本类语言的应用不同,编译成二进制文件部署的进程需要往内存中重新载入新版本的代码才能完成更新。
而我们对于这种持续型网站的服务,期望它不需要暂停用户的使用就可以完成这一步骤,也就是所谓的“平滑重启”。
笔者所使用的是github上的开源库fvbock/endless。
[[文章索引]]
注:本文使用xshell连接虚拟机中的ubuntu进行环境部署
sudo apt-get install openssh-server
sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT # 用于通过xshell和系统远程通信
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT # 用于外部访问Webserver
sudo iptables-save # 保存设置使防火墙规则生效
节选自《50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs》,仅摘录一些笔者比较在意的片段。
关联仓库yuchanns/gobyexample(包含测试用例)
支持nil
初始化的变量类型有interface
、function
、pointer
、map
、slice
和channel
。所以使用nil初始化未指定类型的变量会导致编译器无法自动推断:
package main
go的原生错误处理十分简略。
刚接触go时,我们对它的错误处理最直观的认识就是在调用函数方法时,常常会有多返回值,而最后一个值一般就是错误类型error
;当接收它的变量值为nil时,表示函数正确执行;否则我们可以通过打印该变量的结果来获取错误信息——这个结果是一个字符串。
使用过其他现代高级语言(Java、Python、PHP等等)的人,都知道这些语言的错误是通过try... catch...
的方式进行抛出和捕获。姑且不论哪种方式更好,是退步还是进步,对于程序调试来说,这些语言都提供了十分详细的可回溯信息,常用的有“文件名”、“函数名”、“代码行数”和“错误信息”,可以辅助快速定位错误的发生原因;此外我们还可以通过捕获不同类型的错误来有选择地后续处理的错误(比如捕获FileNotFoundException时选择创建文件而捕获HttpException时直接终止程序继续执行)。
大家好,我是朝日丽奈!✨
原文地址:https://andrewpillar.com/programming/2019/07/13/orms-and-query-building-in-go/
最近,我一直在研究各种解决方案,以便在Go中轻松地与数据库进行交互。我在Go中使用的包是sqlx,这使得从数据库中提取数据到结构中变得非常容易。你可以写出你的SQL查询,用db
标签来标记你的结构,然后让sqlx
来处理剩下的事情。然而,我遇到的主要问题是在构建符合语言习惯的查询方面。这促使我研究这个问题,并在这篇文章中写下我的一些想法。
TL;DR
第一公民函数是在Go中进行SQL查询的一种习惯性方法。请查看这个包含了我写的测试例子的代码库:https://github.com/andrewpillar/query。
[[文章索引]]
2017,我曾写过关于[[利用虚拟机如何搭建开发环境]]的文章。
之后我还尝试过Windows Subsystem Linux
,也因为曾经是外包需要频繁搭建环境的关系从优哉游哉地编译源码转向一键快捷的宝塔面板(生产环境不推荐,极不安全!)。
说明
x86系列文章为书籍《x86汇编语言:从实模式到保护模式》的学习笔记,内容属于笔者学习总结性质。
笔者将之发表到博客上,一方面是作为笔记存档,另一方面希望对同在阅读本书的小伙伴起到理解帮助作用。
2
。Binary
)表示二进制、D(Decimal
)表示十进制、H(Hexadecimal
)表示十六进制。说明
x86系列文章为书籍《x86汇编语言:从实模式到保护模式》的学习笔记,内容属于笔者学习总结性质。
笔者将之发表到博客上,一方面是作为笔记存档,另一方面希望对同在阅读本书的小伙伴起到理解帮助作用。
16bit = 2byte = 1word
。内存按字节来组织,单词访问的最小单位为1字节。
Martin Kleppmann 的 Youtube 视频系列 Distributed Systems 学习笔记。
通信的简单抽象模型
[[文章索引]]
尝试使用 ffmpeg 压制 4k 视频投稿 b 站。
TL; DR
bash/bin/ffmpeg -stats -i /path/to/src.webm -c:v libx264 -profile:v main -b:v 19000k -profile:v main -preset veryslow -s 3840x2160 -c:a aac -b:a 320k -x264opts crf=12 -maxrate:v 24000k -bufsize 24000k -pix_fmt yuv420p /path/to/dest.mp4
压制视频过于耗时,笔者手上又只有一台 mbp 2018,为了不影响生产力工具的使用,一开始打了 github actions 的注意。
TLDR; 本文作为笔者研究使用 Rust 编写玩具性质操作系统的第一篇文章,学习过程中参考了大量网络搜索资料,实现上则参考了Redox。
本文为笔记性质,仅对部分知识点做归纳总结,没有用于指导他人意图,因此暂不考虑阅读友善度,但是欢迎读者勘误。
相关代码库:yuchanns/x86-asm