MAMP安装后无法开启的问题

安装完后可以使用。不过下午更新了下电脑就又无法启动了。

这是因为mac更新系统后将原有的mamp启动项给删除了,导致mamp软件无法正常打开。

可以使用命令行解决

sudo launchctl load -w /Library/LaunchDaemons/de.appsolute.mampprohelper.plist
2024/07/15 14:48 下午 posted in  后端技术

Centos下管理Python多环境

在 CentOS 系统上管理多个 Python 版本,通常有几种方法可以选择:

Read more   2023/12/29 15:11 下午 posted in  Python

Go 跨平台编译

默认我们go build的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件,那需要怎么做呢?

Read more   2020/09/05 12:51 下午 posted in  Go

匹配中国人姓名(可以比检测少数名族的姓名带"·"那种)

最近系统需要校验少数名族姓名(就是少数名族带·的)

Read more   2020/06/11 10:50 上午 posted in  PHP PHP代码段

MAC 如何卸载 Python

Mac 自带的 Python 已经能够满足我们的需要了,因此很多同学在安装完 Python 之后,又想要将其删除,或者称之为卸载。对于删除 Python,我们首先要知道其具体都安装了什么,实际上,在安装 Python 时,其自动生成:

  • Python framework,即 Python 框架;
  • Python 应用目录;
  • 指向 Python 的连接。
Read more   2020/05/11 15:17 下午 posted in  Python

Mac MAMP安装libsodium扩展

微信支付新的v3版本的接口中加密方式改用了AES-GCM加密算法,在php7.1以上是默认自带的,php7.1以下的就需要安装libsodium-php扩展,这里我们来讲libsodium-php扩展的安装。

Read more   2019/08/28 09:55 上午 posted in  碎碎嘴 PHP

Mac上Django2安装mysqlclient失败 解决方案

今天安装了一下午的mysqlclient一直失败,直到晚上,现在把处理的流程记录一下。

Read more   2019/07/18 22:28 下午 posted in  Python Django

调用iconv和mb_convert_encoding会显示乱码或空白

比如“珺”字在单纯的调用iconv 和mb_convert_encoding会显示乱码或空白,解决办法:

$name = iconv("utf-8","gbk//IGNORE",$str);
2019/07/16 15:11 下午 posted in  PHP PHP代码段

PHP关于SSH和SFTP相关方法

php支持ssh和sftp推送,原生不支持,需要装pecl的ssh2扩展。

  1. 扩展安装:
  2. SSH使用:
extension_loaded('ssh2') #检查是否安装ssh2扩展模块
$conn = ssh2_connect(IP, PORT) #连接远程服务器,看是否网络通,返回连接资源
ssh2_auth_password($conn, $username, $password) #通过账号密码认证登陆远程远程服务
$ssh2_sft = ssh2_sftp($conn);# 获取sftp连接资源
ssh2_sftp_mkdir($ssh2_sftp, $path, 0777, true)#创建远程目录
ssh2_scp_send($conn, $localfile, $filename, 0777)#上传文件

在一些特殊情况下,比如在内网,外网主机被映射为内网一个内网ip时,ssh2_scp_send可能推送不出文件,并且还会一直发送,长时间不会返回上传状态,这个时候需要用使用sftp方式推送

2019/07/16 15:08 下午 posted in  PHP PHP代码段

PHP代码 ping 域名

在PHP代码中做ping

// ping 域名
function pingAddress($address,$proxy=false) {
    $status = -1;
        if (strcasecmp(PHP_OS, 'WINNT') === 0) {
            // Windows 服务器下
            $pingresult = exec("ping -n 1 {$address}", $outcome, $status);
        } elseif (strcasecmp(PHP_OS, 'Linux') === 0) {
            // Linux 服务器下
            $pingresult = exec("ping -c 1 {$address}", $outcome, $status);
        }elseif (strcasecmp(PHP_OS, 'Darwin') === 0){
            // MacOS 下
            $pingresult = exec("ping -c 1 {$address}", $outcome, $status);
        }
        if (0 == $status) {
            $status = true;
        } else {
            $status = false;
        }
    return $status;
}
2019/06/19 15:58 下午 posted in  PHP PHP代码段

