Windows 迁移至Mac Book 小记

Windows 迁移至Mac Book 小记

前言 时隔了三年...最终还是换上了mac book,可能是这代mac真的很香。。 16年开始购入第一台macbook air 那个时候就开始体验macos的生态、交互等等,哪怕是最低配的(macbook air 13.3 i5 256G)当时也玩的很开心,甚至当时还用这货跟朋友打了几把L4D2,到了17年10月的时候, 想打打使命召唤系列,于是DIY了一台台式机,爽是挺爽的 就是放在家里平时都没怎么玩..感觉有点浪费吃灰,于是在18年3月份的时候购入了一台XPS 15,从此开始了笔记本折腾之路。 用过的笔记本和电子产品也不算很多,但是每一个产品都有过折腾。 16年 -> 17年

  • soul
    soul
10 min read

WSL2配置公网链接与固定别名

前言 今天为了测试html,用了nodejs的http-server命令,当然有了WSL那肯定是在WSL2中启动http-server,启动后问题就来了,8080端口是无法在局域网里访问的,但是windows宿主机是可以通过127.0.0.1:8080来访问到 WSL2相关 WSL2用的是hyper-v 相当于一个虚拟机,但是在网络那块就有点奇怪了,wsl2与windows中会有一个专有的ip。 举例 WSL2专用ip为:172.31.58.132,windows的公网ip为:192.168.167.82。 那么问题来了 我wsl2启动了一个http服务 端口为8080,如何在局域网中访问它? 一开始想的办法是让wsl2直接在局域网获取一个新的ip 比如192.

  • soul
    soul
3 min read

简单记一次nodebb+solr+redis迁移

前言 后空再完善,本篇文章算是一个存档,之前用的国外服务器,国内访问突然变慢,于是打算迁移到阿里云的香港服务器,那么迁移的时候就会遇到一堆的问题- -虽然已经准备填坑了,但是一来一回的操作发现竟然花了两个多小时。 原服务器数据&备份 nodebb用的是redis,先备份redis数据,不过因为不记得redis数据库存放路径了,于是 结合这篇文章redis切换数据存放的文件目录得出redis的存放路径,直接停止redis服务127.0.0.1:6379> SHUTDOWN 打包NodeBB所有文件 zip -r x.zip ./备份为x.zip 备份solr目录所有文件 zip

  • soul
    soul
4 min read

TS学习笔记

TS入门学习资料 本文大量使用了TS入门学习资料的范例并且加以理解,但是也有省略很多的关键点,如需完整学习请移植上方链接 什么是 TypeScript&为什么选择TS 包容 不会与js冲突,基本上直接引入js即可 类型定义系统 完善js的弱类型,并且因为有类型定于 各大IDE也会有对应的提示 拥抱ES6&最新的草案规划 TypeScript 编译的时候即使报错了,还是会生成编译结果,我们仍然可以使用这个编译之后的文件。 巴拉巴拉什么社区完善啊 等等这些可以去看学习文档 这里不单独列出 劣势 学习曲线高 虽然很强大,但是整个市场来说 对团队要求高导致ts目前阶段相比js还不算大范围的流行 编译 需要额外编译,虽然写起来很爽,

  • soul
    soul
12 min read

前端的visionseed 腾讯优图漫游记

前言 某天某时刻从某位PLMM那里收到了一份礼物,拆开后发现是visionseed... 简单搜索了一下 发现是一个自带人脸检测/识别等一系列算法的摄像头.比较小巧 so...盒子背后还有个开发文档的二维码 visionseed官网 在开发者中心也能看到一些文档 简单看了一下后,发现...完全不懂啊 竟然是C++的..作为鄙视链最低端的前端,并且没有学过C++的渣渣来说 完全是天书啊,本打算辜负妹子的好意,准备收起设备的时候不料在gayhub上发现了新的天地 nodejs版本的sdk 竟然有位大大已经封装了一个js版的sdk,难道那句话就要应验了吗?能用js写的最终都会用js写 通信? 本着好奇的态度想看看底层如何与js通信,简单看了一下源文件发现引入了三个库 serialport: 读取串口信息 visionseed设备的baudRate为115200 google-protobuf:

  • soul
    soul
9 min read

letsencrypt的ACME规范开发折腾记

