阿里云新用户优惠

软考中级|软件设计师笔记

一、计算机组成原理与体系结构基础知识 1. 数据的表示 二进制是Binary,简写为B 八进制是Octal,简写为O 十进制为Decimal,简写为D 十六进制为Hexadecimal,简写为H Ⅰ、进制的转换: 任意进制$\to$十进制 二进制:$10010010.110 = 1*{2^7} + 1*{2^4} + 1*{2^1} + 1*{2^{-1}} + 1*{2^{-2}} = 146.75$ 八进制:$251.5 = 2*{8^2} + 5*{8^1} + 1*{8^0} + 5*{8^{-1}} = 168.625$ 十六进制:$AE86.1 = 10*{16^3} + 14*{16^2} + 8*{16^1} + 6*{16^0} + 1*{16^{-1}} = 44678.0625$ 十进制$\to$任意进制 使用短除法 二进制$\leftarrow\to$八进制、十六进制 二进制$\to$八进制 3位一组,每组转换成对应的八进制符号 $\frac {001}{1} \frac {111}{7} \frac{000}{0} \frac{010}{2} . \frac{011}{3} \frac{010}{2} = 1 7 0 2 . 3 2 $ 八进制$\to$二进制

阅读更多...

阿里云新用户优惠

python多版本环境搭建与安装opencv-python

Anaconda的使用 conda --version 查看版本信息 conda update conda 更新conda至最新版本 conda -h 查看conda帮助信息 conda create --name <env_name> <package_names> 创建新环境 <env_name> 即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>”。 <package_names> 即安装在环境中的包名。名称两边不加尖括号“<>”。 如果要安装指定的版本号,则只需要在包名后面以 = 和版本号的形式执行。如: conda create –name python2 python=2.7 ,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。 如果要在新创建的环境中创建多个包,则直接在 <package_names> 后以空格隔开,添加多个包名即可。如: conda create -n python3 python=3.5 numpy pandas ,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。 –name 同样可以替换为 -n 。 提示:默认情况下,新创建的环境将会被保存在 /Users/<user_name>/anaconda3/env 目录下,其中, <user_name> 为当前用户的用户名。 conda env list 显示已创建环境 conda create --name <new_env_name> --clone <copied_env_name> 复制环境 conda remove --name <env_name> --all 删除环境 conda activate <env_name> 切换环境 在windows环境下,切换命令需在cmd模式下有效。

阅读更多...

阿里云新用户优惠

php+xdebug+vscode断点调试设置

步骤1:查看PHP版本 通过phpinfo()查看版本 通过红色标记处,确定xdebug的版本 步骤2:下载debug文件 xdebug下载地址 步骤3:vscode安装php debug 插件 打开vscode,安装PHP_Debug插件 步骤4:配置php.ini 打开php.ini,在文档尾部写入以下配置,Xdebug 3与之前2的配置参数不一样,请留意。 此处为xdebug3 [Xdebug] zend_extension=php_xdebug-3.0.4-7.3-vc15-nts-x86_64.dll; xdebug.mode=trace; xdebug.start_with_request=yes; xdebug.mode=debug; xdebug.remote_handler = "dbgp"; xdebug.client_port = "9003"; 端口号,与vscode配置保持一致 xdebug.client_host = "127.0.0.1"; 远程调试的ip地址,即你自己的本机ip 此处为xdebug2 [XDebug] zend_extension=php_xdebug.dll xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_port=9003 步骤5:配置vscode 在程序目录下打开vscode,选择 运行和调试,点击 创建 launch.json文件,如果安装有多个环境,会提示,选择 php即可。 选择后会出现默认配置项 步骤6:运行测试 点击 运行和调试 点击 开始调试 打上断点 效果如图 完成。

阅读更多...

阿里云新用户优惠

Laravel composer导入本地包

老项目使用的是laravel5.1,需要升级到laravel8,php也需要同步升级。 原先项目的使用的phpoffice已停止更新且有些特性PHP8不支持,无法直接使用,若使用其他项目包改动比较大。 故需要将此包导入成本地包,然后直接修改不兼容代码。 项目根目录创建文件夹packages,用来放需要本地化的项目代码,例如本次项目路径为:packages/phpoffice/phpexcel 修改根目录下的composer.json配置 "repositories": [ { "type": "path", "url": "packages/phpoffice/phpexcel" } ] 执行composer命令 composer require phpoffice/phpexcel:*@dev

阅读更多...

阿里云新用户优惠

Windows10 WSL Ubuntu 重置root密码

关闭ubuntu窗口 以管理员身份打开Powershell,执行 wsl -u root 执行 passwd root,修改密码即可 重新打开ubuntu看看效果吧