命令迁移模块

生成requirements.txt文件 保存当前环境所依赖的类库

pip freeze >requirements.txt
2019/02/15 08:15 上午 posted in  Python

更新anaconda及所有包

##################################
更新conda
conda update -n base -c defaults conda

更新 anaconda
conda update anaconda

更新所有包:注意是两个横线“-”
conda update --all
##################################

# 添加清华源
# 执行以下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

##################################
2019/02/14 09:03 上午 posted in  Python

Swift编程入门(13)枚举

你已经见过Swift提供的所有内建类型了,比如整数、字符串、数组和字典等。下面几章会展示这门语言创建自定义类型的能力。本章关注的重点是枚举(enumeration或者enum)。枚举能让你创建属于明确定义的几种情形之一的实例。

Read more   2019/01/17 12:28 下午 posted in  Swift入门

Swift编程入门(12)闭包

闭包(closure)是在应用中完成特定任务的互相分离的功能组。上一章学习的函数是闭包的
特殊情况,可以把函数理解为有名字的闭包。

Read more   2019/01/09 21:00 下午 posted in  Swift入门

Swift编程入门(11)函数

函数(function)是一组有名字的代码,用来完成某个特定的任务。函数的名字描述了其执行的任务。前面已经用过一些函数,比如Swift提供的print(),以及我们所写代码创建的其他函数。
函数会执行代码。有些函数会定义参数,用来传递数据以帮助函数完成工作。有些函数在完成工作后会返回一些信息。可以把函数理解为一部小机器,打开后,它就开始运转并完成自己的工作。如果它的工作方式需要数据的话,就要给它传入数据,然后它会返回一块新数据作为工作成果。

Read more   2018/12/26 09:08 上午 posted in  Swift入门

Swift编程入门(10)集合

Swift提供的第三种容器类型是集合(set)。集合是一组互不相同的实例的无序组合。这个定义将其与数组区别开来,后者是有序的,并且可以容纳重复的值。

Read more   2018/12/20 21:18 下午 posted in  Swift入门

Swift编程入门(9)字典

当容器中的元素顺序很重要时,Array类型很有用。
然而顺序不总是很重要。有时候我们只是想在容器中持有一组数据,并在需要时获取信息。这就是字典(dictionary)的使用场景。
Dictionary使用键值对(key-value pair)组织其内容的容器类型。字典的键映射到值。
Dictionary中的键必须是唯一的。这个要求意味着每个键都唯一地映射到对应的值。

Read more   2018/12/20 21:07 下午 posted in  Swift入门

Swift编程入门(8)数组

编程中的一个重要任务是把逻辑相关的一组值放在一起。比如,想象你的应用要保存用户的好友列表、最爱的图书、旅行地点等。通常有必要具备将这些值放在一起并在代码中传递的能力。容器类型让这些操作变得方便。
Swift有一组容器类型,首先介绍的是数组(array)。
数组是值的有序集合。数组的每个位置都用索引标记,任何值都可以在数组中出现多次。数组通常用于值的顺序很重要或者很有用的场合,但是值的顺序是否有意义并不是先决条件。

Read more   2018/12/19 23:13 下午 posted in  Swift入门

Swift编程入门(7)可空类型

可空类型(optional)是Swift的独特特性,用来指定某个实例可能没有值。看到可空类型时,你会知道该实例一定:要么有值并且已经可用,要么没有值。如果一个实例没有值,就称其为nil。
任何类型都可以用可空类型来说明一个实例可能是nil。这个特性将Swift和Objective-C区分开来,后者只允许对象是nil。

Read more   2018/12/15 15:39 下午 posted in  Swift入门

Swift编程入门(6)字符串

在编程过程中,文本内容是用字符串表示的。你已经见到并用过字符串。比如,"Hello, playground"是一个字符串。跟所有字符串一样,可以认为它是字符的有序集合。实际上,Swift字符串本身并不是集合,但是其底层内容确实以集合形式存在,而字符串类型提供了多种视角来一窥究竟。

Read more   2018/12/13 19:53 下午 posted in  Swift入门