好久好久没有写过东西了,最近说事很多其实也不是很多,反正还是一堆杂事,然后加上贪玩,恶补了几部动漫。
Mac配置sshd
修改sshd_config文件把password验证方式打开
修改这个文件要用sudo
PasswordAuthentication yes
1 | sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key |
Mac配置PHP7环境
在Mac下面本来就安装有Apache2和PHP5.5.3
这里为了配置更新的环境就稍微折腾了一下,主要配置的就是MySQL和PHP,Apache就使用自带的就行。
配置MySQL:
MySQL在MySQL的官网上直接下载dmg包之后安转就行了。
这里Mac版本的MySQL下载地址是
下载之后在安装完成以后注意他会提示有一个默认的密码,一定要给记下来,一会改密码用的上。
再安装完成了,打开偏好设置,最下面有一个MySQL的控制面板,在里面开启MySQL
然后在终端中修改MySQL的密码
1 | ln -s /usr/local/mysql/bin/mysql /usr/local/bin |
配置PHP7环境
添加PHP7的源
1 | brew tap homebrew/dupes |
需要等待比较久的时间,因为是直接去官方下载。
配置Apache
直接vim Apache的配置文件,记得使用sudo,否则没权限写入。
当然不用sudo也可以,在修改完成以后执行 :w !sudo tee %
然后就可以使用管理员权限写入了。
然后打开Apache的配置文件主要得目的就是修改DocumentRoot和PHP模块文件
1 | sudo vim /etc/apache2/httpd.conf |
找到DocumentRoot改成你想要的目录,但是这个目录必须要有权限,一般给个777绝对ok
并且找到下面的地方,把PHP5的模块改成下面的内容:
1 | #Enable PHP 7 module |
关于PHP的回调函数
- 普通函数的定义及调用与js相似,这个定义方式无需返回值,哪怕是有返回值在声明的时候也无需添加
- 再后来的PHP版本中是添加了一向很有用的功能就是可在函数定义之前进行调用
1 | echo add(1,2); |
- 下面是一个非常有用的功能就是变量函数,顾名思义就是将函数作为一个变量。
- 其优点在于用同一个变量可以调用不同的函数,非常类似于函数的多态调用。
1 | $var="add"; |
回调函数就是在给一个函数传入一个简单的参数无法解决问题的时候给他传入一个过程,从而达到目的
在函数调用时给他传入一个函数作为参数就是函数回调。
1
2
3$arr=array(2,3,5,4,1,6,7,9,8);
var_dump($arr);
echo "</br>";1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16//这里是自定义回调函数,返回-1是指将两个元素交换,0和1是不发生改变。
function myrule($a,$b){
if ($a>$b){
return 1;
}
elseif ($a<$b){
return -1;
}
else{
return 0;
}
}
//usort就是系统函数,但是他的第二个参数是回调函数,这个函数参数就是排序规则
usort($arr,"myrule");
var_dump($arr);
echo "</br>";
- 自己写回调函数,使用变量函数以及回调完成一个简单的过滤条件,如果需多个条件同时满足给一个&&关系即可。
- 其中使用的变量函数可以使用系统中的一个叫做call_user_func_array()的函数进行调用,他有两个参数分别是回调函数名称,以及参数数组
- call_user_func_array(“demo”,array(1,3));其优点在于array中的参数的数量可以比原函数的少,既有默认缺省参数的时候。
1 | //rule1除去数组中是三的倍数的数 |
注意在调用对象里面的方法时我们需要传入一个匿名对象,后面指定函数名
而在调用类中的静态方法时只需指定类名即可。
以上两种情况都不能完全使用变量函数只能用系统的回调call_user_func_array(),只是变量函数来传参而不调用
1 | class A{ |
Mac安装包版本的Python
- 安装配置Python版本管理器pyenv
brew install pyenv
- 查看已经安装了哪些版本的Python
pyenv versions
其中版本号前面有*号的就是当前生效的版本,查看当前生效的版本也可以用
pyenv version
- 安装指定版本的Python
pyenv install 3.7-dev
安装完成后必须rehash
pyenv rehash
- 切换和使用指定的版本Python版本有3种方法
系统全局用系统默认的Python比较好,不建议直接对其操作
pyenv global system
用local进行指定版本切换,一般开发环境使用。
pyenv local 2.7.10
对当前用户的临时设定Python版本,退出后失效
pyenv shell 3.7-dev
取消某版本切换
pyenv local 3.5.0 –unset
优先级关系:shell——local——global
另外最重要的一点,当执行了pyenv shell/local/global 命令后,一定要执行 source ~/.zshrc ,不然切换版本就不会生效。
最后执行
1 | ➜ ~ pyenv versions |
两个 python 的虚拟管理工具
两个 python 的虚拟管理工具
virtualenv
安装 virtualenv
1 | sudo apt-get install python-virtualenv |
创建 env
1 | virtualenv ENV |
启动 env
1 | cd ENV |
退出虚拟环境
1 | deactivate |
virtualenv 的加强版 virtualenvwrapper
优点:
- 将所有虚拟环境整合在一个目录下
- 管理(新增,删除,复制)虚拟环境
- 切换虚拟环境
安装:
1 | sudo easy_install virtualenvwrapper |
此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。
创建目录用来存放虚拟环境
1 | mkdir $HOME/.virtualenvs |
配置脚本文件
在 bashrc 文件中进行如下操作
1 | export WORKON_HOME=$HOME/.virtualenvs |
workon/lsvirtualenv
1 | 2. 新建虚拟环境 |
mkvirtualenv [虚拟环境名称]
1 | 3. 启动/切换虚拟环 |
workon [虚拟环境名称]
1 | 4. 删除虚拟环境 |
rmvirtualenv [虚拟环境名称]
1 | 5. 离开虚拟环境 |
deactivate
1 |
打造酷炫终端
1.安装iTerm2
iTerm2官方下载地址 http://www.iterm2.com/downloads.html
2.安装Oh My Bash
1.使用brew安装zsh:
1 | brew install zsh |