分类
生活记录

把笔记本配置好了开发环境

用了一个晚上的时间,把笔记本的开发环境配置好了,在使用的过程的,竟然没有一点卡顿,非常出乎预料,最新版的Windows10真的是非常好用。

电脑只装了基本的开发环境,用到的工具罗列一下:

  • 编程工具 Visual Studio Code
  • MySQL数据库管理工具 heidisql
  • FTP/SFTP工具 FileZilla Client
  • PHP7.4.1
  • PHP包依赖管理器 Composer

需要另外安装的工具就上面这些,其它都是用的系统自带的。用到的自带的功能如下:

  • Windows10自带的OpenSSH客户端
  • PowerShell
  • 远程桌面MSTSC
  • 云笔记 OneNote
  • UWP版的Email客户端

上面用到的工具都是免费的或开源的,付费的软件只有一套Office365个人版,带1T OneDrive 存储空间,感觉还是非常实惠的。

装完这些软件工具之后,系统还是丝滑流畅,只要不乱装一些软件,就现在这样用来开发和办公都戳戳有余了。

另外关于国产的某些软件就没打算装,感觉某些大厂的软件都比较吃系统资源,还有就是出于对国内某些厂家的不信任,感觉他们的软件不搞点小动作就不正常一样。

最后上一张系统载图:

装好开发工具之后的windows10桌面
装好开发工具之后的windows10桌面
分类
生活记录

时隔三年,笔记本再次装回Windows10

昨晚放弃了ubuntu桌面版之后,接着装了windows10,装完之后已是凌晨2点多了,不过工夫总算没白费,体验了一下,运行竟然比windows7还流畅,也没有了以前使用windows10时的磁盘占用率高的问题,总体来说比较满意。由于以前在这台笔记本上装过windows10,这次安装完直接就激活了,省时省力省心,微软在细节体验上还是下了很大工夫的。

记得上次在这台笔记本上装windows10,已经是3年以前的事了,不由得感慨时间过得真快。那时windows10刚推出一年多,当时这个系统在我的笔记本电脑上表现不是很好,运行缓慢,磁盘占用长期90%以上,用了一段时间之后就又装回windows7了,一直用到现在。

这次如果没有特殊问题就可以长期用下去了,工作效率还是windows高,使用了这么多年,操作也早已习惯,各方面都感觉很顺手,软件生态也比linux桌面强很多。

Linux系统的强项还是在于服务器端,低资源占用,稳定性非常好,装好软件环境后就能稳稳的一直跑下去,不用折腾。

这么多年唯一没有深度体验过的就是Apple的Mac系统,不过我也没有太大的兴趣,windows应付日常工作和生活完全足够,而且windows正向更好的方向发展,为什么不用呢?

分类
生活记录

放弃Ubuntu桌面版

今晚深入使用了下Ubuntu18.04 LTS桌面版,发觉还是有不少问题。

第一个问题,关机再开机时,一直黑屏。尝试了多次才正确开机进入系统,不知道是不是和笔记本硬件兼容性问题导致的。

第二个问题,软件生态差,很多软件都没有或没有好用的linux版。本来想装个shadowsocks客户端,但通过apt安装完之后,发现是2.9.x的版本,不支持aes-256-gcm加密方式。尝试了Qt5的版本,但为什么没用成,我也忘了。最后研究使用pip3安装的版本,但安装后提示找不到sslocal等相关的命令,我知道这大概是环境变量的问题,但我不想再深入折腾下去了,遂放弃shadowsocks。

第三个问题,是关于远程桌面的。我有一台Windows Server的服务器,需要使用远程桌面来连接。通过查找资料,得知可以使用rdesktop来连接,使用apt 安装了个rdesktop的远程桌面工具之后,虽然连接的过程中报错 ,但勉强可以连接进去。最大的问题是在使用一段时间后,远程桌面就卡住不动了,不知道是什么原因。

第四个问题,在插上鼠标后,鼠标滚轮无法正常使用,滚动的时候,页面上下乱窜。鼠标是没有问题的,在windows下正常使用。

关于流畅度的问题,在装完Visual Studio Code后,打开也有一定的延迟,不过这在忍受的范围之内。操作的稍微快一点,有时还是要卡几秒种才能有反应, 流畅性只能说一般般。当然,我的笔记本硬件也有点老了,这点也不能全怪Ubuntu 。之前刚装好系统时感觉流畅,是因为什么软件都没装,都是很简单的操作,所以觉得流畅,但是真正使用起来就不是那回事了。

