[ { "title": "Vue.js 挑战练习", "created": "2022-08-12T00:00:00.000Z", "summary": "我的答案以及相关知识点", "tags": [ "Vue" ], "slug": "/2022-08-12-vue-challenges.md", "path": "/2022-08-12-vue-challenges", "toc": [ { "depth": 2, "title": "Built-ins", "slug": "built-ins" }, { "depth": 3, "title": "DOM 传送门", "slug": "dom-传送门" }, { "depth": 3, "title": "优化性能的指令", "slug": "优化性能的指令" }, { "depth": 2, "title": "CSS Features", "slug": "css-features" }, { "depth": 3, "title": "动态 CSS", "slug": "动态-css" }, { "depth": 3, "title": "全局 CSS", "slug": "全局-css" }, { "depth": 2, "title": "Components", "slug": "components" }, { "depth": 3, "title": "DOM 传送门", "slug": "dom-传送门-1" }, { "depth": 3, "title": "Props 验证", "slug": "props-验证" }, { "depth": 3, "title": "函数式组件", "slug": "函数式组件" }, { "depth": 3, "title": "渲染函数h()", "slug": "渲染函数h" }, { "depth": 3, "title": "树组件", "slug": "树组件" }, { "depth": 2, "title": "Composable Function", "slug": "composable-function" }, { "depth": 3, "title": "切换器", "slug": "切换器" }, { "depth": 3, "title": "计数器", "slug": "计数器" }, { "depth": 3, "title": "实现本地存储函数", "slug": "实现本地存储函数" }, { "depth": 3, "title": "鼠标坐标", "slug": "鼠标坐标" }, { "depth": 2, "title": "Composition API", "slug": "composition-api" }, { "depth": 3, "title": "生命周期钩子", "slug": "生命周期钩子" }, { "depth": 3, "title": "ref 全家桶", "slug": "ref-全家桶" }, { "depth": 3, "title": "响应性丢失", "slug": "响应性丢失" }, { "depth": 3, "title": "可写的计算属性", "slug": "可写的计算属性" }, { "depth": 3, "title": "watch 全家桶", "slug": "watch-全家桶" }, { "depth": 3, "title": "浅层 ref", "slug": "浅层-ref" }, { "depth": 3, "title": "依赖注入", "slug": "依赖注入" }, { "depth": 3, "title": "Effect 作用域 API", "slug": "effect-作用域-api" }, { "depth": 3, "title": "自定义 ref", "slug": "自定义-ref" }, { "depth": 2, "title": "Directives", "slug": "directives" }, { "depth": 3, "title": "大写", "slug": "大写" }, { "depth": 3, "title": "优化性能的指令", "slug": "优化性能的指令-1" }, { "depth": 3, "title": "切换焦点指令", "slug": "切换焦点指令" }, { "depth": 3, "title": "防抖点击指令", "slug": "防抖点击指令" }, { "depth": 3, "title": "激活的样式-指令", "slug": "激活的样式-指令" }, { "depth": 3, "title": "实现简易版v-model指令", "slug": "实现简易版v-model指令" }, { "depth": 2, "title": "Event Handling", "slug": "event-handling" }, { "depth": 3, "title": "阻止事件冒泡", "slug": "阻止事件冒泡" }, { "depth": 3, "title": "按键修饰符", "slug": "按键修饰符" }, { "depth": 2, "title": "Global API:General", "slug": "global-apigeneral" }, { "depth": 3, "title": "下一次 DOM 更新", "slug": "下一次-dom-更新" }, { "depth": 2, "title": "Lifecycle", "slug": "lifecycle" }, { "depth": 3, "title": "生命周期钩子", "slug": "生命周期钩子-1" }, { "depth": 2, "title": "Reactivity:Advanced", "slug": "reactivityadvanced" }, { "depth": 3, "title": "浅层 ref", "slug": "浅层-ref-1" }, { "depth": 3, "title": "原始值 API", "slug": "原始值-api" }, { "depth": 3, "title": "Effect 作用域 API", "slug": "effect-作用域-api-1" }, { "depth": 3, "title": "自定义 ref", "slug": "自定义-ref-1" }, { "depth": 2, "title": "Reactivity:Core", "slug": "reactivitycore" }, { "depth": 3, "title": "ref 全家桶", "slug": "ref-全家桶-1" }, { "depth": 3, "title": "可写的计算属性", "slug": "可写的计算属性-1" }, { "depth": 3, "title": "watch 全家桶", "slug": "watch-全家桶-1" }, { "depth": 2, "title": "Reactivity:Utilities", "slug": "reactivityutilities" }, { "depth": 3, "title": "响应性丟失", "slug": "响应性丟失" }, { "depth": 2, "title": "Utility Function", "slug": "utility-function" }, { "depth": 3, "title": "until", "slug": "until" }, { "depth": 2, "title": "Web Components", "slug": "web-components" }, { "depth": 3, "title": "自定义元素", "slug": "自定义元素" } ], "updated": "2022-08-13T08:21:08.878Z", "type": "article", "html": "" }, { "title": "Monkey Patch", "created": "2022-08-06T00:00:00.000Z", "summary": "猴子打补丁", "toc": false, "tag": [ "Notes" ], "slug": "/2022-08-06-notes/index.md", "path": "/2022-08-06-notes", "updated": "2022-08-07T04:36:02.907Z", "type": "article", "html": "" }, { "title": "我在看什么 · 7 月", "created": "2022-07-31T00:00:00.000Z", "summary": "eval / CSP&XSS / Commonplace Book ……", "tags": [ "我在看什么" ], "image": "/2022-07-31-reading-7/july.webp", "slug": "/2022-07-31-reading-7/index.md", "path": "/2022-07-31-reading-7", "toc": [ { "depth": 2, "title": "前端", "slug": "前端" }, { "depth": 2, "title": "后端", "slug": "后端" }, { "depth": 2, "title": "什锦", "slug": "什锦" }, { "depth": 2, "title": "Commonplace Book", "slug": "commonplace-book" } ], "updated": "2022-08-06T11:32:41.119Z", "type": "article", "html": "" }, { "title": "JS中的二进制数字", "created": "2022-07-27T00:00:00.000Z", "summary": "0b/0B和paresInt", "tags": [ "JavsScript" ], "slug": "/2022-07-27-bin.md", "path": "/2022-07-27-bin", "toc": [ { "depth": 2, "title": "ES6+", "slug": "es6" }, { "depth": 2, "title": "Before ES6", "slug": "before-es6" } ], "updated": "2022-08-11T17:12:21.128Z", "type": "article", "html": "" }, { "created": "2022-07-26T00:00:00.000Z", "tags": [ "XSS", "Notes" ], "slug": "/2022-07-23-notes-xss.md", "path": "/2022-07-23-notes-xss", "toc": [ { "depth": 3, "title": "XSS 学习", "slug": "xss-学习" } ], "updated": "2022-08-11T17:39:51.841Z", "type": "note", "html": "
介绍文章:
练习:
相关文章:
" }, { "title": "D3.js 基础笔记", "created": "2022-07-23T00:00:00.000Z", "summary": "即使是FreeCodeCamp也要做笔记", "tags": [ "D3.js", "数据可视化" ], "slug": "/2022-07-23-d3.md", "path": "/2022-07-23-d3", "toc": [ { "depth": 2, "title": "学习资源", "slug": "学习资源" }, { "depth": 2, "title": "基础操作", "slug": "基础操作" }, { "depth": 3, "title": "修改元素", "slug": "修改元素" }, { "depth": 3, "title": "使用数据", "slug": "使用数据" }, { "depth": 3, "title": "使用动态数据", "slug": "使用动态数据" }, { "depth": 3, "title": "给元素添加内联样式", "slug": "给元素添加内联样式" }, { "depth": 3, "title": "添加 Class", "slug": "添加-class" }, { "depth": 3, "title": "标签", "slug": "标签" }, { "depth": 3, "title": "添加工具提示 tooltip", "slug": "添加工具提示-tooltip" }, { "depth": 2, "title": "SVG", "slug": "svg" }, { "depth": 3, "title": "创建 SVG", "slug": "创建-svg" }, { "depth": 3, "title": "反转 SVG 元素", "slug": "反转-svg-元素" }, { "depth": 3, "title": "更改 SVG 元素的颜色", "slug": "更改-svg-元素的颜色" }, { "depth": 3, "title": "SVG 图形", "slug": "svg-图形" }, { "depth": 4, "title": "矩形", "slug": "矩形" }, { "depth": 4, "title": "圆形", "slug": "圆形" }, { "depth": 2, "title": "比例尺", "slug": "比例尺" }, { "depth": 3, "title": "创建线性比例", "slug": "创建线性比例" }, { "depth": 4, "title": "线性缩放", "slug": "线性缩放" }, { "depth": 4, "title": "按比例设置域和范围", "slug": "按比例设置域和范围" }, { "depth": 4, "title": "最小值最大值", "slug": "最小值最大值" }, { "depth": 3, "title": "使用动态比例", "slug": "使用动态比例" }, { "depth": 3, "title": "使用预定义的比例放置元素", "slug": "使用预定义的比例放置元素" }, { "depth": 3, "title": "添加坐标轴", "slug": "添加坐标轴" }, { "depth": 2, "title": "常见图表", "slug": "常见图表" }, { "depth": 3, "title": "散点图", "slug": "散点图" } ], "updated": "2022-08-01T03:03:33.463Z", "type": "article", "html": "" }, { "title": "css和js两种方式实现div右移1000px动画", "created": "2022-07-20T00:00:00.000Z", "summary": "用keyframes和timer", "tags": [ "CSS", "JavaScript", "animation" ], "slug": "/2022-07-20-animation/index.svelte.md", "path": "/2022-07-20-animation", "toc": [], "updated": "2022-08-01T03:03:33.463Z", "type": "article", "html": "" }, { "title": "我在看什么 · 5月", "created": "2022-07-16T00:00:00.000Z", "summary": "Anki / JSDoc / 蘑菇 / Music-Map ……", "tags": [ "我在看什么" ], "image": "/2022-07-16-reading-5/May1.jpg", "slug": "/2022-07-16-reading-5/index.md", "path": "/2022-07-16-reading-5", "toc": [ { "depth": 2, "title": "Productivity", "slug": "productivity" }, { "depth": 2, "title": "有趣的", "slug": "有趣的" } ], "updated": "2022-08-11T16:29:56.272Z", "type": "article", "html": "" }, { "title": "我在看什么 · 6月", "created": "2022-07-15T00:00:00.000Z", "summary": "Vue / 网页性能优化 / npm ……", "tags": [ "我在看什么" ], "image": "/2022-07-15-reading-6/june.png", "slug": "/2022-07-15-reading-6/index.md", "path": "/2022-07-15-reading-6", "toc": [ { "depth": 2, "title": "编程相关", "slug": "编程相关" }, { "depth": 3, "title": "前端", "slug": "前端" }, { "depth": 3, "title": "后端", "slug": "后端" }, { "depth": 2, "title": "其他", "slug": "其他" }, { "depth": 2, "title": "互联网哲学", "slug": "互联网哲学" } ], "updated": "2022-08-06T11:32:41.091Z", "type": "article", "html": "" }, { "title": "SQL 基础笔记", "created": "2022-07-13T00:00:00.000Z", "summary": "关于增改删查的方式", "tags": [ "SQL" ], "slug": "/2022-07-13-sql.md", "path": "/2022-07-13-sql", "toc": [ { "depth": 2, "title": "SQL vs. NOSQL", "slug": "sql-vs-nosql" }, { "depth": 2, "title": "CRUD", "slug": "crud" }, { "depth": 3, "title": "Create", "slug": "create" }, { "depth": 3, "title": "Read", "slug": "read" }, { "depth": 3, "title": "Update", "slug": "update" }, { "depth": 3, "title": "Destory", "slug": "destory" }, { "depth": 2, "title": "Understanding SQL Relationships, Foreign Keys and Inner Joins", "slug": "understanding-sql-relationships-foreign-keys-and-inner-joins" }, { "depth": 3, "title": "FOREIGN KEY", "slug": "foreign-key" }, { "depth": 3, "title": "INNER JOIN", "slug": "inner-join" } ], "updated": "2022-08-01T03:03:33.359Z", "type": "article", "html": "" }, { "title": "一些设计作品", "created": "2022-07-13T00:00:00.000Z", "summary": "logo / UI / 包装 / 儿童玩具 ……", "slug": "/2022-07-13-work/index.md", "path": "/2022-07-13-work", "toc": [ { "depth": 2, "title": "二十四节气茶包", "slug": "二十四节气茶包" }, { "depth": 2, "title": "UI 设计", "slug": "ui-设计" }, { "depth": 2, "title": "饼干包装", "slug": "饼干包装" }, { "depth": 2, "title": "Logo", "slug": "logo" }, { "depth": 2, "title": "排版装帧", "slug": "排版装帧" }, { "depth": 2, "title": "儿童玩具", "slug": "儿童玩具" } ], "updated": "2022-08-01T03:03:33.433Z", "type": "article", "html": "" }, { "title": "Privacy Policy 隐私声明", "created": "2022-06-19T00:00:00.000Z", "flags": [ "unlisted" ], "slug": "/privacy/index.svelte.md", "path": "/privacy", "toc": [], "updated": "2022-08-01T03:03:33.476Z", "type": "article", "html": "" }, { "title": "VPS · Jellyfin结合Cloudreve开启线上影院", "created": "2022-06-15T00:00:00.000Z", "summary": "基于 Docker 和 Nginx 的信心搭建过程", "image": "/2022-06-15-jellyfin/1.jpg", "tags": [ "Nginx", "VPS", "Docker" ], "slug": "/2022-06-15-jellyfin/index.md", "path": "/2022-06-15-jellyfin", "toc": [ { "depth": 2, "title": "关于 Jellyfin", "slug": "关于-jellyfin" }, { "depth": 2, "title": "Cloudrever", "slug": "cloudrever" }, { "depth": 3, "title": "反代", "slug": "反代" }, { "depth": 3, "title": "一些配置", "slug": "一些配置" }, { "depth": 2, "title": "Jellyfin", "slug": "jellyfin" }, { "depth": 3, "title": "搭建", "slug": "搭建" }, { "depth": 3, "title": "反代", "slug": "反代-1" }, { "depth": 3, "title": "媒体库路径", "slug": "媒体库路径" }, { "depth": 3, "title": "插件安装", "slug": "插件安装" }, { "depth": 3, "title": "主题和语言", "slug": "主题和语言" } ], "updated": "2022-08-06T11:32:41.091Z", "type": "article", "html": "" }, { "title": "VPS · 配置 Cloudflare 的免费 SSL 证书", "created": "2022-06-12T00:00:00.000Z", "summary": "关于如何为多个域名配置SSL证书的操作笔记", "tags": [ "Nginx", "VPS" ], "slug": "/2022-06-12-cloudflare.md", "path": "/2022-06-12-cloudflare", "toc": [ { "depth": 2, "title": "1. 创建证书", "slug": "1-创建证书" }, { "depth": 2, "title": "2. 密钥上传到 VPS", "slug": "2-密钥上传到-vps" }, { "depth": 2, "title": "3. 修改 Nginx 配置", "slug": "3-修改-nginx-配置" } ], "updated": "2022-08-01T03:03:33.353Z", "type": "article", "html": "" }, { "title": "实现一个返回页面顶部的 Vue3 组件", "created": "2022-06-10T00:00:00.000Z", "summary": "结合流畅的动画平滑滚动到页面顶部", "tags": [ "Vue3", "BootStrap" ], "slug": "/2022-06-10-backtotop.md", "path": "/2022-06-10-backtotop", "toc": [], "updated": "2022-08-01T11:38:16.754Z", "type": "article", "html": "" }, { "title": "Contabo OSS + PicGo 图床配置", "created": "2022-05-30T00:00:00.000Z", "summary": "OSS自建图床笔记", "tags": [ "OSS" ], "slug": "/2022-05-30-contabo-oss.md", "path": "/2022-05-30-contabo-oss", "toc": [ { "depth": 2, "title": "1. 购买套餐", "slug": "1-购买套餐" }, { "depth": 2, "title": "2. 创建 Bucket", "slug": "2-创建-bucket" }, { "depth": 2, "title": "3. 安装 PicGo 插件", "slug": "3-安装-picgo-插件" }, { "depth": 2, "title": "4. 配置插件", "slug": "4-配置插件" }, { "depth": 3, "title": "应用密钥 ID 和 应用密钥", "slug": "应用密钥-id-和-应用密钥" }, { "depth": 3, "title": "桶 / 自定义节点 /自定义域名", "slug": "桶--自定义节点-自定义域名" }, { "depth": 3, "title": "其他设置", "slug": "其他设置" }, { "depth": 2, "title": "5. 其他", "slug": "5-其他" }, { "depth": 3, "title": "Obsidian 中的图床设置", "slug": "obsidian-中的图床设置" }, { "depth": 3, "title": "更多 PicGO 插件:", "slug": "更多-picgo-插件" } ], "updated": "2022-08-01T03:03:33.353Z", "type": "article", "html": "" }, { "title": "为博客写一个Project showcase 页面", "created": "2022-05-26T00:00:00.000Z", "summary": "第一次Pull Request的经历", "tags": [ "Svelte", "Open Source" ], "slug": "/2022-05-26-write-a-page-template.md", "path": "/2022-05-26-write-a-page-template", "toc": [ { "depth": 2, "title": "1. 分析需求", "slug": "1-分析需求" }, { "depth": 2, "title": "2. 画原型图", "slug": "2-画原型图" }, { "depth": 2, "title": "2. 创建组件样式 CSS", "slug": "2-创建组件样式-css" }, { "depth": 2, "title": "4. 编写组件代码", "slug": "4-编写组件代码" }, { "depth": 3, "title": "数据", "slug": "数据" }, { "depth": 3, "title": "组件", "slug": "组件" }, { "depth": 3, "title": "页面", "slug": "页面" }, { "depth": 3, "title": "响应式布局", "slug": "响应式布局" }, { "depth": 2, "title": "5. 测试", "slug": "5-测试" }, { "depth": 2, "title": "6. Pull request 到 Github", "slug": "6-pull-request-到-github" }, { "depth": 2, "title": "7. Last but not least", "slug": "7-last-but-not-least" } ], "updated": "2022-08-01T11:36:42.589Z", "type": "article", "html": "" }, { "title": "Git · 常用操作笔记", "created": "2022-05-25T00:00:00.000Z", "summary": "每次更新博客进行的操作以及常见错误处理", "tags": [ "Git" ], "slug": "/2022-05-25-git.md", "path": "/2022-05-25-git", "toc": [ { "depth": 2, "title": "每次更新博客进行的操作", "slug": "每次更新博客进行的操作" }, { "depth": 3, "title": "1. 追踪所有文件", "slug": "1-追踪所有文件" }, { "depth": 3, "title": "2. 提交上传信息", "slug": "2-提交上传信息" }, { "depth": 3, "title": "3. push 到 Github", "slug": "3-push-到-github" }, { "depth": 2, "title": "常用 Git 操作", "slug": "常用-git-操作" }, { "depth": 2, "title": "常见问题", "slug": "常见问题" }, { "depth": 3, "title": "版本回滚", "slug": "版本回滚" }, { "depth": 3, "title": "报错处理", "slug": "报错处理" }, { "depth": 3, "title": "博客相关", "slug": "博客相关" }, { "depth": 3, "title": "其他", "slug": "其他" } ], "updated": "2022-08-01T03:03:33.322Z", "type": "article", "html": "" }, { "title": "Hypothesis 使用小记", "created": "2022-05-25T00:00:00.000Z", "summary": "Hypothesis同步到Obsidian / Logseq的方法", "tags": [ "Logseq", "Obsidian" ], "slug": "/2022-05-25-hypothesis/index.md", "path": "/2022-05-25-hypothesis", "toc": [ { "depth": 2, "title": "同步到 Logseq", "slug": "同步到-logseq" }, { "depth": 3, "title": "1. 打开插件系统开关", "slug": "1-打开插件系统开关" }, { "depth": 3, "title": "2. 安装 Hypothesis 插件", "slug": "2-安装-hypothesis-插件" }, { "depth": 3, "title": "3. 获取 API Token", "slug": "3-获取-api-token" }, { "depth": 3, "title": "4. 同步笔记", "slug": "4-同步笔记" }, { "depth": 3, "title": "5. 修改笔记模板", "slug": "5-修改笔记模板" }, { "depth": 2, "title": "同步到 Obsidian", "slug": "同步到-obsidian" }, { "depth": 3, "title": "1. 安装 Hypothesis 插件", "slug": "1-安装-hypothesis-插件" }, { "depth": 3, "title": "2. API 配置", "slug": "2-api-配置" }, { "depth": 3, "title": "3. 笔记模板配置", "slug": "3-笔记模板配置" }, { "depth": 3, "title": "4. 更新笔记", "slug": "4-更新笔记" }, { "depth": 2, "title": "订阅 Hypothesis 的 RSS", "slug": "订阅-hypothesis-的-rss" }, { "depth": 2, "title": "其他参考", "slug": "其他参考" } ], "updated": "2022-08-01T03:03:33.353Z", "type": "article", "html": "" }, { "title": "SQL · 在 Windows 10 上安装 sqlite", "created": "2022-05-23T00:00:00.000Z", "summary": "写给计算机小白的 sqlite 安装笔记", "tags": [ "SQL" ], "slug": "/2022-05-23-win-sql/index.md", "path": "/2022-05-23-win-sql", "toc": [ { "depth": 2, "title": "1. 下载二进制文件", "slug": "1-下载二进制文件" }, { "depth": 2, "title": "2. 创建安装文件夹", "slug": "2-创建安装文件夹" }, { "depth": 2, "title": "3. 添加环境变量", "slug": "3-添加环境变量" }, { "depth": 2, "title": "4. 命令提示符中查看 sqlite3 版本", "slug": "4-命令提示符中查看-sqlite3-版本" }, { "depth": 2, "title": "常用命令行", "slug": "常用命令行" } ], "updated": "2022-08-01T03:03:33.303Z", "type": "article", "html": "" }, { "title": "JavaScript · 数组中的copyWithin方法", "created": "2022-05-08T17:13:47.671Z", "summary": "一种数组内元素复制的方法", "tags": [ "JavaScript" ], "lastmod": "2022-05-09T02:27:47.533Z", "slug": "/2022-05-09-copywithin/index.md", "path": "/2022-05-09-copywithin", "toc": [ { "depth": 2, "title": "简介", "slug": "简介" }, { "depth": 3, "title": "语法:", "slug": "语法" }, { "depth": 2, "title": "参数", "slug": "参数" }, { "depth": 3, "title": "target", "slug": "target" }, { "depth": 3, "title": "start", "slug": "start" }, { "depth": 3, "title": "end", "slug": "end" }, { "depth": 2, "title": "例子", "slug": "例子" }, { "depth": 3, "title": "源码", "slug": "源码" }, { "depth": 3, "title": "可视化", "slug": "可视化" } ], "updated": "2022-08-01T03:03:33.294Z", "type": "article", "html": "" }, { "title": "VPS 安全初始化", "created": "2022-05-06T00:00:00.000Z", "summary": "上次 VPS 被别人暴力破解了,一哭二闹三重装之后,有了本文", "tags": [ "VPS", "Self hosted" ], "slug": "/2022-05-07-vps-init.md", "path": "/2022-05-07-vps-init", "toc": [ { "depth": 2, "title": "思路", "slug": "思路" }, { "depth": 3, "title": "日常防护", "slug": "日常防护" }, { "depth": 3, "title": "安全检查", "slug": "安全检查" }, { "depth": 2, "title": "1. 创建新用户", "slug": "1-创建新用户" }, { "depth": 2, "title": "2. 配置 SSH-keys", "slug": "2-配置-ssh-keys" }, { "depth": 3, "title": "本地生成 SSH 密钥对", "slug": "本地生成-ssh-密钥对" }, { "depth": 3, "title": "安装公钥", "slug": "安装公钥" }, { "depth": 3, "title": "修改权限", "slug": "修改权限" }, { "depth": 3, "title": "修改 sshd 配置文件", "slug": "修改-sshd-配置文件" }, { "depth": 3, "title": "禁用密码登陆和改端口", "slug": "禁用密码登陆和改端口" }, { "depth": 3, "title": "修改默认登陆端口", "slug": "修改默认登陆端口" }, { "depth": 2, "title": "3. 安装 ClamAV", "slug": "3-安装-clamav" }, { "depth": 3, "title": "安装", "slug": "安装" }, { "depth": 3, "title": "更新病毒数据库", "slug": "更新病毒数据库" }, { "depth": 3, "title": "开机启动", "slug": "开机启动" }, { "depth": 3, "title": "下载 ClamAV 数据库", "slug": "下载-clamav-数据库" }, { "depth": 3, "title": "限制 Clamscan CPU 使用率", "slug": "限制-clamscan-cpu-使用率" }, { "depth": 3, "title": "常见 CLI", "slug": "常见-cli" }, { "depth": 3, "title": "ClamAV 返回码", "slug": "clamav-返回码" }, { "depth": 2, "title": "4. 安装 Fail2ban", "slug": "4-安装-fail2ban" }, { "depth": 3, "title": "准备", "slug": "准备" }, { "depth": 3, "title": "安装", "slug": "安装-1" }, { "depth": 3, "title": "修改配置:", "slug": "修改配置" }, { "depth": 2, "title": "5. SSL 证书相关", "slug": "5-ssl-证书相关" } ], "updated": "2022-08-01T03:03:33.291Z", "type": "article", "html": "" }, { "title": "About", "created": "2022-05-06T00:00:00.000Z", "updated": "2022-05-06T00:00:00.000Z", "flags": [ "unlisted" ], "lastmod": "2022-05-20T04:07:08.760Z", "slug": "/about/index.svelte.md", "path": "/about", "toc": [ { "depth": 3, "title": "写码进度", "slug": "写码进度" }, { "depth": 3, "title": "其他站点", "slug": "其他站点" }, { "depth": 3, "title": "博客日志", "slug": "博客日志" } ], "type": "article", "html": "" }, { "title": "CSS · 解决 Chrome 中小于12px的字体不显示的问题", "lastmod": "2022-04-07T07:36:23.629Z", "summary": "先用scale总体缩小再补上减少的宽度", "created": "2022-03-29T13:46:29.228Z", "tags": [ "CSS", "CSS Trick" ], "categories": [ "CSS" ], "toc": false, "slug": "/2022-03-29-12px.md", "path": "/2022-03-29-12px", "updated": "2022-08-06T10:50:25.374Z", "type": "article", "html": "" }, { "title": "Miniflux · 保存文章到 Pocket 以及 RSS", "summary": "将 Miniflux 上的文章到保存到 Pocket/Instapaper,以及 RSS 相关文章和资源", "created": "2022-03-10T16:24:38.663Z", "preview": "", "draft": "", "tags": [ "RSS", "Miniflux" ], "changelogs": [ { "tag": "202203011", "summary": [ "添加了`instapaper`的连接方式", "添加了Pocket按钮嵌入方式" ] } ], "lastmod": "2022-04-07T07:38:52.406Z", "slug": "/2022-03-11-miniflux-to-pocket.md", "path": "/2022-03-11-miniflux-to-pocket", "toc": [ { "depth": 2, "title": "1. 创建 Pocket Application", "slug": "1-创建-pocket-application" }, { "depth": 2, "title": "2. 获取 Consumer Key 用户密钥", "slug": "2-获取-consumer-key-用户密钥" }, { "depth": 2, "title": "3. 获取 Access Token 访问密钥", "slug": "3-获取-access-token-访问密钥" }, { "depth": 2, "title": "其他", "slug": "其他" }, { "depth": 3, "title": "1.为博客添加 Pocket 收藏按钮", "slug": "1为博客添加-pocket-收藏按钮" }, { "depth": 3, "title": "2.用 Fever 同步到 Reeder", "slug": "2用-fever-同步到-reeder" }, { "depth": 3, "title": "3.连接到 Instapaper", "slug": "3连接到-instapaper" }, { "depth": 2, "title": "RSS 相关内容", "slug": "rss-相关内容" }, { "depth": 3, "title": "1. Miniflux 搭建", "slug": "1-miniflux-搭建" }, { "depth": 3, "title": "2. 其他选择", "slug": "2-其他选择" }, { "depth": 3, "title": "3. RSS 生成", "slug": "3-rss-生成" }, { "depth": 3, "title": "4. 看什么", "slug": "4-看什么" }, { "depth": 4, "title": "5. 关于 RSS", "slug": "5-关于-rss" } ], "updated": "2022-08-06T10:51:23.859Z", "type": "article", "html": "" }, { "title": "Forty页面仿写", "summary": "完成 HTML、CSS 代码编写,暂无 JavaScript", "created": "2022-03-10T08:38:17.227Z", "preview": "", "draft": "", "tags": [ "CSS", "HTML" ], "lastmod": "2022-04-07T07:39:48.473Z", "slug": "/2022-03-10-forty.md", "path": "/2022-03-10-forty", "toc": [ { "depth": 2, "title": "题目", "slug": "题目" }, { "depth": 2, "title": "示例图", "slug": "示例图" }, { "depth": 2, "title": "Demo", "slug": "demo" } ], "updated": "2022-08-06T10:51:23.374Z", "type": "article", "html": "" }, { "title": "CSS · Tab选项卡", "summary": "一个纯 CSS 实现的 Tab 选项卡", "created": "2022-03-09T07:42:25.299Z", "tags": [ "CSS" ], "categories": [ "CSS" ], "lastmod": "2022-04-07T07:40:02.371Z", "slug": "/2022-03-09-css-tab.md", "path": "/2022-03-09-css-tab", "toc": [ { "depth": 2, "title": "原理", "slug": "原理" }, { "depth": 2, "title": "代码", "slug": "代码" }, { "depth": 3, "title": "HTML", "slug": "html" }, { "depth": 3, "title": "CSS", "slug": "css" }, { "depth": 2, "title": "参考", "slug": "参考" } ], "updated": "2022-08-06T10:50:54.161Z", "type": "article", "html": "" }, { "title": "JavaScript · 打字机效果生成器", "summary": "用 JavaScript 实现网页打字机效果", "created": "2022-03-08T16:19:05.137Z", "tags": [ "JavaScript" ], "categories": [ "JavaScript" ], "lastmod": "2022-04-07T07:40:27.758Z", "slug": "/2022-03-09-typewriter.md", "path": "/2022-03-09-typewriter", "toc": [ { "depth": 2, "title": "题目", "slug": "题目" }, { "depth": 2, "title": "解法", "slug": "解法" }, { "depth": 2, "title": "参考", "slug": "参考" } ], "updated": "2022-08-06T10:50:29.470Z", "type": "article", "html": "" }, { "title": "JavaScript · Caesar Cipher 凯撒加密", "summary": "用JavaScrpit编码实现凯撒加密算法", "created": "2022-03-08T16:01:08.850Z", "tags": [ "JavaScript" ], "categories": [ "JavaScript" ], "lastmod": "2022-04-07T07:20:47.694Z", "slug": "/2022-03-09-caesar-cipher.md", "path": "/2022-03-09-caesar-cipher", "toc": [ { "depth": 2, "title": "题目", "slug": "题目" }, { "depth": 2, "title": "解法", "slug": "解法" }, { "depth": 3, "title": "HTML", "slug": "html" }, { "depth": 3, "title": "JS", "slug": "js" }, { "depth": 2, "title": "参考", "slug": "参考" } ], "updated": "2022-08-06T10:50:48.659Z", "type": "article", "html": "" }, { "title": "JavaScript · 字符串去重", "summary": "编码实现字符串去重", "created": "2022-03-07T13:55:21.090Z", "tags": [ "JavaScript" ], "categories": [ "JavaScript" ], "lastmod": "2022-04-07T07:20:30.550Z", "slug": "/2022-03-07-filter.md", "path": "/2022-03-07-filter", "toc": [ { "depth": 2, "title": "题目", "slug": "题目" }, { "depth": 2, "title": "解法", "slug": "解法" }, { "depth": 2, "title": "其他解法", "slug": "其他解法" } ], "updated": "2022-08-06T10:50:50.151Z", "type": "article", "html": "" }, { "title": "Obsidian · 网课学习笔记整理", "summary": "拆分整合的过程", "created": "2022-03-06T16:23:33.118Z", "tags": [ "Obsidian" ], "categories": [ "Obsidian" ], "lastmod": "2022-04-07T07:20:39.933Z", "slug": "/2022-03-07-obsidian-notes1.md", "path": "/2022-03-07-obsidian-notes1", "toc": [ { "depth": 2, "title": "具体的方法", "slug": "具体的方法" }, { "depth": 3, "title": "Step1-构建地图", "slug": "step1-构建地图" }, { "depth": 3, "title": "Step2-写课堂笔记", "slug": "step2-写课堂笔记" }, { "depth": 3, "title": "Step3-重组笔记", "slug": "step3-重组笔记" }, { "depth": 4, "title": "布局", "slug": "布局" }, { "depth": 4, "title": "结构编辑", "slug": "结构编辑" }, { "depth": 4, "title": "拆分笔记", "slug": "拆分笔记" } ], "updated": "2022-08-06T10:50:46.655Z", "type": "article", "html": "" }, { "title": "Airtable · 网页剪藏", "summary": "Airtable Web Cilpper设置", "created": "2022-03-06T05:58:29.026Z", "categories": [ "实用技巧" ], "tags": [ "实用技巧" ], "lastmod": "2022-04-16T12:54:20.049Z", "slug": "/2022-03-06-airtable.md", "path": "/2022-03-06-airtable", "toc": [ { "depth": 2, "title": "书签这回事", "slug": "书签这回事" }, { "depth": 2, "title": "关于 Airtable", "slug": "关于-airtable" }, { "depth": 2, "title": "怎么用 Airtable 剪切网页", "slug": "怎么用-airtable-剪切网页" }, { "depth": 3, "title": "1. 创建表格", "slug": "1-创建表格" }, { "depth": 3, "title": "2. 创建 app", "slug": "2-创建-app" }, { "depth": 3, "title": "3. 配置剪切设置", "slug": "3-配置剪切设置" }, { "depth": 3, "title": "4. Web Clipper 剪切", "slug": "4-web-clipper-剪切" } ], "updated": "2022-08-06T10:50:42.370Z", "type": "article", "html": "" }, { "title": "JavaScript · 十进制数转二进制", "summary": "用JavaScript将十进制数转二进制数", "created": "2022-03-04T14:57:48.683Z", "draft": "", "tags": [ "JavaScript" ], "categories": [ "JavaScript" ], "lastmod": "2022-04-16T12:54:16.167Z", "type": "article", "slug": "/2022-03-04-decbin.md", "path": "/2022-03-04-decbin", "toc": [ { "depth": 2, "title": "题目", "slug": "题目" }, { "depth": 3, "title": "Task1", "slug": "task1" }, { "depth": 3, "title": "Task2", "slug": "task2" }, { "depth": 2, "title": "解法", "slug": "解法" } ], "updated": "2022-08-06T10:50:40.572Z", "html": "" }, { "title": "JavaScript · 判断水仙花数", "summary": "用JavaScript判断水仙花数", "created": "2022-03-03T15:07:14.533Z", "categories": [ "JavaScript" ], "tags": [ "JavaScript" ], "slug": "/2022-03-03.md", "lastmod": "2022-04-07T07:20:02.340Z", "path": "/2022-03-03", "toc": [ { "depth": 2, "title": "题目", "slug": "题目" }, { "depth": 2, "title": "解法", "slug": "解法" }, { "depth": 2, "title": "参考", "slug": "参考" } ], "updated": "2022-08-06T10:50:38.994Z", "type": "article", "html": "" }, { "title": "自建网页书签Flare", "created": "2022-02-20T14:04:17.000Z", "tags": [ "Docker", "Self-hosted" ], "slug": "/flare.md", "summary": "通过Docker自建网页书签Flare", "lastmod": "2022-03-30T02:19:33.711Z", "path": "/flare", "toc": [ { "depth": 3, "title": "1.创建 Flare 文件夹", "slug": "1创建-flare-文件夹" }, { "depth": 3, "title": "2.下载包含示例的代码", "slug": "2下载包含示例的代码" }, { "depth": 3, "title": "3.运行容器", "slug": "3运行容器" }, { "depth": 4, "title": "方法 1:直接启动", "slug": "方法-1直接启动" }, { "depth": 4, "title": "方法 2:通过 docker composer", "slug": "方法-2通过-docker-composer" }, { "depth": 3, "title": "4.修改书签内容", "slug": "4修改书签内容" }, { "depth": 3, "title": "5.用 nginx 反代和设置域名", "slug": "5用-nginx-反代和设置域名" }, { "depth": 3, "title": "6.SSL 证书和其他书签", "slug": "6ssl-证书和其他书签" } ], "updated": "2022-08-06T10:49:53.655Z", "type": "article", "html": "" }, { "title": "用 docker 安装 Halo 博客", "created": "2022-02-16T14:04:17.000Z", "tags": [ "Docker", "Self-hosted" ], "slug": "/halo.md", "summary": "", "lastmod": "2022-05-07T05:39:19.169Z", "path": "/halo", "toc": [ { "depth": 2, "title": "准备", "slug": "准备" }, { "depth": 3, "title": "解析域名", "slug": "解析域名" }, { "depth": 3, "title": "安装 docker", "slug": "安装-docker" }, { "depth": 3, "title": "检查端口开放情况", "slug": "检查端口开放情况" }, { "depth": 2, "title": "安装 Halo", "slug": "安装-halo" }, { "depth": 3, "title": "1.创建工作目录", "slug": "1创建工作目录" }, { "depth": 3, "title": "2.下载示例配置文件到工作目录", "slug": "2下载示例配置文件到工作目录" }, { "depth": 3, "title": "3. 编辑配置文件,配置数据库或者端口", "slug": "3-编辑配置文件配置数据库或者端口" }, { "depth": 4, "title": "打开配置文件 application.yaml", "slug": "打开配置文件-applicationyaml" }, { "depth": 4, "title": "修改配置", "slug": "修改配置" }, { "depth": 3, "title": "4. 拉取最新的 Halo 镜像", "slug": "4-拉取最新的-halo-镜像" }, { "depth": 3, "title": "5. 创建容器", "slug": "5-创建容器" }, { "depth": 3, "title": "6. 打开安装引导界面。", "slug": "6-打开安装引导界面" }, { "depth": 2, "title": "用 Nginx 反代", "slug": "用-nginx-反代" }, { "depth": 3, "title": "1.安装 Nginx", "slug": "1安装-nginx" }, { "depth": 3, "title": "2.配置 halo.conf", "slug": "2配置-haloconf" }, { "depth": 3, "title": "3.重启 nginx", "slug": "3重启-nginx" }, { "depth": 2, "title": "安装 certbot,为域名获取免费 SSL 证书", "slug": "安装-certbot为域名获取免费-ssl-证书" }, { "depth": 3, "title": "1.安装 certbot", "slug": "1安装-certbot" }, { "depth": 3, "title": "2.配置证书", "slug": "2配置证书" }, { "depth": 2, "title": "其他", "slug": "其他" } ], "updated": "2022-08-06T10:49:49.221Z", "type": "article", "html": "" }, { "title": "VS Code 技巧合集", "tags": [ "实用技巧" ], "categories": [ "实用技巧" ], "slug": "/vscode.md", "summary": "字体/插件/设置……", "created": "2022-01-27T13:40:28.920Z", "lastmod": "2022-03-30T02:20:34.584Z", "path": "/vscode", "toc": [ { "depth": 2, "title": "关闭 VS Code 中的 popup 面板", "slug": "关闭-vs-code-中的-popup-面板" }, { "depth": 2, "title": "修改字体", "slug": "修改字体" }, { "depth": 2, "title": "快捷键", "slug": "快捷键" }, { "depth": 2, "title": "插件", "slug": "插件" }, { "depth": 2, "title": "设置", "slug": "设置" }, { "depth": 2, "title": "其他", "slug": "其他" } ], "updated": "2022-08-06T10:49:29.477Z", "type": "article", "html": "" }, { "title": "两种免费发布Axure原型的方式", "created": "2022-01-21T00:11:17.000Z", "tags": [ "实用技巧" ], "slug": "/axure.md", "summary": "通过Netlify和Vercel发布", "lastmod": "2022-04-07T07:24:20.692Z", "path": "/axure", "toc": [ { "depth": 2, "title": "Netlify", "slug": "netlify" }, { "depth": 2, "title": "Vercel +Github", "slug": "vercel-github" } ], "updated": "2022-08-06T10:51:25.527Z", "type": "article", "html": "" }, { "title": "CSS · Argon主题的CSS修改", "created": "2022-01-16T14:04:17.000Z", "tags": [ "CSS" ], "slug": "/argon.md", "summary": "基于最近所学,对当前Argon主题做了一些微小的调整", "lastmod": "2022-05-07T05:30:35.639Z", "path": "/argon", "toc": [], "updated": "2022-08-06T10:50:02.849Z", "type": "article", "html": "" }, { "title": "CSS · hover时图片放大的动效", "created": "2022-01-13T16:03:47.000Z", "slug": "/hover.md", "tags": [ "CSS Trick", "CSS" ], "summary": "通过transform设置", "lastmod": "2022-05-07T05:30:52.029Z", "path": "/hover", "toc": [], "updated": "2022-08-06T10:49:47.292Z", "type": "article", "html": "" }, { "title": "CSS · 三种布局方式", "slug": "/css-layout.md", "tags": [ "CSS" ], "created": "2022-01-13T10:07:00.000Z", "summary": "Float / Flexbox / Grid /", "lastmod": "2022-05-07T05:30:20.613Z", "path": "/css-layout", "toc": [ { "depth": 2, "title": "Overview", "slug": "overview" }, { "depth": 2, "title": "Box-sizing", "slug": "box-sizing" }, { "depth": 3, "title": "reset", "slug": "reset" }, { "depth": 2, "title": "Float Layout", "slug": "float-layout" }, { "depth": 3, "title": "left", "slug": "left" }, { "depth": 3, "title": "right", "slug": "right" }, { "depth": 3, "title": "ABSOLUTE POSITIONING VS. FLOATS", "slug": "absolute-positioning-vs-floats" }, { "depth": 3, "title": "Clear Float", "slug": "clear-float" }, { "depth": 4, "title": "方法 1: empty div", "slug": "方法-1-empty-div" }, { "depth": 4, "title": "方法 2:clearfix hack", "slug": "方法-2clearfix-hack" }, { "depth": 2, "title": "Flexbox", "slug": "flexbox" }, { "depth": 3, "title": "Flex container", "slug": "flex-container" }, { "depth": 3, "title": "Flex items", "slug": "flex-items" }, { "depth": 3, "title": "Propetities", "slug": "propetities" }, { "depth": 4, "title": "order", "slug": "order" }, { "depth": 4, "title": "flex-grow", "slug": "flex-grow" }, { "depth": 4, "title": "flex-basis", "slug": "flex-basis" }, { "depth": 4, "title": "shorthand", "slug": "shorthand" }, { "depth": 2, "title": "CSS Grid", "slug": "css-grid" }, { "depth": 3, "title": "grid container", "slug": "grid-container" }, { "depth": 4, "title": "Gap", "slug": "gap" }, { "depth": 4, "title": "align tracks inside containers", "slug": "align-tracks-inside-containers" }, { "depth": 3, "title": "grid items", "slug": "grid-items" }, { "depth": 4, "title": "align items inside cells", "slug": "align-items-inside-cells" }, { "depth": 3, "title": "fr", "slug": "fr" }, { "depth": 3, "title": "implicit row", "slug": "implicit-row" } ], "updated": "2022-08-06T10:49:54.807Z", "type": "article", "html": "" }, { "title": "CSS · Add margin to buttons", "slug": "/margin.md", "tags": [ "CSS Trick", "CSS" ], "created": "2022-01-13T10:04:21.000Z", "summary": "用helper class为单个按钮加margin,防止元素复用时产生不必要的margin", "lastmod": "2022-05-07T05:32:49.156Z", "path": "/margin", "toc": [ { "depth": 2, "title": "HTML", "slug": "html" }, { "depth": 2, "title": "CSS", "slug": "css" }, { "depth": 2, "title": "为按钮增加内边距", "slug": "为按钮增加内边距" } ], "updated": "2022-08-06T10:49:40.186Z", "type": "article", "html": "" }, { "title": "CSS · Reusable Grid", "slug": "/grid.md", "tags": [ "CSS" ], "created": "2022-01-13T10:01:44.000Z", "summary": "可复用的CSS Grid设置", "lastmod": "2022-05-07T05:32:52.372Z", "path": "/grid", "toc": [ { "depth": 4, "title": "CSS:", "slug": "css" }, { "depth": 4, "title": "HTML:", "slug": "html" } ], "updated": "2022-08-06T10:49:51.803Z", "type": "article", "html": "" }, { "title": "CSS · Rem in CSS", "slug": "/rem-css.md", "tags": [ "CSS" ], "created": "2022-01-12T09:50:27.000Z", "summary": "CSS中的Rem是什么", "lastmod": "2022-05-07T05:32:42.708Z", "path": "/rem-css", "toc": [ { "depth": 2, "title": "1. set px", "slug": "1-set-px" }, { "depth": 2, "title": "2. percentage", "slug": "2-percentage" } ], "updated": "2022-08-06T10:49:34.711Z", "type": "article", "html": "" }, { "title": "翻译 · Material Design3", "created": "2022-01-03T13:02:17.000Z", "tags": [ "翻译" ], "categories": [ "翻译" ], "slug": "/material.md", "summary": "部分翻译内容", "lastmod": "2022-05-07T05:30:39.510Z", "path": "/material", "toc": [], "updated": "2022-08-06T10:49:37.342Z", "type": "article", "html": "" }, { "title": "《用户体验要素》- 战略层(产品目标和用户需求)", "created": "2022-01-02T13:08:29.000Z", "categories": [ "UX学习笔记" ], "tags": [ "《用户体验要素》", "读书笔记" ], "summary": "第三章笔记", "lastmod": "2022-05-07T05:33:16.860Z", "slug": "/用户体验要素3.md", "path": "/用户体验要素3", "toc": [ { "depth": 2, "title": "产品目标", "slug": "产品目标" }, { "depth": 2, "title": "用户需求", "slug": "用户需求" }, { "depth": 3, "title": "用户细分( user segmentation)", "slug": "用户细分-user-segmentation" }, { "depth": 3, "title": "用户研究(User Research)", "slug": "用户研究user-research" }, { "depth": 2, "title": "团队角色和流程", "slug": "团队角色和流程" } ], "updated": "2022-08-06T10:50:03.925Z", "type": "article", "html": "" }, { "title": "CSS · 基础笔记", "created": "2021-12-06T03:59:47.000Z", "slug": "/css-fundamental.md", "tags": [ "CSS" ], "lastmod": "2022-05-07T05:30:27.910Z", "path": "/css-fundamental", "toc": [ { "depth": 2, "title": "css 是什么", "slug": "css-是什么" }, { "depth": 2, "title": "分类", "slug": "分类" }, { "depth": 3, "title": "inline CSS", "slug": "inline-css" }, { "depth": 3, "title": "internal CSS", "slug": "internal-css" }, { "depth": 3, "title": "external CSS", "slug": "external-css" }, { "depth": 2, "title": "组成", "slug": "组成" }, { "depth": 2, "title": "Selectors", "slug": "selectors" }, { "depth": 3, "title": "descendent selector", "slug": "descendent-selector" }, { "depth": 3, "title": "line selector", "slug": "line-selector" }, { "depth": 2, "title": "id", "slug": "id" }, { "depth": 3, "title": "class attributes", "slug": "class-attributes" }, { "depth": 3, "title": "universal selector", "slug": "universal-selector" }, { "depth": 3, "title": "body", "slug": "body" }, { "depth": 3, "title": "优先级", "slug": "优先级" }, { "depth": 4, "title": "conflicting between selectors", "slug": "conflicting-between-selectors" }, { "depth": 4, "title": "inheritance", "slug": "inheritance" }, { "depth": 2, "title": "颜色", "slug": "颜色" }, { "depth": 3, "title": "RGB/RGBA", "slug": "rgbrgba" }, { "depth": 2, "title": "Hexadecimal Colors", "slug": "hexadecimal-colors" }, { "depth": 2, "title": "Pseudo Class", "slug": "pseudo-class" }, { "depth": 3, "title": "第一个元素/最后一个元素", "slug": "第一个元素最后一个元素" }, { "depth": 3, "title": "奇数/偶数 /特定次序", "slug": "奇数偶数-特定次序" }, { "depth": 3, "title": "多种元素时", "slug": "多种元素时" }, { "depth": 3, "title": "Style hyperlinks", "slug": "style-hyperlinks" }, { "depth": 4, "title": "link", "slug": "link" }, { "depth": 4, "title": "visited", "slug": "visited" }, { "depth": 4, "title": "hover", "slug": "hover" }, { "depth": 4, "title": "active", "slug": "active" }, { "depth": 2, "title": "Pseudo Elements", "slug": "pseudo-elements" }, { "depth": 3, "title": "adjacent sibiling selector", "slug": "adjacent-sibiling-selector" }, { "depth": 3, "title": "after", "slug": "after" }, { "depth": 3, "title": "before", "slug": "before" }, { "depth": 2, "title": "Box Model", "slug": "box-model" }, { "depth": 3, "title": "Type of boxes:", "slug": "type-of-boxes" }, { "depth": 4, "title": "inline boxes", "slug": "inline-boxes" }, { "depth": 4, "title": "block-level boxes", "slug": "block-level-boxes" }, { "depth": 4, "title": "inline-block boxes", "slug": "inline-block-boxes" }, { "depth": 3, "title": "padding", "slug": "padding" }, { "depth": 4, "title": "reset margin ane padding", "slug": "reset-margin-ane-padding" }, { "depth": 3, "title": "margin", "slug": "margin" }, { "depth": 4, "title": "collapsing margins", "slug": "collapsing-margins" }, { "depth": 3, "title": "Dimensions", "slug": "dimensions" }, { "depth": 4, "title": "width", "slug": "width" }, { "depth": 2, "title": "position", "slug": "position" }, { "depth": 3, "title": "Normal Flow", "slug": "normal-flow" }, { "depth": 3, "title": "Absolute Position", "slug": "absolute-position" }, { "depth": 3, "title": "centering page", "slug": "centering-page" }, { "depth": 2, "title": "基本操作", "slug": "基本操作" }, { "depth": 3, "title": "CSS 注释", "slug": "css-注释" }, { "depth": 3, "title": "Fix bugs", "slug": "fix-bugs" } ], "updated": "2022-08-06T10:49:56.359Z", "type": "article", "html": "" }, { "title": "HTML · 基础笔记", "created": "2021-12-06T03:59:47.000Z", "slug": "/html-basis.md", "tags": [ "HTML" ], "lastmod": "2022-05-07T05:30:47.655Z", "path": "/html-basis", "toc": [ { "depth": 2, "title": "HTML 是什么", "slug": "html-是什么" }, { "depth": 2, "title": "基本组成", "slug": "基本组成" }, { "depth": 2, "title": "框架", "slug": "框架" }, { "depth": 2, "title": "attributes", "slug": "attributes" }, { "depth": 2, "title": "tags", "slug": "tags" }, { "depth": 2, "title": "HTML entity", "slug": "html-entity" }, { "depth": 2, "title": "semantic HTML", "slug": "semantic-html" }, { "depth": 2, "title": "空格", "slug": "空格" }, { "depth": 2, "title": "当 div 中用 css 设置了图片时", "slug": "当-div-中用-css-设置了图片时" }, { "depth": 2, "title": "随堂练习", "slug": "随堂练习" }, { "depth": 3, "title": "商品卡片", "slug": "商品卡片" }, { "depth": 3, "title": "分页器 pagination", "slug": "分页器-pagination" } ], "updated": "2022-08-06T10:49:44.906Z", "type": "article", "html": "" }, { "title": "《用户体验要素》- 认识这些要素", "summary": "第二章笔记", "created": "2021-12-06T03:59:47.000Z", "categories": [ "UX学习笔记", "《用户体验要素》" ], "tags": [ "读书笔记", "《用户体验要素》" ], "hidden": false, "draft": false, "slug": "/用户体验要素2.md", "lastmod": "2022-04-16T12:55:45.413Z", "path": "/用户体验要素2", "toc": [ { "depth": 2, "title": "五个层面", "slug": "五个层面" }, { "depth": 2, "title": "表现层 (surface)", "slug": "表现层-surface" }, { "depth": 2, "title": "框架层 (skeleton)", "slug": "框架层-skeleton" }, { "depth": 2, "title": "结构层(structure)", "slug": "结构层structure" }, { "depth": 2, "title": "范围层 (scope)", "slug": "范围层-scope" }, { "depth": 2, "title": "战略层 (strategy)", "slug": "战略层-strategy" }, { "depth": 2, "title": "如何建设这五个层面?", "slug": "如何建设这五个层面" }, { "depth": 3, "title": "自下而上地建设", "slug": "自下而上地建设" }, { "depth": 3, "title": "在上一层完成之前开始下一层", "slug": "在上一层完成之前开始下一层" }, { "depth": 2, "title": "基本的双重性", "slug": "基本的双重性" }, { "depth": 3, "title": "什么是网页基本的双重性质?", "slug": "什么是网页基本的双重性质" }, { "depth": 3, "title": "什么是信息型的媒介类产品?", "slug": "什么是信息型的媒介类产品" }, { "depth": 3, "title": "什么是功能型的平台类产品", "slug": "什么是功能型的平台类产品" }, { "depth": 3, "title": "用户体验的基本要素是什么?(五个层次、两种类别的产品)", "slug": "用户体验的基本要素是什么五个层次两种类别的产品" } ], "updated": "2022-08-06T10:50:05.032Z", "type": "article", "html": "" }, { "title": "《用户体验要素》- 用户体验为何如此重要", "summary": "第一章笔记", "created": "2021-11-29T03:06:10.000Z", "categories": [ "UX学习笔记", "《用户体验要素》" ], "tags": [ "读书笔记", "《用户体验要素》" ], "hidden": false, "draft": false, "slug": "/用户体验要素1.md", "lastmod": "2022-04-16T12:55:42.468Z", "path": "/用户体验要素1", "toc": [ { "depth": 2, "title": "什么是用户体验", "slug": "什么是用户体验" }, { "depth": 2, "title": "为体验而设计:使用第一", "slug": "为体验而设计使用第一" }, { "depth": 3, "title": "为什么小而美的产品,更容易成功?", "slug": "为什么小而美的产品更容易成功" }, { "depth": 2, "title": "用户体验和商机", "slug": "用户体验和商机" }, { "depth": 3, "title": "为什么在网站上,用户体验比别的产品更重要?", "slug": "为什么在网站上用户体验比别的产品更重要" }, { "depth": 3, "title": "为什么用户体验很重要?有什么作用吗", "slug": "为什么用户体验很重要有什么作用吗" }, { "depth": 3, "title": "什么是转化率?有什么用?", "slug": "什么是转化率有什么用" }, { "depth": 3, "title": "改善用户体验,是为了什么?通过什么方式达到?", "slug": "改善用户体验是为了什么通过什么方式达到" }, { "depth": 2, "title": "以用户为中心的设计", "slug": "以用户为中心的设计" }, { "depth": 3, "title": "什么是“以用户为中心”的设计?", "slug": "什么是以用户为中心的设计" }, { "depth": 3, "title": "怎么做?", "slug": "怎么做" } ], "updated": "2022-08-06T10:50:06.494Z", "type": "article", "html": "" }, { "title": "Evaluation", "summary": "Introduction to User Experience Design|Week5", "created": "2021-11-18T14:09:49.000Z", "categories": [ "UX学习笔记", "Introduction to User Experience Design" ], "tags": [ "UX" ], "slug": "/2021-11-18-ux5/index.md", "path": "/2021-11-18-ux5", "toc": [ { "depth": 2, "title": "评估", "slug": "评估" }, { "depth": 2, "title": "分类", "slug": "分类" }, { "depth": 3, "title": "形成性评估", "slug": "形成性评估" }, { "depth": 3, "title": "总结性评估", "slug": "总结性评估" }, { "depth": 2, "title": "如何评估", "slug": "如何评估" }, { "depth": 3, "title": "数据收集", "slug": "数据收集" }, { "depth": 3, "title": "衡量", "slug": "衡量" }, { "depth": 3, "title": "可学习性", "slug": "可学习性" }, { "depth": 3, "title": "可记忆性", "slug": "可记忆性" }, { "depth": 3, "title": "主观情感评估", "slug": "主观情感评估" }, { "depth": 2, "title": "相关资源", "slug": "相关资源" }, { "depth": 2, "title": "推荐教材", "slug": "推荐教材" }, { "depth": 3, "title": "Trade Book", "slug": "trade-book" }, { "depth": 3, "title": "Text Books", "slug": "text-books" }, { "depth": 2, "title": "参考网站", "slug": "参考网站" } ], "updated": "2022-08-06T10:47:38.841Z", "type": "article", "html": "" }, { "title": "Prototyping", "summary": "Introduction to User Experience Design|Week4", "created": "2021-11-18T13:26:41.000Z", "categories": [ "UX学习笔记", "Introduction to User Experience Design" ], "tags": [ "UX" ], "slug": "/2021-11-18-ux4/index.md", "path": "/2021-11-18-ux4", "toc": [ { "depth": 2, "title": "关于 Prototyping", "slug": "关于-prototyping" }, { "depth": 3, "title": "什么是原型开发", "slug": "什么是原型开发" }, { "depth": 3, "title": "原型开发的作用", "slug": "原型开发的作用" }, { "depth": 3, "title": "水平原型", "slug": "水平原型" }, { "depth": 3, "title": "垂直原型", "slug": "垂直原型" }, { "depth": 2, "title": "低保真 Lofi Prototype", "slug": "低保真-lofi-prototype" }, { "depth": 3, "title": "低保真和高保真的区别", "slug": "低保真和高保真的区别" }, { "depth": 3, "title": "注意事项", "slug": "注意事项" }, { "depth": 3, "title": "三种形式", "slug": "三种形式" }, { "depth": 4, "title": "1. 草图", "slug": "1-草图" }, { "depth": 4, "title": "2. 故事版", "slug": "2-故事版" }, { "depth": 4, "title": "3.卡片原型", "slug": "3卡片原型" }, { "depth": 2, "title": "其他原型方式", "slug": "其他原型方式" }, { "depth": 3, "title": "绿野仙踪/奥茨法师", "slug": "绿野仙踪奥茨法师" }, { "depth": 3, "title": "概念验证视频", "slug": "概念验证视频" }, { "depth": 3, "title": "隐喻技术", "slug": "隐喻技术" }, { "depth": 2, "title": "相关资源", "slug": "相关资源" }, { "depth": 3, "title": "Resources and Tools for Protoyping 1", "slug": "resources-and-tools-for-protoyping-1" }, { "depth": 3, "title": "Tools", "slug": "tools" }, { "depth": 3, "title": "Resources for Prototyping 2", "slug": "resources-for-prototyping-2" } ], "updated": "2022-08-06T10:49:10.016Z", "type": "article", "html": "" }, { "title": "Design Alternatives", "summary": "Introduction to User Experience Design|Week3", "created": "2021-11-14T03:18:45.000Z", "categories": [ "UX学习笔记", "Introduction to User Experience Design" ], "tags": [ "UX" ], "lastmod": "2022-04-16T12:56:27.924Z", "slug": "/2021-11-14-ux3/index.md", "path": "/2021-11-14-ux3", "toc": [ { "depth": 2, "title": "Review of Design Goals 审查设计目标", "slug": "review-of-design-goals-审查设计目标" }, { "depth": 3, "title": "用户体验的核心目标", "slug": "用户体验的核心目标" }, { "depth": 3, "title": "设计的定义", "slug": "设计的定义" }, { "depth": 3, "title": "设计的目标", "slug": "设计的目标" }, { "depth": 3, "title": "设计时,需考虑的三个方面", "slug": "设计时需考虑的三个方面" }, { "depth": 2, "title": "Design Alternatives 设计替代方案", "slug": "design-alternatives-设计替代方案" }, { "depth": 3, "title": "目标", "slug": "目标" }, { "depth": 3, "title": "关键", "slug": "关键" }, { "depth": 3, "title": "Road map 路线", "slug": "road-map-路线" } ], "updated": "2022-08-06T10:49:15.281Z", "type": "article", "html": "" }, { "title": "Requirement Gathering", "summary": "Introduction to User Experience Design|Week2", "created": "2021-11-09T14:26:49.000Z", "categories": [ "UX学习笔记", "Introduction to User Experience Design" ], "tags": [ "UX" ], "slug": "/2021-11-09-ux2/index.md", "path": "/2021-11-09-ux2", "toc": [ { "depth": 2, "title": "Overview", "slug": "overview" }, { "depth": 2, "title": "Types of Users and Types of Data", "slug": "types-of-users-and-types-of-data" }, { "depth": 3, "title": "数据类型", "slug": "数据类型" }, { "depth": 4, "title": "定量", "slug": "定量" }, { "depth": 4, "title": "定性", "slug": "定性" }, { "depth": 3, "title": "将用户视为利益相关者的三个类型", "slug": "将用户视为利益相关者的三个类型" }, { "depth": 3, "title": "了解利益相关者的意义", "slug": "了解利益相关者的意义" }, { "depth": 2, "title": "Discovery Technique Overview", "slug": "discovery-technique-overview" }, { "depth": 3, "title": "四种调研方法", "slug": "四种调研方法" }, { "depth": 3, "title": "交互程度", "slug": "交互程度" }, { "depth": 3, "title": "进行的场景", "slug": "进行的场景" }, { "depth": 3, "title": "在设计周期中迭代", "slug": "在设计周期中迭代" }, { "depth": 2, "title": "Naturalistic Observation 自然观察", "slug": "naturalistic-observation-自然观察" }, { "depth": 3, "title": "是什么", "slug": "是什么" }, { "depth": 3, "title": "如何做", "slug": "如何做" }, { "depth": 3, "title": "数据", "slug": "数据" }, { "depth": 3, "title": "优点", "slug": "优点" }, { "depth": 3, "title": "缺点", "slug": "缺点" }, { "depth": 3, "title": "道德局限", "slug": "道德局限" }, { "depth": 3, "title": "在设计流程中", "slug": "在设计流程中" }, { "depth": 2, "title": "Survey 问卷", "slug": "survey-问卷" }, { "depth": 3, "title": "是什么", "slug": "是什么-1" }, { "depth": 3, "title": "如何做", "slug": "如何做-1" }, { "depth": 3, "title": "数据", "slug": "数据-1" }, { "depth": 4, "title": "1.定性-封闭性问题", "slug": "1定性-封闭性问题" }, { "depth": 4, "title": "2.定量-开放性问题", "slug": "2定量-开放性问题" }, { "depth": 3, "title": "优点", "slug": "优点-1" }, { "depth": 3, "title": "缺点", "slug": "缺点-1" }, { "depth": 3, "title": "在设计流程中", "slug": "在设计流程中-1" }, { "depth": 2, "title": "Focus group 焦点小组", "slug": "focus-group-焦点小组" }, { "depth": 3, "title": "是什么", "slug": "是什么-2" }, { "depth": 3, "title": "如何做", "slug": "如何做-2" }, { "depth": 4, "title": "组成", "slug": "组成" }, { "depth": 3, "title": "数据", "slug": "数据-2" }, { "depth": 3, "title": "优点", "slug": "优点-2" }, { "depth": 3, "title": "缺点", "slug": "缺点-2" }, { "depth": 3, "title": "在设计流程中", "slug": "在设计流程中-2" }, { "depth": 2, "title": "Interviews", "slug": "interviews" }, { "depth": 3, "title": "是什么", "slug": "是什么-3" }, { "depth": 3, "title": "如何做", "slug": "如何做-3" }, { "depth": 3, "title": "数据", "slug": "数据-3" }, { "depth": 3, "title": "优点", "slug": "优点-3" }, { "depth": 3, "title": "缺点", "slug": "缺点-3" }, { "depth": 3, "title": "在设计流程中", "slug": "在设计流程中-3" }, { "depth": 2, "title": "User Results 用户数据处理", "slug": "user-results-用户数据处理" }, { "depth": 3, "title": "描述性统计信息", "slug": "描述性统计信息" }, { "depth": 3, "title": "用户特征表", "slug": "用户特征表" }, { "depth": 3, "title": "人物画像 Persona", "slug": "人物画像-persona" }, { "depth": 2, "title": "Presenting Task Findings", "slug": "presenting-task-findings" }, { "depth": 3, "title": "Scenario", "slug": "scenario" }, { "depth": 4, "title": "是什么", "slug": "是什么-4" }, { "depth": 4, "title": "作用", "slug": "作用" }, { "depth": 3, "title": "Essential Case Study", "slug": "essential-case-study" }, { "depth": 4, "title": "三个要素", "slug": "三个要素" }, { "depth": 3, "title": "Hierarchical Task Analysis", "slug": "hierarchical-task-analysis" }, { "depth": 3, "title": "Current UI Critique", "slug": "current-ui-critique" }, { "depth": 4, "title": "步骤", "slug": "步骤" }, { "depth": 2, "title": "相关资源", "slug": "相关资源" } ], "updated": "2022-08-06T10:49:17.439Z", "type": "article", "html": "" }, { "title": "Overview of User Experience Design", "summary": "Introduction to User Experience Design|Week1", "created": "2021-11-08T02:54:40.000Z", "tags": [ "UX" ], "slug": "/2021-11-08-ux1/index.md", "path": "/2021-11-08-ux1", "toc": [ { "depth": 2, "title": "课程简介", "slug": "课程简介" }, { "depth": 2, "title": "Week 1 笔记", "slug": "week-1-笔记" }, { "depth": 3, "title": "什么是 ux?", "slug": "什么是-ux" }, { "depth": 3, "title": "用户体验设计的核心概念", "slug": "用户体验设计的核心概念" }, { "depth": 3, "title": "什么是用户", "slug": "什么是用户" }, { "depth": 3, "title": "什么是界面", "slug": "什么是界面" }, { "depth": 3, "title": "用户体验设计的目标", "slug": "用户体验设计的目标" }, { "depth": 3, "title": "界面设计环 (四个步骤)", "slug": "界面设计环-四个步骤" }, { "depth": 4, "title": "Step1:Requirements Gathering 收集需求", "slug": "step1requirements-gathering-收集需求" }, { "depth": 4, "title": "Step 2:Design Alternatives 设计方案", "slug": "step-2design-alternatives-设计方案" }, { "depth": 4, "title": "Step 3:Prototyping 原型", "slug": "step-3prototyping-原型" }, { "depth": 4, "title": "Step 4:Evaluation 评估测试", "slug": "step-4evaluation-评估测试" }, { "depth": 3, "title": "什么样的界面是“实用”的?", "slug": "什么样的界面是实用的" }, { "depth": 3, "title": "好设计的三个特征", "slug": "好设计的三个特征" }, { "depth": 4, "title": "1 - Affordance (示能)", "slug": "1---affordance-示能" }, { "depth": 4, "title": "2 - Signifiers (意符)", "slug": "2---signifiers-意符" }, { "depth": 4, "title": "3 - Feedback (反馈)", "slug": "3---feedback-反馈" }, { "depth": 3, "title": "如何与“用户”接洽", "slug": "如何与用户接洽" }, { "depth": 4, "title": "三个步骤", "slug": "三个步骤" } ], "updated": "2022-08-06T10:49:20.887Z", "type": "article", "html": "" }, { "title": "全球商业化中的设计", "summary": "《设计心理学 1》第七章——本书的总结", "created": "2021-11-03T03:59:18.000Z", "categories": [ "设计心理学" ], "tags": [ "设计心理学1", "读书笔记" ], "slug": "/设计心理学1-7.md", "lastmod": "2022-04-16T12:55:38.967Z", "path": "/设计心理学1-7", "toc": [ { "depth": 2, "title": "1.竞争压力", "slug": "1竞争压力" }, { "depth": 2, "title": "2.新技术推动变革", "slug": "2新技术推动变革" }, { "depth": 2, "title": "3.新产品上市需要多长时间", "slug": "3新产品上市需要多长时间" }, { "depth": 2, "title": "4.创新的两种形式:渐进式和颠覆式", "slug": "4创新的两种形式渐进式和颠覆式" }, { "depth": 2, "title": "5. 设计心理学:1988 ~ 2038", "slug": "5-设计心理学1988--2038" }, { "depth": 2, "title": "6.书籍的未来", "slug": "6书籍的未来" }, { "depth": 2, "title": "7. 设计的道义和责任", "slug": "7-设计的道义和责任" }, { "depth": 2, "title": "8. 设计思维和思考设计", "slug": "8-设计思维和思考设计" } ], "updated": "2022-08-06T10:50:07.505Z", "type": "article", "html": "" }, { "title": "设计思维", "created": "2021-11-03T03:49:10.353Z", "categories": [ "设计心理学" ], "tags": [ "设计心理学1", "读书笔记" ], "draft": false, "summary": "《设计心理学 1》第六章——设计需要探究问题的来源,而不只是停留在表面", "lastmod": "2022-05-07T05:31:58.650Z", "slug": "/设计心理学1-6.md", "path": "/设计心理学1-6", "toc": [ { "depth": 2, "title": "1. 解决正确的问题", "slug": "1-解决正确的问题" }, { "depth": 2, "title": "2. 双钻设计模式", "slug": "2-双钻设计模式" }, { "depth": 3, "title": "四个步骤(发散->聚焦)", "slug": "四个步骤发散-聚焦" }, { "depth": 2, "title": "3. 以人为本的设计流程", "slug": "3-以人为本的设计流程" }, { "depth": 3, "title": "1.观察", "slug": "1观察" }, { "depth": 3, "title": "2. 激发创意(构思)", "slug": "2-激发创意构思" }, { "depth": 3, "title": "3.打样(原型)", "slug": "3打样原型" }, { "depth": 4, "title": "4.测试", "slug": "4测试" }, { "depth": 2, "title": "4.我刚告诉你什么?那根本行不通", "slug": "4我刚告诉你什么那根本行不通" }, { "depth": 2, "title": "5.设计的挑战", "slug": "5设计的挑战" }, { "depth": 2, "title": "6. 复杂是好事,混乱惹麻烦", "slug": "6-复杂是好事混乱惹麻烦" }, { "depth": 2, "title": "7.标准化和技术", "slug": "7标准化和技术" }, { "depth": 2, "title": "8.故意制作困难", "slug": "8故意制作困难" }, { "depth": 2, "title": "9. 设计:为了人类发展科技", "slug": "9-设计为了人类发展科技" } ], "updated": "2022-08-06T10:50:08.975Z", "type": "article", "html": "" }, { "title": "人为差错?不,拙劣的设计", "summary": "《设计心理学 1》第五章——设计师经常严重误解人心理的局限性,要求人像机器一样工作", "created": "2021-10-27T12:22:17.000Z", "math": "falase", "categories": [ "设计心理学" ], "tags": [ "设计心理学1", "读书笔记" ], "draft": false, "lastmod": "2022-04-16T12:55:20.101Z", "slug": "/设计心理学1-5.md", "path": "/设计心理学1-5", "toc": [ { "depth": 2, "title": "1.何以出错", "slug": "1何以出错" }, { "depth": 3, "title": "出错的原因", "slug": "出错的原因" }, { "depth": 3, "title": "解决错误的方法", "slug": "解决错误的方法" }, { "depth": 3, "title": "差错之外:故意犯错", "slug": "差错之外故意犯错" }, { "depth": 2, "title": "2.差错的两种类型:失误和错误", "slug": "2差错的两种类型失误和错误" }, { "depth": 3, "title": "差错", "slug": "差错" }, { "depth": 3, "title": "差错和行动的七个阶段", "slug": "差错和行动的七个阶段" }, { "depth": 3, "title": "失误", "slug": "失误" }, { "depth": 4, "title": "行动失误", "slug": "行动失误" }, { "depth": 5, "title": "1. 撷取性失误", "slug": "1-撷取性失误" }, { "depth": 5, "title": "2. 描述相似性失误", "slug": "2-描述相似性失误" }, { "depth": 5, "title": "3. 功能状态失误", "slug": "3-功能状态失误" }, { "depth": 4, "title": "记忆失误", "slug": "记忆失误" }, { "depth": 2, "title": "3.错误的分类", "slug": "3错误的分类" }, { "depth": 3, "title": "错误", "slug": "错误" }, { "depth": 4, "title": "1. 基于规则的错误(违反规则)", "slug": "1-基于规则的错误违反规则" }, { "depth": 4, "title": "2. 基于知识的错误(缺乏知识)", "slug": "2-基于知识的错误缺乏知识" }, { "depth": 4, "title": "3. 记忆失效的错误", "slug": "3-记忆失效的错误" }, { "depth": 2, "title": "4.社会和习俗压力", "slug": "4社会和习俗压力" }, { "depth": 3, "title": "压力", "slug": "压力" }, { "depth": 3, "title": "检查清单", "slug": "检查清单" }, { "depth": 2, "title": "5、差错报告", "slug": "5差错报告" }, { "depth": 3, "title": "自动化(JIDOKA)", "slug": "自动化jidoka" }, { "depth": 3, "title": "防呆(POKA-YOKE)", "slug": "防呆poka-yoke" }, { "depth": 3, "title": "航空安全报告体系", "slug": "航空安全报告体系" }, { "depth": 2, "title": "6.甄别差错", "slug": "6甄别差错" }, { "depth": 3, "title": "为什么甄别差错是困难的", "slug": "为什么甄别差错是困难的" }, { "depth": 4, "title": "甄别失误", "slug": "甄别失误" }, { "depth": 4, "title": "甄别错误", "slug": "甄别错误" }, { "depth": 4, "title": "记忆失效性(失误/错误)", "slug": "记忆失效性失误错误" }, { "depth": 3, "title": "为错误辩解", "slug": "为错误辩解" }, { "depth": 3, "title": "事故分析要置身于真实情境", "slug": "事故分析要置身于真实情境" }, { "depth": 4, "title": "事故发生时", "slug": "事故发生时" }, { "depth": 4, "title": "事故发生后", "slug": "事故发生后" }, { "depth": 4, "title": "事故分析应", "slug": "事故分析应" }, { "depth": 2, "title": "7.为差错设计", "slug": "7为差错设计" }, { "depth": 3, "title": "基本原则", "slug": "基本原则" }, { "depth": 3, "title": "记忆中断", "slug": "记忆中断" }, { "depth": 3, "title": "警示信号存在的问题", "slug": "警示信号存在的问题" }, { "depth": 3, "title": "为差错设计的方法", "slug": "为差错设计的方法" }, { "depth": 4, "title": "研究差错", "slug": "研究差错" }, { "depth": 4, "title": "增加约束", "slug": "增加约束" }, { "depth": 4, "title": "撤销", "slug": "撤销" }, { "depth": 4, "title": "差错信息确认", "slug": "差错信息确认" }, { "depth": 4, "title": "合理性检查", "slug": "合理性检查" }, { "depth": 4, "title": "减小失误", "slug": "减小失误" }, { "depth": 3, "title": "从差错到事故——瑞士奶酪模型", "slug": "从差错到事故瑞士奶酪模型" }, { "depth": 2, "title": "8.良好的设计还不够", "slug": "8良好的设计还不够" }, { "depth": 2, "title": "9.修补回复工程", "slug": "9修补回复工程" }, { "depth": 3, "title": "是什么", "slug": "是什么" }, { "depth": 3, "title": "如何做", "slug": "如何做" }, { "depth": 2, "title": "10.自动化的悖论", "slug": "10自动化的悖论" }, { "depth": 3, "title": "故障时结果难以估计", "slug": "故障时结果难以估计" }, { "depth": 3, "title": "悖论", "slug": "悖论" }, { "depth": 2, "title": "11.应对差错的设计原则", "slug": "11应对差错的设计原则" }, { "depth": 3, "title": "人和机器协同应工作", "slug": "人和机器协同应工作" }, { "depth": 3, "title": "关键设计原则", "slug": "关键设计原则" } ], "updated": "2022-08-06T10:50:11.112Z", "type": "article", "html": "" }, { "title": "知晓:约束、可视性和反馈", "tags": [ "设计心理学1", "读书笔记" ], "categories": [ "设计心理学" ], "keywords": [ "设计心理学" ], "created": "2021-10-22T20:21:44.000Z", "summary": "《设计心理学 1》第四章——遇到一个新的设备或状况,设计师应如何提供重要信息,以便人们知道如何操作", "lastmod": "2022-04-16T12:55:16.673Z", "slug": "/设计心理学1-4.md", "path": "/设计心理学1-4", "toc": [ { "depth": 2, "title": "章前", "slug": "章前" }, { "depth": 3, "title": "外界的知识:", "slug": "外界的知识" }, { "depth": 3, "title": "头脑中的知识", "slug": "头脑中的知识" }, { "depth": 2, "title": "1. 四种约束因素:物理、文化、语义和逻辑", "slug": "1-四种约束因素物理文化语义和逻辑" }, { "depth": 3, "title": "物理约束", "slug": "物理约束" }, { "depth": 3, "title": "文化约束", "slug": "文化约束" }, { "depth": 3, "title": "语义约束", "slug": "语义约束" }, { "depth": 3, "title": "逻辑约束", "slug": "逻辑约束" }, { "depth": 2, "title": "2. 示能、意符和约束在日常用品设计中的应用", "slug": "2-示能意符和约束在日常用品设计中的应用" }, { "depth": 3, "title": "门的问题", "slug": "门的问题" }, { "depth": 3, "title": "开关的问题", "slug": "开关的问题" }, { "depth": 3, "title": "任务分析", "slug": "任务分析" }, { "depth": 3, "title": "以用户为中心的设计", "slug": "以用户为中心的设计" }, { "depth": 3, "title": "以活动为中心的控制", "slug": "以活动为中心的控制" }, { "depth": 2, "title": "3. 引导行为的约束力", "slug": "3-引导行为的约束力" }, { "depth": 3, "title": "是什么", "slug": "是什么" }, { "depth": 3, "title": "作用", "slug": "作用" }, { "depth": 3, "title": "例子", "slug": "例子" }, { "depth": 3, "title": "三种强制方式", "slug": "三种强制方式" }, { "depth": 4, "title": "互锁", "slug": "互锁" }, { "depth": 4, "title": "自锁", "slug": "自锁" }, { "depth": 4, "title": "反锁", "slug": "反锁" }, { "depth": 2, "title": "4. 惯例、约束和示能", "slug": "4-惯例约束和示能" }, { "depth": 2, "title": "5. 水龙头:关于设计的历史案例", "slug": "5-水龙头关于设计的历史案例" }, { "depth": 2, "title": "6. 利用声音作为意符", "slug": "6-利用声音作为意符" }, { "depth": 3, "title": "为什么", "slug": "为什么" }, { "depth": 3, "title": "应提供什么信息:", "slug": "应提供什么信息" }, { "depth": 3, "title": "如何提供", "slug": "如何提供" }, { "depth": 3, "title": "例子", "slug": "例子-1" }, { "depth": 3, "title": "“拟真”(skeuomorphic)", "slug": "拟真skeuomorphic" } ], "updated": "2022-08-06T10:50:12.946Z", "type": "article", "html": "" }, { "draft": false, "title": "头脑中的知识和外界知识", "tags": [ "设计心理学1", "读书笔记" ], "categories": [ "设计心理学" ], "keywords": [ "设计心理学" ], "created": "2021-10-20T17:08:47.371Z", "summary": "《设计心理学 1》第三章——并非精确行为需要的所有知识都得储存在头脑里", "lastmod": "2022-04-16T12:55:13.235Z", "slug": "/设计心理学1-3.md", "path": "/设计心理学1-3", "toc": [ { "depth": 2, "title": "1. 含糊的知识引导精确的行为", "slug": "1-含糊的知识引导精确的行为" }, { "depth": 3, "title": "人们不需要完全精确的知识来支撑引导他们的行为。", "slug": "人们不需要完全精确的知识来支撑引导他们的行为" }, { "depth": 3, "title": "两种类型的知识:", "slug": "两种类型的知识" }, { "depth": 2, "title": "2. 记忆是储存在头脑中的知识", "slug": "2-记忆是储存在头脑中的知识" }, { "depth": 2, "title": "3. 记忆的结构", "slug": "3-记忆的结构" }, { "depth": 3, "title": "两种记忆类型", "slug": "两种记忆类型" }, { "depth": 4, "title": "1. 短时记忆(工作记忆)", "slug": "1-短时记忆工作记忆" }, { "depth": 4, "title": "2. 长时记忆(LTM /long-term memory)", "slug": "2-长时记忆ltm-long-term-memory" }, { "depth": 2, "title": "4.近似模型:现实世界里的记忆", "slug": "4近似模型现实世界里的记忆" }, { "depth": 2, "title": "5.头脑中的知识", "slug": "5头脑中的知识" }, { "depth": 3, "title": "前瞻记忆", "slug": "前瞻记忆" }, { "depth": 3, "title": "未来记忆", "slug": "未来记忆" }, { "depth": 3, "title": "提醒的两个层面:", "slug": "提醒的两个层面" }, { "depth": 2, "title": "6.外界知识和头脑中知识的此消彼长", "slug": "6外界知识和头脑中知识的此消彼长" }, { "depth": 3, "title": "外界的知识", "slug": "外界的知识" }, { "depth": 3, "title": "头脑中的知识", "slug": "头脑中的知识" }, { "depth": 2, "title": "7.多个大脑里和多个设备中的记忆", "slug": "7多个大脑里和多个设备中的记忆" }, { "depth": 2, "title": "8.自然映射", "slug": "8自然映射" }, { "depth": 3, "title": "什么是自然映射", "slug": "什么是自然映射" }, { "depth": 3, "title": "三个层次的映射", "slug": "三个层次的映射" }, { "depth": 3, "title": "糟糕的映射 VS 好的映射", "slug": "糟糕的映射-vs-好的映射" }, { "depth": 2, "title": "9.文化与设计:自然映射随文化而异", "slug": "9文化与设计自然映射随文化而异" } ], "updated": "2022-08-06T10:50:14.322Z", "type": "article", "html": "" }, { "title": "日常行为心理学", "tags": [ "设计心理学1", "读书笔记" ], "categories": [ "设计心理学" ], "keywords": [ "设计心理学" ], "draft": false, "created": "2021-10-20T16:14:47.371Z", "summary": "《设计心理学 1》第二章——人们如何做事?当事情出错了怎么办?怎么知道要做什么?", "lastmod": "2022-04-16T12:55:05.400Z", "slug": "/设计心理学1-2.md", "path": "/设计心理学1-2", "toc": [ { "depth": 2, "title": "1.人们如何做事:执行与评估的鸿沟", "slug": "1人们如何做事执行与评估的鸿沟" }, { "depth": 3, "title": "执行的鸿沟:", "slug": "执行的鸿沟" }, { "depth": 3, "title": "评估的鸿沟:", "slug": "评估的鸿沟" }, { "depth": 3, "title": "如何消除这两个心理鸿沟:", "slug": "如何消除这两个心理鸿沟" }, { "depth": 2, "title": "2.行动的七个阶段", "slug": "2行动的七个阶段" }, { "depth": 3, "title": "行动的两个步骤", "slug": "行动的两个步骤" }, { "depth": 3, "title": "七个阶段:", "slug": "七个阶段" }, { "depth": 4, "title": "执行桥 (目标->外部世界)", "slug": "执行桥-目标-外部世界" }, { "depth": 4, "title": "评估桥(外部世界->目标)", "slug": "评估桥外部世界-目标" }, { "depth": 3, "title": "行动的分类:", "slug": "行动的分类" }, { "depth": 3, "title": "“根本原因分析”", "slug": "根本原因分析" }, { "depth": 2, "title": "3.人的思想:潜意识主导", "slug": "3人的思想潜意识主导" }, { "depth": 3, "title": "潜意识", "slug": "潜意识" }, { "depth": 3, "title": "有意识的思维", "slug": "有意识的思维" }, { "depth": 3, "title": "认知和情感", "slug": "认知和情感" }, { "depth": 2, "title": "4.人的认知和情感", "slug": "4人的认知和情感" }, { "depth": 3, "title": "本能层", "slug": "本能层" }, { "depth": 3, "title": "行为层", "slug": "行为层" }, { "depth": 3, "title": "反思层", "slug": "反思层" }, { "depth": 2, "title": "5.行动的七个阶段和大脑的三个层次", "slug": "5行动的七个阶段和大脑的三个层次" }, { "depth": 3, "title": "心流", "slug": "心流" }, { "depth": 2, "title": "6.自说自话", "slug": "6自说自话" }, { "depth": 3, "title": "概念模式", "slug": "概念模式" }, { "depth": 2, "title": "7.责备错误之事", "slug": "7责备错误之事" }, { "depth": 3, "title": "给用户有保留的预测:", "slug": "给用户有保留的预测" }, { "depth": 3, "title": "习得性无助(自责循环)", "slug": "习得性无助自责循环" }, { "depth": 3, "title": "积极心理学", "slug": "积极心理学" }, { "depth": 3, "title": "tips:", "slug": "tips" }, { "depth": 2, "title": "8.不当的自责", "slug": "8不当的自责" }, { "depth": 3, "title": "自责的原因", "slug": "自责的原因" }, { "depth": 3, "title": "设计师应如何", "slug": "设计师应如何" }, { "depth": 2, "title": "9.行动的七个阶段:七个基本设计原则", "slug": "9行动的七个阶段七个基本设计原则" }, { "depth": 3, "title": "前馈", "slug": "前馈" }, { "depth": 3, "title": "反馈", "slug": "反馈" }, { "depth": 3, "title": "设计的七个基本原则", "slug": "设计的七个基本原则" } ], "updated": "2022-08-06T10:50:15.315Z", "type": "article", "html": "" }, { "title": "日用品心理学", "tags": [ "设计心理学1", "读书笔记" ], "categories": [ "设计心理学" ], "keywords": [ "设计心理学" ], "created": "2021-10-20T12:28:00.000Z", "summary": "《设计心理学 1》第一章——好设计有两个特征可视性和易通性", "lastmod": "2022-04-16T12:55:08.323Z", "slug": "/设计心理学1-1.md", "path": "/设计心理学1-1", "toc": [ { "depth": 2, "title": "1.复杂的现代设备", "slug": "1复杂的现代设备" }, { "depth": 2, "title": "2.以人为本的设计", "slug": "2以人为本的设计" }, { "depth": 2, "title": "3.交互设计的基本原则", "slug": "3交互设计的基本原则" }, { "depth": 3, "title": "示能", "slug": "示能" }, { "depth": 3, "title": "意符", "slug": "意符" }, { "depth": 3, "title": "约束", "slug": "约束" }, { "depth": 3, "title": "映射", "slug": "映射" }, { "depth": 3, "title": "反馈", "slug": "反馈" }, { "depth": 2, "title": "4.系统映像", "slug": "4系统映像" }, { "depth": 2, "title": "5.科技的悖论", "slug": "5科技的悖论" }, { "depth": 2, "title": "6.设计的挑战", "slug": "6设计的挑战" } ], "updated": "2022-08-06T10:50:16.843Z", "type": "article", "html": "" }, { "title": "什么是设计洞察 · What is Insight", "created": "2021-10-15T15:07:14.533Z", "tags": [ "Design Thinking", "翻译" ], "keywords": [ "insight" ], "slug": "/insight.md", "path": "/insight", "toc": [ { "depth": 2, "title": "insight 不是什么", "slug": "insight-不是什么" }, { "depth": 2, "title": "是什么", "slug": "是什么" }, { "depth": 2, "title": "五大要素", "slug": "五大要素" }, { "depth": 2, "title": "定义 Insight 的步骤", "slug": "定义-insight-的步骤" }, { "depth": 3, "title": "1.设定语境/场景", "slug": "1设定语境场景" }, { "depth": 3, "title": "2.沟通困境", "slug": "2沟通困境" }, { "depth": 3, "title": "3. 阐明原因", "slug": "3-阐明原因" }, { "depth": 3, "title": "4. 捕捉动机", "slug": "4-捕捉动机" }, { "depth": 3, "title": "5.构想理想", "slug": "5构想理想" }, { "depth": 2, "title": "如何表达", "slug": "如何表达" }, { "depth": 3, "title": "第一句话——描述现状和用户行为。", "slug": "第一句话描述现状和用户行为" }, { "depth": 3, "title": "第二句话——描述用户的困境,并说明造成困境的原因。", "slug": "第二句话描述用户的困境并说明造成困境的原因" }, { "depth": 3, "title": "第三句话——描述用户期望的最终理想状况。", "slug": "第三句话描述用户期望的最终理想状况" }, { "depth": 3, "title": "Tips", "slug": "tips" }, { "depth": 2, "title": "什么是一个好的’Insight’", "slug": "什么是一个好的insight" }, { "depth": 2, "title": "Insight->How Might We?", "slug": "insight-how-might-we" }, { "depth": 2, "title": "后记", "slug": "后记" } ], "updated": "2022-08-06T10:49:42.689Z", "type": "article", "html": "" } ]