前言 https是一种互联网趋势,说到https就离不开ssl证书的申请,那么国外有个组织为了解决ssl证书申请的问题开放了互联网申请api接口,而且是全免费的,这就是letsencrypt,那么有了这个api接口接下来做的就是要去看方法调用对吧。然而你找到的只能是一份超级长的规范定义,当然这份规范定义基本上大家都是太长不看的。所以基本上大家都会去找现成的库。那么实现了amce协议的库很多ACME协议客户端,各种各样的,比如最常见的Certbot,网上的教程大多也是针对Certbot的,不过有个缺点就是,如果走的是dns认证,尤其是通配符证书申请,基本上国内比如阿里云的dns还需要自己手动去设置,不过网上已经有相关的插件可以支持阿里云dns了。不过我个人并不喜欢Certbot,尤其是需要传递一堆的参数,当配置的域名一多的时候就很难管理,那么出于以上的考虑就开始写了一个符合自己业务需求的小教本 基于node-acme-client的脚本实现 node-acme-client 本来打算自己去实现一个符合acme规范的客户端,不过时间不允许,而且不太想重复造轮子,所以翻了一下nodejs的库,发现还是有一个完全实现了acme规范的。于是打算基于上述去开发。虽然说是基于轮子去造车,但是有一些概念还是需要了解的。

  • soul
    soul
8 min read
记一次Blog迁移到Ghost
js

记一次Blog迁移到Ghost

之前的用了Hexo搭建了Blog,不过由于某次的操作失误导致Hexo本地的source源文件全部丢失.留下的只有网页的Html文件,众所周知,Hexo是一个本地编译部署类型的Blog系统,个人感觉这种类型的Blog特别不稳定,如果本地出了一些问题那么线上就GG了,当然,使用git是可以管理源文件,但是源文件里又包含很多图片的情况下,download和upload一次的时间也会比较长,虽然说这几年都流行这种类型的Blog,但个人看来还是WEB比较实在。

  • soul
    soul
14 min read

InterceptorCompontent-组件注入概念

前言 本来想定义为拦截器概念的…后来想想好像不对..应该是注入器概念..不过组件名都写好了 就懒得改了. 写这个小功能的原因很简单 目前开发方式都是所有的js放一个文件里了,那么如果我有多个页面,每个页面执行不同的函数 实现方式是不是很简单? function indexCompontent(){ console.log('index') } if($('js-index').length>0){ indexCompontent(); } 用es6的语法写起来就更爽了,可以把每个函数拆开,但是如果我后台想传递一些参数…那是不是很蛋疼了,估计要绑定在html上 然后通过函数主动去获取.. div.js-index(data-user='{"

  • soul
    soul
6 min read

记一次nginx反向代理内网wordpress

记一次nginx反向代理内网wordpress 参考 nginx反向代理wordpress nginx反向代理wordpress.conf Nginx proxy_set_header 理解 说明 公网ip为 233.233.233.233代理服务器内网ip为 10.10.10.10wordpress内网服务器ip为 10.0.0.1其中nginx代理服务器可以访问内网.需要绑定的域名为abc.com,但是目前域名未备案 所以只能绑定公网ip也就是233.233.233.233 第一种解决方案 不更改wordpress的home_

  • soul
    soul
1 min read

nodejs微服务设计笔记

前言 豆瓣读书 这本书简单的介绍了如何使用nodejs来搭建微服务,一本实践与理论结合的书籍,如果对于微服务有比较深刻的了解就可以不用看这本书了,但是对于门外汉来说这本书还是有比较大的价值. seneca github 本书大半部分都围绕这个框架来写的. 这个框架就是实现微服务的一个工具罢了.框架使用了匹配模式来触发函数,从而细粒化函数,比如. seneca.add({role:"math",cmd:"sum"},function(msg,res){ var sum=msg.left+msg.right res(

  • soul
    soul
2 min read
js

常用的js(nodejs)库整理

说明 本文为整理自己的github常用star. 免得到时候找个库都不知道找哪个. 本文包含了nodejs和js.可能还含有一些其他语言的库 详情的可以参考我githubStart ncmdump : ncm 网易云音频文件转换 simditor : tower 用的 富文本库 howler.js : js 音频操作库 LearningPixi : Pixi教程中文版 pixi.js : webgl 2d 动画引擎 ShanaEncoder : ShanaEncoder,最强的视频压制软件,支持CPU和GPU同时工作,速度快,清晰度高,B站指定压制工具 uni-app : uni-app

  • soul
    soul
17 min read

手把手教你如何利用nodejs+es6+co写一个爬虫

注意事项: 这里的爬虫不做太复杂的处理.. 考虑到并发问题.这里的爬虫仅仅是爬完上一个后再爬下一个. 爬完当页后再去爬取下一页,效率虽然低..但是胜在不用同一时间发请大量请求避免被ban 本文以admin5.com为案例来爬取200页的文章title和content 本文涉及到的es6语法这里只会简单的说明一下.如果看不懂…来打我啊(笑) 涉及框架 crawler co cheerio crawler:为一个封装好的nodejs爬虫库,免去你用request框架发请请求然后处理一大堆的返回代码问题.本文只把crawler当做请求工具用.内容的处理将会用cheerio框架来完成 co:能够把异步代码写成跟同步一样,号称es6的async. cheerio:nodejs版的jQuery 分析目标网站url 目标网站的url都是 http://www.admin5.com/

  • soul
    soul
7 min read