一年份懒人日志

多核&多线程工具
  将线程通讯改通过redis订阅发布推送消息. 这样可以在任何地方, 直接控制某个线程并运行
websocket请求同步化处理(只限于chrome内核等浏览器)
  约定一个请求ID
  通过sleep休眠等待
  通过async/await 进行请求过程合并
oracle 获取ddl(没有会报错)
select dbms_metadata.get_ddl ( 'TABLE', table_name, owner)  from dual;

select dbms_metadata.get_dependent_DDL('CONSTRAINT', table_name, owner) from dual;

select dbms_metadata.get_dependent_DDL('COMMENT', table_name, owner) from dual;

select dbms_metadata.get_dependent_DDL('INDEX', table_name, owner) from dual;

select dbms_metadata.get_dependent_DDL('TRIGGER', table_name, owner) from dual;
jadx 部分反编译不出来
  设置中, 勾选显示不一样
SVN 指定文件导出&更新
  svn co https://svn.example.com/trunk/myfolder/ --depth empty

  svn up myfolder/index.html
SVN 命令行帐号密码操作
  --non-interactive --no-auth-cache --username XXXX --password YYYY
history 时间
  HISTTIMEFORMAT="%d/%m/%y %T " // 先执行

  history
Idea 引用方式, 打包jar (不直接打包成一个jar文件, 避免签名验证错误问题:in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes)
  注:不能直接打包成一个jar, 也不能直接删除jar中的SF文件, 不然会导致其它问题
  file->project structure->Artifacts->"+"->Jar->from modules from dependencies->copy to the output directoryxxxx
oracle 索引检测&修复
  select index_name from  user_indexes where status <> 'VALID';
  alert index index_name rebuild online;
oracle linux 下报错:Oracle Client library: "libclntsh.so: cannot open shared object file
bytenode 编译
宝塔NGINX版本获取反向代理实际IP
  lua修改无效, 改走自定义反向代理IP名称, 并在防火墙的CDN中设置. 这样在不外泄的情况下. 可以有效进行拦截. 避免白名单攻击问题
json结构稳定处理
  json-stable-stringify
nodejs Uncaught SyntaxError: Invalid or unexpected
  版本异常, 需要高版本才支持一些特殊语法,如"#"
nodejs 性能分析
  easy-monitory 如果低版本启动报错, 则需要将egg-mysql降低版本至3.0.0 
svn 同步报错 :svnsync - couldn't get lock on destination repos
  svnsync sync xxxxxx --steal-lock
npm 打包到前端
  https://browserify.org/#install
  进入目标目录, 执行打包命令:browserify main.js -o bundle.js
    代码压缩:https://minify-js.com/?module=on&module=on
  前端页面引用目标文件, 执行功能逻辑
语雀makedown 图片显示异常
  <meta name="referrer" content="no-referrer" />
sql to mongodb query
  https://www.javainuse.com/sql2mongo
mysql 查询走索引 delete不走索引
  https://blog.csdn.net/weixin_44742132/article/details/120574252
oracle 删除不走索引, 查询走处理
  查询出来的数据, 再给delete in
win server 2019 安装 .net 3.5
  https://www.cnblogs.com/wencg/p/13450794.html
  在确认界面, 会弹出指定备用路径, 指定路径安装即可. 其它方式均失败
阿里跨帐号内网互通
  VPC https://help.aliyun.com/zh/vpc/user-guide/create-and-manage-vpc-peering-connection
AP+AC 组网 https://www.ruijie.com.cn/jszl/90176/
oracle 文件损坏 ORA-00600:内部错误代码,[kcratr_nab_less_than_odr]故障解决
  https://blog.csdn.net/ANXIN997483092/article/details/78327458
服务器证书过期:SSL certificate problem: certificate has expired
yum install -y ca-certificates
update-ca-trust force-enable
sudo ln -s /etc/ssl/your-cert.pem /etc/pki/ca-trust/source/anchors/your-cert.pem
update-ca-trust
反编译
  https://wooyun.js.org/drops/%E5%8F%8D%E7%BC%96%E8%AF%91%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B(%E4%B8%8A).html
程序生成bat脚本运行报错
  utf-8编码, \n替换成\r\n(编辑器复制内容时, 不清楚为什么会修正成\n, 导致运行报错)
  通过16进制对比, 才能发现问题.
window server 2008 install datax
  pyhont 3.8 64位异常, python 3.8 32可执行, 但是datax报错"不是有效32位", 需要切成python 2.7 
nodejs ftp 主动模式 (需要使用这个库)
  https://www.example-code.com/nodejs/ftp.asp
linux 快速监听端口(用于服务器外检查防火墙是否有开)
  nc -lp 端口 (-lk监听端口, 就一起断开, 测试不方便)
通过使用sp_configure 启用'Ole Automation Procedures'
sp_configure 'show advanced options', 1;  

GO  

RECONFIGURE;  

GO  

sp_configure 'Ole Automation Procedures', 1;  

GO  

RECONFIGURE;  

GO 
mssql 触发器, 批量修改异常
  通过游标批量执行 https://developer.aliyun.com/article/289965
mssql 日志占用分析
  select * from sys.fn_dblog(null,null)

 

两年份懒人笔记…

SVN Can't revert 'mydir' without reverting parent
  恢复冲突, 合并分支和被合并分支目录不一致
  命令:svn revert . --depth infinity
speex 转mp3
  https://github.com/gamelife1314/wechat-speex-declib
远程桌面速度优化
  http://www.ltidc.com/news/content/14.html
查询https信息
  -- openssl s_client -connect xxx.com:443 -status
  curl -I -v --tlsv1.2  xxx.com
  openssl speed -evp aes-128-cbc
VMware Workstation 与 Device/Credential Guard 不兼容. 禁用后依旧无效
  控制面板->关闭功能->Hyper-V 关闭
nodejs代码加密
  bytenode -c xxx.js 编译js
  requre('bytenode'); let xxx=require('xxx.jsc'); 引入js
  puppeteer函数转字符无效, 导致报错:passed function is not well-serializable! (通过eval包裹)
