BLANK STACK

FOOLISH SEARCH

Docker容器访问主机网络——Gitea访问主机MySQL数据库

linux

受限于服务器资源限制(轻量化服务的I/O性能和CPU性能都比较低),在使用容器方式搭建 Git 服务(Gitea)时,尽可能避免启动新的服务。因此,直接使用本地已有的 MariaDB (MySQL) 服务 ,而非通过 Docker 再单独创建一个 MySQL 容器不再想使用容器版本的 MySQL 服务。Docker 容器访问主机网络主要有以下2种:

  1. 将 docker 网络模式设置为 host,容器将和主机使用同一网络,所有端口都会暴露,端口映射相关操作将被忽略。
  2. 在容器的 /etc/hosts 中添加 Docker 桥接网卡地址,可以通过 docker 的 --add-host <hostname>:<ip> 或者 docker-compose 的 extra_hosts:\n- "host.docker.internal:host-gateway"

Windows下SSH免密钥访问/Git访问Github

windows

由于安全原因,当前Github已禁用基于HTTPS的仓库推送,当前只能通过SSH方式(git@github.com:<username>/<reponame>.git)来进行仓库的推送。因此需要将之前的仓库地址进行变更,并配置SSH免密钥访问。

在Flask中使用MongoDB:Flask-MongoEngine

python

在Flask中使用MongoEngine,需要通过Flask-MongoEngine包来对MongoEngine进行配置。Flask-MongoEngine是MongoEngine的Flask封装,针对Flask对MongoEngine做出了一些拓展,而MongoEngine则是在PyMongo的基础上构建的一个类似于SQLAlchemy的对象文档映射器(Object-Document Mapper, ODM),为用户提供基本的数据模型以及类型约束,并对PyMongo的数据查询做了进一步的封装,避免直接书写MongoDB查询语句,简化数据查询。

Leetcode - 寻找数组的中心索引

algorithm

给定一个整数类型的数组 nums,寻找该数组的中心索引。数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,则返回 -1;如果数组有多个中心索引,则返回最左侧的中心索引。

WSL共享Windows主机的SSH-AGENT服务

windows

Windows10自带了一个非常方便的ssh-agent服务,我们只需要在Windows的服务列表里面启用该服务就能在CMD或PowerShell里直接使用ssh-add添加密钥,实现ssh免密登录。但在Windows的Linux子系统下,默认没有ssh-agent服务启动,通过 eval `ssh-agent` 的方式,每次打开终端都需要重新添加ssh密钥(每次都会启动一个新的ssh-agent进程),比较麻烦。为了在WSL下也能正常访问Window的ssh-agent,可以通过wsl-ssh-agent工具创建指向Windows ssh-agent的socket文件,并修改WSL的环境变量SSH_AUTH_SOCK为该socket文件路径。