init repo

This commit is contained in:
TaurusXin 2021-12-12 17:46:25 +00:00
commit a8cf23cefa
70 changed files with 3535 additions and 0 deletions

32
.gitignore vendored Normal file
View File

@ -0,0 +1,32 @@
# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so
# Folders
_obj
_test
# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
_testmain.go
*.exe
*.test
public
resources
# This is a Hugo generated file
.hugo_build.lock
assets/jsconfig.json
.DS_Store

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/hugo-theme-stack"]
path = themes/hugo-theme-stack
url = https://github.com/CaiJimmy/hugo-theme-stack/

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Steve Francia
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

1
README.md Normal file
View File

@ -0,0 +1 @@
Example site modified from https://github.com/gohugoio/hugoBasicExample

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-instagram" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<rect x="4" y="4" width="16" height="16" rx="4" />
<circle cx="12" cy="12" r="3" />
<line x1="16.5" y1="7.5" x2="16.5" y2="7.501" />
</svg>

After

Width:  |  Height:  |  Size: 434 B

5
assets/icons/mail.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-mail" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<rect x="3" y="5" width="18" height="14" rx="2" />
<polyline points="3 7 12 13 21 7" />
</svg>

After

Width:  |  Height:  |  Size: 376 B

7
assets/icons/music.svg Normal file
View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-music" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="6" cy="17" r="3" />
<circle cx="16" cy="17" r="3" />
<polyline points="9 17 9 4 19 4 19 17" />
<line x1="9" y1="8" x2="19" y2="8" />
</svg>

After

Width:  |  Height:  |  Size: 438 B

BIN
assets/img/avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

229
config.yaml Normal file
View File

@ -0,0 +1,229 @@
baseurl: https://example.com
languageCode: zh-cn
theme: hugo-theme-stack
paginate: 5
title: TaurusXin 的独立博客
# Change it to your Disqus shortname before using
disqusShortname: hugo-theme-stack
# GA Tracking ID
googleAnalytics:
# Theme i18n support
# Available values: en, fr, id, ja, ko, pt-br, zh-cn, zh-tw, es, de, nl, it, th, el, uk
DefaultContentLanguage: zh-cn
# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]
# This will make .Summary and .WordCount behave correctly for CJK languages.
hasCJKLanguage: false
permalinks:
post: /p/:slug/
page: /:slug/
params:
mainSections:
- post
featuredImageField: image
rssFullContent: true
favicon:
footer:
since: 2020
customText:
dateFormat:
published: 1 月 02 日, 2006 年
lastUpdated: 1 月 02 日, 2006 年 15:04 MST
sidebar:
emoji: 🍉
subtitle: 永远年轻 永远热泪盈眶
avatar:
enabled: true
local: true
src: img/avatar.png
article:
math: false
toc: true
readingTime: true
license:
enabled: true
default: Licensed under CC BY-NC-SA 4.0
comments:
enabled: true
provider: disqus
disqusjs:
shortname: taurusxin
apiUrl:
apiKey:
admin:
adminLabel:
utterances:
repo:
issueTerm: pathname
label:
remark42:
host:
site:
locale:
vssue:
platform:
owner:
repo:
clientId:
clientSecret:
autoCreateIssue: false
# Waline client configuration see: https://waline.js.org/en/reference/client.html
waline:
serverURL:
lang:
visitor:
avatar:
emoji:
- https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo
requiredMeta:
- name
- email
- url
placeholder:
locale:
admin: Admin
twikoo:
envId:
region:
path:
lang:
giscus:
repo:
repoID:
category:
categoryID:
mapping:
lightTheme:
darkTheme:
reactionsEnabled: 1
emitMetadata: 0
gitalk:
owner:
admin:
repo:
clientID:
clientSecret:
cusdis:
host:
id:
widgets:
enabled:
- search
- archives
- tag-cloud
archives:
limit: 5
tagCloud:
limit: 10
opengraph:
twitter:
# Your Twitter username
site:
# Available values: summary, summary_large_image
card: summary_large_image
defaultImage:
opengraph:
enabled: false
local: false
src:
colorScheme:
# Display toggle
toggle: true
# Available values: auto, light, dark
default: auto
imageProcessing:
cover:
enabled: true
content:
enabled: true
### Custom menu
### See https://docs.stack.jimmycai.com/configuration/custom-menu.html
### To remove about, archive and search page menu item, remove `menu` field from their FrontMatter
menu:
main:
- identifier: home
name: 首页
url: /
weight: -100
params:
icon: home
social:
- identifier: github
name: GitHub
url: https://github.com/taurusxin
params:
icon: brand-github
- identifier: mail
name: 电邮
url: mailto:zyx@xingez.me
params:
icon: mail
- identifier: instagram
name: Instagram
url: https://www.instagram.com/taurus_yx/
params:
icon: instagram
- identifier: music
name: Netease Cloud Music
url: https://music.163.com/#/user/home?id=260531598
params:
icon: music
related:
includeNewer: true
threshold: 60
toLower: false
indices:
- name: tags
weight: 100
- name: categories
weight: 200
markup:
goldmark:
renderer:
## Set to true if you have HTML content inside Markdown
unsafe: false
tableOfContents:
endLevel: 4
ordered: true
startLevel: 2
highlight:
noClasses: false
disqusShortname: taurusxin

View File

@ -0,0 +1,9 @@
---
title: "Test"
description: "This is an example category"
slug: "test"
image: "hutomo-abrianto-l2jk-uxb1BY-unsplash.jpg"
style:
background: "#2a9d8f"
color: "#fff"
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

75
content/page/about.md Normal file
View File

