发表于: frontend | 作者: | 日期: 2024/4/18 10:04

这个问题我看很多人都遇到过,打开终端没有正常的提示信息,无法输入:

目前我使用的是 HbuilderX 最新版本4.0.8,还是存在这个问题,解决方案是自行修改终端插件的代码,找到C:\node\HBuilderX\plugins\builtincef3terminal\script\main.js,将其中的 powershell.exe 修改为绝对路径即可:

powershell.exe 的绝对路径:C:/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe

其实更好的解决方案是在设置中增加一个配置 powershell.exe 的设置项,类似 intellij Idea 中的配置:

这个就需要等官方更新了。

评论关闭
发表于: lnmp | 作者: | 日期: 2024/3/29 05:03
标签:

手头有个比较老的 fastadmin 项目,启动的时候因为偷懒,直接把 vendor 目录和 thinkphp 目录都提交到了 git 仓库中,这样部署的时候可以将全量代码同步到 web 目录即可。一般情况下,第三方库无需放到版本库中,就像 node 项目无需把 node_modules 目录放到版本库,python 项目无需把 venv 目录放入版本库一样。

于是决定优化一下:

1、首先将 vendor 和 thinkphp 目录从仓库中删除:

git rm -r --cached ./thinkphp
git rm -r --chached ./vendor
git add .
git commit -a -m '从版本库中删除vendor和thinkphp'
git push

参数说明:

--cached :表示从暂存区中删除,如果不加--cahced 参考,表示从工作区和暂存区同时删除该文件/文件夹;

-r :用于递归删除目录中的文件及子目录;

2、然后将 composer install 添加到部署脚本中即可。

评论关闭
发表于: python | 作者: | 日期: 2022/8/18 05:08
标签:

临时指定镜像源

通过参数 -i 指定镜像源,适合临时使用一下,以安装PyMySQL为例,命令如下:

阿里云
pip install -i https://mirrors.aliyun.com/pypi/simple/ PyMySQL
清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyMySQL

在Windows中设置镜像源

可以直接在 C:\Users\用户名\AppData\Roaming\pip 目录中创建文件pip.ini,然后输入以下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

或者直接通过以下命令设置也可以:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
输出:
Writing to C:\Users\用户名\AppData\Roaming\pip\pip.ini

在deepin中设置镜像源

deepin系统中pip配置文件路径是:/home/用户名/.config/pip/pip.conf,文件内容同上,也可以使用pip config 命令配置。

评论关闭
发表于: os/software | 作者: | 日期: 2022/7/27 06:07
标签:

开始菜单=》选择要开机启动的程序点击右键=》选择开机自动启动即可:

评论关闭
发表于: lnmp | 作者: | 日期: 2022/7/05 04:07
标签:

php文件在执行过程中,可能会遇到“No input file specified”的错误信息,从字面来看,是没有找到输入文件的意思,而背后真正的原因可能会各不相同,总结一下我曾经遇到的一些情况。

一、php文件确实不存在

比如,webroot下没有名为a.php的文件,然后访问以下路径:http://localhost/a.php 。

如果以命令行方式运行一个不存在的php文件,会收到类似的错误信息:

PS C:\dev\php\code\core> php a.php
Could not open input file: aa.php

二、文件属主造成的没有执行权限问题

一般在linux桌面开发的时候会遇到这个问题,php以www用户运行,php项目检出之后的权限为:darkmi:darkmi,此时php文件是没有执行权限的。解决方案是,把当前用户的附加组增加www,命令如下:

usermod -a -G www darkmi

三、php配置造成的没有执行权限问题

在php.ini和user.ini中有个配置项为open_basedir,该配置项会限制php对本地文件系统的访问,即把所有的文件操作都限制指定的目录下。如果open_basedir指定的目录没有当前的项目目录,就会出现No input file specified的错误。

.user.ini 知识点补充

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。

除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER [‘DOCUMENT_ROOT’] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置可被识别。

https://segmentfault.com/a/1190000011552335


评论关闭
发表于: java/j2ee | 作者: | 日期: 2022/6/28 03:06
标签:

问题描述

最近为我司系统接入某第三方服务,假设该第三方服务为W系统,使用https协议对外提供接口,访问W系统接口的时候,收到如下错误:

org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://open.wwww.com/api/device/status": Received fatal alert: protocol_version; nested exception is javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:746)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:672)

根据日志提示,可猜测为SSL协议版本问题造成的异常。

问题分析

首先查看一下W系统支持的SSL协议版本

方法一:通过myssl.com网站

输出如下:

可知,W系统仅支持TLSv1.2。

以上工具地址为:SSL/TLS安全评估报告 (myssl.com)

More …
评论关闭
发表于: mac/iphone/ipad/android | 作者: | 日期: 2020/4/04 11:04
标签:

macOS更新到 Catalina 10.15.4之后,原来显示隐藏文件的快捷键:Command + Shift + . 失效了,只能先用shell命令临时处理一下:

显示隐藏文件:

defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder

隐藏隐藏文件:

defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder
评论关闭
发表于: python | 作者: | 日期: 2020/4/03 05:04
标签:

今天在分析nginx日志的时候,发现用户的请求中有如下格式的字符:

\xB6\xF1\xD2\xE2

而大部分用户提交的请求则是如下形式:

%E4%BC%98%E8%A1%A3%E5%BA%93

对于前者,使用以下python代码进行解码:

def decode_query_str():
    str = b'\xB6\xF1\xD2\xE2'
    print("{} ==》 {}".format(str, str.decode('GBK')))

执行结果:

b'\xb6\xf1\xd2\xe2' ==》 恶意