window build 升级报错
  改win10易升(实际只升级到19044, 如果直接在后台点更新, 会显示更新至H2xx但一致失败)
openssl 升级
  https://gist.github.com/fernandoaleman/5459173e24d59b45ae2cfc618e20fe06
  yum install perl-Test-Simple
443端口 time_wait 太多
  统计建立连接数:netstat -na | grep ESTABLISHED | awk {print$5} | awk -F: {print$1} | sort | uniq -c | sort -r +0n
  统计80端口连接, 按IP统计:netstat -anlp | grep 80 | grep tcp | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n20 
  统计443端口连接数(等待和建立都在):netstat -anlp | grep 443 | wc -l
  统计各状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
  修改建立连接超时时间:https://serverfault.com/questions/23385/huge-amount-of-time-wait-connections-says-netstat
CPU 和 CPU负载
  https://cloud.tencent.com/developer/article/1722207
linux 启动详解
  https://cloud.tencent.com/developer/article/1114481
vim 运行当前文件
  "! %:p"
nps 80端口占用修改失败
  nps默认配置文件为C:/probxxx/nps 非当前路径
SVN 提交, 更新, 导出正常, 合并时提示不是同个工作路径
  检查大小写问题
php mysql 批量执行/查询SQL
  https://www.runoob.com/php/func-mysqli-multi-query.html
nodejs Symbol 对象字段
  data[Symbol(kData)]=>data.data
oracle window 系统	"SYSTEM01.DBF" 文件异常, 且使用各种修复命令一直无法恢复
  磁盘整理后, 文件恢复"alter database open resetlogs;". 即这次异常为文件异常, 而不是文件数据异常
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" -T ws start "F:\vm\Windows10.test\Windows 10 x64.vmx" nogui
查询域名解析TXT值
  nslookup -q=txt xxxx
SVN 获取当前分支日志, 同时不显示其它分支原始日志
  svn log --stop-on-copy -g
find 正则查询24小时修改文件
  find ./ -mtime 0 ! -regex  '.+runtime.+' ! -regex '.+public.+'
宝塔 pureftp 走TLS
  /www/server/pure-ftpd/etc 添加一个TLS文件, 内容为1, 参数意思见配置文件内容
  /etc/ssl/private/pure-ftpd.pem 默认提供的公钥文件(最好自己重新生成一个)
  ftp 走TLS模式, 然后导入公钥
  如果被动模式IP超时, 可强制指定外网IP:pure-ftpd.conf => ForcePassiveIP配置外网即可, 默认会使用内网,导致超时
ssh socks5 代理
   ssh -D 0.0.0.0:1080  www.xxx.com 本地的1080端口数据通过www.xxx.com服务器进行转发
nvm vm use 一直报错exit status 1 或 exit status 145 问题(nodejs安装路径中有空格, 重新安装修改路径即可)
node-gyp 编译报错, 需要使用vs 2017版本
  https://github.com/nodejs/node-gyp
  gyp诡异代理端口8118无法访问问题, npm config get proxy为null, 直接设置npm config set proxy "http://localhost:8118" 就回复正常
  gyp编译详解 https://juejin.cn/post/6963147704075550757
npm 运行异常, 卸载, 清理appdata/下npm文件和cache, 再重新安装, 诡异的gyp也回复正常
sqlexpress安装后, 服务启动正常但无法访问1433端口
  在配置管理器中手动写死端口, 再重启服务
node-gyp 出现代理异常, 且设置了npm set proxy http://localhost:8118, 为python走了代理导致
  set http_proxy=http://localhost:8118
npm autoit运行版本
  node 10.x python 2.7.x
挂新磁盘
  df -lhT 查看磁盘文件系统类型
  mkfs.xfs /dev/sdb1 -f 格式化成目标文件系统
逻辑卷扩容
  https://www.cnblogs.com/wy20110919/p/9151670.html
  需要根据不同类型选择不同的格式化工具
  如果已经建立一分组/dev/sda2, 直接扩容视乎不行, 通过新建一个/dev/sda3, 进入同一逻辑组, 然后再扩容给具体逻辑卷
  xfs_growfs 查看后, 才能激活对应逻辑分区 
svn 转移, win直接复制到linux下存在仓库版本格式差异, 导出再导入就不会
  svnadmin dump xxx > xxx.dump 支持按版本号导出
  svnadmin dump xxx -r xx:xx > xxx.dump
  svnadmin create xxx 需要建立一个空的库
  svnadmin load xxx < xxx.dump
svn 异机备份
  svnsync init 本地仓 目标仓 --allow-non-empty  激活关系
  可以创建后, 直接走导入方式, 再来建立关系, 或者通过关系自动导入
  svnsync sync 本地仓
npm config delete xxx 无效
  npm config --global rm xxx  需要删除全局才有效
前端混淆数据方案
  https://www.helloweba.net/javascript/631.html
  https://obfuscator.io/
  php 加密数据传输到前端, 前端des解密获取, 同时 解密过程包含函数部分全部通过obfuscator进行混淆处理(只能加大恶心人的程度)

 

JS中的debounce与throttle

转:https://juejin.cn/post/6844903760334946312#heading-5

debounce 有一个等待时长,如果在这个等待时长内,再次调用了函数,就取消上一个定时器,并新建一个定时器。所以 debounce 适用于 input, keyup, keydown 等事件, 亦或者 click 事件需要防止用户在某个时间范围内多次点击的时候,也可以用。注:在lodash 的实现中 中并没有取消新建定时器的做法,是用时间来判断的。
throttle 也有一个等待时长,每隔一段这个等待时长,函数必须执行一次。如果在这个等待时长内,当前延迟执行没有完成,它会忽略接下来调用该函数的请求,不会去取消上一个定时器。所以 throttle 适用于 scroll, mousemove 等事件。在lodash 的实现中,还有一个等待的最大时长,这个我们分析源码时再讨论。

 