@ -0,0 +1,75 @@
---
title: 关于
description: 关于我的一切
date: '2021-12-10'
aliases:
- about
- contact
license: CC BY-NC-ND
lastmod: '2021-12-10'
menu:
main:
weight: -90
params:
icon: user
---
## 职业
- 计算机科学在读本科生
- 在英申 Computer Science Master 中
- 技术方向
- Web 全栈开发
- 移动开发
- Linux 运维
- 计算机视觉
- 大数据
## 技术栈
- H5 / CSS3 / JS
- Vue 2, 3 / React
- Node.js
- Python 3
- Java
- MySQL / SQL Server
- Golang
- Swift
## 联系方式
### 邮箱
- [本站](mailto:zyx@xingez.me)
- [Outlook](mailto:taurusxin@outlook.com)
### IM
- [Telegram](https://t.me/TaurusXin)
## 其他链接 & 信息
### 社交
- [Instagram](https://www.instagram.com/taurus_yx/)
- [微博](https://weibo.cn/2201650115/profile)
- ~~Clubhouse - TaurusXin~~ (已废弃)
### 媒体
- [Bilibili](https://space.bilibili.com/4360325)
### 代码托管
- [Github](https://github.com/taurusxin)
- [码云](https://gitee.com/taurusxin)
### 音乐
- [网易云音乐](https://music.163.com/#/user/home?id=260531598)
### 游戏
- Minecraft
- Java Edition - Taurus_Xin
- Bedrock Edition - TaurusXin6015

12
content/page/archives.md Normal file
View File

@ -0,0 +1,12 @@
---
title: "归档"
description: 历史文章
date: 2021-12-10
layout: "archives"
slug: "archives"
menu:
main:
weight: -70
params:
icon: archives
---

13
content/page/search.md Normal file
View File

@ -0,0 +1,13 @@
---
title: "寻觅"
slug: "search"
layout: "search"
outputs:
- html
- json
menu:
main:
weight: -60
params:
icon: search
---

View File

@ -0,0 +1,27 @@
---
title: "做个自我介绍吧"
categories: [ "生活" ]
tags: [ ]
draft: false
slug: "hello"
date: "2019-07-26 17:36:00"
---
## 嗨!
这里是欣哥的独立博客
----------
### 我是谁
- 你可以喊我叫我`欣哥`
- 来自高考数学经常全国最难的浙江省
- 苦逼在读CS专业学生
- 旅行、摄影爱好者
- 重度咖啡依赖
- 收集各种简约的东西
----------
### 这里有什么
- 这里会写一些个人的生活内容、游记,当然不乏一些技术性的文章
- 欢迎你关注我,给我留个言,收个藏
- 当然更感谢的是可爱的你发现了万千博客中的我的博客

View File

@ -0,0 +1,61 @@
---
title: "四川 | 这地方,还能来一次"
categories: [ "旅记" ]
tags: [ ]
draft: false
slug: "daocheng"
date: "2019-07-27 21:00:00"
---
我希望有个如你一般的人。如这山间清晨一般明亮清爽的人,如奔赴古城道路上阳光一般的人,温暖而不炙热,覆盖我所有肌肤。由起点到夜晚,由山野到书房,一切问题的答案都很简单。
看了挺久的博客,最喜欢的还是[罗磊][1]老师。
这个博客有许多部分也是借鉴了他的思路
### 正文
三年前和初恋女友看了《从你的全世界路过》这电影,当时就记住了这个地方,也向往了三年。
阴差阳错,前段时间父母问我去不去稻城,我当时就兴奋起来了,果断订了机票酒店。
![1](https://s2.ax1x.com/2019/07/28/e1ASWF.jpg)
杭州到稻城只有这一班航班,略有些红眼,图为机场高速路上看日出
![141564316549_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988fee31a12975.jpg)
稻城机场,世界上海拔最高机场(没有之一)
唯一的感觉就是有一些高原反应
不过还好,以前练过管弦乐,肺活量高,呼吸还算顺畅
![151564316783_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988fee3e559957.jpg)
吃午饭海拔相对低一些 吃的团餐
晚上睡在海拔高度约2900米的民宿就在景区门口
![171564317094_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988f1cfbb97598.jpg)
(第二天 景区)茅十八向荔枝求婚的地方
![161564317089_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988fee47013383.jpg)
山林间的一个庙
![181564317208_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988f0325828327.jpg)
海拔4528m
![191564317383_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988e900a596197.jpg)
来稻城风景区必登的一个点———牛奶海
天气不佳 远没有晴天时候好看
![201564317485_.pic.jpg](https://i.loli.net/2019/07/28/5d3d988f0f17b72916.jpg)
倘若晴天的时候 湖面会反映出宝石蓝色的光
![211564318241_.pic.jpg](https://i.loli.net/2019/07/28/5d3d9a374403f41415.jpg)
民宿晚餐——很棒
![221564318328_.pic.jpg](https://i.loli.net/2019/07/28/5d3d9a9d18fff41015.jpg)
第三天都在赶车去稻城县(之前是风景区,两地差得很远)
晚餐后在县城逛逛 这边特产最多的就是松茸了
![231564318504_.pic.jpg](https://i.loli.net/2019/07/28/5d3d9b4ca473f47385.jpg)
稻城县的标志——尊胜塔林
![241564318644_.pic.jpg](https://i.loli.net/2019/07/28/5d3d9bcfbac7352768.jpg)
当地唯一对旅客开放的藏民村家
![251564318793_.pic.jpg](https://i.loli.net/2019/07/28/5d3d9c583d6fa64644.jpg)
藏区最少不了的就是在公路边成群的牦牛
![261564318886_.pic.jpg](https://i.loli.net/2019/07/28/5d3d9cb3567cd32970.jpg)
驱车成都海拔4718m——卡子拉山
----------
人生第一篇游记暂时写到这啦,因为后面驱车去成都,就不包含在此行程中了。
[1]: https://luolei.org

View File

@ -0,0 +1,19 @@
---
title: "近期的打算"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "things-to-do"
date: "2019-08-17 12:58:00"
---
升级博客啦!
<!--more-->
### 前言
现在要做的就是把本博客系统升级一下因为博客托管在阿里云轻量香港的服务器上就会导致几个原因。第一就是访问速度太慢尤其是静态资源再加上最近电信连阿里轻量HK走的是NTT所以体验不算太好
### 要做的事情
1. 找个国内的稳定服务器然后备案接着就是将静态资源放到专门的CDN服务器上面这样子就不会降低访问体验。
国内的CDN普遍偏贵而且质量参差不齐目前打算用的是又拍云的CDN。
暂时就是这些

View File

@ -0,0 +1,121 @@
---
title: "【20210825】Windows10 下使用 VS2019 源码编译 OpenSSL 1.1.1l"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "openssl_win_build"
date: "2019-08-20 13:00:00"
---
**本文持续更新,跟进当前日期最新的 OpenSSL 版本,标题括号内日期为本文的最后更新日期**
### 安装 Strawberry Perl
前往 [Strawberry Perl][1] 官网下载并安装 `Strawberry Perl`
这里选择的是目前最新版本 `Strawberry Perl` 5.32.1.1
安装过程中务必选择完整安装
安装完成之后会自动添加环境变量,无需手动添加
检查是否已安装
```shell
perl -v
```
### ~~安装 NASM~~
**2021/03/25 更新:以后教程不编译汇编代码,此步骤省略**
~~前往 [NASM][2] 官网下载并安装 NASM~~
~~这里选择的是 Stable 的 2.15.05~~
~~**安装完成后要将NASM的路径添加到环境变量安装程序不会自动添加**~~
### 下载源代码
前往 [OpenSSL][3] 官网下载 openssl-1.1.1l.tar.gz 并解压
### 编译
##### VC编译环境
Visual Studio 在安装时必须勾选 Windows C++ 的开发环境,不然没法打开开发人员命令提示符
![Snipaste_2020-04-23_14-08-13.png][4]
##### 启动命令行提示工具
【2020年5月25日更新】
使用 VS2019 的开发人员提示工具切换到源码目录注意选择要编译的位数所对应的版本不要选择cross版本。所有的选项都要统一编译32位的就启动x86配置Makefile时为命令行为VC-WIN3264位同理本文以编译64位为例。
**根据下图打钩的图标,确定需要编译的位数,选择合适的命令提示符。**
![选择合适的命令行版本][5]
##### 进入源码目录
```shell
cd /d C:\openssl-1.1.1l
```
##### 配置 makefile
| 版本 | 对应架构命令行 |
| ----- | -------------- |
| 64位 | VC-WIN64A |
| 32位 | VC-WIN32 |
本文采用64位
```shell
perl Configure VC-WIN64A no-asm
```
默认编译后安装在以下路径:
| 版本 | 默认安装路径 |
| ---- | ------------------------------ |
| 64位 | C:\\Program Files\\OpenSSL |
| 32位 | C:\\Program Files (x86)\\OpenSSL |
若想要自定义安装路径,添加 `--prefix` 选项即可
```shell
perl Configure VC-WIN64A no-asm --prefix=D:\OpenSSL\1.1.1l
```
如果想**静态编译**,即生成的可执行文件不依赖动态库,添加 `no-shared` 选项即可
```shell
perl Configure VC-WIN64A no-asm no-shared --prefix=D:\OpenSSL\1.1.1l
```
根据自己需要,二者选一即可
##### 开始编译及安装
执行 nmake 开始编译
整个过程视机器配置而定单线程编译持续约5-10分钟
```shell
nmake
```
执行 nmake install 开始安装
```shell
nmake install_sw
```
**使用 install_sw 代替 install 是因为默认 install 会生成 40M 左右的 HTML 文档,若不需要就使用 install_sw 仅安装二进制文件和库**
##### 添加环境变量
将编译后的安装目录下的 bin 文件夹添加到系统 Path 目录下
打开cmd测试安装
```shell
openssl version
OpenSSL 1.1.1l 24 Aug 2021
```
##### 清理生成的中间文件
```shell
nmake clean
```
### 下载
附上我编译的动态版及静态版
[button color="light" icon="" url="https://cdn.rhyland.cn/typecho/2021/09/01/OpenSSL-1.1.1l-windows_x86-64.zip" type="round"]下载[/button]
### 结尾语
如果在配置或者编译有任何问题或者报错,请在下方留言或直接在关于页面联系我~
[1]: http://strawberryperl.com/
[2]: https://www.nasm.us/
[3]: https://www.openssl.org/source/
[4]: https://cdn.rhyland.cn/usr/uploads/2020/04/504569709.png
[5]: https://cdn.rhyland.cn/usr/uploads/2020/05/1835595688.jpg

View File

@ -0,0 +1,44 @@
---
title: "2019年9月初——已经完成的工作"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "work_done_in_2019-09"
date: "2019-09-07 13:25:00"
---
### 动态资源
先说一下服务器的大致配置
所有的动态资源Typecho、php、博客插件都存在我的阿里云香港轻量应用服务器上
服务器配置是这样的
- 1核心CPU
- 1GB运行内存
- 25G SSD存储
- CentOS 7
- 30M 峰值带宽
软件采用的是lnmp架构全都是源码编译安装
- nginx 1.16.0 (HTTP2, HTTPS TLSv1.3, HSTS Support)
- PHP 5.6.40
- Mysql 5.5.62
博客系统是 Typecho 1.1 (17.10.30)
似乎作者已经快2年没更新了
这样的配置支撑整个网站的内容应该就是没有太大问题了
### 静态资源
静态资源就是一些图片等资源因为服务器在香港域名才没有备案才得以访问到而根据我最近一段时间的测试结果得出阿里云香港的轻量应用服务器的线路对于大陆的运营商支持情况如下。中国电信之前圈子里都说阿里轻量HK电信绕NTT实际测试结果也差不多但是访问文章的内容没问题移动联通都是直连。
这样的网络情况就不能把图片放在这台服务器上了本身资源空间也不多所以我就采用了另一个方案阿里云OSS
#### OSS
为什么不用CDN因为我懒。
不是因为我懒得去配置CDN那我还懒得搞OSS呢。是因为CDN需要域名备案我就懒得去折腾备案了之前备了个案花了不少的时间。所以就将所有的图片资源放在了OSS上面OSS地区设置在了杭州。
---
接下来要做的事情
## 高产!

View File

@ -0,0 +1,30 @@
---
title: "快!"
categories: [ "大数据与云计算" ]
tags: [ ]
draft: false
slug: "fast_load"
date: "2019-09-14 15:55:00"
---
最近在做网站优化自己是杭州电信1Gbps下行的网络环境载入本站的速度可以感受一下
![Snipaste_2019-09-14_15-46-11.png][1]
各位小伙伴也可以试一下用其它网络环境打开本站(移动、联通、铁通、教育网等)
直接看图片最下方完成整个载入18.6MB的资源过程耗时1.06s。
原因总结一下
- 阿里云轻量香港去程NTT回程CN2去程不影响回程是真的厉害阿里云牛逼
- TLS 1.3优化了握手速度HTTPS更快载入
- 资源放在了阿里云OSS上再说一次阿里云牛逼
未来可能会做的事情
- 海外用户单独开辟一个服务器,例如美国,然后反向代理到阿里云轻量香港上。
- 服务器升级为 openresty这样可以用lua引擎去自动压缩图片!
[1]: https://cdn.rhyland.cn/usr/uploads/2019/09/2084489867.png#mirages-width=654&mirages-height=588&mirages-cdn-type=4

View File

@ -0,0 +1,30 @@
---
title: "三思而后行"
categories: [ "心灵随想" ]
tags: [ ]
draft: true
slug: "think_twice"
date: "2019-09-17 14:29:00"
---
最近遇到不少的糟心事,就不细说了。
总之记住标题那句话,三思而后行
冲动的时候,回想起这句话,就能够及时止损。
从而不会惹出不必要的麻烦。
任何事情,做得好和做的快是两码事情,另外我也特别反感那些自以为是的人。
只是最近的一些感慨,就在博客里面发表一下了。
人与人之间的交流无非就是`权力` `爱情` `金钱` `友情`这些个罢了,认得清现实,不忙碌于迷失自我,方可得始终。
创办 Rhyland 和 自己这个博客以来,从来都没有遇到过任何的问题,这一次,我遇到了。
愿往后岁月,若能像那九月般的稻城一样美好。
祝午安
哦对了 今天是周杰伦的新歌发布的日子如果有人评论的话送两三个首《说好不哭》吧9月20日前

View File

@ -0,0 +1,36 @@
---
title: "谈我与Apple记一次拼多多购物体验"
categories: [ "生活","测评","数码" ]
tags: [ ]
draft: false
slug: "apple-pdd"
date: "2019-11-08 15:57:00"
---
中了 iPhone 11 的毒。
没错,是我。不知道为何,每一次熬夜看苹果发布会的时候就会觉得心潮澎湃,一直到发售那天就会极其激动,因为这一个世界的科技领域领导者,又一次发布了新品。
从我拥有第一台iPhone起就有一种对于这个品牌由衷的敬佩感直到现在我如果拿出我的iPhone 4谁能想到这一台9年前的手机到现在还能流畅运作着拟物时代的iOS 6打电话聊天上网看新闻……
没人能想到当年乔布斯骄傲的说出"One more thing..."的时候,世界为之澎湃的的那种激情。
Apple许多人所热爱的一个品牌喜欢它的生态圈那种设计的惊艳感iOS永不掉下60帧的那种神秘流畅还有的只是当年的情怀。
为什么?
我对于苹果的看法就是苹果在绝大多数领域做到了领先。譬如iPhone 5s 时代引领的Touch ID在此之后国内厂商纷纷效仿指纹解锁的手机再到iPhone X的Face ID与刘海2017-2018这两年的国产手机哪个不是刘海就是在刘海的路上记得有些厂商为了超越Apple做到真正的全面屏甚至拿掉了正面的摄像头取而代之的是升降式的机械结构结果就是这个摄像头被人玩坏了。另外每一年的SOC性能就不用多提。为什么各大测评节目做手机年度总结时手机CPU、GPU等的性能排行榜上都不会有Apple的身影因为它始终是站在顶峰根本不需要也没必要加入列表……
---
讲回拼多多我始终对于任何未知产品是路人再加上微信朋友圈乃至各大亲朋好友的群里面经常会充斥着砍一刀的身影本来无感看到这些消息也会选择自动忽略直到有一天迫于那啥下载了拼多多才知道这APP为什么这么火爆的原因。
5.9一条包邮的数据线9.9一大包的芒果干还有各种华强北AirPods如果以一盒苹果官方的AirPods的价格来算简直可以论斤卖。
习惯性搜了下iPhone这玩意儿应该没啥问题正品国行未拆封还带票11ProMax就是我现在在用的这一台256G暗夜绿各位看官猜多少价格
官网10899的手机卖到9999再加上抢的500元无门槛券硬是要我9499拿下要知道官网64G的都要9599。
下完单那一刻,然后我就开始担心我会不会收到的是翻新啊,会不会拆过二次组装啊。
结果就是我多虑了,手机包装完好,验机也没啥问题,充电循环什么的也都是第一次,三码匹配,就放心下车了。
怎么说在逛了大半年的V2以后很多V2er都把拼多多作为自己买日常用品的第一平台是在不放心才会选择淘宝拼多多的补贴模式确实是领导了国内电商市场能做到几年就上市且市值超越京东需要付出多少但是可见的是拼多多官方也有打击一些诸如假货假商标之类的商品来维持好自己的这样一个生态。
另外给个福利……
[collapse title="点击这里查看"]
拼多多买手机活动一直到双十一都有。。所以要上车的赶紧!!
[/collapse]

View File

@ -0,0 +1,53 @@
---
title: "锐岚工作室,你想知道的都在这"
categories: [ "心灵随想" ]
tags: [ ]
draft: false
slug: "rhyland"
date: "2019-11-22 11:25:49"
---
匆忙之下,一群高中毕业的人,妄想着开始创业。
起名锐岚,无任何意义,只是英文谐音罢了
作为团队中的主创,还是有很多想说的故事,和 Rogister 一起度过了从小学到大学12年的友谊我们因为共同的兴趣爱好走到了一起记得小学的时候那时候我们沉迷于穿越火线在那个外挂横飞的年代对于这种新奇的事物自然也是感觉到好奇。直到第一次接触代码...一发不可收拾。
不知道未来仕途的两个年轻人在初中不同的学校学习3年之后高中的又再一次相遇让他们开始了新的征程。
他们结交到一大群好朋友,玩摄影的,做音乐的,学美术的,搞编导的,还有学动画的,于是就对他们说,我们做一个团队吧。于是,一群有理想的人聚集在了一起,想法很多,行动很少,他们来自不同的领域,却没有办法能够很好的融合在一起,想法归想法,创意是创意。那时候,他们有空就在一起,飞无人机,聊摄影,业余时间写点小程序。
“我们该叫什么名字”, Rogister说到。
如果还留着我想把我们设计名字及logo的手稿发上来
我们开始讨论“工作室”到底该叫什么起初有许许多多的设计一切都源于一个单词——island
众人皆知land的意思是大陆我们的想法便是一块领域一片净土一个充满生机和活力的大陆不断优化、改进敲出了一个并不存在的组合单词——Rhyland [raɪlænd]。
然后用这个名字注册了域名com竟然没有了买下了阿里云服务器做好了备案。
看起来崭崭新新,却像极了一个空洞。
我们开始迷茫了。
高考结束的那天,大家走出校门,说了声再见。
就这么散了?当然不可能。当然,在我看来,年轻人拥有的想法,是他们在这个年龄段所拥有的,最宝贵的东西。看起来当初像情侣般说好的海誓山盟,要把工作室,甚至公司做到怎么样的规模,到现在看起来只是天方夜谭,没有什么是比拿出来实际行动更来支持我们走下去的动力更重要的了。写这篇东西,只是感慨一下,为什么当初要走到一起,为什么当初会有如此渺茫的想法,大学生不就该好好学习,将来找个稳定的工作,每个月拿着工资过平淡的日子。
不,我们不想,只是因为“不想拿着死工资给别人打工”的想法,我们聚集到了一起,要开始新的规划,开始新的生活。
讲了这么多,“团队”其实也没有说的那么糟糕,眼下所要做的最重要的事情,就是学习。因为在中国式教育背景下,只有用知识才能武装自己,都说大学才开始真正学本领的地方,这句话说的一点都没错。
简单列个计划表,可以跳过不阅读
[collapse title="锐岚计划表"]
1. 学习
1. 学习
1. 学习
-------以上 大学毕业前-------
4. 有创业计划
5. 先进行稳定收入的工作经验获取
6. 有资本,有足够的知识储备与经验
7. 先完成上面的再考虑接下来的事情
[/collapse]
我希望的是,多年以后,也许这个博客不在了,也许我们成功,失败与否,我都会把这篇文章的数据库保存下来,看一下当初的我们有没有实现所列好的清单。
最后的最后,永远记住,我们的一句口号——“从零开始 获取无限可能”

View File

@ -0,0 +1,187 @@
---
title: "优化算法之Python穷举数独"
categories: [ "开源项目","算法解析" ]
tags: [ ]
draft: false
slug: "sudoku"
date: "2020-02-26 20:22:00"
---
# 前言
本文的 Github 仓库
> https://github.com/taurusxin/Sudoku
# Python 穷举 Sudoku
## 玩法简介(来自百度百科)
数独盘面是个九宫每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件利用逻辑和推理在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次所以又称“九宫格”。
从初中开始第一次接触数独,大大小小的也玩过很多。
学了计算机之后自然就会用算法去解决一些问题,本文讲解的就是在穷举数独之时,对相应的算法进行优化。
## 开发环境
1. VSCode
2. Python 3.x
在开始之前,先配置一下 VSCode 的运行环境可以直接克隆我的Github仓库。
因为默认VSCode在文件夹下调试的时候会以当前正在编辑的文件传入命令行如果正在编辑其它的例如json/xml等文件那运行就出错了。
在项目路径下建立文件夹 `.vscode`,然后新建文件 `launch.json`来构建运行的脚本。
{
"version": "0.2.0",
"configurations": [
{
"name": "Sudoku",
"type": "python",
"request": "launch",
"program": "${workspaceRoot}/Sudoku.py",
"args": ["test1.csv"],
"console": "integratedTerminal"
}
]
}
表示无论在哪个标签页,就会将 `Sudoku.py` 作为要运行的程序源文件传入解释器,并且将 `test1.csv` 作为第一个参数传入。
## 导入文件
lines = None
if len(argv) != 2:
print(usage)
return
f = None
if argv[1] in ('-h', '--help'):
print(usage)
return
try:
f = open(argv[1], 'r', encoding='utf-8')
except IOError:
print('Error: File do not exists!')
return
lines = f.read().splitlines()
if len(lines) != 9:
print('Error: Sudoku format error, type -h or --help for more.')
return
grid = map(lambda i: i.split(","), lines)
def new_int(t):
return int(t) if t else 0
grid = [list(map(new_int, i)) for i in grid]
初始的几行是命令行的解析及文件的打开
`grid`定义了整一个表格的列表每一行为一个列表9行构成了整个二维列表
这里看到,我定义了一个`new_int`函数,这因为 Python 自带的 int()函数不能将非0的字符转为0。
## class 定义
class Sudoku(object):
def __init__(self, board):
self.b = board
self.t = 0
构造函数引入了1个参数`board`,即数独二维列表的表格。
`t`为尝试的次数
## 尝试前的准备
def check_is_legal(self):
# 判断每一行是否有效
for i in range(9):
for j in self.b[i]:
if (j not in range(0, 10)) or (self.b[i].count(j) > 1 and j != 0):
return False, 'There are %d same number %d in line %d.' % (self.b[i].count(j), j, (i + 1))
# 判断每一列是否有效
columns = [[r[col] for r in self.b] for col in range(len(self.b[0]))]
for i in range(9):
for j in columns[i]:
if (j not in range(0, 10)) or (self.b[i].count(j) > 1 and j != 0):
return False, 'There are %d same number %d in column %d.' % (self.b[i].count(j), j, (i + 1))
# 判断九宫格是否有效
for i in range(3):
for j in range(3):
grid = [tem[j * 3:(j + 1) * 3] for tem in self.b[i * 3:(i + 1) * 3]]
merge_str = grid[0] + grid[1] + grid[2] # 合并为一个list[]
for m in merge_str:
if (m not in range(0, 10)) or (merge_str.count(m) > 1 and m != 0):
return False, 'There are %d same number %d in block %d.' \
% (merge_str.count(m), m, (3 * i + j + 1))
return True, 'OK'
def solve(self):
is_legal, error_s = self.check_is_legal()
if not is_legal:
print("Error: The sudoku is illegal!")
print(error_s)
return
begin = datetime.datetime.now()
if self.b[0][0] == 0:
self.try_it(0, 0) # 如果第一格为空,则从此开始尝试
else:
x, y = self.get_next(0, 0) # 否则就获得从第一个格子的下一个空格子开始
self.try_it(x, y)
在开始尝试之前当然要先检测一下数独是否合法即给出的数独题目是否每一行每一列每一宫都不得重复1-9
## 尝试函数的递归
def try_it(self, x, y): # 主循环
if self.b[x][y] == 0:
possible = self.possible_num(x, y)
for i in possible: # 从可能的数字中尝试
self.t += 1
self.b[x][y] = i # 将可能的数字填入0格
next_x, next_y = self.get_next(x, y) # 得到下一个0格
if next_x == -1: # 如果无下一个0格
return True # 返回True
else: # 如果有下一个0格递归判断下一个0格直到填满数独
end = self.try_it(next_x, next_y)
if not end: # 在递归过程中存在不符合条件的,即 使try_it函数返回None的项
self.b[x][y] = 0 # 回朔到上一层继续
else:
return True
`solve`函数中,如果第一格格子为空,程序尝试着从第一格格子开始尝试,否则就从第一格格子的下一个开始尝试。
尝试的法则则为,用`possible_num`函数列举出当前格子可能的情况列表,然后从中逐个尝试,若遇到了这个格子为空,并且这个格子没有可能的数值,那么就发生错误,则回到上一个格子重新开始,将此格子清除
## 辅助功能函数
def get_next(self, x, y): # 得到下一个未填项
for next_solution in range(y + 1, 9):
if self.b[x][next_solution] == 0:
return x, next_solution
for row_n in range(x + 1, 9):
for col_n in range(0, 9):
if self.b[row_n][col_n] == 0:
return row_n, col_n
return -1, -1 # 若无下一个未填项,返回-1
block_in_grid = {(x, y): (x // 3) * 3 + (y // 3) for x in range(9) for y in range(9)}
grid_get_block = {x: [] for x in range(9)}
for i, j in block_in_grid.items():
grid_get_block[j].append(i)
def possible_num(self, x, y): # 获得一个格子可能的数字集合
whole = set(range(1, 10))
x_set = set(self.b[x])
y_set = {self.b[i][y] for i in range(9)}
block_num = self.block_in_grid[(x, y)]
block_set = {self.b[i][j] for i, j in self.grid_get_block[block_num]}
return whole - x_set - y_set - block_set
这两个函数应该比较好理解获得下一个未填格子就是在表格中从当给出格子开始遍历找到一个为非1-9的格子就返回如果没有下一个那就返回 -1, -1
可能的数,就是列出这个格子所在行、列、九宫格,然后用 `Python集合` 去做减法运算,除去重复项,剩下的就是可能项
`block_in_grid``grid_get_block` 两个字典就可以很方便地查询给出九宫格序号,返回格子坐标列表,或者给出格子坐标,返回所在的九宫格序号
## 结尾语
这个数独的解法,最初写出来时候,在尝试函数处,其代码如下
for i in range(1, 10): # 从可能的数字中尝试
当然是在没有写出`possible_num`这个函数之前
如果从1到9遍历查看最终结果原本只需尝试80多次现在需要尝试800多次就做了很多不必要的尝试及回溯。
这就是这个算法的核心优化

View File

@ -0,0 +1,29 @@
---
title: "团队领袖的责任与义务"
categories: [ "程序人生","心灵随想" ]
tags: [ ]
draft: true
slug: "42"
date: "2020-04-16 17:42:00"
---
这段时间大概4周前从0开始我正式组建了自己的小团队。算上我一共有3人他们给我的感觉就是。给力靠得住
也顺便接下了第一个商业单,一个牙科诊所的进销存记录系统。我思考反复最后决定用.NET写。2020年了不是都流行了大前端了吗为什么还用.NET这么古老的东西。
其实并不是而是因为这个项目相对来说较为简单没有繁杂的技术栈一个人也可以接所以我选择了CSharp并且从零开始教学CS。因为他们没接触过只有过Java与Python的开发经验我就选择了最简单的WinForm架构。
刚刚开始教学的时候,难以展开进度,因为不熟悉语法,不懂怎么操作数据库。好在悟性较强,掌握技术也比较重要,我也做了不少功课。把数据库封装成类,把界面库集成等,他们要做的只有复用函数与对象。
开发过程中我们都是在网络会议中进行讨论散会后。我每天都会花上约1小时时间去想怎么进行接下来的教学准备技术演讲素材先写好预置代码等。
说来可笑,一个团队竟然还要现成教学技术栈,算哪门团队。我扪心自问过,却也无妨,因为我能做的就是带领他们完成这个任务,眼下的事情才是最重要的,硬着头皮也要做完。
期间我不时来脾气,因为一些琐事。”诶,对啊,就是这个,这都找不到吗?”,“我一口老血吐出来,这都找不到?”,“仔细想想,面向对象,怎么处理这个对象?”,会议室充斥着我的回声。
后来他们终于可以脱离我自己没事就在会议室参与开发讨论我回家之后上机一pull也能看到零星的commit感叹到“前面付出的也值得了。”
我个人其实是想自己的技术要点干活无私奉献出去让大家收益可也曾想过“教会徒弟饿死师傅”等话语。这透出了自己的真实内心。我时常说“这些东西你上Google搜不到全是我自己这些年以来的开发经验积累。你觉得你可能在Google上搜到xxxxx吗”
组建团队没啥经验,我也缺乏团队管理意识,没有好的技术,暂且凭借自己的雄心壮志苟活着吧。
愿时光倒流忆过往云烟且看2020年春3人行必有其路焉。

View File

@ -0,0 +1,31 @@
---
title: "网课和最近"
categories: [ "生活","心灵随想" ]
tags: [ ]
draft: false
slug: "online-courses"
date: "2020-04-23 11:22:00"
---
买错书了。。
脑子一热买了一套《计算机程序设计艺术》
![IMG_4824.jpg][1]
一开始觉得,任何事情,只要跟艺术扯上关系,那一定是到达了一定的深度了,并且是拥有着
举几个例子,环境与艺术,工业艺术
更何况将计算机与艺术结合起来
开始觉得是将一些比较难的算法,与高等数学相结合,或者是一些程序的特殊设计与优化,亦或是解读一些难懂的程序
后来翻开书一看
这是一本纯讲数学的书
没有C语言代码只有寥寥无几相对整本书来说的一些汇编
大部分是高等数学中的各种函式,方程,算法,结构等。
多多少少和计算机扯得上关系。
关于网课
最近我也在上网课,已经持续了十个周了,十分漫长
每每起床都有种想法就是为什么我明明能继续睡觉,却要爬起来看直播
没办法吧,全世界的人都在用网络上课。
哦对,今天是世界读书日,你今天读书了吗
[1]: https://cdn.rhyland.cn/usr/uploads/2020/04/894321323.jpg

View File

@ -0,0 +1,27 @@
---
title: "未来与朋友"
categories: [ "心灵随想" ]
tags: [ ]
draft: false
slug: "future-and-friends"
date: "2020-05-22 10:19:00"
---
未来总是美好的
今天和同学聊到了以后的规划
我大学读的是国际项目就是在国内读完是要出国去读研。是学校中外合作的项目这其实是一个非常适合我的项目我从小就有计划去出国小时候以为全世界只有2个国家中国和外国现在想来那时候真是天真且烂漫哈哈。
大概是从初中开始,那时候开始向往着国外的生活。以前喜欢吃汉堡炸鸡,就想着外国人为什么能天天吃这些快餐,于是就开始向往国外的生活。到了高中以后,就不是这么简单向往事物了,而是生活,是一种全新的生活。那时候开始关注 [影视飓风][1]Tim是一个影视自媒体频道的主理人看着他拿着相机记录自己的生活就觉得原来有这么多自己从未涉足过的地方。
今天雅思课下课之后,朋友和我一起走回寝室的路上,问了我,你以后想去哪,我说到,那必须英国啊。他拍了下手掌,一拍即合,“对,我以后也想去这个国家,也只有这一个喜欢的国家”。我们都是喜欢电子,科技的小伙伴,也对摄影有着从底子里热爱的那种追求。“到了英国之后那我们可以去挪威看极光,带上相机”。
“冰岛也好啊!”我又补充道。
嘿,未来与朋友
[1]: https://space.bilibili.com/946974

View File

@ -0,0 +1,51 @@
---
title: "apt upgrade acdemic"
categories: [ "心灵随想" ]
tags: [ ]
draft: false
slug: "acdemic-upgrade"
date: "2020-07-11 20:34:00"
---
似乎很久没有更新博客了,最近学业真是的太忙了,忙着申请学校,忙着去找老师写介绍信,忙着开始新的生活。
很久没更新的原因,大概是脑子里的想法太多,一拍即合的点子很少,总觉得自己有学不完的技术栈,看不完的从入门到入土教程书。
昨天更新了一条朋友圈。
![微信图片_20200711201623.png][1]
最近发生了很多
表妹高考的结束,即是人生新一步的起点,我们约好一起出发旅行,在上大学之前放松一次
Rhyland Tech 也逐渐步入正轨,开始规划公司的未来
还有最好朋友的生日已经欠了2次了
最重要的就是我即将进行雅思首考在9月5号杭州
...
除此之外,还有不少的任务
- Node.js 全栈开发
- Leetcode
- 新家装修
- ...
大概就是这样。
## 英国
说一下将来一年的学业规划。
考雅思是为了出国学习研究生课程综合目前的形势来说排除COVID-19的影响明年出去之前应该能顺利拿到QS 400名左右的院校Offer然后再一年就是要进行IELTS刷分及刷自己的绩点。
大概就是,在第一所学校要至少拿到二等一的学位,第二所就能进入到不错的院校。
[CSRanking 欧洲][2] 上有着较为详细的CS专业排名目标大概就是 UOE University of Edinburgh
Rush!!!
为了避免自己拖更博客,以后在学习过程中,都会把心得写在博客里面。
[collapse title="PS"]
愿鸽子王本鸽月更2篇
[/collapse]
[1]: https://cdn.rhyland.cn/usr/uploads/2020/07/3181345122.png
[2]: http://csrankings.org/#/index?all&europe

View File

@ -0,0 +1,180 @@
---
title: "区块链学习笔记——概念与简单JS实现"
categories: [ "程序人生","开源项目","算法解析" ]
tags: [ ]
draft: false
slug: "blockchain-01"
date: "2020-07-12 16:28:00"
---
在哔哩哔哩上看 [是落拓呀][1] 的区块链简明教程,趁热打铁,把自己学习过程记录下来
本项目的 Github 地址 ↓
[github repo="taurusxin/taurusxincoin" /]
## 区块
区块即是每一次的交易比如A转账给B十元那么这条交易就写在这个区块内
区块里面实际包含的是
- 交易数据
- 本次交易的 hash
- 前一次交易的 hash
其中本一次交易的 hash 为 "本次交易的数据 + 上一次交易的hash" 的 hash 值
用简明的伪代码表示就是
```javascript
Block = {
data = '',
hash = sha256(data + previousHash),
previousHash = ''
}
```
## 链
链就是一系列区块的总和,与之相联通的就是 hash 值,每一次的交易都有它的 hash与链表的作用机制相似
可以理解为一个链表,简明代码表示就是一个数组
```javascript
Chain = {
blocks[Block]
}
```
## JS实现
这里用 node.js 来实现一个简单的区块链
初始化项目,安装 crypto-js 依赖
```cmd
npm init
npm install crypto-js -S
```
构建 Block 和 Chain 对象
```javascript
class Block {
constructor(data, previousHash) {
this.data = data
this.previousHash = previousHash
this.hash = this.computeHash()
}
computeHash() {
return sha256(this.data + this.previousHash).toString()
}
}
```
构造函数传入了这个对象的 `data` `previousHash` 数据,然后定义了对象成员 `hash` ,用于计算当前区块的 hash
```javascript
class Chain {
constructor() {
this.chain = [this.bigBang()]
}
bigBang() {
const genisisBlcok = new Block('我是祖先', '')
return genisisBlcok
}
getLatestBlock() {
return this.chain[this.chain.length - 1]
}
addBlockToChain(newBlock) {
// find the nearest block's hash
// which is the new block's previous hash
newBlock.previousHash = this.getLatestBlock().hash
newBlock.hash = newBlock.computeHash()
this.chain.push(newBlock)
}
// check the previous hash is equal to previous block's hash
validateChain() {
if (this.chain.length === 1) {
if (this.chain[0].hash !== this.chain[0].computeHash()) {
return false
}
return true
}
// check if current data has been change
for (let i = 1; i < this.chain.length; i++) {
const blockToValidate = this.chain[i]
if (blockToValidate.hash !== blockToValidate.computeHash()) {
console.log('data has been change')
return false
}
const previousBlcok = this.chain[i - 1]
if (blockToValidate.previousHash !== previousBlcok.hash) {
console.log('previous and current block lost connection')
return false
}
}
return true
}
}
```
最初始的 `chain` 只包含一个祖先区块,它没有 `previousHash`,并用 `bigBang` 方法进行初始化,`addBlockToChain` 方法实现了添加一个区块,并自动计算其 hash
`validateChain()` 方法,从三种情况去校验这个链是否合法。
1. 只有一个祖先区块时,校验祖先区块数据是否被篡改
2. 从第二个区块开始遍历是否有数据被篡改
3. 从第二个区块开始遍历是否有hash值被修改
检验代码是否有效
```js
const taurusxinChain = new Chain()
const block1 = new Block('转账十元', '')
taurusxinChain.addBlockToChain(block1)
const block2 = new Block('转账十个十元', '')
taurusxinChain.addBlockToChain(block2)
console.log(taurusxinChain)
console.log(taurusxinChain.validateChain())
// try to change the block data
taurusxinChain.chain[1].data = '转账一百个十元'
console.log(taurusxinChain.validateChain())
// try to change the block hash
taurusxinChain.chain[1].hash = taurusxinChain.chain[1].computeHash()
console.log(taurusxinChain.validateChain())
```
输出结果
```
Chain {
chain: [
Block {
data: '我是祖先',
previousHash: '',
hash: 'dbf4cebe91cf0212be8ee04289855fc17e0085d45a7b4c69eeb79e7c636b48fc'
},
Block {
data: '转账十元',
previousHash: 'dbf4cebe91cf0212be8ee04289855fc17e0085d45a7b4c69eeb79e7c636b48fc',
hash: 'f135810d2aa85703b2f7356877b95de3dad00955830d570568dd42dd52b93500'
},
Block {
data: '转账十个十元',
previousHash: 'f135810d2aa85703b2f7356877b95de3dad00955830d570568dd42dd52b93500',
hash: 'ec3caa66201967755657f30156f38207de23c897caa9aa3ca972f413b9a6a749'
}
]
}
true
data has been change
false
previous and current block lost connection
false
```
第一次生成区块链校验成功输出true
尝试更改第二个区块的数据,输出 `data has been change`
尝试更改第二个区块的hash值输出 `previous and current block lost connection`
## 下一阶段
- 工作量证明
- 生成钱包地址
- 加密
[1]: https://space.bilibili.com/43276908/

View File

@ -0,0 +1,23 @@
---
title: "我的日常工作环境(零)——介绍目录"
categories: [ "生活","程序人生" ]
tags: [ ]
draft: false
slug: "env-0"
date: "2020-08-05 12:11:00"
---
## 开个新坑吧
这篇文章开始,每一篇会阐述一下我的工作环境,包括但不限于实际环境,工作生产力环境等。
以下为目录
- [Windows 电脑生态][1]
- Apple 电脑、手机、平板生态
- 大学寝室布局 + 设备
- 我用的工具、家具、产品
- 娱乐设备(耳机、音响、游戏机等)
- 摄影装备(相机、镜头等)
[1]: https://blog.xingez.me/env-1

View File

@ -0,0 +1,53 @@
---
title: "我的日常工作环境(一)—— Windows 电脑生态"
categories: [ "生活","程序人生" ]
tags: [ ]
draft: false
slug: "env-1"
date: "2020-08-05 12:17:00"
---
## 前言
每一个大学生几乎都在入学时拥有自己的一台笔记本电脑,据调查 80% 左右的学生会选择极具性价比的5000元档位的笔记本按2020年初的配置来说忽略 AMD 的移动芯片,就 Intel 而言9代i5 搭配 8G内存 + 1650ti 等配置是主流选择,既可以流畅英雄联盟,也能中效吃鸡,算是笔电市场最为热门的选择了。然而就这样的搭配,据我一番搜寻之后,最贵的和最便宜的也相差了数千元,便宜的可能在 内存 / SSD 上面缩了水内存降点频率SSD 用 SATA 或者便宜 NVMe 的或者散热缩水主板接口也能砍刀只给到稀松的几个接口我竟然还能在2020年见到 USB2.0接口。
## 电脑选择
在如此环境下我选择了一套略微高一些的配置10代 i7 + 2060 的组合。
这样的配置基本都是7000元起步处于一个中等阶层的位置往下是1660ti往上是动辄万元的2070。
我为什么选择了入门级的2060首先其性能约为桌面版的1060其次是其拥有了光追单元可以去玩一些光线追踪游戏作为一个老 Minecraft 玩家自然是BE的光追版本。
![Minecraft基岩版光纤追踪][1]
我对于显卡的要求不高反倒是CPU因为平时游戏时间也不多更多的是来做生产力的工作编译代码尤其是node的工程拉一次库就要好久CPU 就选择了 主频2.6单核睿频能到5G的 i7 10750H至于为什么没选择AMD因为那时候搭载AMD处理器的笔电少之又少6、7月时联想有R7000但显卡依旧没给到2060。
![联想 R7000][2]
最终,我上了船
上船之前有做好翻船的准备,我选择的购买渠道是拼多多
2020年电商平台不再是淘宝天猫的京东的天下拼多多也来瓜分这个市场。
在选择了3天之后最终敲定了性价比最高的型号 G8-CU7NA拼多多618百亿补贴之后价格为6999十分香。
我选择的那家店铺为神舟的苏州总部发货,显示的顺丰物流发货点也是神舟的苏州工厂,稳!
收到货后,开箱,验机一气呵成,直接签收。
![G8-CU7NA.jpeg][3]
我又在京东购买了同型号的镁光 8G DDR4 2666内存没开机直接拆机加内存
简单说下配置
CPU为 i7-10750H内存双通道镁光的8GD4 2666硬盘为西数的SA530这是个槽点这个型号第一批是SN550现在第二批就换成了SATA自己又加了个去年的500G的三星860 EVO。显卡为最高TDP 90W 的 RTX2060电源换成230W。
屏幕是奇美的144Hz 17寸 IPS电竞屏色域覆盖72%NTSC我买这台电脑也看中了这个优秀的大屏幕第一观感比15寸大了不少边框也很窄。
重新装完 Win10 2004用上刚买的正版专业版秘钥后刷了解锁TDP的BIOS整机功耗墙上升到180W
单烤XTU最高温度85%左右频率3.6Ghz功耗45W
(此处无截图)
双烤 XTU + 甜甜圈CPU降频至2.8Ghz功耗降到25W显卡90W满载好评。
显卡90W需要开启CC中心的高性能模式
## 软件生态
(未完待续)
[1]: https://cdn.rhyland.cn/usr/uploads/2020/08/1995119058.jpg
[2]: https://cdn.rhyland.cn/usr/uploads/2020/08/1250702414.jpg
[3]: https://cdn.rhyland.cn/usr/uploads/2020/08/3036447667.jpeg

View File

@ -0,0 +1,39 @@
---
title: "服务器宕机事件"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "2020-server-down"
date: "2020-08-20 11:45:00"
---
今天兴致勃勃上博客查看,更新后台
发现任何方法都连接不上服务器SSH
不知道持续了多久我的怀疑是被D阿里云自动拉入小黑屋
无奈进入阿里云后台,连接远程一查看直接傻眼了。
直接无法启动实例
截图暂时找不到了有的话一定放出来
大概意思就是未能找到可挂载的系统分区
那我的资料呢?
好好在运行的服务器,怎么会突然丢分区的
重启之后来到选择引导的系统,发现只有第一个实例无法引导,说白了就是我配置了有多个内核的 centos
若不是这一手,我的数据将永远和我说再见了,各位也就看不到这篇文章了
重新引导之后,问题又来了,没有网络
`ping`不通任何网站,`ifconfig`查看之后,发现只绑定了本地回环地址 127.0.0.1
我大胆推测已经被阿里拉入小黑屋并且down掉了我的网络服务
`service restart network`
搞定了。
有惊无险
一点 chrome 的收藏夹,博客又能打开了,于是就诞生了这篇文章。
立马连上了 ssh备份了所有的博客资料数据库等
不知道这次事件是如何造成的我可能考虑重新更换服务器迁移至国内或者其它的VPS

View File

@ -0,0 +1,41 @@
---
title: "九月生活"
categories: [ "生活" ]
tags: [ ]
draft: false
slug: "2020-september"
date: "2020-09-01 01:36:00"
---
很难相信距离全国人民都宅在家里出小区门还要通行证的日子已经过去半年了2020年初这场突如其来的疫情打破了所有人的生活节奏。
我很喜欢儿时每年到秋季,在九月生活买几乎每个老杭州都吃过的月饼 —— 鲜肉榨菜月饼
![meat-mooncake.jpeg][1]
至今也不例外。
![package-mooncake.jpg][2]
(去年同一时间买的鲜肉榨菜月饼)
今年的月饼这几天应该已经开始卖了,明天应该会去店里排队。
不知道各位有没有自己童年秋天时候的回忆,可以留言分享一下
----------
下半年是极其特殊的半年,我要忙着刷雅思成绩,申请未来研究生的院校,说句实话,受疫情的影响,也不知道明年夏天能不能踏上飞往希斯罗的航班。
下个学期在校,~~可能~~ 一定会试着拍一些VLOG或者技术向的教程还有胶片相册集个人是个收集癖胶片这种即有年代回味感又实际摸得到还十分文艺的东西最适合我胃口了入这个坑也没多久胶片大大小小收集了十几卷也有了洗出来再放进盒子里是最好不过。
我觉得在这个数码时代,留有一点实体的相簿什么的,以后拿出来看还是挺有味道的,毕竟现在随手能拿起来拍的时代,有几个人会把照片反反复复的看好几次。大多数都是留在相册里面,作为二进制存在吧。
![text-film.jpg][3]
中二年代(也不算,大概是高中开始喜欢相机那会儿)发的微博
----------
九月的第一天希望在2020这个“完美数字”年份的最后一个季度能够完成自己3个月内的小目标
[1]: https://cdn.rhyland.cn/usr/uploads/2020/09/2295237810.jpeg
[2]: https://cdn.rhyland.cn/usr/uploads/2020/09/3665051347.jpg
[3]: https://cdn.rhyland.cn/usr/uploads/2020/09/2344206640.jpg

View File

@ -0,0 +1,21 @@
---
title: "Apple 特别活动 2020 - 预告"
categories: [ "科技趣谈" ]
tags: [ ]
draft: false
slug: "apple-2020-autumn-pre"
date: "2020-09-09 15:26:00"
---
Apple在昨天晚上十点半公布了2020年的秋季新品发布会的时间北京时间 2020年9月16日1:00这也是苹果第二次在线上开发布会。
(详见:[https://www.apple.com.cn/apple-events/][1]
来看一下这一次的活动主题
![apple-events.png][2]
在iOS设备上的 Safari经测试Chrome也可以点击中间的蓝色logo可以看到这个logo的线条变换为这一次发布会的时间9月15日美国时间
届时本博客将在发布会结束的第一时间发布全过程文章,敬请期待!
[1]: https://www.apple.com.cn/apple-events/
[2]: https://cdn.rhyland.cn/usr/uploads/2020/09/3785843574.png

View File

@ -0,0 +1,161 @@
---
title: "一文看完2020苹果秋季新品发布会"
categories: [ "科技趣谈" ]
tags: [ "Apple Event" ]
draft: false
slug: "apple-2020-autumn"
date: "2020-09-16 10:47:00"
---
本文整合转载至 [ITHOME][1]
----------
本次秋季新品发布会苹果将硬件产品焦聚在Apple Watch和iPad上总体来说是“4款产品2枚芯片2个服务”。
划重点本次发布会真的没有iPhone 12
### 一、四款硬件新品
#### Apple Watch Series 6支持血氧检测
Apple Watch Series 6的外观设计相较于上一代几乎没有改变但拥有 ProductRED、蓝色、墨色和新金色四种配色。
![Watch1.png][2]
在功能方面,**Apple Watch Series 6增加了血氧饱和度检测的功能**它可以利用全新的红外光传感器在大约15秒内测量用户的血氧水平这很适合经常在高海拔工作和运动的用户。
![Watch2.png][3]
苹果表示他们正在与卫生机构合作基于Apple Watch Series 6的血氧检测功能进行大规模研究尝试帮助人们利用这个功能检测是否感染COVID-19。
此外Apple Watch Series 6还带来了一些新表盘Memoji 功能也拓展到了 Apple Watch可将动画人脸放到表盘界面上。
还有就是**Apple Watch Series 6充电速度快了20%更搭载了U1超宽频芯片**。
Apple Watch Series 6还配备了全新的S6处理器性能提高20。此外苹果还带来了名为“ Solo Loop”的全新硅胶表带没有任何带扣可伸缩可上下滑动耐用且防水有七种不同颜色可供选择。
![Watch3.png][4]
Solo Loop还包含一款织物款表带有五种颜色可供选择。同时苹果还推出了一款新的皮革链接表带。
![Watch4.png][5]
苹果为 Apple Watch Series 6 推出家人共享设置功能,用户可以通过设定,查看家人的状态,比如控制孩子的学习时间,指定孩子打电话给谁。这个功能需要 Series 4 及更高设备。
![Watch5.png][6]
苹果表示为了减少碳排放量新Apple Watch包装中将剔除适配器USB电源适配器。另外watchOS 7 带来了睡眠追踪功能,并将很快为用户提供低 VO2 Max 水平的警告。
国行苹果 Apple Watch Series 6 **GPS 版 3199 元起售,蜂窝网络版 3999 元起售9 月 17 日接受订购9 月 20 日发售。**
#### Apple Watch SE2199 元起售蛮香
除了Apple Watch Series 6苹果还推出了一款Apple Watch SE。
![Watch6.png][7]
Apple Watch SE结合了 Series 6 的功能以及 Series 4 的表身提供40mm和44mm两种表壳尺寸。再加上全新的表带搭载上一代的S5 芯片同时缺少了心电监测ECG功能也没有始终显示功能。
![Watch7.png][8]
国行Apple Watch SE **GPS 版 2199 元起售,蜂窝网络版 2499 元起售9 月 17 日接受订购9 月 20 日发售。**
#### 第 8 代 iPadA12仿生芯片加持
iPad方面苹果首先推出的是第8代10.2英寸iPad最大的看点是加入了Apple pencil 的支持配合iPad OS 14 可以带来更好的体验。
**第8代iPad搭载的是A12 仿生芯片**,这枚芯片首发于 iPhone Xs 系列和 iPhone Xr是当年业界首款 7nm 芯片,包含一个六核 CPU由两个 “性能”核心和四个 “效率”核心组成),一个四核 GPU相比前代芯片实现了 40% 的 CPU 提升和 2 倍的 GPU 性能提升。
![iPad1.jpeg][9]
此外第8代iPad还支持全尺寸智能键盘以及现有的其他第三方键盘。
![iPad2.jpeg][10]
全新第8代 iPad 国行32GB版本**无线局域网机型2499元蜂窝网络机型3499元而128GB无线局域网机型2999元蜂窝网络机型3999元**将于9 月 17 日接受订购9 月 20 日发售。
#### 2020款iPad Air怒抢iPhone 12 A14仿生芯片首发位
除了第8代iPad苹果今次还推出了全新设计的2020款iPad AiriPad Air 4。2020款iPad Air在外观上采用了类似目前iPad Pro的设计直角中框全面屏看起来像是迷你版的iPad Pro。
![iPad3.png][11]
2020 款 iPad Air 搭载了 10.9 英寸的视网膜屏分辨率为2360 x 1640。这块屏幕支持多项先进的显示技术如 P3 广色域、原彩显示以及抗反射涂层。同时它还搭载了700万像素前置摄像头支持Smart HDR后置摄像头为1200万像素支持4K60fps视频的拍摄防抖效果也有所增强。此外iPad Air的扬声系统也经过了重新设计横屏状态下可播放立体声效果。
![iPad4.png][12]
由于新款 iPad Air 采用了全面屏设计又没有Face ID苹果将Touch ID 传感器集成到了设备顶部的电源按键上。这款 Touch ID 模块采用了蓝宝石镜头和新一代定制传感器,可以有效地捕捉指纹的细节。
![iPad5.png][13]
处理器方面,新款 iPad Air 搭载了 A14 仿生处理器,采用了 5nm 工艺可以在较低功耗下获得出色的性能。此外2020款 iPad Air 搭载了 USB-C 接口,支持通过磁力将 Apple Pencil 吸附在一侧,进行充电和收纳,且同样支持妙控键盘。
![iPad6.png][14]
### 二、两枚芯片
#### A14仿生芯片首发5nm工艺
和以往不同今年苹果的旗舰芯片A14仿生处理器不是在新iPhone上首发而是在2020款iPad Air上首发。苹果 A14 仿生芯片使用了全新的 6 核设计2 高频 + 4 节能核心),首发目前最先进 5nm 工艺制程,其晶体管的尺寸以原子为单位,拥有 118 亿个晶体管,甚至比桌面 x86 处理器还多。
![Chip1.png][15]
和A12仿生芯片相比A14 的 CPU 性能提升 40%GPU 性能提升超 30%,苹果称其图形性能是同类 Windows 笔记本的 2 倍,其每秒可执行 11 万亿次操作,神经引擎将机器学习性能提高了 2 倍。整体上相比上代iPad Air快了将近十倍。
![Chip2.png][16]
在发布会上,软件开发者们也分享了 A14 带来的强大性能,展示了其运算性能、图像处理性能得到全方位提升,以及在机器学习方面的功能提升。
#### Apple Watch S6芯片基于A13仿生打造
除了A14仿生芯片这次发布会还有另外一枚芯片就是在Apple Watch Series 6上搭载的Apple Watch S6芯片这枚芯片采用新一代的SiP系统封装技术SiP封装就是将各种不同功能的芯片封装在一起达到缩小体积的作用。
![Chip3.png][17]
在S6芯片中包含一枚高性能双核处理器**它是基于iPhone 11的A13仿生芯片打造的**在Apple Watch端进行了优化相比前代运算速度快了20%。
### 三、两项服务
#### Apple Fitness + 服务
配合新款Apple Watch苹果在本次发布会上推出了全新的 Fitness + 服务,这款软件最主要意义的是弥补运动课程方面的不足,并支持多种主流运动。
Apple Fitness + 服务不仅可以在使用者锻炼的过程中通过 Apple Watch 显示包括心率、卡路里、步数和距离等指标,还可以在在锻炼结束后,给出全面总结。
![Service1.jpg][18]
通过Fitness +,用户可以从 iPhone、iPad 或 Apple TV 上的视频目录中选择锻炼方式,在 Apple Watch 锻炼应用中启动正确的视频,将指标发送到用户正在查看锻炼的屏幕上,达到实时同步。
Fitness + 为付费服务,售价为每月 9.99 美元,每年 79.99 美元。苹果表示,购买 Apple Watch 可免费获得 3 个月的服务。
#### Apple One 服务
苹果在本次发布会上还推出了 Apple One 服务,将 Apple Music、Apple TV Plus、Apple Arcade、Apple News Plus 和 iCloud 存储整合在一起,该捆绑服务还包括新公布的 Apple Fitness Plus。
![Service2.png][19]
Apple One 服务包含三项套餐,分别是个人版售价 14.95 美元,家庭版售价 19.95 美元,和高级版售价 29.95 美元,用户可根据自身情况购买。
### 四、其他
本次发布会还有一些其他的看点IT之家整理如下
- 苹果 iOS 14/iPadOS 14/watchOS 7/tv OS 14正式版于当地时间 9 月 16 日(北京时间今日)正式推送,大家注意查收。
- iOS 14 和 iPadOS 14 的 GM Golden Master版本也已经推送。
- 苹果CEO库克在发布会上表示iPad的购买者中有 53% 是 iPad 的新用户,目前,苹果已售出超过 5 亿台 iPad。
- Apple Watch Series 5目前已从官网下架。
- 第8代iPad和2020款iPad Air均采用100%循环利用铝外壳主逻辑板也采用100%循环利用的锡焊料。
- 从去年开始铝金属外壳的Apple Watch均采用100%循环利用铝同时苹果在Taptic Engine 中 100% 回收了稀土和钨元素。
[1]: https://www.ithome.com/0/508/989.htm
[2]: https://cdn.rhyland.cn/usr/uploads/2020/09/1919259477.png
[3]: https://cdn.rhyland.cn/usr/uploads/2020/09/888846759.png
[4]: https://cdn.rhyland.cn/usr/uploads/2020/09/3228330654.png
[5]: https://cdn.rhyland.cn/usr/uploads/2020/09/2915725804.png
[6]: https://cdn.rhyland.cn/usr/uploads/2020/09/3610135854.png
[7]: https://cdn.rhyland.cn/usr/uploads/2020/09/3669373774.png
[8]: https://cdn.rhyland.cn/usr/uploads/2020/09/3206779559.png
[9]: https://cdn.rhyland.cn/usr/uploads/2020/09/102658718.jpeg
[10]: https://cdn.rhyland.cn/usr/uploads/2020/09/3543212861.jpeg
[11]: https://cdn.rhyland.cn/usr/uploads/2020/09/1701394577.png
[12]: https://cdn.rhyland.cn/usr/uploads/2020/09/830367018.png
[13]: https://cdn.rhyland.cn/usr/uploads/2020/09/1890427557.png
[14]: https://cdn.rhyland.cn/usr/uploads/2020/09/165089096.png
[15]: https://cdn.rhyland.cn/usr/uploads/2020/09/958838781.png
[16]: https://cdn.rhyland.cn/usr/uploads/2020/09/1928107183.png
[17]: https://cdn.rhyland.cn/usr/uploads/2020/09/438523520.png
[18]: https://cdn.rhyland.cn/usr/uploads/2020/09/459787715.jpg
[19]: https://cdn.rhyland.cn/usr/uploads/2020/09/1198378110.png

View File

@ -0,0 +1,10 @@
---
title: "搞点事情"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "gaoshiqing-1"
date: "2020-09-21 16:03:00"
---
为了提升英语学习水平贯彻落实雅思6.5的目标,近日起,短时间内将采用全英文写博客的形式来书写接下来的文章,敬请期待。

View File

@ -0,0 +1,16 @@
---
title: "The Art of Computer Programming (0) - introduction"
categories: [ "心灵随想","读书笔记" ]
tags: [ ]
draft: false
slug: "taocp-01-introduction"
date: "2020-09-21 17:23:00"
---
With less school course lately, I had time to read this series of books called 'The Art of Computer Programming', which is without a doubt the bible of the computer science community. The reason I started reading this book was because my friend Rogister recommended it to me, so I purchased it just about one year ago. But for variety reasons, I procrastinate for a long time, so that it was only after taking the first IELTS test recently that I had the time to pay a visit.
Open this book and turn the first page, there was a page of comments from various famous people about the book, and one of them said, "If you think you're a good programmer, go read Goldner's The Art of Computer Programming, and if you do get through it, you'll no doubt send me a resume!
This sentence cames from Bill Gates.
And for a long-term plan, I'll place the reading notes to the coming posts.

View File

@ -0,0 +1,25 @@
---
title: "Innovation plan"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "renew-plan"
date: "2020-09-30 01:52:00"
---
Writing this post late at night, trying to revamp the blog
This topic is also currently available for a fee, so if you've read the previous articles, you should have some idea of what this topic is about.
The current plan is
Replace the theme with a new, richer one
Access to Continental Cloud Accelerated CDN
The blog is currently hosted on the Hong Kong node of Aliyun's lightweight application server, which is very unfriendly to mainland users (especially mobile).
The purpose of connecting to CDN is to make the first time users have a good experience when they open this blog, excessive page load time will indeed lose some users!
Content distribution network better helps SEO
That's all for now.
The whole process should last for a while, starting on October 5th, and will last for about 3 days, during which time the homepage will be transformed into a work-in-progress interface.
Stay tuned!

View File

@ -0,0 +1,21 @@
---
title: "Blog update log"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "renew-2020"
date: "2020-10-07 18:51:00"
---
It took some time, but I finally finished revamping the blog, so let's talk about what I did!
### Theme
First up is the brand new theme, here using the original paid theme from https://www.ihewro.com/.
The revamp took about 5 hours to configure the theme, plugins, etc.
Overall, the follow up was the following
- Click on the left avatar to enter the time machine
- Archiving Timeline.
- message board
The new theme uses a site-wide PJAX load, that is, when you click on the link does not feel the page jump, partial refresh of the page!

View File

@ -0,0 +1,46 @@
---
title: "阿里云 Teambition 网盘内测体验报告(未完待续)"
categories: [ "测评","科技趣谈" ]
tags: [ ]
draft: false
slug: "teambition-pan"
date: "2020-10-13 21:52:00"
---
### 拿到内测
今年在 Teambition 的网盘开始内测的时候开始申请10月12日晚收到了思否的内测码直接注册账号激活。
### 体验报告
目前网盘还处于一个灰色内测阶段,很多应有的功能都还没有上线
#### 客户端
现在有 Web / iOS / Android 的三方客户端,后两者其实也是 Web做了移动适配。
目前上传只能在 PC 的 Web 端上传文件。
![主页.png][1]
![iOS客户端.png][2]
iOS客户端尚未完善
----------
大约2年前开始进行前端学习习惯性看了下网站的技术架构
![架构.png][3]
- Node.js Webpack
- Express 服务框架
- React 前端框架
#### 上传
上传文件方面直接能跑到比较快的速度由于目前在学校的原因没法使用高速网络学校宽带太辣鸡限速20Mbps
在低峰期用电信手机的热点测了下上行能上到5M/s。还未测得上限
11月会从学校回家用家里的宽带测试一下上下行
#### 下载
大家最关心的下载速度。从请求来看目前网盘的文件内容都存在于阿里云的OSS上
之前的截图中我上传了几个测试文件其中一个2.9GB的压缩包在我远程连接上家里的NAS用家里宽带下载测速结果如下
[1]: https://cdn.rhyland.cn/usr/uploads/2020/10/3663759920.png
[2]: https://cdn.rhyland.cn/usr/uploads/2020/10/1621281381.png
[3]: https://cdn.rhyland.cn/usr/uploads/2020/10/4135829782.png

View File

@ -0,0 +1,27 @@
---
title: "颓废期"
categories: [ "生活","心灵随想" ]
tags: [ ]
draft: true
slug: "sad-days"
date: "2020-10-28 17:23:00"
---
最近不知道怎么回事
睡太久了
大概是学校里课太少的缘故
每天有将近四分之三的时间空闲
整个人也觉得很颓废
往往就是
打开一个项目发呆好一会儿然后关掉IDE
每天都会重复
没有写代码的心情
恰逢换季时期,又感冒了
让我这个长期鼻炎患者更加痛苦
本科申请了考文垂
希望能尽早拿到offer
这一期标题姑且称之为颓废期吧

View File

@ -0,0 +1,16 @@
---
title: "Rabbit and turtle 's running battle"
categories: [ "生活","心灵随想" ]
tags: [ ]
draft: true
slug: "overcome-barries"
date: "2020-11-04 15:16:00"
---
For a long time, I felt that the people around me kept surpassing myself again and again, people who were not as good at technology as myself learned various technology stacks, and people with less education than myself caught up and went to elite schools.
As the title says, the tortoise and hare race is an eternal story.
I've really been feeling out of shape lately, and I also promise this is the last time I'll post an article like this, and I need to get adjusted as soon as possible in the short term, starting with making sure I have plenty of time to work and study.
Good luck and peace.

View File

@ -0,0 +1,131 @@
---
title: "Vue Axios请求数据 + 子组件渲染踩坑实例记录与解决方案"
categories: [ "程序人生","前端技术" ]
tags: [ ]
draft: false
slug: "vue-issue-1"
date: "2020-11-09 09:37:00"
---
今日用 Vue 做前端学习时,踩到了一个大多数人都踩过的坑,特此记录。
代码如下:
**parent.vue**
```html
<template>
<div>
<hello :data="message"></hello>
</div>
</template>
<script>
export default {
components: {
Hello
},
data() {
return {
message: ''
}
},
created() {
axios.get('/static/data.json').then((response) => {
this.message = response.data.message
})
}
}
</script>
```
**child.vue**
```html
<template>
<div>
<h1>{{ message }}</h1>
</div>
</template>
<script>
export default {
name: 'Hello',
props: ['message'],
created: {
console.log(this.message)
}
}
</script>
```
乍一看没啥问题父组件created钩子进行axios请求子组件拿到时在控制台输出数据。
但是控制台却报错了message undefined
查了半天,生命周期也查过了,没有问题。
原因十分简单就是父组件在进行axios请求时子组件还没有拿到message数据
所以在进行console.log的时候 数据自然不能输出
报错 undefined
当然,在子组件的视图中,能够正常显示。
因为数据请求十分快速又因为是Vue的双向数据绑定所以更新渲染视图那一步就容易被忽略。
## 总结
异步编程很容易踩坑,尤其是前端的做 XHR 请求的时候,十分容易没拿到数据就急着往视图上面渲染。
解决方案可以在视图上加一个v-if
**child.vue**
```html
<h1 v-if="message.length != 0">{{ message }}</h1>
```
第二个解决方案就是用 Vuex 管理全局状态。
**vuex / index.js**
```js
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
message: ''
},
mutations: {
changeData(data) {
this.message = data
}
},
actions: {
getDataAction({ commit }) {
axios.get('/static/data.json')
.then((res) => {
commit('changeData', res.data)
})
.catch((error) => {
console.log(error)
})
}
}
})
```
**child.vue**
```html
<template>
<div>
<h1 v-if="this.message.length != 0">{{ message }}</h1>
</div>
</template>
<script>
import {mapState, mapMutations} from 'vuex'
export default {
created(){
this.$store.dispatch('getDataAction') // 实例创建时调用异步方法
},
computed:{
...mapState({
message: ''
})
},
methods:{
changeData(data){
this.$store.commit('changeData',data)
}
}
}
</script>
```

View File

@ -0,0 +1,42 @@
---
title: "内置代码样式升级"
categories: [ "前端技术" ]
tags: [ ]
draft: false
slug: "code-highlight-plugin"
date: "2020-11-18 18:04:00"
---
刚刚做了一些博客的调整,包括友链,各位可以申请友链了。
新增了[代码高亮插件][1]感谢作者。我也进行了一些CSS的调整比如适配了各种移动设备并且能够根据移动设备是否开启夜间模式进行自适应各位可以切换一下手机的夜间模式看一下主题的变化。
**随便引一段JS代码**
```js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ViewUI from 'view-design'
import 'view-design/dist/styles/iview.css';
Vue.use(ViewUI);
Vue.config.productionTip = false
router.beforeEach((to, from, next) => {
if (to.meta.title) {
document.title = to.meta.title
}
next()
})
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
```
[1]: https://www.xcnte.com/archives/523/

View File

@ -0,0 +1,79 @@
---
title: "H5 Canvas前端绘图库 Fabric 简单应用"
categories: [ "前端技术" ]
tags: [ ]
draft: false
slug: "fabricjs"
date: "2020-12-09 12:46:00"
---
圣诞节又快到了,又到了全民给微信头像加圣诞帽的时候了。
撸了一个纯前端实现的加圣诞帽的页面,[点击前往][1]
## JS引用
```js
<script src="https://cdn.bootcdn.net/ajax/libs/fabric.js/4.2.0/fabric.min.js"></script>
```
直接用 bootcdn 引用 fabric.js 最新版
## 构建 fabric 对象
```html
<div class="body" id="uploadContainer">
<img id="export" alt="圣诞快乐" src="" />
<canvas id="cvs"></canvas>
<div style="display: none">
<img id="img" src="" alt="" />
<img class="hide" id="hat0" src="./hat0.png" />
<!-- 此处省略其余帽子图像-->
</div>
```
部分DOM内容只保留关键组件
```js
var screenWidth = window.screen.width < 500 ? window.screen.width : 300 // 计算是最终输出大小适配移动端
canvasFabric = new fabric.Canvas('cvs', {
width: screenWidth ,
height: screenWidth ,
backgroundImage: new fabric.Image(img, {
scaleX: screenWidth / img.width, // 强制缩放至正方形
scaleY: screenWidth / img.height,
})
```
要对 canvas进行操作首先要构建一个对象
```js
hatInstance = new fabric.Image(hatImage, { // 以一个img DOM创建fabric图像对象
top: 40,
left: 50,
scaleX: 100 / hatImage.width,
scaleY: 100 / hatImage.height,
cornerColor: '#0b3a42',
cornerStrokeColor: '#fff',
cornerStyle: 'circle',
transparentCorners: false,
rotatingPointOffset: 30,
})
hatInstance.setControlVisible('bl', false) // 默认的对象都会有控制大小的手柄,此处关闭几个
hatInstance.setControlVisible('tr', false)
hatInstance.setControlVisible('tl', false)
hatInstance.setControlVisible('mr', false)
hatInstance.setControlVisible('mt', false)
canvasFabric.add(hatInstance) // 添加实例到画布中
```
随后就是在头像图上绘制圣诞帽
创建一个 Image 对象,并将其添加到画布中。
```js
exportImage.src = canvasFabric.toDataURL({ width: screenWidth, height: screenWidth })
```
最终将画布内容输出到img DOM中移动端长按保存桌面端右键保存。
## 源码
[button color="light" icon="" url="https://cdn.rhyland.cn/typecho/2020/12/09/christmas_hat.zip" type="round"]点击下载[/button]
[1]: https://blog.xingez.me/christmas_hat

View File

@ -0,0 +1,15 @@
---
title: "本站简易网盘已上线"
categories: [ "程序人生" ]
tags: [ ]
draft: true
slug: "pan"
date: "2020-12-20 20:53:00"
---
网址http://pan.xingez.me
自由注册,自由上传文件
受本服务器带宽限制,最高下载速度为 30Mbps
用著名的 FileBrowser 搭建的后端程序
SSL证书稍后安排上

View File

@ -0,0 +1,41 @@
---
title: "双旦"
categories: [ "心灵随想" ]
tags: [ ]
draft: false
slug: "double-festival-2020"
date: "2020-12-27 01:14:00"
---
又到了12月又是一年一度的双旦节。每一次过节尤其是在学校里都是一个人。
不知不觉就三年了,持续了三个圣诞。
一般都是吧,一个人听歌敲键盘,边上放着一杯刚冲好的加 1 Shot Americano
如果有我微信的朋友应该知道,从进入大学开始的第一年,每年圣诞就会听一首歌。
[hplayer title="圣诞结" author="陈奕迅" url="https://cdn.rhyland.cn/typecho/2020/12/27/%E9%99%88%E5%A5%95%E8%BF%85%20-%20%E5%9C%A3%E8%AF%9E%E7%BB%93.mp3" size="large" auto="false" /]
希望你也很喜欢陈奕迅
Eason十年老粉不请自来这首歌真的很诠释我在每年圣诞的体验。
[scode type="share"]我住的城市,的确从不下雪
记忆堆满了冷的感觉
只能独自庆祝尽量喝醉
Lonely Christmas
想祝福不知该给谁
[/scode]
今天也和朋友聊到,为什么要一个人过。
老一辈的人,尤其是我爸妈这一代,或者说,有一部分像我一样的人,不会去过这些国外人的节日,觉得那些事年轻人的事儿。我老了?瞬间反问自己这一句,但好像说的也没有错,从某些角度来说,我和别人不一样,毫不客气的说,我有一种跳脱性的思维,总会发自内心的看不起身边的人,这一点我有愧于我的朋友们,就感觉为什么你要和我做的不一样,我认为是,客观方面我做的就是正确的,也从一些事例上印证了这一点,我的心理年龄层段远大于同龄人。
以上只是一些自我的想法,毕竟这篇文章的频道是在心灵随想这个分类之下,想怎么说就怎么说。
定一个小目标吧,在明年出国之前,做到周更博客,周末更新。
因为周末的时间更有足够的想法去支撑做某一件事情,也愿你愿意参与到监督。
也立个flag周更失败即在周日晚上零点之前没有更新博客随机评论区抽红包吧~(好像没评论)
一个人有一个人的好处,哦对,今年元旦打算过一些不一样的,因为一号是周五,连上周末就是三天假期,看了下学校课表,正好那一周之后就停课了,我的专业没有期末考,也就可以连上下周的时间,给自己放松一下,出趟远门。
可能下周就是旅行日记了哈哈。
当然疫情当下,还是希望各位能够保护好自己,出门戴口罩。
2020/12/27 凌晨

View File

@ -0,0 +1,37 @@
---
title: "元旦"
categories: [ "旅记" ]
tags: [ ]
draft: false
slug: "20210101"
date: "2021-01-04 13:48:00"
---
元旦简单和朋友聚了一下,在杭州淳安千岛湖。
![1.jpg][1]
31号晚上到的直接定了Airbnb民宿
![6.jpg][2]
跨年当晚竟然错过了00:00此时正在打电动
![2.jpg][3]
定的是湖景房,下楼就是湖边,景色宜人,就是有点冷
![3.jpg][4]
第二天下午,游湖。
![4.jpg][5]
至高观景点,人还是有点多的
![5.jpg][6]
晚上吃的特色鱼头汤,就一字鲜
就游了2天随手拿的 iPhone 12 Pro 的 Proraw 照片 + 简单调色不得不说这一次的Pro镜头特别强尤其是raw主观感觉比各种堆料国产机要实用。
[1]: https://cdn.rhyland.cn/typecho/2021/01/04/1.jpg
[2]: https://cdn.rhyland.cn/typecho/2021/01/04/6.jpg
[3]: https://cdn.rhyland.cn/typecho/2021/01/04/2.jpg
[4]: https://cdn.rhyland.cn/typecho/2021/01/04/3.jpg
[5]: https://cdn.rhyland.cn/typecho/2021/01/04/4.jpg
[6]: https://cdn.rhyland.cn/typecho/2021/01/04/5.jpg

View File

@ -0,0 +1,51 @@
---
title: "原版 Office 2019 (Windows) 专业增强版 VL 镜像"
categories: [ "程序人生" ]
tags: [ ]
draft: true
slug: "office2019"
date: "2021-01-28 12:43:00"
---
刚买电脑的小白都会装什么WPS不会装原版 Office现在特地将自己用的 Office2019 专业增强版的镜像放出来每隔2周更新一次其实安装一次之后都会自动更新了我只是保证镜像为最新版本。
版本为2019专业增强批量版
仅包含办公三件套Word / Excel / Powerpoint
**目前2021预览版已出暂时先不打包**
下载资源为自费 OSS + CDN请珍惜流量且用且珍惜。
[scode type="share"]当前版本16.0.10371.20060
!!!
更新时间:<span><span id="release-date"></span> (<span id="time-pass"></span> 天前)</span>
<script>
var release= '2021/02/11';
var now = new Date();
document.querySelector('#release-date').innerHTML = release;
var time = now.getTime() - new Date(release).getTime();
var days = Math.floor(time / (24 * 3600 * 1000))
document.querySelector('#time-pass').innerHTML = days;
</script>
!!!
MD5e10f0a38371c977e18dcc7f68dc4268f
SHA-1836bbdd4a3d256271924ec65efd6c5cc9995bcd2
[/scode]
#### 历史版本
正在开发中保留最近10个版本敬请期待。
**安装方法**
挂载ISO之后双击 `Office Tool Plus.exe` 安装即可
**激活**
KMS 激活服务器地址xingez.me
**下载地址(防止滥用,回复后刷新可见,忽略提示要审核):**
[hide]
[button color="light" icon="" url="https://cdn.rhyland.cn/office/Office_Tool_Plus_16.0.10371.20060.iso" type=""]下载 16.0.10371.20060[/button]
[/hide]

View File

@ -0,0 +1,16 @@
---
title: "新春快乐~"
categories: [ "杂七杂八" ]
tags: [ ]
draft: false
slug: "happy-2021"
date: "2021-02-10 09:23:00"
---
辞旧迎新之际在此给所有支持过我们团队的朋友们以及各位陌生朋友们拜年了祝各位在新的一年内写代码没有bug调试一遍过像我这样的苦逼CSer早日找到女朋友~
----------
感谢朋友们对我博客的支持现在开始截止大年初一晚上10点评论区抽1个微信现金红包88.88。
开奖规则:评论区留言邮箱地址,中奖者会收到邮件,回复微信或支付宝收款码,直接给现金红包~
诶嘿,顺便看看有多少朋友在看我的博客。

View File

@ -0,0 +1,23 @@
---
title: "「Notion」年度订阅服务总览"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "notion-subs"
date: "2021-02-24 10:16:00"
---
最近notion使用上瘾。
今天逛[罗磊博客][1]发现了一个有意思的订阅服务管理notion模版就直接复制过来了在此感谢罗磊老师提供的模版
可以参考「我的年度订阅」一年算下来大概9000不到的样子算是不少了主要开支都在软件服务订阅上个人在云上花费的钱比较少。
notion链接[button color="light" icon="" url="https://www.notion.so/ae97700d125d4465abe9725d16d7b858?v=f592578996724e7087895c58a7500030" type=""]订阅服务管理模版[/button]
![Xnip2021-02-24_10-19-40.png][2]
[1]: https://luolei.org
[2]: https://cdn.rhyland.cn/typecho/2021/02/24/Xnip2021-02-24_10-19-40.png

View File

@ -0,0 +1,22 @@
---
title: "整理情绪"
categories: [ "心灵随想" ]
tags: [ ]
draft: true
slug: "tidy-emotions"
date: "2021-03-04 23:37:00"
---
我是有多久没有翻出来那些压箱底的歌来听了,大概是从初中开始就很喜欢听一些纯音乐,翻了翻网易云喜欢的歌曲,最前面的一百多首都是些钢琴曲,那时候最喜欢的就是韩国的一个钢琴家叫 Yiruma前面有一大部分都是他的作品不乏耳熟能详的一些。其它还有诸如 pianoboy 亦或是日本的一些作曲家的作品,也是经典。
整理情绪应该就是把自己的内心划分出几块区域。我应该是许久没有回归到那一片安静的领域了自从几年前开始就好像失去了对一切事物的耐心程度在以前我能通宵去debug一条程序现在却是——“不如明天写吧”。直到前几天年后大概半个月的样子开学前夕这一段最无聊的时间开始寻找事情给自己做就拿起包里面吃灰很久的耳机回顾那些以前听过的歌...纯音乐之类的。
听着听着就感觉找回了以前的自己,反应过来的时候已经凌晨三点了。
这段时间是我感觉到奇怪的一段时间以往2点才睡第二天能睡到12点现在2点是属于那种完全hold不住的样子往往12点就休息了第二天8点就醒来觉得亢奋就开始工作。
大概从昨天开始,返校的下午,才差不多正常过来。
今年要离开中国一个人去到大洋彼岸读书,内心心态多多少少会有点变化,总觉得这最后一个学期得好好把握。当然也说不准,我就是这种多愁善感的人。
PS咖啡对工作真的很重要给各位推荐一个最近的星巴克手冲豆子是夏威夷的卡雾KAU这名字也是挺好听的最重要的是符合我的口味略苦酸味低有特殊的果香味道在里边很清爽。

View File

@ -0,0 +1,36 @@
---
title: "「项目实战」基于uni-app和Python flask的校园微信小程序 01.简介"
categories: [ "程序人生","商业项目" ]
tags: [ ]
draft: false
slug: "yiyu-intro"
date: "2021-03-13 12:13:00"
---
团队刚刚成立之初,就接到了一个小项目,甲方要求是制作一个微信小程序,给出了各个模块的介绍,然后由我们自由发挥,只要最后交付时满意就行。
介于甲方隐私,小程序名字暂时隐藏
校园小程序说多不多说少也不少现在很多学校都用上了各种各样的便捷小程序有些学校还开发了APP大部分的小程序功能都集成了这些功能`校园外卖` `快递代拿` `课表浏览` `微型教务`等。
**本系列文章为介绍小程序的架构及设计逻辑是我们的第一个商业项目难免会有各种疏漏还请各位大佬见谅。另外考虑到客户隐私问题就不在此放出部分UI截图或代码。**
#### 框架
我们接到这个项目之后,就开始了技术栈的选择,因为是第一次接商业项目,光经验就不谈,技术栈的选择尤为关键,若选择了较为复杂的解决方案,开发周期就会大大加长,到不了甲方的约定交付周期就违约了。在综合考虑之下,因为小程序的体量不大,功能相对来说比较好做,在前端方面不使用原生开发,而是使用`uni-app`这套跨平台的UI库好处就是开发模式与Vue写web前端十分相似开发逻辑上也是mvvm和声明式绑定因为这个库就是用vue做的前端框架。uni-app完成开发后可以直接打包到H5, iOS, Android, 微信小程序, 支付宝小程序等一系列内置了小程序的平台。
后端的开发用spring感觉没有必要毕竟是一个简单的小项目想起来python对于简单的webapp开发也是十分便捷然后考虑到交付周期的问题最后选择了flask作为后端框架进行开发优点是开发极其便捷路由管理也十分方便。还有就是因为有课表模块课表又是从学校的教务系统上爬取的自然肯定是选择python语言兼顾了web api和爬虫。
后端数据库用的是mysql 5.7版本这里会遇到一个小问题就是在获取到用户名之后要存储到数据库因为部分用户的微信昵称是带有emoji的直接用mysql默认编码存不进会报错因为mysql是四字节编码所以在建库和建表时要将排序规则改为`utf8mb4_unicode_ci`
#### 模块
这一次我们开发的校园小程序,从大体模块上分为以下几个
- 课表浏览
- 快递代拿
- 文件代打印
- 课表提醒
- 个人中心
- 地址管理
- 个人信息管理
下一篇文章将介绍本项目的前端技术

View File

@ -0,0 +1,40 @@
---
title: "本站已接入 HTTP3/QUIC"
categories: [ "前沿技术探索" ]
tags: [ ]
draft: false
slug: "http3-enabled"
date: "2021-03-14 12:32:00"
---
在去年的时候本站正式接入了TLS1.3使得TLS握手更快从而加快体验。
2020年10月Google 正式宣布 Chrome 将支持 HTTP3
在最近一次的网站升级中,本站正式支持了 HTTP3。
![http3.png][1]
目前本站支持HTTP3最新草案版本为 `H3/29`
Chrome 启用 HTTP3 方法在chrome启动命令行后添加如下选项
` --enable-quic --quic-version=h3-29`
`"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-quic --quic-version=h3-29`
![chrome.png][2]
注意空格
macOS上也是相同方法只不过需要使用命令行来启动
#### 后言
因为国内运营商对于UDP支持欠佳所以目前HTTP3只是在实践过程中期待以后的表现。
[1]: https://cdn.rhyland.cn/typecho/2021/03/14/http3.png
[2]: https://cdn.rhyland.cn/typecho/2021/03/14/chrome.png

View File

@ -0,0 +1,86 @@
---
title: "Windows 技巧分享(一)安装篇"
categories: [ "操作系统" ]
tags: [ "Windows 10 技巧" ]
draft: false
slug: "windows-skill-01"
date: "2021-03-21 13:18:00"
---
### 回忆
在介绍本系列文章之前,先谈一谈我对于 Windows 系统的了解。
对于 Windows 系统来说我是一个忠实的老用户了我记忆中小学上电脑课的时候那时我对于计算机知识是几乎为0的但我记忆最清楚的就是那时候机房的操作系统是 **Windows 2000**。那个界面,怎么说,就永远也不可能忘记的,直接上个图!
![Windows 2000][1]
那时候我学习的第一个软件就是 Windows 的经典画图。
直到2010年5年级学校机房迎来一次重大升级从原先的老奔腾换成了酷睿2系统也换成了那时候最流行的 **Windows XP**Windows 7 那时候还不流行,因为 Windows 7 是2009年发布的。记得那时候我是电教委员每次上课前帮老师开机开机后机房内一片绿色壁纸亮起。现在我知道我的青春不会再回来了QWQ。
### 装系统
人生苦短,我用 Ghost。这句话放在五六年前可能还会有人用 Ghost 去安装 Windows 7甚至XP系统。一键安装驱动自带常用软件360全家桶……
在过去的时间里,我一直都是用 Windows PE安装我用过的PE有大白菜、老毛桃等后来改为极度简洁的微PE直到前两年我换成了IT天空的**优启通**应该是目前市面上最好用的PE了。不过直到我上了大学之后我发现PE无非也就是安装系统用这么多功能都不常用到至于说清除密码我想也不太会有人现在还会中当年特别流行的改系统密码勒索病毒了吧。
---
##### 于是我就投向了微软官方原版镜像的怀抱之中
#### 启动工具制作
这也是官方最推荐的做法,就是使用官方的制作工具制作启动盘
首先要准备一个U盘16G 为最佳,这里推荐我自己用的闪迪 CZ73 16G日常就作为给同学、朋友或老师的系统安装盘。
然后去微软官方网站https://www.microsoft.com/zh-cn/software-download/windows10下载制作工具截止发稿目前官方释出最新版为 `Windows 10 2020 年 10 月更新`20H2-October Update
选择你的U盘制作就可以了注意一定要选择 Windows 10 的 **不带家庭版 **和 **64位系统**
#### 镜像下载制作
当然也可以使用原版ISO进行安装这个方法与使用制作工具同理都是将ISO写入U盘不过一个是官方工具写入这个是自助写入。强迫症总规是跟着官方的办法来嘛。
依旧是打开官网下载链接https://www.microsoft.com/zh-cn/software-download/windows10看到如下界面。
![Windows 10 下载页面 1][4]
那么问题来了,如果是 Windows 操作系统,打开该网站则会让你下载升级工具,没办法进入如图所示页面,该怎么办
这时候就需要插件来辅助了,如果不想用插件,可以用 Chrome 自带的 UA 修改具体方法见链接https://www.imooc.com/article/253385
插件则使用 User-Agent Switcher and Manager它长这样在 Chrome 应用商店和 Edge 应用商店都能下载到。
![User-Agent Switcher and Manager][6]
只要将你的访问UA切换为 macOS 就行了。
![Windows 10 下载页面 2][7]
选择 Windows 10选择你喜欢的语言选择64位版本下载即可。
下载完即会得到ISO的原版镜像可以使用软碟通UltraISO写入你的U盘这是第二种方法。
#### 安装
U盘插入电脑开机进入BIOS一路下一步之后选择你的空白硬盘格式化即可。
- 不用担心4K对齐微软帮你考虑到了
- 不用管磁盘分区表类型默认就是GPT现在电脑也只推荐GPT。
如果是重装系统则用工具将你作为系统盘的硬盘的所有分区包括主分区、ESP分区、MSR分区等统统删光删除留下未分配空间即可。
![Windows 10 安装][8]
图示为32G大小系统盘格式化后的最终形态
### 结尾
本章介绍了最基础的,也是人人必会的原版安装系统篇。后面的系列文章将会介绍一些我对于 Windows 10 的日常使用技巧及我是如何管理我自己的系统内容的。
[1]: https://cdn.rhyland.cn/typecho/2021/03/21/windows2000.jpg
[4]: https://cdn.rhyland.cn/typecho/2021/03/21/windows10-download.png
[6]: https://cdn.rhyland.cn/typecho/2021/03/21/ua-switcher.png
[7]: https://cdn.rhyland.cn/typecho/2021/03/21/windows10-download-2.png
[8]: https://cdn.rhyland.cn/typecho/2021/03/21/windows10-install.png

View File

@ -0,0 +1,114 @@
---
title: "Windows 技巧分享(二)正版激活及一些配置"
categories: [ "操作系统" ]
tags: [ "Windows 10 技巧" ]
draft: false
slug: "windows-skill-02"
date: "2021-03-21 13:26:00"
---
### 激活
我目前有2台 Windows 电脑一台是高中自己配的4代i7台式放在家里还有一台就是我的日常主力笔记本**神舟 G8-CU7NA**。
现在市售笔记本默认出厂的系统都是家庭版,作为一个专业开发者用户,家庭版不能满足需求,比如 Docker 必备的 Hyper-V 虚拟化技术等。而且很多厂商的出厂家庭版系统自带了一堆没用的软件和功能。
于是我就自行购买了真正的官方 Windows 10 专业版的正版,**绝对不是淘宝5元-20元左右的激活码**,没有可比性。如果有小伙伴需要,也可以从博客的关于我联系到我。
我在安装时就指定了正版的秘钥,安装完即为正版激活。
如果安装时选择了我暂时没有秘钥,那就可以在系统的设置页面手动输入秘钥激活。
正版激活的系统,会在页面显示**与 Microsoft 账户关联的数字许可证激活**此后在不更换重要硬件主板、CPU的前提下无限次重装都不必输入秘钥Windows 10 会在安装完成之后自动匹配机器与账户。
![Windows 10 激活(设置页面)][1]
此为正版激活的办法,我们公司目前所有人用的都是正版的专业版,工作所需。
---
若手头能力有限对于正版的需求度不高这里直接贴2个方法及其工具步骤见隐藏内容。
[collapse status="false" title="点击展开"]
#### 1.KMS激活
KMS激活地址kms.xingez.me
**脚本**[button color="info" icon="" url="https://cdn.rhyland.cn/typecho/2021/03/21/Win10%20Pro-d22afa.bat" type=""]下载[/button]
下载之后右键**必须管理员运行**,弹出三个对话框即可。
**手动**
使用**管理员启动**的PowerShell开始菜单右键手动输入脚本中的三个命令此秘钥为激活专业版其他版本见 https://docs.microsoft.com/zh-cn/windows-server/get-started/kmsclientkeys
```shell
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
slmgr /skms kms.xingez.me
slmgr /ato
```
---
#### 2. 伪数字权益激活
工具:[button color="info" icon="" url="https://cdn.rhyland.cn/typecho/2021/03/21/HWIDGen%2066.01-968a4c.zip" type=""]下载[/button]
工具启动后,右侧选择 HWID然后 Start即可。这是一个伪造数字激活的工具且是永久。
[/collapse]
### 配置
#### 隐藏搜索框
安装完系统且激活完成之后,我做的第一件事情就是先调整底部的任务栏,这是我最不能忍的一点,很多人的电脑底下都会有一个搜索框,对我来说这个用不太上,当然也因人而异
![隐藏搜索框][2]
#### 添加美式键盘
在早期的 Windows 10还可以为中文语言添加美式键盘在某一个版本更新后就不行了必须通过注册表的方式手动添加美式键盘打游戏中文输入法写代码和码字。
![中文输入法和美式键盘][3]
这种方法并不是添加一个英文语言,因为添加语言是用 Win + Space 来切换的我从XP时代就习惯使用 Ctrl + Shift 切换中文输入法和美式键盘,所以使用脚本**为中文语言添加美式键盘**。
![语言选项][4]
注意,我的语言只有一个中文。
注册表:[button color="info" icon="" url="https://cdn.rhyland.cn/typecho/2021/03/21/uskey-b35ad7.reg" type=""]下载[/button]
双击导入之后,需要注销用户,或者重启系统方可生效。
#### 更多的配置内容
以后想到什么在这里添加。
### GNU程序及常用工具
用过 Linux 发行版的同学们应该都知道很多实用的工具都是原生开发在 Linux 下的,因为他们都是用 ANSI C 写的,所以移植到 Windows 下面就成为了一种可能性。
首先就是在自己的数据盘目录下新建一个文件夹,用于存放这些命令行工具,日后添加环境变量也比较方便。
我日常开发、调试会用到包含但不仅限于以下这些工具
- curl强大的web请求工具
- iperf3测试多线程公网或局域网带宽吞吐量Windows下因为网络API不同可能会有性能问题
- naliGolang 版本的nali离线查询IP归属地支持 IPv6
- wgetweb文件下载工具
- tcpingTCP Ping 延迟检测工具)
- ffmpeg多媒体音视频工具
- Nginxweb服务器部署自己的前端项目
- OpenSSL开源加密库我个人常用于哈希校验base64编码等
- SpeedTest-cli测网速经常到一个地方先看看网速怎么样
程序都是去官网下载,能下到 Windows 版本就最好。
Nginx 和 OpenSSL 都是自己源码编译的OpenSSL 在 Windows 下的编译教程之前有发过,详见[这里][5],以后会写一篇 Nginx 的源码编译教程为什么要自己写因为感觉百度或Google出来的文章针对版本都过时了甚至还看到Nginx用0.9的OpenSSL。
所有工具都解压到文件夹,然后依次添加到 Windows 的环境变量,这样随时右键 Git Bash 就能调用了。还有一些没有列举出来,日后看需求添加。
[1]: https://cdn.rhyland.cn/typecho/2021/03/21/windows-activate.png
[2]: https://cdn.rhyland.cn/typecho/2021/03/21/hide-search.png
[3]: https://cdn.rhyland.cn/typecho/2021/03/21/input-type.png
[4]: https://cdn.rhyland.cn/typecho/2021/03/21/language.png
[5]: https://blog.xingez.me/openssl_win_build

View File

@ -0,0 +1,114 @@
---
title: "Windows 技巧分享常用软件01——生产力工具"
categories: [ "操作系统" ]
tags: [ ]
draft: false
slug: "windows-skill-03"
date: "2021-04-07 17:47:00"
---
[scode type="share"]这周末要搬家了哈~所以最近一段时间比较忙,因为在学校里,事情也比较多,主要就是忙企业的事情,这里是我的私人博客,也可以去我们公司的博客瞅一瞅,在左侧的友情链接或者是直接[戳这里][1]。
[/scode]
### 生产力之始
作为一个信息行业工作者每天所要用到的生产力工具无数。开发工具编辑器IDE命令行工具等等。
首先抛出一个问题。程序员装完一台电脑最先要安装的是什么?
![Chrome][2]
对我来说是 `Chrome`
当然Windows 10 2004之后的版本都将原先的内置旧版 Edge 换成了与 Google 合作的 Chromium 内核的 Microsoft Edge体验大大增强。
很多人都说换到 Edge 有着十分优良的体验,确实很香,然而对于我来说,迁移数据真的是十分痛苦的一件事情,首先我拥有的设备有四五台,手机平板电脑什么,得重新安装软件,其次,所有的书签和历史记录都要迁移,包括密码等,还不包括我浏览过的网站的 Cookie。所以我就选择了Chrome。
使用 Chrome 下载器 Edge 下载安装完 Chrome 之后,就要开始部署软件了。
另外要注意的就是Chrome 要去中文的下载页能下载到默认中文版,否则就是英文版
不用科学魔法https://www.google.cn/intl/zh-CN/chrome/
需要科学魔法https://www.google.com/intl/zh-CN/chrome/
### 生产力头号——IDE
#### Jetbrains 系列
IDE是程序员的灵魂根据自己开发的方向选择合适的IDE是一件很重要的事情现在不必多说目前形势来看web开发者用的最多的就是 `Jetbarins` 旗下的工具了,几乎人手一套。而 JetBrains 也推出了面向学生的专业版有edu结尾的学校邮箱就可以免费获得专业版与几千元买的正版相同价格。
当然,我习惯使用了官方提供的 Jetbrains Toolbox 管理IDE非常好用一键更新省出了去官网下载安装包的时间。
[collapse status="false" title="免责声明"]本站不指导任何有关于但不限于JetBrains的中国特色版安装方法请自行上网搜索倡导正版人人有责从我做起。[/collapse]
![Toolbox][3]
我自己使用的有如下几个
1. Web前端 - Webstorm
2. Java - Intellij IDEA
3. Python - Pycharm
4. C/C++ - CLion
https://www.jetbrains.com/
#### 微软
![VS2019][4]
微软不必多说Visual Studio没有特别需求安装社区版即可。
https://visualstudio.microsoft.com/zh-hans/
![VSCode][5]
严格的来说 VSCode 不能算IDE只能是一个拥有众多插件的代码编辑器不过做一些轻量的工程都是没有问题的现在对于Java、Golang的支持也是十分强大微软刚刚发布的2021年3月Java更新也是让Code更上一层楼。
https://code.visualstudio.com/
#### 其它
![Hbuilder X][6]
最近有小程序开发需求,用了 DCloud 的 HBuilderX是一个多端发布的小程序/App开发框架。
https://www.dcloud.io/hbuilderx.html
### 平面设计/影视
#### Adobe
![Adobe CC][7]
Adobe全家桶是每一个设计师必备的软件目前我使用的是美国区订阅国区不含云服务包含了 Creative Cloud 全系列软件。
![Creative Cloud][8]
https://www.adobe.com/creativecloud.html
#### 达芬奇
![Davinci Resolve][9]
自从[Tim][10]开始用达芬奇之后,越来越觉得这个非编太强大了,集成了强大的调色和剪辑。
现在更新到17因为我不常用偶尔剪一些短片就没有购买专业版社区版即可
https://www.blackmagicdesign.com/products/davinciresolve/
### 办公
![Microsoft 365][11]
办公必选 Office我使用的是 Microsoft 365原名 Office 365
按年订阅,多人使用可选家庭组。
[1]: https://blog.rhyland.cn/
[2]: https://cdn.rhyland.cn/typecho/2021/04/22/Chrome.png
[3]: https://cdn.rhyland.cn/typecho/2021/04/12/toolbox.png
[4]: https://cdn.rhyland.cn/typecho/2021/04/22/vs2019.png
[5]: https://cdn.rhyland.cn/typecho/2021/04/22/code.png
[6]: https://cdn.rhyland.cn/typecho/2021/04/22/hbuilderx.png
[7]: https://cdn.rhyland.cn/typecho/2021/04/22/Adobe%20CC.png
[8]: https://cdn.rhyland.cn/typecho/2021/04/22/adobe-creative-cloud.png
[9]: https://cdn.rhyland.cn/typecho/2021/04/22/Davinci%20Resolve.png
[10]: https://space.bilibili.com/946974/
[11]: https://cdn.rhyland.cn/typecho/2021/04/22/Microsoft%20365.png

View File

@ -0,0 +1,59 @@
---
title: "「Maven」IDEA下 Tomcat 10 Servlet 404 问题踩坑"
categories: [ "后端技术" ]
tags: [ ]
draft: false
slug: "tomcat10-issue"
date: "2021-04-12 17:25:00"
---
### 起因
下午将 Tomcat升级到了 10.0.4 版本,导致原先的 JSP Servlet 全部报了404。
搜寻了互联网,大部分都是配置`web.xml``metadata-complete``false`,但这样对于我的项目无效。
![404][1]
### 解决方案
IDEA 建立`Java Enterprise`工程默认的Servlet API是`javax.servlet-api``4.0.1`版本
```xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
```
**但是!**
Tomcat 在 10.0 的版本之后,修改了所有的 Servlet API 包名
![Tomcat 10 Servlet API][2]
从原先的 javax.servlet 改成了 jakarta.servlet虽然代码没有错误但是 Tomcat 并不能搜寻到我们继承的类。
解决方法很简单,修改 pom.xml 中的 Servlet API
可以在 https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api 找到,注意对应你的 Tomcat 版本
```xml
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>10.0.4</version>
</dependency>
```
然后将你实现 Servlet 接口的类的导包都改成对应的包名即可。
```java
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
```
问题解决
[1]: https://cdn.rhyland.cn/typecho/2021/04/12/404.png
[2]: https://cdn.rhyland.cn/typecho/2021/04/12/tomcat10-servlet-api.png

View File

@ -0,0 +1,51 @@
---
title: "「项目实战」校园微信小程序 02.前端技术"
categories: [ "前端技术","商业项目" ]
tags: [ ]
draft: false
slug: "yiyu-frontend"
date: "2021-04-27 16:36:00"
---
### 自白
首先,这系列鸽了挺久的,最近也确实学业的问题,因为最近要操办出国的签证手续、学费,各种事项,自己都很久没上博客了,在此以表歉意!
### 技术栈
首先就是技术栈选择,看我博客的人应该大多数都是比我强很多的大佬,**我的博客也只是作为学习经历的日志,并不能作为教程或是参考**还请各位前辈指点。因为这一次的工期较紧我们直接选择了uniapp作为小程序的前端框架开发。
### uni-app
![uniapp][1]
uniapp这个东西说强也强夸了这么多端说拉胯也拉胯包括IDE的bug奇多UI框架bug等。
具体不多说了,百度都能找得到相关介绍。
uniapp最方便的就是用的 Vue 技术栈mvvm 的思想在近几年的前端中很流行,前端三大框架 Vue / React / Augular。在App开发中双向绑定数据流极大提升效率。
![Vue / React / Augular][2]
实际开发体验中我和伙伴一直认为uniapp做小程序开发合适App还是欠缺尤其是原生交互当然也可能是我们知识还是欠缺想做App开发还是要会原生。
### uview-ui
[官网链接][3]
uniapp生态中最著名的ui组件库就是uview了一个在深圳的团队开发的最初是一个人现在成立了公司。
这个框架对于电商地址编辑、个人信息、购物车支持良好还支持社交App的许多组件。
### 布局
**商业项目,关键信息都已打码**
![首页][4]
首页主要用到的都是flex
![个人中心][5]
个人中心页面,直接用 uview 的列表,很方便。
[1]: https://cdn.rhyland.cn/typecho/2021/05/07/uniapp.png
[2]: https://cdn.rhyland.cn/typecho/2021/05/07/mvvm.png
[3]: https://www.uviewui.com/
[4]: https://cdn.rhyland.cn/typecho/2021/05/07/miniapp-main.jpg
[5]: https://cdn.rhyland.cn/typecho/2021/05/07/miniapp-me.jpg

View File

@ -0,0 +1,102 @@
---
title: "【区块链】Dogecoin 狗狗币挖矿教程"
categories: [ "区块链" ]
tags: [ ]
draft: false
slug: "doge-mining"
date: "2021-05-21 10:57:00"
---
最近一段时间狗狗币很火,价格暴涨。狗狗币挖矿其实很简单,只需要下载一个狗狗币钱包,然后下载一个挖矿程序,配置一下钱包地址,就可以开始挖了。
### 下载官方钱包并获取钱包地址
#### 下载狗狗币钱包
前往狗狗币官网:
> https://dogecoin.com/
由于目前用的是 Windows所以下面教程都以 Windows 为例。
官网首页,下载一个狗狗币钱包,如下图所示,建议下载 Dogecoin Core。
![dogecoin 官网][1]
下载之后进行安装安装的时候安装到一个剩余空间比较大的硬盘因为它需要同步数据目前截止2021-05-21数据大概有 47.8 GB并且会随时间一直增长。
安装之后打开钱包,第一次打开会有一个提示页面,点击隐藏即可。然后点击 Much Receive可以新建一个钱包地址如图所示基本上什么都不用填直接点请求付款即可。
![收款][2]
此外,也可以在 File -> Much receiving addresses 里面看到钱包地址。
![收款地址][3]
至此,我们就有了一个狗狗币钱包地址。
### 下载 lolMiner 挖矿软件
下载地址:
> https://github.com/Lolliedieb/lolMiner-releases/releases
### 修改挖矿软件配置开始挖矿
1、修改挖矿配置
下载之后解压 lolMiner解压出来之后新建一个 `mine_doge.bat` 文件,右键选择编辑,或者直接用记事本打开。
将以下内容粘贴进去
```shell
@echo off
setlocal enableDelayedExpansion
Rem #################################
Rem ## Begin of user-editable part ##
Rem #################################
set "POOL=ethash.unmineable.com:3333"
set "WALLET=DOGE:钱包地址.lolMinerWorker"
Rem #################################
Rem ## End of user-editable part ##
Rem #################################
lolMiner.exe --algo ETHASH --pool ethash.unmineable.com:3333 --user DOGE:钱包地址.矿工名字#cbnm-tuds --4g-alloc-size 4024 --keepfree 8
timeout 10
```
**将上面内容中第10行和第16行的这两个钱包地址改成你的狗狗币钱包地址矿工名字可以随意取主要用于区分不同机器。**
**注意:仅修改上面的“钱包地址”这几个字,前面的 DOGE: 以及后面的 .lolMinerWoekr 等都不要改。**
### 开始挖矿
修改完成后保存然后双击这个文件mine_doge.bat就可以开始挖矿了。一般来说会显示下面这样的提示信息没有报错就行。
![正在挖矿][4]
### 前往矿池查看收益
耐心等待半小时到一小时后,我们就可以前往矿池查看收益了。
因为用的是 unmineable 这个矿池,所以前往下面地址:
> [https://unmineable.com](https://unmineable.com/?ref=cbnm-tuds)
然后搜索 DOGE或者直接选择 Dogecoin进入狗狗币页面。
![unmineable doge][5]
然后输入你的狗狗币钱包地址,如下图所示,就可以查看收益了。一般开始挖矿之后半小时到一小时之后才有收益。
![unmineable doge address][6]
祝各位挖矿愉快~
[1]: https://cdn.rhyland.cn/typecho/2021/05/21/dogecoin.png
[2]: https://cdn.rhyland.cn/typecho/2021/05/21/receive.png
[3]: https://cdn.rhyland.cn/typecho/2021/05/21/address.png
[4]: https://cdn.rhyland.cn/typecho/2021/05/21/mining.png
[5]: https://cdn.rhyland.cn/typecho/2021/05/21/unmineable-doge.png
[6]: https://cdn.rhyland.cn/typecho/2021/05/21/unmineable-doge-address.png

View File

@ -0,0 +1,103 @@
---
title: "「项目实战」校园微信小程序 03.后端技术"
categories: [ "后端技术","商业项目" ]
tags: [ ]
draft: false
slug: "yiyu-backend"
date: "2021-05-26 15:55:00"
---
### 数据库
后端最离不开的就是和数据库打交道,果断选用开源的 MySQL 社区版作为本次项目的数据库服务。
MySQL版本为 `10.3.23-MariaDB`,地域为腾讯云香港云数据库
### 建表
刚开始建表使用的都是默认参数,其中用户表中包含用户的微信昵称,好在我们有好几个测试用的微信号,发现了其中一个的问题所在。
![utf8-unicode][1]
MySQL默认建表的字符排序规则为 utf8-unicode-ci就会导致微信用户名中带有4字节的 emoji 字符无法写入数据库,从而报错。
![utf8mb4-unicode][2]
解决方案就是更改为utf8mb4该排序规则支持单字符四字节宽度的 emoji 字符。
为了统一,所有字符串都采用这个排序规则。
### Web服务框架
因为是小项目,直接使用 `Flask` 一把梭。
PS去年底开始Python 有个叫 `fastapi` 的框架火了起来,综合了 `flask``django` 的优势,而且开发效率高,运行速度快,会写一篇文章来介绍它。
```python
# 注册全局flask
app = Flask(__name__)
app.config.from_object(DevConfig)
# 初始化定时器
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()
# 注册数据库
db.init_app(app)
# 注册蓝图
app.register_blueprint(course_blue)
app.register_blueprint(user_blue)
app.register_blueprint(index_blue)
app.register_blueprint(admin_blueprint, url_prefix='/admin')
app.register_blueprint(order_blueprint, url_prefix='/api')
app.register_blueprint(file_blueprint, url_prefix='/file')
logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s - %(message)s',
filename='./log/miniapp-' + datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S') + '.log')
```
建项目之后直接进行建立蓝图,初始化定时器(课表推送功能),连接数据库,设定日志目录等操作。
### 服务API
```python
@user_blue.before_request
def before_eq():
if request.path == '/auth/wxlogin' or request.path == '/auth/gzhlogin' or request.path == '/auth/qrcode':
pass
elif getUid() is None:
return {
'errmsg': 'token expired'
}, 401
```
在对用户和管理员后台拿到的数据进行操作时,先要拦截请求,判断是否为已经验证的请求,否则返回 HTTP 401表示为非法操作未验证的请求但是必须放行登录等请求否则无法登录。使用flask的请求拦截器做到。
### ORM 框架
在 Python 下面用的最多的ORM应该就是 `SQLAlchemy`无需写SQL即可完成强大的增删改查功能具体使用就不在此阐述网络上有许多案例和教程当然我最推荐的学习方法就是参照官方的文档来因为随着版本的跟进代码可能会略有不同官方文档永远都是最新的。
MySQL使用时不要忘记 MySQL 驱动包 `PyMySQL`
### 微信加密数据解码
微信的隐私敏感数据是用AES加密然后到服务端解密的Python 端则使用 `Crypto` 这个包,不过这个包的历史遗留问题,在不同环境的名字还不一样,简单来说就是 Linux 和 Windows 下面的包都是最原始版本的延伸。
在 Windows下使用AES时要安装的是 pycryptodome 模块
> pip install pycryptodome
在 Linux 或者 macOS 下使用AES时要安装的是 pycrypto 模块
> pip install pycrypto
例如我在 Mac 和 Windows 下面做开发,就要安装不同的包,最终上 Linux 生产环境,也是不一样的。
### 小结
[1]: https://cdn.rhyland.cn/typecho/2021/05/26/utf8-unicode.png
[2]: https://cdn.rhyland.cn/typecho/2021/05/26/utf8mb4-unicode.png
[3]: https://cdn.rhyland.cn/typecho/2021/05/26/flask-init.png
[4]: https://cdn.rhyland.cn/typecho/2021/05/26/request-intercept.png

View File

@ -0,0 +1,66 @@
---
title: "Apple Music 杜比全景声 / 无损音乐赏析指南"
categories: [ "科技趣谈" ]
tags: [ ]
draft: false
slug: "2021applemusic2"
date: "2021-06-08 23:10:00"
---
## 前言
北京时间 2021 年 5 月 17 日,苹果正式宣布 Apple Music 将推出杜比全景声与无损音乐的支持并且是全曲库的支持今天6月8日已经有部分用户的设备已经支持了我的设备也第一时间支持了。
[Apple 官方网站传送门][1]
## 开启功能
首先,需要将 iPhone 或者 iPad 的系统版本升级到 iOS / iPadOS 14.6以上
体验之前需先手动开启功能Apple 没有默认开启的原因是可能会为用户带来额外的网络流量开销。
![新的选项][2]
在 iOS 或者 iPadOS 中,进入 设置 - 音乐 - 就可以看到两个新的选项
![杜比全景声][3]
进入杜比全景声选项,即可选择自动或是始终打开
![音频质量选项][4]
在音频质量中,若是选中了高解析无损,将会支持到 Apple 自家的 ALAC 无损音频编码,且最高 24位 / 192kHz 的音频规格,相当高。
## 试听
![专辑规格显示][5]
在 Apple Music 中,可以在相关专辑中看到该专辑的音源支援情况,例如本专辑就支持 `Dolby Atmos`,和无损(注意不是高解析度无损)
![Taylor Swift - Love Story][6]
试听一首歌曲,在歌词下方会看到当前播放的音源质量。
## 设备支援情况
这是听取新的音源的重中之重,不同的设备所能支持的最高规格是不同的,下面根据笔者自有的设备,收集了一些设备相关信息,列出一张表。
| 设备名称 | 杜比全景声 | 支持音源规格 |
| -------------------------------- | ---------- | ------------- |
| MacBook Pro 2018 自带扬声器 | 支持 | 24位 / 96kHz |
| MacBook Pro 2018 + 外接AKG K3003 | 支持 | 24位 / 192kHz |
| AirPods Pro | 支持 | 24位 / 48kHz |
| AirPods 第二代 | 支持 | 24位 / 48kHz |
可以知道的是,想要得到较好的音质,需要外接规格高的耳机或是音响,而无线耳机(例如 AirPods Pro在听 Apple Music 的时候,优先会播放杜比全景声的音源而不是无损音源。
*此处可能会有错误或不详尽之处,还请指正。
## 结语
目前测试了几首歌曲的下载占用空间杜比全景声音源和无损音源24位 / 48kHz歌曲目前一首三分钟的歌在 30 - 50MB 左右而最高规格的高解析无损音源24位 / 192kHz占用空间约为 100M 左右。
![Adele - Hello (高解析度无损音频)][7]
因为我本身就是木耳,听不出无损和以前的音频规格,不过杜比全景声与普通音频规格的听感还是极为明显的,突出的一个点就是声场的变化,音乐本身因人而异,我选择了 杜比 + 48kHz 无损的选项,最高规格对于网速要求也挺高,想要无缝秒载切歌的话就至少要 100Mbps 以上的网络连接。况且现在5G时代的套餐都是没有无限流量的一首歌就去了100M听一下午就没了几个G所以如果像我一样听不出明显差别的就选择适合自己的就行杜比全景声建议开启体验明显。
[1]: https://www.apple.com.cn/newsroom/2021/05/apple-music-announces-spatial-audio-and-lossless-audio/
[2]: https://cdn.rhyland.cn/typecho/2021/06/08/new-options.jpeg
[3]: https://cdn.rhyland.cn/typecho/2021/06/08/Dolby-option.jpg
[4]: https://cdn.rhyland.cn/typecho/2021/06/08/audio-quality.jpg
[5]: https://cdn.rhyland.cn/typecho/2021/06/08/album-support.jpg
[6]: https://cdn.rhyland.cn/typecho/2021/06/08/Dolby-listening.jpg
[7]: https://cdn.rhyland.cn/typecho/2021/06/09/loseless-space.png

View File

@ -0,0 +1,184 @@
---
title: "Windows 10 下使用 MSVC 2019 编译 Nginx 64位过程记录"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "nginx-windows-build"
date: "2021-06-16 23:56:00"
---
## 前言
Nginx 在 Windows 下还是很实用的,可以作为前端的 HTTP 部署测试工具,或者当然可以用 Python 自带的 http.server 来部署,都挺快的。除了部署前端项目之外,放一些自制的基于 Web 的小工具都是极好的。
## 下载源码包
### Nginx 源码
Nginx 在 Windows 下编译的源码与 Linux 下的不同,直接从官网的 download 里面下载是编译不过的,需要从下面的 Mercurial 链接下载Mercurial 也是一种类似于 Git 的版本管理工具
下载地址: http://hg.nginx.org/nginx
注意,请选择一个带有 RELEASE TAG 的版本进行下载,如下图橙色方框所示
![下载页面][1]
截至发文, Nginx 的最新 release 版本为 **1.21.4**
然后在左侧选择你偏好的压缩包类型,点击下载即可
![选择压缩包][2]
将其解压至一个你喜欢的位置,例如我解压在 `D:\nginx\1.21.4`
### 依赖源码
在 Nginx 源码根目录下创建 objs/lib 文件夹
依次下载 [pcre][3] / [zlib][4] / [openssl][5] 的源码包,解压至 objs/lib 文件夹
**注意pcre版本为1即8.x不要下载pcre2即10.x开头的版本**
![依赖包][6]
### StrawberryPerl
因为需要编译 OpenSSL 需要使用 perl 进行配置
https://strawberryperl.com/
### MSYS 2
msys2 在编译阶段仅用作配置 Makefile因本文介绍的是在 MSVC 环境下的编译,所以不用 msys2 的 GNU 环境进行编译。
下载地址https://www.msys2.org/
** Tip Git 的 Bash 环境也可以用作后面开始编译的配置 Makefile**
## 开始编译
### 配置 64 位 OpenSSL
**重要本文编译64位 Nginx配置 Makefile 前需要将 OpenSSL 依赖库改为64位**
进入 nginx/auto/lib/openssl 使用编辑器打开makefile.msvc 将第 9 行的 `VC-WIN32` 改成 `VC-WIN64A`
### 配置 Makefile
安装完成 msys2 后,使用 msys2 的任意环境或 Git Bash 进入 nginx 源码目录,执行以下命令,用于生成适用于 MSVC 的 Makefile
**以下命令行配置了 nginx 在 Windows 下的常用模块的编译,请根据自己需要调整相关模块的加入或删除**
**加入的特性包括 HTTP 2SSL/TLS HTTPS 支持HTTP 流媒体支持socket 流转发支持mail 服务器支持**
```bash
auto/configure \
--with-cc=cl \
--prefix= \
--conf-path=conf/nginx.conf \
--pid-path=logs/nginx.pid \
--http-log-path=logs/access.log \
--error-log-path=logs/error.log \
--sbin-path=nginx.exe \
--http-client-body-temp-path=temp/client_body_temp \
--http-proxy-temp-path=temp/proxy_temp \
--http-fastcgi-temp-path=temp/fastcgi_temp \
--http-scgi-temp-path=temp/scgi_temp \
--http-uwsgi-temp-path=temp/uwsgi_temp \
--with-cc-opt=-DFD_SETSIZE=1024 \
--with-pcre=objs/pcre-8.45 \
--with-zlib=objs/zlib-1.2.11 \
--with-openssl=objs/openssl-3.0.0 \
--with-openssl-opt='no-asm no-tests -D_WIN32_WINNT=0x0601' \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_stub_status_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_ssl_module \
--with-stream_ssl_preread_module
```
**请提前自行创建目录 `logs``temp\client_body_temp``temp\proxy_temp``temp\fastcgi_temp``temp\scgi_temp`,否则执行脚本会提示目录不存在**
若脚本执行如果提示
> auto/cc/msvc: line 117: [: : integer expression expected
是因为读取不到 VC 编译器的版本,需要手动指定。
打开 VS2019 的 VC 命令行,输入 `cl` 就能查看编译器版本了。
![编译器版本][7]
打开 auto/cc/msvc 文件,在文件的 `NGX_MSVC_VER=...` 下方添加如下代码,即手动指定 MSVC 编译器的版本(采用截图原因是方便定位添加代码的位置)
![手动指定 MSVC 版本][8]
再次执行生成 Makefile 的命令,不报错即通过。
### 进行编译
![VC命令行][9]
打开 VS2019 的 VC 命令行,注意选择 Native Tools不要选择 Cross Tools。
cd 到源码根目录后,执行编译命令
> nmake f objs/Makefile
编译过程较久,视 CPU 单核性能而定,耗时十分钟到半小时不等。
当提示 sed 不是内部命令或外部命令时就代表编译成功了,忽略 nmake 的报错,因为 sed 是 Linux 下的命令
没有其它报错退出时, Nginx 即编译完成。
## 整理文件
将源码目录下的`conf``contrib` `html` `logs` `temp``objs\nginx.exe` 整理到一个目录下,双击打开 nginx.exe命令行一闪而过打开浏览器输入 http://localhost/ 或 http://127.0.0.1/ 看到以下页面即成功。
![success.png][10]
输入以下命令结束运行 Nginx
`nginx.exe -s stop`
## 笔者编译的版本
版本1.21.4
版本信息:
> nginx version: nginx/1.21.4
> built by cl 19.30.30706
> built with OpenSSL 3.0.0 7 sep 2021
> TLS SNI support enabled
> configure arguments: --with-cc=cl --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-path=logs/error.log --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fastcgi-temp-path=temp/fastcgi_temp --http-scgi-temp-path=temp/scgi_temp --http-uwsgi-temp-path=temp/uwsgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/pcre-8.45 --with-zlib=objs/zlib-1.2.11 --with-openssl=objs/openssl-3.0.0 --with-openssl-opt='no-asm no-tests -D_WIN32_WINNT=0x0601' --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_stub_status_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module
下载地址:[button color="light" icon="" url="https://cdn.rhyland.cn/typecho/2021/12/06/nginx-1.21.4.zip" type=""]下载[/button]
## 结语
至此Nginx 在 Windows 10 下,使用 MSVC 2019 的完整编译过程结束,任何报错,不明白请在下方评论区留言!
[1]: https://cdn.rhyland.cn/typecho/2021/06/14/download.png
[2]: https://cdn.rhyland.cn/typecho/2021/06/14/archive.png
[3]: https://sourceforge.net/projects/pcre/files/pcre/
[4]: https://zlib.net/
[5]: https://www.openssl.org/source/
[6]: https://cdn.rhyland.cn/typecho/2021/06/14/require-libs.png
[7]: https://cdn.rhyland.cn/typecho/2021/06/14/cl-version.png
[8]: https://cdn.rhyland.cn/typecho/2021/06/14/point-msvc-version.png
[9]: https://cdn.rhyland.cn/typecho/2021/06/14/msvc-cli.png
[10]: https://cdn.rhyland.cn/typecho/2021/06/14/success.png

View File

@ -0,0 +1,18 @@
---
title: "最近我做了些什么 / Q&A"
categories: [ "杂七杂八" ]
tags: [ ]
draft: false
slug: "recent-did-202108"
date: "2021-08-26 12:29:00"
---
从6月中开始一直就忙于英国网课导致拖更了2个半月就在上周终于结课了。
网课通过后预计今年9月底就可以飞英国了
最近会有一些技术向的文章,也是抱歉拖更了这么久
另外可以去大事纪看看,这两天对服务器还是做了比较多的改动
另外这是一个 Q&A 帖子,如果有任何想问我的问题,就在下方评论区评论就行(应该不会有吧)

View File

@ -0,0 +1,77 @@
---
title: "来英国的行程 & 我在这的隔离生活"
categories: [ "生活","旅记" ]
tags: [ ]
draft: false
slug: "england-travel-life"
date: "2021-10-05 08:49:00"
---
### 行程
订的机票是国泰航空的 `上海-香港-伦敦` 经济舱票价是7月底买的当时价格是8700+
![机票信息][1]
上海浦东机场办登机牌时就需要出示 48小时 PLF72小时内核酸。所以这些材料一定要按时准备不要提前。
中途到了自动巡航之后,会有一餐,可选面或者是鸡肉配土豆
![上海-香港 晚餐][2]
香港转机大概就是等了2个多小时因为当时我们这一班上海飞香港的航班延误了一会儿每天都延误
即将落地伦敦,当时我已经十分疲惫了
![伦敦机上夜景][3]
6点十几分落地过海关大概排队1小时出头拿上行李10分钟。
希斯罗每天6点多都会有好多班降落所以过海关一定要快当时 Officer 就问我要了护照其它啥都没看PLF核酸
因为我还是要坐大巴去其它的城市,拿了行李直接去了巴士站。
![早上8点的 Central Bus Station 里咖啡店][4]
点了一个馥芮白+1 shot3.60£(忘记拍了)
到了学校宿舍之后,稍微整顿了一下,去了趟镇上的生活超市,买了些必需品,比如枕头、棉被。
![学生公寓][5]
![我的房间][6]
因为当天实在太累了晚上7点多就睡了这两张图是第二天凌晨醒来拍的
---
### 隔离生活
按照规定要在到达之后进行自我隔离到达当天算是第0天可以外出购买物资。
![市中心的立碑][7]
但是没法解决吃饭问题,所以还是每天定时出门买东西吃。
![走在学校边上的街道][8]
第2和第8天要做核酸检测自己测试好之后投寄到邮筒就行。
![投递核酸包路上的建筑][9]
天气是真的不错,就是太冷了
---
暂时先写这些吧,过段时间再出篇文章介绍下英国留学生生活
[1]: https://cdn.rhyland.cn/typecho/2021/10/04/flight.jpg
[2]: https://cdn.rhyland.cn/typecho/2021/10/04/pvg-hkg-meal.jpg
[3]: https://cdn.rhyland.cn/typecho/2021/10/04/london-flight.jpg
[4]: https://cdn.rhyland.cn/typecho/2021/10/04/lhr-bus-station-cafe.jpg
[5]: https://cdn.rhyland.cn/typecho/2021/10/04/accommodation-1.jpg
[6]: https://cdn.rhyland.cn/typecho/2021/10/04/accommodation-2.jpg
[7]: https://cdn.rhyland.cn/typecho/2021/10/04/city-centre.jpg
[8]: https://cdn.rhyland.cn/typecho/2021/10/04/street-walking.jpg
[9]: https://cdn.rhyland.cn/typecho/2021/10/04/uni-building.jpg

View File

@ -0,0 +1,40 @@
---
title: "Gravatar 头像镜像站已上线"
categories: [ "程序人生" ]
tags: [ ]
draft: false
slug: "gravatar"
date: "2021-10-27 00:23:00"
---
由于官方 https 站均被屏蔽,目前本站使用的是自建的 gravatar 镜像站,使用 nginx 进行反代
说明地址https://gravatar.xingez.me/
镜像地址https://gravatar.xingez.me/avatar/
由于刚刚上线线路为美国洛杉矶服务器预计在一个月内部署全球CDN包括中国大陆加速。
!!!
<div>CDN是否已部署<span style="color: red; font-weight: bold;"></span></div><br />
!!!
将你的博客中的头像地址改为 https://gravatar.xingez.me/avatar/ 即可
缓存规则如下
对 200、301 或者 302 等有效代码缓存的时间长度,特定参数 any 表示对任何响应都缓存一定时间长度
| HTTP Status Code | 缓存时长 |
| ----------------- | -------- |
| 200 304 | 7 天 |
| 301 | 1 天 |
| 500 502 503 504 | 不缓存 |
| any | 1 天 |
镜像站测试
![默认头像][1]
若默认头像显示正确,则镜像站工作正常
[1]: https://gravatar.xingez.me/avatar/

View File

@ -0,0 +1,23 @@
---
title: "感触很深的一段话的改编"
categories: [ "心灵随想" ]
tags: [ ]
draft: false
slug: "20211108"
date: "2021-11-08 22:20:00"
---
人啊,读了几本书就容易变得矫情,比方说我现在和伙伴在远方求学,我就会想人生天地间忽如远行客,比方说我见到今晚的月,我就会想此生此夜不常有,明月明年何处看,然后我就会想起人呐。想起中学时的玩伴,当时可以天天在一起,现在天各一方,只道当时是寻常。现在好像每个想要努力的人都需要自己为自己带上枷锁,远离亲朋,远离安逸,投身到撕扯的洪流之中,不够快活,不够快活。有时候会发愤图强读一些文学作品,我就发现现在同样是安居乐业,同样是英雄辈出,可比之千年前好像缺了那挥洒自己的风流。我们这个年纪。正是梦想与现实激烈碰撞的年纪。我们可以突然热泪盈眶。我们也能够瞬间冷静下。有人问我,你读书是为了什么?我说。读书会让我觉得自己还是个学生,可以骗自己,未来还有无限可能。有人说你一直学习就够了。学历决定一切。可真的是这样。我越学习我就越是迷茫。因为我看到我好多学长,博士毕业去考公务员。也有好多学长跨界去做金融。
人永远无法走在时间前面人也不知道自己做的选择是对是错,有时候我干脆想吧放弃思考,踏实做好脚下,但我又担心没有思考的努力,终将变成南辕北辙,高中时我写作文,我最喜欢的一句话,十年饮冰,难凉热血,现在就当时好像还没有十年,但我好像也没有那么坚定,当然以上只是我的胡思乱想,因为千年前的古人他们也并不是一帆风顺,他们的命途也并不总是春风得意,但他们仍然写下大鹏一日同风起扶摇直上九万里。他们仍然说,竹杖芒鞋轻胜马,谁怕一蓑烟雨任平生,他们在自己沉厄顿挫之时,仍书写慷慨激昂鼓励后辈。我们又岂能自怨自抑!后人视今亦犹今之视昔,所以我想,我可能要尽我所能去做一些更多开心的事情带给身边的人,给大家的生活带来一丝慰藉。这世间其实还有很多美好,比如自己一个人出远门旅游一次,比如亲手制作一顿饭给父母。
最后祝各位学生学业有成,在职工作者工作顺利,所有人阖家幸福。
---
切合自己实际情况,改编了部分内容,若侵犯任何权益,请立即联系删除!
摘自 [Bilibili “Zhan |” 2021年9月21日的视频内容][1]
[1]: https://www.bilibili.com/video/BV17g411c7LQ

View File

@ -0,0 +1,113 @@
---
title: "Visual Studio 2022 与 .NET 6"
categories: [ "前沿技术探索" ]
tags: [ ]
draft: false
slug: "vs2022-dotnet6"
date: "2021-11-10 06:13:00"
---
北京时间 2021 年 11 月 8 日晚,微软正式发布了 Visual Studio 2022 Current 和 .NET 6 框架,推出了 C# 10、F# 6 和 PowerShell 7.2
# .NET 6
.NET 6 支持 Windows, Linux, macOS原生支持苹果 M1 系列芯片。在各个平台上将获得 3 年的 LTS 长期支持。
![.NET 6 语言家族][2]
可以从下面的链接查看完整的更新日志
> [.NET 6 完整更新内容][1]
### .NET 6 亮点
- 使用微软服务、其他公司运行的云应用程序和开源项目进行了生产压力测试。
- 作为最新的长期支持 (LTS) 版本支持三年。
- 跨浏览器、云、桌面、IoT 和移动应用程序的统一平台,所有应用程序都使用相同的 .NET 库和轻松共享代码的能力。
- 性能全面提升,尤其是文件 I/O减少了执行时间、延迟和内存使用。
- C# 10 提供了语言改进,例如记录结构、隐式使用和新的 lambda 功能,同时编译器添加了增量源生成器。
- F# 6 添加了新功能,包括基于任务的异步、管道调试和众多性能改进。
- Visual Basic 在 Visual Studio 体验和 Windows 窗体项目打开体验方面进行了改进。
- 热重载使用户可以跳过重新构建和重新启动应用程序以查看新更改 —— 在 Visual Studio 2022 和 .NET CLI 中支持,适用于 C# 和 Visual Basic。
- 云诊断已通过 OpenTelemetry 和 dotnet 监视器得到改进,现在在生产中得到支持,并且可用于 Azure 应用服务。
- JSON API 更强大,具有更高的性能,带有序列化程序的源生成器。
- ASP.NET Core 中引入了最少的 API以简化入门体验并提高 HTTP 服务的性能。
- Blazor 组件现在可以从 JavaScript 呈现并与现有的基于 JavaScript 的应用程序集成。
- 用于 Blazor WebAssembly (Wasm) 应用程序的 WebAssembly AOT 编译,以及对运行时重新链接和本机依赖项的支持。
- 使用 ASP.NET Core 构建的单页应用程序现在使用更灵活的模式,可以与 Angular、React 和其他流行的前端 JavaScript 框架一起使用。
- 添加了 HTTP/3以便 ASP.NET Core、HttpClient 和 gRPC 都可以与 HTTP/3 客户端和服务器交互。
- File IO 现在支持符号链接,并通过重新编写的 FileStream 大大提高了性能。
- 通过支持 OpenSSL 3、ChaCha20Poly1305 加密方案和运行时深度防御缓解措施,特别是 W^X 和 CET安全性得到了提高。
- 可以为 Linux、macOS 和 Windows以前仅适用于 Linux发布单文件应用程序免提取
- IL 修整现在更加强大和有效,新的警告和分析器可确保正确的最终结果。
- 添加了源代码生成器和分析器,可帮助用户生成更好、更安全和更高性能的代码。
- 源代码构建使 Red Hat 等组织能够从源代码构建 .NET并向其用户提供自己的构建版本。
该版本包括大约一万个 git 提交。但更新内容实在是太多,必须下载并试用 .NET 6 才能看到所有新内容。
# Visual Studio 2022
同时还发布了 Visual Studio 2022 正式版,终于将多年的 VS 主程序 从 32 位 改为 64 位,其内部版本号为 17.0.0
![Visual Studio 2022][3]
在 Visual Studio 2022 正式版中,微软专注于增强编辑和调试周期。
### IntelliCode
Visual Studio 2022 配备了 IntelliCode它是一个 AI 辅助的代码伴侣可让开发者输入更少的代码提升效率。IntelliCode 可以完成整行代码,用户只需按两次 Tab 键即可编写可靠的代码。IntelliCode 还可以发现重复的编辑,并在整个代码库中存在类似模式的地方提出修复建议。
![IntelliCode][4]
### 热重载
当开发者对应用进行调试运行时,适用于 .NET 和 C++ 的热重载可以让开发者实时更新代码并立即查看更改,开发者无需重新部署和启动应用程序。
![Hot Reload][5]
### 性能提升
Visual Studio 2022 是第一个 64 位版本的 Visual Studio。它现在可以充分利用现代硬件以便可靠地扩展到更大、更复杂的项目。此外Visual Studio 2022 还专注于提高开发者每天使用的常见场景的性能。
![64位 VS 加载大型工程][6]
### 现代化图标
除此之外Visual Studio 2022 还对一系列图标进行了更新,使其更加现代化(右侧)。
![图标变更前后对比][7]
# 总结
目前 TaurusXin 已经上手体验了 Visual Studio 2022 的正式版,热重载功能非常不错,对于提升开发效率十分重要。
Visual Studio 下载地址https://visualstudio.microsoft.com/zh-hans/downloads/
.NET 下载地址https://dotnet.microsoft.com/download
[1]: https://devblogs.microsoft.com/dotnet/announcing-net-6/
[2]: https://img.ithome.com/newsuploadfiles/2021/11/399c0960-0bcd-4678-9a54-5a6b6afbf34d.png
[3]: https://img.ithome.com/newsuploadfiles/2021/11/9792d300-0ee0-4b22-9148-b209a80a087f.png
[4]: https://img.ithome.com/newsuploadfiles/2021/4/74ed7324-88e3-4519-b173-882e5b890db3.gif
[5]: https://img.ithome.com/newsuploadfiles/2021/4/ac3f0b6d-abeb-41f6-8247-e8aa9a67d0ad.gif
[6]: https://img.ithome.com/newsuploadfiles/2021/4/f99855ce-539e-4205-8748-9900cfd3d5ce.gif
[7]: https://img.ithome.com/newsuploadfiles/2021/11/e9d5deb8-ad65-4f16-9db4-3057b70a87e5.png

View File

@ -0,0 +1,13 @@
<!-- valine -->
<div id="vcomments"></div>
<script src='//unpkg.com/valine/dist/Valine.min.js'></script>
<script type="text/javascript">
new Valine({
el: '#vcomments',
appId: '{{ .Site.Params.valine.appId }}',
appKey: '{{ .Site.Params.valine.appKey }}',
avatar:'{{ .Site.Params.valine.avatar }}',
placeholder: '{{ .Site.Params.valine.placeholder }}',
visitor: {{ .Site.Params.valine.visitor }}
})
</script>

@ -0,0 +1 @@
Subproject commit 359e4b34c1f96beeda472cddb54cea98522b2c14