docker服务器白嫖
这篇文章的主要面向人群:临时使用linux服务器来测试一些程序,项目等。 play with docker进入这个链接,然后登陆后,就会看到如下界面他会给你提供4个小时的免费使用时长,而且你可以创建多个实例。每个实例都是4h4g的docker服务器。而且这些示例你可以通过ssh远程连接,也可以直接开放端口直接开放在外网。(可是说是配置拉满的免费服务了) 创建完成后,会有一些问题需要解决,第一,他的服务器系统并不和我们常用的ubuntu,centos类似。于是要在这个服务器上跑项目,肯定会有很多环境配置不方便。所以我们使用docker来跑一个ubuntu供我们使用命令如下: 1234docker run -itd --privileged --init -v /:/mnt --network host ubuntu --name ubuntu# 可以避免僵尸进程和孤儿进程--privileged --initdocker exec -it ubuntu bash# 然后使用`exec`进入docker并打开一个bash终端 如此,你就可以快乐的使用ubuntu跑一些小服务玩玩...
ubuntu使用ssh密钥登录
配置公钥和私钥在Ubuntu或者Windows上运行ssh-keygen,生成一对公私钥。他会默认保存在C:/{User}/.ssh目录下id_rsa是私钥,需要传输到其他客户端机器,比如Windows做后续处理。id_ras.pub是公钥,里面含有公钥字符串。 然后将id_ras.pub公钥的内容复制到你ubuntu用户下的authorized_keys文件中把公钥复制到这个文件中即可。 注意,使用追加,而不是覆盖。不要把别人也部署过的公钥删除了 修改配置文件禁止密码登陆和允许免密码登陆都是通过修改/etc/ssh/sshd_config 文件实现,只需要设置如下的两个选项为yes 和no即可:PubkeyAuthentication yesPasswordAuthentication no 修改完毕后重启ssh 服务:sudo service ssh restart 注意,有的时候,你会发现你修改的配置没有生效。因为他在这个目录下也有相同的配置文件。你需要将这个目录下的配置文件也修改后才可以生效。
ubuntu server快速启动
在配置本地服务器时,安装了ubuntu server他有一个默认配置就是会在启动时检查所有网口是否都正确配置了网络。而且这个时候他会等待接近2分钟以上的时间,而对于部分人而言,只连接一个网口就足够使用了。所以为了快速启动服务跳过这些等待时间需要修改一些配置参数 自检命令:systemd-analyze blame系统自查,会检测系统启动耗费了哪些时间 /etc/systemd/system/network-online.target.wants在这个目录下,有关于系统网络启动时的配置文件:systemd-networkd-wait-online.service 加上TimeoutStartSec=3sec这个参数后,执行系统重启,你就可以享受快速的系统重启了
自部署gitea
部署gitea的原因使用gitea的原因:本质上是因为在本地硬盘上每次学习一些新知识,于是创建一些demo性质的应用。特别是vue,react之类的前端应用。每个项目都会有node_module这个文件夹,这里面有特别多的4k小文件,这导致我备份硬盘数据时。速率总是被压的很低。所以我在想能不能通过一个本地部署的类似github的服务器,实现我对这些项目的备份,然后通过配置.gitignore忽略掉哪些中间过程文件和复杂的库文件。来实现对磁盘的高效率备份。 部署完gitea后,发现他其实可以很好的替代github,gitee来作为我自己的代码仓库使用。而且他也确实有很多优点,包括如下图片等功能。而且他作为本地化服务,我不需要担心网络故障,权限校验等问题。 部署过程这部分内容主要参考大佬文章以及gitea官网 我只说明我需要使用的docker compose部署的内容 首先配置一个docker-compose.yml,其内容如下 123456789101112131415161718192021222324252627282930313233343536373839404142434...
白嫖GPU来跑机器学习
google colab地址使用google的服务的话,需要有一些科学工具来帮忙,这些我默认你们都知道了在这里第一个选项可以启动服务,第二个选项可以修改GPU的类型,因为是免费的,所以只有很少的选项: 他用来跑服务的话,俺记得是一次不能超过6个小时,你需要访问数据集的话,可以通过Google 硬盘来加载。 kaggle地址这也是一个国外的白嫖gpu的平台,他的限额是每周30个小时,对于初学者而言已经绰绰有余了。而且他支持离线运行,即便你因为网络不稳定而掉线。他也会稳定在后台跑完,并完成数据的输出。这里是它可以白嫖使用的一些GPU。 天池notebook地址他的优点就是国内平台,可以很快捷的访问。他提供每个月60个小时的额度,如果不够用你再考虑使用kaggle等其他的。 以上
考研心得
今天是12月24号。已经考完试两天了。在这里,我想记录一下我考前考后的内心变化。我想这应该会是一件很有意思的事情。 大抵记得我应该是7月份才开始认真准备考研的吧,满打满算我学了也不过4,5个月。在这期间我时常会问自己为什么要考研?我考研的决心,目的到底是什么? 我并没有给出让自己满意的答案。同样的,也有些同学惊异于我怎么突然准备考研了。这个我倒是可以给出理由(那就是家里人想让我考上研究生,或许是村里出了几个研究生让他们在村中聊天时艳羡不已。所以期望我也考一个吧)。至于我自己给自己的理由的话:可能是因为找工作简历不好看,既没实习也没竞赛。可能我闲散惯了,就是单纯的陪个跑? 所以呢,我自打一开始都没对考上某某某学校有着特别的执着,我对考研的想法也就是我可以继续自由的学习自己喜欢的内容,自己感兴趣的知识。 这也就决定了我的心态:超级良好。 从刚开始的认真复习(每天只玩一两把游戏),到后面(每天就学两三个小时)。 哈哈哈,有时候也挺想嘲笑自己的。你说说你,考个研,考这么开心。也太不像话了。特别是在10月份拿到第一份offer后。我更是摆的不行。连着玩了一整个礼拜的游戏。后来还是觉得负罪感...
在windows下为mingw配置opencv
快速上手安装dev c++或者小熊猫c++ 这里推荐使用小熊猫c++,他就是dev c++的pro max版本,在保持样式基本相同的同时,有很多代码高亮,提示等功能。下载链接 这是官网链接:http://royqh.net/redpandacpp/安装过程一路默认,只需要修改你所安装的位置即可。 下载已经编译好的opencvgithub realese链接注意,下载时需要和你电脑本地的mingw版本号为位数相对应才可以正常使用。 下载后,将其解压在某个具体的路径,如下: 配置编译器点击工具->选项->编译器 接下来,分别添加bin文件,lib文件目录和include目录 注意,选择的目录为你所解压的opencv文件所在的目录。 最后,在链接时添加如下选项,即完成opencv的配置。 1-lopencv_core455 -lopencv_imgproc455 -lopencv_highgui455 -lopencv_imgcodecs455 -lopencv_videoio455 -lopencv_calib3d455 -lopencv_features2d455 -...
在 Ubuntu 服务器 22.04 上设置静态 IP 地址
登录到你的 Ubuntu 服务器 22.04,查找 netplan 配置文件。它位于 /etc/netplan 目录下。 12345 cd /etc/netplan/$ ls -ltotal 4-rw-r--r-- 1 root root 116 Oct 12 04:03 00-installer-config.yaml$ 运行以下 cat 命令以查看 00-installer-config.yaml 的内容。 根据上面的输出,它说我们有 ens33 接口,它正在从 DHCP 服务器获取 IP。查看接口名称的另一种方法是通过 ip 命令。现在,要配置静态 IP 代替 DHCP,使用 vi 或 nano 编辑器编辑 netplan 配置文件并添加以下内容。 1234567891011121314$ sudo vi 00-installer-config.yaml# This is the network config written by 'subiquity'network: renderer: networkd ethernets: ens33:...
让pdf阅读变成深色模式
123javascript:void(document.documentElement.style.filter='invert(89%)')//或者document.documentElement.style.filter='invert(89%)'
GCC 中在非 void 函数中不写 return 的情况
最近在复习408关于二分查找时,看到一个使用递归实现的方法。代码并不难实现。但是在写完这段代码后,发现一个问题。我在递归中并没有及时return结果。但是结果却是正确的下面贴上代码: 1234567891011121314151617181920212223242526#include <bits/stdc++.h>using namespace std;int BinSearchRec(int *ST, int key, int low, int high);int main(){ int st[10] = {3,6,8,11,15,18,20,21,25,30}; cout << BinSearchRec(st, 15, 0, 9) << endl;//查找15在数组中的位置 //结果为4}int BinSearchRec(int *ST, int key, int low, int high){ if (low > high) return 0;...