Skip to content

Commit

Permalink
update fraction 20240319
Browse files Browse the repository at this point in the history
  • Loading branch information
f2h2h1 committed Mar 19, 2024
1 parent c584961 commit cbfc1b8
Show file tree
Hide file tree
Showing 5 changed files with 97 additions and 10 deletions.
11 changes: 11 additions & 0 deletions article/MySQL的时间类型和时间相关的函数.md
Expand Up @@ -285,4 +285,15 @@ select
@@global.system_time_zone, @@global.time_zone, @@session.time_zone
;
在 mysql 中 CST ,至少有两种含义
Central Standard Time (USA) UT-6:00 美国标准时间
China Standard Time UT+8:00 中国标准时间
比较保险的方式是通过 select now(); 对比一下当前的时间
修改 global.time_zone 的值,改成 +08:00 这种形式
set global time_zone='+08:00';
flush privileges;
-->
33 changes: 25 additions & 8 deletions article/_draft.md
Expand Up @@ -1122,6 +1122,8 @@ vscode的使用技巧
可以先找几家不是目标公司面试,先积累一下面试的感觉
先准备一周,然后随便面试一周,最后才是目标公司的面试(但准备这么久目标公司的岗位可能已经没有了)
面试的关键在于 预判面试官的问题,预判面试官对问题答案的期待
面试技巧是锦上添花,不能作为核心竞争力
面试技巧最主要的作用是向招聘单位准确全面地展示自己的能力,尽量地收集招聘单位的信息,保持必要的体面
拒绝不合适的公司
要对比已经收到的 offer
试用期期间要考虑去留
Expand Down Expand Up @@ -4012,27 +4014,42 @@ wordpress
过滤器需要返回值,过滤器不应该有副作用
简单来说,Action 用来添加功能,Filter 用来修改数据
其实两种 Hook 的运作方式几乎一样,只差在增加 Action Hook 函式不需回传值
例子
add_action('example_action', function(){
echo 'example';
});
add_filter('example_filter', function($msg){
return $msg;
});
do_action('example_action');
echo apply_filters('example_filter', 'example');
最简单的插件例子,只需要一个文件 wp-content/plugins/example.php
一般的例子,一个文件夹 wp-content/plugins/example/
创建插件时需要的 3 个基础钩子是 register_activation_hook(),register_deactivation_hook() 和 register_uninstall_hook()。
register_activation_hook 我们激活插件时会运行,我们可以使用这个钩子挂载一个函数来设置我们的插件,例如在数据表中添加一些默认设置。
register_deactivation_hook 在我们禁用插件时运行,我们可以挂载一个清理插件数据的函数来清理一些临时数据。
register_uninstall_hook 在我们卸载插件时运行,我们可以挂载一个清理插件所有数据的函数来清理数据库中不再需要的插件数据。
插件的配置保存在哪里?
如何调试 wp ?
在 wp 中如何使用 composer
主题 和 插件 是可以通过 composer 安装的
主题 在 composer 中的 type 是 wordpress-theme
插件 在 composer 中的 type 是 wordpress-plugin 或 wordpress-muplugin ,通常都是 wordpress-plugin
只要正确的修改 composer 的配置,就能把插件安装到对应的目录
"extra": {
"installer-paths": {
"wp-content/plugins/{$name}/": [
"type:wordpress-plugin"
]
"wp-content/themes/{$name}/": [
"type:wordpress-theme"
]
"installer-paths": {
"wp-content/plugins/{$name}/": [
"type:wordpress-plugin"
]
"wp-content/themes/{$name}/": [
"type:wordpress-theme"
]
}
}
如何给 woo 增加支付方式
能用于 wp 的 dockerfile 和 docker-compose.yml ?
如何给 woo 增加支付方式 ?
wordpress 如何实现 国际化/多语言 ?
wordpress 如何实现 群站 ?
如何把 wp 建设成 询盘型的外贸企业站 ?
如何把 wp 建设成 B2C外贸卖货网站 ?
在 wp 中如何跟踪物流信息?
Expand Down
3 changes: 2 additions & 1 deletion article/关于.md
Expand Up @@ -24,10 +24,11 @@
## 这些年写博客的一些感受
- 排版也是很花时间
- 不必等到一些都准备好时再动笔,有想法就可以动笔记录下来了
- 别纠结是不是原创,别纠结前面有没有人写过相同的问题,这是属于自己的笔记,自己的博客,只要是自己觉得有需要就可以记录下来
- 别纠结是不是原创,别纠结前面有没有人写过相同的问题,这是属于自己的笔记,只要是自己觉得有需要就可以记录下来
- 要时不时回顾一下自己写的笔记
- 往往在回顾的时候会发现一些自己还理解不透彻的地方,然后针对理解不透彻的地方继续学习,继续扩充笔记
- 经历大量实践后,最后记录下来的可能只有简单的几句话
- 我感觉我的数学基础还是太薄弱了,时常都有一种想重学301的冲动
- 一直都不喜欢太多的图片,因为图片体积大,而且不好做版本控制,但是一些内容又很难用文字描述,又不得不使用图片

> “对我来说,博客首先是一种知识管理工具,其次才是传播工具。我的技术文章,主要用来整理我还不懂的知识。我只写那些我还没有完全掌握的东西,那些我精通的东西,往往没有动力写。炫耀从来不是我的动机,好奇才是。" ──阮一峰
50 changes: 49 additions & 1 deletion article/关于字符编码的一些坑.md
Expand Up @@ -379,8 +379,41 @@ W3C的编码技术指南规定,应将gb2312字节流视为GBK编码,与GB180
区位码和交换码好像并没有多少实际的应用
平时遇到的 gb2312 都是机内码,所以很多时候,查看字符编码时 gb2312 会直接显示成 EUC-CN
EUC
Extended Unix Code
gb-2312 除了 EUC-CN 之外还有一种名为 HZ 的编码
斯坦福的李楓峰 1989 搞了 HZ 编码方式用在 Usenet 和 Email 上。但 EUC-CN 成了主流,今天我们说 GB2312 编码,基本上就是在说 EUC-CN 编码的 GB2312 字符
HZ-GB-2312
HZ HanZi 汉字
https://cloud.tencent.com/developer/article/1467724
据说 gb系列的区位码就是参考了这个标准
ECMA-35
这种排列管理方式源于 1971 年制定的 ECMA-35 标准,被称为 code page
rfc1843
rfc1922
rfc3629
https://zhuanlan.zhihu.com/p/22874005
unique/versal/form character encoding
唯一/通用/表格 字符 编码
ASCII
American Standard Code for Information Interchange
美国 标准 码 信息 交换
美国信息交换标准码
ANSI
American National Standard Institute
美国 国家 标准 学会
美国国家标准学会
-->

### ISO 2022 和 EUC-CN
Expand Down Expand Up @@ -789,7 +822,22 @@ mysql 的 utf8 和 utf8mb3 和 utf8mb4
- MySQL 在 5.5.3 之后新增了 utf8mb4 支持 4 字节编码,mb4 即 most bytes 4
- MySQL 为了向前兼容,在后续的版本里依然保留只支持 3 字节编码的 utf8 和支持 4 字节编码的 utf8mb4
- utf8mb3 就是 utf8 ,据说为了防止 utf8 和 utf8mb4 混淆所以加了一个 utf8mb3 的别名?
- 在新项目的开发里字符集都选 utf8mb4 排序规则都选 utf8mb4_unicode_ci 是大概率不会错的
- 在新项目的开发里字符集都选 utf8mb4

MySQL utf8mb4 的排序规则
- 常见的 utf8mb4 的排序规则
- utf8mb4_0900_ai_ci
- utf8mb4_unicode_ci
- utf8mb4_general_ci
- 后缀的解释
- utf8mb4_unicode 排序基于 unicode 标准
- utf8mb4_general 排序没有基于 unicode 标准,但速度比 utf8mb4_unicode 更快
- utf8mb4_0900 排序也是基于 unicode 标准,0900 是指基于 unicode 9.0 ,和 utf8mb4_unicode 相比能处理更多的字符
- ai 是不区分口音,也就是说,排序时 e,è,é,ê 和 ë 之间没有区别
- ci 是不区分大小写
- utf8mb4_0900_ai_ci 是 mysql8 utf8mb4 的默认排序规则
- 排序规则如果有 0900_ai_ci 就选这个,如果没有就选 utf8mb4_unicode_ci
- 参考 https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html

unicode 里关于汉字的问题

Expand Down
10 changes: 10 additions & 0 deletions article/对JS原型链的理解.md
Expand Up @@ -400,6 +400,16 @@ js 的各种循环方法
obj instanceof Object && obj !== null;
这两种方式都无法区分普通对象 数组 和 函数
用 Object.prototype.toString 最稳
Object.prototype.toString.call({}); // '[object Object]'
Object.prototype.toString.call([]); // '[object Array]'
Object.prototype.toString.call(function(){}); // '[object Function]'
Object.prototype.toString.call(1); // '[object Number]'
Object.prototype.toString.call('1'); // '[object String]'
Object.prototype.toString.call(true); // '[object Boolean]'
Object.prototype.toString.call(null); // '[object Null]'
Object.prototype.toString.call(); // '[object Undefined]'
Object.prototype.toString.call(BigInt("0x1fffffffffffff")); // '[object BigInt]'
Object.prototype.toString.call(Symbol(42)); // '[object Symbol]'
如何判断对象是否有某个属性
in 和 hasOwnProperty
hasOwnProperty 自身的属性
Expand Down

0 comments on commit cbfc1b8

Please sign in to comment.