阅读更多...

阿里云新用户优惠

使用hugo快速生成个人博客

Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。hugo中文文档传送门 环境依赖 golang git gitee 仓库 本站模板基于 hugo-icarus-theme 本文基于windows下操作 操作流程 安装Hugo go get -u -v github.com/spf13/hugo windows下的hugo执行文件需要手动生成,在 GOPATH 中 pkg/mod/github.com/sf13/hugo 目录中,执行go build 生成hugo.exe 将hugo.exe移动到 GOPATH 的 bin 目录 将bin目录添加到计算机的环境变量 Path 中,即可直接使用 hugo 命令 在GOPATH的src目录 执行生成站点命令 hugo new site xiyoudaodao 启动服务命令 hugo server -w -w用于动态监听文件修改实时更新页面 可以自己修改模板文件,在layouts目录中对应themes目录结构和文件创建需要修改的目录和文件 执行hugo即生成静态文件 文件目录public,上传到gitee仓库,更新即可 个人博客白嫖完毕

阅读更多...

阿里云新用户优惠

使用Gitee Page创建个人博客

新建仓库 创建仓库时可以选择不开源 仓库界面-服务-Gitee Pages 可以选择静态文件工具来创建博客页面 可以使用Jekyll、Hugo、Hexo 来快捷创建静态网页 上传生成好的html文件到仓库 到 仓库界面-服务-Gitee Pages 页面,选择部署分支、填写 部署目录 (Hugo生成的在/public), 填写后 点击 更新

阅读更多...

阿里云新用户优惠

laravel临时关闭created_at、updated_at的自动更新

laravel临时关闭created_at、updated_at的自动更新。 直接上代码 $user = new User([ 'id' => 1, 'name' => 'xiyoudaodao', 'password' => Hash::make('admin'), 'login' => 'admin' ]); $user->timestamps = false; $nowTimeUnix = time(); $user->created_at = date("Y-m-d H:i:s", $nowTimeUnix + 10); $user->updated_at = date("Y-m-d H:i:s", $nowTimeUnix + 10); $user->save();

阅读更多...

阿里云新用户优惠

golang使用walk编译图形界面-按钮添加图片的一种方式

使用walk制作了一个小程序,程序左上角和菜单栏中想要使用ico图片,让程序好看一点,成品如下图。 前期准备一张ico图标,以下操作均为windows下进行 下载goversioninfo,地址https://github.com/josephspurrier/goversioninfo go get https://github.com/josephspurrier/goversioninfo 下载完成后进入%GOPATH%/src/vendor/github.com/josephspurrier/goversioninfo/cmd编译生成可执行文件 go build -o %GOPATH%\bin\goversioninfo.exe main.go 在环境变量PATH中添加%GOPATH%\bin 复制versioninfo.json到自己的项目目录下,在testdata\example32和testdata\example36目录下有,随便复制一个,并将其中StringFileInfo下的参数修改为自己实际参数,设置IconPath为ico名称,例如 "IconPath": "demo.ico", //ico、main.go、配置文件都在同级目录中 在自己项目的main.go文件顶部增加备注行//go:generate goversioninfo -icon=demo.ico,其中icon文件请修改为自己的文件名称 goversioninfo文档介绍说,执行go generate即可,实际使用发现一直报错,后直接执行generate成功生成resource.syso 最后执行go build执行编译即可,右键查看属性吧

阅读更多...

阿里云新用户优惠

golang编译exe程序设置图标和软件信息

