Nut

从小白到全站 Docker 化

北慕城南 提交于 2021-02-14 14:06:35
笔者花生 PeA,百度前端汪、ACGer。个人博客:pea3nut.blog;个人资料:pea3nut.info。 本篇文章详细而又简短的介绍了:一名完全不了解 Docker 小白,将全站 Docker 化的过程。内容主要包含: Docker 基本概念 真实站点迁移过程: 静态站点 Nodejs 站点 WordPress(PHP) 一些必备技巧:开机启动、常用 Shell 文章会讲解使用 Docker 过程中用到的全部技术栈(GitHub CI、Nginx 反向代理、docker-compose),绝不会出现“详见:http://xxx”甩链接的情况。 无需再查阅其他文档,看着一篇就够了! 当前有哪些问题 手动部署成本太高 笔者维护了诸多网站,其中包含: 我的简历:pea3nut.info,使用 Vuejs 构建的SPA单页应用,纯静态 我的博客:pea3nut.blog,使用著名的 WordPress 搭建(PHP+Apache+MySQL) 一个开源项目——Pxer:pxer.pea3nut.org,官网使用 Nodejs + Express SSR 搭建 而每次我想修改某个网站内容是十分麻烦的。拿大家熟悉的纯静态站点来说,修改过程如下: 下载:从 GitHub 下载代码,然后本地部署 开发:本地修改代码,测试 编译:编译前端项目,产出静态资源 上传:打开FTP软件

CodeForces 1084D The Fair Nut and the Best Path

耗尽温柔 提交于 2020-12-13 12:44:25
The Fair Nut and the Best Path 题意:求路径上的 点权和 - 边权和 最大, 然后不能存在某个点为负数。 题解: dfs一遍, 求所有儿子走到这个点的最大值和次大值。 我们需要明白如果可以从u -> v 那么一定可以从 v -> u, 当然 指的是 u->v是路径上的最大和。 u->e1->v; 假如:val[u] = 100, val[e1] = 50, val[v] = 60, 那么我们发现可以从 u -> v 也可以从v -> u val[u] = 100, val[e1] = 50, val[v] = 40, 虽然我们可以从u->v,但是 不能 v->u, 但是根据上面的定义,我们发现 从 u->v反而是亏本的,也就是说 u->u是最大的,我们不在考虑 u->v了。 val[u] = 40, val[e1] = 50, val[v] = 100, 和上面一样的道理。 所以,当一条路是最大的能赚的话, 那么一定可以走双向。 然后 现在还有一个疑问就是 如果从 u的父节点到u呢, 这个东西在 u往上传的时候就解决了。 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w"

CF 1083 A. The Fair Nut and the Best Path

房东的猫 提交于 2020-12-13 12:44:08
A. The Fair Nut and the Best Path https://codeforces.com/contest/1083/problem/A 题意:   在一棵树内找一条路径,使得从起点到终点的最后剩下的油最多。(中途没油了不能再走了,可以在每个点加wi升油,减少的油量为路径长度)。 分析:   dfs一遍可以求出子树内所有点到子树根节点的最大的路径和次大的路径,然后可以直接合并取max,并且和从根节点出发的路径取max。   两条最大的和次大的合并可能不合法的。从最大的走上来后,不一定可以从根节点在走回去。但是即使不合法的取max是没有影响的,这样的路径一定不是更优的。 代码: 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<iostream> 5 #include<cmath> 6 #include<cctype> 7 #include< set > 8 #include<queue> 9 #include<vector> 10 #include<map> 11 using namespace std; 12 typedef long long LL; 13 14 inline int read() { 15 int x= 0 ,f= 1 ; char ch

CF 1083 B. The Fair Nut and Strings

醉酒当歌 提交于 2020-12-13 11:49:38
B. The Fair Nut and Strings 题目链接 题意:   在给定的字符串a和字符串b中找到最多k个字符串,使得不同的前缀字符串的数量最多。 分析:    建出trie树,给定的两个字符串就是trie树上的两条长度为n路径,那么就是在第n层的所有节点中,找到不大于k个点,(第n层的每个点向上到根的路径的路径上的字符组成一个长度为n字符串)。   两个第n层的节点一共会构成2n-lca个不同的前缀。所有可以根据这个贪心的选。每次尽量选已经走过的路径尽量少的路径。    从n往后枚举,计算长度为答案为i的可以选几个。   注意判断一下最后是否可以选择k个, 和已经选了的路径。 代码: 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream> 6 #include<cctype> 7 #include< set > 8 #include<map> 9 #include<queue> 10 #include<vector> 11 #define fi(s) freopen(s,"r",stdin) 12 #define fo(s) freopen(s,"w",stdout) 13 using namespace std; 14

