R语言数据处理与绘图
Tips
library(dplyr)以对管道提供支持, 管道符%>%.
前面指明包名的函数(包名::函数名())需要先下载安装包(install.package(包名)). 如果用library(包名)加载了包, 引用函数使用不再需要写包名.
interaction(向量1,向量2)会将两个向量中的元素组合.
数据交换与数据存储为了与Excel等众多其他软件进行小批量的数据交换, 我使用csv格式存储数据, 可以用各种软件打开, 也可以使用文本编辑器直接修改.
R中用read.csv()或者readr::read_csv()读取csv文件, 生产数据框(data frame).
data <- read.csv("/csv/file/path", header = TRUE, sep = "\t", stringsAsFactors = TRUE)
header=TRUE会把csv文件的第一行视作数据系列名, 可以用数据框名$数据系列名调用该系列数据.
sep参数指明了用来分隔数据的符号.
stringsAsFactors=TR
在树莓派zero w上搭建DLNA服务器
DLNA是用来在局域网中传输媒体文件的协议, 我主要是用来传输文件给电视机使用, 当然网内的手机电脑也可以获取树莓派上分享出来的资源.
安装配置minidlnasudo apt install minidlna ufw
sudo ufw allow 8200
sudo vi /etc/minidlna.conf
上述命令安装了minidlna, 放行了dlna默认使用的8200端口, 并且打开了minidlna的配置文件/etc/minidlna.conf.
在minidlna.conf中找到media_dir=, 将其后改为分享文件存放的目录, 再找到friendly_name, 去掉前面的#, 后面加上给DLNA服务器取的设备名, :wq保存.
sudo service minidlna force-reload
sudo systemctl enble minidlna
然后就可以在电视机等接入相同局域网的设备的家庭共享中添加树莓派zero w并获取其上的资源啦!
为了避免资源无法访问, 我给了分享的资源777的权限.
好像现在用smb协议分享文件的人比较多, 因为DLNA不
服务器被入侵--黑客送来的dhpcd
今天早上起来发现阿里云的服务器负载很重, 打开htop一看发现CPU跑满了.
那么点小小的Web服务你CPU可以给我跑满? 不存在的. 占了CPU 90%以上算力的是/bin/dhpcd. 动态IP的服务会这么占内存吗? 我有跑动态IP服务吗(又不是路由器)?
仔细一查, 动态IP那个服务的名称是dhcpd, 不是dhpcd, 那么我就要着手处理它.处理dhpcd很简单, 直接登录root用户, pkill dhcpd; rm -rf /bin/dhcpd, 同时我又在HOME目录发现了一个备份, 同上直接删除.
保护服务器不再受黑客的侵犯
以下代码可能需要由root用户执行(或者加sudo).
黑客能够在/bin里面写文件, 可见他获得了root权限(有root权限却没有破坏我服务器的其它文件真是好黑客!), 所以我第一步肯定是修改密码. 但是passwd root一直改不了root的密码. 所以
lsattr /etc/passwd /etc/shadow
发现它们的权限都变成了----a---------e---. a权限表示只能追加, 不能修改或者删除, 怪不得我改不了密码,
Linux环境写论文-Office篇
本文主要讲如何生成目录与插入参考文献.
个人人为GNU/Linux环境下除了各种office的web版本外最好用的就是WPS了, 然而WPS for Linux不支持文献管理软件的扩展, 拿来写文档还好, 拿来写论文光插入引文就很让人头大了. 所以只好转头看向Libreoffice(其余像Openoffice/永中office没用过).
软件配置: Zotero / Libreoffice / Firefox+Zotero插件 我用的是Deepin的系统, 在应用商店直接安装Zotero, Libreoffice, Forefox. Firefox的Zotero插件在其官网下载, Firefox会自动跳出安装选项. 随后运行Zotero, 选择查找更新, 将Zotero升级至最新版本. 一般安装了Zotero后Libreoffice会自动安装Zotero扩展,如果没有关闭Libreoffice, 去Zotero的编辑>首选项>引用>文字处理软件>LibreOffice>安装加载项LibreOffice安装.
论文样式与目录生成首先设定论文样式, 包括各
搞定一个字符版魔塔小游戏
简介这个游戏的目的是要玩家通过尽可能多的楼层,并且最多只能操作1000次。
算法地图生成算法魔塔的每一层都是q×w的矩阵(q、w为介于3至20的整数,每层的各房间的q、w相同,不同层的q、w不一定相同),随机生成墙壁、门、怪物(成长期、成熟期、完全体、究极体)、钥匙、伤药、食物、武器、护具。同时,会在矩阵四个顶点的上方或者下方随机生成去其他层的楼梯,玩家也由某个通道进入矩阵。
物体
生成几率
符号
描述
楼梯
-
<>
通往下一楼层
通道
-
[x]
通往同一楼层的其他房间
空地
0.34
.
可以通过的空地
墙壁
0.34
#
无法通过的障碍物
门
0.07
+
消耗1把钥匙即可打开并保持畅通,否则无法通过
钥匙
0.04
1
打开门的道具,消耗品
成长期怪物
0.10
n
成熟期怪物
0.04
m
完全体怪物
0.02
M
究极体怪物
0.01
G
伤药
0.01
C
恢复体力
食物
0.01
F
增强体力10点
武器
0.01
W
增加攻击2点
护具
0.01
H
增加放御1点
生成算
山地车零件选择
此文记录一下我在iVelos定做自己自行车时候查看的一些关于山地车零件的信息吧。我选择的是一辆XC (Cross County)轻度越野车。
车架我比较喜欢铝合金的车架,不重,价格也适合,至于车架的刚性与弹性一般也比较适合爬爬龙井。至于车架结构设计这方面在iVelos上面没什么选择。不过建议在网上多搜索一下相关车架的评价,车架在皮实的同时需要一丢丢弹性,不要太刚太直。
前叉强烈推荐线控前叉。刹车时候如果前叉是开着的,车头会往下压,我个人不喜欢这种感觉;但是如果关掉前叉,经过路上那些减震带或者下台阶的时候手腕又会受不了,所以还是线控的前叉比较合适。油叉一般比较皮实,但是气叉可以调节回弹速度,具体哪种前叉看个人喜好吧。入门级别的,气叉会比油叉贵一些。
刹车我不知道如何在碟刹与V刹之间选择,总之都可以十分可靠,碟刹会重一点,但是目前大多数入门山地车用的都是碟刹,也就不用我们选择了。 油刹会比线刹强很多,油刹很容易抱死车胎,所以刹车时候轻轻压一下刹车把就好了,我还是比较喜欢这种感觉的。当然如果刹车习惯不同的话可以选择线刹,我反正觉得油刹强很多。
变速套件这个我还真不清楚,只觉得贵一点的或许就好
字符画屏保脚本
即将收集的字符画输出屏幕, 并隔一段时间清空屏幕更新输出的字符画.
OS: Deepin Linux 15.11 stable
Shell: zsh
字符画内容来源: www.asciiartfarts.com
字符画内容获取与处理首先下载下Ascii Art Farts网站的所有字符画.
wget -r http://www.asciiartfarts.com
得到一个网站目录./www.asciiartfarts.com.
提取含字符画的网页每副字符画都存在由上传日期命名的网页中,保存在<pre>标签中,题目在<pre>前的<h1>标签中.网站作者还贴心的按照日历/关键词进行了分类,在分类的网页中也储存了相关字符画.用grep+正则表达式穷举处上述几套网页中的一套中的所有网页.
for i in `ls ./www.asciiartfarts.com | grep -x '[0-1][0-9][0-9][0-9].html'`
do
# ...
# 提取网页中的字符画
# ...
done
我提取了网
Shell操控树莓派GPIO
树莓派GPIO的设备文件在/sys/class/gpio/,进入该目录 , echo BCM编码 > export来激活对应引脚,产生对应的引脚目录.
在每个gpio引脚对应的目录中, 有direction/value等文件. 通过向direction中写入in/out来控制引脚读取/输出电平. 电平数据在value中, 当direction为out时value可写.
安装了wiringPi库后(sudo apt install wiringpi -y), 也可以使用gpio命令操控GPIO引脚,gpio readall查看各引脚编号与状态, 详细操作可以man gpio.
操控/sys/class/leds/led0/brightness文件可以操控树莓派板载的LED灯,但是需要事先置空trigger: sudo echo none > /sys/class/leds/led0/trigger.
利用shell直接操控树莓派的GPIO是很慢的!! Raspbian不是实时操作系统, 如果需要时间上的精确调控, 需要移步单片机.
词典软件设置(Linux)
在Windows下不介意广告的话还是有道比较傻瓜好用,介意的话可以试试Golden dict。
stardict console version (软件包名sdcv)在http://download.huzheng.org/下载所需词典后统一解压到~/.stardict/dic/即可。
上述是一个反例,导入词典不应过多 , 因为若查到的词在不同词典中重复出现则需要手动选择词典, 降低效率.
使用时在终端输入sdcv 要查的词或者sdcv, 如果要将所有词典中查到的词条一起显示可以使用sdcv -n 要查的词.
trans (软件包名translate-shell)sdcv是本地词典, trans则是网络词典, 而且不需要翻墙.
Golden Dict (软件包名goldendict) — 划词翻译我是直接在Deepin应用商店下载的, 版本旧但很好用.
在词典一项中将解压后的词典文件夹(比如~/.stardict/dic/导入并勾选递归查找即可。
为了使用在线词典比如有道,可以在其网站查找单词,将其网址输入网站部分,并将单词部分替换为标记词%GDWORD%或者中文标记词%GDG
用树莓派zero w搭建个人博客服务器
Raspbian系统准备
准备系统的电脑用的是Deepin linux系统.
准备micro sd卡, 建议用一张三点几G的小容量卡搭好网站后,将其作成镜像供后续恢复网站使用(dd命令交换if/of的值, 见后文dd命令), 一张大容量高速(Class10)卡在搭好网站后作为真正的网站磁盘. 用读卡器连接在电脑上sd卡本身的所有分区(推荐软件: gparted), 注意micro sd卡对应的设备文件(建议命令lsblk), 假设sd卡的设备文件为/dev/sdc.
树莓派zero的性能妥妥的不行, 运行桌面系统卡的不行, 几乎不能用, 所以下载只有命令行的lite系统(点此下载), 然后解压出img文件. 终端进入img文件所在目录, 用dd命令安装系统镜像.
sudo dd if=*.img of=/dev/sdc
安装完后插拔小容量sd卡, 在boot分区中新建ssh文件(touch ssh)开启ssh.
修改rootfs分区(windows系统下该分区不可见)下的etc/network/interfaces文件, 加入
auto lo
iface lo inet loopba