比较杂的,生活工作中遇到过的 解决了的小问题集中

记录下生活工作中遇到过的小问题和已经解决方案。

关于字符

昨天做了一个需求,去INS站通过拼接网址和用户名,然后去爬网址的图片和description, 图片一开始用的urllib 去打开url 然后写入图片,但是不知道是不是vpn 还是urllib 本身的缘由,过慢,几k的图片,要接近一秒,后来,测试了下,好像用response 的body直接也可以写入,但是没有多大变化


然后就是处理爬下来的description 的问题,发现有问题。输入到mysql 中,所有的符号都是以\uxxxx的字符转码的形式。搞半天,(然后又重新去爬,发现原来是就爬那个description 就超级慢,根本不是图片下载的原因。- - ) 后来听fuke讲把,字符集改成utfmb4 就搞定了,草草草。 搞半天 一开始以为Unicode和UTF-8的区别,后来发现就是utf-8是实现unicode的一种形式,所以。utf-8 又是1-4位的字符集,utf8mb4 是强制4位的字符。就这么简单。- -/。


关于Atom

今天才发现为啥,前端这么喜欢atom了,以前别人说这是用html和css写得,性能上不是很好,然后没太在意,今天用了一个seti 的主题包,然后才发现用调试,在线修改界面,然后去修改seti的css文件,我擦列,就跟chrome 打开调试模式来修改代码,然后回到代码页面,修改代码 保存,一样简单,定制自己的专属界面,简直不要太爽,我感觉 都要对 atom 转粉了。


关于 更新chrome

狗币,chrome的历史版本 今天更新chrome 然后果然和windows上面更新出问题了, 提示 NSS版本必须是2.6 以上的 我去查 15.10的版本最高1.9. 自己开发咯…


备份数据

//数据库 dump并且压缩
mysqldump -uroot -p01womanist27buzz#1982T freedb |  gzip > savingsecretsdb-20171010.sql.gz
//rsync 传输
rsync -avz --progress -e "ssh -o 'StrictHostKeyChecking no' -i ../wittytodayKey.pem"  [email protected]:/usr/share/nginx/sweepstakesvan.com-20171010.tar.gz .           
//tar 打包有压缩的功能  c就是 compose
tar zcvf howtocot.com-20171010.tar.gz howtocot.com howtocotdb-20171010.sql.gz 

vagrant 爆炸了

起因 我因为网页开太多,应用开多了吧,内存不够了,然后一直开着电脑,回家了之后再来就发现黑屏了,没办法,重启了,结果估计vagrant 的启动文件什么的出问题了吧, 然后显示超时. 启动Vagrant 的GUI页面 发现提示 下面这个玩意

/dev/mapper/ubuntu--vg-root contains a file system with errors, check forced.
Inodes that were part of a corrupted orphan linked list found.

/dev/mapper/ubuntu-vg-root: UNEXPECTED INCONSISTENCY; Run fsck MANUALLY.
    (i.e., without -a or -p options)

还出现了

(initramfs) fsck /dev/mapper/ubuntu--vg-root
解决方案. perfect

关于 Nginx:

因为要使用captcha 看了一个支持国内的(google不支持国内),但是用NGINX测试 自己傻逼. 前段时间查 127.0.0.1 出现在access.log 里 (找到有个不错的Nginx 教程 ) 发现是用的反向代理 upsteam 所有有的内部转发.log.


AWS的RDS ( 坑)

处理black list 从Online 的MySQL服务器到RDS 结果,他妈的遇到了解析host 的坑, 一开始没注意,结果导致宕机了, 由于MySQL 的设置 如果是 安全组外的, 你对RDS的访问 是卡着的,你发connection 的请求,RDS那边判断 你不是设置的安全组内,它就会不处理, 但是问题来了,如果你密码错误,或者 backpoint 错误,是会马上提示的,探马的 这样 每次访问就会这样 卡着等待连接. 然后Ngnix 就boom…. 然后找了各种中断任务的命令 都不管用. 后来没办法 只有用原生的mysqli 设置一个预连接 ,设置一个超时1s 如果能连接, 说明 可以用,然后就连接, 要不然就为空,这样 就不会导致宕机了…

但是问题还没有被解决,还有就是在线上 我无法用backpoint 去连接RDS,到处各种查,发现是 host 解析出来是一个subnet 子网,我他妈….但是 设置的安全组是外网, 艹, 那个服务器以前都是能用的,我真的服了… 不过了解到了 VPC(Virtual Private Cloud)私有云. 因为 在线的那个服务器是和RDS是一个区域 一个账户 所以呀是用的内网…that’s all.


# 查看nginx 的状态.
systemctl status nginx.service

关于Git

有点怂,搞挂了几次主机了, 这次提代码有点虚. 主要关于的就是他们始终在线上的主分支上搞一个index 节点,导致每次都是用rebase 合并到product 上, 撤销还不好撤销,

使用 Git rebase -i 早前的节点,然后就可以 撤销中间体检的commit 了.

关于Nginx

做了一次关于手动编译的 Nginxliu’c

关于 用wireshark 抓包

用了俩个软件, 一个是CharlesWireshark C

图片居中:

利用一个div里面套一个img 然后外边div 设置高宽
text-align:center 水平居中 display: table-cell 使用的表单的格式显示,然后vertical-align: middle 纵向居中。 内部撑满就行。

<div style=" cursor: pointer;width: 140px;height: 140px; text-align: center;
display: table-cell; vertical-align: middle;"  alt="" >
    <img src=""" style="   max-width: 100%;max-height: 100%;  " alt="">
</div>

Node npm

一个关于NodeJS的 npm的坑,依赖下载了,运行那个gulp的时候会花式报各种依赖里面的语法错误。结果是版本问题 下面是解决的命令行 SF 上面找到的。

#If this is happening in nodejs, it is due to the older version of nodejs. Update #node by using,

#1) Clear NPM's cache:
sudo npm cache clean -f

#2) Install a little helper called 'n'
sudo npm install -g n

#3) Install latest stable NodeJS version
sudo n stable
#Update nodejs instructions taken from, https://stackoverflow.com/a/19584407/698072

Canvas

画板问题,一开始以为是移动端的兼容性问题, 发现画的尺寸不一样, 固定在300,150 然后其他的地方会缩放, 后来才发现,我擦咧点这儿 Canvas 有一个height 和width 属性, 默认是300 150 , style 里面是用来缩放的.日死.


关于overflow

shit! ka


前端打包工具

额 太恶心了前段时间还是用的gulp 然后现在就是用的webpack了,而且有一个比较坑的是,js 文件被编译后 有俩种格式, 一种是mix.jsmix.script
前者打包是打成一个module 引用了之后在前端无法调用. 如果需要用只有用后者原生的javascript 脚本.


前端的 页面打开

使用的 window.open(url, name) url 代表打开的路由, name 要不同 在不同的浏览器版本 出现不同的情况

  • Safari 11.0.3 无法打开多个 同Chrome
  • Firefox 59.0.1 (64-bit) 可以 多个窗口, 并不是tab 页面
  • Chrome 64.0.3282.186 无法, 就是第一个 有一个url 路由设置 就可以选择弹出多个了

记Chrome插件开发的过程.

前记 一些需用小知识关于反混淆Chrome 的 js 调试还有反混淆的网站 写插件的教程