Month: July 2018

MySQL 性能优化神器 Explain 使用分析, EXPLAIN结果的参数详解, Mysql性能调优工具

准备工作 DROP TABLE IF EXISTS `t1`; CREATE TABLE `t1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `other_column` varchar(30) NOT NULL DEFAULT '', `other_column2` varchar(30) NOT NULL DEFAULT '', `other_column3` varchar(30) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `idx` (`other_column`), KEY `u_idx` (`other_column2`,`other_column3`), KEY… Read More

Shell: expect – 自动交互脚本, linux 自动化, shell自动化, expect教程中文版:expect实例

启用选项 -c:执行脚本前先执行的命令,可多次使用。 -d:debug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用exp_internal 1相似。 -D:启用交换调式器,可设一整数参数。 -f:从文件读取命令,仅用于使用#!时。如果文件名为”-“,则从stdin读取(使用”./-“从文件名为-的文件读取)。 -i:交互式输入命令,使用”exit”或”EOF”退出输入状态。 --:标示选项结束(如果你需要传递与expect选项相似的参数给脚本时),可放到#!行:#!/usr/bin/expect --。 -… Read More

Shell: expect – 自动交互脚本, linux 自动化, shell自动化, expect教程中文版:expect说明

样式匹配 *号 expect "hi*" send "$expect_out(0,string) $expect_out(buffer)" 输入philosophic,输出为hilosophic philosophic,hi*匹配的是hilosophic 如果是hi*hi,则匹配的是hilosophi 如果是*hi*,则匹配的是philosop hi c\n ,而不是p hi losophic\n,因为匹配是从左到右进行,且*尽可能匹配更多的字符,但是要符合样式,所以第一个*匹配的字符多一些 以*开头的样式并不经常用到,像*hi*,它能把前面不匹配的数据保存在expect_out(0,string),但是expect_out… Read More

Shell: expect – 自动交互脚本, linux 自动化, shell自动化, expect教程中文版

摘要 现代的Shell对程序提供了最小限度的控制(开始,停止,等等),而把交互的特性留给了用户。这意味着有些程序,你不能非交互的运行,比如说 passwd。有一些程序可以非交互的运行,但在很大程度上丧失了灵活性,比如说fsck。这表明Unix的工具构造逻辑开始出现问题。Expect恰恰 填补了其中的一些裂痕,解决了在Unix环境中长期存在着的一些问题。 Expect使用Tcl作为语言核心。不仅如此,不管程序是交互和还是非交互的,Expect都能运用。这是一个小语言和Unix的其他工具配合起来产生强大功能的经典例子。 本部分教程并不是有关Expect的实现,而是关于Expect语言本身的使用,这主要也是通… Read More

php:最好的日志管理 monolog, php写日志monolog, php日志类monolog

主页:https://seldaek.github.io/monolog/ 项目:https://github.com/Seldaek/monolog 安装:(什么是composer?) $ composer require monolog/monolog 简单使用: <?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING… Read More

AI机器学习: 在 macOS 上安装谷歌的TensorFlow, machine learning, 人工智能学习

在 macOS 上安装 TensorFlow 本指南将介绍如何在 macOS 上安装 TensorFlow。虽然这些指令可能也适用于其他 macOS 版本,但我们只在满足以下要求的计算机上对这些指令进行过测试(并仅支持这些指令): macOS 10.12.6 (Sierra) 或更高版本 注意:GitHub#15933 中介绍了在低于 macOS 10.12.6 (Sierra) 的版本上已知的一些影响准确率的数值问题。 注意:从 1.2 版开始,TensorFlow 在 macOS 上不再支持 GPU。 确定如何安装 TensorFlow 您必须选择安装 TensorFlow 的方式。目前可支持如下几种方式: Virtualenv “原生”pip Docke… Read More

AI机器学习: 在 Windows 上安装谷歌的TensorFlow, machine learning, 人工智能学习

在 Windows 上安装 TensorFlow 本指南将介绍如何在 Windows 上安装 TensorFlow。虽然这些说明可能也适用于其他 Windows 版本,但我们只在满足以下要求的计算机上验证过这些说明(而且我们只支持在此类计算机上按这些说明操作): 64 位、x86 台式机或笔记本电脑 Windows 7 或更高版本 确定要安装哪种 TensorFlow 您必须从以下 TensorFlow 类型中选择其一来进行安装: 仅支持 CPU 的 TensorFlow。如果您的系统没有 NVIDIA® GPU,则必须安装此版本。请注意,此版本的 TensorFlow 通常更容易安装(用时通常在 5 或 10 分钟内),所以即使您拥有 NVIDIA GPU,… Read More

AI机器学习: 在 Ubuntu 上安装谷歌的TensorFlow, machine learning, 人工智能学习

  本指南将介绍如何在 Ubuntu 上安装 TensorFlow。虽然这些说明可能也适用于其他 Linux 版本,但我们只在满足以下要求的计算机上验证过这些说明(而且我们只支持在此类计算机上按这些说明操作): 64 位台式机或笔记本电脑 Ubuntu 16.04 或更高版本 确定要安装哪种 TensorFlow 您必须从以下 TensorFlow 类型中选择其一来进行安装: 仅支持 CPU 的 TensorFlow。如果您的系统没有 NVIDIA® GPU,则必须安装此版本。请注意,此版本的 TensorFlow 通常更容易安装(用时通常在 5 或 10 分钟内),所以即使您拥有 NVIDIA GPU,我们也建议先安装此版本。 支持 GPU 的 T… Read More

Ubuntu:为Python3安装 pip3, 绑定 pip3到 python3, How to install pip for Python 3.6 on Ubuntu 16.10?

  首先通过以下命令查看 Python 的版本 python -V 关于切换 Python 默认版本,可以参考文章:转换Python默认版本 安装 pip3,很多时候,你会发现,自己已经安装了,但是系统会提示没有这个命令,例如: sudo pip3 install virtualenv sudo: pip3: command not found sudo apt-get install python3-pip Reading package lists... Done Building dependency tree Reading state information... Done python3-pip is already the newest versi… Read More

Python: 转换Python默认版本, 设置Python3为默认版本, How to make ‘python’ program command execute Python 3?

  最简单的方法就是直接修改 ~/.bashrc 或者 ~/.bash_aliases文件,添加如下代码: alias python=python3 然后运行 source ~/.bash_aliases #或者 #source ~/.bashrc 再检查一下版本: $ python --version Python 2.7.6 $ python3 --version Python 3.4.3 $ alias python=python3 $ python --version Python 3.4.3 想要取消就用: $ unalias python $ python --version Python 2.7.6   本文:Python: 转换Pyth… Read More

PHP: 创建shopify webhook, shopify webhook实例, create shopify webhook, php shopify webhook example

大概有两种方式创建 shopify webhook   第一种是后台创建: Settings -> Notifications -> Webhooks -> create webhook       创建之后有个 signed code 黄色背景部分   第二种是通过 API 或者 APP 创建: 如果你是开发者或者测试者,那么一定有 https://partners.shopify.com/ 账户,创建一个APP后,在 APP ->  App credentials ->  API secret key 。API secret key 就相当于第一种方法的 signed code。 创建后… Read More

Linux: chattr 、lsattr 命令详解, 防止文件被删除, 添加修改文件属性, 禁止删除或只能追加内容

有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。 什么?文件还有隐藏属性?光是那九个权限就快要疯掉了,竟然还有隐藏属性,真是要命~ 但是没办法,就是有文件的隐藏属性存在啊!不过,这些隐藏的属性确实对於系统有很大的帮助的~ 尤其是在系统安… Read More

WordPress: 一键更新所有(WordPress版本,插件,主题,翻译)

首先必须安装WP-CLI sudo curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar # or #sudo curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # php wp-cli.phar --info chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp 创建 update.sh 文件 wp core update wp plugin update --… Read More