CantonBolo

CantonBolo 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

CantonBolo 发布了文章 · 2019-08-19

Windows To Go 折腾手记

最近由于在研究 Windows 环境下的一些技术,购入了 WD SN750 M2 SSD奥睿科 M.2 硬盘盒 入坑 Windows To Go。硬件挺满意的,在我的 MacBook Pro (Retina, 15-inch, Mid 2015) 上跑分基本上可逼近硬件瓶颈(5 Gbps 的 USB 3.0),正常工况的使用下,硬盘盒外部温度手测大概 50 摄氏度,就是能握住一段时间,而不是一碰就烫的缩回去那种感觉。
图片描述
图片描述
图片描述

装好 Windows To Go 以后,遇到了下面两个小坑,记录一下:

移动硬盘安装 Windows To Go 后无法看到 Windows To Go 分区的盘符

将 Windows To Go 驱动器插入正在运行的计算机,但无法在驱动器上看到分区。为什么没有显示?
Windows To Go Creator 和建议的 Windows To Go 部署步骤在 Windows To Go 驱动器上设置了 NO_DEFAULT_DRIVE_LETTER 标志。此标志可防止 Windows 自动将驱动器号分配给 Windows To Go 驱动器上的分区。这就是为什么将 Windows To Go 驱动器插入正在运行的计算机时无法看到驱动器上的分区的原因。这有助于防止数据在 Windows To Go 驱动器和主机计算机之间意外泄露。如果确实需要从正在运行的计算机访问 Windows To Go 驱动器上的文件,可以使用 diskmgmt.msc 或 diskpart 分配驱动器号。

警告

强烈建议你不要将 Windows To Go 驱动器插入正在运行的计算机。如果计算机被盗用,你的 Windows To Go 工作区也可能被盗用。

解决方案:
以管理员身份打开 CMD
输入 diskpart 回车
输入 list volume 找到目标盘符,例如卷1
输入 select volume X(卷序号)
图片描述
再输入 attributes volume clear nodefaultdriveletter
清除掉 Windows To Go 分区上的 NO_DEFAULT_DRIVE_LETTER 标志后,即可看到该分区里的内容。

进入 Windows To Go 系统后无法查看本地硬盘

已启动到 Windows To Go,但无法浏览到主机计算机的内部硬盘驱动器。为什么?
Windows To Go Creator 和建议的 Windows To Go 部署步骤在 Windows To Go 驱动器上设置了 SAN 策略 4。此策略不允许 Windows 自动装载内部磁盘驱动器。这就是为什么启动到 Windows To Go 后无法看到主机计算机的内部硬盘驱动器的原因。这有助于防止数据在 Windows To Go 和主机系统之间意外泄露。如果主机操作系统处于休眠状态,此策略还可能防止主机驱动器上的损坏或数据丢失。如果确实需要访问内部硬盘驱动器上的文件,可以使用 diskmgmt.msc 装载内部驱动器。

警告

强烈建议你在启动到 Windows To Go 工作区后不要装载内部硬盘驱动器。如果内部驱动器包含休眠的 Windows 8 或更改版本的操作系统,则装载该驱动器将在启动主机操作系统时导致休眠状态丢失,从而丢失用户状态或任何未保存的用户数据。如果内部驱动器包含休眠的 Windows 7 或更高版本的操作系统,装载该驱动器将在启动主机操作系统时导致损坏。

解决方案:
什么是 SAN 策略 4??说人话!!
其实本地磁盘是有办法访问的,不信你打开磁盘管理器看看,其他磁盘只是处于脱机状态。
图片描述
继续在 diskpart 窗口里输入 san policy=onlineall 回车
然后在磁盘管理器里右键脱机的磁盘,点击联机就可以了

查看原文

赞 0 收藏 0 评论 0

CantonBolo 发布了文章 · 2019-03-25

PHP标准化之路(一):使用 EditorConfig 实现语法统一

EditorConfig 有助于为跨越各种编辑器和 IDE 的同一项目的多个开发人员维护一致的编码样式。 EditorConfig 项目由用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵循定义的样式。 EditorConfig 文件易于阅读并且可以与版本控制系统配合使用。

因此在团队项目里,我们可以用 EditorConfig 实现编码风格统一。除了 WordPress、Laravel、Symfony 等大型框架有自成一套的编码规范以外,我建议所有的 PHP 项目都应该遵循 PSR PHP 标准规范。目前 PSR 中与编码规范有关的项目有已定稿的 PSR-1 和 PSR-2,将来还会有正在草稿阶段的 PSR-12。现在我们只需要按照 PSR-2 来执行就可以了。在项目里我们可以在根目录建立一个 .editorconfig 文件,内容如下:

# This file is for unifying the coding style for different editors and IDEs
# editorconfig.org

# PHP PSR-2 Coding Standards
# http://www.php-fig.org/psr/psr-2/

root = true

[*.php]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

然后到 EditorConfig 官网现在对应的 IDE 插件即可。如果你开发的是类似 Laravel 的包含多种语言的项目,可以参考下面的设置,对各种类型的文件单独设置编码规则。

# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# All PHP files MUST use the Unix LF (linefeed) line ending.
# Code MUST use an indent of 4 spaces, and MUST NOT use tabs for indenting.
# All PHP files MUST end with a single blank line.
# There MUST NOT be trailing whitespace at the end of non-blank lines.
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space