放弃它最主要的原因,还是操作习惯和软件生态上的问题。之前因为windows在笔记本上运行缓慢,而装了Ubuntu,但是Ubuntu带来的问题远比这个问题严重的多,基本上已经影响了工作的正常进行。

也可能是我对这个系统了解的不够深入,但我实在是不想再折腾了,装个windows安安稳稳的使用,慢点就慢点吧,等时机到了去加个固态硬盘或直接换新笔记本,不要把时间浪费折腾这些问题上面。

分类
生活记录

把笔记本装了Ubuntu系统

这个戴尔笔记本是2013年在北安的时候买的,至今已是满满6年了。这个笔记本电脑对我来说最大的作用就是出差的时候带上它工作,虽然运行慢点,但还是可以用。

由于最近很长一段时间内都不会出差,还有感觉这台笔记本装windows运行有点慢,于是今晚打算装个linux系统试试。选定了两个发行版,一个是ubuntu18.04 LTS,一个是深度deepin linux 15.11。

由于很长时间都没在实体机装linux了,一时间竟不知道怎么装了。先是打算用PE系统来装,但试了几次不行,PE还是主要用来装windows的。后来打算作做U盘启动盘,把linux写入U盘,但想起前几年写U盘的时候写报废了一个,就放弃了这个想法。就在不知道怎么办,要放弃的时候,无意间在deepin的iso解压出来的文件中,发现了一个做启动盘的工具,于是就用这个工具把ubuntu镜像写入了U盘。装系统的过程很顺利,一次性顺利装完。

装完后简单使用了一下,感觉流畅性比windows7要好。接下来就是安装开发环境,如果使用顺利,长时间运行不卡的话,以后就慢慢的转到用它工作,毕竟携带方便,不用一直坐在家里的台式机前工作了。

至于deepin linux,等有机会再体验吧,目前ubuntu18.04工作的很好。

ubuntu 18.04桌面截图
今晚(2019.12.21)在用ubuntu,补一张桌面截图
分类
生活记录

域名添加了www

昨天在处理一个网站的SEO问题时,发现带www的和不带www分别被百度收录成不同的网站,于是就开始关注起www的问题。

从昨晚到现在一直在网络上查这个问题,支持no-www的和www的各有人在,但是从实际情况来看,互联网上还是带www的网站点多数,从google的搜索结果就能看出来。

带www的域名有4190000个搜索结果
不带www的域名有1730000个搜索结果

带www的比不带www的多了2倍多,所以,还是顺应主流,把我的博客加上了www,并把裸域做了301跳转到了www的域名。

在查资料的过程中,也了解到了不少关于www的由来和意义。www在我们国内翻译为“万维网”,是World Wide Web的简称。在最开始的时候,用www.example.com来表示这个服务是需要使用World Wide Web客户端(即浏览器)来打开的,ftp.example.com表示这个服务需要使用FTP客户端打开,等等如此用来区分服务类型,后来这个习惯就延续了下来,被人们普遍了解和接受。

看到www开头的,就表示这是一个万维网服务,意味着这个站点是万维网中的一个节点。在万维网中,任何一个网站都不是孤岛,通过链接把这些节点一个个连接起来,形成了一张大“网”——万维网。所以我们在做万维网服务时,能用链接表示的就尽量用链接,把这个“网”连接起来,切不要从其它站点复制粘贴大段重复的文字,这才是www本身的含义。

在网上查www的时候,看到很多人都在说,用裸域在技术上也存在不少问题,关于cookie污染的,关于cname和mx记录冲突的,关于cdn的等等,总之就是,加上www利大于弊。

从我个人主观情感上来说,我更偏向于带www,因为我的域名短,加上www显的域名更饱满,两边也“对称”,让人一看就知道这是个网址。视觉效果对比如下:
https://wujie.me/
https://www.wujie.me/
关于输入便捷性的问题,只要做好301跳转,都不是问题。

在搞清楚了www的问题之后,顺便把网站开启了http2,但在实际使用过程中并没有感受到明显的变化。

分类
Laravel

解决Laravel的API跨域请求问题

在使用laravel提供api服务时,是要允许跨域的,不然的浏览器里的JS是获取不到api接口的响应信息的,会报如下错误:

jquery.min.js:5 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://127.0.0.1:8000/api/test with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

跨域在单纯的php里面是很好处理的,只要在页面头部加一个http header就行,代码 header('Access-Control-Allow-Origin: *');

<?php
header("Content-type:application/json; charset=utf-8");
header('Access-Control-Allow-Origin: *');