2019-08至2020-01 半年份懒人笔记

宝塔CC时提示被屏蔽
  cc时直接抛出416不是很友好,而且有撞库的问题.
  function drop -- 如果已经被标记,则在这个地方抛出416
  function cc  -- 计数器.首次触发和标记
    补充html输出提醒 return_html22(config['cc']['status'],'
您的请求异常已被屏蔽,有需要请联系管理员(QQ:243008827)!
') svn 调整为主线分支类型,或者将某个目录的提交记录,导入到另一个库的某个分支中.   #将reposA导出到一个文件中   svnadmin dump reposA/ > f1     -r xx:xx 指定版本范围     --incremental 只进行增量导出.少这个会导致最后版本的整个目录被导出   #将reposA中的code过滤出来,svndumpfilter include表示只保留制定的目录和文件   svndumpfilter include dirB/code < f1 > f2   #将dumpfile2导入相应的目录,也就是reposB/dirAA/,用parent-dir来指定   svnadmin load reposB --parent-dir dirAA < f2   提交步骤是合并分支到主线,再提交.如果需要查看分支的日志,日志查询时,勾选底部显示合并分支日志. fish &&   make; and make install phash   mysql 用法 BIT_COUNT(img_dhash ^ b'01111') ,如果不是以b'xxx'形式.直接000111形式.会导致前面的数据丢失,出现奇怪的bit_count   感知算法走的是灰度.所以对颜色变化不敏感. 同时, 感知算法.更像是图片颜色分布识别. 并不能很好的识别图像以及内容....没有学习库还是不行. 考虑走百度的图片库或淘宝的商品图片库进行商品图片识别.     百度商品图片识别已测试.符合预期效果       百度入库一天1w免费,搜索500免费.基本够用(不够用就看老板钱包了~). nginx   一键防火墙 https://zhih.me/ngx-lua-waf/   nginx 编译后 在源码的 objs 里,要注意. nginx -V 观察编译参数   安装后,如果原来有安装后.替换 /usr/local/sbin/nginx 以及 /usr/local/nginx/sbin/   测试参数 /xxx.tar /xxx.sql 等. /?id=1 or 1=1 无效....,需要自行调整配置 elasticsearch   https://www.elastic.co/guide/cn/elasticsearch/php/current/_search_operations.html   elasticsearch sql     https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-xpack.html     配合postman测试     php 扩展       https://github.com/elastic/elasticsearch-x-pack-php   中文分词插件     https://www.jianshu.com/p/bb89ad7a7f7d     elasticsearch install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.0/elasticsearch-analysis-ik-7.5.0.zip       win file:///xxxx     外网开放       只改 0.0.0.0 会报错,需要配置下面两个参数,将服务器改成node       https://juejin.im/post/5cb81bf4e51d4578c35e727d   elasticsearch 降版本安装...     rpm remove elasticsearch     find / -name "*elasticsearch*" 删除所有出现的文件.不然安装低版本的会报错. rpm删除不干净导致日志部分报错 php barcode zbar   epel     wget https://download-ib01.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm     rpm -Uvh epel-release-6-8.noarch.rpm   yum install zbar-devel     zbarimg xxx.png 返回解析后的内容 php win 下 执行命令时, 报出一个奇怪的错误8, 切换php版本到5.6就正常, 比较神奇...原因不明 ss5 所需扩展包   https://blog.csdn.net/Vincent95/article/details/71172986 thinkphp   model update_time 被格式化问题     模型中,补充两个函数 setUpdateTimeAttr getUpdateTimeAttr 跳过系统自动格式化 php 线程安全和不安全会导致 ?undefined symbol:?core_globals 错误...   https://www.jianshu.com/p/e13efb052844 百度图片搜索坑   图片尺寸1000 + jpg... 切记不要听沙雕说尺寸问题.....漏了另一个 mysql 关联更新    update a inner join b on a.id = b.id set a.xx=b.xxx where b.xx=xxx thinkphp 命令行模式   命令行模式一直找不到的问题   configure 动作中 setName 必需为小写且与类同名   php think xxx     think 只是一个没有php后缀的php文件 rabbitmq   php 后台运行 nohup php xxxx &   消费者消费后,标记消息     $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);   php 多线程折腾起来麻烦事较多,通过 rabbitmq 做异步消息,并补充多个消费者...加快执行速度,相对来说改动和影响较小. recaptcha 人机交互验证   https://www.google.com/recaptcha/admin   注册.获取网站密钥和通讯密钥     页面demo:https://developers.google.com/recaptcha/docs/display     服务器demo:https://developers.google.com/recaptcha/docs/verify#api_request   国内使用     www.google.com 替换成 www.recaptcha.net 即可(js以及接口地址) webstorm   鼠标移动,代码提示开启     Setting->Editor->General->show quick documentation on mouse move uniapp h5 收录之神坑   #只会在客户端, 并不会传递到服务器端,导致路由参数无法传递到服务器端. 即使服务器端渲染出了静态页面, 也没用.     解决方案只能等官方的uniapp出正式的ssr 或者废了uniapp 用普通语言重写     所以官方说即使配置了关键字,二级页面也不会被收录,推荐走百度小程序....       如果不是因为#后传递参数,还可以通过chrome headless 进行静态页面渲染   发个福利...chrome headless 获取页面渲染后文档结构...     const content =await page.content(); 如果搞采集,还是不错的....vue.也可以采集和截图 tmux   https://www.ruanyifeng.com/blog/2019/10/tmux.html   tmux new -s 1     tmux ls 显示列表     ctrl b + w 显示列表并切换     ctrl b +c 新建     ctrl b + % 分屏     ctrl b + 上下左右 控制分屏     ctrl b + z 当前窗口最大化/恢复(第二次)     ctrl b + x 关闭   附加功能,通过tmux打开,shell不会断线...哈哈... ss一键安装脚本国内安装问题...   没错,是要在国内装,做国内的代理. 打开安装脚本. 补充代理设置或者直接下载安装文件. 下载特别慢的. 手动下载,然后按照安装方式安装. puppeteer 报错 Chromium revision is not downloaded   const browser = await puppeteer.launch({     //多加这个参数写死路径    executablePath: '/usr/bin/google-chrome'     ....   服务器网页截图,拦截百度统计脚本...   特别需要注意截图的页面是否有出现死循环的问题...,同时为了优化速度,只保证打开指定域名的资源,其它资源全部屏蔽     await page.setRequestInterception(true);     await page.on('request', request => { request.url()='' ; request.abort();/request.continue(); }) php 命令行情况下,久了mysql会出现has gone away问题   wait_timeout 默认为28800,也就是说,用久了.很容易出现掉链的问题. 反过来说,要测试也容易了,改小这个值.然后执行域名命令行.再访问数据库即可.   thinkphp 数据库补充重连参数 'break_reconnect' => true, rabbitmq 消费报错时,延迟重新执行   消息报错时处理,多声明一个交换机和队列, 关键参数     x-message-ttl 超时时间     x-dead-letter-exchange 队列超时后,,进入的路由.设置原来队列的交换机即可     x-dead-letter-routing-key 下面同上     重新发送的队列的交换机记得不要和原队列相同. 原理是       声明两个通道,原消息队列和延迟发送的消息队列,一个消费者,消费消费报错时,将消息重新发送到延迟发送队列,超时触发,然后进入死信,也就是回到了原来的消息队列,这样形成一个反复执行的过程. 然后通过rabbitmq的管理平台手动进行调控.   https://my.oschina.net/huaxian8812/blog/780086 elastcisearch 帐号密码访问   https://juejin.im/post/5c9c58fa5188250ef95d8b3c   配置     xpack.security.enabled: true     xpack.security.transport.ssl.enabled: true   postman中     http://user:pass@localhost:9200 sdk中同样是补充帐号密码前缀进行登陆 手机浏览器安装谷歌扩展   https://smartphones.gadgethacks.com/how-to/use-desktop-chrome-extensions-android-0196246/   安装 kiwi 浏览器     打开 chrome://extentions 敏感词/敏感图片过滤   走微信免费接口     敏感图片, 没有做ocr处理, 色*图片会被检测出来, 但是敏感词截图, 会识别不出来...   easywechat win 下图片上传报请求超时错误, 参数名补充@即可. linux下不会, 待核实具体问题点. mysql 主从复制   主机从机配置     https://www.jianshu.com/p/b0cf461451fb   从机延长同步时间参数     MASTER_DELAY=xxx     查了文档. mysql 8.0 才是每次传输时补充延迟, 5.7只在第一次延迟,后续都实时同步...,改成计划任务,通过计划任务控制,做延迟同步实现.       获取主机binlog当前位置. 然后从机开启, 等位置达到时,停止...   中文详细总结     https://www.fooher.com/20170502_53.html   官方配置参数列表     https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html   主从错误详细说明     http://xstarcd.github.io/wiki/MySQL/online_mysqlrepl_error.html   ssh 稳定通道 autossh + 公钥登陆(不知道为啥ssh-copy-id不成功,我直接手动粘贴到/root/.ssh/authorized_keys 一行一个公钥, 记得得开启允许公钥登陆/etc/ssh/sshd_config 里)     id_xx为默认私钥和公钥, 如果不是默认,需要通过-i 单独指定私钥     https://freeman.one/2018/12/08/ssh-tunnel/ mysql 误删除超快速恢复方案   利用主从实现数据库同步,再通过追加延迟参数,这样的数据库可以做为一个延迟备份数据库, 出现误删除操作时, 可以从这个比较慢同步的数据库中快速回复所需的数据.   恢复所需数据时,可以将商品id放入临时表中, 通过临时表,可以快速识别出丢失的数据然后进行恢复.   主从时, 主从复制时, 如果备份机或只读的那台. 没有什么特殊操作...空间比较小的时候. 可以考虑关闭binlog, 或者调整为2天. 默认是10天. 会导致生成的文件占用非常多的空间. editplus 搜索文件技巧   Search->Find in Files     包含的文件, 如果有多个的,用 ";" 进行分隔, 不需要搜索的, 也一样是通过";" 进行分隔. find 命令删除文件时, 如果文件包含空格或特殊字符导致的报错(rm: invalid option -- )处理   find . -name "*284x*" -print0 | xargs -0 rm -rf   find 命令详解     https://wangchujiang.com/linux-command/c/find.html 共享目录报错提示 无法访问,你 中能没有权限访问网络资源   凭证管理器, 手动添加权限   https://blog.csdn.net/luman1991/article/details/71248761 sqlserver 默认访问,无法通过端口访问问题   需要在服务器开启监听全部,才能通过端口访问, 不清楚默认情况下走什么协议     sql server 网络配置-mssqlserver的协议>tcp/ip 是否启用, 属性中是否监听全部   查询当前所监听端口     exec sys.sp_readerrorlog 0, 1, 'listening'     正常需要看到5条记录,1434和1433   sa 登录需要在安全中设置为混合登录. nodejs 热更新   require 只会引入一次,必定是有缓存,同时是以绝对路径为缓存标志,路径分割是"\",win下如果出现拼接时,需要注意"/",需要替换成目标路径     检测文件是否被二次加载,只需要在加载文件中console.log即可   删除缓存     delete require.cache[pwd];   isntall 时报错 operation not permitted     需要删除lock文件     package.json 不存在, 只能npm init初始化... 不保留svn是原罪. navicat 12.1.x注册提示找不到rsa   文件都复制到目录, 最好删除原来的, 然后安装时路径多个加版本号.   以管理员权限运行注册机, 其它参考教程 egg-view-ejs 配置正确还报错:Can't find viewEngine   检查 cxt.render 前是否有加await. VMware 虚拟机无法复制   虚拟机设置,选项,客户机隔离,取消,再保存一遍

2019-07 至 2019-11 懒人笔记

tcpdump 监听指定端口和远程客户端
  curl 指定目标服务器ip发起请求,用于测试内网和外网的访问,最近一个狗血护网,外网(机房)给堵了某些参数,通过监听和内外网分别请求证明服务器正常. 外网带特殊参数时, 完全监听不到目标客户端的请求
    curl  -x xxx:80 http://xxx -data 'xx=xx&xx=xx'
  中间有反向代理,通过过滤响应头识别目标机器
    tcpdump  port \(80 or xxx\) and  host \( xxxx or xxxx\)  -vvvs 1500 -l -A | grep xxxx
electron
  notification 官方的,使用限制颇多,win10下,老是碰到各种奇怪问题,通过node-notify代替
    https://www.npmjs.com/package/node-notifier
    bug记录:node-notify on click 多次执行,会出现重复注册的问题.需要添加个标记变量修复.
visual studio 6.0
  稳定版本 6.0.9782.2 ...需要打sp6补丁...  不然有一堆神奇的bug
php soapclient  代理
  补充代理,重写__doRequest ,使用curl
    构造函数调整修改为自动non-wsdl形式,wsdl形式为php底层实现,无法走socks5代理.会报错.
ss5 防火墙冲突 icmp-host-prohibited 该句会导致后续开放端口失效
php session 锁
  https://log.zvz.im/2016/02/27/PHP-session/
  切换成redis版本或者通过cache模拟session效果.不过防止session开启,需要跳过过滤器相关
  session_write_close 主动关闭,注意关闭后session_status 是1, 是关闭状态,会导致后续$_SESSION类写入,无法写入文件保存,需要通过 session_start 开启,激活状态是2
    tp 通过重写Session::set xxx相关操作. 实现自动关闭, 每次执行时, 程序会自动开启session.
  记录一个session的诡异问题链接相同的时候.写入有效,但是读取无效.即使手动激活.一定要追加个参数区分开链接
linux 分区大小调整
  fdisk -l 显示磁盘详细信息, 相关分区信息, 扩容的前提是磁盘本身够, 不够云主机类扩容, 或者加硬盘, 挂硬盘到大文件目录
  df -h 检查分区使用情况(包含挂载情况)
    需要检查清楚是否有别的挂载同时挂载到已经挂载的目录里,都需要从里到外依次卸载.
  没有线程,依旧被占用,检查虚拟内存是否设置在目标分区中,需要关闭对应的虚拟内存
  fuser -km /xxx 强制关闭目标分区所有进程
  umount -f /xxx 卸载目标分区
    可以直接卸载目标盘,也可以卸载目标挂载后的路径
    通常是配制在/etc/fstab中,同时可以观察虚拟内存的设置
  fdisk /dev/xxx
    进入目标分区,按m根据提示进行相关操作
    p 打印磁盘分区详细信息, 记录好分区当前开始位置.
    d 删除需要扩容的分区表信息
      删除后,只是临时的,还未正式写入
    n 设置新的分区信息,输入刚才记录好的分区起始位置和结束位置,如果希望全部,则将范围最事的数字输入即可,默认是原来的大小
    w 写入分区信息
      注意此时文件系统并未生效.需要通过
        sudo e2fsck -af /dev/www
        sudo resize2fs /dev/www
      分配文件系统大小
Table 'performance_schema.session_variables' doesn't exist
  直接复制数据库到新版本mysql时出现
  多种解决
    mysql_upgrade -u root -p --force
php excel 导出避免数字问题
    $phpexcel->getActiveSheet()->getStyle('C' . $i)->getNumberFormat()->setFormatCode("@");
    $phpexcel->getActiveSheet()->setCellValueExplicitByColumnAndRow ( 2, $i, $val['model'], 's' );
    两句需要同时加,否则msoffice有个奇怪点击后变回数字格式的问题. openoffice 不加第一句,点击时顶部值会显示一个" ' "(单引号) 
    富文本数组元素转字符串(string)
flashfxp 传输文件被压缩成一行
  修改传输模式为二进制,ascii 会丢失换行符号,比较奇怪
htaccess
  设置帐号密码访问
  AuthName "Restricted Area" 
  AuthType Basic
  AuthUserFile /home/site/.htpasswd
  AuthGroupFile /dev/null
  require valid-user
  生成密码:http://www.htaccesstools.com/htpasswd-generator/
myentunnel
  SwitchySharp  翻墙
  服务器各种 相关参数开启 
  允许局域网 SOCKSPort=7077 改为 SOCKSPort=0.0.0.0:7077 ,即本地端口输入 : 0.0.0.0:8888 让局域网可以访问
  linux 使用 socks, 安装 sock
http proxy cover sock proxy
  polipo
    https://www.codevoila.com/post/16/convert-socks-proxy-to-http-proxy-using-polipo
  win
    https://tzrgaga.github.io/2017/04/12/forward-socks-by-privoxy/
    forward-socks5 / 127.0.0.1:8888 .
      最后有一个小点
  
mobaxterm 获取下载文件
  settings->configuration 打开目录. 会得到这个路径.
    C:\Users\home\DOCUME~1\MobaXterm\slash\tmp\dragdrop
sqlite3 ubuntu 安装依赖问题
  sudo dpkg --purge --force-depends libsqlite3-0
  sudo apt-get install libsqlite3-0
  sudo apt-get install -f
  sudo apt-get install libsqlite3-dev
  sudo apt-get install sqlite3
tor
  epel 源 EPEL,即Extra Packages for Enterprise Linux的简称,是为企业级Linux提供的一组高质量的额外软件包
  https://www.5xiaobo.com/?id=308
宝塔 ssl 证书识别异常
  关闭重开,重新部署并不会修改目录位置,意思点击了let'sencrypt再点击宝塔自带的付费证书
php ?execution timed out  terminating
  修改php-fpm request_terminate_timeout
ssl 端口转发
  如果服务器某个端口被墙,又需要到,通过该方式进行连接
  ssh -L 0.0.0.0:xxxx:localhost:xxxx root@xxxxx -p xxxx
n2ray
  你懂的~ 每次被搞,会的更多....
uniapp
  picker 对象数组问题. 傻逼东西....使用非常麻烦.
php composer.phar install
  win 下安装. 最好先 php --version / 或 php -i 确认环境. 如果有多个版本的话
win10 文件复制到系统目录里后操作 access deny... 
  以前很沙雕复制出来修改再复制回去...发现只需要右键修改user权限....
npm config set proxy=socks://127.0.0.1:10808
  npm config set https-proxy=socks://127.0.0.1:10808
  https 走 http代理和部分软件走http代理,会出现一些莫名奇妙的问题,直socks代理则正常
win redis
  https://windows.php.net/downloads/pecl/releases/redis/
wss apache 配置
  直接在: httpd.confg 后配置, 需要确保已经开启ssl这些
  SSLProxyEngine on
  ProxyPass /wss ws://127.0.0.1:8282
  ProxyPassReverse /wss ws://127.0.0.1:8282
php 通过 proxy 解析目标域名
  curl_setopt($oCurl, CURLOPT_HEADER, 1);
  curl_setopt($oCurl, CURLOPT_HTTPPROXYTUNNEL, 1);
thinkphp 奇怪页面缓存问题
  html部分缓存没有即时更新.导致页面显示异常
websockets 重新链接
  reconnecting-websocket.js
ssh 通道阻塞
  bitvise ssh client 比较好用,mytunel 容易因为阻塞断开链接
php 转化 webp 图片格式
  https://www.php.net/manual/zh/function.imagecreatefromwebp.php
  安装 webp支持
    yum -y install libvpx-devel
    编译命令补充(请根据版本):
      php 56 '--with-vpx-dir'
        '--with-webp-dir' 这句会识别不了
  (new \Imagick($webp_file))->getImageMimeType()
shell 尝试
  反引号` 把命令中某个子命令替换为其执行的结果
svn 钩子 更新代码强覆盖处理
  svn update --accept "theirs-conflict" #更新时,如果出现代码变动,以新更新的代码为主,进行合并,并不会覆盖,所以测试机如果有什么测试代码.记得删除...重新传
php 多透明图片透明细节
  图片透明部分保持,不要丢失,每绘制一次,都会重新搞一次,针对对象(只对png类有效)
  imagealphablending($this->image, false);
  imagesavealpha($this->image, true);
  强制指定具体某种颜色做为透明颜色
    $white = imagecolorallocate($im, 0, 0, 0);
    imagecolortransparent($im,$white);
  确保最后保存文件格式为png.....(这个要细心...避免沙雕问题...)
wkhtmltopdf: cannot connect to X server
  不要yum install wkhtmltopdf....直接rpm安装就正常,然后,如果原来用yum 安装,记得覆盖 /usr/bin/wkhtmltopdf 和 wkhtmltoimage两个没用的...
vue 渲染截图问题
  wkhtmltoimage,phantomjs都是无法操作的,会出现空白问题.只能用chrome headless+ puppeteer
    chrome centos 安装 
      https://www.cyberciti.biz/faq/howto-install-google-chrome-on-redhat-rhel-fedora-centos-linux/
  puppeteer npm安装有点奇怪,通过yarn安装
    await page.waitFor(500); //延迟返回,直接返回会导致加载慢,showMod改变加载速度,会导致加载非常慢
    await page.goto(argv.url, {"waitUntil" : "networkidle0"}); //直至网页加载完成,加该句,可以不用加上面那句代码
  php 命令行调用 npm 异常收集
    环境变量
      php 命令行用户是www, 会出现识别不了node 的问题.需要复制到/usr/bin/node或者直接完整路径
    路径
      require 时,同样会因为www用户,出现上述问题,可以require 时直接指定
    权限问题
      高权限用户调用命令时,会报错,但不会"卡死",www用户出现目录和文件权限问题时,会卡住,同时su 成 www 测试会相对直观
win 下快速检索目录
  dir /s xxxx
    指定目录检索匹配在in里的文件列出,应该实用到系统文件索引.速度非常快.
  备用方案
    everything es.exe 命令行接口,需要打开everything
      检测程序运行命令:  tasklist | findstr Everything.exe
yum install *.rpm 直接安装rpm....
php 数据表达式计算+校验(非eval)
  EvalMath.class.php
eval 异常捕获
  在eval 前 set_error_handler ,异常级别 E_WARNING
window.history.pushState
  无刷新,修改url
mysql 随机获取一条
  select id,rand() r from table_name order r asc limit 1;//速度可以
libzip 版本不够
  编译php 7.3 必需卸载libzip,再编译安装才有效,安装好后再去编译php7.3 补充--enable-zip
  https://segmentfault.com/a/1190000017570008
redis 访问频率限制
  set key value expire ,访问时 inc 增加key expire不变. 过期会自动消息.达到频率限制的目的
宝塔奇怪cc问题
  是通过将md5(ip+request), 疑似出现撞库,导致用户莫名奇妙拉黑

2019-07 半年份的懒人笔记

米波现场调整为 win 版本
    不过win下,会牺牲不少性能,如果要求不高,可以考虑
修复微擎 在php 7.2 环境下登录异常
    mbstring.fun_overload 导致各种字符串函数异常,导致session解密异常
php 7.2以上版本安装跳过ssl协议
pecl install channel://pecl.php.net/mcrypt-1.0.1
workerman 模拟压力测试脚本
httponly
    chrome 特性,只有返回时,标记为httponly,之后会无法在浏览器端读取以及修改.且发送的httponly不会再出出标记
nmap-vulners和vulscan 
    https://www.4hou.com/technology/10481.html 
    需要走代理更新库
        shell 使用 shadowsockets 局域网代理
        curl 才能测试 ping 和 telnet 需要单独安装代理或shadowsock
服务器备份
    svn 直接复制
        passwd,authz
    mysql 复制数据库后,表空间要一起复制.
对源码做特殊修改,使include 不被open_basedir所限制, 新人测试环境,保护源码安全
    php 源码 main/fopen_wrappers.c (代码部分是复制别人的...哈哈...省好多时间)
        源码修改测试, 有 ./configure --disable-all 方便快速编译,只针对测试功能测试
        PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC)
    php 源码编译安装
        直接复制lnmp phpinfo中的编译参数,避免出错
        collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1
        解决办法:make ZEND_EXTRA_LIBS='-liconv'
        ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/
    独立php版本实现
        需要另外指定编译目录,配置独立端口,配置独立 /tmp/phpxxx.sock,同时nginx也需要做同样处理,用alias会方便很多.
            alias 全局修改 /etc/bashrc (注意空格)
samba
    无法访问...可能没有权限...这句不关键,第二句才是关键..
    Samba报错:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接
sqlserver php
    https://www.jianshu.com/p/245b14583c47
    只有7.0正常,7.2还不行.
win 分钟级php类计划任务
    php -q xxx.php
cups https://www.cups.org/
"操作无法完成(错误 0X00000709)。再次检查打印机名称、并确保打印机连接网络"
    识别不到打印机驱动问题. 可下载目标打印机驱动exe ,右键直接解压,再通过查找安装找到目标文件
    xp识货无法安装的问题.只能随便添加一个打印机(此时无效),再直接修改注册表,改成目标打印机
    打印机
        HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Print/Printers
    打印驱动
        HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Print/Environments/Windows NT x86/Drivers
apache vhost单独配置php配置参数
     php_admin_value open_basedir xxx
wkhtmltopdf 打印A4
    隐藏头,隐藏尾(页面宽度750左右为A4常规大小)
    wkhtmltopdf -T 0 -L 0 -B 0 --page-size A4 --print-media-type --disable-smart-shrinking http://xxx  xxx.pdf
中文分词
    mysql 5.7 以上,同时设置ngram_token_size=2,200w内,一次like且文本不是很长的情况下,可以不考虑用like.多次like的情况下,10w起就需要用分词了,速度下降得比较厉害.
mysql 一次命令复制表以及数据
    CREATE TABLE igd_sysmsg_backup AS   (   SELECT *   FROM igd_sysmsg   )

 

再次占位置,一年份的博客

key 长度 32 位处理 aes-256-xxx
mcrypt_module_open ( MCRYPT_RIJNDAEL_128, ”, MCRYPT_MODE_CBC, ” )
mbstring.func_overload 重载,导致 str*功能异常问题
pecl install mcrypt-snapshot
7.2.x 强制安装扩展
屏蔽 is DEPRECATED
error_reporting(E_ALL ^ E_DEPRECATED);
反向代理,REMOTE_ADDR 设置真实ip
chrome 扩展,页面通讯
页面另存成图片
html2canvas
远程图片跨域设置
_img.setAttribute(‘crossOrigin’, ‘anonymous’);
画布绘制
原型头像
位置修改
以下ID的密钥没有可用的公钥
sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys
依赖… 但是它将不会被安装
Aptitude
jquery plugin 插件编写
继承
win 客户端走代理
通过cmd
set proxy=http://127.0.0.1:1080
SET HTTP_PROXY=%proxy%
SET HTTPS_PROXY=%proxy%
Kitematic.exe
php excel 图片插入+适应
yii2版本动态AR
阿里云
/etc/yum.repos.d/pel被强制跳转镜像源
超大文件断点续传
跟踪端口网络
nmap
nmap -p 80 -Pn –traceroute xxxxxxx
traceroute
素材图片转化
ppt,pptx
jodconvert
ai,psd,pdf
convert
convert *.psd[0] *.png
cdr
uniconvert
配合python进行安装,centos下,需要通过pip将所有模块安装完成
mp4,mov,avi
ffmpeg
取指定时间
创建无法执行命令的ftp账户
直接修改/etc/passwd
usermod loginname -s /sbin/nologin
pure-ftpd 默认修改密码对应不上,需要通过passwd 进行密码修改
workerman 整合yii
小程序可直接使用web-msg-sender做为web-view内使用,无需走wss处理,网页端,可直接ws,已测试.
走http协议,可以绕过小程序的检查,设置端口执行websocket
Gateway
yii 端通过调用客户端,实现消息推送
通过dbsession+sessionid传递,实现会话数据共享
Gateway event类,通过将所有消息以http形式反馈给yii控制器.由yii控制器实现逻辑代码
gateway 用curl 会报错,直接通过file_get_contents 加超时处理.
ppt 转 pdf 兼容 msoffice
openoffice 等开源工具都不兼容,只能通过wps(通过python脚本),但是wps目前只发现win下有开放,linux下安装后,没看到接口
python 调用 wps 进行ppt兼容转pdf, win32client处理
新概念四学到第20课
php exec 运行soffice 相关命令无返回
2>&1 屏幕输出内容(包括异常)全部进行反馈
rc.local 启动运行,所有命令补充”&”标记,变成后台运行,防止一个出错,导致后续脚本异常
svn hook 同步中文修复
不然.svn里的数据库会出错
linux 下 java -jar 中文编码异常
java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar *.jar
小程序代理发布
小程序,web-view 真实手机端调试,基本无解
只能通过weinre 进行脚本注入
最便宜的开发测试机
iphone4s 支持ios8 ,可安装新版本微信,可运行调试小程序;iphone4不行
yii autoload_unregister 状态下异常抛出混乱处理,如phpexcel等操作器
手动引入
@YiiBase::autoload ( ‘CHttpException’ );
@YiiBase::autoload ( ‘CExceptionEvent’ );
win7 系统 sfc 修复
can not repair member .. 直接通过win10升级助手搞定,可保留原程序和原文件.
微软拼音
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{81d4e9c9-1d3b-41bc-9e6c-4b40bf79e35e}
SoapClient
代理抓包
$params = array (‘trace’ => 1,’exceptions’ => 1,’soap_version’ => SOAP_1_1,’proxy_host’ => ‘xxx’, ‘proxy_port’ => ‘xxxx’,’stream_context’ => stream_context_create ( [ ‘http’ => array (‘proxy’ => “http://xxx:xxx”,’request_fulluri’ => true,”method” => “POST” ) ] ));
$client = new SoapClient ( ‘http://xxxx’, $params );
请求响应打印
json_encode 不编码中文
微信接口相关
JSON_UNESCAPED_UNICODE

占下位置…两年份博客….

待写博客
tvmao
python
新概念35
des java 填充处理
htmlpurifier img src base64
java 文件流输出处理.
dcloud 云打包
ios打包
http://wenku.baidu.com/course/view/1ce3571252d380eb62946d8c
数据库,容易出现 not allow null 设置
脑图工具
update limit  number 类型 ” = 0
补充个 requestjs 特殊处理,兼容原来相关插件代码(取消jquery引入,防止变量和绑定相关覆盖)
dclound自动更新
dcloud 拍照上传
 iphone 设备,图片旋转排查处理
jquery.autocomplete 加将一些特殊功能触发 ,做了不好几个小地方的特殊修改)  中文自动输入补全bug,详细见描述
http://xxxxx/wcf/kuandaisearch
订单支付,需要补充前缀.
多边形,区域识别
mac 发布
ios 各种版本差别
eclipse 奇怪异常 ,最新版本, 不兼容jdk1.8以下的版本 xp 不支持1.6以上版本,所以只能临时用笔记本处理.然后找时间升级操作系统.
eclipse 只单独切换没用,需要操作系统环境进行切换.
adt  切换 android版本到 6.x
The method requestPermissions(String[], int) is undefined for the type
虚拟机安装ios 10.11  (usb 切换到2.0 才能进行手机远程调试 3.0 识别不到设备)
php 安装 curl .
有道翻译插件.
oracle 跨数据库连接
vpn 兼容局域网.
http://www.cnblogs.com/Real_Dream/articles/1577889.html
metric  值为跳跃计数点,越高优先级越高
route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 metric 5
多chrome
png全透明,无黑边,无锯齿处理
php curl cache
stackoverflow.com/questions/20552592/how-to-flush-php-curls-dns-cache
javascript [^]+? 匹配
javascript 替换 jquery大全.
php ftp 工具传大文件数据丢失问题.
app store 内购
// php 5.6 以上版本 默认变成 mb_strlen (string ,’utf-8′); 5.4还是默认 8bit
strlen php 5.6 得 mb_strlen (‘8bit’) 进行兼容
unionid  详解
type=”datetime-local”
微信集中access_token处理
新概念45课
fildder 抓取 php curl https 数据.
phantomjs
slimerjs
opencv
pytesseract 图像文字识别…
微薄模拟登录.模拟跳转.
模拟跳转.实现cookie激活
phantomjs cookie 转 php curl
php 3des
linux 安装 phantomjs
Eclipse中格式化Jquery代码+html+js代码.
png 穿透点击 模拟点击 对只针对目标对象
酷q
ss 安装
open.taobao.com 之沙箱.
chrome headless (字体) 采集chrome-remote-interface
nginx 路径转发
denyhosts 使用.
fonteditor-core fontmini fontkit
58字体破解
open_basedir简单用法
ifsvnadmin 密码方式异常(配置路径)
mobaxterm
svn hook 按目录更新
attempt to write a readonly database 异常
ffmpeg 转换 mov 旋转问题(3.x 以上正常,自动旋转)
mcrypt 在 php7.2下的实现.以及yii 1.x 加密模块的重写(官方不鸟…)

soap failed to load external entity 异常

soap一个很奇怪的异常,时不时的出现,还没有规律。。。

经过半天的折腾,发现一个php的bug….

 

libxml_disable_entity_loader(true);

ini_set ( soap.wsdl_cache_enabled, 0 );

这两句执行的情况下,再去执行soap的client会报异常,原因是报文的,最外层的<?xml 没了,导致直接报错,抛出标题所说的异常。更奇葩的一个问题是,如果php有个线程执行了上述两句,另一个php线程在不设置的情况下,直接执行

ini_set ( soap.wsdl_cache_enabled, 0 );

和soap client的调用还会报上面的错。大概猜到是配置有缓存,导致的。。。

验证方法:报错的两句一次发起1000条请求。另一个线程纯soap就会异常

一般情况下没人用到…

libxml_disable_entity_loader(true);

这边调用到微信发红包。。里面有出现,好死不死,提交xml用拼的。接收xml用文艺的 xml转 json 加上了该句….

解决方法:

在调用soapclient时,前面执行句

libxml_disable_entity_loader(true);

 

流程图工具 draw.io

在线版本

https://www.draw.io/

不是很稳定,最好开vpn。无敌的天朝。什么都能封。

桌面版本,谷歌版

https://chrome.google.com/webstore/detail/pebppomjfocnoigkeepgbmcifnnlndla

安装后,在应用管理里可以将启动方式放到桌面上。

两年前找相关工具时,发现Pencil,又免费又很全(其实需要资助的…)

比较pencil 和 draw

pencil线条只有直线和曲线,没法进行大角度转弯,也不好控制,需要重新绘制,但是重新加线条,重新加的线条,在拖动的情况下又会偏移,需要重新调整比较麻烦。同时最大的问题是渲染。在画比较复杂的页面时,元素移动,拖动非常的卡,这个比较致命,如果无法优化好,只能拿来当原型编辑器。不过绘制各类型应用的原形图还是比较强大的。

draw.io线条控制相对灵活可以任意节点转弯。而且页面渲染,处理速度很快,多元素拖动也不会出现卡顿情况。缺点桌面版本不支持导出图片。但是支持导出svg 和 html,html文件需要请求到draw.io的一个js文件。所以。。。网络不好时,打开不方便。国内最好手动修改下,不然加载很卡。不过svg和html的优势是图像效果是矢量的,所以放大情况下,不会模糊。比图片方便查询细节。

<script type="text/javascript" src="https://www.draw.io/js/embed-static.min.js"></script>