GNSS开源软件网站链接和说明

余生颓废 提交于 2020-08-09 10:43:14
RTKLIB官方网站:http://www.rtklib.com/ (开源GNSS数据处理软件) RTKLIB开发版本:https://rtklibexplorer.wordpress.com/ (包含优化算法、测试说明和实验数据等) RTKLIB开发版本(GAMP):https://geodesy.noaa.gov/gps-toolbox/GAMP.htm (包括PPP算法优化等) G-Nut/Anubis(开源GNSS数据质量分析软件) GFZRNX:https://dataservices.gfz-potsdam.de/panmetaworks/showshort.php?id=escidoc:1577894(GNSS观测数据的编辑、格式转换、质监检测等) 常用软件下载:https://msdn.itellyou.cn/ 来源: oschina 链接: https://my.oschina.net/geomatics/blog/4454124

Phonics 自然拼读法 s,a,t,i,p,n Teacher:Lamb

大城市里の小女人 提交于 2020-05-08 10:33:37
# 音节(syllables)拆分 # 拆分练习 # LIoyd 分类法——“七步决” # 元音拆词法 # s,a,t,i,p,n S A T I P N # 自然拼音拼读练习表 a mat n. 垫;垫子;衬边 vt. 缠结;铺席于……上 vi. 纠缠在一起 adj. 无光泽的 n. (Mat)人名;(土)马特;(柬)马;(英)马特,玛特(女名)(教名Matthew、Martha、Matilda的昵称) fan vt. 煽动;刺激;吹拂 vi. 成扇形散开;飘动 n. 迷;风扇;爱好者 n. (Fan)人名;(法、俄)法恩;(柬)方 e hen n. 母鸡;女人;雌禽 n. (Hen)人名;(日)边(姓);(法)昂;(波、柬)亨 bell n. 铃,钟;钟声,铃声;钟状物 vt. 装钟于,系铃于 vi. 鸣钟;成钟状鼓起 i lick vt. 舔;卷过;鞭打 vt. (非正式)战胜 vi. 舔;轻轻拍打 n. 舔;打;少许 n. (Lick)人名;(英、匈)利克 bib n. 围嘴,围涎;围裙的上部 vi. 饮酒,不断地饮酒 vt. 不断地饮,大量喝酒 n. (Bib)人名;(阿尔巴、法)比布 pin n. 大头针,别针,针;栓;琐碎物 vt. 钉住;压住;将……用针别住 o octopus n. 章鱼 章鱼肉 operate vi. 运转;动手术;起作用 vt. 操作;经营

视图、序列、索引

泪湿孤枕 提交于 2020-02-28 06:54:05
视图 视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示。 视图对应于一个SELECT语句,结果集被賦予一个名字,即视图名字。 视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。 使用视图的两种情况: 使用的查询基于非常复杂的查询之上。 查询的时候希望屏蔽数据库中真实的字段名和数据 CREATE [OR REPLAC] VIEW view_name[ ( alias[ , alias...] ) ] AS subquery [WITH CHECK OPTION] ; 视图创建后,主要是查询Subquery是SELECT查询语句,对应的表称为基表。 根据所对应的子查询种类分为:简单视图,复杂视图,连接视图。 先根据我们需要查询的视图所对应的SQL将数据检索出来,然后再根据我们对视图查询的需求,检索视图查询出来的数据,所以使用视图是两次查询。 极其不推荐对视图进行DML操作 视图中没有出现的字段,插入的时候都为NULL,所以有非空约束的时候,插入失败。 WITH CHECK OPTION具有检查约束的功能。 还可以创建只读视图。 CREATE [OR REPLAC] VIEW view_name[ ( alias[ , alias...] ) ] AS subquery [WITH CHECK OPTION] ;