发生这种情况,可能的原因如下:
IE浏览器设置中有一个选项:”以UTF-8 形式发送URL路径”,当该选项有效时,IE将会对特殊字符进行UTF-8编码,同时进行URL编码。如果该选项无效,则使用默认编码”GBK”,并且不进行 URL编码。但是,对于URL后面的参数,则总是不进行编码,相当于UTF-8选项无效。比如: “中文.html?a=中文”, 当UTF-8选项有效时,将发送链接”%e4%b8%ad%e6%96%87.html?a=/x4e/x2d/x65/x87″; 而UTF-8选项无效时,将发送链接”/x4e/x2d/x65/x87.html?a=/x4e/x2d/x65/x87″。 在此注意,不管此选项是否有勾选,后面的参数都没有改变,改变的仅仅是地址。

对于后者,通过urldecode即可得到解码之后的数据,python代码如下:

def str_two():
    str = '恶意'
    print(urllib.parse.quote(str))
    str = '%E6%81%B6%E6%84%8F'
    print(urllib.parse.unquote(str))

评论关闭
发表于: computer | 作者: | 日期: 2020/1/09 08:01
标签:

TPS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出。例如,用户每分钟执行6个事务,TPS为6 / 60s = 0.10 TPS。同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。

利特尔法则 (Little’s law):
该法则由麻省理工大学斯隆商学院(MIT Sloan School of Management)的教授John Little﹐于1961年所提出与证明。它是一个有关提前期与在制品关系的简单数学公式,这一法则为精益生产的改善方向指明了道路。

利特尔法则的公式描述为:

Lead Time(产出时间)= 存货数量×生产节拍

TH(生产效率)= WIP(存货数量)/ CT(周期时间)

P.S: 稍后我们会列出负载模型中利特尔法则的应用公式。

我们通过2个示例来看一下此法则是如何在生产环境中发生作用的。

例1:假定我们所开发的并发服务器,并发的访问速率是:1000客户/分钟,每个客户在该服务器上将花费平均0.5分钟,根据little’s law规则,在任何时刻,服务器将承担1000×0.5=500个客户量的业务处理。假定过了一段时间,由于客户群的增大,并发的访问速率提升为2000客户/分钟。在这样的情况下,我们该如何改进我们系统的性能? 根据little’s law规则,有两种方案:

第一:提高服务器并发处理的业务量,即提高到2000×0.5=1000。 或者
第二:减少服务器平均处理客户请求的时间,即减少到:2000×0.25=500。

例2:假设你排队参观某个风景点,该风景点固定的容纳人数是:60人。每个人在该风景点停留的平均时间是:3分钟。假设在你的前面还排有20个人,问:你估计你大概等多少时间才能进入该风景点。
答案:1小时(3×20=60),和该景点固定的容纳人数无关。

为了通过利特尔法则研究负载模型,我们就先要了解两个因子:响应时间(Response time)和节拍(Pacing)。实际上节拍会超越响应时间对TPS的影响。

示例1:节拍0秒,思考时间0秒
用户执行5个事务并且每个事务的响应时间是10秒,需要花费50秒完成5个事务,即5/50=0.1 TPS (这里TPS是由响应时间控制)。

示例2:速率15秒,思考时间0秒
用户执行5个事务且每个事务的响应时间是10秒,但实际由于节拍大于响应时间,所以它优于响应时间控制了事务发生的频率。完成5个事务需要5*15 = 75秒,产生5/75=0.06667 TPS。

在第二个示例中,平均响应时间小于节拍15秒,需要75秒完成5个迭代,产生了0.06667 TPS。

上面两个例子中我们假设思考时间为0秒。如果思考时间为2秒,总时间仍是75秒完成5个迭代,产生0.06667 TPS。

节拍为0秒,则 用户数 = TPS * ( 响应时间 + 思考时间 )
节拍不为0秒且大于响应时间与思考时间的和,则 用户数 = TPS * (速率)

事实上TPS是事务在w.r.t时间的速率,所以也被称为吞吐量(throughput)。

所以利特尔法则在负载模型中解释为:系统内平均用户数 = 平均响应时间 * 吞吐量

N = ( R + Z ) * X
N, 用户数
R, 平均响应时间(也可能是速率)
Z, 思考时间
X, 吞吐量(如TPS)

如:N (用户数)=1500, R (平均响应时间)=10, Z (思考时间)=0,则X (吞吐量)=1500/10=150 TPS

来源:http://www.cnblogs.com/richardcuick/p/6384122.html

其他参考:
http://www.ha97.com/5095.html

评论关闭
发表于: python | 作者: | 日期: 2020/1/09 06:01
标签:

w3lib 在pypi网站上的版本为1.21.0
https://pypi.org/project/w3lib/

使用以下命令安装之后:

pip install w3lib

发现安装的版本为:

w3lib==1.19.0

通过以下命令可以查看到是可以升级的:

pip list --outdated

所以指定版本号来安装一下:

pip install w3lib==1.21.0
Collecting w3lib==1.21.0
Using cached https://files.pythonhosted.org/packages/6a/45/1ba17c50a0bb16bd950c9c2b92ec60d40c8ebda9f3371ae4230c437120b6/w3lib-1.21.0-py2.py3-none-any.whl
Requirement already satisfied: six>=1.4.1 in d:\python\python36\lib\site-packages (from w3lib==1.21.0) (1.11.0)
ERROR: scrapy 1.5.1 requires Twisted>=13.1.0, which is not installed.
Installing collected packages: w3lib
Found existing installation: w3lib 1.19.0
Uninstalling w3lib-1.19.0:
Successfully uninstalled w3lib-1.19.0
Successfully installed w3lib-1.21.0

w3lib的官方主页:
https://github.com/scrapy/w3lib

w3lib的文档地址:
https://w3lib.readthedocs.io/en/latest/

评论关闭