前期准备一张ico图标,以下操作均为windows下进行 以下方法可以生成单文件,引用外部图片未作尝试。 以下列出关键部分代码 func main() { if err := (MainWindow{ AssignTo: &MWindow.MainWindow, Title: "文档统计-小程序 v1.0", MinSize: Size{320, 240}, Size: Size{800, 600}, OnDropFiles: func(files []string) { if len(files) > 0 { go MWindow.isOpenDir(files[0]) } }, MenuItems: []MenuItem{ Menu{ Text: "&操作", Items: []MenuItem{ Action{ AssignTo: &MWindow.openFile, Text: "&选择文件夹", OnTriggered: MWindow.ShowBrowseFolder, }, Separator{}, Action{ Text: "退出", OnTriggered: func() { MWindow.Close() }, }, }, }, Menu{ Text: "&帮助", Items: []MenuItem{ Action{ Text: "关于", OnTriggered: MWindow.

阅读更多...

阿里云新用户优惠

Laravel图片处理包intervention-image的使用

最近偶然发现了Laravel可用的图片处理包intervention-image。 文档地址:http://image.intervention.io 安装起来也很简单。 composer require intervention/image 然后到config/app.php的 $providers中添加 Intervention\Image\ImageServiceProvider::class $aliases中添加 'Image' => Intervention\Image\Facades\Image::class 使用时引入Image的命名空间 use Intervention\Image\Facades\Image; 这样就可以使用Image来方便的处理图片了。 基本操作: $img = Image::make('public/foo.jpg')->resize(300, 200); $img->save('public/bar.png'); save()也可以不填写路径,不填默认为覆盖原图。 intervention通常会在PHP脚本完成后会自动销毁资源。 也可以使用destroy()方法主动销毁资源,在调用方法后,图像实例不再可用。 $img = Image::make('public/foo.jpg'); $img->resize(320, 240); $img->save('public/small.jpg'); $img->destroy(); 此处有一坑,save()覆盖原图时,destroy()不能正常销毁。save()为不同文件,可正常使用destroy()。

阅读更多...

阿里云新用户优惠

PM2启动LaravelS运行swoole命令

之前的文章已经写过PM2启动laravel队列的命令。传送门 这里再写加一个启动laravel的swoole扩展的命令, 先cd到laravel项目中,然后执行以下命令: pm2 start bin/laravels --name laravels --interpreter php -- restart ps:不能加参数 – -daemon, 加了启动不了。

阅读更多...

阿里云新用户优惠

laravel-admin关联模型的小坑

laravel-admin写起来确实很方便。 在$grid 可以使用 关联模型获取关联表的数据,可设置为可修改。 比如: public function profile() { return $this->hasOne(Profile::class); } $grid->profile()->gender()->editable('select', [1 => '男', 2 => '女']); 在$from中也可以 使用这个关联的模型来 保存数据 比如: $form->select('profile.gender', '性别')->options([1 => '男', 2 => '女']); 此时数据可以正常的创建和修改。 重点来了,此处需要注意一个坑。 在命名关联模型时不可使用驼峰写法,必须全部小写,否则,$grid显示正常,就是修改时$from保存不了数据。

阅读更多...

阿里云新用户优惠

Laravel开发通过Model的$attributes设置字段默认值

使用Laravel开发时,数据库非空字段未设置默认值,可以在此表Model中添加 $attributes为字段设置默认值,通过save方法保存时会自动添加。 例如,为文章表 访问数 字段 access_nums 添加 默认值0,则新建文章时会默认access_nums为0。 protected $attributes = [ 'access_nums' => 0 ];

阅读更多...

阿里云新用户优惠

CentOS 7 cron定时重启php-fpm

服务器使用nginx+php-fpm配置。 最近发现php-fpm总是不释放内存,服务器内存1G,本身就小,过一段时间就占满了。 只好在占满前手动restart。 然后搜索了一下,发现php-fpm确实存在不释放内存的情况。 按照介绍重新设置了 pm.start_servers:动态方式下的起始php-fpm进程数量 7 pm.min_spare_servers:动态方式下的最小php-fpm进程数 4 pm.max_spare_servers:动态方式下的最大php-fpm进程数量 10 最终命令: pm.start_servers = min_spare_servers + (max_spare_servers - min_spare_servers) / 2 试用了一段时间,内存确实到90%左右就不增长缓慢了,但是数据堵塞了,只好继续restart。 在找到替换php-fpm之前,省事的方法还先设置一个定时任务,每天凌晨重启一下php-fpm访问。 先到win10自带的ubuntu上测试一番 第一个命令 service cron start : 提示no crontab for root – using an empty one 选择编辑器后 填写 * * * * * service nginx restart 每分钟重启一次nginx 默默等待一分钟,打开top,什么都没有发生,找日志,结果日志也没有。 搜索一番,始终找不到日志,顿时没了头绪。 换一个命令,再试一次。 * * * * * date >> /var/log/temp.txt 再次默默等待一分钟,切到var的log目录,居然出现了temp.txt。 再次搜索 定时启动php-fpm的命令。 最终命令:每天凌晨1点重启php-fpm服务 0 1 * * * systemctl restart php-fpm

阅读更多...

阿里云新用户优惠

PM2启动Laravel队列运行PHP命令

最近要用到Laravel的队列,官方文档推荐了Supervisor,进程守护程序平时用的比较少,看到文档上的操作过程有点懵。 同事推荐了PM2,PM2是Node.js提供的进程守护工具。 先安装nodejs,然后执行npm install pm2 -g,安装完毕。 这个…确实安装简单,对新手用户友好。 代码也准备好了,万事必备,准备开撸。 文档上的命令都是关于js的,依葫芦画瓢运行了几个命令都报错了。 一番查找,才找到了PM2启动laravel队列命令 最终命令: pm2 start artisan --name laravel-worker --interpreter php -- queue:work --daemon

阅读更多...