# PHP-Files, Composer.json, MD-Files
[{*.php,composer.json,*.md}]
indent_size = 4

# HTML-Files LESS-Files SASS-Files CSS-Files JS-Files JSON-Files
[{*.html,*.less,*.sass,*.css,*.js,*.json}]
indent_size = 4

[*.vue]


# Gitlab-CI, Travis-CI
[*.yml]
indent_style = space
indent_size = 2
查看原文

赞 2 收藏 2 评论 0

CantonBolo 发布了文章 · 2019-02-19

IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR

最近折腾在 IIS 上跑 PHP-CGI。由于太年轻,遇到不少坑,特以此文纪念一下配置 IIS FastCGI 的填坑过程。

在 Windows 平台上,我习惯使用 scoop 安装一些开发工具,例如 PHP、NPM 等等。

填坑 1:

用 scoop 安装 php 要全局安装

scoop install php -g

否则 IIS 会报 500 错误,应该是安装到当前用户的话会有执行权限问题。

填坑 2:

全局安装 PHP 以后,PHP cli 会从 C:\ProgramData\scoop\apps\php\current\cli;C:\ProgramData\scoop\apps\php\current\cli\conf.d 这两个目录加载配置文件(可以通过系统环境变量 PHP_INI_SCAN_DIR 配置),但是 IIS 调用 PHP-CGI 的时候根本不读取 系统环境变量呀!

我的目标是可以让 PHP cli 和 PHP-CGI 可以共享配置!

使用 Google 大法后发现可以通过 IIS 里的 FastCGi 设置 -> 环境变量 进行配置!注意要和系统环境变量一致。

图片描述

修改后即可使 PHP cli 和 PHP-CGI 的配置一致。

图片描述

图片描述

查看原文

赞 1 收藏 1 评论 0

CantonBolo 发布了文章 · 2019-01-29

Laravel 5 通过中间件实现 JSON_UNESCAPED_UNICODE 和跨域控制

做 json 接口的使用 JSON_UNESCAPED_UNICODE,能在返回大量非 ascii 字符数据的时候节约大量流量(其实就是把 \uxxxx 转换成人能看懂的中文)。在 Laravel 框架里最易懂的办法就是用return response()->json($data, 200, [], JSON_UNESCAPED_UNICODE)返回接口数据。但是这种方法可复用性非常低,而且不太好处理 http 状态码问题。作为一个喜欢装牛逼的程序员,我需要研究一个看起来很牛逼的方法,我的目标是高复用、低耦合。

经过连续施展 Google 大法,遂得出以下方法:

1 php artisan make:middleware JsonCors建立中间件,然后在handle方法里加入下面的代码:

$data = $next($request);
if ($data instanceof \Illuminate\Http\JsonResponse) {
    $data->setEncodingOptions(JSON_UNESCAPED_UNICODE);
    // 下面是跨域控制代码
    $data->withHeaders([
        'Access-Control-Allow-Origin' => '*',
        'Access-Control-Allow-Credentials' => 'true',
    ]);
}
return $data;

2 修改app/Http/Kernel.php,在protected $routeMiddleware数组里加入'jsoncors' => \App\Http\Middleware\JsonCors::class,
然后在路由里引用test中间件即可。

3 在路由中引用中间件Route::middleware(['jsoncors'])

4 有关跨域控制的更多知识请访问HTTP访问控制(CORS)

钻牛角尖:

如果需要对程序返回数据作统一加工,都可以通过middleware实现更灵活的响应管理?

查看原文

赞 1 收藏 1 评论 0

CantonBolo 发布了文章 · 2019-01-28

CentOS 7编译程序后的环境变量设置

今晚在 CentOS 7 上配置 Gitea,配置完成后在本地 clone 仓库会提示 Failed to execute git command: exec: "git-upload-pack": executable file not found in $PATH,果断用软连接打法解决。随后在 push 时又出现 Failed to execute git command: exec: "git-receive-pack": executable file not found in $PATH。WTF,如果有几百个需要添加到 $PATH 里的程序,我不可能一一用软连接添加。而且用 export 方法不能永久解决,直接写到 bashrc 里又好像有点 low。后使用 Google 大法,学到新技能:

echo 'export PATH=$PATH:/usr/local/git/bin' > /etc/profile.d/git.sh
source /etc/bashrc

完美解决!既能永久生效,又不污染 bashrc。如果哪天不需要了,只需要删除 /etc/profile.d/git.sh,然后 source /etc/bashrc

查看原文

赞 0 收藏 0 评论 0

CantonBolo 报名了系列讲座 · 2018-12-18

CantonBolo 回答了问题 · 2015-08-07

解决Nginx + Laravel5 开发缓存问题。

二楼的正解,一般开发环境也不需要开启opcache

关注 9 回答 6

CantonBolo 关注了标签 · 2014-08-21

关注 63

CantonBolo 收藏了问题 · 2014-08-21

请教一个公交换乘算法

多次换乘,请问这个该如何实现呢.

CantonBolo 回答了问题 · 2014-08-21

为什么用PS的图片放在网上总有白边的

导出成32位的png就没有白边了

关注 0 回答 5

认证与成就

  • 获得 11 次点赞
  • 获得 4 枚徽章 获得 0 枚金徽章, 获得 1 枚银徽章, 获得 3 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2011-05-29
个人主页被 688 人浏览