1、进入容器docker exec -it php /bin/bash
2、查看php当前模块php -m
3、安装依赖包apt-get install libwebp-dev libjpeg-dev libpng-dev zlib1g-dev libfreetype6-dev libjpeg62-turbo-dev
4、添加GD库编译选项docker-php-ext-configure gd --with-jpeg-dir=/usr/include/
5、安装gd、exif模块docker-php-ext-install gd
6、安装exif模块docker-php-ext-install exif
7、重启容器exit
docker restart php
docker restart nginx
8、查看phpinfo
出现gd模块,并且有:
JPEG Support:enabled
libJPEG Version:6b
作为一款网红编程语言,Go语言还十分年轻,很多程序员无法及时了解到Go语言的框架、库和软件应用。近日,Github用户avelino分享了一张非常完整且庞大的表单,包括命令行、数据库、Web框架、机器学习、自然语言处理......以下是部分内容截取,感谢avelino的分享。
标准CLI
用于构建标准或基本命令行应用程序的库。
高级控制台UI
用于构建控制台应用程序和控制台用户界面的库。
$ strace -p 7 ptrace(PTRACE_ATTACH, ...): Operation not permitted //报错信息
I would like to add that I needed --security-opt apparmor=unconfined along with the options that @wisbucky mentioned. This was on Ubuntu 18.04 (both Docker client and host). Therefore, the full invocation for enabling gdb debugging within a container is:
docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --security-opt apparmor=unconfined
摘自 How to solve “ptrace operation not permitted” when trying to attach GDB to a process?
The solution for enabling of ptrace and PTRACE_ATTACH in Docker Containers
自从微软在 Windows 10 v1809 中正式引入 Windows Subsystem for Linux (WSL)之后,我们终于可以以非虚拟机的形式在 Windows 上使用 Linux。同样也进一步地扩展了 Windows 10 的生产力优势,使得在 Windows 10 直接针对 Linux 环境进行项目开发也成为可能。
关联阅读:不用装双系统,直接在 Windows 上体验 Linux:WSL
虽说目前的 WSL 在 Windows 10 生态中已经越发成熟,但在实际使用中依旧存在一些不足之处,比如目前 WSL 的 Linux 发行版必须通过 Windows Store 或者旁加载安装包的形式安装到系统中。另外市面上 WSL 发行版也只有寥寥几款,且 WSL 只能默认安装到系统盘中,如果原本系统盘容量较小,就很容易造成 Windows 的系统盘空间不足。再加上羸弱的 WSL 官方命令行管理工具,实际使用起来也非常不方便。显然如果想要在 Windows 10 上让 WSL 可能还真的需要一些「新手段」。
这个新手段就是 WSL 的第三方工具 LxRunOffline,这个由国人开发的 WSL 工具可以弥补 WSL 官方工具的不足,比如说他可以实现将任何发行版的 Linux 以 WSL 形式安装到 Windows 10 中,增强 WSL 发行版管理功能,甚至可以实现 WSL 系统备份和恢复,这样无论是学习 Linux 还是进行开发工作都要比以往操作更为方便。
LxRunOffline 与其说是软件,实际上只有两个文件,安装方式可以使用类似 choco 或者 scoop 这样的 Windows 包管理系统进行安装:
scoop 安装:
scoop bucket add extras
scoop install lxrunoffline
choco 安装
choco install lxrunoffline
当然最为简单的安装办法则是直接在其 GitHub 上下载安装,文件下载并解压缩之后,直接拷贝到 C:\Windows\System32
即可,如果需要未来可以通过右键菜单功能执行某些功能操作,则需要以管理员权限打开终端,再执行regsvr32 LxRunOfflineShellExt.dll
,完成功能注册。
LxRunOffline 同样
1:提示找不到gdbm.h
头文件
/alidata/QConf/agent/qconf_dump.cc:1:18: fatal error: gdbm.h: No such file or directory compilation terminated. agent/CMakeFiles/qconf_agent.dir/build.make:206: recipe for target 'agent/CMakeFiles/qconf_agent.dir/qconf_dump.cc.o' failed make[2]: *** [agent/CMakeFiles/qconf_agent.dir/qconf_dump.cc.o] Error 1 CMakeFiles/Makefile2:85: recipe for target 'agent/CMakeFiles/qconf_agent.dir/all' failed make[1]: *** [agent/CMakeFiles/qconf_agent.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2
解决方法:
安装一个gdbm库 $ apt install libgdbm-dev
2 invalid conversion from ‘const char*’ to ‘char*’
QConf/agent/qconf_dump.cc:63:50: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] _qconf_dbf = gdbm_open(_qconf_dump_file.c_str(), 0, flags, mode, NULL); ^ In file included from /root/QConf/agent/qconf_dump.cc:1:0: /usr/include/gdbm.h:85:18: note: initializing argument 1 of ‘<anonymou
即然是 CentOS 那如果不能运行 service systemctl 那不是等于是残了嘛.
在Windows下能安装linux子系统 CentOS 7 感觉挺好的, 心里暗爽, 然就开始折腾了.
安装 PostgreSQL 配置完了以后就准备 service postgresql start 的时候就提示了错误:
Failed to get D-Bus connection Operation not permitted
查了一下,意思就是 wsl 并不支持。不过 github 上有人解决了这个问题, 这里
大概就是这样:使用Python脚本替换了systemctl 传送门
mv /usr/bin/systemctl /usr/bin/systemctl.old curl https://github.com/gdraheim/docker-systemctl-replacement/blob/master/files/docker/systemctl.py > /usr/bin/systemctl chmod +x /usr/bin/systemctl
1. 打开 WSL,没啥好说的
使用管理员权限打开 powershell,执行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
或者在程序和功能选中 WSL。
2. 下载 Centos 7 的docker 镜像
可以参考 https://github.com/RoliSoft/WSL-Distribution-Switcher 来下载。
或者直接下载 下面的链接给出的镜像。
https://raw.githubusercontent.com/CentOS/sig-cloud-instance-images/a77b36c6c55559b0db5bf9e74e61d32ea709a179/docker/centos-7-docker.tar.xz
3. 安装 chocolatey
参考 :https://chocolatey.org/install
使用管理员权限打开 powershell,执行
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
4. 安装LxRunOffline
choco install lxrunoffline
5. 使用 LxRunOffline 部署 Centos 到WSL
其中 -d 后面是要安装到的目录,-f 是前面下载的镜像, -n 用来指定名称。
然后使用 LxRunOffine 来开启 Centos
LxRunOffline run -n centos
当然,如果你只安装了这一个WSL,那直接输入bash 也可以进行WSL.
百度盘下载地址:
编辑导读:亚马逊作为一个知名的电商平台,它的成功背后却有一个很难让人理解的设计逻辑:成功的设计不一定是美观的。为什么会这么说呢?本文将从四个维度展开分析,希望对你有帮助。
亚马逊的成功,印证了一个非常简单、但有时让人难以接受的原则:成功的设计不一定是美观的(Successful design is not necessarily beautiful.)。
亚马逊(Amazon.com)无疑是数字化商业转型中最重要的力量。据估计,44%的在线销售额是在亚马逊上完成的,超过三分之一的美国人是亚马逊的 Prime 会员。该公司去年的收入达到 56 亿美元。95% 现有的 Prime 会员表示,他们“肯定”或“很可能”再次续订会员服务。然而,很少有人认为“设计”对公司的成功起到了作用。如果你读过亚马逊著名的领导力原则,你会发现只有两种:“顾客至上(Customer Obsession)”和“创造与简化(Invent and Simplify)”,它们与设计开发产品和服务的方式相关,根本没有明确地谈论设计。
从美学的角度来看,简单(simple)和美观(beautiful)是我们期望优秀的设计要体现出的两个特征,而亚马逊的网站既不简单也不美观。相反,它侧重于体验、过程和功能的简化。对于许多设计师来说,这种复杂的视觉体验能够取得成功,有些令人困惑。那么,应该如何看待并理解亚马逊超出美学范畴的设计方法论呢?
亚马逊的设计之所以成功,是因为它利用了所有优秀的购物体验需要的四个关键原则——无论是线上还是线下,奢侈还是廉价。在他们的心中,优秀的购物体验是:
01 透明的(TRANSPARENT)
优秀的购物体验使定价和购买过程清晰易懂。
乍看上去,亚马逊的购物体验似乎不是很透明。考虑到它的动态定价模式:类似于Uber(滴滴)的动态定价,或者是让旅行者头疼的机票和酒店动态定价。亚马逊一直因为缺乏透明度而受到批评,甚至被罚款。虽然消费者不喜欢动态定价,但是他们也会自己去调查,货比三家,确保买的最划算;而且动态价格并不是亚马逊独有的。
为什么用户会给亚马逊动态定价的机会呢?一个可能的原因是,亚马逊通过其Prime 会员服务,解决了网上购物的两个主要障碍:消除了隐性运输成本,以及认为“网上购物比零售购物慢”的看法。Prime 的成功源于其易理解的心智模型设计:支付一次年费,可以享受包邮和两天到货(另外还可以免
编辑导语:风控模型的应用场景非常广泛,只要牵扯互联网金融的行业就少不了风控,风控模型建好后还要映射到信用分数空间,才能呈现给用户;本文作者分享了详细的建模方法,教你如何建立模型分数,我们一起来看一下。
目前在个人信用风控建模领域主要使用的模型有两种:
这两种建模方法无论哪种都需要将模型结果映射到信用分数空间,最终呈现给用户一个能够表征信用的分数,比如国内的芝麻分、美国的FICO分。
那么问题来了,模型结果和分数同样都是数值,为什么不直接呈现模型结果?为什么还要进一步转化为分数?为什么使用分数校准?
本文的目的就是要让你知其然也知其所以然。
深入到业务中,带你一步步搞懂分数映射产生的背景以及分数校准背后的业务需求;在了解了业务之后,你就会发现分数的意义和映射方法的内在逻辑。
先从最简单的情况入手,假设我们现在成立了一家小信贷公司,推出一款借贷产品,详情如下:
(该产品数值仅作示意,不代表真实情况)
此时我们要解决的第一个问题是:如何让这款产品盈利?
信贷业务能够盈利的关键是还款人的利息能够覆盖坏账损失(不能收回的各种应收款项)。
也就是说要尽可能的把钱借给信用良好、按时还款的用户以保证产品盈利。
在产品参数确定后,逾期率是保证产品盈利的唯一影响因素。
这里要提一下关键的一点:如何定义逾期率?
在信贷领域通常逾期超过60天的用户基本上就不会再还钱了,自然的我们就可以通过逾期超过60天的比例来衡量用户的好坏程度。
在机器学习建模时,有时为了增加坏账样本的数量,也会将逾期超过30天的比例定义为逾期率。
根据信贷业务盈利的逻辑,我们可以得到下面这个盈亏平衡的公式:
其中:
举个简单的例子,若从渠道购买流量,购买金额除以该渠道的新客户数量就是该渠道的新客成本。
再比如举办拉新奖励
编辑导语:风控模型的应用场景非常广泛,只要牵扯互联网金融的行业就少不了风控,风控模型建好后还要映射到信用分数空间,才能呈现给用户;本文作者分享了详细的建模方法,教你如何建立模型分数,我们一起来看一下。
承接上文《》本文开头告诉大家怎样更合理的向客户展示信用评估结果。把模型预测值映射到一个分数区间,比如350~950,分数越高信用越好。
很自然的我们就走到了这个最佳选择,至于分数为什么定义在这个区间,我个人理解一是为了跟国际上主流的个人信用评分区间接轨;二是为了拉开用户之间的分数差距。
4. 如何映射分数
最简单最容易想到的是采用尺度变化,将模型预测结果线性的映射到350~950,然后找到cutoff 对应的分数X,告诉用户分数高于X就可以拿到贷款。
等一下!如果过段时间模型更换了怎么办?
模型换了,cutoff随之变化,分数X也跟着变了。这时就会有一部分用户疯狂的呼叫客服问“为啥我的评分变高了,反而不能贷款?”
同时每次更换模型,后台、前端都需要进行相应的逻辑、页面修改,每次模型发布需要多个环节协作完成,是一种高耦合的工作方式。
于是你赶紧召集团队成员讨论解决方案,有人提出一个又简单又好用的方案:分段尺度变换,将cutoff 固定为 680分(本文假定的)然后分成两段作尺度变换。
总结分段尺度变换的优点:
模型切换用户无感。无论模型的cutoff如何调整,用户感知不到差别,只要分数超过680都可以成功申请到贷款;解耦了模型团队与开发团队。也就是说当模型人员校准好评分后,后台开发只需要设定680分通过,从此以后无论模型人员怎么更换模型,后台开发都不用再重新修改代码。“`pythonpredict_desc = table.describe[‘predict’]# 这里用几倍标准差确定上下界根据经验设定,是为了避免outlier值使得分数过于集中在某个范围upper = min(predict_desc[‘mean’] + 5 * predict_desc[‘std’], 1)lower = max(predict_desc[‘mean’] – 3 * predict_desc[‘std’], 0)def get_score_linear(predict, upper, lower, cutoff):“””将模型打分结果尺度变换到350~950的分数区间:param predict: fl