服务器教程(一) | 服务器连接与文件交互
云服务器的连接,常用工具的安装,使用
用范畴编程的语言 | Haskell 简介
函数式编程语言 Haskell 的介绍及安装教程
GitHub | 多账户设置以及下载加速
如何在一台电脑上使用多个 git 托管平台
docker-compose 配置详解
唠唠闲话
本篇主要参考了苯苯的:Docker系列 了解 Docker Compose 的配置文件。
Docker 是一个非常实用的工具,它省去了很多配环境的功夫,增加了可复现性,且相比虚拟机减少了空间占用。基于 docker 能非常方便地部署很多服务,而我在拥有个人服务器后,也创建了不少容器,比如 wordpress, twikoo, clash 等等。另一方面,个人非常喜欢整理东西,工作区,文件夹,代码文档,都是如此。而 docker-compose 能将这些容器组织起来,更加规范地管理,且使用更加灵活方便。
本章介绍一些 docker-compose 的常用知识,更加详细的教程请参考官方文档。
通常,要将 docker run 命令转化为 docker-compose 文件,可以用这个网站:composerize。但由于 GPT 的出现,更便捷的方式是直接向它提问,它能给出非常准确的回答,并附带说明解释,使用上会更加灵活。
安装参考之前的教程。
从一个简单例子开始
这里展示一些示例,以便理解 docker-compose 的用法。
下边配置用于创建 twikoo 评论系统的容器
...
twikoo 评论配置
唠唠闲话
编写 docker-compose 文件
123456789version: '3'services: twikoo: image: imaegoo/twikoo container_name: twikoo ports: - "1234:8080" volumes: - ./data:/app/data
数据保存在 ./data 下。
左侧为映射端口。
编写 nginx 文件
1234567891011121314151617server { listen 80; server_name twikoo.example.com; # 填写实际的域名 location /{ proxy_pass http://127.0.0.1:1234; # 前边的端口 }}server { listen 443; server_name twikoo.example.com; # 域名 ssl_ce ...
Git 进阶教程(一) | 大文件存储详解
唠唠闲话
最近接触的项目用 LFS 来管理文件,特此学习和记录,本文转载自知乎。
相关阅读
BitBucket: https://www.atlassian.com/git/tutorials/git-lfs
知乎:https://zhuanlan.zhihu.com/p/146683392
前置知识
以下转载自知乎,中间做了少量修改和加粗。
内容概要:
Git 仓库中如何管理大的二进制文件
什么是 Git LFS
Git LFS 是如何工作的
Git LFS 的安装
什么是 Git LFS
Git 是分布式版本控制系统,在克隆过程中会将仓库的整个历史记录传输到客户端。对于包涵大文件(尤其是经常被修改的大文件)的项目,初始克隆需要大量时间,因为客户端会下载每个文件的每个版本。Git LFS(Large File Storage)是由 Atlassian, GitHub 以及其他开源贡献者开发的 Git 扩展,它通过延迟地(lazily)下载大文件的相关版本来减少大文件在仓库中的影响,具体来说,大文件是在 checkout 的过程中下载的,而不是 clone 或 fetch 过 ...
Julia 学习笔记(八) | 模块封装
唠唠闲话
系列上中下,上篇介绍 Julia 包的基本构成,下篇介绍 Julia 包的开发流程,下篇(本篇)介绍 JLL 包的构建。
简单说:
确定源码地址(可下载),比如 C, C++, Fortran, Rust,其他语言也可以,比如 GAP 包,但配置可能更复杂,暂不讨论
编写 build_tarballs.jl 文件,向 Yggdrasil 提交 PR,这一过程通常可以自动完成
自动向 JuliaBinaryWrappers 提交 PR,发布 JLL 包
基于 JLL 包,编写 Julia 包
技术要点:
源码编译(业余,表述不严谨
在 BinaryBuilder 中构建,视情况可能简单,也可能复杂
编写 wrapper
难点:兼容性问题
相关链接
GitHub 链接:
官方包:BinaryBuilder.jl
C 语言封装库:Clang.jl
JLL 包源码地址:Yggdrasil
JLL 包发行地址:JuliaBinaryWrappers
文档链接
官方文档-英文:BinaryBuilder.jl
参考例子
JpegTurbo_jll
Jpeg ...
二维码学习笔记(七) | 特殊样式
唠唠闲话
二维码样式有非常大的发挥空间,本文根据样式的生成方式,将其分为三类:
简单的图片操作
矢量图操作
二维码像素绘图
尽管不一定能覆盖到所有创意,但列举的这三类是个人觉得可以做到,但限于精力短期不一定能完成的目标。所以如果你也觉得这些设计很有意思,欢迎加入 QRCoders.jl 的开发中来。如果有问题或想法,欢迎通过 issue,中英文论坛,slack 等方式进行交流。
二维码参考样式:
本文着重点介绍图像二维码的编写原理。
简单的图片操作
这部分主要涉及图片的替换,填色和叠加等,举几个例子。
在二维码中间填充图片
策略:切片赋值
提升:设置中心图片大小,避免破坏二维码
彩色绘图
彩色像素:用 RGB 值代替黑白像素
渐变绘图:先画彩色的背景图,然后将二维码的黑块当成透明块,填充上去
散点图
策略1:UnicodePlots.jl 中的散点图工具
策略2:张量积 kron 执行的内容类似于点替换为矩阵,设置目标矩阵即可
矢量图操作
以吃豆人为例
绘制过程:
绘制通常的二维码
随机取部分连续的黑块连接起来,作为墙壁
随机取部分 2x2 的黑块替 ...
Julia 学习笔记(番外) | 当 Julia 遇上 OSCAR
代数编程相关 Julia 包的学习笔记