echo json_encode(['msg'=>'this message come from the api server.']);

为了让laravel能够响应跨域请求,今天网络上查找了很长时间,得到如下解决方案

  • 创建中间件:php artisan make:middleware Cors,生成的文件路径:app/Http/Middleware/Cors.php
  • 修改刚才创建的中间件,修改handle函数如下:
public function handle($request, Closure $next)
{
    return $next($request)
        ->header('Access-Control-Allow-Origin', '*')
        ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
}
  • 最后把这个中间件添加到 app/Http/Kernel.php 里面的middlewareGroups 的api分组里
'api' => [
    
    'throttle:60,1',
    'bindings',
    \App\Http\Middleware\Cors::class,
],

添加完成后,再测试就能收到从api返回的响应内容了。


还有一种方法是使用barryvdh/laravel-cors这个包(github: https://github.com/barryvdh/laravel-cors ),但是我在折腾很长时间之后也没能实现跨域请求,所以放弃了这种方法。

注:本文所用的Laravel版本为Laravel 6.7。

分类
生活记录

今天做了一个数据采集项目

已经很久没做采集的项目了,最近一个亲友需要做一个这种项目,于是用了一天的时间,把这个做出来了。

最开始的想法是使用winform内嵌webbrowser来登录并读取页面数据,但奈何这个页面在webbrowser里面不行, 后来换成cefsharp也不行,不知道做了什么防范措施。无奈之下,直接使用杀手锏:chrome插件来解决——只要浏览器能打开的网站,数据就能采集到,然后通过接口提交到服务器。

需要注意的是,如果被采集的网站是https的,那么接口也要用https的,不然chrome会阻止这种提交。

目前已经实现了基本功能,再一加些易用性上的调整优化就可以用了。

把时间投给自己,虽然短期见效慢,但只要持之以恒、积少成多,慢慢的就会变量产生质变。以后尽量多做自己的项目,少接一些外包活。

分类
生活记录

从印象笔记转到OneNote

自从印象笔记独立运营后,各种无下限的操作,各种广告,特别是双十一,双十二期间,广告更是严重。这也是在预料之中的,本来宣布独立运营时我就不怎么看好。

今天上午没做项目,使用迁移工具把印象笔记迁移到OneNote了,迁移过去之后,再整理一下,以后就用OneNote了。OneNote可能会有一些小瑕疵,不过都在能接受的范围之内。

从印象笔记迁移到OneNote
从印象笔记迁移到OneNote

迁移工具微软官方下载地址: https://www.onenote.com/import-evernote-to-onenote

这工具是微软官方提供的,只有英文版本,不再更新,不过还能用。趁着还能用,赶紧转了吧。


补一张迁移完成之后的截图:

迁移完成之后onenote

迁移到OneNote之后,最大的不同点在于思维方式的转变,从无序的大杂烩转向条理清晰结构明显的知识结构,OneNote就是一本本真正纸质笔记的集合,分门别类,利于知识的梳理和总结。而以前使用印象笔记,基本上就是收集完就不去看了。使用OneNote更多的在于整理和总结。

生活不要急躁,要慢起来,稳扎稳打。

分类
生活记录

wordpress建站确实快

用了一天的时间,把www.iinshu.cn做完了,做了一套模板,然后调用后台数据就行了,这样做网站简单方便了很多,做一个网站,只要做一套对应的模板就行了,甚至模板都不用自己做,到网上找一套,调用上数据就完事了。这大概就是一些建站公司说的套模板吧。

这也是我第一次做wordpress模板,中间查资料浪费了一些时间,相信做完这套模板,再做别的会更快。

网站做完了用上了,终于了结了自己的一件心事。可能细节还不够好,等有时间再慢慢优化吧。明天继续进行其它的项目。

分类
服务器部署

wordpress更新需要设置FTP的问题

今天在新架一个wordpress网站时,又遇到需要FTP的问题,现在把这个问题总结下,以方便后续使用。

这个问题是网站目录和文件权限以及所有权的问题。执行以下命令即可解决:

// 首先进入网站根目录

// 设置目录权限
find . -type d -print0 | xargs -0 chmod 0755

// 设置文件权限
find . -type f -print0 | xargs -0 chmod 0644

// 设置wp-config.php的权限
chmod 600 wp-config.php

// 把当前目录下所有文件加入php-fpm用户组
chown -R nobody:nobody *

// 最后也要把当前根目录文件夹也加入php-fpm用户组,不然也更新还是会提示需要FPT的
chown -R nobody:nobody .