Study
英文
中文
I don’t want to be an engineer
我不想成为一个工程师
I tried so hard and got so far and now I can’t decide
努力这么久 到了这么远 现在我却无法决定
All my life I’ve given my career
我这一生都献给了我的事业
These numbers in my head keep on spinning round and round Yeah
这些数字在我脑海中不停旋转
I can only guess
我只能猜
What’s right?
什么是对的
Should I stay three more years just to waste away?
我应该再待三年只是为了浪费时间吗
Become a slave to all these numbers?
成为这些所有数字的奴隶
It’s overdue, all the stress
这些压力早该结束
yet I say I’m fine
然而我说我没事
Wo ...
编程杂谈
变量不变性
自学习 C 语言的时候我们就学会了如何给变量赋值:
1int testVariable = 0;
并且可以对变量 重新赋值:
1testVariable = 1;
而到后来学习了 Java,有个 final 关键字,但还是不清楚这有什么作用。接触 Dart 后才切实的了解了为什么会有 final 关键字,以及它为什么存在。
很多时候我们编程的流程就是将一个变量处理成另一个变量,而不是对原先的变量进行重新赋值,
鸿蒙 ArkUI 使用报告(二)
不想说好话,因为鸿蒙 ArkUI 就是纯纯的一坨。
给目前自己接触过的大前端框架拍个名的话
Flutter:当之无愧
SwiftUI:除了文档没有示例,代码格式化不舒服外,框架本身是没问题的
Next.js:前端的神
Electron:桌面端的神,但我不喜欢什么东西都是浏览器套壳
React Native:页面路由麻烦,开发工具不方便
Jetpack Compose:半成品
ArkUI:残次品
它的 IDE 弱智到什么程度呢?连最起码的变量类型都显示不对,Linter 诡异莫测完全不起作用,代码补全完全残废,连 code fix 也没有。
有人真要是能对这坨东西骄傲的说有多么厉害那还是屎吃多了不知道饭是咋样的。
状态管理是抄都抄不懂啊!就连最简单的父组件的给子组件传参,父组件的状态变化了不影响子组件,要多在子组件参数加上 @Link 注解,那这样我要是子组件有很多参数依赖是不是得把参数都加上 @Link 注解?那如此的话模板代码量不就又上去了?
完全不看好 ArkUI 未来的发展,希望早日暴毙。
鸿蒙 ArkUI 使用报告
大家好啊,今天来点大家想看的东西啊。
ArkTS 语言
ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript 基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。同时,提供了声明式 UI 范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。
官网是这样说的,但我只能呃呃。可能是华为没有那样的能力去创建一门属于自己的语言吧,最后把 TypeScript 变成了与 Swift 或者说是 Kotlin 缝合的缝合怪。一些令我厌烦的写法,如匿名函数 .bind(this)、模板字符串要用反引号 const str = `Show: ${another} value` ,也遗传了下来,特别是组件内引用 state 时也要带上 this,这肯定是受到语言实现的限制吧。
同样的,我不喜欢 ArkTS:
必须使用 DevEco Studio 才能使用 ArkTS 语言
DevEco Studio 自带的代码格式化结果一坨:
12345678910 ...
高中数学
函数、导数、积分
基本知识
多阶导数的记法
对 f(x)f(x)f(x),记 f′(x)f'(x)f′(x) 为一阶导,f′′(x)f''(x)f′′(x) 为二阶导,f′′′(x)f'''(x)f′′′(x) 为三阶导,任意阶导都可为 f(n)(x)f^{(n)}(x)f(n)(x)
极值点判别法则
对函数 f(x)f(x)f(x) 在 x=x0x = x_0x=x0 处若存在 n∈N∗n \in \N^*n∈N∗ 使得
f′(x0)=f′′(x0)=⋯=f(n−1)(x0)=0f'(x_0) = f''(x_0) = \dots = f^{(n - 1)}(x_0) = 0f′(x0)=f′′(x0)=⋯=f(n−1)(x0)=0,f(n)(x0)>0f^{(n)}(x_0) > 0f(n)(x0)>0,则当 nnn 为偶数时,x0x_0x0 为极小值点
f′(x0)=f′′(x0)=⋯=f(n−1)(x0)=0f'(x_0) = f' ...
考研数学
请确保已经了解了 高中数学 相关知识
一元函数微分
一元函数极值点、拐点的判定
极值点:看 x0x_0x0 左右两侧是否为局部最大(小)值;极值点是横坐标
拐点:看 f′′(x)f''(x)f′′(x) 是否在 x0x_0x0 左右两侧异号,该点本身可以不可导,且 f′′(x)>0f''(x) > 0f′′(x)>0 时为凹函数,f′′(x)<0f''(x) < 0f′′(x)<0 时为凸函数;拐点是点
极值点判别法则
对函数 f(x)f(x)f(x) 在 x=x0x = x_0x=x0 处若存在 n∈N∗n \in \N^*n∈N∗ 使得
f′(x0)=f′′(x0)=⋯=f(n−1)(x0)=0f'(x_0) = f''(x_0) = \dots = f^{(n - 1)}(x_0) = 0f′(x0)=f′′(x0)=⋯=f(n−1)(x0)=0,f(n)(x0)>0f^{(n)}(x_0) > 0f(n)(x0) ...
SwiftUI 使用报告
Swift 语言
Swift 是 Apple 开发的一门编程语言——不像 某为 什么 ArkTS 语言 就是给 TypeScript 套皮——用的范围也很小,就它自家的产品开发用。
Swift 和 Kotlin 非常相似,创新了一些比较奇妙的语法比如:
123callFunction(parma1, (value) { final value2 = value * 2; print(value2)});
这种最后一个参数是函数时,可以写作:
1234callFunction(parma1) { value in let value2 = value * 2 print(value2)}
你说代码好看了嘛是好看了,但代码格式化时不会自动格式化到这种好看的格式,要写这种格式代码补全又不给我补全成这样,到后面反而是浪费了时间。
我不是很喜欢 Swift,究其原因如下:
必须使用 Xcode 才能使用 Swift 语言
Xcode 不自带代码格式化,需要自己找插件
格式化风格不统一
没有热更新(Dart 都可以不依赖 Flutter 进行热更 ...
更好的排版
自写日记开始,自己就越来越注重文字排版。
我是希望自己编写出来的东西是被精心设计过的,被别人看到时别人会感到舒适的。
除了之前所谈的“注意语病”外,现在多加的习性则是:
使用标准的专有名词
例如 GitHub,官方使用该词时都是 GitHub,从来不会使用什么 github、gitHub。
Xcode 也是,c 是小写的,而 VSCode,C 是大写的。
当然,编程里有 camelCase 这样的命名规范,那么这时 GitHub 对应什么?是 github 还是 gitHub 呢?
看个人喜好啦~
不再过分使用括号
括号一层一层嵌套会使得意思极其“扭曲”,理解起来需要绕弯子,同时存在一堆右括号连在一起的情况,这很不美观。特别是如果存在括号内多重括号完后接下句,其所指的前文是很难很快找到的。
更好的做法当然是尽可能不使用括号,将想要表达的内容尽可能展开(flatten)来,出现跳跃性的句子可以使用破折号。
中英文混排时添加空格
在绝大多数情况下,在半角字符和全角字符直接加入空格就能给人一种文章没那么挤的感受。
比如接下来的这句话:
1我喜欢吃apple,不喜欢吃peach和orange。 ...
path_provider
path_provider
${name} => app
${org} => com.example
${package} => ${org}.${name}
Directory
Android ..$0=>/data/user/0; ..$1=>/storage/emulate/0/Android/data
Windows ...=>C:\Users\${user}
Temporary
🌞 ..$0/${org}/cache
🌞 ...\AppData\Local\Temp
Application Support
🌞 ..$0/${org}/files
🌞 ...\AppData\Roaming\${org}\${name}
Application Library
🌙
🌙
App ...
Next.js 和 React 使用报告
使用报告系列开新坑了,今天要谈的是 Next.js 14。为什么是 14 呢,因为我从 14 学的,别叫。
先做个介绍吧,最新的 Next.js 官网上其称自己为“The React Framework for the Web”,记得之前有多加一个“专为生产环境”的头衔,总之,人家是框架,开发的方方面面都体贴的为你想到了。
对了,可能还要再介绍 React,它自己介绍自己为“JavaScript library”,在我看来,它就是将原先命令式的 JavaScript 操作,改为了更加简约的声明式组件,提升了组件的复用性。
对,大学课程里教过我们使用 jQuery 来操作 HTML 元素,但这玩意怎么还没死啊?这不累死个人?这不老古董?
以及,React 操作的是 DOM 节点,通过 Link 组件,其能在“跳转页面”时不再真正跳转页面,而是根据新获取的信息更新当前页面,直观来说就是浏览器左上角不再出现转圈圈的刷新图标,使单页应用成为可能。
我是不是还要再解释一下什么是 单页应用(?)。
非常好路由
Next.js 一大好处就是基于文件系统的路由,它抹去了原 React 提供的注册路由的 ...
React Native 使用报告(二)
被恶心到了,我要狠狠的吐槽。
最近在恶补 React、Next.js、React Native,我先谈谈这个 React Native。
语言不行?
几个月下来,对 TypeScript 的了解更深了,能基本使用 TypeScript 了,像是它的解构,挺有趣的。自己也用 TypeScript 开发了一个 VSCode 插件,可以说是这个项目后才对 TypeScript 有了好感。
有关它的类型,我还是不太能看懂,特别是我想要知道一个类型到底是怎样的时候,也就是翻源码的时候,要在很多联合类型直接跳转,这挺麻烦的。而之前也谈过,Dart 很直观,没有这么绕——但我也确实想要 Dart 加入联合类型就是了。
对了,补充一点,之前说到 Java 没有空安全检查,这不太对,因为后面较新版本的 Java 有空安全,我也看到有的 Java 使用了 @Nullable 注释。
我不确定现在公司里都用的什么版本的 Java,不会还是 Java 8 吧?我是建议一直跟最新的,不管是语言还是框架,它们为什么要更新呢?因为它们加入了一些新东西,这些东西肯定是被好好讨论后才加入的,而被 deprecate 的 ...
多设备协同与自定义
大家好啊,今天来点大家想看的东西啊。
一人多设备的情况已经很常见了,在此分享一下自己的多设备协同体验。
设备清单
设备
型号
备注
手机
iQOO Neo 5
单 Type-C 口;蓝牙 5.1
平板
iPad Pro 2021 11’
蓝牙 5.0;单 Type-C 口,支持雷雳 / USB 4,向下兼容 DP、雷雳 3、USB 4、USB 3.1 gen2
蓝牙耳机
AirPods Pro II
单 Type-C 口;蓝牙 5.3
Mac
Mac mini M2
双 Type-C 口,均支持雷雳 / USB 4,向下兼容 DP、雷雳 3、USB 4、USB 3.1 gen2;双 Type-A 口;单 HDMI 2.0 口;略
显示器
泰坦军团 P2SA2V 4K 144 Hz
单 DP 1.4 口;双 HDMI 2.1 口;支持 DSC;单 Type-C 口,支持 DP 输出、PD 65 W 供电;单 Type-B 口;两者其一作为双 Type-A 口上行,均支持 USB 3.0;单音频接口
笔记本电脑
拯救者 R7000P 2021
蓝牙 5. ...
杂货
一些招聘要求
HTML5、CSS3、ES6、React、Vue、Node.js、Webpack、Gulp、Git
Redux、EmberJS
计算机组成原理、计算机网络、数据结构、算法、设计模式、软件架构、操作系统、编译原理、数据库
C/C++、Java、Kotlin、Objective-C、Swift、PHP、Python、Go、Rust、Dart、JavaScript、TypeScript、SQL
React Native、Weex 、Hippy、Flutter、Hybrid
前端性能优化方案,工程化优化方案
有开源作品,GitHub 上有独立作品
了解多线程编程
IOS、Android、Windows Phone 开发经验
深入理解 Windows 操作系统的内存管理、文件系统、进程、线程
熟悉 Windows 界面实现机制;QT、DuiLib、CEF
系列作品
名称
来源
介绍
链接
Zeus
宙斯
基于 Next.js 开发的个人简历网站
Sol
太阳
QT 桌面项目管理软件
Mercurius
水星
基于 Flutter 开发的开源、跨平台日记 ...
React Native 使用报告
最近邀请我参加一个七牛云的校园编程竞赛,我觉得自己能学到些什么,所以就半同意下来了。
昨天晚上三个人简要谈了谈之后,说是要决定一下选什么框架好,目前就两个方向——React Native 和 Flutter,前者是我只听说过但没实际了解的东西,后者则是自去年 11 月份就在学的东西。
于是昨天配置好 RN 的基础环境后,今天就看教程去了,但是嘛,越看就越觉得 RN 不好用,我来具体分析一下。
语言不行
首先,RN 使用 JS/TS 语言来编写程序,而前者 JS 是我认为最令人难受的语言(PHP 好像也挺垃圾的),它的变量类型可以说是一塌糊涂,动态类型 Python 也有,但 Python 我就用来写点小东西,要我用它开发程序……我也不是没写过,WordCloud 就是用 Python 写的,体验也是非常糟糕。除此之外我还非常讨厌它有 == 和 === 的区别,隐式转换是坏文明。
后者 TS 我就直白的说,我看不懂!Python 里加入类型检查的方法是在变量后面冒号然后一个类型,而且重要的是,即便没给全部的变量都加上类型,程序仍然能跑起来,相当于只是给个 lint 提示一下,但 TS 要 ...
LaTeX 使用报告
介绍
LaTeX 是一个文档准备系统(Document Preparing System),它非常适用于生成高印刷质量的科技类和数学类文档。它也能够生成所有其他种类的文档,小到简单的信件,大到完整的书籍。LaTeX 使用 TeX 作为它的排版引擎。
总之是以代码的形式生成很漂亮的 pdf 文档!相比 Word 他虽然不够直观,但,漂亮决定一切(((
使用
你以为我会教你怎么安装吗?当然不会,可以去谷歌一下。
但你说我真的喜欢 LaTeX 吗?实际上 LaTeX 体积过于庞大,而且总给我一种这仍是上个世纪的产物(它确实是),生硬,但又忠实的反应了其结果。
相比 LaTeX,更常用的是 markdown,markdown 的语法简单,扩展性强,只是想要个数学公式功能的话 markdown 也能很好的胜任。
但 markdown 并没有一个统一的语法,就比如 _斜体_ 和 *斜体* 其结果都是 斜体 一样,这就导致了各种 markdown 渲染器的渲染结果有所不同,更不用说一些平台的扩展语法了。
那 markdown 的创始人在干什么?
一些不便
Emoji 插入不便
自定义字体不便
错误 ...
Python 包与 email 提醒
缘起
在使用 python 写监听器的时候经常使用邮件提醒监听器变化,一开始就是简单一句话提醒就行,后面想着这玩意应该能和自己以前收到的邮件一样好看,所以开始试着发送 html 格式而不是纯文本的邮件,经过一番折腾,最后搞出来了个 python 包 listener_email 。
问题
参考了苹果购物详情邮件:
可是在修改过程中发现各个平台显示出的结果都不一样,其中:
QQ 邮箱网页版支持最好,能不使用 <table> <tbody> <tr> <td> 等标签,而是普通的 <div> 和 css 里的 display: flex 属性进行布局,其他的邮箱都不可以;能使用 github.com 域名下的图片,而不是非要使用 raw.githubusercontent.com 域名下的图片,其他的邮箱都不可以;唯一的缺点是没有暗色模式
iPad 版 Gmail 只能使用 <table> <tr> <td> 等标签进行布局,使用 <tbody> 标签 Gmail 会把里面的东西 ...
有关符号链接的小问题
符号链接与云盘同步
在之前的 云盘同步及 Obsidian 相关 文章里有提到:
兜兜转转还得是微软的 OneDrive ,在 cmd 使用 mklink /d "D:\OneDrive\Songs" "D:\osu\Songs" 创建链接使 D:\OneDrive 这个我个人设定的 OneDrive 文件夹(默认在哪来着不记得了)里出现一个 Songs 文件夹,进去一看好家伙是 D:\osu\Songs 里的东西,这样 Windows 方面成功。
其中使用的指令创建了一个符号链接,其中真正的文档处在后者 D:\osu\Songs 中,而前者 D:\OneDrive\Songs 是指向后者的一个符号链接,注意前者原先是不能存在 Songs 文件夹的,否则无法创建符号链接。
这种方案这会引发 OneDrive 无法正确显示是否已同步文件的问题,解决办法是先转移文件到别的地方,右键删除符号链接:
在网上查询了许多方法都不管用,会出现删除后无法创建同名文件夹,文件夹会自动添加 2 后缀的 bug,感觉没死一样阴魂不散。
解决办法是直接将符号链接改 ...
新主页,新气象
旧版的不适应之处
首先,原先的主题已经很久很久没有实质性更新了,而且自己在自定义方面处处碰壁,于是开始寻找其他博客主题。
新版的好处
首先,好看多了,很多地方也能进行自定义。自己还花了一点小钱在 阿里云 买了个域名,现在这个网站既可以通过 https://cierra-runis.github.io/ 访问,也可以通过 https://note-of-me.top 进行访问。
当然,经过配置之后,现在:
https://cierra-runis.github.io/
https://www.note-of-me.top/
都是重定向到了 https://note-of-me.top 的,有时前面 www 没被隐去的情况也存在就是了
除此之外,还使用了 去不图床 作为网站图片的图床,价格也是特别的亲民,对于大陆用户的速度有一定提升。
需要解决的问题
因为自己也有使用 Obsidian 进行博客编辑的习惯,那么在 iPad 上编辑时上传图片就略显复杂,试着寻找插件解决问题罢。
云盘同步及 Obsidian 相关
之前在某个直播间看到有人在用一个看起来又是很新的玩意写 markdown 于是非常好奇的下载了 Obsidian ,在看到官方的同步价格贵的一批之后在直播间里进行吐槽获得了能自搭同步的情报,于是进行一个 iCloud 的利用~
iCloud 与 Obsidian
具体来说,苹果官方在 Windows 端推出了个 云盘同步工具 ,安装登陆后就能在电脑上看到已和 iPad 文件管理器中同步了的 iCloud 云盘 一项,在 iPad 端的 Obsidian 软件里选择在 iCloud 创建仓库后,便能在 iCloud 云盘 里看到 Obsidian 文件夹,进行软件配置、文件创建、修改、删除都会很快同步,当然 iCloud 有时抽风给你在那把文件“高高挂起”也不是不可能 😡
个人觉得每月给 iCloud 交的 6 块钱特别的值,便宜好用就是值——于是这同步空间可不能浪费,把自己原先囤积在电脑上的图片、音乐、文件都传了上来,算是减轻了因装了很多开发工具而臃肿不堪的电脑的压力。
哦,原先想着自己的一些“私密文件”也传上来方便些,但因为 举头三尺有神明 ,铁拳还是有可能砸到云上贵州的,所以转向 ...
有关 Flutter 的若干笔记
Flutter 介绍
Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart 语言开发 App,一套代码同时运行在 iOS 和 Android 平台。Flutter 提供了丰富的组件、接口,开发者可以很快地为 Flutter 添加 Native 扩展。
在此记录些常用资料:
文档
文章
官方网站
Flutter 最佳实践和编码准则
官方英文文档
iPad 大屏 & Flutter 多引擎适配之路
官方中文文档
详解 android:elevation 的使用
官方 Package 站
Flutter elevation 属性名称的含义
Flutter 实战
Android 中 elevation 的设置方法
模式匹配
工具
包
Json to Dart
图片缓存
BasedWidget
QWeatherIcons
使用 index.dart 文件简化导入
规定文件目录结构如下:
123456789101112131415161718192021 ...