舞影凌风

38 posts

centos安装headless chrome

Centos 7 安装 直接运行安装脚本 curl https://intoli.com/install-google-chrome.sh | bash 安装完成后会提示: Successfully installed google-chrome-stable, Google Chrome 65.0.3325.146 . 运行chrome google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.baidu.com 正常的话会在当前目录生成screenshot.png的文件 驱动 下载chrome驱动并放到某个目录下: http://npm.taobao.org/mirrors/chromedriver/2.36/chromedriver_linux64.zip , 运行./chromedriver, 如果能返回下面内容说明驱动安装正常 Starting

阅读全文...

PHP使用上一些问题笔记

json_encode失败切没有任何输出 # 使用json_last_error输出错误信息 var_dump(json_last_error()); # 发现错误码是5 JSON_ERROR_UTF8, 转成uft-8就好了 mb_convert_encoding($value, "UTF-8", "auto"); 参考文档 php json_encode输出空白问题 How to solve JSONERRORUTF8 error in php json_decode?

阅读全文...

搬瓦工替换ip后无法连接站点解决方案

前段时间因为某些特殊原因搬瓦工服务器在国内不能访问了(测试是否被X可以用ping.pe),还好搬瓦工提供了换ip的服务,替换ip后访问是没有任何问题了,但是不能访问任何其他网页的服务,比如用脚本安装lnmp都提示找不到服务器。我自己在服务器上测试 ping所有的服务返回都是ping: unknown host [root@localhost ~]# ping google.com ping: unknown host google.com [root@localhost ~]# ping github.com ping: unknown host github.com [root@localhost ~]# ping baidu.com ping: unknown host baidu.com 一般这种情况都是DNS解析问题,但是不可能这些知名企业解析会出问题,所以联系搬瓦工客服咨询这个问题,以下是他们给的解决方案,成功解决了我的问题:

阅读全文...

LiteApp Native Component实现原理

引述 LiteApp中有一种类似微信小程序Native的控件,像地图、Canvas等等,覆盖在WebView层级之上,比所有网页的层级都高。这种原生控件是怎么实现的呢?我们今天就从LiteApp的qy-input控件入手分析下原理 分析 先看下qy-input的关键源码 <template> <qy-native-base :hover="hover" :nativeData="nativeData" nativeTag="QiyiInput" @bindinput=""/> </template> 布局里面引用了qy-native-base, 并输入了hover、nativeData、nativeTag 3个属性,对于属性作用后面会介绍到,还是看下qy-native-base的实现, 实现类在mp-fe-core/src/platforms/qy/runtime/components/qy-native-base.js import * as nativeOps from '../../bridge/qnode-ops.native';

阅读全文...

PHP依赖管理工具composer使用

简介 Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。 安装 // 下载 composer-setup.php php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" // 校验签名(可选) php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified';

阅读全文...

评论组件畅言主题样式修改

随着多说、网易云跟帖的停止服务,要找一个合适的博客评论系统还真不容易,目前稍微好点的可能就畅言和友言了,实话说这两个的体验真不是很满意,所以就有了这篇文章,看看能不能想办法去自定义样式。 畅言官方提供了一些样式定制 http://changyan.sohu.com/help/a-custom-css-setting.html 不是太好改,整体上还是感觉不好,特别是侧边栏天天弹广告。 在浏览畅言官网的时候发现官网用的评论框和我们的不太一样,官网的效果明显更清新简洁 , 但是后台并没有提供配置这个主题的方法啊!! # 官网样式: # 目前样式: 经过一番分析发现初始化的 JS 代码是一样的,但是加载的样式结构和代码都完全不一样 # 官网结构: # 目前结构: 经过分析,一个获取配置的接口引起了我的注意: https://changyan.sohu.com/api/2/config/get/cyqARl5Jo?callback=changyan523657214 返回的内容如下: changyan523657214({"data":{"isv":{"id":"889","auditMode":"1"

阅读全文...

华为 P9/P9 Plus 获取root权限

准备 window 电脑一台 申请解锁 到 EMUI 官网 https://www.emui.com/cn/plugin/unlock/detail 输入手机信息申请解锁 输入正确资料后会提示 您的解锁码为:******** 下载 adb 工具包 http://dlc2.pconline.com.cn/filedown3590356968223/1UIwPc3e/adb1.0.32.zip) 按官网介绍的开始解锁 https://www.emui.com/cn/plugin/unlock/step 下载 root 工具 pan.baidu.com/s/1mi19eA0 密码:

阅读全文...

cannot synthesize weak property because the current deployment target does not support weak references

在用 pod 依赖 dsBridge 项目后报错如下: Error:(72, 13) cannot synthesize weak property because the current deployment target does not support weak references 猜测原因是dsBridge没有指定运行最低版本,导致不支持 weak 属性。 https://github.com/wendux/DSBridge-IOS/blob/master/dsBridge.podspec 解决方案: 在 Podfile 下面添加如下代码: post_install do |installer| installer.pods_project.targets.each do |target|

阅读全文...

iOS 学习笔记

0x1 安装 CocoaPods sudo gem sources -a https://ruby.taobao.org/ sudo gem sources -r https://rubygems.org/ sudo gem sources -l sudo gem update sudo gem install -n /usr/local/bin cocoapods -v 0.39 pod setup pod --version 执行 pod setup 特别耗时间,而且看不到进度,可以选择下面方式初始化: cd ~/.cocoapods/repos git

阅读全文...

Kotlin - by 关键字介绍

概述 Kotlin 中 by 关键字用来简化实现代理 (委托) 模式,不仅可以类代理,还可以代理类属性, 监听属性变化,下面我们来介绍by的几种主要使用场景: 类的代理 class 属性延迟加载 lazy 监听属性变化 Delegates.observable ( 扩展 Delegates.vetoable ) 自定义监听属性变化 ReadWriteProperty 属性非空强校验 Delegates.notNull() Map值 映射到类属性 map 类的代理(代理/委托模式) // 定义一个接口,和一个方法 show() interface Base { fun show() } // 定义类实现 Base 接口, 并实现 show 方法 open class BaseImpl : Base { override

阅读全文...