<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>星火</title><link>https://yangzh.cn/</link><description>Recent content on 星火</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Fri, 13 Mar 2026 16:00:24 +0800</lastBuildDate><atom:link href="https://yangzh.cn/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows OpenSSH Server 配置 Git Bash 为默认 Shell</title><link>https://yangzh.cn/posts/posts/windows-openssh-git-bash-default-shell.html/</link><pubDate>Fri, 13 Mar 2026 16:00:24 +0800</pubDate><guid>https://yangzh.cn/posts/posts/windows-openssh-git-bash-default-shell.html/</guid><description>&lt;p&gt;有些错误信息读起来像是一句存在主义的判词。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/usr/bin/bash: --login -i: invalid option
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;你明明在登录，对方也明明在等你，但中间那个传话的人把你的名字念错了——于是门禁系统礼貌而坚定地将你拒之门外。&lt;/p&gt;
&lt;p&gt;这是在 Windows OpenSSH Server 上将默认 Shell 替换为 Git Bash 之后遇到的情形。交互式登录一切正常，推门进去茶水伺候；但凡想远程执行一条命令——哪怕只是 &lt;code&gt;echo OK&lt;/code&gt; 这样卑微的请求——便立刻碰壁。仿佛一座宅子，住进去没问题，往里面递个纸条却要吃闭门羹。&lt;/p&gt;</description></item><item><title>凌晨三点的沉默：OpenClaw 定时重启踩坑记</title><link>https://yangzh.cn/posts/posts/openclaw-nightly-reboot-filevault-launchd.html/</link><pubDate>Mon, 09 Mar 2026 08:07:18 +0800</pubDate><guid>https://yangzh.cn/posts/posts/openclaw-nightly-reboot-filevault-launchd.html/</guid><description>&lt;p&gt;凌晨三点，一台 Mac mini 准时重启。然后，它沉默了。&lt;/p&gt;
&lt;p&gt;SSH 不通，飞书消息石沉大海，OpenClaw Gateway 像从未存在过。直到第二天早上走到机器前，输入密码，一切才若无其事地恢复运转——仿佛那几个小时的失联只是一场梦。&lt;/p&gt;
&lt;p&gt;这件事重复了好几天，才引起警觉。排查下来，发现是三个独立的疏忽，恰好叠加成了一场完美的故障。&lt;/p&gt;</description></item><item><title>用 Spotlight 让 AI Agent 搜索本地文档</title><link>https://yangzh.cn/posts/posts/spotlight-agent-local-search.html/</link><pubDate>Fri, 06 Mar 2026 15:17:27 +0800</pubDate><guid>https://yangzh.cn/posts/posts/spotlight-agent-local-search.html/</guid><description>&lt;h2 id="被遗忘的索引"&gt;被遗忘的索引&lt;/h2&gt;
&lt;p&gt;硬盘上堆着几百个 PDF 论文、Word 报告、Excel 数据表。AI Agent 对它们视而不见。&lt;/p&gt;
&lt;p&gt;这不是能力问题，而是视野问题。Agent 的记忆系统——无论底层用 BM25、向量搜索还是 LLM 重排序——通常只索引 Markdown 文件。那些真正承载知识的二进制文档，静静地躺在文件系统里，像古籍善本锁在库房中，有目录卡片却无人翻阅。&lt;/p&gt;</description></item><item><title>Web前端技术全景与AI辅助编程</title><link>https://yangzh.cn/courses/web-frontend/week01/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://yangzh.cn/courses/web-frontend/week01/</guid><description>&lt;h2 id="学习要点"&gt;学习要点&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;掌握Web技术发展历程中HTML、CSS、JavaScript三层架构的分工与演进逻辑&lt;/li&gt;
&lt;li&gt;理解前端开发工具链的基本构成，能够配置本地开发环境&lt;/li&gt;
&lt;li&gt;掌握Cursor与Claude等AI编程工具的提示词编写方法与对话式编程流程&lt;/li&gt;
&lt;li&gt;理解AI辅助编程在数据新闻、交互报道等新闻传播场景中的实践价值&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="正文"&gt;正文&lt;/h2&gt;
&lt;h3 id="web技术发展历程"&gt;Web技术发展历程&lt;/h3&gt;
&lt;p&gt;万维网（World Wide Web）由蒂姆·伯纳斯-李（Tim Berners-Lee）于1989年提出，最初设计目标是让物理学家之间能够共享研究文档。这一起源决定了Web最初的形态：以超文本（Hypertext）为核心的静态文档网络。&lt;/p&gt;</description></item><item><title>融合新闻产品策划：调研、内容与资源配置</title><link>https://yangzh.cn/courses/23120110b/week01/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://yangzh.cn/courses/23120110b/week01/</guid><description>&lt;h2 id="学习要点"&gt;学习要点&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;掌握问卷调查、竞品分析与受众画像等用户调研方法，能够对融合新闻产品的市场需求进行系统评估&lt;/li&gt;
&lt;li&gt;理解内容策划的关键要素，能够围绕新闻议题确定产品定位、叙事框架与内容结构&lt;/li&gt;
&lt;li&gt;熟悉主流数字技术平台的特性与适用场景，能够依据产品目标合理选择技术实现路径&lt;/li&gt;
&lt;li&gt;了解融合新闻团队的组建原则与跨职能协作方法，能够整合多维要素形成完整的产品策划文本&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="正文"&gt;正文&lt;/h2&gt;
&lt;h3 id="产品调研方法与需求评估"&gt;产品调研方法与需求评估&lt;/h3&gt;
&lt;p&gt;产品调研是融合新闻产品策划的起点，其核心任务是通过系统化方法收集用户需求信息、评估市场空间，并为后续的内容策划与技术选型提供数据依据。区别于传统新闻编辑判断，产品调研强调以证据驱动决策，将受众从抽象的&amp;quot;读者&amp;quot;转化为可测量、可描述的用户群体。&lt;/p&gt;</description></item><item><title>飞书个人版通过 API 建群实现多 Agent 消息分流</title><link>https://yangzh.cn/posts/posts/feishu-api-create-group-for-multi-agent.html/</link><pubDate>Mon, 02 Mar 2026 07:29:31 +0800</pubDate><guid>https://yangzh.cn/posts/posts/feishu-api-create-group-for-multi-agent.html/</guid><description>&lt;p&gt;飞书的个人免费用户可以创建企业租户来开发自建应用，这意味着一个人也能拥有一整套开放平台的能力：机器人、多维表格 API、事件订阅。听起来很完整，直到你试图建一个群聊，界面提示你至少需要选择一个其他成员。&lt;/p&gt;
&lt;p&gt;租户里只有你自己。没有&amp;quot;其他成员&amp;quot;可选。&lt;/p&gt;</description></item><item><title>ADB uiautomator自动采集Android App数据实战</title><link>https://yangzh.cn/posts/posts/adb-uiautomator-android-data-scraping.html/</link><pubDate>Tue, 24 Feb 2026 22:41:22 +0800</pubDate><guid>https://yangzh.cn/posts/posts/adb-uiautomator-android-data-scraping.html/</guid><description>&lt;p&gt;做数据采集的人，迟早要面对一个困境：想要的数据就在屏幕上，肉眼可见，伸手可及，却没有任何 API 可以调用。App 的开发者从未打算把这些数据交给你。&lt;/p&gt;
&lt;p&gt;古人说「取之有道」，但道在何处？root 权限是一条路，无障碍服务是另一条，各有各的代价。还有一条更朴素的路——&lt;code&gt;adb shell uiautomator dump&lt;/code&gt;，把屏幕上的控件树导出为 XML，然后像考古学家清理陶片一样，从层层嵌套的节点中辨认出有意义的文字。&lt;/p&gt;</description></item><item><title>用 jsDelivr 绕过 raw.githubusercontent.com 访问限制</title><link>https://yangzh.cn/posts/posts/jsdelivr-github-raw-workaround.html/</link><pubDate>Mon, 23 Feb 2026 10:20:33 +0800</pubDate><guid>https://yangzh.cn/posts/posts/jsdelivr-github-raw-workaround.html/</guid><description>&lt;p&gt;安装一个为终端添加音效的小工具，进度条走到一半，停了。屏幕上逐行滚出警告：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Warning: failed to download peon/sounds/PeonWhat2.wav
Warning: failed to download peon/sounds/PeonWarcry1.wav
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;两个魔兽争霸的苦工音效文件，因为 &lt;code&gt;raw.githubusercontent.com&lt;/code&gt; 的连接问题，没有下载下来。这个域名专门用来直连 GitHub 仓库里的原始文件，可谓&amp;quot;开门见山&amp;quot;的设计——门在那里，山在那里，路却断了。&lt;/p&gt;</description></item><item><title>Claude Code 配置 Playwright MCP 浏览器自动化踩坑记录</title><link>https://yangzh.cn/posts/posts/claude-code-playwright-mcp.html/</link><pubDate>Fri, 20 Feb 2026 10:34:02 +0800</pubDate><guid>https://yangzh.cn/posts/posts/claude-code-playwright-mcp.html/</guid><description>&lt;h2 id="缘起"&gt;缘起&lt;/h2&gt;
&lt;p&gt;事情的初衷很朴素：让 Claude Code 通过浏览器自动化操作网页，替我完成一些重复性的表单填写工作。从技术构想到真正跑通，中间隔着五个坑，排列整齐，像是有人预先埋好的。环境是 Windows 10 64 位加 Git Bash——一个看似寻常的组合，实则暗藏了不少 POSIX 与 Windows 之间古老的领土纠纷。&lt;/p&gt;</description></item><item><title>Claude Code Auto Memory 自动记忆机制详解</title><link>https://yangzh.cn/posts/posts/claude-code-auto-memory.html/</link><pubDate>Fri, 20 Feb 2026 09:15:01 +0800</pubDate><guid>https://yangzh.cn/posts/posts/claude-code-auto-memory.html/</guid><description>&lt;p&gt;每一次新对话的开始，都是一场小型失忆。你在上个会话里花半小时向 Claude 解释的项目结构、调试到一半的线索、刚刚达成的默契——窗口一关，干干净净，像沙滩上被潮水抹去的字。&lt;/p&gt;
&lt;p&gt;古人说「前事不忘，后事之师」，但对一个上下文窗口有限的语言模型来说，「前事」本身就是奢侈品。Claude Code 为此设计了两套持久化记忆系统：CLAUDE.md 是用户写给 Claude 的指令，Auto Memory 是 Claude 自己写给自己的笔记。两者互补，共同对抗每次会话开始时的遗忘。&lt;/p&gt;</description></item><item><title>七道坎：Hono + React Monorepo 部署腾讯云记</title><link>https://yangzh.cn/posts/posts/hono-react-monorepo-deploy-tencent-cloud.html/</link><pubDate>Wed, 18 Feb 2026 09:16:03 +0800</pubDate><guid>https://yangzh.cn/posts/posts/hono-react-monorepo-deploy-tencent-cloud.html/</guid><description>&lt;p&gt;部署这件事，像搬家。你在本地住得好好的，一切顺畅，直到有一天需要让别人也能来访。于是你租了一台云上的毛坯房（Ubuntu 24.04，3.6G 内存，裸机状态），开始往里搬东西。&lt;/p&gt;
&lt;p&gt;架构并不复杂：Nginx 在门口迎客，负责端上前端静态文件，遇到 API 请求就转交给后面的 Hono 后端；PM2 看着后端进程，防止它悄悄倒下；Let's Encrypt 发了一张门禁卡，叫 HTTPS。听起来井然有序。&lt;/p&gt;</description></item><item><title>RAG 向量搜索 vs 关键词搜索：小规模知识库的检索策略</title><link>https://yangzh.cn/posts/posts/rag-vs-keyword-search.html/</link><pubDate>Mon, 16 Feb 2026 13:42:50 +0800</pubDate><guid>https://yangzh.cn/posts/posts/rag-vs-keyword-search.html/</guid><description>&lt;p&gt;每一个用 Obsidian 积攒了几十篇技术笔记的人，迟早都会动一个念头：能不能让 AI 自己翻笔记，替我记住那些踩过的坑？&lt;/p&gt;
&lt;p&gt;念头一起，RAG 就到了嘴边。向量化、embedding、语义检索，这些词汇自带一种工程上的庄严感，仿佛不上向量数据库就对不起自己的笔记。但在真正动手之前，值得先算一笔账。&lt;/p&gt;</description></item><item><title>Termux 自动化运维实战：定时任务防杀与 Tailscale 跨网络访问</title><link>https://yangzh.cn/posts/posts/termux-cron-survival-and-tailscale.html/</link><pubDate>Sun, 15 Feb 2026 09:35:26 +0800</pubDate><guid>https://yangzh.cn/posts/posts/termux-cron-survival-and-tailscale.html/</guid><description>&lt;p&gt;在 Android 手机上跑自动化任务，像在流沙上盖房子。你以为地基打好了，一觉醒来，发现系统已经把你的进程连根拔起，不留字条，不给解释。《庄子》里说「适来，夫子时也；适去，夫子顺也」，Android 的后台管理大概深谙此道，只是被杀的进程未必那么豁达。&lt;/p&gt;
&lt;p&gt;这篇文章记录一次 Termux 定时任务失踪事件的完整排查，以及由此引出的一个教训：你以为你要的是一个 IP 地址，其实你要的是一条回家的路。&lt;/p&gt;</description></item><item><title>Go程序在Termux中的日志与时区踩坑</title><link>https://yangzh.cn/posts/posts/go-termux-logging-timezone-traps.html/</link><pubDate>Thu, 12 Feb 2026 09:22:38 +0800</pubDate><guid>https://yangzh.cn/posts/posts/go-termux-logging-timezone-traps.html/</guid><description>&lt;h2 id="引子"&gt;引子&lt;/h2&gt;
&lt;p&gt;古人说&amp;quot;察其所安&amp;quot;，意思是观察一个人安于什么处境，便知其品性。程序也是一样——它安于沉默，你就只能在黑暗中摸索。&lt;/p&gt;
&lt;p&gt;把一个 Go 编写的 ADB UI 自动化工具部署到 Android Termux 环境之后，我遇到了两个不声不响的故障。它们不抛异常，不给堆栈，只是安静地产出错误的结果。一个让我失去了定位问题的能力，另一个让我失去了对时间的感知。这两样东西恰好是调试的全部依靠。&lt;/p&gt;</description></item><item><title>把健康数据采集器流放到手机上</title><link>https://yangzh.cn/posts/posts/termux-mihealth-migration.html/</link><pubDate>Wed, 11 Feb 2026 12:10:26 +0800</pubDate><guid>https://yangzh.cn/posts/posts/termux-mihealth-migration.html/</guid><description>&lt;p&gt;我写了一个用 ADB 和 uiautomator 自动采集小米运动健康 App 数据的小工具，Go 写的，几百行代码。它能解锁手机、启动 App、爬取屏幕上的控件树、把步数睡眠心率之类的数字刮下来，传到 Cloudflare D1。&lt;/p&gt;
&lt;p&gt;问题是它只能在家跑——Mac 开着，手机连着同一个 WiFi，ADB 通过局域网无线调试连接。出了家门，这条链路就断了。像养了一只只认家门的猫。&lt;/p&gt;</description></item><item><title>OpenClaw Sub-Agent vs Skill 选型指南</title><link>https://yangzh.cn/posts/posts/openclaw-subagent-vs-skill.html/</link><pubDate>Tue, 10 Feb 2026 21:59:46 +0800</pubDate><guid>https://yangzh.cn/posts/posts/openclaw-subagent-vs-skill.html/</guid><description>&lt;p&gt;《韩非子·扬权》有云：&amp;quot;事在四方，要在中央。&amp;quot;治理的关键，在于知道什么该亲力亲为，什么该委任于人。AI agent 的架构设计，竟也暗合此理。&lt;/p&gt;
&lt;p&gt;OpenClaw 提供两种机制扩展 agent 的能力：&lt;strong&gt;Skill&lt;/strong&gt;（技能注入）与 &lt;strong&gt;Sub-Agent&lt;/strong&gt;（子智能体）。一个是把规矩写进主帅的脑子，一个是另遣偏将独当一面。两者定位不同，选错了，轻则上下文溢出徒耗 token，重则主对话阻塞、长流程半途而废。&lt;/p&gt;</description></item><item><title>chezmoi 配置文件管理与密钥安全实践</title><link>https://yangzh.cn/posts/posts/chezmoi-dotfiles-secrets.html/</link><pubDate>Sun, 08 Feb 2026 21:54:53 +0800</pubDate><guid>https://yangzh.cn/posts/posts/chezmoi-dotfiles-secrets.html/</guid><description>&lt;p&gt;chezmoi，法语&amp;quot;chez moi&amp;quot;，意为&amp;quot;在我家&amp;quot;。这个名字取得坦荡。配置文件散落在硬盘各处，像《水经注》里那些被记录又被遗忘的支流，每一条都通往某个你曾经驻留过的环境。chezmoi 做的事情，不过是把这些散佚的篇章收拢成册，用 git 装订，用模板去抹平不同水土之间的差异。&lt;/p&gt;</description></item><item><title>Django课程目录</title><link>https://yangzh.cn/posts/posts/course_titles.html/</link><pubDate>Sun, 08 Feb 2026 11:55:02 +0800</pubDate><guid>https://yangzh.cn/posts/posts/course_titles.html/</guid><description/></item><item><title>Kimi Code API 非官方连接指南</title><link>https://yangzh.cn/posts/posts/kimi-code-api-unofficial-guide.html/</link><pubDate>Wed, 04 Feb 2026 23:16:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/kimi-code-api-unofficial-guide.html/</guid><description>&lt;p&gt;《水经注》里记山川道路，讲的是哪条河能走船、哪个渡口有暗礁。古人写这些，大概也是踩过坑的人，怕后来者再翻同一条船。&lt;/p&gt;
&lt;p&gt;Kimi Code 是 Moonshot 提供的编程专用 AI 服务，官方只开放了 Kimi CLI、Claude Code 等客户端作为入口。想用脚本直接调 API，像是试图从侧门进一座只开正门的衙门——门是有的，只是没人告诉你钥匙长什么样。&lt;/p&gt;</description></item><item><title>Python 列表切片详解</title><link>https://yangzh.cn/posts/posts/python-list-slicing.html/</link><pubDate>Mon, 26 Jan 2026 10:30:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python-list-slicing.html/</guid><description>&lt;p&gt;庖丁解牛，「以无厚入有间」。Python 的列表切片大抵也是这个意思——用最薄的语法，在数据的骨节之间游刃。三个参数，两个冒号，不声不响地把一整条列表分割成你需要的任何形状。&lt;/p&gt;
&lt;p&gt;列表切片（List Slicing）是 Python 中访问列表子序列的核心语法。通过切片可以高效地提取、复制或操作列表的任意部分，无需编写循环。语法简洁到近乎沉默，却是日常编程中最频繁的手势之一。&lt;/p&gt;</description></item><item><title>深入理解函数式编程的思维模式</title><link>https://yangzh.cn/posts/posts/function-pattern.html/</link><pubDate>Fri, 23 May 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/function-pattern.html/</guid><description>&lt;p&gt;函数式编程 (Functional Programming, FP) 作为一种历史悠久且在现代软件开发中日益受到重视的编程范式，其核心并非仅仅在于使用特定的语言特性，更在于一种独特的思考问题和构建解决方案的思维模式。理解这种思维模式，对于提升代码质量、可维护性和并发处理能力具有重要意义。它引导开发者从描述状态和指令序列的传统命令式思维，转向关注数据转换和函数组合。&lt;/p&gt;</description></item><item><title>代码世界的隐形巨匠: Ken Thompson</title><link>https://yangzh.cn/posts/posts/ken-thompson.html/</link><pubDate>Sat, 17 May 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/ken-thompson.html/</guid><description>&lt;p&gt;当人们谈论计算机界的传奇人物时，肯·汤普森（Ken Thompson）的名字或许不像乔布斯或盖茨那样频繁出现在聚光灯下，但他对数字世界的塑造力却如空气般无所不在，却又常常被视为理所当然。一张简洁的生平卡片——“图灵奖得主、UNIX系统发明人、B语言发明人、Go语言发明人、UTF-8发明人、DBM发明人”——浓缩了他辉煌的职业生涯。&lt;/p&gt;</description></item><item><title>WPS 教育版使用</title><link>https://yangzh.cn/posts/posts/wps.html/</link><pubDate>Fri, 16 May 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/wps.html/</guid><description>&lt;h2 id="如何同步团队文件夹"&gt;如何同步团队文件夹&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;启动WPS云盘，选择右键菜单中的“同步与设置”。&lt;/li&gt;
&lt;li&gt;选择“自动下载新文件”和“自动上传修改文件”。
&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202505160015015.png" alt=""&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Django ORM 数据增加的多种方法 (save, create, bulk_create 及关联操作)</title><link>https://yangzh.cn/posts/posts/06-03-djangoorm%E5%A2%9E%E5%8A%A0%E6%95%B0%E6%8D%AE.html/</link><pubDate>Sat, 03 May 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/06-03-djangoorm%E5%A2%9E%E5%8A%A0%E6%95%B0%E6%8D%AE.html/</guid><description>&lt;p&gt;Django 框架以其强大的对象关系映射（Object-Relational Mapper, ORM）系统而闻名，它允许开发者使用 Python 代码与数据库进行交互，而无需直接编写 SQL 语句。掌握 ORM 的基本操作是高效开发 Django 应用的基础，其中，向数据库中增加新数据是最常见的需求之一。本文将深入探讨 Django ORM 中用于增加数据的几种核心方法：&lt;code&gt;save()&lt;/code&gt;、&lt;code&gt;create()&lt;/code&gt; 以及用于批量操作的 &lt;code&gt;bulk_create()&lt;/code&gt;，并特别说明如何处理包含外键（Foreign Key）关联的数据记录。&lt;/p&gt;</description></item><item><title>Zettlr之类的工具如何在AI时代锚定深度思考的价值</title><link>https://yangzh.cn/posts/posts/zettlr.html/</link><pubDate>Tue, 29 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/zettlr.html/</guid><description>&lt;p&gt;人工智能以前所未有的速度重塑着信息获取与内容生产的范式。当我们能轻易获得看似完善的答案时，一个更深层的问题浮出水面：我们是否正在失去独立思考、深度理解和知识内化的能力？在这个背景下，重新审视像Zettlr这样的工具，其价值远不止于一个高效的Markdown编辑器，它更像是一个精心设计的认知训练场，帮助我们在算法推荐和即时满足的洪流中，坚守并深化人类独有的思考能力。&lt;/p&gt;</description></item><item><title>Django 模型创建与数据库迁移</title><link>https://yangzh.cn/posts/posts/06-02-djangomodel.html/</link><pubDate>Mon, 28 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/06-02-djangomodel.html/</guid><description>&lt;p&gt;Django 框架以其强大的对象关系映射（ORM）系统而闻名，它允许开发者使用 Python 代码来定义和操作数据库结构，而无需直接编写 SQL 语句。这一机制的核心便是 Django 模型（Models）。模型是数据的单一、权威的信息来源，它包含了存储数据的基本字段和行为。理解并熟练运用 Django 模型是进行高效 Web 开发的关键一步。本文将深入探讨如何在 Django 应用中创建模型，并介绍相关的核心概念与数据库迁移流程。&lt;/p&gt;</description></item><item><title>Django ORM 详解</title><link>https://yangzh.cn/posts/posts/06-00-django%E4%B8%AD%E7%9A%84orm.html/</link><pubDate>Sat, 26 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/06-00-django%E4%B8%AD%E7%9A%84orm.html/</guid><description>&lt;p&gt;Django 框架以其“开箱即用”和“快速开发”的特性深受 Web 开发者喜爱，而其强大的对象关系映射（Object-Relational Mapping, ORM）系统是实现这一目标的关键组件之一。Django ORM 允许开发者使用 Python 代码来操作数据库，而无需直接编写复杂的 SQL 语句，极大地提高了开发效率和代码的可维护性。&lt;/p&gt;</description></item><item><title>D1 数据库：Cloudflare 的无服务器 SQL 数据库</title><link>https://yangzh.cn/posts/posts/d1.html/</link><pubDate>Sun, 20 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/d1.html/</guid><description>&lt;p&gt;随着无服务器（Serverless）计算的兴起，开发者对配套的数据存储解决方案提出了新的要求。传统的关系型数据库往往需要复杂的配置、管理和扩展，这与无服务器架构轻量、弹性的理念有所冲突。Cloudflare D1 正是在这样的背景下应运而生，它提供了一个基于 SQLite 构建的无服务器 SQL 数据库服务，旨在为 Cloudflare Workers 和 Pages 提供简单、可靠且低延迟的数据持久化能力。&lt;/p&gt;</description></item><item><title>Django 模板过滤器详解：轻松转换模板变量</title><link>https://yangzh.cn/posts/posts/05-04-django%E6%A8%A1%E6%9D%BF%E8%BF%87%E6%BB%A4%E5%99%A8.html/</link><pubDate>Sun, 20 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/05-04-django%E6%A8%A1%E6%9D%BF%E8%BF%87%E6%BB%A4%E5%99%A8.html/</guid><description>&lt;p&gt;在 Django Web 开发中，模板系统扮演着至关重要的角色，它负责将数据渲染成用户看到的 HTML 页面。然而，从视图传递到模板的数据并不总是符合最终的显示要求。有时需要对这些数据进行格式化、转换或计算。Django 模板过滤器（Filters）正是为此而生，它们提供了一种简洁而强大的方式，在模板层面直接修改变量的显示输出，而无需修改视图逻辑。&lt;/p&gt;</description></item><item><title>Django 模板标签</title><link>https://yangzh.cn/posts/posts/05-03-django%E6%A8%A1%E6%9D%BF%E6%A0%87%E7%AD%BE.html/</link><pubDate>Tue, 15 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/05-03-django%E6%A8%A1%E6%9D%BF%E6%A0%87%E7%AD%BE.html/</guid><description>&lt;p&gt;Django 模板系统是其 MVT (Model-View-Template) 架构中的关键一环，负责将数据与表示逻辑分离，生成最终呈现给用户的 HTML。在这个系统中，模板标签扮演着至关重要的角色。它们不仅仅是简单的占位符，更是嵌入在模板中的逻辑控制器，使得开发者能够在 HTML 结构中执行编程逻辑、控制流程、加载资源，从而构建出功能丰富、动态交互的网页。理解并熟练运用模板标签，是高效进行 Django 开发的基础。&lt;/p&gt;</description></item><item><title>Django 模板变量</title><link>https://yangzh.cn/posts/posts/05-02-django%E6%A8%A1%E6%9D%BF%E4%B8%AD%E7%9A%84%E5%8F%98%E9%87%8F.html/</link><pubDate>Mon, 14 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/05-02-django%E6%A8%A1%E6%9D%BF%E4%B8%AD%E7%9A%84%E5%8F%98%E9%87%8F.html/</guid><description>&lt;p&gt;Django 模板引擎是 Django 框架中负责将数据渲染到 HTML 页面的关键部分。它通过一套简洁的语法，实现了后端逻辑与前端展示的分离。在这一体系中，模板变量扮演着核心角色，它们是动态数据的占位符，使得开发者能够将从视图（View）传递过来的信息灵活地嵌入到静态的 HTML 结构中。本文将重点介绍 Django 模板变量的基本概念、使用方式，特别是点运算符的查找机制，以及如何利用上下文处理器传递数据。&lt;/p&gt;</description></item><item><title>Django HttpResponse 对象常用属性与方法</title><link>https://yangzh.cn/posts/posts/04-04-httpresponse.html/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-04-httpresponse.html/</guid><description>&lt;p&gt;在 Django Web 框架中，视图函数处理完用户请求后，必须返回一个 &lt;code&gt;HttpResponse&lt;/code&gt; 对象或其子类的实例。这个对象封装了所有需要发送给客户端浏览器的信息，包括响应体内容、HTTP 状态码、响应头等。理解并熟练运用 &lt;code&gt;HttpResponse&lt;/code&gt; 对象的属性和方法，对于构建功能完善、交互友好的 Web 应用至关重要。&lt;/p&gt;</description></item><item><title>Django 模版引擎配置</title><link>https://yangzh.cn/posts/posts/05-01-django%E6%A8%A1%E6%9D%BF%E7%9A%84%E9%85%8D%E7%BD%AE.html/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/05-01-django%E6%A8%A1%E6%9D%BF%E7%9A%84%E9%85%8D%E7%BD%AE.html/</guid><description>&lt;p&gt;在 Django Web 框架中，模版引擎扮演着至关重要的角色，它负责将动态数据渲染到 HTML 页面中，实现了业务逻辑与表现层的分离。理解如何正确配置模版引擎是高效开发 Django 应用的基础。本文将深入探讨 Django 中模版引擎的配置过程、相关选项以及模版文件的组织策略，帮助开发者更好地掌握这一核心功能。&lt;/p&gt;</description></item><item><title>WebP 格式详解：下一代 Web 图像标准</title><link>https://yangzh.cn/posts/posts/webp.html/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/webp.html/</guid><description>&lt;p&gt;随着互联网对视觉内容的需求日益增长，图像优化成为了提升网页性能和用户体验的关键一环。在众多图像格式中，由 Google 开发的 WebP 格式凭借其出色的压缩性能和丰富的功能特性，正逐渐成为现代 Web 的新宠。本文将深入探讨 WebP 格式，解析其技术细节、优势以及应用场景，帮助读者全面了解这一高效的图像解决方案。&lt;/p&gt;</description></item><item><title>开源免费图像压缩工具：squoosh-cli 详解</title><link>https://yangzh.cn/posts/posts/squoosh-cli.html/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/squoosh-cli.html/</guid><description>&lt;p&gt;&lt;code&gt;squoosh-cli&lt;/code&gt; 是 Google Squoosh 在线图像压缩工具的命令行版本，它将强大的图像编解码器和优化算法带到了本地开发环境中。与在线版本不同，&lt;code&gt;squoosh-cli&lt;/code&gt; 允许开发者通过命令行批量处理图像，将其无缝集成到自动化构建流程中，实现高效、可控的图像资源优化。本教程将从基础安装开始，逐步深入探讨其核心功能、不同编码器的精细配置、高级用法以及在实际工作流中的应用，旨在帮助您充分利用这一工具提升 Web 性能和开发效率。&lt;/p&gt;</description></item><item><title>深入理解 Django 模板引擎</title><link>https://yangzh.cn/posts/posts/05-00-django%E6%A8%A1%E6%9D%BF.html/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/05-00-django%E6%A8%A1%E6%9D%BF.html/</guid><description>&lt;p&gt;Django 模板引擎是 Django MVT (Model-View-Template) 架构中的关键组成部分，它负责处理用户界面的表示层。简单来说，模板引擎允许开发者将页面的 HTML 结构与动态数据分离开来，使得前端设计和后端逻辑可以并行开发和维护。这种分离不仅提高了代码的可读性和可维护性，也让非程序员（如设计师）更容易参与到 Web 应用的开发过程中。本文将深入探讨 Django 模板引擎的工作原理和核心概念。&lt;/p&gt;</description></item><item><title>n8n：强大的低代码工作流自动化平台</title><link>https://yangzh.cn/posts/posts/00-n8n-intro.html/</link><pubDate>Fri, 11 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/00-n8n-intro.html/</guid><description>&lt;p&gt;n8n 是一个强大的、可扩展的工作流自动化工具，它采用低代码（Low-Code）的方式，让用户能够轻松连接不同的应用程序和服务，实现任务的自动化处理。想象一下，你需要将新注册用户的邮箱自动添加到邮件营销列表，或者当数据库中新增一条记录时自动发送通知到 Slack 频道，这些重复性的跨应用操作都可以通过 n8n 来自动化完成，从而显著提高工作效率，减少人为错误。n8n 的核心理念是通过可视化的界面，将复杂的编程逻辑简化为节点（Nodes）和连接（Connections）的组合，即使非技术背景的用户也能快速上手。&lt;/p&gt;</description></item><item><title>Python 中的 Mixin</title><link>https://yangzh.cn/posts/posts/mixins.html/</link><pubDate>Sun, 06 Apr 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/mixins.html/</guid><description>&lt;p&gt;在面向对象编程（Object-Oriented Programming, OOP）的世界里，继承是实现代码复用和构建类型层次结构的核心机制之一。子类继承父类的属性和方法，体现了“is-a”的关系。然而，当我们需要为一组不相关的类添加某种共同的、特定的功能（例如，日志记录、序列化、调试信息输出）时，传统的单继承模型往往显得捉襟见肘。强行构建一个庞大而深邃的继承树，不仅可能导致所谓的“胖接口”（类拥有过多不必要的方法），还可能使类之间的关系变得异常复杂和脆弱。为了更灵活、更精准地“混入”或“注入”功能，Python开发者常常求助于一种称为Mixin的设计模式。&lt;/p&gt;</description></item><item><title>JSON-LD、HTML 微数据与 SEO</title><link>https://yangzh.cn/posts/posts/html-json-ld.html/</link><pubDate>Mon, 31 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-json-ld.html/</guid><description>&lt;p&gt;在当今的数字世界中，让搜索引擎准确理解网页内容对于提升网站可见性至关重要。结构化数据为此提供了一种标准化的方法，允许开发者向搜索引擎提供关于页面内容的明确线索。JSON-LD 和 HTML 微数据是实现结构化数据的两种主要技术。本文将探讨这两种技术的工作原理、它们之间的区别，以及它们如何共同影响搜索引擎优化（SEO）的效果。理解并正确应用这些技术，可以帮助网站在搜索结果中获得更好的表现。&lt;/p&gt;</description></item><item><title>ima.copilot：打造智能知识库，助力团队协作</title><link>https://yangzh.cn/posts/posts/%E8%85%BE%E8%AE%AFima.html/</link><pubDate>Tue, 25 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%85%BE%E8%AE%AFima.html/</guid><description>&lt;h2 id="imacopilot-简介"&gt;ima.copilot 简介&lt;/h2&gt;
&lt;p&gt;在信息爆炸的时代，如何高效地获取、管理和利用知识成为了提升个人和团队竞争力的关键。&lt;code&gt;ima.copilot&lt;/code&gt; 正是为此而生的一款智能工作台，它由腾讯推出，旨在通过强大的 AI 技术，为用户提供集搜索、阅读、写作于一体的全新体验。&lt;code&gt;ima.copilot&lt;/code&gt; 的核心在于其智能知识库，它不仅可以帮助用户高效地获取所需信息，还能通过个性化管理和智能写作辅助，大幅提升学习和办公效率。更重要的是，通过知识库的建设和共享，&lt;code&gt;ima.copilot&lt;/code&gt; 能够赋能团队协作，打破信息孤岛，提升整体效率。&lt;code&gt;ima.copilot&lt;/code&gt; 的目标是解决知识获取和共享的难题，通过智能过滤和聚合功能，确保用户能够快速找到高质量的内容，并将其整合到个人或团队知识库中。此外，它还能根据知识库提供定制化的答案，激发灵感，应对各种挑战。&lt;/p&gt;</description></item><item><title>思源笔记的快速制卡与复习机制解析</title><link>https://yangzh.cn/posts/posts/siyuan%E7%89%B9%E7%82%B9.html/</link><pubDate>Tue, 25 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/siyuan%E7%89%B9%E7%82%B9.html/</guid><description>&lt;p&gt;数字时代，我们每天都在接触海量信息，但将信息转化为持久记忆和深刻理解，却是一项艰巨的挑战。传统的笔记方式往往止步于记录，而如何有效地复习和巩固这些知识点，常常需要借助额外的工具和流程。正是在这样的背景下，一些新兴的笔记软件开始探索笔记与记忆工具的深度融合。思源笔记 (SiYuan Note) 便是其中的一个引人注目的尝试，它不仅提供了强大的双向链接和块级引用功能，更将快速制卡与间隔重复系统（Spaced Repetition System, SRS）无缝整合到笔记体验中，试图为用户打造一个从信息输入、整理到记忆内化的一站式解决方案&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;</description></item><item><title>Cherry Studio</title><link>https://yangzh.cn/posts/posts/cherrystudio.html/</link><pubDate>Tue, 18 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/cherrystudio.html/</guid><description>&lt;p&gt;Cherry Studio 不仅仅是一款简单的 LLM 桌面客户端，它更是一个赋能专业人士的个性化智能助手平台。它预设多个行业智能助手，支持多种 LLM 服务商，可在 Windows、macOS 和 Linux 平台上使用。但其真正的核心优势在于其强大的知识库功能、MCP（模型控制面板）以及自定义智能体功能，这些功能共同构建了一个高度可定制、智能化的工作环境。&lt;/p&gt;</description></item><item><title>向量数据库</title><link>https://yangzh.cn/posts/posts/%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93.html/</link><pubDate>Mon, 17 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93.html/</guid><description>&lt;p&gt;向量数据库，作为一种新兴的数据库类型，正逐渐受到越来越多的关注。它与传统的关系型数据库和NoSQL数据库不同，主要用于存储、索引和查询向量形式的数据。向量数据库的设计目标是高效地处理高维向量数据的相似性搜索，这在许多现代应用中至关重要，例如图像识别、自然语言处理、推荐系统等。&lt;/p&gt;</description></item><item><title>ABT模型：叙事动力学的结构框架</title><link>https://yangzh.cn/posts/posts/abt-model.html/</link><pubDate>Tue, 11 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/abt-model.html/</guid><description>&lt;p&gt;ABT模型作为叙事动力学的核心结构框架，通过&amp;quot;And, But, Therefore&amp;quot;（并且，但是，因此）三个连接词构建了一种简洁而强大的故事模式。这种模式不仅在传统叙事中广泛应用，更被证明在科学传播、商业演讲和教育领域具有显著效果。ABT模型将复杂的叙事结构简化为三个关键环节：建立背景（And）、引入冲突（But）和提供解决方案（Therefore），形成了一个完整的认知张力弧，符合人类思维处理信息的基本模式。&lt;/p&gt;</description></item><item><title>Qlib：AI驱动的量化投资平台</title><link>https://yangzh.cn/posts/posts/qlib.html/</link><pubDate>Sun, 02 Mar 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/qlib.html/</guid><description>&lt;h2 id="qlibai驱动的量化投资平台"&gt;Qlib：AI驱动的量化投资平台&lt;/h2&gt;
&lt;p&gt;Qlib是一个开源的、AI驱动的量化投资平台，由微软亚洲研究院开发并维护,仓库地址：&lt;a href="https://github.com/microsoft/qlib"&gt;https://github.com/microsoft/qlib&lt;/a&gt;。它的目标是提供一个完整、易用且高效的平台，帮助研究人员和投资者利用人工智能技术进行量化投资研究和实践。Qlib涵盖了数据获取、特征工程、模型训练、回测和风险管理等量化投资的各个环节。&lt;/p&gt;
&lt;h2 id="qlib的核心功能"&gt;Qlib的核心功能&lt;/h2&gt;
&lt;p&gt;Qlib的核心功能可以概括为以下几个方面：&lt;/p&gt;
&lt;h3 id="数据管理"&gt;数据管理&lt;/h3&gt;
&lt;p&gt;Qlib提供了一套完整的数据管理工具，可以方便地获取、存储和处理金融市场数据。它支持多种数据源，包括股票、期货、期权等，并提供了数据清洗、预处理和标准化等功能，为后续的特征工程和模型训练奠定基础。&lt;/p&gt;</description></item><item><title>RPA——机器人流程自动化</title><link>https://yangzh.cn/posts/posts/rpa.html/</link><pubDate>Wed, 26 Feb 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/rpa.html/</guid><description>&lt;p&gt;想象一下，你的电脑里住着一个勤劳的“机器人”，它能帮你完成那些重复、繁琐的工作，比如每天定时从各个网站下载报表、自动填写表格、或者将数据从一个系统复制到另一个系统。这个“机器人”并非科幻电影里的实体，而是指机器人流程自动化（RPA），一种通过软件模拟人工操作，实现业务流程自动化的技术。RPA 就像一位不知疲倦的虚拟员工，能够 24 小时不停歇地执行任务，从而提高效率、减少错误，并让人们从重复劳动中解放出来，专注于更具创造性和战略性的工作。&lt;/p&gt;</description></item><item><title>RAG 和传统数据库搜索的区别</title><link>https://yangzh.cn/posts/posts/rag%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E6%90%9C%E7%B4%A2.html/</link><pubDate>Tue, 28 Jan 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/rag%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E6%90%9C%E7%B4%A2.html/</guid><description>&lt;p&gt;在信息检索领域，检索增强生成（Retrieval-Augmented Generation, RAG）和传统数据库搜索是两种截然不同的方法。传统数据库搜索依赖于精确匹配和结构化查询语言（如SQL），从预定义的数据库中检索信息。而RAG则是一种更先进的方法，它结合了预训练的语言模型和外部知识库，以生成更丰富、更具上下文相关性的答案。本文旨在深入探讨这两种方法的区别，帮助读者理解它们各自的优势和适用场景。&lt;/p&gt;</description></item><item><title>MCP</title><link>https://yangzh.cn/posts/posts/mcp.html/</link><pubDate>Wed, 15 Jan 2025 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/mcp.html/</guid><description>&lt;p&gt;随着人工智能技术的飞速发展，AI Agent（人工智能代理）正在从简单的对话工具演变为能够主动执行任务的智能助手。而在这个过程中，**Model Context Protocol（MCP，模型上下文协议）**作为一个关键技术，正逐渐成为连接 AI Agent 与外部世界的桥梁。那么，MCP 到底是什么？它在 AI Agent 领域中扮演了什么角色？让我们一起来揭开它的神秘面纱。&lt;/p&gt;</description></item><item><title>Django 类视图 (CBV)</title><link>https://yangzh.cn/posts/posts/04-02-%E5%9F%BA%E4%BA%8E%E7%B1%BB%E7%9A%84%E8%A7%86%E5%9B%BE.html/</link><pubDate>Sun, 27 Oct 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-02-%E5%9F%BA%E4%BA%8E%E7%B1%BB%E7%9A%84%E8%A7%86%E5%9B%BE.html/</guid><description>&lt;p&gt;在 Django Web 框架中，视图（View）是处理 Web 请求并返回 Web 响应的核心组件。它接收 HttpRequest 对象，执行必要的业务逻辑（如与数据库交互、处理表单数据等），最终生成并返回一个 HttpResponse 对象。Django 提供了两种主要的方式来编写视图：基于函数的视图（Function-Based Views, FBV）和基于类的视图（Class-Based Views, CBV）。&lt;/p&gt;</description></item><item><title>Django中的reverse函数</title><link>https://yangzh.cn/posts/posts/03-02-revers%E5%87%BD%E6%95%B0.html/</link><pubDate>Thu, 15 Aug 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/03-02-revers%E5%87%BD%E6%95%B0.html/</guid><description>&lt;p&gt;想象你搬进一个新小区，每次告诉朋友来访路线时都要说：&amp;quot;从东门进来左转，经过3个路口后看到红色邮筒右转...&amp;quot;。如果小区道路改造，你需要通知所有朋友新的路线。Django中的reverse函数就像小区的智能导航系统，你只需要记住&amp;quot;8号楼3单元&amp;quot;这样的标识，系统会自动生成最新路线。&lt;/p&gt;</description></item><item><title>Django 项目实战：配置 MySQL 数据库与数据迁移详解</title><link>https://yangzh.cn/posts/posts/06-01-django%E4%B8%ADmysql%E9%85%8D%E7%BD%AE.html/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/06-01-django%E4%B8%ADmysql%E9%85%8D%E7%BD%AE.html/</guid><description>&lt;p&gt;在开发 Django Web 应用程序时，虽然默认的 SQLite 数据库对于开发和测试阶段非常方便，但在生产环境或需要更强大数据库功能的场景下，通常需要切换到更成熟的关系型数据库，如 MySQL。本文将详细阐述如何在 Django 项目中配置 MySQL 数据库，并重点介绍 Django 强大的数据迁移系统，帮助开发者顺利地将数据模型映射到 MySQL 数据库结构中。&lt;/p&gt;</description></item><item><title>LLM 提示词基础</title><link>https://yangzh.cn/posts/posts/%E6%8F%90%E7%A4%BA%E8%AF%8D%E5%9F%BA%E7%A1%80.html/</link><pubDate>Tue, 16 Jul 2024 18:44:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8F%90%E7%A4%BA%E8%AF%8D%E5%9F%BA%E7%A1%80.html/</guid><description>&lt;h2 id="提示词的分类"&gt;提示词的分类&lt;/h2&gt;
&lt;p&gt;提示词可以分为系统提示词（system prompt）和用户提示词（user prompt）。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A system prompt is a way to &lt;strong&gt;provide context, instructions, and guidelines to Claude&lt;/strong&gt; before presenting it with a question or task in the &amp;quot;User&amp;quot; turn.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="提示词写作要点"&gt;提示词写作要点&lt;/h2&gt;
&lt;h3 id="清晰且直接"&gt;清晰且直接&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Golden Rule of Clear Prompting&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Show your prompt to a colleague or friend and have them follow the instructions themselves to see if they can produce the result you want. If they're confused, Claude's confused.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;案例&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Who is the best basketball player of all time?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Who is the best basketball player of all time根据你的判断，给出最佳的一个
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Who is the best basketball player of all time?根据你的判断，给出最佳的一个&lt;/p&gt;</description></item><item><title>Python 包管理新星：uv 使用指南</title><link>https://yangzh.cn/posts/posts/uv.html/</link><pubDate>Thu, 23 May 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/uv.html/</guid><description>&lt;p&gt;Python 的包管理生态系统长期以来由 &lt;code&gt;pip&lt;/code&gt; 和 &lt;code&gt;venv&lt;/code&gt; 等工具主导。然而，随着项目复杂性的增加和对性能要求的提高，开发者社区一直在寻求更高效、更统一的解决方案。&lt;code&gt;uv&lt;/code&gt; 是由 &lt;code&gt;ruff&lt;/code&gt; 的开发团队 Astral 公司推出的一款用 Rust 编写的、速度极快的 Python 包安装器和解析器。它的出现旨在显著提升 Python 开发者的包管理和虚拟环境操作体验，有望成为 &lt;code&gt;pip&lt;/code&gt;、&lt;code&gt;venv&lt;/code&gt;、&lt;code&gt;virtualenv&lt;/code&gt; 及其相关工作流的直接替代品。&lt;/p&gt;</description></item><item><title>英语口语训练：自言自语</title><link>https://yangzh.cn/posts/posts/%E8%8B%B1%E8%AF%AD%E5%8F%A3%E8%AF%AD%E8%AE%AD%E7%BB%83%E8%87%AA%E8%A8%80%E8%87%AA%E8%AF%AD.html/</link><pubDate>Thu, 16 May 2024 22:42:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%8B%B1%E8%AF%AD%E5%8F%A3%E8%AF%AD%E8%AE%AD%E7%BB%83%E8%87%AA%E8%A8%80%E8%87%AA%E8%AF%AD.html/</guid><description>&lt;p&gt;网上看到别人推荐一个更简单可行的方法，我把这个方法称之为“自言自语法”。这个方法非常简单，具体的方法是将每天的所有行为的每一个细节都翻译成英语，然后在每一个行为开始前或者过程中大声说出这个行为的英文。&lt;/p&gt;
&lt;p&gt;这个方法非常的灵活，如果你比较 open，不在乎别人的眼光，可以大声念。如果你不方便大声说话，或者比较害羞，也可以在心里默念。怎么样都行。&lt;/p&gt;</description></item><item><title>Django 中的函数式视图</title><link>https://yangzh.cn/posts/posts/04-01-%E5%9F%BA%E4%BA%8E%E5%87%BD%E6%95%B0%E7%9A%84%E8%A7%86%E5%9B%BE.html/</link><pubDate>Thu, 29 Feb 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-01-%E5%9F%BA%E4%BA%8E%E5%87%BD%E6%95%B0%E7%9A%84%E8%A7%86%E5%9B%BE.html/</guid><description>&lt;p&gt;在 Django Web 框架中，视图（View）负责接收 Web 请求并返回响应。Django 提供了两种编写视图的方式：函数式视图（Function-Based Views，FBV）和类视图（Class-Based Views，CBV）。函数式视图是基于 Python 函数的视图，它们简单易懂，易于上手，是 Django 初学者常用的视图类型。本文将深入探讨 Django 函数式视图的各个方面，包括其优势、用法以及与类视图的对比。&lt;/p&gt;</description></item><item><title>显式导出与隐式导出</title><link>https://yangzh.cn/posts/posts/explicit-export.html/</link><pubDate>Thu, 29 Feb 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/explicit-export.html/</guid><description>&lt;p&gt;JavaScript 和 Python 在模块化处理方式上存在显著差异，其中一个关键点在于导出机制。Python 默认会将模块中所有未以下划线开头的名称导出，而 JavaScript 则需要显式地使用 &lt;code&gt;export&lt;/code&gt; 关键字声明哪些内容需要导出。理解这种差异背后的原因，有助于我们更好地理解这两种语言的设计哲学和适用场景。&lt;/p&gt;</description></item><item><title>前端资源</title><link>https://yangzh.cn/posts/posts/%E5%89%8D%E7%AB%AF%E8%B5%84%E6%BA%90.html/</link><pubDate>Sat, 20 Jan 2024 11:32:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%89%8D%E7%AB%AF%E8%B5%84%E6%BA%90.html/</guid><description>&lt;h2 id="动态图标"&gt;动态图标&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.mingcute.com/animation"&gt;https://www.mingcute.com/animation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://uiverse.io/"&gt;https://uiverse.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="高级动效"&gt;高级动效&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://ui.aceternity.com/"&gt;https://ui.aceternity.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>复杂提示词案例</title><link>https://yangzh.cn/posts/posts/%E5%A4%8D%E6%9D%82%E6%8F%90%E7%A4%BA%E8%AF%8D%E6%A1%88%E4%BE%8B.html/</link><pubDate>Sun, 14 Jan 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%A4%8D%E6%9D%82%E6%8F%90%E7%A4%BA%E8%AF%8D%E6%A1%88%E4%BE%8B.html/</guid><description>&lt;!--@include: _deepseekux.md --&gt;
&lt;!--@include: _claudeUI.md --&gt;
&lt;!--@include: _内容转网页.md --&gt;
&lt;!--@include: _drawio可视化.md --&gt;
&lt;!--@include: _金句卡片.md --&gt;
&lt;!--@include: _bentogrid.md --&gt;
&lt;!--@include: _命理先知gpts.md --&gt;
&lt;!--@include: _anki制卡.md --&gt;
&lt;!--@include: _查找图片.md --&gt;
&lt;!--@include: _学习通测试题.md --&gt;
&lt;!--@include: _课程作业设计.md --&gt;
&lt;!--@include: _学习内容制作教程.md --&gt;
&lt;!--@include: _理论解释.md --&gt;
&lt;!--@include: _论文润色.md --&gt;
&lt;!--@include: _论文分类.md --&gt;
&lt;!--@include: _cnkiRef分类总结.md --&gt;</description></item><item><title>SMART：目标设定法则</title><link>https://yangzh.cn/posts/posts/smart%E6%B3%95%E5%88%99.html/</link><pubDate>Wed, 10 Jan 2024 06:47:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/smart%E6%B3%95%E5%88%99.html/</guid><description>&lt;p&gt;SMART法则是一种目标设定的方法论，常用于管理学和个人发展领域。SMART是五个单词的首字母缩写，分别代表：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;具体（Specific）&lt;/strong&gt;：目标应该是具体明确的，而不是模糊或笼统的。具体的目标有助于聚焦并清晰地理解所追求的成果。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可衡量（Measurable）&lt;/strong&gt;：目标应该是可以衡量的，这意味着你可以通过一些方法来跟踪进度。如果目标无法衡量，就很难知道你是否接近或实现了目标。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可达成（Achievable）&lt;/strong&gt;：目标应该是现实的，可以在现有资源和时间限制内达成。过于雄心勃勃的目标可能会导致挫败和放弃。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;相关（Relevant）&lt;/strong&gt;：目标应该与你的其他目标和长期计划相符合。这有助于确保目标是对你或你的组织有意义的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时限（Time-bound）&lt;/strong&gt;：目标应该有明确的截止日期。这有助于创建紧迫感，并防止目标被无限期地推迟。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;SMART法则的来源可以追溯到1981年，由乔治·T·多兰（George T. Doran）在其文章《管理评审》（Management Review）中首次提出，文章标题为《设定目标的艺术》（&amp;quot;There's a S.M.A.R.T. way to write management's goals and objectives&amp;quot;）。&lt;/p&gt;</description></item><item><title>内部效度</title><link>https://yangzh.cn/posts/posts/%E5%86%85%E9%83%A8%E6%95%88%E5%BA%A6.html/</link><pubDate>Tue, 09 Jan 2024 06:55:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%86%85%E9%83%A8%E6%95%88%E5%BA%A6.html/</guid><description>&lt;p&gt;内部效度（internal validity），又称内部有效性，指的是研究结果的“真实价值”，用来评价研究人员的研究设计。在量化研究中，内部效度指的是在给定的研究范围内，因变量的变化可归因于自变量的程度。简单来说，就是我们能否确信研究中观察到的效应确实是由研究的变量引起的，而不是其他因素所导致的。&lt;/p&gt;</description></item><item><title>XLOOKUP函数详解</title><link>https://yangzh.cn/posts/posts/xlookup%E5%87%BD%E6%95%B0.html/</link><pubDate>Mon, 08 Jan 2024 17:34:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/xlookup%E5%87%BD%E6%95%B0.html/</guid><description>&lt;p&gt;&lt;code&gt;XLOOKUP&lt;/code&gt; 函数是 Excel 中的一种查找和引用函数，它是 &lt;code&gt;VLOOKUP&lt;/code&gt; 和 &lt;code&gt;HLOOKUP&lt;/code&gt; 函数的更强大、更灵活的替代品。这个函数用于在一个范围或数组中查找特定项，并返回与之对应的值。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;XLOOKUP&lt;/code&gt; 函数的基本语法如下：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-excel" data-lang="excel"&gt;XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;lookup_value&lt;/code&gt;：这是你想要查找的值。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lookup_array&lt;/code&gt;：这是包含要查找值的数组或范围。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;return_array&lt;/code&gt;：这是包含与 &lt;code&gt;lookup_array&lt;/code&gt; 对应的返回值的数组或范围。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[if_not_found]&lt;/code&gt;：（可选）如果没有找到 &lt;code&gt;lookup_value&lt;/code&gt;，将返回的值。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[match_mode]&lt;/code&gt;：（可选）指定查找匹配项的模式。例如，精确匹配或近似匹配。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[search_mode]&lt;/code&gt;：（可选）指定搜索的方向，例如从上到下或从下到上。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;举个例子，假设我们有一个学生名单和他们的分数，我们想要查找特定学生的分数。假设学生名字在 A 列，分数在 B 列，我们想查找名为 &amp;quot;张三&amp;quot; 的学生的分数。我们可以使用如下公式：&lt;/p&gt;</description></item><item><title>海马体</title><link>https://yangzh.cn/posts/posts/%E6%B5%B7%E9%A9%AC%E4%BD%93.html/</link><pubDate>Sun, 07 Jan 2024 09:18:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%B5%B7%E9%A9%AC%E4%BD%93.html/</guid><description>&lt;p&gt;海马体是大脑中一个极其重要的部分，负责许多关键的认知功能。它位于大脑的内部，属于边缘系统的一部分。海马体在人类和其他哺乳动物的大脑中都非常发达。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202401070919387.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;以下是海马体的几个主要功能：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;记忆形成与存储&lt;/strong&gt;：海马体是形成新记忆的关键区域。它帮助将短期记忆转化为长期记忆，并在记忆的存储和检索过程中发挥作用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;空间导航&lt;/strong&gt;：海马体也与空间认知和导航能力有关。它帮助个体理解和记忆空间环境，比如记住地理位置或找到从一个地方到另一个地方的路。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;情绪调节&lt;/strong&gt;：海马体与情绪处理和调节密切相关。它在处理压力和情绪反应中起着重要作用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;学习能力&lt;/strong&gt;：海马体对学习过程至关重要，尤其是在处理复杂的信息和情境时。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;此外，海马体对于大脑的健康也非常关键。例如，阿尔茨海默病和其他形式的认知衰退通常与海马体的损伤或功能障碍有关。长期的压力和抑郁也可能影响海马体的大小和功能。&lt;/p&gt;</description></item><item><title>阿尔法系数</title><link>https://yangzh.cn/posts/posts/%E9%98%BF%E5%B0%94%E6%B3%95.html/</link><pubDate>Sat, 06 Jan 2024 11:37:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%98%BF%E5%B0%94%E6%B3%95.html/</guid><description>&lt;p&gt;在投资领域，&amp;quot;阿尔法&amp;quot;（Alpha）是衡量投资绩效的重要的一个指标。它代表了一项投资相对于其基准指数的表现。简单来说，阿尔法是投资回报与预期回报之间的差额。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;graph TD
 A[投资组合实际回报] --&amp;gt; C{对比}
 B[基准指数回报] --&amp;gt; C
 C --&amp;gt; D[阿尔法]
 D --&amp;gt; E[正值]
 D --&amp;gt; F[负值]
 E --&amp;gt; G[超额收益]
 F --&amp;gt; H[表现不及预期]
 
 style A fill:#f9f,stroke:#333,stroke-width:2px
 style B fill:#bbf,stroke:#333,stroke-width:2px
 style D fill:#bfb,stroke:#333,stroke-width:2px
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果一个投资的阿尔法值为正，这意味着它的表现超过了基准指数。例如，如果一个股票基金的回报率比它所跟踪的指数高出2%，那么这个基金的阿尔法就是2%。相反，如果阿尔法值为负，这意味着投资的表现低于其基准指数。&lt;/p&gt;</description></item><item><title>检索增强生成（RAG）</title><link>https://yangzh.cn/posts/posts/rag.html/</link><pubDate>Tue, 02 Jan 2024 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/rag.html/</guid><description>&lt;p&gt;检索增强生成（Retrieval-Augmented Generation, RAG）是一种将预训练的生成模型与信息检索系统相结合的自然语言处理技术。它通过从大规模文档库中检索相关信息，然后利用这些信息来指导生成模型生成更准确、更丰富的文本。RAG 的核心思想是利用外部知识来增强生成模型的性能，从而在开放域问答、文本摘要、对话生成等任务中取得更好的效果。理解 RAG 的关键在于理解嵌入模型在其中的作用。&lt;/p&gt;</description></item><item><title>回测</title><link>https://yangzh.cn/posts/posts/%E5%9B%9E%E6%B5%8B.html/</link><pubDate>Sun, 17 Dec 2023 11:50:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%9B%9E%E6%B5%8B.html/</guid><description>&lt;p&gt;回测是金融领域中用于评估交易策略或投资模型有效性的一种技术。它通过模拟一种策略在历史数据上的表现来预测其在未来市场条件下的潜在表现。这个过程涵盖了将策略应用于过去的市场数据，以便观察如果该策略在过去实施，它本可以产生什么样的结果。&lt;/p&gt;
&lt;p&gt;在进行回测时，分析师或交易者会选取一段历史时期的市场数据，包括股票价格、市场指数、经济数据等。然后，他们将交易策略应用于这些数据上。这通常涉及到按照策略的规则进行虚拟交易，如根据特定的买入和卖出信号来买卖股票。通过这种方式，可以评估该策略在过去市场环境中的表现，包括盈利能力、风险水平、和抗市场波动能力等重要指标。&lt;/p&gt;</description></item><item><title>评价研究的原则</title><link>https://yangzh.cn/posts/posts/%E8%AF%84%E4%BB%B7%E7%A0%94%E7%A9%B6%E7%9A%84%E5%8E%9F%E5%88%99.html/</link><pubDate>Sat, 09 Dec 2023 12:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AF%84%E4%BB%B7%E7%A0%94%E7%A9%B6%E7%9A%84%E5%8E%9F%E5%88%99.html/</guid><description>&lt;p&gt;在评价研究时，需要遵循一些基本原则来确保公正和准确性。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;尊重研究范式的特性&lt;/strong&gt;：每种研究范式，无论是量化还是质化，都有其独特的方法论和评价标准。重要的是要在各自的框架内评价它们。例如，在评价量化研究时，应关注其统计的有效性和可靠性，而在评价质化研究时，则更多地关注其深度、背景的理解以及案例研究的丰富性。不应简单地因为一项研究不符合另一种范式的标准而对其评价不利。&lt;/p&gt;</description></item><item><title>数据分析流程</title><link>https://yangzh.cn/posts/posts/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E6%B5%81%E7%A8%8B.html/</link><pubDate>Mon, 27 Nov 2023 18:12:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E6%B5%81%E7%A8%8B.html/</guid><description>&lt;p&gt;数据分析的流程通常包括几个关键步骤，从数据的收集和清洗到最终的分析和报告。每个步骤都是整个数据分析过程的重要组成部分。下面是数据分析的典型流程：&lt;/p&gt;
&lt;h2 id="1-明确数据分析目标"&gt;1. 明确数据分析目标&lt;/h2&gt;
&lt;p&gt;确定你要解决或探究的问题。这可能涉及业务决策、科学研究问题或其他任何需要数据支持的情境。数据分析中的重要一环，就是明确数据分析的目标，即解决什么问题？达到什么目的？&lt;/p&gt;</description></item><item><title>推论统计</title><link>https://yangzh.cn/posts/posts/%E6%8E%A8%E8%AE%BA%E7%BB%9F%E8%AE%A1.html/</link><pubDate>Sun, 26 Nov 2023 13:34:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8E%A8%E8%AE%BA%E7%BB%9F%E8%AE%A1.html/</guid><description>&lt;p&gt;对样本资料进行描述统计后，我们还要根据样本的研究结果来推测总体的情况。以样本的数值来推算总体，结论可能正确，也可能错误，而运用概率论原理，我们可以求出推论统计犯错的可能性大小。只要我们是采用随机抽样方法，就可以根据抽样分布，以样本的数值来推测总体的情况。&lt;/p&gt;</description></item><item><title>情绪渗透模型</title><link>https://yangzh.cn/posts/posts/%E6%83%85%E7%BB%AA%E6%B8%97%E9%80%8F%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Tue, 21 Nov 2023 09:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%83%85%E7%BB%AA%E6%B8%97%E9%80%8F%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;h2 id="理论内容"&gt;理论内容&lt;/h2&gt;
&lt;p&gt;情绪渗透模型（Affect Infusion Model, AIM）是一种心理学理论，旨在解释情感如何影响人们的认知过程和决策。该模型由Joseph P. Forgas于1990年代初期提出。AIM的核心观点是，情感状态可以影响个体处理信息和做出决策的方式。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311210920989.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;根据AIM，情绪状态（例如快乐或悲伤）可以灌输到认知过程中，影响个体对信息的解释和反应。这种情感的灌输可以通过几种不同的途径发生。最重要的两种是启发式处理和系统处理。在启发式处理中，人们倾向于依赖简单的规则或心理启发式来做出快速决策。而在系统处理中，个体将进行更深入、分析性的思考。&lt;/p&gt;</description></item><item><title>平衡理论</title><link>https://yangzh.cn/posts/posts/%E5%B9%B3%E8%A1%A1%E7%90%86%E8%AE%BA.html/</link><pubDate>Mon, 20 Nov 2023 21:57:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%B9%B3%E8%A1%A1%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;平衡理论（Balance Theory）是一种社会心理学理论，由弗里茨·海德（Fritz Heider）于1946年提出。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311202200815.png" alt="平衡理论"&gt;&lt;/p&gt;
&lt;h2 id="理论内容"&gt;理论内容&lt;/h2&gt;
&lt;p&gt;该理论关注的是个人如何在他们的关系和态度之间维持心理上的平衡和和谐。核心概念可以通过以下几个要点来理解：&lt;/p&gt;
&lt;p&gt;平衡理论通常用一个三元组（P-O-X模型）来表示，其中P代表“个体（Person）”，O代表“其他人（Other）”，而X代表一个“事物”或“概念”。这三者之间的关系可以是积极的或消极的。当三元组中的关系是和谐的，即P对O和X的态度是一致的（要么都是积极的，要么都是消极的），这被认为是一种平衡状态。相反，如果P对O和X的态度不一致（一个积极，一个消极），则产生不平衡状态。人们通常会感到不适，并被驱动去改变某些态度或关系，以恢复平衡。&lt;/p&gt;</description></item><item><title>调查问卷案例</title><link>https://yangzh.cn/posts/posts/%E8%B0%83%E6%9F%A5%E9%97%AE%E5%8D%B7%E6%A1%88%E4%BE%8B.html/</link><pubDate>Mon, 20 Nov 2023 08:45:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%B0%83%E6%9F%A5%E9%97%AE%E5%8D%B7%E6%A1%88%E4%BE%8B.html/</guid><description>&lt;h2 id="封面信"&gt;封面信&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311200846977.png" alt="封面信案例：联合早报价值观调查"&gt;&lt;/p&gt;
&lt;h2 id="题项"&gt;题项&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311200849193.png" alt="题项案例：联合早报价值观调查"&gt;&lt;/p&gt;</description></item><item><title>社会影响理论</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E5%BD%B1%E5%93%8D%E7%90%86%E8%AE%BA.html/</link><pubDate>Sun, 19 Nov 2023 14:13:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E5%BD%B1%E5%93%8D%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;社会影响理论不是一个单一的、统一的理论，而是一个涵盖了多个理论和概念的广泛领域。在社会心理学中，&amp;quot;社会影响&amp;quot;是一个总称，它指的是个体的行为、态度、或信念如何受到其他人或群体的影响。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311191418767.png" alt="美国社会心理学家阿希(Asch)认为社会影响包括三个方面：从众(conformity)、顺从(compliance)、服从(obedience)"&gt;&lt;/p&gt;
&lt;h2 id="理论内容"&gt;理论内容&lt;/h2&gt;
&lt;p&gt;社会影响理论是社会心理学中的一个核心概念，它探讨了个体如何被他人或社会整体的行为、态度、信念所影响。这个理论的核心在于理解人们是如何在社会互动中形成或改变自己的行为和观念的。&lt;/p&gt;</description></item><item><title>认知失调理论</title><link>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E5%A4%B1%E8%B0%83%E7%90%86%E8%AE%BA.html/</link><pubDate>Sat, 18 Nov 2023 12:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E5%A4%B1%E8%B0%83%E7%90%86%E8%AE%BA.html/</guid><description>&lt;h2 id="理论内容"&gt;理论内容&lt;/h2&gt;
&lt;p&gt;认知失调理论（Cognitive Dissonance Theory）由心理学家莱昂·费斯汀格（Leon Festinger）于1957年提出。该理论核心在于，当个体持有相互矛盾的认知（例如信念、态度或行为）时，会产生一种不舒适的心理状态，即“认知失调”。为了减少这种不适感，人们会试图调整他们的认知，以恢复内心的和谐和一致性。&lt;/p&gt;</description></item><item><title>ES6简介</title><link>https://yangzh.cn/posts/posts/es6.html/</link><pubDate>Sat, 18 Nov 2023 09:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/es6.html/</guid><description>&lt;h2 id="开发环境搭建"&gt;开发环境搭建&lt;/h2&gt;
&lt;p&gt;使用babel工具，将一些浏览器不兼容的语法，转化为兼容语法。例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JavaScript" data-lang="JavaScript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Babel Input: ES2015 arrow function
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Babel Output: ES5 equivalent
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;因此，需要安装babel工具：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install --save-dev @babel/core @bable/cli @babel/preset-env
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;将ES 6 的语法，转换为ES 5。&lt;/p&gt;
&lt;p&gt;在项目根目录下创建babel.config.json&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JSON" data-lang="JSON"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;presets&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;@babel/env&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这样，就可以将ES 6+ 句法通过babel命令行，转化为ES 5 语法：&lt;/p&gt;</description></item><item><title>创建Django项目</title><link>https://yangzh.cn/posts/posts/01-%E5%88%9B%E5%BB%BAdjango%E9%A1%B9%E7%9B%AE.html/</link><pubDate>Sat, 18 Nov 2023 09:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/01-%E5%88%9B%E5%BB%BAdjango%E9%A1%B9%E7%9B%AE.html/</guid><description>&lt;p&gt;Django是一个强大的Python Web框架，它鼓励快速开发和简洁实用的设计。本文将指导您从零开始创建一个Django项目。&lt;/p&gt;
&lt;h2 id="环境准备"&gt;环境准备&lt;/h2&gt;
&lt;p&gt;在开始之前，确保您已经安装了Python（推荐3.8或更高版本）。您可以通过以下命令检查Python版本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="创建虚拟环境"&gt;创建虚拟环境&lt;/h3&gt;
&lt;p&gt;为了避免依赖冲突，建议为每个Django项目创建独立的虚拟环境：&lt;/p&gt;</description></item><item><title>社会判断理论</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E5%88%A4%E6%96%AD%E7%90%86%E8%AE%BA.html/</link><pubDate>Fri, 17 Nov 2023 13:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E5%88%A4%E6%96%AD%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;社会判断理论（Social Judgment Theory），由心理学家穆扎弗·谢里夫（Muzafer Sherif）和卡洛琳·谢里夫（Carolyn Sherif）于1960年代初提出，主要研究个体如何对待和处理与自己观点相近或相远的信息，并基于此过程进行态度改变。这一理论的核心在于个体对信息的接受区间与拒绝区间的划分，以及这种划分对态度改变的影响。&lt;/p&gt;</description></item><item><title>社会认知理论</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E8%AE%A4%E7%9F%A5%E7%90%86%E8%AE%BA.html/</link><pubDate>Thu, 16 Nov 2023 21:58:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E8%AE%A4%E7%9F%A5%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;社会认知理论（Social Cognition Theory），主要由心理学家阿尔伯特·班杜拉（Albert Bandura）在20世纪70年代发展而来，是一种广泛用于心理学和教育学领域的理论。该理论的核心在于解释和理解个人是如何通过观察他人的行为、态度、和后果来学习的。&lt;/p&gt;</description></item><item><title>文档对象模型DOM</title><link>https://yangzh.cn/posts/posts/js-dom.html/</link><pubDate>Tue, 14 Nov 2023 22:47:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-dom.html/</guid><description>&lt;p&gt;文档对象模型 DOM（Document Object Module）是由 W3C 定义的提供与任何 HTML 或 XML 文档进行交互的 API（编程接口），可以说是 HTML 之后的又一伟大创新。它使得用户可以通过 javaScript 访问 HTML 文档中的任意元素和内容，DOM 提供的接口可以操作 HTML 文件中的节点。当浏览器加载一个网页后，这个网页就可以看作是文档树，由多个节点构成。所谓 DOM，就是将 HTML 文档中各个元素按照从属关系建立起的模型。总的来说，我们可以利用 DOM 完成以下应用：&lt;/p&gt;</description></item><item><title>JavaScript函数基础</title><link>https://yangzh.cn/posts/posts/js-function-basic.html/</link><pubDate>Tue, 14 Nov 2023 21:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-function-basic.html/</guid><description>&lt;p&gt;函数是JavaScript编程的重要基础知识，掌握它们将使你能够编写更复杂和有用的程序。&lt;/p&gt;
&lt;h2 id="函数的定义和调用"&gt;函数的定义和调用&lt;/h2&gt;
&lt;p&gt;函数是JavaScript中的重要组成部分，它们让我们能够将一段代码封装在一个可重复使用的单元中。让我们从定义一个简单的函数开始：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`Hello, &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;!`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 调用函数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Alice&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 输出：Hello, Alice!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Bob&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 输出：Hello, Bob!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;在这个例子中，我们定义了一个名为&lt;code&gt;greet&lt;/code&gt;的函数，它接受一个参数&lt;code&gt;name&lt;/code&gt;，然后在函数内部使用&lt;code&gt;console.log&lt;/code&gt;来打印一条问候消息。我们可以多次调用这个函数，每次传递不同的&lt;code&gt;name&lt;/code&gt;参数，从而实现个性化的问候。&lt;/p&gt;</description></item><item><title>JavaScript流程控制</title><link>https://yangzh.cn/posts/posts/js-process-control.html/</link><pubDate>Tue, 14 Nov 2023 20:45:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-process-control.html/</guid><description>&lt;p&gt;和其他语言一样，JavaScript 也是由上到下逐行执行代码，还可以通过分支、循环改变执行流程。&lt;/p&gt;
&lt;h3 id="语句块"&gt;语句块&lt;/h3&gt;
&lt;p&gt;语句块用来组织多条语句。用一对花括号界定语句块。语法如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JavaScript" data-lang="JavaScript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;statement_1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;statement_2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;statement_n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;注意语句块不是以分号结尾。语句块常在流程控制语句中使用。&lt;/p&gt;
&lt;h3 id="ifelse"&gt;if...else&lt;/h3&gt;
&lt;p&gt;根据设定条件，选择性地执行语句，当指定条件为 &lt;code&gt;true&lt;/code&gt; 时会执行一条语句，如果该条件为 &lt;code&gt;false&lt;/code&gt;，则执行另一条语句。&lt;/p&gt;</description></item><item><title>logistic回归分析</title><link>https://yangzh.cn/posts/posts/logistic-regression.html/</link><pubDate>Mon, 13 Nov 2023 13:50:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/logistic-regression.html/</guid><description>&lt;p&gt;&amp;quot;Logistic Regression&amp;quot;（回归分析）是一种用于建模二元结果概率的统计方法。这是一种适用于预测事件发生或不发生概率的回归分析类型。Logistic回归通常用于各个领域，包括统计学、机器学习和流行病学。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311131421085.png" alt="logistic回归模型"&gt;&lt;/p&gt;
&lt;p&gt;以下是关于logistic回归的一些关键点：&lt;/p&gt;</description></item><item><title>思考实验</title><link>https://yangzh.cn/posts/posts/%E6%80%9D%E6%83%B3%E5%AE%9E%E9%AA%8C.html/</link><pubDate>Sun, 12 Nov 2023 17:41:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%80%9D%E6%83%B3%E5%AE%9E%E9%AA%8C.html/</guid><description>&lt;p&gt;思考实验是指使用想像力去进行的实验，所做的都是在现实中无法做到（或现实未做到）的实验。思考实验需求的是想像力，而不是感官。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;例如在爱因斯坦和英费尔德合著的科普读物《物理学的进化》中，就有一个实验要求读者想像一个平滑，无摩擦力的地面及球体进行实验，但这在现实（或暂时）是做不到的。&lt;/p&gt;</description></item><item><title>不平衡系数</title><link>https://yangzh.cn/posts/posts/%E4%B8%8D%E5%B9%B3%E8%A1%A1%E7%B3%BB%E6%95%B0.html/</link><pubDate>Sun, 12 Nov 2023 16:57:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%B8%8D%E5%B9%B3%E8%A1%A1%E7%B3%BB%E6%95%B0.html/</guid><description>&lt;p&gt;强度是指通过显现内容的符号或符号组合形成的对某种观点产生的评价倾向程度，也即涉及赞同或抨击既定人、组织或活动的语言的强度。在更广泛的层面上，强度涉及所给定的内容符号或单个内容的程度。然而，强度也可以从综合的视角上来理解。比如在考察一本出版物某种整体风格的强度时，包括频率、版面安排、头条大小及其他可能激起读者心理反应的因素，都可以是强度的测量。&lt;/p&gt;</description></item><item><title>克劳斯·克里彭多夫：内容分析方法论的奠基者</title><link>https://yangzh.cn/posts/posts/%E5%85%8B%E5%8A%B3%E6%96%AF%E5%85%8B%E9%87%8C%E5%BD%AD%E5%A4%9A%E5%A4%AB.html/</link><pubDate>Sun, 12 Nov 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%85%8B%E5%8A%B3%E6%96%AF%E5%85%8B%E9%87%8C%E5%BD%AD%E5%A4%9A%E5%A4%AB.html/</guid><description>&lt;p&gt;Klaus Krippendorff（1932–2022）是一位杰出的传播学者、控制论专家和社会科学方法论先驱，他通过发展内容分析方法、提出Krippendorff’s alpha可靠性指标以及推动以人为中心的设计理论，深刻影响了传播学、控制论和设计领域。他的学术生涯正值战后跨学科研究兴起的时代，20世纪中期，系统思维和社会现实建构的理念逐渐取代传统的学科界限，为他的创新提供了肥沃的土壤。&lt;/p&gt;</description></item><item><title>量化研究学位论文的标准结构与写作要点</title><link>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%BD%8D%E8%AE%BA%E6%96%87%E7%BB%93%E6%9E%84.html/</link><pubDate>Sun, 12 Nov 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%BD%8D%E8%AE%BA%E6%96%87%E7%BB%93%E6%9E%84.html/</guid><description>&lt;p&gt;学位论文是学术生涯的重要里程碑，一个清晰的结构不仅能帮助读者理解研究工作，也能引导作者有条理地开展研究。本文详细介绍量化研究学位论文的标准结构和各章节要点。&lt;/p&gt;
&lt;h2 id="论文结构概览"&gt;论文结构概览&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;章节&lt;/th&gt;
 &lt;th&gt;英文标题与要点&lt;/th&gt;
 &lt;th&gt;中文标题与要点&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;第一章&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;- Define the Problem&lt;br&gt;- Establish Purpose&lt;br&gt;- Craft Research Questions&lt;br&gt;- Highlight Significance&lt;br&gt;- Define Terms&lt;br&gt;- Outline Thesis Structure&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;绪论&lt;/strong&gt;&lt;br&gt;- 界定研究问题&lt;br&gt;- 确立研究目的&lt;br&gt;- 设计研究问题&lt;br&gt;- 阐明研究意义&lt;br&gt;- 界定关键术语&lt;br&gt;- 说明论文结构&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第二章&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Literature Review&lt;/strong&gt;&lt;br&gt;- Review Current Literature&lt;br&gt;- Address Challenges:&lt;br&gt; • Theoretical Challenges&lt;br&gt; • Methodological Challenges&lt;br&gt; • Practical Challenges&lt;br&gt; • Research Limitations&lt;br&gt;- Develop Theoretical Framework&lt;br&gt;- Identify Research Gaps&lt;br&gt;- Connect Theory to Research Questions&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;文献综述&lt;/strong&gt;&lt;br&gt;- 回顾现有文献&lt;br&gt;- 分析现有挑战：&lt;br&gt; • 理论层面的挑战&lt;br&gt; • 方法层面的挑战&lt;br&gt; • 实践层面的挑战&lt;br&gt; • 研究局限性&lt;br&gt;- 建构理论框架&lt;br&gt;- 找出研究空白&lt;br&gt;- 理论与研究问题的关联&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第三章&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Research Methodology&lt;/strong&gt;&lt;br&gt;- Establish Research Framework&lt;br&gt;- Design Research Process&lt;br&gt;- Choose Data Collection Methods&lt;br&gt;- Define Variables &amp;amp; Measures&lt;br&gt;- Select Analysis Methods&lt;br&gt;- Address Validity &amp;amp; Reliability&lt;br&gt;- Consider Ethical Issues&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;研究方法&lt;/strong&gt;&lt;br&gt;- 建立研究框架&lt;br&gt;- 设计研究流程&lt;br&gt;- 选择数据收集方法&lt;br&gt;- 定义变量与测量&lt;br&gt;- 确定分析方法&lt;br&gt;- 论证效度与信度&lt;br&gt;- 考虑伦理问题&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第四章&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;br&gt;- Present Descriptive Statistics&lt;br&gt;- Report Statistical Analysis&lt;br&gt;- Test Hypotheses&lt;br&gt;- Summarize Key Findings&lt;br&gt;- Present Data Visualization&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;研究结果&lt;/strong&gt;&lt;br&gt;- 呈现描述性统计&lt;br&gt;- 报告统计分析&lt;br&gt;- 检验研究假设&lt;br&gt;- 总结主要发现&lt;br&gt;- 展示数据可视化&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第五章&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Discussion&lt;/strong&gt;&lt;br&gt;- Interpret Results&lt;br&gt;- Compare with Literature&lt;br&gt;- Discuss Implications:&lt;br&gt; • Theoretical Implications&lt;br&gt; • Practical Implications&lt;br&gt;- Address Limitations&lt;br&gt;- Suggest Future Research&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;讨论&lt;/strong&gt;&lt;br&gt;- 解释研究结果&lt;br&gt;- 与文献对比分析&lt;br&gt;- 讨论研究启示：&lt;br&gt; • 理论启示&lt;br&gt; • 实践启示&lt;br&gt;- 说明研究局限&lt;br&gt;- 提出未来建议&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第六章&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;- Summarize Key Findings&lt;br&gt;- Highlight Contributions&lt;br&gt;- Reflect on Research Process&lt;br&gt;- Conclude with Impact&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;结论&lt;/strong&gt;&lt;br&gt;- 总结主要发现&lt;br&gt;- 强调研究贡献&lt;br&gt;- 反思研究过程&lt;br&gt;- 总结研究影响&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;参考文献&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;References &amp;amp; Appendices&lt;/strong&gt;&lt;br&gt;- List References&lt;br&gt;- Include Research Materials&lt;br&gt;- Provide Supplementary Data&lt;br&gt;- Document Research Process&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;参考文献与附录&lt;/strong&gt;&lt;br&gt;- 列出参考文献&lt;br&gt;- 包含研究材料&lt;br&gt;- 提供补充数据&lt;br&gt;- 记录研究过程&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="写作要点"&gt;写作要点&lt;/h2&gt;
&lt;h3 id="整体要求"&gt;整体要求&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;逻辑性&lt;/strong&gt;：各章节之间需要有清晰的逻辑联系，形成完整的论证链条。每一章都应该自然地引出下一章，使整篇论文形成有机整体。&lt;/p&gt;</description></item><item><title>滴答清单使用经验汇总</title><link>https://yangzh.cn/posts/posts/%E6%BB%B4%E7%AD%94%E6%B8%85%E5%8D%95.html/</link><pubDate>Wed, 08 Nov 2023 14:08:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%BB%B4%E7%AD%94%E6%B8%85%E5%8D%95.html/</guid><description>&lt;h2 id="快捷键"&gt;快捷键&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/20250226093637.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;通过自定义快捷键，可以快速完成各种操作，尤其是当想到点子、灵感时，应及时记录下来，以便后续处理。&lt;/p&gt;
&lt;h2 id="操作流程"&gt;操作流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;将各种想法、通知等等信息全部输入到&lt;code&gt;收集箱&lt;/code&gt;中。务必设定时间，最好有开始和结束时间，可在设置中修改为默认值。&lt;/li&gt;
&lt;li&gt;将&lt;code&gt;收集箱&lt;/code&gt;中的所有任务将分配到不同任务清单中。&lt;/li&gt;
&lt;li&gt;将&lt;code&gt;今日&lt;/code&gt;中的所有任务重新分配时间和优先级别。&lt;/li&gt;
&lt;li&gt;可结合专注，逐条完成&lt;code&gt;今日&lt;/code&gt;任务。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="faq"&gt;FAQ&lt;/h2&gt;
&lt;h3 id="如何创建笔记"&gt;如何创建笔记&lt;/h3&gt;
&lt;p&gt;滴答清单中也可以创建笔记，比如存储密码或者其他内容。点击“添加清单”后，会弹出一个窗口，在“清单类型”中选择“笔记清单”。输入清单的名称（比如“我的笔记”），然后确认创建。一个新的笔记清单就建好了。&lt;/p&gt;</description></item><item><title>计划行为理论</title><link>https://yangzh.cn/posts/posts/%E8%AE%A1%E5%88%92%E8%A1%8C%E4%B8%BA%E7%90%86%E8%AE%BA.html/</link><pubDate>Sun, 05 Nov 2023 11:06:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%A1%E5%88%92%E8%A1%8C%E4%B8%BA%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;计划行为理论（Theory of Planned Behavior, TPB）是一种心理学理论，旨在解释人们为什么会采取特定的行为或行为意图。这个理论由社会心理学家艾伦·艾森（Ajzen）在20世纪80年代初提出，是其前一理论，即&amp;quot;有意愿理论&amp;quot;的延伸和改进版本。&lt;/p&gt;</description></item><item><title>心流</title><link>https://yangzh.cn/posts/posts/%E5%BF%83%E6%B5%81.html/</link><pubDate>Sat, 04 Nov 2023 19:22:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%BF%83%E6%B5%81.html/</guid><description>&lt;p&gt;心流（英语：Flow），也有别名以化境（Zone）表示，亦有人翻译为神驰或沉浸状态，是由匈牙利裔美籍心理学家米哈里·契克森首度提出，定义是&lt;strong&gt;一种将个人精神力完全投注在某种活动上的感觉&lt;/strong&gt;；心流产生时同时会有高度的兴奋感及充实感等正向情绪。&lt;/p&gt;
&lt;h2 id="心流的特征"&gt;心流的特征&lt;/h2&gt;
&lt;p&gt;当人们处于心流状态，可能会出现四个特征：&lt;/p&gt;</description></item><item><title>知觉行为控制</title><link>https://yangzh.cn/posts/posts/%E7%9F%A5%E8%A7%89%E8%A1%8C%E4%B8%BA%E6%8E%A7%E5%88%B6.html/</link><pubDate>Sat, 04 Nov 2023 17:10:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%9F%A5%E8%A7%89%E8%A1%8C%E4%B8%BA%E6%8E%A7%E5%88%B6.html/</guid><description>&lt;p&gt;&amp;quot;Perceived behavioral control&amp;quot;（知觉行为控制）是社会心理学中的一个概念，源自Icek Ajzen提出的计划行为理论（Theory of Planned Behavior，TPB）。它指的是个体对自己在特定条件下执行某种行为或采取特定行动的能力的信念或感知。知觉行为控制是影响个体意愿参与某种行为和最终是否真正执行该行为的关键因素之一。&lt;/p&gt;</description></item><item><title>CSS 滤镜效果详解</title><link>https://yangzh.cn/posts/posts/css-filter.html/</link><pubDate>Tue, 31 Oct 2023 21:22:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-filter.html/</guid><description>&lt;p&gt;CSS filter 属性将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像、背景和边框的渲染。&lt;/p&gt;
&lt;h2 id="filter-基本概念和作用"&gt;filter 基本概念和作用&lt;/h2&gt;
&lt;p&gt;CSS Filter（滤镜）是 CSS3 中新增的一个模块，允许在浏览器中直接对元素应用各种滤镜效果，而无需使用图像编辑软件或 JavaScript 库。通过 CSS Filter，您可以对元素的颜色、亮度、对比度、饱和度、模糊、锐化等进行调整，创建出各种独特的视觉效果。&lt;/p&gt;</description></item><item><title>CSS 图片相关属性</title><link>https://yangzh.cn/posts/posts/css-image.html/</link><pubDate>Mon, 30 Oct 2023 14:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-image.html/</guid><description>&lt;p&gt;此模块包含CSS级别3中与&lt;code&gt;&amp;lt;image&amp;gt;&lt;/code&gt;类型和一些替换元素（如video）相关的功能。&lt;/p&gt;
&lt;h2 id="object-fit"&gt;Object-fit&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;object-fit&lt;/code&gt; 属性指定元素的内容应该如何去适应指定容器的高度与宽度。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;contain&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;cover&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;none&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;scale-down&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;/* Global values */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;inherit&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;initial&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;revert&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;object-fit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;unset&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310301418278.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310301418068.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310301419278.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="object-position"&gt;object-position&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;object-position&lt;/code&gt; 属性与 &lt;code&gt;object-fit&lt;/code&gt; 一起使用，可规定应如何在其“自己的内容框”内使用 x/y 坐标定位 &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; 或 &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>CSS在线学习资源及工具</title><link>https://yangzh.cn/posts/posts/css-online-resource.html/</link><pubDate>Mon, 30 Oct 2023 08:31:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-online-resource.html/</guid><description>&lt;h2 id="css在线学习资源"&gt;CSS在线学习资源&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;CSS 中文参考手册。&lt;a href="http://css.doyoe.com/"&gt;http://css.doyoe.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS2.1 官方文档。&lt;a href="https://www.w3.org/TR/2011/REC-CSS2-20110607/"&gt;https://www.w3.org/TR/2011/REC-CSS2-20110607/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS Color Module Level 3。&lt;a href="https://www.w3.org/TR/css3-color/"&gt;https://www.w3.org/TR/css3-color/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS 选择符。&lt;a href="https://css4-selectors.com/selectors/"&gt;https://css4-selectors.com/selectors/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;学习 CSS 布局。&lt;a href="http://zh.learnlayout.com/"&gt;http://zh.learnlayout.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;W3Cplus。 &lt;a href="http://www.w3cplus.com/"&gt;http://www.w3cplus.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS 语法验证工具。 &lt;a href="http://jigsaw.w3.org/css-validator/"&gt;http://jigsaw.w3.org/css-validator/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS3 动画。 &lt;a href="http://daneden.github.io/animate.css/"&gt;http://daneden.github.io/animate.css/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS 知识测试 &lt;a href="https://www.nowcoder.com/intelligentTest"&gt;https://www.nowcoder.com/intelligentTest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MDN CSS 教程 &lt;a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS"&gt;https://developer.mozilla.org/zh-CN/docs/Web/CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS-Tricks &lt;a href="https://css-tricks.com/"&gt;https://css-tricks.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="css在线工具"&gt;CSS在线工具&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;CSS 渐变生成器 &lt;a href="http://www.cssmatic.com/gradient-generator"&gt;http://www.cssmatic.com/gradient-generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Flexbox 布局生成器 &lt;a href="https://flexbox.help/"&gt;https://flexbox.help/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Grid 布局生成器 &lt;a href="https://cssgrid-generator.netlify.app/"&gt;https://cssgrid-generator.netlify.app/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS 动画生成器 &lt;a href="https://animista.net/"&gt;https://animista.net/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Box Shadow 生成器 &lt;a href="https://www.cssmatic.com/box-shadow"&gt;https://www.cssmatic.com/box-shadow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Border Radius 生成器 &lt;a href="https://9elements.github.io/fancy-border-radius/"&gt;https://9elements.github.io/fancy-border-radius/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS 压缩工具 &lt;a href="https://cssminifier.com/"&gt;https://cssminifier.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="css-框架和库"&gt;CSS 框架和库&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bootstrap&lt;/strong&gt; &lt;a href="https://getbootstrap.com/"&gt;https://getbootstrap.com/&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最流行的 CSS 框架&lt;/li&gt;
&lt;li&gt;响应式布局&lt;/li&gt;
&lt;li&gt;丰富的组件库&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tailwind CSS&lt;/strong&gt; &lt;a href="https://tailwindcss.com/"&gt;https://tailwindcss.com/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>WebHook：数字世界的神经元</title><link>https://yangzh.cn/posts/posts/webhook-introduction.html/</link><pubDate>Mon, 30 Oct 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/webhook-introduction.html/</guid><description>&lt;h2 id="引言无声的对话者"&gt;引言：无声的对话者&lt;/h2&gt;
&lt;p&gt;在数字世界的宏大交响乐中，WebHook如同乐团中默默无言却不可或缺的传谱员，它不发出华丽的乐音，却确保每个乐手在恰当的时刻奏响应有的音符。这种优雅的通信机制，正以其简洁而强大的方式，重塑着现代软件系统的交互模式。&lt;/p&gt;
&lt;p&gt;想象一下，如果应用程序之间的通信是一场对话，传统的API调用就像是不断发问：&amp;quot;有新消息吗？有新订单吗？状态更新了吗？&amp;quot;——这是一种主动但略显唐突的交流方式。而WebHook则是一种绅士的约定：&amp;quot;当有重要事情发生时，我会通知你。&amp;quot;这种基于推送的通信范式，为系统间的协作带来了前所未有的优雅与效率。&lt;/p&gt;</description></item><item><title>Django HttpRequest 请求对象详解</title><link>https://yangzh.cn/posts/posts/04-03-httprequest.html/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-03-httprequest.html/</guid><description>&lt;p&gt;Django 框架在处理 Web 请求时，会将客户端发送的 HTTP 请求信息封装成一个 &lt;code&gt;HttpRequest&lt;/code&gt; 对象。这个对象是视图函数接收到的第一个参数，通常命名为 &lt;code&gt;request&lt;/code&gt;。理解 &lt;code&gt;HttpRequest&lt;/code&gt; 对象的属性和方法对于编写高效、健壮的 Django 应用至关重要。它提供了访问请求元数据、GET/POST 参数、Cookies、Session、上传文件等所有与当前请求相关信息的接口。本文将详细介绍 &lt;code&gt;HttpRequest&lt;/code&gt; 对象的常用属性和方法，并通过具体案例进行说明。&lt;/p&gt;</description></item><item><title>StoryMap.js——基于地图的交互叙事工具</title><link>https://yangzh.cn/posts/posts/storymap.js.html/</link><pubDate>Thu, 26 Oct 2023 13:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/storymap.js.html/</guid><description>&lt;p&gt;&lt;a href="https://storymap.knightlab.com/"&gt;StoryMap.js&lt;/a&gt;是美国西北大学骑士实验室开发的开源交互叙事创作工具，主要功能为基于地图或者图片进行多模态内容的叙事。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310261938404.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="主要功能"&gt;主要功能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;地图标记： 可以在地图上添加点、线等标记，用于表示不同的地理位置。&lt;/li&gt;
&lt;li&gt;文本和多媒体内容： 您可以添加文本、图像、视频和其他多媒体内容，以丰富地图故事。&lt;/li&gt;
&lt;li&gt;交互性： 用户可以与地图上的标记和内容进行交互，以深入了解故事中的地理位置。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://storymap.knightlab.com/"&gt;StoryMap.js&lt;/a&gt;有两种用法：一种是在线使用在线创作工具，一种是有创作人员在本地创作。在后一种方式中，创作人员需要将对应的css和js文件引入到作品中。&lt;/p&gt;
&lt;p&gt;设置如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- The StoryMap container can go anywhere on the page. Be sure to
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; specify a width and height. The width can be absolute (in pixels) or
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; relative (in percentage), but the height must be an absolute value.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; Of course, you can specify width and height with CSS instead --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mapdiv&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;width: 100%; height: 600px;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- Your script tags should be placed before the closing body tag. --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.knightlab.com/libs/storymapjs/latest/css/storymap.css&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.knightlab.com/libs/storymapjs/latest/js/storymap-min.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// storymap_data can be an URL or a Javascript object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;storymap_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/static/demo/demo.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// certain settings must be passed within a separate options object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;storymap_options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;storymap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;KLStoryMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;StoryMap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;mapdiv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;storymap_data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;storymap_options&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onresize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;storymap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;updateDisplay&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// this isn&amp;#39;t automatic
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="数据文件"&gt;数据文件&lt;/h2&gt;
&lt;p&gt;事件及地图经纬度信息，都通过&lt;code&gt;.json&lt;/code&gt;格式的文件设置。该文件内容可以参考官网提供的案例。&lt;/p&gt;</description></item><item><title>零基础使用 WakaTime</title><link>https://yangzh.cn/posts/posts/wakatime.html/</link><pubDate>Sun, 15 Oct 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/wakatime.html/</guid><description>&lt;p&gt;对于刚开始接触编程的学生来说，了解自己真实的学习时间投入至关重要。WakaTime 就像是一个隐形的学习助手，它能自动记录你在代码编辑器中的有效学习时间，生成直观的数据报告。&lt;/p&gt;
&lt;h2 id="第一步注册-wakatime-账户"&gt;第一步：注册 WakaTime 账户&lt;/h2&gt;
&lt;p&gt;打开浏览器访问 &lt;a href="https://wakatime.com"&gt;WakaTime 官网&lt;/a&gt;，点击右上角的 &amp;quot;Sign Up&amp;quot; 按钮。建议直接使用学校邮箱注册，这样未来可以享受教育优惠。注册时需要填写基本信息，包括用户名（建议用姓名拼音）、邮箱和密码。注册完成后，你会收到验证邮件，点击邮件中的链接激活账户。&lt;/p&gt;</description></item><item><title>推敲可能性模型</title><link>https://yangzh.cn/posts/posts/%E6%8E%A8%E6%95%B2%E5%8F%AF%E8%83%BD%E6%80%A7%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Fri, 13 Oct 2023 08:51:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8E%A8%E6%95%B2%E5%8F%AF%E8%83%BD%E6%80%A7%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;p&gt;&amp;quot;推敲可能性模型&amp;quot;是指 &amp;quot;Elaboration Likelihood Model&amp;quot;（ELM）的中文翻译。这是一个解释态度改变和说服中的过程的模型。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310130858609.png" alt="推敲可能性模型"&gt;&lt;/p&gt;
&lt;h2 id="理论内容"&gt;理论内容&lt;/h2&gt;
&lt;p&gt;Elaboration Likelihood Model (ELM) 是由 Richard Petty 和 John Cacioppo 在20世纪80年代提出的。该模型主张，当人们评估有说服性的信息（如广告或政治讲话）时，他们可能会选择两条不同的路线：&lt;/p&gt;</description></item><item><title>TailWind CSS 响应式设计</title><link>https://yangzh.cn/posts/posts/tailwind%E5%93%8D%E5%BA%94%E5%BC%8F%E8%AE%BE%E8%AE%A1.html/</link><pubDate>Thu, 12 Oct 2023 14:01:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/tailwind%E5%93%8D%E5%BA%94%E5%BC%8F%E8%AE%BE%E8%AE%A1.html/</guid><description>&lt;h2 id="断点"&gt;断点&lt;/h2&gt;
&lt;p&gt;TailWind CSS 内置了5个断点，用以适应不同的屏幕大小：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;断点前缀&lt;/th&gt;
 &lt;th&gt;最小宽度&lt;/th&gt;
 &lt;th&gt;CSS&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;sm&lt;/td&gt;
 &lt;td&gt;640px&lt;/td&gt;
 &lt;td&gt;'@media (min-width: 640px) { ... }'&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;md&lt;/td&gt;
 &lt;td&gt;768px&lt;/td&gt;
 &lt;td&gt;'@media (min-width: 768px) { ... }'&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;lg&lt;/td&gt;
 &lt;td&gt;1024px&lt;/td&gt;
 &lt;td&gt;'@media (min-width: 1024px) { ... }'&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;xl&lt;/td&gt;
 &lt;td&gt;1280px&lt;/td&gt;
 &lt;td&gt;'@media (min-width: 1280px) { ... }'&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2xl&lt;/td&gt;
 &lt;td&gt;1536px&lt;/td&gt;
 &lt;td&gt;'@media (min-width: 1536px) { ... }'&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Tailwind 中的每个工具类都可以在不同的断点处有条件地应用。要添加工具但仅在特定断点处生效，你需要做的就是在工具前加上断点名称，后跟 &lt;code&gt;:&lt;/code&gt; 字符：&lt;/p&gt;</description></item><item><title>TailWind CSS 核心用法</title><link>https://yangzh.cn/posts/posts/tailwind%E6%A0%B8%E5%BF%83%E7%94%A8%E6%B3%95.html/</link><pubDate>Wed, 11 Oct 2023 10:06:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/tailwind%E6%A0%B8%E5%BF%83%E7%94%A8%E6%B3%95.html/</guid><description>&lt;h2 id="快速引入tailwind-css"&gt;快速引入TailWind CSS&lt;/h2&gt;
&lt;p&gt;对于刚接触TailWind CSS的学习者而言，最快使用TailWind CSS的方式，是在HTML文档的&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;部分中，引入
CDN脚本。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.tailwindcss.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后就可以在HTML文档中使用TailWind提供的各种类了。&lt;/p&gt;
&lt;h2 id="tailwind-css-主要组成部分"&gt;Tailwind CSS 主要组成部分&lt;/h2&gt;
&lt;p&gt;Tailwind CSS 是一个实用程序优先的 CSS 框架，它包括三个主要的部分：Base、Components 和 Utilities。下面是这三个部分的区别和说明：&lt;/p&gt;</description></item><item><title>Tailwind CSS 简介：无需书写CSS的CSS框架</title><link>https://yangzh.cn/posts/posts/tailwind%E7%AE%80%E4%BB%8B.html/</link><pubDate>Wed, 11 Oct 2023 09:48:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/tailwind%E7%AE%80%E4%BB%8B.html/</guid><description>&lt;p&gt;&lt;a href="https://tailwindcss.com"&gt;Tailwind CSS&lt;/a&gt; 是一个开源的 CSS 框架，号称无需书写CSS的CSS框架，是深受用户喜爱的创建现代用户界面的强大和高效的方式​​, 由 &lt;a href="https://adamwathan.me/"&gt;Adam Wathan&lt;/a&gt; 创立​​。与 Bootstrap 等其他 CSS 框架不同，它不提供一系列为按钮或表格等元素预定义的类，而是创建了一系列&amp;quot;实用程序&amp;quot; CSS 类，可以通过混合和匹配来为每个元素设置样式​。&lt;/p&gt;</description></item><item><title>html</title><link>https://yangzh.cn/posts/posts/html.html/</link><pubDate>Tue, 10 Oct 2023 11:28:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html.html/</guid><description>&lt;p&gt;::: {.page-container}&lt;/p&gt;
&lt;p&gt;::: {.max-w-3xl}&lt;/p&gt;
&lt;p&gt;::: {.course-title}&lt;/p&gt;
&lt;p&gt;::: {.course-logo}
&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310300747210.png" alt=""&gt;
:::&lt;/p&gt;
&lt;h1 id="html"&gt;HTML&lt;/h1&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;HTML（Hypertext Markup Language）是一种标记语言，用于创建和表示网页的结构和内容。它与CSS（层叠样式表）和JavaScript一起使用，用于构建和呈现网页。HTML的主要目的是描述网页上的文本内容、多媒体元素、超链接和文档的结构。&lt;/p&gt;</description></item><item><title>Node.js 包：npm, cnpm, pnpm, yarn 与 npx 全方位解析</title><link>https://yangzh.cn/posts/posts/01-npm%E5%B7%A5%E5%85%B7.html/</link><pubDate>Wed, 13 Sep 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/01-npm%E5%B7%A5%E5%85%B7.html/</guid><description>&lt;p&gt;在现代 JavaScript 开发生态中，无论是前端项目还是 Node.js 后端应用，都离不开包（Package）的使用。这些可复用的代码模块极大地提高了开发效率。然而，管理这些包及其依赖关系并非易事，于是各种包管理工具应运而生。本文将深入探讨 Node.js 生态中最常见的几个工具：npm、cnpm、pnpm、yarn，以及一个特殊的命令执行工具 npx，分析它们的特点、优劣以及适用场景，帮助开发者更好地理解和选择。&lt;/p&gt;</description></item><item><title>黑色喜剧</title><link>https://yangzh.cn/posts/posts/%E9%BB%91%E8%89%B2%E5%96%9C%E5%89%A7.html/</link><pubDate>Sun, 03 Sep 2023 11:45:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%BB%91%E8%89%B2%E5%96%9C%E5%89%A7.html/</guid><description>&lt;p&gt;黑色喜剧（也称为黑色幽默Dark Humor或暗黑喜剧）是一种通过对待通常被认为是严重、黑暗或禁忌的主题（例如死亡、疾病、战争、灾难等）以诙谐或讽刺的方式来产生幽默的喜剧形式。这种喜剧形式旨在挑战社会的传统观念和期望，使观众在被冲击的同时也产生笑感。&lt;/p&gt;</description></item><item><title>认知负荷理论</title><link>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E8%B4%9F%E8%8D%B7%E7%90%86%E8%AE%BA.html/</link><pubDate>Fri, 25 Aug 2023 10:30:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E8%B4%9F%E8%8D%B7%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;**认知负荷理论（Cognitive Load Theory，CLT）**关注人类工作记忆的限制，尤其是在学习过程中。这一理论的核心观念是，为了有效地学习，学习任务的认知负荷必须考虑并管理。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;起源和发展&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;认知负荷理论的起源可以追溯到20世纪80年代，当时，约翰·斯旺勒（John Sweller）在澳大利亚进行了一系列实验，研究不同类型的教学材料如何影响学习者的理解和记忆。&lt;/li&gt;
&lt;li&gt;斯旺勒根据他的研究提出了CLT，并通过该理论描述了人类工作记忆中信息处理的三种主要类型的认知负荷：固有负荷、外在负荷和有效认知负荷。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;认知负荷的三种类型&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>二阶思维</title><link>https://yangzh.cn/posts/posts/%E4%BA%8C%E9%98%B6%E6%80%9D%E7%BB%B4.html/</link><pubDate>Fri, 25 Aug 2023 09:33:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%BA%8C%E9%98%B6%E6%80%9D%E7%BB%B4.html/</guid><description>&lt;p&gt;二阶思维（Second-order thinking）是指在做决策或评估情境时，不仅仅考虑直接的、初级的结果，而是进一步思考这些初级结果所可能引发的连锁反应和长期后果。它是一个更深入、更全面的思考方法。&lt;/p&gt;
&lt;p&gt;为了更好地理解二阶思维，我们可以将其与第一阶思维（First-order thinking）进行对比：&lt;/p&gt;</description></item><item><title>文化折扣</title><link>https://yangzh.cn/posts/posts/%E6%96%87%E5%8C%96%E6%8A%98%E6%89%A3.html/</link><pubDate>Fri, 25 Aug 2023 09:14:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%96%87%E5%8C%96%E6%8A%98%E6%89%A3.html/</guid><description>&lt;p&gt;在跨文化传播中，&amp;quot;文化折扣&amp;quot;这一概念指的是某种文化内容（如电影、电视节目、音乐、广告、文学等）在另一种文化环境中失去原有的意义、效果或吸引力，导致其传播效果和接受度降低的现象。简单来说，由于文化差异，一个国家或地区的文化产品在另一个国家或地区可能不会得到同样的欣赏和接受。&lt;/p&gt;</description></item><item><title>机器学习</title><link>https://yangzh.cn/posts/posts/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0.html/</link><pubDate>Fri, 25 Aug 2023 08:46:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0.html/</guid><description>&lt;p&gt;机器学习是人工智能(AI)的一个子领域，主要关注的是让机器在没有明确编程的情况下自动学习和进步。简单来说，机器学习是一种使用数据或以往的经验，来训练模型以便在未来进行预测或决策的方法。&lt;/p&gt;
&lt;p&gt;以下是机器学习的一些核心概念：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;训练与测试&lt;/strong&gt;: 通常，机器学习的过程是首先使用一个所谓的训练数据集来训练模型，然后使用一个测试数据集来评估模型的性能。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;监督学习&lt;/strong&gt;: 在监督学习中，算法根据带有标签的数据进行训练。例如，根据历史天气数据来预测明天的天气。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无监督学习&lt;/strong&gt;: 无监督学习的算法在没有标签的数据上进行训练，常用于聚类或降维任务。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;强化学习&lt;/strong&gt;: 强化学习是一个算法在环境中进行尝试，并根据所获得的奖励或惩罚来学习的过程。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特征工程&lt;/strong&gt;: 是指从原始数据中提取、选择和构造更为有用的信息，以提高模型的性能。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;过拟合与欠拟合&lt;/strong&gt;: 过拟合是指模型在训练数据上表现得太好，但在未见过的数据上表现不佳；欠拟合则是模型在训练数据上的表现就不佳。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评估指标&lt;/strong&gt;: 如准确率、查全率、查准率和F1得分等，用于评估模型的性能。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型选择&lt;/strong&gt;: 包括决策树、神经网络、支持向量机、随机森林等多种算法。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;近年来，随着数据的增加和计算能力的提高，机器学习已经在许多应用领域中取得了显著的成功，如语音识别、图像识别、自动驾驶汽车、推荐系统等。&lt;/p&gt;</description></item><item><title>深度学习</title><link>https://yangzh.cn/posts/posts/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0.html/</link><pubDate>Fri, 25 Aug 2023 08:43:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0.html/</guid><description>&lt;p&gt;深度学习是机器学习的一个子领域，它试图模仿人脑的工作方式，通过使用称为神经网络的算法模型对数据进行训练和解释。特别是，深度学习涉及到使用深层次的神经网络，这意味着网络中存在许多层次的节点或“神经元”。&lt;/p&gt;
&lt;p&gt;以下是深度学习的一些关键特点和内容：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;神经网络&lt;/strong&gt;: 这是深度学习的核心。神经网络由多个层组成，包括输入层、隐藏层和输出层。每一层都包含一定数量的节点或神经元。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;前向传播和反向传播&lt;/strong&gt;: 在训练过程中，数据首先在网络中前向传播，然后计算预测与实际值之间的误差。随后，误差通过反向传播算法反向传播到网络，调整权重以最小化误差。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;激活函数&lt;/strong&gt;: 每个神经元都有一个激活函数，例如ReLU、Sigmoid或Tanh，用于确定神经元的输出。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;卷积神经网络 (CNN)&lt;/strong&gt;: 是一种特别设计用于图像识别的深度学习模型。它们利用卷积层来处理数据，这对于特征提取非常有效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;循环神经网络 (RNN)&lt;/strong&gt;: 是另一种神经网络结构，特别适合于处理序列数据，如时间序列或自然语言。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;传输学习&lt;/strong&gt;: 是一种利用预先训练好的模型为另一个相关任务提供基础知识的技术。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动编码器、生成对抗网络 (GANs)&lt;/strong&gt;: 是其他深度学习的框架和结构。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;深度学习在图像识别、语音识别、自然语言处理和推荐系统等领域。然而，深度学习模型通常需要大量的数据和计算资源来训练，这是其主要的挑战之一。&lt;/p&gt;</description></item><item><title>知识图谱</title><link>https://yangzh.cn/posts/posts/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1.html/</link><pubDate>Thu, 24 Aug 2023 15:51:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1.html/</guid><description>&lt;p&gt;&lt;strong&gt;知识图谱&lt;/strong&gt;（Knowledge Graph）是一个将实体及其之间的关系可视化并结构化的网络，它可以用于描述现实世界中的对象、事件、情境和它们之间的复杂联系。知识图谱广泛应用于多种领域，包括搜索引擎、语义网、人工智能和推荐系统。&lt;/p&gt;
&lt;p&gt;这里有一些知识图谱的核心概念：&lt;/p&gt;</description></item><item><title>机器学习讲座</title><link>https://yangzh.cn/posts/posts/%E7%8E%8B%E6%88%90%E5%86%9B%E8%AE%B2%E5%BA%A7.html/</link><pubDate>Thu, 24 Aug 2023 15:01:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%8E%8B%E6%88%90%E5%86%9B%E8%AE%B2%E5%BA%A7.html/</guid><description>&lt;p&gt;2023 8 24 王成军&lt;/p&gt;
&lt;p&gt;推荐教材：&lt;/p&gt;
&lt;p&gt;教学数据：泰坦尼克号数据&lt;/p&gt;
&lt;p&gt;特征工程与深度神经网络&lt;/p&gt;
&lt;h2 id="数据清理"&gt;数据清理&lt;/h2&gt;
&lt;h2 id="描述统计"&gt;描述统计&lt;/h2&gt;
&lt;p&gt;表格、可视化&lt;/p&gt;
&lt;h2 id="机器学习"&gt;机器学习&lt;/h2&gt;
&lt;p&gt;机器学习要有监督式学习，通过测试集测试模型的效果，测试集的分数要高。防止过度拟合&lt;/p&gt;
&lt;h2 id="scikit-learn"&gt;scikit-learn&lt;/h2&gt;
&lt;p&gt;最常用工具包&lt;/p&gt;
&lt;p&gt;dataframe&lt;/p&gt;
&lt;p&gt;分类与回归 对应不同的算法&lt;/p&gt;
&lt;p&gt;5步进行机器学习&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;选择一个模型，&lt;/li&gt;
&lt;li&gt;对模型进行初始化&lt;/li&gt;
&lt;li&gt;把数据整理成X、y（X是列表嵌套）&lt;/li&gt;
&lt;li&gt;使用选择的模型拟合数据&lt;/li&gt;
&lt;li&gt;进行模型评价&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>数字人文网络资源</title><link>https://yangzh.cn/posts/posts/%E6%95%B0%E5%AD%97%E4%BA%BA%E6%96%87%E7%BD%91%E7%BB%9C%E8%B5%84%E6%BA%90.html/</link><pubDate>Wed, 23 Aug 2023 22:38:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%95%B0%E5%AD%97%E4%BA%BA%E6%96%87%E7%BD%91%E7%BB%9C%E8%B5%84%E6%BA%90.html/</guid><description>&lt;h2 id="1-研究机构"&gt;1 研究机构&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://rrchnm.org/"&gt;Roy Rosenzweig Center for History and New Media (rrchnm.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rsgyy.bnu.edu.cn/yjjg/szcbyszrwyjzx/index.html"&gt;数字出版与数字人文研究中心 - 北京师范大学人文和社会科学高等研究院 (bnu.edu.cn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dhlib.cn/"&gt;数字人文门户网站 – Digital Humanities Portal (dhlib.cn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pkudh.org/"&gt;北京大学数字人文研究中心 (pkudh.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://digitalhumanities.nju.edu.cn/"&gt;南京大学高研院数字人文创研中心 | 南京大学高研院数字人文创研中心 (nju.edu.cn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dh.whu.edu.cn/dh/web/index.html"&gt;武汉大学数字人文研究中心 (whu.edu.cn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dh.ruc.edu.cn/"&gt;中国人民大学数字人文研究中心 (ruc.edu.cn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oerc.ox.ac.uk/"&gt;Oxford e-Research Centre, Department of Engineering Science at Oxford&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dhcenternet.org/"&gt;centerNet | An international network of digital humanities centers (dhcenternet.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rrchnm.org/"&gt;Roy Rosenzweig Center for History and New Media (rrchnm.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://digitalhumanities.mit.edu/"&gt;Digital Humanities at MIT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://digitalhumanities.org/dhq/"&gt;DHQ: Digital Humanities Quarterly: 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://digitalhumanities.duke.edu/"&gt;Front Page | DIGITAL HUMANITIES (duke.edu)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dhlab.yale.edu/"&gt;Yale DHLab - Welcome&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://digitalhumanities.stanford.edu/projects"&gt;Digital Humanities Projects at Stanford | Digital Humanities at Stanford&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://digitalhumanities.barnard.edu/"&gt;巴纳德数字人文中心 (barnard.edu)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.kcl.ac.uk/ddh/postgraduate/postgraduate"&gt;Postgraduate courses | Department of Digital Humanities | King’s College London (kcl.ac.uk)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;从这些研究机构，我们可以了解学术界的关注点、科研项目以及教学内容。&lt;/p&gt;</description></item><item><title>融媒体作品案例</title><link>https://yangzh.cn/posts/posts/%E8%9E%8D%E5%AA%92%E4%BD%93%E4%BD%9C%E5%93%81%E6%A1%88%E4%BE%8B%E5%BA%93.html/</link><pubDate>Wed, 23 Aug 2023 22:25:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%9E%8D%E5%AA%92%E4%BD%93%E4%BD%9C%E5%93%81%E6%A1%88%E4%BE%8B%E5%BA%93.html/</guid><description>&lt;!--@include: _数字人文奖获奖中文作品.md --&gt;
&lt;!--@include: _中国新闻奖融媒体获奖作品.md --&gt;
&lt;!--@include: _交互页面案例.md --&gt;
&lt;!--@include: _海外优秀交互媒体作品.md --&gt;
&lt;!--@include: _新闻游戏案例.md --&gt;</description></item><item><title>Python中处理json数据的方法</title><link>https://yangzh.cn/posts/posts/python%E4%B8%AD%E5%A4%84%E7%90%86json%E6%95%B0%E6%8D%AE.html/</link><pubDate>Wed, 23 Aug 2023 22:05:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python%E4%B8%AD%E5%A4%84%E7%90%86json%E6%95%B0%E6%8D%AE.html/</guid><description>&lt;p&gt;Python操作json文件通过了两种方法：&lt;code&gt;load()&lt;/code&gt;：用于读取json文件；&lt;code&gt;dump()&lt;/code&gt;：用于写入json文件&lt;/p&gt;
&lt;h2 id="读取json文件内容返回字典格式"&gt;读取json文件内容,返回字典格式&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 读取json文件内容,返回字典格式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;./source_file/info.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;json_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;这是文件中的json数据：&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;这是读取到文件数据的数据类型：&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json_data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308232207035.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="将字典数据写入到json文件中"&gt;将字典数据写入到json文件中&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 将字典数据写入到json文件中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dict1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;张三&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;age&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;男&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;./source_file/info.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dump&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dict1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;ensure_ascii&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;　　
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 如果ensure_ascii &amp;#39; &amp;#39;为false，则返回值可以包含非ascii值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>AIGC</title><link>https://yangzh.cn/posts/posts/aigc.html/</link><pubDate>Wed, 23 Aug 2023 14:13:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/aigc.html/</guid><description>&lt;p&gt;风格化生成&lt;/p&gt;
&lt;p&gt;价值观偏差、价值观对齐&lt;/p&gt;
&lt;p&gt;消费过程就是生成过程&lt;/p&gt;
&lt;p&gt;从训练语料开始认证&lt;/p&gt;
&lt;p&gt;隐私&lt;/p&gt;
&lt;p&gt;人群偏见&lt;/p&gt;
&lt;p&gt;新型信息茧房&lt;/p&gt;
&lt;p&gt;意识形态风险&lt;/p&gt;
&lt;p&gt;认知对抗升级&lt;/p&gt;
&lt;p&gt;复旦大学认知工厂 http:///kw.fudan.edu.cn&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308240919535.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308240935919.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308241130606.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308241130729.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308241133755.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308241134005.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308241135134.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308241139065.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="提示工程"&gt;提示工程&lt;/h2&gt;
&lt;p&gt;中国科学院信息工程研究所 虎嵩林 李鲲&lt;/p&gt;
&lt;p&gt;生成式搜索&lt;/p&gt;
&lt;p&gt;内容生成：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;翻译&lt;/li&gt;
&lt;li&gt;摘要&lt;/li&gt;
&lt;li&gt;自动写作&lt;/li&gt;
&lt;li&gt;代码生成&lt;/li&gt;
&lt;li&gt;论文修改&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;使用精准的提示&lt;/p&gt;
&lt;p&gt;多案例提示&lt;/p&gt;
&lt;h2 id="提示工程应用"&gt;提示工程应用&lt;/h2&gt;
&lt;h3 id="通过回答形式进行信息获取"&gt;通过回答形式进行信息获取&lt;/h3&gt;
&lt;p&gt;让结果以表格形式呈现&lt;/p&gt;</description></item><item><title>css</title><link>https://yangzh.cn/posts/posts/css.html/</link><pubDate>Wed, 23 Aug 2023 11:28:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css.html/</guid><description>&lt;p&gt;::: {.page-container}&lt;/p&gt;
&lt;p&gt;::: {.max-w-3xl}&lt;/p&gt;
&lt;p&gt;::: {.course-title}&lt;/p&gt;
&lt;p&gt;::: {.course-logo}
&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310300758973.png" alt=""&gt;
:::&lt;/p&gt;
&lt;h1 id="css"&gt;CSS&lt;/h1&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;CSS（Cascading Style Sheets，层叠样式表），是一种用于描述HTML或XML文档的呈现方式的样式表语言。简单来说，CSS用于控制网页的布局、格式和外观。它允许您定义网页上的元素应该如何显示，例如它们的颜色、字体、间距和定位。&lt;/p&gt;</description></item><item><title>JSON 数据格式详解</title><link>https://yangzh.cn/posts/posts/json.html/</link><pubDate>Wed, 23 Aug 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/json.html/</guid><description>&lt;p&gt;JSON，全称为 JavaScript Object Notation，是一种轻量级的数据交换格式。它源自 JavaScript 的一个子集，但其设计简洁且独立于语言，使得 JSON 成为了跨平台、跨语言数据传输的理想选择。该格式由 Douglas Crockford 提出，旨在提供一种易于人阅读和编写，同时也易于机器解析和生成的数据表示方式。如今，它广泛应用于 Web API、配置文件以及各种需要结构化数据交换的场景。&lt;/p&gt;</description></item><item><title>如何升级Quarto</title><link>https://yangzh.cn/posts/posts/howtoupgrade.html/</link><pubDate>Mon, 14 Aug 2023 21:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/howtoupgrade.html/</guid><description>&lt;p&gt;目前版本的Quarto不支持自更新，只能手工更新，方法如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://quarto.org/docs/get-started/"&gt;到官网下载最新版&lt;/a&gt;，手工进行安装，注意将最新版覆盖到原有安装路径中。&lt;/li&gt;
&lt;li&gt;还可以使用&lt;a href="../windows/winget.qmd"&gt;Winget&lt;/a&gt;之类的包管理工具，手工进行更新。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://github.com/quarto-dev/quarto-cli/issues/2374"&gt;https://github.com/quarto-dev/quarto-cli/issues/2374&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>论文写作检查清单</title><link>https://yangzh.cn/posts/posts/%E8%AE%BA%E6%96%87%E5%86%99%E4%BD%9C%E6%A3%80%E6%9F%A5%E6%B8%85%E5%8D%95.html/</link><pubDate>Mon, 14 Aug 2023 20:18:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%BA%E6%96%87%E5%86%99%E4%BD%9C%E6%A3%80%E6%9F%A5%E6%B8%85%E5%8D%95.html/</guid><description>&lt;p&gt;在论文写作过程、初稿完成进行自我检查时，问问自己以下问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;研究问题或主题表达是否明确、清晰？&lt;/li&gt;
&lt;li&gt;研究问题是否重要、有趣？记住，问题本身比结论重要！&lt;/li&gt;
&lt;li&gt;文稿中是否清晰地表达了作者为什么要进行这项研究？&lt;/li&gt;
&lt;li&gt;作者对已有文献的总结和引用是否全面、准确？&lt;/li&gt;
&lt;li&gt;研究工作有多少原创性？原创性体现在新的数据、新的观点、新的方法或者对已有数据的重新分析。如果研究问题之前已有人发表过，你的论文对已有研究是否增加了足够新的信息？如果不是原创性研究，则要给出之前研究的参考文献。&lt;/li&gt;
&lt;li&gt;研究是否有效？这个问题可以分解如下：
&lt;ol&gt;
&lt;li&gt;解决论文主要问题的研究设计是否合适？&lt;/li&gt;
&lt;li&gt;关于研究方法的描述，是否准确、详实？&lt;/li&gt;
&lt;li&gt;如有抽样的话，样本是否有效？&lt;/li&gt;
&lt;li&gt;如有实验的话，控制实验是否合适？次序是否合理？&lt;/li&gt;
&lt;li&gt;数据分析是否准确？&lt;/li&gt;
&lt;li&gt;结论能否被数据支持？&lt;/li&gt;
&lt;li&gt;论文表述是否规范？图表是否符合要求，图表与文字之间是否平衡？重要的地方是否存在错别字？&lt;/li&gt;
&lt;li&gt;写作是否清晰？&lt;/li&gt;
&lt;li&gt;论文结构是否合理?&lt;/li&gt;
&lt;li&gt;是否存在学术伦理问题？即研究对象隐私的保护、告知等问题。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Python爬虫基本流程</title><link>https://yangzh.cn/posts/posts/python%E7%88%AC%E8%99%AB%E5%9F%BA%E6%9C%AC%E6%B5%81%E7%A8%8B.html/</link><pubDate>Mon, 14 Aug 2023 20:02:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python%E7%88%AC%E8%99%AB%E5%9F%BA%E6%9C%AC%E6%B5%81%E7%A8%8B.html/</guid><description>&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308142001610.png" alt="Python爬虫基本流程"&gt;{#fig-python-crawler}&lt;/p&gt;</description></item><item><title>Office 下载、安装及激活教程</title><link>https://yangzh.cn/posts/posts/office%E6%BF%80%E6%B4%BB.html/</link><pubDate>Mon, 07 Aug 2023 21:44:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/office%E6%BF%80%E6%B4%BB.html/</guid><description>&lt;p&gt;下载并运行&lt;a href="https://github.com/OdysseusYuan/LKY_OfficeTools"&gt;LKY Office Tools&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;目前包含的功能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一键快速下载、安装、激活最新版 Microsoft Office 全套流程。&lt;/li&gt;
&lt;li&gt;程序默认安装 Word、PPT、Excel 三件套，用户可自选安装其它九大组件。&lt;/li&gt;
&lt;li&gt;工具可自动识别不同的操作系统架构，自动下载适配版本的 Office。&lt;/li&gt;
&lt;li&gt;本工具激活 Office 的方式为正版激活模式，不会篡改任何系统文件。&lt;/li&gt;
&lt;li&gt;当系统中存在多个冗余 Office 版本时，本工具在用户同意的情况下，可实现自动升级。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202308080908263.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>如何编辑Windows开机自启动程序</title><link>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E8%BE%91%E8%87%AA%E5%90%AF%E5%8A%A8%E7%A8%8B%E5%BA%8F.html/</link><pubDate>Thu, 03 Aug 2023 23:37:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E8%BE%91%E8%87%AA%E5%90%AF%E5%8A%A8%E7%A8%8B%E5%BA%8F.html/</guid><description>&lt;h2 id="1-方法1"&gt;1 方法1&lt;/h2&gt;
&lt;p&gt;可以使用Windows自带的&lt;code&gt;开机启动设置&lt;/code&gt;或者360安全卫士中的&lt;code&gt;启动项管理&lt;/code&gt;功能。&lt;/p&gt;
&lt;h2 id="2-方法2"&gt;2 方法2&lt;/h2&gt;
&lt;p&gt;在&lt;code&gt;运行&lt;/code&gt;对话框中，键入&lt;code&gt;shell:startup&lt;/code&gt;打开&lt;code&gt;启动&lt;/code&gt;文件夹，将需要开机启动的程序快捷方式复制到该目录。&lt;/p&gt;</description></item><item><title>AHK</title><link>https://yangzh.cn/posts/posts/ahk.html/</link><pubDate>Thu, 03 Aug 2023 23:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/ahk.html/</guid><description>&lt;p&gt;AHK（AutoHotKey）是一款开源自动运行按键和程序的软件。可将键盘操作和鼠标点击的事件自动化，当日常工作中重复一些操作时，可使用 AHK 将其自动化。&lt;/p&gt;
&lt;h2 id="如何接受用户输入"&gt;如何接受用户输入&lt;/h2&gt;
&lt;p&gt;使用&lt;code&gt;InputBox&lt;/code&gt;，详细用法见：&lt;a href="https://wyagd001.github.io/zh-cn/docs/commands/InputBox.htm"&gt;InputBox | AutoHotkey (wyagd001.github.io)&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;案例如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ahk" data-lang="ahk"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nl"&gt;#!/::&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;InputBox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;UserInput&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;单词&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;请输入单词名称
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;if &lt;/span&gt;&lt;span class="nv"&gt;ErrorLevel&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;MsgBox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CANCEL&lt;/span&gt; &lt;span class="n"&gt;was&lt;/span&gt; &lt;span class="n"&gt;pressed&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;else&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;MsgBox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;You&lt;/span&gt; &lt;span class="n"&gt;entered&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;%UserInput%&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="如何传递参数给脚本"&gt;如何传递参数给脚本&lt;/h2&gt;
&lt;p&gt;使用&lt;code&gt;Run&lt;/code&gt;命令，后面加上参数，可以为调用的外部程序增加参数。&lt;/p&gt;</description></item><item><title>赫布定律</title><link>https://yangzh.cn/posts/posts/hebb%E5%AE%9A%E5%BE%8B.html/</link><pubDate>Wed, 02 Aug 2023 20:41:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/hebb%E5%AE%9A%E5%BE%8B.html/</guid><description>&lt;p&gt;赫布定律是一个重要的神经科学原理，提出了神经元之间连接强化的学习规则。它由加拿大心理学家唐纳德·赫布（Donald O. Hebb）在1949年提出，被认为是神经科学和学习理论的重要里程碑。&lt;/p&gt;
&lt;p&gt;赫布定律的表述是：&amp;quot;当一个神经元A重复性和持续地参与另一个神经元B的兴奋或抑制活动时，神经元A的功能和结构改变，以增强对神经元B的连接。&amp;quot; 简而言之，这个定律强调了神经元之间的活动模式与它们之间连接的强度之间的关系。&lt;/p&gt;</description></item><item><title>学习金字塔</title><link>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%B9%A0%E9%87%91%E5%AD%97%E5%A1%94.html/</link><pubDate>Wed, 02 Aug 2023 09:42:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%B9%A0%E9%87%91%E5%AD%97%E5%A1%94.html/</guid><description>&lt;p&gt;&amp;quot;学习金字塔&amp;quot;或&amp;quot;遗忘金字塔&amp;quot;是一种经常被引用的理论模型，用于描述人们在不同学习方法下的信息保留率。这个模型被广泛地用在教育和学习策略的领域。该模型的起源可以追溯到1960年代，被归功于美国国家培训实验室（National Training Laboratory）。&lt;/p&gt;</description></item><item><title>文本数据挖掘</title><link>https://yangzh.cn/posts/posts/%E6%96%87%E6%9C%AC%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98.html/</link><pubDate>Tue, 25 Jul 2023 15:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%96%87%E6%9C%AC%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98.html/</guid><description>&lt;p&gt;文本数据挖掘（也被称为文本挖掘或者文本分析）是一种从大量文本中发现高质量信息的过程。它涉及到多种技术和方法，包括信息提取、数据挖掘、机器学习、统计分析和自然语言处理等。&lt;/p&gt;
&lt;p&gt;以下是一些常见的文本数据挖掘过程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;数据收集&lt;/strong&gt;：这个阶段是从不同的源头收集文本数据。这些数据可能来源于网页，社交媒体，电子邮件，论坛帖子，产品评论等。&lt;/p&gt;</description></item><item><title>因果关系</title><link>https://yangzh.cn/posts/posts/%E5%9B%A0%E6%9E%9C%E5%85%B3%E7%B3%BB.html/</link><pubDate>Mon, 24 Jul 2023 23:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%9B%A0%E6%9E%9C%E5%85%B3%E7%B3%BB.html/</guid><description>&lt;h2 id="因果关系难以证明"&gt;因果关系难以证明&lt;/h2&gt;
&lt;p&gt;与预测关联关系不同的是因果关系(Causal Relationships)。这些关系援引了因果关系的概念，认为关系中的一个变量X会影响关系中的另一个变量Y。科学哲学家对因果关系的性质进行了广泛的辩论（例如，Bunge，1961；Cartwright，2007；Frank，1961；Morgan Winship，2007；Pearl，2009；Pearl Mackenzie，2018；Rubin，19741978；Russell，1931；Shadish，Cook，Campbell，2002），他们中的大多数人都认为因果关系可能是一个难以捉摸的概念，充满了歧义。事实上，著名哲学家伯特兰·罗素（1931）对这个概念的困难感到震惊，他建议从英语中删除因果关系一词。
科学家通常从变化的角度来看待因果关系。如果对X的关键性质的改变会导致Y的变化，那么变量X就被认为是Y的原因。休姆（1777/1975）认为，不可能证明一个变量的变化会导致另一个变量。在最好的情况下，我们只能观察到一个变量的变化，然后再观察另一个变量。他指出，这种共存的变化并不一定意味着因果关系。例如，每天早上日出前闹钟响不能说是太阳升起的原因，尽管这两个事件有着密切的联系。&lt;/p&gt;</description></item><item><title>预测关系</title><link>https://yangzh.cn/posts/posts/%E9%A2%84%E6%B5%8B%E5%85%B3%E7%B3%BB.html/</link><pubDate>Mon, 24 Jul 2023 23:13:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%A2%84%E6%B5%8B%E5%85%B3%E7%B3%BB.html/</guid><description>&lt;p&gt;预测关系（Predictive Relationships）的重点是“A的可变性与B的可变性有关吗？”注意，在这个层面上，重点仅仅是关联；不需要因果关系的假设或暗示，只需要A的变化与B的变化有关。[@jaccard2020a, pp. 152-153]&lt;/p&gt;
&lt;p&gt;如果我们能够识别和验证这种关系，那么我们可以利用我们对A变化的了解来预测B的变化，而不需要解释为什么会发生关联或是什么导致了B的变化。例如，人事选择的一个分支是预测求职者的潜在成功。这项研究的目标是确定预测这种成功的变量。研究者只对预测工作成功感兴趣。在关注预测而非因果关系的情况下，与这两个变量相关的术语是预测变量和效标变量（criterion variable）。&lt;/p&gt;</description></item><item><title>27种启发式思考方法</title><link>https://yangzh.cn/posts/posts/27%E7%A7%8D%E5%90%AF%E5%8F%91%E5%BC%8F%E6%80%9D%E8%80%83%E6%96%B9%E6%B3%95.html/</link><pubDate>Mon, 24 Jul 2023 21:55:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/27%E7%A7%8D%E5%90%AF%E5%8F%91%E5%BC%8F%E6%80%9D%E8%80%83%E6%96%B9%E6%B3%95.html/</guid><description>&lt;p&gt;以下是对[@jaccard2020a, pp, 62-80]内容的翻译：&lt;/p&gt;
&lt;p&gt;本节介绍了27种启发式方法，用于以一种可能给你新见解和想法的方式思考现象或问题。它假设您已经确定了要研究的现象或问题领域。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;分析自己的经历。这种策略包括思考你自己的经历，反思是什么因素影响了结果变量或你试图基于它们解释的现象。例如，如果结果是社交焦虑，你可能会思考你一直紧张或焦虑的情况，并确定这些情况相对于其他导致你紧张的情况的特征。你可能会思考你克服社交焦虑的情况，并反思你是如何做到的。你可能会考虑你生活中社交焦虑程度较高的时期和社交焦虑程度较低的时期，并反思这些时期与你生活中的哪些方面不同。这个想法是仔细分析你自己的经历，看看这是否有助于你思考你试图用新的创造性方式解释什么。对于有根据的理论家来说，根据你自己的个人经历思考你的实地笔记和观察可能会让你对如何构建关于你所做观察的论点和命题有一些看法。&lt;/li&gt;
&lt;li&gt;使用案例研究。这种产生想法的策略包括详细分析单个案例（个人、家庭、团体或组织），并根据该案例研究产生想法。它可以采取正式深入采访个人、家庭、团体或组织成员的形式，和/或研究有关该个人、家庭或团体的档案数据和其他现有数据源。案例研究包括需要数年时间才能完成的劳动密集型企业，以及更简单的个人或事件信息收集。关于进行案例研究的方法，有大量文献（Cosentino，2007；Eisenhardt，1989；Ellet，2007）-
鼓励研究者查阅这些文献，以更好地了解许多形式的案例研究。西格蒙德·弗洛伊德用这种方法发展了他极具影响力的精神分析理论的各个方面。导致社会科学中重要理论见解的案例研究例子比比皆是（例如，参见Spatig、Parrott、Kusimo、Carter和Keyes，2001；特纳，1970年）。你应该考虑将案例研究作为一种产生想法的方法的可能性。&lt;/li&gt;
&lt;li&gt;收集从业者或专家的经验法则。这种策略包括采访或研究某一领域的专家的想法，这些专家正在积极处理你想要研究的现象（Mayo&amp;amp;r LaFrance，1980）。例如，为了制定一个理论，以确定就悲伤相关经历向儿童提供咨询的最佳方式，你可以采访进行此类咨询的专业人士，以获得他们对如何最好地进行咨询的看法。这些从业者通常会发展自己关于phe-nomena的内隐或外显理论（Jarvis，1998），与他们一起启发和讨论这些理论可以带来有用的见解。或者，你可以采访研究这些专业的科学家和/或对此事进行研究的科学家。与这些专家的个人访谈（面对面、通过电话、通过电子邮件）通常可以产生比你从审查有关该主题的正式科学文献中获得的更丰富的phe-nomenon描述。收集到的经验法则可能会成为更正式理论的基础（见Hill，2006；卡普兰，1964年）。在他关于社会影响力的工作中，Cialdini（2003）收集了从业者通过从事保险和汽车销售人员、慈善筹款人以及许多其他从事依赖社会影响力的职业的专业人员的工作和采访来施加社会影响的经验法则。在一定程度上，基于这些收集的影响力经验法则，恰尔迪尼提出了关于说服和社会影响力的新颖理论观点。&lt;/li&gt;
&lt;li&gt;运用角色扮演。这种启发式方法包括将自己置于另一个人的位置，并预测这个人在结果变量方面的想法或行为。例如，把自己放在另一个家庭成员、朋友或你认识的人的位置上，他们的经历可能与你试图理解的现象有关。想想他们会如何处理问题。把自己放在另一位受过与自己不同训练的科学家的位置上，想象他或她会如何概念化、思考问题或解释现象。角色扮演被广泛应用于组织培训和其他应用环境中，以培养新的理解和洞察力（El Shamy，2005），“当你在智力上扮演他人的角色，思考他们的反应和观点时。对于有根据的理论家来说，思考你的现场笔记相对于你通过角色扮演相关他人所援引的观点，可能会让你对如何概念化和框定关于你的观察的论点有一些看法。&lt;/li&gt;
&lt;li&gt;进行思想实验。另一种产生想法的工具——阿尔伯特·爱因斯坦经常使用的工具——是进行思想实验（Ackoff，1991；Folger和Turillo，1999；Lave和March，1975；Watzlawick，1976）。这些是假设的实验或研究是在“头脑中”进行的，就好像你收集了数据，然后想象结果一样。在这个策略中，你考虑相关的变量或场景，然后考虑它们的不同变化或操作的影响，就好像你在做一个实验一样——但不是在脑子里做所有这些。你想象结果，并思考它们对解释你的现象有什么影响。换句话说，要想了解事实，就要想虚构。有大量关于思想实验的文献，主要是哲学、政治学、经济学和物理学。索伦森（1998）研究了理论家在各种学科中使用的思想经验，并得出结论，它们是理论构建过程的核心（另见Nersesian，2002）。Tetlock和Bel-kin（1996）探讨了使用一种特定类型的思维实验，即使用反事实，来关注“可能是什么”的问题。更严格地说，反事实是虚拟条件句，其中假设事件的前因是已知的，但为了论证的目的，假设为假。举个例子，你可能会思考反事实，“如果美国没有向日本投下原子弹，那么日本人大约在同一时间投降。”反事实思维实验可以让我们意识到，如果我们没有追求反事实思维，我们可能会忽视的可能性。作为社会科学的一个例子，研究人员可能对美国青少年堕胎感兴趣。一个反事实的思维实验是，如果所有堕胎都是非法的，那么堕胎对青少年的影响。通过这种反事实的情况思考，可能会暗示堕胎的后果，而理论家最初可能没有想到。经济学家Richard Fogel（1964）使用了一个反事实来探讨新兴铁路对美国经济增长的经济影响。他探讨了如果没有铁路，美国经济会是什么样子。有趣的是，他对反事实的详细探索表明，铁路对美国经济没有产生重大影响，更普遍地说，没有任何一项创新对19世纪的经济增长至关重要。试着用不同的思维经验和反事实来界定你正在处理的现象。通过问“如果…会怎样？”这个问题进行推测，尝试不同的假设。&lt;/li&gt;
&lt;li&gt;参与者观察。参与者观察包括在你积极参与这些情况的同时，观察你想学习的情况下的其他人。例如，你可能住在社区里，与一群工厂工人一起工作，以更好地了解影响工人对工会态度的因素。与案例研究一样，参与者的观察范围从持续数年的劳动密集型努力到更短暂的努力（Hume&amp;amp;Mulcock，2004；Reason&amp;amp;r Bradbury，2007）。参与者观察是许多人种学分析的组成部分，是人类学理论发展的主导方法。它已被用于对一系列重要现象进行丰富的理论分析。例如，人类学家Margaret Mead（2001）在萨摩亚花了几个月的时间，利用参与者的观察进行研究她探讨了文化对青少年的影响。她驳斥了当时普遍的观点，即青少年是一个“压力和混乱”的时期，因为青少年正在寻找成年人的身份。参与者观察将在第10章中进行更详细的讨论。我们看到，一些社会科学家认为，在没有这些定性数据的情况下进行理论建设是愚蠢的，&lt;/li&gt;
&lt;li&gt;分析自相矛盾的事件。有时，孤立和分析矛盾的情况是有用的。例如，假设你对意外怀孕的发生感兴趣。当你反思这一现象时，你会意识到，一些性活跃、不想怀孕、对节育持积极态度的未婚人士却没有使用任何形式的避孕措施。这似乎是自相矛盾的行为。什么可以用来解释这个悖论？Edin和Kefalas（2005）在一项定性研究中探讨了这一特殊的悖论，他们研究了居住在美国的低收入、市中心的年轻女性，主要是拉丁裔和非裔美国人。作者发现，在他们研究的女性中，大约三分之二的怀孕是没有计划的。相反，怀孕是偶然发生的，每当妇女碰巧停止使用节育器时。避孕通常在一段关系开始时使用，但当关系“达到另一个层次”时就停止了。Edin和Kefalas报告称，在他们的研究中，男性和女性都将女性想要一个男人生孩子解释为对该男人的高度社会赞扬。因此，不使用节育与表达尊重和社会赞扬有关。研究中的女性倾向于认为孩子赋予了女性生活意义。把事业置于母亲之上的女性被认为是自私的。生儿育女和结婚并没有被视为“一起走”的决定。然而，这种脱节并没有反映出人们对婚姻的不感兴趣。相反，女性对她们愿意嫁给的男人抱有很高的标准。他们希望孩子的父亲能应付自如，配得上成为终身伴侣，但他们并不指望。此外，这些女性表示，婚姻是为那些在经济上“成功”并配得上的男性和女性保留的。女性认为，婚前双方都应该在经济上“确定”。事实上，女性表达了对男性经济依赖的厌恶。这些女性说，为了配得上婚姻，夫妻必须通过共同度过艰难时期来证明关系的成熟。这可能需要数年时间才能实现。由于这种动态，女性结婚的可能性较小Edin和Kefalas的研究开创了一个理论的开端，即为什么许多性活跃、未婚的市中心女性矛盾地不寻求怀孕，却没有使用节育器。这些女性愿意放弃生孩子的机会，并将不使用节育视为良好关系的标志，这可能会产生与生育相关的积极因素。与其他启发式方法一样，分析矛盾事件可以通过想象中的角色扮演策略和思维实验来检验自己的经验来进行。或者可以采取定性研究的形式。&lt;/li&gt;
&lt;li&gt;以图像的方式参与。大多数时候，我们用语言来思考问题。这就好像我们在与自己进行内部对话。我们潜意识地思考我们的思想和想法。目前的启发式方法包括搁置基于语言的思想，以利于可视化相关的情况和行为。例如，在思考社交焦虑的原因时，试着想象自己在一个聚会上和一个你认识的猥亵的人在一起。尽可能以图形化的方式和尽可能详细的细节来形象化这种情况。将场景和处于该场景中的人员形象化。现在开始发挥你与其他人的互动。但不要只是口头上记下这些互动。试着想象它们的发生，就好像你在看电影一样。一般的想法是，当你思考一个现象时，利用成像和成像刺激的线索。这种策略往往涉及大脑的右半球，而不是涉及左半球的语言思维（Gregory，1997）。因此，可能会产生新的见解。想象思维和可视化在创造性科学家进行的思维实验中很常见，因为他们在头脑中探索在正常应用领域之外的新情况下使用旧模式，尤其是在需要空间推理的情况下（Gooding，1992；Nersesian，2008）。视觉智能一直是大量实证研究的主题（Arnheim，2004；Barry，1997；Hoff-man，2000），其在科学思想产生中的作用也在探索中（例如，Clement，20062008；Nersecian，2008年）&lt;/li&gt;
&lt;li&gt;使用类比和隐喻。这种启发式方法涉及将另一个问题领域的逻辑应用于感兴趣领域的逻辑或借鉴隐喻。例如，一些记忆理论使用了“存储箱”的比喻，即信息被放置在长期记忆中，以便日后访问（Bodenhausen&amp;amp;Lambert，2003）。长期记忆被认为是由成千上万个这样的垃圾箱组成的，这些垃圾箱以复杂的方式组织起来。与仓相关的信息片段在仓内堆叠在一起，最近处理的信息在顶部。因此，当一个人从垃圾箱中检索信息时，更容易访问垃圾箱中最近放置的信息。当然，大脑的生理学不包含物理存储箱，但隐喻促进了一种思考记忆和预测信息检索过程的方式。因此，隐喻思维为建立记忆理论提供了一种机制。作为另一个例子，Randall（2007）使用堆肥堆作为自传记记忆的隐喻，认为它比更常用的计算机类比更接近于捕捉记忆随年龄变化的动态。兰德尔描述了组合词与编码、存储和检索等记忆相关概念之间的相似之处，并推导了一个有机的记忆模型，以更好地理解衰老的心理学。
使用类比的过程可能很复杂。例如，Clement（2008）为科学家们提供了他们研究领域中具有挑战性的问题，并在他们试图解决这些问题时收集了大声思考的协议。Clement发现，科学家们倾向于与他们产生的类比作斗争，经常求助于“桥梁类比”来将问题与原始类比联系起来也经常被用来思考和探索类比的应用。克莱门特研究的科学家们参与了类比思维的循环，在这些循环中，他们产生、批判和修改了一系列的类比。他们坚持不懈地进行类比。众所周知，查尔斯·达尔文多年来一直致力于发展他的进化论（Millman&amp;amp;r Smith，1997）。Clement（1988）描述了科学家用来应用类比来解决问题的四个过程。首先，科学家产生了类比。其次，科学家确立了类比相对于原始问题的有效性。第三，科学家试图理解类似的情况。最后，科学家将这些发现应用于最初的问题。Clement确定了科学家在第一步用来产生类比的三种策略。首先，他们可能会根据一个众所周知的原理产生一个类比。这一步骤包括认识到最初的问题情况是一个既定原则的例子。其次，科学家可能会通过修改原始问题的情况来创建一个类比，从而改变其被认为是固定的特征。最后，科学家通过记忆中的联想产生了一个类比，从而“提醒”或回忆起类似的案例。隐喻在社会科学理论中的使用是普遍的。例如，如上所述，隐喻和类比被广泛用于分析记忆和记忆过程。在社会学中，埃尔文·戈夫曼（Erving Goffman，19591967）的经典作品用演员遵循剧本的比喻来看待人们之间的日常互动，将他们自己的解释强加给剧本，并偶尔即兴创作。在管理学中，Cornelissen（2004）使用“组织如剧院”的比喻来发展组织理论的基本原理。&lt;/li&gt;
&lt;li&gt;用相反的话重新表述问题。这种启发式方法包括将你思想的焦点转向相反的焦点。如果你想了解为什么有些人在购买特定产品时对某个品牌高度忠诚，那么想想为什么人们对品牌不忠诚可能会有所帮助。Wil-liam McGuire（1968）的作品是一个很好的例子，它结合了对oppo-sites的思考与上一节中讨论的隐喻思维。麦奎尔是态度改变领域的著名理论家，他研究与说服相关的现象时，并没有考虑如何影响人们，而是考虑如何让人们抵制态度改变。麦奎尔用生物免疫原理来比喻对说服性沟通的抵制。他指出，当少量污染病毒被引入人体时，人们就会接种许多疾病的疫苗。因此，身体会建立抗体来抵抗病毒，从而在以后经历更高水平的病毒暴露时防止疾病的全面发生。为了让人们更抗拒态度的改变，麦奎尔向他们提供了简短、富有挑战性的反态度信息，让他们更详细地思考自己的态度，并组织自己的辩护来反驳论点。他认为，这些“免疫”挑战不应足以改变态度，而应足以动员反驳和防御机制，以对抗未来的说服企图。麦奎尔使用免疫类比有效地开发了一个复杂的说服分析理论框架。&lt;/li&gt;
&lt;li&gt;应用偏差案例分析。有时，某个个体或一群个体会在某一现象上脱颖而出，与其他人群不同。这种启发式方法侧重于“偏差”案例，试图解释它们为什么是偏差的。例如，尽管大多数与父母关系良好的青少年不吸毒，但其他与父母关系好的青少年确实吸毒。为什么？什么可以解释这些“偏差”案例的行为？在定性研究中，偏差案例分析是一种正式的理论构建方法，研究人员在这种方法中寻找与数据中的主要模式相矛盾的案例，并利用这些案例来扩展理论（见第10章）。
在一项关于人类免疫缺陷病毒（HIV）预防的研究中，研究人员发现了少数人的免疫系统几乎完全支持HIV，尽管该病毒每年在全球造成200多万人死亡。寻求治愈艾滋病毒的科学家正在对这些“异常病例”（在文献中被称为“精英控制者”）进行广泛分析，以确定它们与易感染艾滋病毒者的区别，希望这样做能深入了解艾滋病毒影响人们免疫系统的机制（Gaiha et al.，2019）在发展科学中，研究人员已经确定了在生活中取得成功的成年人，尽管他们来自具有挑战性的背景，并在困难的环境中长大（Masten，2014）。例如，Werner（2005）总结了考艾岛纵向研究的结果，该研究对1岁、2岁、10岁、18岁、32岁和40岁的年轻人进行了研究。这些年轻人中有30%患有产前并发症，在贫困中长大，其家庭以不和、离婚和/或父母精神病理学为代表。大多数青少年在10岁时表现出学习或行为问题，或者在18岁时有犯罪记录和/或心理健康问题。然而，一小部分孩子成长为适应良好、自信、爱开车的成年人。沃纳在理论上感兴趣的是，是什么将后一种个体（“偏差案例”）与前一种个体区分开来，以及这些差异对更普遍的发展理论的影响。&lt;/li&gt;
&lt;li&gt;更改比例。Mills（1959）建议将极端变化想象为一种刺激思维的方法：如果某件事很小，想象它是巨大的，并问“这会有什么不同？”如果某件事情普遍存在，想想如果它不普遍，事情会是什么样子。这种启发式的一个例子是地理、人类学、政治学和经济学领域的全球化研究。这些学科的理论家们思考在全球层面上运行的过程如何在地方层面上得到反映，以及如果将在地方层面运行的过程转移到全球层面，它们如何被普遍化或改变（Goldin，2009；Robins、Pattison和Woodstock，2005年）。例如，如果我们考虑在地方一级让工人加入工会的影响和挑战，如果我们试图在全球一级让员工加入工会，会发生什么？用这样的措辞思考会如何改变我们的理论和对地方一级工会化的思考？&lt;/li&gt;
&lt;li&gt;专注于过程谈论变量。社会科学的主要传统是从变量的角度进行思考。另一种方法是从过程的角度来思考——也就是说，随着时间的推移，为产生变化、维持系统平衡或从事件a到事件B而展开的一系列活动。Abbott和Alex-ander（2004）用过程的术语描述了思考犯罪和罪犯的含义。过程分析没有将罪犯视为犯罪者，而是将成为罪犯的行为视为由被抓住、拘留、拘留、指控、定罪和判刑的顺序行动组成。社会阶层和成为“罪犯”之间经常观察到的相反关系，部分原因可能是下层个人比中产阶级或上层个人更有可能通过这种基于过程的序列。面向过程的模型在社会科学中已经存在了几十年，但不如以变量为中心的方法流行（Cederman，2005；Gilbert Abbott，2005）。如果你倾向于主要从变量的角度思考，那就试着从动态过程的角度思考。相反，如果你倾向于主要从过程的角度思考，试着从变量的角度思考。
调用过程视角的一种策略是将名词变为动词（Weick，1979）。这种启发式的使用在组织研究领域最为明显，过程理论改变了诸如顺序到排序（Cooper&amp;amp;Law，1995）、存在到成为（Chia-Tsoukas，2002）等词汇，以知识为知（Cook-Brown，1999），从而援引面向过程的解释。基于过程的分析的前提是，组织处于持续的变化中，以变量为中心的信息是有限的，因为它们忽略了这种变化，只捕捉了组织在单个时间点的瞬时“快照”（De Cock&amp;amp;Sharp，2007；Sturdy&amp;amp;r Grey，2003）。
以过程为导向的视角是过程人类学领域的核心，特纳（19671970）在其对仪式的时间分析中阐述了这一点。特纳认为，成人仪式的标志是经历三个阶段：（a）分离，即一个人脱离社会结构中的固定点；（b） 边缘性，当人处于模糊状态时，不再处于旧状态，但尚未达到新状态；以及（c）聚合，当个人进入一个具有自己权利和义务的新的稳定状态时。特纳描述了每个阶段以及影响从一个阶段到另一个阶段运动的因素。这种以过程为导向的观点与结构主义对仪式的解释形成了鲜明对比。
对于那些已经从过程角度思考的人来说，产生新想法的一种方式可能是从变量角度思考。Abbott和Alexander（2004）重新提出了一种“停止时钟”的启发式方法。其想法是在给定的时间点“冻结”流程，然后在冻结的时刻详细描述系统。通过停止时钟，“你拓宽了上下文，并将我们讨论过的其他启发式方法应用于流程中的特定点。”。
试着将你的现象分析为一个随时间波动的动态过程，这需要从事件a转移到事件B。实体如何从一个点转移到另一个点？我们在第9章模拟、第10章基础理论和第12章更详细地描述了面向过程的框架。&lt;/li&gt;
&lt;li&gt;考虑抽象概念或具体实例。使用第5章中讨论的实例化原则，或与实例化、抽象相反的原则，思考不同抽象级别的现象。例如，当思考是什么影响了人们对政治候选人的态度时，思考是什么总体上影响了人们的态度，然后将其应用于对政治坦诚态度的分析。如果你在抽象地思考是什么影响了人们的态度，那么想想是什么影响一个人对政治候选人的态度（以及其他特定的态度），并试图从这个立场概括为一般的态度。
著名社会心理学家Arie Kruglanski（2004）强调抽象在理论建构中的重要性。克鲁格兰斯基指出，制定抽象原则或结构的一个关键策略是寻求现象之间的共性，并对区别持怀疑态度。他认为，同一现象的不同实例的表面表现可能具有误导性，不同的具体现象往往是由同一基本原则驱动的。重点应该放在孤立现象的要点上，并确定绝对必须了解的内容。例如，态度转变、从众、多数人-少数人的影响和社会权力都有一个社会影响成分，可以让你通过寻找这些现象中的共性来建立一个社会影响力的一般理论。与其专注于领域特定的构造或过程，不如努力隔离跨领域概括的底层原则。话虽如此，克鲁格兰斯基也敦促谨慎使用抽象。当抽象到更一般的层次时，可能会混淆应该做出的重要区分。关键是要经常问自己，通过跨越不同的抽象层次，得到了什么，失去了什么。
社会学家Robert Alford（1998）和Kruglanski一样，将理论构建过程视为在对抽象概念含义的反思与对具体观察的具体分析之间不断来回移动的过程。理论是通过思考概念的具体实例，然后向上抽象到更一般的结构来发展的，这些结构使我们能够提出在许多内容领域推广的理论命题。&lt;/li&gt;
&lt;li&gt;做出相反的假设。取一个明确的假设，并将其改写为相反的假设。如果一个现象被认为是稳定的，那么就认为它是不稳定的。如果假设两个变量是相关的，那么如果它们不相关会发生什么？如果两个phe-nomena共存，如果它们不能共存会发生什么？如果假设X导致Y，则考虑Y导致X的可能性。这种启发式方法与前面讨论的启发式方法类似，即根据问题的相反方和“改变规模”来界定问题。然而，它在细微的方面是不同的。
例如，人们通常认为父母与青少年关系的质量会影响青少年的药物使用，而更好的关系与更低的药物使用概率有关。但如果我们颠倒因果关系的方向呢？相反，青少年吸毒是否可能对青少年与父母之间的关系产生负面影响？另一个例子是，人们普遍认为，信教的青少年不太可能从事问题行为——也就是说，信教具有保护作用。难道是青少年开始
从事危险行为（如饮酒或吸毒）变得不那么虔诚？也许宗教信仰的降低不是一个风险因素，而是青少年参与问题行为的副产品，然后在这个过程中拒绝他或她的（宗教）教育。最后一个例子是，人们通常认为父母的育儿策略会影响孩子的行为，但断言孩子的行为会影响父母的育儿战略也是合理的。
Abbott和Alexander（2004）在他们关于理论构建的书中提供了这种启发式的几个额外的例子。例如，人们普遍认为大学教育学生。但假设我们转而思考大学阻止教育的所有方式（例如，无聊的课堂，强调死记硬背）。当我们做出相反的假设并试图为其争取支持时，我们可以对我们研究的现象获得新的见解。&lt;/li&gt;
&lt;li&gt;应用连续的why和what。给定一个结果或因变量，问问自己，“为什么有些人这样做，而另一些人不这样做？”或“为什么一些人有更多这样的东西，但另一些人没有？”对于你给出的每个答案，再次重复这个问题。例如，如果结果变量是学校表现，你可能会问，“为什么有些人在学校表现很好，而另一些人则不然？”答案可能是，“因为有些人更聪明，更有动力。”然后问，“有些人为什么更聪明？”和“有些人更有动力？”前者的答案可能是“因为他们的成长方式。”。最后一个答案很模糊，所以你可能会问：“你这是什么意思？”？在澄清了这一说法后，你可能会问自己，“为什么他们是这样长大的？”？当你不断地探究成功的“为什么”问题的答案时，你会问：“你的意思是什么？”？，“你可能会对你提出的最初问题有新的见解。
Darryl Bem（1970）在分析信仰的心理基础时使用了这种策略。Bem将他的分析重点放在人们可能持有的一种信念上，例如“吸烟会导致癌症”，他问人们为什么会这样认为。当得到答案时，他会问他们为什么相信答案是真的。然后，他会对给出的新答案提出“你为什么认为这是真的？”的问题。当他不断地将信仰推回到它们的起源时，他发现所有的信仰都建立在两个基础中的一个或两个基础上，即（a）相信某件事是真的，因为权威人物或专家说它是真的，例如，太阳是太阳系的中心？答案可能是“因为我在学校里被我的科学老师教过”——这是在援引一个权威人物的话。持续的“为什么”启发式导致Bem得出了一个有趣的认知基础理论（见Bem，1970）。&lt;/li&gt;
&lt;li&gt;请教你的祖母——并证明她错了。McGuire（1997）创造了bubba心理学一词，指的是社会科学家在研究中“发现”的许多东西都是如此平庸或显而易见，以至于他们的祖母（“bubba”）可能会告诉他们。抓住显而易见的东西，思考它怎么可能是错误的。试着颠覆bubba社会科学。或者，作为一种变体，将一个明显的“bubbb事实”扩展到
你可能会对它们的含义感到惊讶的情况。例如，“心情好会增加你的生活满意度”这一bubba事实可能会延伸到一个更微妙的想法，即“在街上找到一美元会增加生活满意度”。如果你找到了一美元，这样做可能会让你心情好。如果心情好会对你目前的生活满意度产生积极影响，那么在街上找到一美元应该会提高你的生活满意度（至少暂时）。人们可能会发现，“在街上捡到一美元可以提高生活满意度”的想法比“心情好可以提高生活满足感”的想法更有趣。通过将显而易见的事物扩展到非显而易见的事物，可能会提出一个有趣的理论观点。&lt;/li&gt;
&lt;li&gt;将既定的发现推向极端。以一段稳固的关系或发现为例，考虑一下其中的极端。例如，人们通常认为，与一个人进行更多的眼神交流会增加他或她对你的好感。但是，如果你经常进行眼神交流，会发生什么？眼神交流太少或太多可能是不好的，但中间水平的眼神交流可能刚刚好。对孩子深情的父母往往会有更快乐的孩子。但是，如果父母总是深情款款呢？一些科学家认为，太多的东西最终会适得其反或开始产生相反的效果。在你的现象的极端会发生什么？&lt;/li&gt;
&lt;li&gt;阅读传记和文学作品，做一个全面的媒体消费者。许多社会科学关注的是人，人们生活的优秀资源是出版的传记和自传。这些可以成为关于人类行为许多方面的丰富思想来源。小说和非小说作品充满了深刻的分析，电影和其他形式的媒体也是如此。人文和艺术，即使不依赖于正式的科学方法，也是思想和见解的宝贵来源。利用这些不同领域的丰富知识。
其中一位作者（Jaccard）在加州大学伯克利分校读本科，回忆起他在著名社会学家Erving Goffman办公室的第一次会面。在等待戈夫曼教授打完电话时，杰卡德漫不经心地记下了书架上的书。其中包括社会学学者的典型教科书，但也包括通常在杂货店结账时看到的流行杂志、烹饪书、时尚书籍、流行的自助书籍和其他代表美国文化的书籍。只有在学习了戈夫曼教授的几门课程后，Jaccard才意识到这些资源是戈夫曼关于人类互动和美国社会思想的核心来源。&lt;/li&gt;
&lt;li&gt;识别远程和共享/差异化的同事。想想你感兴趣的现象，尽可能多地找出它的原因和后果。要扩展，列出尽可能多的合理的。这个想法是创建一个“自由联想”场景，在这个场景中，你生成的列表包括“远程联想”，即人们不太可能想到的事情，这可能会激发创造性的洞察力。与此相关的是，想想你认识或听说过的实施你试图解释的行为或现象的人，以及你认识的没有实施该行为或现象。然后列出每种类型的人的品质、特征和特点。它们在哪些品质和属性上有所不同哪些是相同的？这种现象的相似之处和不同之处告诉你什么？&lt;/li&gt;
&lt;li&gt;改变分析的单位。在理论化时，我们通常通过描述和解释个人层面的行为来做到这一点。例如，我们可能想知道为什么有些人富有，而另一些人贫穷。或者我们可能想知道为什么有些人能很好地应对一种使人衰弱的疾病，而另一些人却不能。然而，也有一些理论侧重于个人以外的分析单位，例如一对夫妇、一个家庭/家庭、一个小团体、一个组织，甚至世界体系中的国家。在这种情况下，结果变量不是个人的行为，而是“单位”的行为。例如，在预防艾滋病毒的背景下，我们可能会专注于理解夫妻为什么进行无保护的性行为，而不是试图解释个人为什么进行无保护的性行为。或者，在组织研究领域，我们可能会专注于了解影响组织生产力的因素，而不是组织内个人生产力的因素。
著名社会学家詹姆斯·科尔曼（1994）强调了分析社会系统而非个人功能的重要性。请注意，这与研究社会制度对个人的影响不同，例如，在探索工作环境对生活满意度的影响时。相反，重点是单位本身的行为——也就是所讨论的特定社会系统。根据科尔曼的说法，社会系统运作的理论可以集中在影响和塑造利益系统运作方式的系统外的力量或解释性结构上，也可以集中在系统内的力量和过程上，即影响或塑造利益系统运行方式的系统组成部分。例如，一个组织的生产力可能会受到其所处的更广泛经济以及组织内个人内部组织“生产力文化”的影响。
如果你倾向于在个人层面上处理现象，如果合理的话，试着改变“分析单位”，并从这个新的“单位”层面考虑这些现象。例如，研究探讨了酒精对青少年无保护性行为倾向的影响，几乎所有的研究都以个人为分析单位。然而，无保护性行为是一种夫妻行为，因此你可以将分析从个人层面转移到夫妻层面，关注影响某对夫妇是否进行无保护性性行为的因素。分析夫妻行为的一种方法是根据每个夫妻成员对关系的不同态度和特征来分析例如，异性恋夫妇使用避孕套时，男性成员有使用避孕套的行为取向、对使用避孕套的一系列信念、某些冒险取向、某些饮酒模式等。这对夫妇中的女性成员也是如此；也就是说，她还带来了使用避孕套的行为取向，一套关于避孕套的信念，某些风险取向，以及这项工作提出了一个简单的命题：一个人的行为受到他或她实施行为的意图的影响。如果人们打算做某件事，他们通常会做，如果他们不打算做，他们通常不会做。例如，如果一个人打算接受艾滋病毒检测，他或她可能会这样做；如果一个人不打算接受艾滋病毒检测，他或她可能不会这样做。事实上，行为意图和行为之间的关系很复杂——也就是说，人们并不总是做他们打算做的事。该理论阐述了为什么会出现这种情况。影响意向-行为关系的因素包括阻碍意向行为表现的环境约束；缺乏形成预期行为的相关知识和技能；忘记执行预期行为的倾向，以及习惯和自动过程的操作。&lt;/li&gt;
&lt;li&gt;转变分析的层次。社会科学家专注于不同层次的分析解释。表征分析水平的一种方法是根据近端与远端的决定因素。近端决定因素是行为的更直接决定因素，远端决定因素是影响行为的变量，但通过更直接的决定因素影响行为。一些理论家使用更近端的行列式来解释现象，而另一些理论家则使用更远端的行列式解释现象。我们经常通过改变我们所追求的分析水平，通过从近端到远端的分析或从远端到近端的分析，来获得对现象的新见解。
例如，Jaccard（2009）提出了一个从四个不同层面思考行为的框架。在第一（近端）层面，解释框架——
创造力与ldeas 75的产生
这项工作提出了一个简单的命题：一个人的行为受到他或她实施行为的意图的影响。如果人们打算做某件事，他们通常会做，如果他们不打算做，他们通常不会做。例如，如果一个人打算接受艾滋病毒检测，他或她可能会这样做；如果一个人不打算接受艾滋病毒检测，他或她可能不会这样做。事实上，行为意图和行为之间的关系很复杂——也就是说，人们并不总是做他们打算做的事。该理论阐述了为什么会出现这种情况。影响意向-行为关系的因素包括阻碍意向行为表现的环境约束；缺乏形成预期行为的相关知识和技能；忘记执行预期行为的倾向；以及习惯和自动过程的操作。
在分析的第二个层面，即近端层面，该理论解决了为什么有些人打算实施一种行为，而另一些人不打算。影响一个人实施行为的意图或决定的五类变量是该理论的重点：（a）该人认为实施行为的优点和缺点，（b）该人实施行为所经历的规范压力，（c）实施行为所感知的社会形象含义，（d）该人对实施行为的情绪和情感反应，以及（e）该人成功实施行为的自我感知能力（即自我效能感）。例如，一个人认为接受艾滋病毒检测的优点和缺点是什么；对接受艾滋病毒检测的人来说，什么样的社会压力在起作用；接受艾滋病毒检测将如何影响此人向他人传达的形象；受试者对接受艾滋病毒检测有什么情绪反应；这个人在接受艾滋病毒检测时看到了什么障碍？
下一个层次的解释是接近远端的决定因素。这些是更一般的变量，不涉及目标行为，但可以塑造行为的近端和近端决定因素。它们包括这样的结构：（a）个人变量；（b） 一般价值观、目标、愿望和态度；（c） 与心理健康相关的变量（如抑郁、焦虑、压力）；以及（d）与酒精和药物使用有关的变量。例如，一个人可能会因为饮酒过量而感到沮丧或宿醉而错过预定的艾滋病毒检测。
最远层次的分析侧重于行为发生的更广泛的背景：家庭背景、同伴背景、学校背景、工作背景、提供者背景、宗教背景、邻里背景、媒体背景、政府/政策背景和文化背景（针对不同种族群体）。
Jaccard（2009）鼓励那些试图解释行为的理论家在不同的分析层面上思考这种行为。人们是否打算实施有问题的行为？如果是，是什么因素阻碍了他们实施意图？为什么有些人打算做出这种行为，而另一些人却没有？这些人在实施行为的优势和劣势、操作的规范压力、实施行为的形象含义、对实施行为的情绪反应以及实施行为的能力方面有何不同？所有这些变量是如何由他们的个性、更广泛的目标和抱负、他们的总体态度和其他生活方式变量形成的？最后，这一切是如何受到他们生活在什么环境中，包括家庭环境、同伴环境、学校环境、工作环境、宗教环境、邻里环境、媒体环境、政府/政策环境和文化环境？
大多数社会科学家倾向于只在一个分析层面上进行理论推导——要么在行为的更近决定因素层面，要么在行为更远决定因素层面。这种关注是完全合理的。然而，你可能会偶尔改变你的思维过程，在更近的层面或更远的层面思考解释结构，从而深入了解你正在研究的现象。通过思考这些不同层面的现象，可以深入了解在最初的分析层面上应该关注的变量类型。例如，尽管你可能有兴趣了解选民的政治意识形态以及这些意识形态如何影响投票选择，但转移到另一个层面的分析并询问不同的背景（例如，媒体、工作、社区）如何塑造个人的政治意识形态可能会有所帮助。参与这样的活动可能会提出你没有考虑过的意识形态的新维度，或者思考意识形态的新方式，帮助你更好地解释意识形态和投票行为之间的关系。&lt;/li&gt;
&lt;li&gt;使用两种解释，而不是一种或另一种。在印模形成的区域中，一个强有力的发现是首要效应的出现：首先呈现的关于一个人的信息往往比后来呈现的信息对印象的影响更大（Anderson，19651991）。对这种差异的一种解释集中在“意义的变化“过程，即最初的信息被认为是对后来的信息进行着色或改变其含义，从而使其被解释为与最初的信息一致。第二种解释是，最初的形式比后来的信息更容易被记住。更容易被回忆的信息更具影响力，因此产生首要效应。第三种解释是人们会丢弃与最初收到的信息相反的后来的信息。已经做出了研究努力，在这些解释之间做出选择（含义的变化与可访问性的变化与发现的变化），取得了一些喜忧参半的成功（Anderson，19651991；Anderson和Hubert，1963年）。与其将解释视为相互排斥，不如考虑所有解释都在起作用的可能性。因此，在印象形成的例子中，也许意义上的一些变化正在运作，也许还有一些差异召回的运作，也许有一些折扣的运作，所有这些都会产生首要效应。可以设计一种理论，使这些过程中的每一个都具有“重要性权重”“反映了印象形成过程中的影响。然后，我们可能会对这些重要性权重的相对大小如何在不同的个体和不同的地点之间变化进行理论化。这种方法产生了与试图选择“正确”解释不同的理论视角。（详细说明，请参阅Poole&amp;amp;r Van de Ven，1989。）
这种启发式方法的一个变体是在思考一个现象时调用多个过程的操作，而不是单个过程。与其将phe-nomenon视为受一个或另一个过程的影响，不如允许两个过程都运行。心理学中流行的许多“双重过程”理论很好地说明了这一策略。双重过程模型有多种形式，但其思想是指定两种替代或互补的处理模式，然后围绕这些过程建立一个理论。例如，Smith、Zarate和Branscombe（1987）提出了一种访问态度的双过程模型：一个过程从内存调用先前形成和先前存储的态度，另一个过程访问内存中的规则，以形成对新接触对象的态度。Smith和DeCoster（2000）认为，人们拥有两个用于存储认知的记忆系统：一个系统缓慢地学习一般规律，另一个系统快速表示新事件或个别事件。Petty和Cacioppo（1986）提出了一种基于说服信息的系统处理（即思考信息中所含论点的有效性）和说服信息的启发式处理（即考虑信息的来源和来源的特征，如来源的可信度和可信度）的双过程说服模型。Kowalski（2006）提出了一种思维的双重过程模型，包括直觉思维（自动的、毫不费力的、主要是潜意识的）和深思熟虑思维（受控的、努力的、主要有意识的）。Sierra和Hyman（2006）提出了一个欺骗意图的双重过程模型，一个基于认知思维，另一个基于预期情绪。尽管双过程模型在决策、记忆和信息处理领域很受欢迎，但它们也出现在其他研究领域。也许你正在思考的现象可以以双重过程框架的形式被概念化。&lt;/li&gt;
&lt;li&gt;利用方法和技术创新。技术正在迅速变化，为社会科学家带来了新的方法论工具。这些进步为理论探索和见解开辟了新的领域。例如，在过去，将神经科学发现与人类行为联系起来仅限于对脱离生态环境的动物的探索、对遭受创伤的患者的观察、大脑局部区域的紊乱以及尸检。最近的技术进步现在允许在人类行为过程中进行电生理记录、大脑功能成像和神经化学评估，从而在社会科学和神经科学之间建立有趣的界面。例如，Stein-berg（2008）认为，大脑的社会情绪系统的发展速度比认知控制系统快得多，导致青少年在控制机制不发达的时候寻求奖励的次数增加。他假设，这种大脑发育模式是青春期冒险行为增加的原因，而成年后冒险行为减少的原因，因为围绕控制过程的大脑发育“赶上”了围绕情绪反应的大脑发育。斯坦伯格的研究利用了神经科学中基于技术的方法学进步。
另一个例子是，弗洛伊德在心理学中推广了无意识的概念，但当对无意识现象的满意测量未能实现时，它很快就陷入了科学的声誉。如果没有这些措施，无意识动机可能会被事后引入来解释任何事情，因为没有办法将无意识解释纳入实证检验。最近，心理学家和社会学家已经开发出了据称可以测量unc的方法-自觉态度（Bassili&amp;amp;Brown，2005；布兰顿和雅克卡德，2008年）。这些方法要求个人在电脑屏幕上查看刺激，并尽可能快地将其分类为不同的类别。根据他们对刺激进行分类所需的时间（以毫秒为单位），推断他们对刺激的态度。这些方法为人类行为开辟了新的理论解释，因为有意识和无意识现象都被纳入了概念框架。
跟上新技术和方法创新的步伐是一种可能定义新问题并采用新结构来理解你所研究的现象的方式。&lt;/li&gt;
&lt;li&gt;关注自己的情绪。对许多研究人员来说，情绪在理论发展中没有地位，但在研究人类行为时，情绪可能会被用来产生想法。例如，作为外部观察者或在参与者观察的背景下记录田野笔记是人类学中的一种常见做法。现场笔记不仅包括记录一个人的观察结果，还包括记录在进行观察时所经历的情绪。在传统人类学中，这种关于情绪的注释被认为是对一个人观察中潜在偏见的“警告”，例如当一个人对他人的看法可能被在特定观察的背景下与他人形成的关系所影响时。然而，最近，一些人类学家群体将情感笔记视为意义和解释的来源，这可能有助于他们制定理论，并获得对所研究的特定现象的看法（例如，Cylwik，2001；Kelinman&amp;amp;Copp，1993）。人类学家雷纳托·罗萨尔多（Renato Rosaldo，1993）利用他对妻子去世的悲痛来理解菲律宾伊隆戈特（Ilongot of the Philippines）一群猎头对猎头的强烈情绪。罗莎尔多认为，传统的民族志试图从观察中消除个人情绪，从而造成对描述的扭曲和误解，从而破坏了解释。&lt;/li&gt;
&lt;li&gt;找出是什么推动了你的智力热点。媒体上的内容或与他人的讨论可能会让你产生怀疑感，或者至少会引起分歧。每当你发现自己在说“这不可能是对的”时，问问自己这是否值得追求。作为一名初级助理议员，你可以与消费者权益倡导者讨论广告的价值，其中一位作者（雅各比）发现自己不同意倡导者的主张，即“如果要做广告，就应该局限于向潜在消费者提供尽可能多的具体信息。”，使得更难将小麦与谷壳分离，从而导致决策更差。辩护人对这个想法嗤之以鼻。这导致雅各比进行研究来检验他的假设。雅各比发表了一系列研究证实了这一假设后，广告商和公共政策制定者开始对如何最好地向消费者传达信息进行不同的思考。例如，联邦贸易委员会没有要求卷烟制造商列出其希望在卷烟包装上产生的18种健康后果，引用这一连串的“信息过载”研究，呼吁香烟制造商一次只列出其中三种后果，并定期轮换列出这些后果。你听到或看到了什么引起你的分歧，并让你说“这不可能是对的”？它值得研究吗？&lt;/li&gt;
&lt;li&gt;进行有先见之明的理论推导。当我们思考一个现象或问题时，我们通常采用回顾性（过去发生了什么）或并发性（现在正在发生什么）的取向。当你想办法重新构建一个问题或现象的框架或获得新的视角时，思考5年、10年或25年后这个问题/现象及其周围的参数可能是什么样的，并相应地调整你的理论可能会很有用。我们可能需要如何修改一个理论来解释20年后的情况？从今天开始，我们可以考虑哪些类型的趋势和线索来构建我们未来的研究和理论？我们如何才能不仅看到即将到来的浪潮，而且利用我们现在构建的理论来塑造关于它的概念对话？笨拙的冰球运动员韦恩·格雷茨基（Wayne Gretzky）说：“知道冰球现在在哪里不如知道它会在哪里重要。”美国著名政治家罗伯特·肯尼迪（Robert Kennedy。
一个利用人口学的例子说明了问题。不断增长的人口以年龄结构为代表，其中有大量年轻人和猥亵的老年人。相比之下，处于更替水平的人口往往具有相当统一的年龄结构，这是美国最近增长的典型。这一趋势的一个主要例外是1946年至1964年第二次世界大战后出现的婴儿潮。这一时期，随着士兵从战争中归来，美国家庭出生的婴儿数量急剧增加，在20世纪50年代末达到峰值，当时人口中增加了5000多万婴儿。这一大群“婴儿潮一代”在其他方面相当同质的年龄结构中逐渐形成。最初，婴儿潮一代极大地影响了学前儿童保育的需求和动态，以及与婴儿期和蹒跚学步相关的所有其他问题，直到他们进入小学。当这种情况发生时，他们对小学施加了巨大的压力，以应对学生人数的增加和对教师教学需求的急剧增加。一旦婴儿潮一代进入中学和高中，小学发现自己人浮于事，建设过度，这给应对紧缩带来了新的挑战。与此同时，中学和高中经历了与小学相同的扩张-收缩周期，几年后大学又经历了这种周期。随着婴儿潮一代在美国年龄结构中的成长，他们以几乎触及生活方方面面的方式戏剧性地颠覆了美国社会的方方面面。例如，软饮料往往主要由青少年和年轻人消费，当婴儿潮一代进入这个年龄段时，软饮料行业出现了快速增长和扩张，随后出现了大幅收缩。该行业对收缩的反应是更加重视全球营销，特别是在增长率高的国家。年，征兵从一次可以接触到大量新兵到了那个水池相对突然收缩的时候。到2029年，所有婴儿潮出生者都将年满65岁，超过20%的美国总人口将超过65岁，社会保障体系和“所有老年人”的压力将相当大（尽管随着婴儿潮一代的死亡和年龄结构的“正常化”，这种压力也会消散）。一位社会科学家在20世纪70年代开始了他的或她的职业生涯，并且意识到这一重要的人口趋势及其对美国社会各个方面的影响，他可能已经预测了20年后20世纪90年代将出现的一些挑战，并提前开始了某些类型的研究项目。这位科学家提出的理论可能包括膨胀和收缩的循环动力学，否则这些方面可能会被忽视。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;除了这27条之外，还可以提到其他启发法，我们在接下来的章节中对其进行了更多的发展。目前的清单只是一个开始。启发式方法可以有效地与第3章中描述的“做出理论贡献的策略”列表结合使用。例如，该章中提到的做出理论贡献的一种策略是“添加一个或多个先前工作中未考虑的解释变量。”要识别这些变量，您可以使用本章中描述的一个或更多启发式方法。第3章中的另一个策略是“确定一个变量对另一个变量影响的机制或干预过程。”要确定这些机制，你可以再次使用本章中描述的一个或多个启发式方法。&lt;/p&gt;</description></item><item><title>做出理论贡献的16种方式</title><link>https://yangzh.cn/posts/posts/%E7%90%86%E8%AE%BA%E8%B4%A1%E7%8C%AE%E7%9A%84%E7%AD%96%E7%95%A5.html/</link><pubDate>Mon, 24 Jul 2023 20:51:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%90%86%E8%AE%BA%E8%B4%A1%E7%8C%AE%E7%9A%84%E7%AD%96%E7%95%A5.html/</guid><description>&lt;p&gt;当你阅读文献或进行研究时，你也可以用这个列表[@jaccard2020a, pp, 37-45]作为指南，阐明文章用于做出理论贡献的策略类型，以及你如何判断这些贡献的独创性。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;澄清、提炼或挑战变量/概念的概念化&lt;/strong&gt;。理论涉及变量和概念。做出理论贡献的一种方法是以新颖的方式重新定义或重新定义变量/概念。你可以尝试制作&lt;strong&gt;更简单的复杂概念或更复杂的简单概念&lt;/strong&gt;。例如，种族认同往往被视为一种相对稳定的结构，在力量上表现出有意义的跨个体变异；也就是说，有些人比其他人更认同自己的种族群体。我们可能会认为，种族认同的力量不是稳定的种族取向，而是具有更流动、更动态的品质，可以根据情境和个人在这些情境中的目标，从一天转移到另一天。简言之，种族认同可以被视为既有稳定的成分，也有短暂的成分；为了解释与种族相关的行为，需要考虑这两种动态。进一步扩展这一观点，一个特定种族的人可能会被认为具有多种种族身份的认知“组合”（例如，作为拉丁裔意味着什么），其中一些会根据情况变得突出和可操作（Goldin-Jaccard，2019；Pabon，2010）。识别这些认知组合以及一个组合比另一个组合突出的情况可能是有用的。因此，这种对民族身份的重新定义可能会带来创新的理论。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;创建一个新的变量或一组理论上感兴趣的变量&lt;/strong&gt;。变量是人类的发明，代表了对人或事件进行分类或思考的方式。社会科学家有时会发明或创造新的变量来构建新的理论，或者他们创造可能感兴趣和重要的新的可变星座。一个例子是Paulhus和Williams（2002）最初提出的人格的黑暗三元组。黑暗三合一由三种人格特征组成：马基雅维利主义、自恋和亚临床精神病。马基雅维利主义是为了个人利益而操纵他人的倾向；自恋是一种浮夸、权利、支配和优越感；亚临床精神病的特点是高冲动性和三重寻求，同时伴有低移情和低焦虑。构成“黑暗三合一”的三个特征有着共同的特点，即具有自我推销、情感冷漠、口是心非和攻击性倾向的社会恶毒性格。将这些变量组合在一起，并使用煽动性标签来表征组合，导致了对它们作为一个集体的大量理论和研究。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;为先前工作中未考虑的结果添加一个或多个解释变量&lt;/strong&gt;。通过引入先前研究中未研究过的解释变量，也可以做出理论贡献。例如，在社会学中，Idler和Benyamini（1997）提请注意将一个人的感知健康状况作为死亡率的预测因素，认为它是一个独立于健康客观指标和已知与死亡率相关的其他协变量（如年龄、社会经济地位）的重要预测因素。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;确定一种变异对另一种变异影响的机制或干预过程&lt;/strong&gt;。当两个变量联系在一起时，理论家们经常想知道为什么会这样，也就是说，是什么导致了它们之间的关系。例如，众所周知，美国艾滋病毒感染的发生率存在很大的种族和性别差异。2017年，美国黑人占总人口的13%，但占新诊断的艾滋病毒的43%（美国疾病控制与预防中心，2018）。为什么？这种健康差距的来源是什么？是因为黑人由于贫困，获得医疗保健的机会更加有限吗？是因为他们很少使用避孕套吗？是因为他们在使用非法注射药物时共用针头较多吗？男性约占艾滋病毒感染者的75%。为什么？这种基于性别的健康差距的来源是什么？是因为男性更容易从事危险的性行为吗？是因为男性往往比女性拥有更多的性伴侣吗？另一种做出理论贡献的方式是对两个变量之间关联的机制提出新的观点。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;确定一个变量对另一个变量的影响的边界条件&lt;/strong&gt;。理论关系通常有边界条件。对理论做出贡献的另一种方式是确定这些条件（Busse，Kach，Wagner，2017）。边界条件解决了理论的可推广性，着眼于确定理论命题的极限。例如，在经济学中，降低联邦利率（银行和信用合作社将准备金余额隔夜借给其他存款机构的利率）通常会导致经济扩张，但只有在某些更广泛的经济条件下。确定和详细说明这些条件将构成一项理论贡献。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;确定能够调节一个变量对另一个变量影响的变量&lt;/strong&gt;。识别边界条件的一个更次要的变体是识别抑制或加强一个变量对另一个变量影响的变量。这些通常被称为调节变量。例如，许多研究发现，父母不如非父母幸福，为人父母往往会对主观幸福感产生负面影响（Aassve，Goisis，&amp;amp;r Sironi，2012）。Matysiak、Mencarini和Vignoli（2016）假设，当父母经历更高程度的工作与家庭冲突时，生育对主观幸福的负面影响会更强。也就是说，他们假设工作与家庭冲突会缓和生孩子对父母主观幸福感的不利影响。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;将现有的理论或想法扩展到新的语境中&lt;/strong&gt;。许多理论可以应用于新的人群、新的情况和/或不同的问题领域（Pawson&amp;amp;Tilley，1997）。例如，有人提出了关于丈夫和妻子之间婚姻不满的原因和后果的理论（Gottman，1994）。这些理论适用于同居关系中的未婚夫妇吗？1960年，估计有43.9万对夫妇在美国同居；到2005年，这一数字已经上升到485万对夫妇（增长了10倍多；Jaccard，2009年），到2015年，已经超过750万对夫妇。令人感兴趣的可能是，婚姻不满的理论在多大程度上“影响”了同居夫妇成员的不满将一个阐述良好的理论应用于新的背景并不总是被视为创新的，除非它伴随着与理论或感兴趣的实质领域相关的新见解。Fisher和Aguines（2017）描述了在新的背景下应用现有理论时阐述现有理论的七种策略：（I）水平对比，（2）垂直对比，（3）新的构造规范，（4）构造拆分，（5）构造特定关系，（6）构造序列关系，以及（7）构造递归关系。横向对比将理论从一个背景应用到另一个背景，但分析水平（例如，个人、组织）保持不变。例如，为一种类型的组织发展的理论被应用于另一种类型组织；夫妻不满理论适用于同居伴侣。纵向对比将为解释一个分析层面的结构和关系而开发的理论扩展到另一个层面，例如将个人层面的决策理论与组织层面的决策相适应，反之亦然。建构规范涉及在一个语境中调整理论建构的定义，以反映新语境的现实，从而推进关于建构的理论。结构拆分将一个上下文中的现有结构拆分为新上下文所要求的更细微、更多维的描述。结构-特定关系描述了新语境相对于原始语境所特有的理论结构之间的新关系。结构化序列关系描述了变量之间的排序如何随着新上下文相对于先前上下文的变化而变化。例如，在医院实施新政策所涉及的步骤顺序可能因医疗环境而异（例如，以专科和普通医学为重点的医院）。构建递归关系涉及到确定理论结构之间的互易因果动力学如何作为上下文的函数而变化。当一个人试图做一个理论贡献通过将现有理论应用于新的背景，通常会有助于调用这七个过程中的一个或多个来加强理论贡献。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;识别微妙的关系功能形式&lt;/strong&gt;。许多理论命题都是以暗示变量之间线性关系的方式提出的。短语“随着X的增加，Y减少”和“随着X增加，Y增加”“通常意味着线性关系。然而，变量可能以具有非平凡理论和/或实践意义的非线性方式进行关联。例如，当绘制态度与行为的关系时，人们可能会认为，对于某些行为，只有当对执行行为的态度相当积极时，人们才会有足够的活力来努力执行行为。这表明，低于一定的态度积极阈值，态度和行为将是无关的，但高于该阈值，更积极的态度将导致更高水平的行为（见van Doorn，Verhoef，Bijmolt，2007），但如果态度变化发生在阈值以上，则它们可能具有欣赏效果。这种非线性函数可能解释了基于态度干预的文献综述中不一致的结果。例如，未能发现干预对行为的影响的研究可能导致了低于阈值的变化，而观察到干预对行为影响的研究则可能导致了高于阈值的态度变化。因此，做出理论贡献的另一种方式是以更集中的方式说明与两个或多个变量相关的函数，并详细说明该函数的理论和实践含义。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;确定一个事件的未预见/未预料的后果&lt;/strong&gt;。做出理论贡献的另一种方式是引起人们对一个新的后果或理论的关注，也许是一个“未预料的结果”。例如，全球化将工厂带到了发展中国家的许多农村地区，带来了增加经济机会、更高收入和稳定工作的承诺。然而，工厂引入这些社区产生了一系列社会和文化影响，包括饮食习惯、家庭动态和工作模式的变化，这些变化产生了整个社区的积极和消极结果（Goldin，2009）。如果一个理论不包括与焦点变量相关的所有后果，识别和阐述新的可能会有所帮助。计算机模拟作为产生和完善理论的一种手段越来越受欢迎。模拟可以采取多种形式，但它们通常处理复杂、大规模的系统，这些系统既有随机性元素，也有动态相互依赖性。在被称为基于代理的建模的策略中，理论家可能会创建大量模拟的“单位”（例如人）在计算机上，根据一套计算机算法/规则为他们灌输某些属性或品质，并为单元设计互动和经验学习规则，所有这些都是基于理论的。然后，系统在计算机上启动，并记录结果和结果。例如，此类模拟用于建模并更深入地了解交通拥堵、紧急情况下的人群行为和污染动力学等现象。通常，出乎意料的突发结果将在模拟过程中表现出来，记录这些结果可以做出理论贡献。（关于社会科学中的一个例子，请参阅Whitehouse、Kahn、Hochberg和Bryson[2012]关于宗教传播的工作及其文章的多篇评论。）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;丰富和加深对已建立的数量关联的理解&lt;/strong&gt;。社会科学中的概念关系经常使用定量方法进行测试。基于定量的方法的一个优点是，它们允许我们收集大量人口的数据，并使用方便和揭示的统计方法总结数据趋势。这样的数据也使人们能够以独立的人类头脑根本无法解决的方式来解决复杂的多元问题。然而，&lt;strong&gt;这种效率和复杂性往往是有代价的，即牺牲了通过深入访谈和/或其他定性方法更好地实现的细节、丰富性和洞察力&lt;/strong&gt;。做出理论贡献的另一种策略是确定一个有意义的理论命题，该命题已被定量地确立，但随后对其进行定性研究，以丰富、阐述、建立甚至修正它。例如，众所周知，认知行为疗法（CBT）是一种相对有效的抑郁症心理社会治疗方法，这一结果在基于定量的随机试验中得到了反复证明（例如，Driesen-Hollon，2010）。然而，很少有研究对个体进行深入的定性访谈和/或收集详细的观察数据，了解他们在CBT之前、期间和之后的经历（CBT治疗通常持续数月）。理论和实践的见解几乎肯定会在这种数据收集的背景下出现。例如，定量研究往往发现已婚患者对CBT的反应更好；对于没有合并精神分裂症的患者也是如此。定性研究可能会探索这些记录在案的对CBT的差异反应的基础，以发展围绕它们的丰富理论。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发展类型学/分类法&lt;/strong&gt;。另一种类型的理论贡献是构建一个有意义的类型学或分类学，然后围绕它构建理论或实际应用。“类型学/分类学的构建可以纯粹基于逻辑，也可以使用经验。例如，Greenberg（1987）援引两个维度对组织正义理论进行了分类：（a）反应性维度与主动性维度，即关注寻求纠正不公正与关注努力实现正义；（b）过程内容维度，即，重点关注组织为确保薪酬和认可等结果得到公平分配而使用的流程，而不是确定公平输出的程度。格林伯格在这两个维度的因子组合的基础上创建了一个2x2的类型学，然后对每一个维度本身进行了理论分析“类型学”和“分类学”之间经常有区别，但我们在这里可以互换使用这些术语；以及综合考虑的四类理论。在这种情况下，类型学作为一种理论综合的手段。在另一项研究中，Abraham和Michie（2008；另见Michie等人，2013）在获得并审查了195种行为干预措施的手册后，制定了健康干预措施中使用的行为改变技术的分类法。确定了二十六种不同的策略（例如，处理时间管理；提供关于行动或不行动的好处和成本的信息；提供关于他人是否会批准或不批准任何拟议的行为改变的信息；促使识别障碍以及如何处理障碍；提供一般鼓励）。其想法是使用这种分类法来确定哪些技术在不同的环境和不同的人群中最有效。最后一个例子是，在一项定性研究中，Jaccard、Levitz及其同事（2018）采访了帮助女性做出与避孕相关决定的避孕顾问。他们探讨了咨询师对扩大咨询范围的感受，将围绕怀孕时间的计划生育决定与女性当前的生活环境和职业目标相结合。基于这些观点，Jaccard及其同事构建了实施此类咨询的挑战和困难的分类法，然后用于制定咨询师的培训协议和发展该领域的理论。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;引进或应用其他学科的宏大理论和框架&lt;/strong&gt;。社会学家经常区分宏大理论和中层理论。大理论是基础广泛、全面的框架，代表了对广泛现象的思考方式，并在几十年的科学研究中被证明是有用的。例子包括唯物主义、结构主义、功能主义、象征互动主义、后现代主义和进化论。中层理论的范围更窄，专注于特定的现象，通常在比宏大理论更有限的意义上映射变量或概念之间的关系。另一种形式的理论贡献是将其中一个伟大的理论应用于实质性领域，为该领域提供新的理论见解。例如，如果一个人对医疗保健提供系统感兴趣，那么从唯物主义、结构主义和/或功能主义的角度思考这些系统可能会获得什么见解？这种做出理论贡献的策略的例子包括Acevedo（2007）、Golding和Murdock（1978）、Katz（1960）以及Timmermans和Almeling（2009）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;将多种理论综合成一个统一的框架&lt;/strong&gt;。另一种形式的理论贡献是将多种理论综合成一个单一的、更全面的理论结构，从而对感兴趣的现象有更深入的理解。例如，Fishbein及其同事（2001）试图将理性行动理论、社会学习理论、自我调节理论、健康信念模型和主观文化理论整合为一个统一的健康行为研究框架。Pound和Campbell（2015）对合成过程进行了表征过程分为三个步骤：（a）合成准备，提取和总结部分相关理论；（b） 综合，其中对理论的收敛点和发散点进行比较，然后将其合并为一个更大的整体，以解决发散点；以及（c）合成精细化，其中对合成进行询问以获得进一步的理论见解。Pound和Campbel提供了将这三个步骤应用于健康社会学理论的例子。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发展测量理论&lt;/strong&gt;。测量是科学的核心。尽管传统上它被认为是一个方法论问题，但测量有一个理论基础，可以围绕它进行理论构建。因此，人们可以发展和评估有关测量的理论。例如，当人们自我报告他们参与某一行为的频率时（例如，投票给民主党人、去教堂），他们必须（a）解释和理解研究人员提出的问题，（b）做出构成他们对该问题答案的认知判断，然后（c）将他们脑海中的答案转化为研究人员提供的回答格式。关于理解、判断和翻译判断的过程的理论化最终是衡量理论的基础。因此，贡献也可以采取关于测量的理论化的形式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使对立的理论解释相互对立&lt;/strong&gt;。做出理论贡献的另一个策略是进行一项研究，使两种相互竞争的理论相互对立。这是普拉特（1964）称之为强推理的经典策略。例如，Skurka及其同事（2018）指出，美国法院阻止在香烟包装上使用图形警告，因为这些警告是不必要的情绪化和恐吓，而不是告知消费者。Skurka及其同事确定了几个理论，这些理论对负面影响、健康风险信念和吸烟决定之间的关系做出了相反的预测，并在多个实验中对这些理论进行了竞争性测试。这些研究得出的结果与断言情感信息的信息价值的理论相一致，而与没有断言这种动态的理论相比。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对既定现象提出替代解释&lt;/strong&gt;。一种相关类型的理论贡献是对“既定”的理论命题提出替代解释，然后收集数据来评估替代解释的可行性。例如，有充分的证据表明，青少年的宗教信仰和毒品使用呈反比，因此宗教信仰越强的青少年使用非法药物的可能性越小（例如，Wallace和Bachman，1991）。这通常被解释为青春期宗教的保护价值。然而，这种联系的发展可能不是因为宗教信仰对药物使用有因果影响，而是恰恰相反。也许年轻人使用或不使用毒品的原因与他们的宗教信仰无关。相反，随着年轻人越来越多地参与毒品活动，他们可能会退出干扰他们吸毒或违背他们吸毒偏好的活动，例如去教堂。换句话说，吸毒导致宗教信仰减少，而不是宗教信仰导致药物使用减少。这些解释中哪一种更有可能起作用是一个令人感兴趣的问题。&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>模型</title><link>https://yangzh.cn/posts/posts/%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Mon, 24 Jul 2023 20:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;p&gt;科学家在提到概念领域时经常使用的一个术语是模型(models)。社会科学文献中的理论和模型之间的区别并不总是显而易见的。例如，各种权威认为模型是一种特殊类型的理论（例如，Coombs，Dawes，Tversky，1970年，第4页；Kaplan，1964年，第263页）；是理论的一部分（Sheth，1967年，第720页；Torgerson，1958年，第4页）；源自理论（例如，Pap，1962，第355页）；是理论的简化版本（例如，Carnap1971，第54页）；代表两种或两种以上理论之间的通信（Brodbeck，1968）；或代表对理论的具体解释（例如，Green&amp;amp;Tull，1975，第42页）。其他人认为这些术语是同义词（参见Dubin，1976；Simon&amp;amp;Newell，1956）。有时，这些区别似乎是任意的和/或折衷的。事实上，科学家们还没有就理论和模型之间的区别达成共识。多数情况下，研究认为理论、模型是可以互换的。&lt;/p&gt;</description></item><item><title>主体间性</title><link>https://yangzh.cn/posts/posts/%E4%B8%BB%E4%BD%93%E9%97%B4%E6%80%A7.html/</link><pubDate>Mon, 24 Jul 2023 19:52:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%B8%BB%E4%BD%93%E9%97%B4%E6%80%A7.html/</guid><description>&lt;p&gt;&amp;quot;主体间性&amp;quot;（Intersubjectivity）是社会科学中的一个重要概念，特别是在哲学、社会学和心理学等领域。&lt;/p&gt;
&lt;p&gt;在一般意义上，主体间性是指两个或多个主体（人）之间的共享、相互理解和意义的创建。它强调的是人们如何通过交流和互动来达成对世界的共同理解。主体间性的概念对于理解人类社会、文化和交流等方面非常关键。&lt;/p&gt;</description></item><item><title>变量</title><link>https://yangzh.cn/posts/posts/%E5%8F%98%E9%87%8F.html/</link><pubDate>Mon, 24 Jul 2023 19:20:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8F%98%E9%87%8F.html/</guid><description>&lt;p&gt;在社会科学的量化研究中，&amp;quot;变量&amp;quot;（Variables）是量化研究中的基本元素，是有不同取值的构念，如性别、时间、宗教等等。变量可以是明显可观察的，如一个人的身高或年龄；也可以是通过特定的测量工具获得的，如一个人的智力测试得分。&lt;/p&gt;</description></item><item><title>构念</title><link>https://yangzh.cn/posts/posts/%E6%9E%84%E5%BF%B5.html/</link><pubDate>Mon, 24 Jul 2023 18:45:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%9E%84%E5%BF%B5.html/</guid><description>&lt;p&gt;构念(Constructs)是指那些由更低抽样层次&lt;a href="%E6%A6%82%E5%BF%B5.qmd"&gt;概念&lt;/a&gt;构成的不能直接观察或衡量的高阶概念。例如&lt;code&gt;动物&lt;/code&gt;就是由比&lt;code&gt;猫&lt;/code&gt;、&lt;code&gt;狗&lt;/code&gt;、&lt;code&gt;蛇&lt;/code&gt;等等概念构成的高阶概念，&lt;code&gt;动物&lt;/code&gt;就称为构念。我们形成和使用构念，因为它们是一种强大的手段，例如，说“所有动物都必须吃才能生存”要比说“所有猿类、狗、猫、青蛙、蛇等都必须吃才会生存”容易得多。[@jaccard2020a, pp, 14-15]&lt;/p&gt;
&lt;p&gt;构念不能直接观察或衡量但是可以通过其他相关变量间接测量。例如，社会学家研究人们的社会阶层，这是一个不能直接测量的概念，但可以通过收入、教育程度、职业等指标来间接衡量。构念是通过数学建模或其他统计技术来处理的，以便在研究中充分考虑到这些概念或属性。构念在社会科学研究中发挥着重要的角色，特别是在量化研究中。&lt;/p&gt;</description></item><item><title>概念</title><link>https://yangzh.cn/posts/posts/%E6%A6%82%E5%BF%B5.html/</link><pubDate>Mon, 24 Jul 2023 18:38:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%A6%82%E5%BF%B5.html/</guid><description>&lt;p&gt;概念（Concept）是我们思维过程中的基本构建块。它们是我们理解世界的方式。概念是一种一般化的抽象，可以应用于许多具体实例。它们是通过学习和经验获取的，并且通常是共享的。概念可以是有形的实体，也可以是无形的现象。它们是对现实（Reality）的一种理解，而非现实本身。概念不仅帮助我们识别和分类经验，还可以帮助我们理解和解释现实世界。但是，概念也可以是有争议的，因为它们可能在不同的文化和社会背景中有不同的含义。概念是我们理解现实世界的关键，它们为我们提供了处理和解释经验的框架。[@jaccard2020a, pp. 36-38]&lt;/p&gt;</description></item><item><title>现实的本质</title><link>https://yangzh.cn/posts/posts/%E7%8E%B0%E5%AE%9E%E7%9A%84%E6%9C%AC%E8%B4%A8.html/</link><pubDate>Mon, 24 Jul 2023 17:23:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%8E%B0%E5%AE%9E%E7%9A%84%E6%9C%AC%E8%B4%A8.html/</guid><description>&lt;p&gt;虽然有一个外部现实（Reality）是存在的，但我们永远无法真正了解其中的细节和真实的法则。现实是一个由人类思维建构出来的，这个建构是与某个特定的时间和社会背景相联系的。因此，我们所知的一切都是我们对这些经验的解释或建构。对于科学的实践，这意味着科学家们需要多角度地看待一个特定的命题，以便得到更加复杂和全面的解读，而不是只是简单地按照一个现实的图景去理解世界。普遍认为我们体验到的世界是一个复杂的、动态的、独特的和大部分模糊的现象和事件流。更进一步，我们的感官无法直接探测到这些现象和事件的绝大部分，因此我们需要使用科学工具和技术去帮助我们掌握世界的奥秘。我们也需要注意到，这些特性并不仅仅适用于外部环境，对个人的“内部环境”同样适用。[@jaccard2020a, pp. 31-34]&lt;/p&gt;</description></item><item><title>理论</title><link>https://yangzh.cn/posts/posts/%E7%90%86%E8%AE%BA.html/</link><pubDate>Mon, 24 Jul 2023 16:58:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;理论是指对某一现象的系统化解释，它包括一系列的概念、关系和预测。[@jaccard2020a, p29]理论通常是基于对现有知识的归纳和综合，并经过逻辑和科学验证来支持或否定。&lt;/p&gt;
&lt;h2 id="理论的作用"&gt;理论的作用&lt;/h2&gt;
&lt;p&gt;理论在社会科学研究中有多种作用，包括以下几个方面：[@jaccard2020a, p31]&lt;/p&gt;</description></item><item><title>框架理论</title><link>https://yangzh.cn/posts/posts/%E6%A1%86%E6%9E%B6%E7%90%86%E8%AE%BA.html/</link><pubDate>Sun, 23 Jul 2023 18:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%A1%86%E6%9E%B6%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;&lt;a href="../people/%E5%8E%84%E6%96%87%C2%B7%E6%88%88%E5%A4%AB%E6%9B%BC.qmd"&gt;厄文·戈夫曼&lt;/a&gt;（Erving Goffman）的框架分析（Frame Analysis）理论，初次在1974年的著作《Frame Analysis: An Essay on the Organization of Experience》中被提出，主要探讨了人们如何理解、分类并对事件进行反应。人们在面对社会事件时，会借助&amp;quot;框架&amp;quot;（frames）来解释和理解，这些框架对于我们如何认知周围的世界，以及如何在社会中行动起着决定性的作用。&lt;/p&gt;</description></item><item><title>拟剧理论</title><link>https://yangzh.cn/posts/posts/%E6%8B%9F%E5%89%A7%E7%90%86%E8%AE%BA.html/</link><pubDate>Sun, 23 Jul 2023 18:12:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8B%9F%E5%89%A7%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;拟剧理论（Dramaturgical Analysis）是厄文·戈夫曼在其1959年的著作《The Presentation of Self in Everyday Life》中提出的理论。该理论将社会生活比喻为舞台上的戏剧，人们在社会互动中扮演着各种角色，他们的行为像是在为其他人（观众）表演。根据这个理论，个体的行为和社会互动可以被看作是一种表演，以期影响他人的印象。&lt;/p&gt;</description></item><item><title>归因理论</title><link>https://yangzh.cn/posts/posts/%E5%BD%92%E5%9B%A0%E7%90%86%E8%AE%BA.html/</link><pubDate>Sun, 23 Jul 2023 17:23:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%BD%92%E5%9B%A0%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;归因理论（Attribution Theory）是心理学中的一个理论，主要关注人们如何解释（即归因）自己或他人的行为。归因理论研究的重点是我们如何将因果关系归因于特定行为。&lt;/p&gt;
&lt;p&gt;归因理论可分为两大类：内部归因和外部归因。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;内部归因：也被称为个体归因，它是指我们将个体的行为结果归因于他们的特性，如能力、性格、态度或努力。例如，如果一个人在考试中得了高分，我们可能会将其归因于他的聪明才智或勤奋努力。&lt;/p&gt;</description></item><item><title>社会排斥</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E6%8E%92%E6%96%A5.html/</link><pubDate>Sun, 23 Jul 2023 17:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E6%8E%92%E6%96%A5.html/</guid><description>&lt;p&gt;&amp;quot;社会排斥&amp;quot;（Social Exclusion）是一个社会学术语，它描述的是一种状态，即个人或者群体被剥夺了参与社会正常活动的权利或者机会。这种剥夺可能是经济的，例如贫困或失业；也可能是社会的，例如社会歧视或者隔离；还可能是政治的，例如被剥夺了参与政治活动或者表达政治意见的权利。&lt;/p&gt;</description></item><item><title>社会建构主义</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E5%BB%BA%E6%9E%84%E4%B8%BB%E4%B9%89.html/</link><pubDate>Sun, 23 Jul 2023 17:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E5%BB%BA%E6%9E%84%E4%B8%BB%E4%B9%89.html/</guid><description>&lt;p&gt;社会建构主义（Social Constructionism）是一种社会学理论，它主张我们的知识和对世界的理解是通过社会交互和社会过程建构出来的，而不是来自对客观现实的直接观察。&lt;/p&gt;
&lt;p&gt;这个理论强调了语言、交流和社会实践在形成我们的理解和认知中的重要性。社会建构主义认为，我们的很多认知和理解，如性别角色、种族认同、疾病的定义等，其实是社会构建的结果，而非自然或生物的固定现象。&lt;/p&gt;</description></item><item><title>具身知识</title><link>https://yangzh.cn/posts/posts/%E5%85%B7%E8%BA%AB%E7%9F%A5%E8%AF%86.html/</link><pubDate>Sun, 23 Jul 2023 16:05:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%85%B7%E8%BA%AB%E7%9F%A5%E8%AF%86.html/</guid><description>&lt;p&gt;具身知识（Embodied Knowledge）是一种在人体中通过实践、经验和感觉而形成的知识。它通常不容易通过语言或文字进行传递，因为它是通过直接参与和体验来获取的。具身知识在很大程度上是主观的和个人化的，它强调知识与我们身体的互动性和个人体验。&lt;/p&gt;</description></item><item><title>学术生产取向的浏览器设置</title><link>https://yangzh.cn/posts/posts/edge.html/</link><pubDate>Sun, 23 Jul 2023 15:32:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/edge.html/</guid><description>&lt;h2 id="英文网页翻译"&gt;英文网页翻译&lt;/h2&gt;
&lt;p&gt;推荐安装《沉浸式翻译》插件，它的主要特性包括：&lt;/p&gt;
&lt;p&gt;沉浸式阅读外文网站：通过智能识别网页主内容区域并进行双语对照翻译，沉浸式翻译提供了全新的外文阅读体验。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307231631859.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="文献来源质量提示"&gt;文献来源质量提示&lt;/h2&gt;
&lt;p&gt;推荐安装easyScholar插件，尽量阅读高质量来源文献。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307231639030.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="zotero-connector"&gt;Zotero Connector&lt;/h2&gt;
&lt;p&gt;Zotero 为开源知识管理工具，借助 &lt;a href="https://www.zotero.org/download/connectors"&gt;Zotero Connector&lt;/a&gt;，可以快速地添加网页、论文、专著、视频等信息到知识库中。&lt;/p&gt;</description></item><item><title>滑坡谬误</title><link>https://yangzh.cn/posts/posts/%E6%BB%91%E5%9D%A1%E8%B0%AC%E8%AF%AF.html/</link><pubDate>Sun, 23 Jul 2023 14:21:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%BB%91%E5%9D%A1%E8%B0%AC%E8%AF%AF.html/</guid><description>&lt;p&gt;滑坡谬误（Slippery Slope Fallacy）是一种逻辑谬误，指的是一种假设，即如果允许某个事件发生，那么一连串的后续事件将必然发生，最终导致我们不希望的或灾难性的结果。但这种假设往往没有充足的理由或证据来支持这种必然的因果关系。&lt;/p&gt;
&lt;p&gt;案例：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;quot;如果我们允许孩子们在周末玩电子游戏，他们就会变得上瘾，然后他们就会忽视学业，最终，他们就会无法获得好的工作和成功的生活。&amp;quot; 这也是一个滑坡谬误的例子，因为它假设了允许孩子们玩电子游戏必然会导致他们的生活失败，而没有考虑到适当的时间管理和游戏控制。&lt;/li&gt;
&lt;li&gt;“如果我们允许孩子们在学校中使用手机，那么他们就会在课堂上分心，然后他们的成绩就会下降，最终他们就会辍学。”这个论断没有足够的证据证明使用手机必然会导致分心、成绩下降甚至辍学。&lt;/li&gt;
&lt;li&gt;&amp;quot;如果我们在公园里允许人们烧烤，那么他们就会开始在那里举办各种派对，然后公园就会变得嘈杂和混乱，最终，公园就会变得完全不可使用。&amp;quot; 这是一个滑坡谬误的例子，因为它假设了允许烧烤必然会导致公园不可使用，而忽视了可能的管理和规制措施。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;滑坡谬误常常被用在政治和道德辩论中，用来反对某个立场或政策，通过假设一种极端的负面结果来引发恐惧或担忧。然而，这种论证通常被视为不合逻辑的，因为它基于对未来的无根据的假设，而忽视了可能的中间步骤和变数。在评价这样的论证时，我们需要批判性地思考其假设的合理性和证据的充足性。&lt;/p&gt;</description></item><item><title>既定观点用词</title><link>https://yangzh.cn/posts/posts/%E6%97%A2%E5%AE%9A%E8%A7%82%E7%82%B9%E7%94%A8%E8%AF%8D.html/</link><pubDate>Sun, 23 Jul 2023 13:49:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%97%A2%E5%AE%9A%E8%A7%82%E7%82%B9%E7%94%A8%E8%AF%8D.html/</guid><description>&lt;p&gt;&amp;quot;既定观点用词&amp;quot;（loaded terms）是指那些包含或暗示某种观点、立场或情绪的词汇。这些词汇在表达时，通常会带有某种积极或消极的含义，或者对某个特定的人、群体、事物或情况带有某种评价。它们通常用于影响听众或读者的看法，并激发特定的情感反应。&lt;/p&gt;</description></item><item><title>概念的外延与内涵</title><link>https://yangzh.cn/posts/posts/%E6%A6%82%E5%BF%B5%E7%9A%84%E5%A4%96%E5%BB%B6%E4%B8%8E%E5%86%85%E6%B6%B5.html/</link><pubDate>Sun, 23 Jul 2023 13:30:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%A6%82%E5%BF%B5%E7%9A%84%E5%A4%96%E5%BB%B6%E4%B8%8E%E5%86%85%E6%B6%B5.html/</guid><description>&lt;p&gt;&amp;quot;外延&amp;quot;和&amp;quot;内涵&amp;quot;是哲学和语义学中用来描述概念含义的两个基本术语。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;外延（Extension）：一个概念的外延是指所有属于该概念的实例或成员。例如，“猫”的外延包括所有的猫，无论是家猫、野猫、狮子、虎等。换句话说，一个概念的外延是所有符合该概念定义的具体对象。&lt;/p&gt;</description></item><item><title>刻板印象</title><link>https://yangzh.cn/posts/posts/%E5%88%BB%E6%9D%BF%E5%8D%B0%E8%B1%A1.html/</link><pubDate>Sun, 23 Jul 2023 12:27:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%88%BB%E6%9D%BF%E5%8D%B0%E8%B1%A1.html/</guid><description>&lt;p&gt;刻板印象是对特定类别人群的过度概括的信念。它们是人们对某个群体持有的简化和标准化的概念或形象。刻板印象可以基于种族、民族、年龄、性别、性取向或任何其他特征。它们通常是无意识的，可以影响一个人如何看待其他个人和群体。&lt;/p&gt;
&lt;p&gt;刻板印象既可以是积极的，也可以是消极的，但它们都有可能歪曲个人。刻板印象的危险在于，它们可能导致偏见态度、歧视行为以及无法理解和欣赏个人的独特特征。&lt;/p&gt;</description></item><item><title>批判性思维</title><link>https://yangzh.cn/posts/posts/%E6%89%B9%E5%88%A4%E5%BC%8F%E6%80%9D%E7%BB%B4.html/</link><pubDate>Sun, 23 Jul 2023 12:06:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%89%B9%E5%88%A4%E5%BC%8F%E6%80%9D%E7%BB%B4.html/</guid><description>&lt;p&gt;批判性思维（Critical Thinking）是一种理性思考的过程，目的是对信息进行分析和评估，并在此基础上做出判断或决策。批判性思维涉及到搜集相关信息、识别关键问题、理解逻辑关系、评估论据和证据的质量，以及形成基于证据的结论。&lt;/p&gt;
&lt;p&gt;批判性思维的关键元素包括：&lt;/p&gt;</description></item><item><title>结构方程模型</title><link>https://yangzh.cn/posts/posts/%E7%BB%93%E6%9E%84%E6%96%B9%E7%A8%8B%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Sat, 22 Jul 2023 21:44:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%BB%93%E6%9E%84%E6%96%B9%E7%A8%8B%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;p&gt;结构方程模型（Structural Equation Modeling，简称SEM）是一种复杂的统计技术，用于检测多个研究变量之间的关系。结构方程模型的主要用途包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;因果模型：通过SEM，研究人员可以测试假设的因果关系。例如，研究人员可能对教育程度、工作满意度和生活满意度之间的关系感兴趣。在这种情况下，可以使用SEM来构建一个模型，其中教育程度是自变量，工作满意度和生活满意度是因变量。&lt;/li&gt;
&lt;li&gt;测量模型：SEM还可以用来测试潜在变量（即不能直接观察到的抽象概念，如智力、满意度等）的测量模型。SEM可以帮助研究者理解一个或多个观察变量（例如，智力测试的分数）如何与潜在变量相关。&lt;/li&gt;
&lt;li&gt;路径分析：SEM可以进行路径分析，以检查多个自变量和因变量之间的关系。这在复杂的模型中非常有用，例如，当一个因素通过多个途径影响结果时。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;SEM主要在以下几种情况下使用：&lt;/p&gt;</description></item><item><title>认知</title><link>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5.html/</link><pubDate>Sat, 22 Jul 2023 20:45:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5.html/</guid><description>&lt;p&gt;认知是指获得知识和理解所涉及的心理过程。这些过程包括思考、认识、记忆、判断、解决问题和感知。认知是响应环境刺激、理解语言、识别模式、解决问题和做出决定等行动的核心。&lt;/p&gt;
&lt;p&gt;有几个主要的认知过程：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;感知：识别和解释感官刺激的过程，如视觉、声音、气味等。&lt;/li&gt;
&lt;li&gt;注意：专注于特定刺激或环境方面而忽略其他方面的能力。&lt;/li&gt;
&lt;li&gt;内存：编码、存储和检索信息的过程。&lt;/li&gt;
&lt;li&gt;语言：理解和使用复杂的符号系统进行交流。&lt;/li&gt;
&lt;li&gt;学习：通过经验、学习或指导获得知识和技能。&lt;/li&gt;
&lt;li&gt;解决问题：识别障碍并制定克服障碍的策略。&lt;/li&gt;
&lt;li&gt;决策：评估和选择选项。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;认知科学是一个跨学科领域，来自心理学、神经科学、语言学、哲学、计算机科学和人类学等研究人员，他们试图了解思维（mind）。&lt;/p&gt;</description></item><item><title>理性选择理论</title><link>https://yangzh.cn/posts/posts/%E5%90%88%E7%90%86%E8%A1%8C%E5%8A%A8%E7%90%86%E8%AE%BA.html/</link><pubDate>Sat, 22 Jul 2023 20:40:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%90%88%E7%90%86%E8%A1%8C%E5%8A%A8%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;理性选择理论（Rational Choice Theory）是经济学和社会科学中的一个基本原则，它假设个人根据自己的利益做出决定。更具体地说，它指出，当个人面临不同的选择时，他们会选择可能给他们带来最大利益的选择。&lt;/p&gt;
&lt;p&gt;根据这一理论，个人是一个理性的参与者，在做出决定之前会仔细权衡可能的替代方案的成本和收益。该原则用于模拟社会和经济行为，包括选民、消费者、工人和企业的行为。&lt;/p&gt;</description></item><item><title>社会规范</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E8%A7%84%E8%8C%83.html/</link><pubDate>Sat, 22 Jul 2023 20:38:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E8%A7%84%E8%8C%83.html/</guid><description>&lt;p&gt;社会规范（social norms）是指一个社区、群体或社会普遍接受的行为规则或期望。这些规范可以是明示的，比如法律或政策，也可以是暗示的，比如礼节或习俗。社会规范定义了在特定情境下认为是适当或不适当的行为。&lt;/p&gt;
&lt;p&gt;社会规范在我们的日常生活中起着重要作用。它们有助于维护社会秩序，为人们提供行为指引，并帮助我们理解他人的行为。违反社会规范通常会引发社会的不满或制裁，比如谴责、惩罚或排斥。&lt;/p&gt;</description></item><item><title>意见领袖</title><link>https://yangzh.cn/posts/posts/%E6%84%8F%E8%A7%81%E9%A2%86%E8%A2%96.html/</link><pubDate>Sat, 22 Jul 2023 20:36:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%84%8F%E8%A7%81%E9%A2%86%E8%A2%96.html/</guid><description>&lt;p&gt;意见领袖（Opinion Leader）是指在某个特定领域或社区中，因其专业知识、经验、地位或社会联系而能够影响他人观点和行为的个人。他们通常是信息的主要来源，并在创新扩散过程中发挥着关键作用。&lt;/p&gt;
&lt;p&gt;意见领袖可以在各种各样的领域中出现，例如时尚、科技、政治、健康、教育等。他们可能是专业人士，例如医生或律师；也可能是公众人物，例如名人或政治领袖；或者是社区领袖，例如教育工作者或宗教领袖。&lt;/p&gt;</description></item><item><title>创新扩散</title><link>https://yangzh.cn/posts/posts/%E5%88%9B%E6%96%B0%E6%89%A9%E6%95%A3.html/</link><pubDate>Sat, 22 Jul 2023 20:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%88%9B%E6%96%B0%E6%89%A9%E6%95%A3.html/</guid><description>&lt;p&gt;创新扩散理论是由埃弗雷特·罗杰斯（Everett Rogers）在1962年提出的，它是用来解释新的思想、产品或实践在特定的社区中如何传播和被接受的理论。&lt;/p&gt;
&lt;p&gt;根据罗杰斯的理论，创新的扩散过程通常包括以下几个阶段：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;知识：在这个阶段，个体或组织首次了解到新的创新，并开始了解其功能和用途。&lt;/li&gt;
&lt;li&gt;说服：在这个阶段，个体或组织开始形成对创新的态度，这可能基于他们的个人需求、价值观或创新的相对优势。&lt;/li&gt;
&lt;li&gt;决策：在这个阶段，个体或组织决定是否接受或拒绝创新。&lt;/li&gt;
&lt;li&gt;实施：如果决定接受创新，那么在这个阶段，个体或组织将开始实际使用创新。&lt;/li&gt;
&lt;li&gt;确认：在这个阶段，个体或组织将评估创新的结果，并决定是否继续使用。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;根据他们接受创新的速度，罗杰斯将人们分为五类：创新者（innovators）、早期接受者（early adopters）、早期多数（early majority）、后期多数（late majority）和落后者（laggards）。&lt;/p&gt;</description></item><item><title>邻里效应</title><link>https://yangzh.cn/posts/posts/%E9%82%BB%E9%87%8C%E6%95%88%E5%BA%94.html/</link><pubDate>Sat, 22 Jul 2023 19:23:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%82%BB%E9%87%8C%E6%95%88%E5%BA%94.html/</guid><description>&lt;p&gt;邻里效应（Neighborhood Effect）是指居住在同一社区或附近的人们之间的相互影响和依存关系。这种关系可以是积极的，例如互相帮助、关心和交流，也可以是消极的，例如互相竞争、争吵和冲突。邻里效应是城市社会学和社区研究的重要课题之一，因为它直接影响到社区的和谐程度、居民的生活质量和城市的整体发展水平。&lt;/p&gt;</description></item><item><title>如何从多篇文献中建立自己的知识体系</title><link>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E6%95%B4%E5%90%88%E5%A4%9A%E7%AF%87%E6%96%87%E7%8C%AE.html/</link><pubDate>Sat, 22 Jul 2023 16:14:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E6%95%B4%E5%90%88%E5%A4%9A%E7%AF%87%E6%96%87%E7%8C%AE.html/</guid><description>&lt;p&gt;在研究过程中，如何从众多文献中构建并发展自己的知识体系，成为了一项必须掌握的核心技能。缺乏对某个领域明确而全面的知识体系，我们将无法准确判断一篇论文是否与这个领域紧密相关，进而可能会陷入无休止地阅读文献的迷茫之中。因此，对于研究人员来说，尽早确定并建立自己的研究领域是极其重要的，这对于其职业发展起着决定性的作用。&lt;/p&gt;</description></item><item><title>情感叙事</title><link>https://yangzh.cn/posts/posts/%E6%83%85%E6%84%9F%E5%8F%99%E4%BA%8B.html/</link><pubDate>Sat, 22 Jul 2023 15:48:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%83%85%E6%84%9F%E5%8F%99%E4%BA%8B.html/</guid><description>&lt;p&gt;&amp;quot;情感叙事&amp;quot;（Emotional Narratives）通常指的是通过故事形式表达或探讨情感的方式。情感叙事是一个广义的概念，它涵盖了从简单的个人经历到复杂的小说或电影剧本中的情感线索的各种形式。&lt;/p&gt;
&lt;p&gt;情感叙事的重要性在于它提供了一个理解和分享我们内在情感世界的方式。通过描述和阐述个人的情感体验，我们可以更好地理解自己和他人，同时也有可能通过这种方式处理一些情绪问题。&lt;/p&gt;</description></item><item><title>认知负荷</title><link>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E8%B4%9F%E8%8D%B7.html/</link><pubDate>Sat, 22 Jul 2023 14:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E8%B4%9F%E8%8D%B7.html/</guid><description>&lt;p&gt;认知负荷（Cognitive Load）是一个心理学概念，用来描述在完成特定任务时，工作记忆所承受的压力或负荷。认知负荷理论（Cognitive Load Theory）由教育心理学家约翰·斯威勒（John Sweller）在1980年代提出，主要应用于教育和学习环境的设计。&lt;/p&gt;</description></item><item><title>自下而上的加工</title><link>https://yangzh.cn/posts/posts/%E8%87%AA%E4%B8%8B%E8%80%8C%E4%B8%8A%E7%9A%84%E5%8A%A0%E5%B7%A5.html/</link><pubDate>Sat, 22 Jul 2023 13:55:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%87%AA%E4%B8%8B%E8%80%8C%E4%B8%8A%E7%9A%84%E5%8A%A0%E5%B7%A5.html/</guid><description>&lt;p&gt;&amp;quot;自下而上的加工&amp;quot;（Bottom-up processing）是心理学中的一个概念，描述的是一种信息处理的方式，其中感知的过程始于感官输入，例如视觉、听觉或触觉的刺激，然后这些刺激信息会被组织和解释为有意义的知觉体验。&lt;/p&gt;
&lt;p&gt;这个术语通常被用来形容在理解和识别感官输入的过程中，我们如何从细节开始（比如色彩、纹理、音高、嗅觉等），然后逐步将这些细节组合成更复杂的形状、对象、声音或气味。&lt;/p&gt;</description></item><item><title>自上而下的加工</title><link>https://yangzh.cn/posts/posts/%E8%87%AA%E4%B8%8A%E8%80%8C%E4%B8%8B%E7%9A%84%E5%8A%A0%E5%B7%A5.html/</link><pubDate>Sat, 22 Jul 2023 13:41:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%87%AA%E4%B8%8A%E8%80%8C%E4%B8%8B%E7%9A%84%E5%8A%A0%E5%B7%A5.html/</guid><description>&lt;p&gt;&amp;quot;自上而下的加工&amp;quot;（Top-down processing）是心理学中用于描述信息处理方式的一个术语，指的是人们在理解和识别感觉输入时，会使用已经存在的知识、期待和理解来影响和引导这个过程。&lt;/p&gt;
&lt;p&gt;例如，当你阅读一段文本时，你并不只是从单词（感觉输入）开始理解它，而是使用你的语言知识（比如对单词和语法的理解）、以及对这段文本可能意味着什么的预期（比如基于上下文或者你对主题的知识），来帮助你理解和解释这些单词。这就是一个自上而下的加工的例子。&lt;/p&gt;</description></item><item><title>希克定律</title><link>https://yangzh.cn/posts/posts/%E5%B8%8C%E5%85%8B%E5%AE%9A%E5%BE%8B.html/</link><pubDate>Sat, 22 Jul 2023 13:25:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%B8%8C%E5%85%8B%E5%AE%9A%E5%BE%8B.html/</guid><description>&lt;p&gt;希克定律（Hick's Law），或称希克-海姆定律，是一项描述人们做决定所需时间与选择的数量之间关系的行为心理学原理。希克定律由英国心理学家威廉·埃德蒙·希克和美国心理学家雷·海姆在1950年代中期共同提出。&lt;/p&gt;
&lt;p&gt;具体来说，希克定律表明，个体做决定的时间与其可选选择的对数成正比。这意味着可选项的数量越多，决策时间就越长。&lt;/p&gt;</description></item><item><title>米勒定律</title><link>https://yangzh.cn/posts/posts/%E7%B1%B3%E5%8B%92%E5%AE%9A%E5%BE%8B.html/</link><pubDate>Sat, 22 Jul 2023 13:20:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%B1%B3%E5%8B%92%E5%AE%9A%E5%BE%8B.html/</guid><description>&lt;p&gt;米勒定律（Miller's Law）是由心理学家乔治·米勒（George A. Miller）在1956年提出的，关于人类工作记忆容量的理论。米勒的论文标题是 &amp;quot;The Magical Number Seven, Plus or Minus Two&amp;quot;，这个标题也反映了这个定律的主要观点。&lt;/p&gt;
&lt;p&gt;米勒的研究表明，人的工作记忆（也就是你一次可以记住和处理的信息的数量）大约有7个单元，误差范围大约在2个单元。换句话说，大多数人在没有任何辅助手段的情况下，能够记住大约5到9个不同的项目。&lt;/p&gt;</description></item><item><title>费茨定律</title><link>https://yangzh.cn/posts/posts/%E8%B4%B9%E8%8C%A8%E5%AE%9A%E5%BE%8B.html/</link><pubDate>Sat, 22 Jul 2023 13:04:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%B4%B9%E8%8C%A8%E5%AE%9A%E5%BE%8B.html/</guid><description>&lt;p&gt;费茨定律（Fitts's Law）是由心理学家保罗·费茨（Paul Fitts）在1954年提出的，这是一个描述人类在完成定向动作任务时（例如，使用鼠标点击屏幕上的目标）动作时间与目标大小和目标距离之间关系的预测模型。&lt;/p&gt;
&lt;p&gt;费茨定律可以被表达为：&lt;/p&gt;
$$ MT = a + b \cdot \log_2 \Bigg(\frac{2D}{W}\Bigg) $$&lt;p&gt;其中:&lt;/p&gt;</description></item><item><title>迪特尔·拉姆斯设计十诫</title><link>https://yangzh.cn/posts/posts/%E8%BF%AA%E7%89%B9%E5%B0%94%E6%8B%89%E5%A7%86%E6%96%AF%E8%AE%BE%E8%AE%A1%E5%8D%81%E8%AF%AB.html/</link><pubDate>Sat, 22 Jul 2023 12:43:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%BF%AA%E7%89%B9%E5%B0%94%E6%8B%89%E5%A7%86%E6%96%AF%E8%AE%BE%E8%AE%A1%E5%8D%81%E8%AF%AB.html/</guid><description>&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307221242728.png" alt="迪特尔·拉姆斯"&gt;{#fig-Rams}&lt;/p&gt;
&lt;p&gt;迪特尔·拉姆斯（Dieter Rams）是一位著名的德国工业设计师，他在20世纪60年代和70年代为家用电器公司Braun工作，他的设计影响了现代工业设计的许多方面。他最知名的可能是他的&amp;quot;好设计的十大原则&amp;quot;，也被称为&amp;quot;设计十诫&amp;quot;。以下是这十个原则：&lt;/p&gt;</description></item><item><title>心理模型</title><link>https://yangzh.cn/posts/posts/%E5%BF%83%E7%90%86%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Sat, 22 Jul 2023 12:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%BF%83%E7%90%86%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;p&gt;心理模型（Mental Models）是我们用来解释和理解世界的内在框架。它们是我们大脑中的一种表示，用于帮助我们理解和预测我们所处环境的工作方式。心理模型可以基于我们的个人经验、观察或教育形成，并可以影响我们的行为、决策和观点。&lt;/p&gt;
&lt;p&gt;例如，你可能有一个关于重力的心理模型，即事物总是会向地面下落，这是基于你的生活经验和物理学的基本教育形成的。如果你看到一个物体在空中悬浮，这可能会挑战你的心理模型，因为它与你对重力如何工作的理解相矛盾。&lt;/p&gt;</description></item><item><title>认知组团</title><link>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E7%BB%84%E5%9B%A2.html/</link><pubDate>Sat, 22 Jul 2023 12:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AE%A4%E7%9F%A5%E7%BB%84%E5%9B%A2.html/</guid><description>&lt;p&gt;认知组团（Chunking）是一种通过将信息分组或&amp;quot;组团&amp;quot;来帮助记忆的策略。这种策略基于我们的工作记忆容量有限的理解，这意味着我们一次只能在工作记忆中处理有限数量的信息。&lt;/p&gt;
&lt;p&gt;例如，想象你需要记住一串数字，如身份证号：620103179610092215。对于大多数人来说，一次记住这18个数字可能会很困难。但是，如果我们将这些数字分成几个组，如6201-03-1796-1009-2215，那么这些数字就变得更容易记住了。在这个例子中，我们已经将18个单独的数字信息块变成了5个信息块。&lt;/p&gt;</description></item><item><title>笔记标记颜色体系</title><link>https://yangzh.cn/posts/posts/%E7%AC%94%E8%AE%B0%E6%A0%87%E8%AE%B0%E9%A2%9C%E8%89%B2%E4%BD%93%E7%B3%BB.html/</link><pubDate>Sat, 22 Jul 2023 11:47:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%AC%94%E8%AE%B0%E6%A0%87%E8%AE%B0%E9%A2%9C%E8%89%B2%E4%BD%93%E7%B3%BB.html/</guid><description>&lt;h2 id="使用颜色标记内容的优缺点"&gt;使用颜色标记内容的优缺点&lt;/h2&gt;
&lt;p&gt;颜色标记可以帮助突出关键信息和不同类型的内容，使读者能更快地理解和吸收信息；颜色编码可以使重温文献更加容易和高效，尤其是当你需要快速找到特定类型的信息时；颜色编码可以增强记忆，因为人类通常对视觉信息有很好的记忆。颜色标记可以使你更好地组织你的思维和理解，帮助你看到文献的不同部分和它们是如何连接在一起的。&lt;/p&gt;</description></item><item><title>Zotero</title><link>https://yangzh.cn/posts/posts/zotero.html/</link><pubDate>Fri, 21 Jul 2023 20:35:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/zotero.html/</guid><description>&lt;p&gt;Zotero 是一款开源免费、功能强大的文献管理、阅读及协作软件，具有跨平台、支持云同步、生态繁荣的特点。该软件由乔治梅森大学的罗伊·罗森茨维格历史与新媒体中心研发。&lt;/p&gt;
&lt;h2 id="功能介绍"&gt;功能介绍&lt;/h2&gt;
&lt;!--@include: ./_intro.md--&gt;
&lt;h2 id="优点"&gt;优点&lt;/h2&gt;
&lt;!--@include: ./_advantage.md--&gt;
&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;!--@include: ./_install.md--&gt;
&lt;h2 id="必要设置"&gt;必要设置&lt;/h2&gt;
&lt;!--@include: ./_settings.md--&gt;
&lt;h2 id="用zotero存储文献信息"&gt;用Zotero存储文献信息&lt;/h2&gt;
&lt;p&gt;在 Zotero 中，不但可以存储不同类型的文献元信息，还能将文献信息与文献电子版以及笔记组织在一起。在文献检索阶段，要养成将可能有用的资料添加到 Zotero 的习惯，以免发生想引用文献时不得不重复搜索的情况，尽量避免打断写作思路。&lt;/p&gt;</description></item><item><title>睡眠者效应</title><link>https://yangzh.cn/posts/posts/%E7%9D%A1%E7%9C%A0%E8%80%85%E6%95%88%E5%BA%94.html/</link><pubDate>Fri, 21 Jul 2023 19:15:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%9D%A1%E7%9C%A0%E8%80%85%E6%95%88%E5%BA%94.html/</guid><description>&lt;p&gt;&amp;quot;睡眠者效应&amp;quot;（Sleeper Effect）是社会心理学中的一个概念，最初由&lt;a href="../people/%E5%8D%A1%E5%B0%94%C2%B7%E9%9C%8D%E5%A4%AB%E5%85%B0.qmd"&gt;卡尔·霍夫兰&lt;/a&gt;和他的同事在研究说服和态度改变时提出。这个概念描述的是一种奇特现象，即来自低信誉或低可信度来源的信息可能在初始阶段没有产生显著的说服效果，但随着时间的推移，这种信息的影响力可能会增加，而人们对信息来源的记忆可能会减弱。&lt;/p&gt;
&lt;p&gt;也就是说，随着时间的推移，人们可能会忘记信息的来源，而只记得信息内容。因此，即使最初由于信息来源的低可信度而对信息有所保留，人们可能会在后来改变他们的态度，因为他们忘记了信息的来源，但记住了信息的内容。&lt;/p&gt;</description></item><item><title>霍夫兰说服模型</title><link>https://yangzh.cn/posts/posts/%E9%9C%8D%E5%A4%AB%E5%85%B0%E8%AF%B4%E6%9C%8D%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Fri, 21 Jul 2023 18:42:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%9C%8D%E5%A4%AB%E5%85%B0%E8%AF%B4%E6%9C%8D%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;p&gt;&lt;a href="../people/%E5%8D%A1%E5%B0%94%C2%B7%E9%9C%8D%E5%A4%AB%E5%85%B0.qmd"&gt;卡尔·霍夫兰&lt;/a&gt;（Carl Hovland）的说服模型是一种理论框架，用于解释和预测人们如何被说服或态度如何被改变。这个模型集中在三个核心元素上：信息源、信息本身和接收者。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;信息源&lt;/strong&gt;：霍夫兰的研究发现，信息源的可信度、吸引力和信任度都会影响说服的有效性。例如，一位专业、可信的信息源（如专家或权威人士）可能比一位不可信的信息源更有说服力。他还提出了&amp;quot;睡眠效应&amp;quot;的概念，即来自低可信度来源的说服信息可能随着时间的推移而变得更具影响力。&lt;/p&gt;</description></item><item><title>数据透视表 (Pivot Table)</title><link>https://yangzh.cn/posts/posts/pivottable.html/</link><pubDate>Fri, 21 Jul 2023 15:35:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/pivottable.html/</guid><description>&lt;p&gt;数据透视表（Pivot Table）是一种可以对大量数据进行分类汇总的工具，它允许用户从不同角度对信息进行分析，从而得出有价值的业务见解。它通过拖放方式来改变数据的布局，可以将复杂的数据集转换为简洁，清晰的报表形式，以便更好地理解数据。&lt;/p&gt;
&lt;h2 id="使用场景"&gt;使用场景&lt;/h2&gt;
&lt;!--@include _usesituation.md --&gt;
&lt;h2 id="数据透视表的基本构成"&gt;数据透视表的基本构成&lt;/h2&gt;
&lt;!--@include _element.md --&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307211704846.png" alt="数据透视表的基本构成"&gt;{#fig-pivottable-elements}&lt;/p&gt;</description></item><item><title>PicGo</title><link>https://yangzh.cn/posts/posts/picgo.html/</link><pubDate>Fri, 21 Jul 2023 14:02:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/picgo.html/</guid><description>&lt;p&gt;PicGo是一款开源的图床工具，用来帮助用户上传图片到云端，然后生成可以在网页、博客、论坛等地方使用的URL。它支持许多知名的云服务商，包括七牛云、阿里云、腾讯云等。用户可以选择自己喜欢的云服务商，配置好相关信息，然后就可以开始使用PicGo上传图片了。&lt;/p&gt;</description></item><item><title>作品部署</title><link>https://yangzh.cn/posts/posts/deploy.html/</link><pubDate>Sun, 16 Jul 2023 20:58:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/deploy.html/</guid><description>&lt;p&gt;作品部署是作品开发中的一个关键阶段，它涉及将一个产品从开发环境转移到生产环境，使其可以供最终用户使用。部署过程通常包括了配置、安装、测试等步骤，以确保产品能够在目标环境中正常运行。&lt;/p&gt;
&lt;h2 id="常规部署"&gt;常规部署&lt;/h2&gt;
&lt;p&gt;不需要依赖后端服务器进行动态处理，由HTML、CSS、JavaScript等静态资源组成的作品，通常叫做静态网站，静态网站的部署相对简单，一般可以通过以下步骤进行：&lt;/p&gt;</description></item><item><title>Python装饰器</title><link>https://yangzh.cn/posts/posts/%E8%A3%85%E9%A5%B0%E5%99%A8.html/</link><pubDate>Sun, 16 Jul 2023 18:44:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%A3%85%E9%A5%B0%E5%99%A8.html/</guid><description>&lt;h2 id="装饰器的概念"&gt;装饰器的概念&lt;/h2&gt;
&lt;p&gt;装饰器本质上是一个 Python 函数或类，它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能，装饰器的返回值也是一个函数/类对象。有了装饰器，我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。概括的讲，&lt;strong&gt;装饰器的作用就是为已经存在的对象添加额外的功能。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>使用OSS托管静态网站</title><link>https://yangzh.cn/posts/posts/osspage.html/</link><pubDate>Sun, 16 Jul 2023 18:44:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/osspage.html/</guid><description>&lt;p&gt;对象存储服务&lt;a href="OSS"&gt;OSS&lt;/a&gt;是一种云存储服务方式，对象存储服务已经成为云存储领域的主流服务之一，各大云服务提供商都提供了对象存储服务，如Amazon S3、Microsoft Azure Blob Storage、Google Cloud Storage等。它被广泛应用于媒体存储、数据备份、大数据存储、Web应用程序等领域。&lt;/p&gt;
&lt;p&gt;对象存储服务时，多数需要缴纳一定的费用，但多数厂商对于新用户都有免费使用的优惠，如阿里云对新用户有免费使用政策。&lt;/p&gt;</description></item><item><title>OSS</title><link>https://yangzh.cn/posts/posts/oss.html/</link><pubDate>Sun, 16 Jul 2023 16:23:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/oss.html/</guid><description>&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;对象存储服务(Object Storage Service，简称OSS)是一种基于云的存储解决方案。与传统的文件存储和块存储不同，对象存储把数据作为对象进行存储。每个对象包含了数据、元数据和唯一标识符。这种存储方式可以轻松地扩展到多个服务器甚至是跨越不同地理区域，为用户提供了一种廉价、高效和可扩展的存储解决方案。&lt;/p&gt;</description></item><item><title>Markdown</title><link>https://yangzh.cn/posts/posts/markdown.html/</link><pubDate>Sun, 16 Jul 2023 12:52:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/markdown.html/</guid><description>&lt;h2 id="markdown简介"&gt;Markdown简介&lt;/h2&gt;
&lt;p&gt;Markdown 是一种易写易读的标记语言，以纯文本的形式，进行内容的标记。它由 &lt;a href="https://daringfireball.net/"&gt;John Gruber&lt;/a&gt; 在 2004 年创建，应该是除HTML之外最流行的标记语言。&lt;/p&gt;
&lt;p&gt;与XML、HTML等标记语言相比，Markdown 的优势在于学习成本低，可读性更强。以下是HTML与Markdown的简单对比：&lt;/p&gt;</description></item><item><title>在Quarto中组织笔记</title><link>https://yangzh.cn/posts/posts/%E5%9C%A8quarto%E4%B8%AD%E7%BB%84%E7%BB%87%E7%AC%94%E8%AE%B0.html/</link><pubDate>Sun, 16 Jul 2023 12:02:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%9C%A8quarto%E4%B8%AD%E7%BB%84%E7%BB%87%E7%AC%94%E8%AE%B0.html/</guid><description>&lt;p&gt;Quarto作为开源科研出版工具，也可结合知识管理的笔记模式，实现内容之间的组织。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;笔记联系方式&lt;/th&gt;
 &lt;th&gt;Quarto实现方式&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;folder&lt;/td&gt;
 &lt;td&gt;folder&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tag&lt;/td&gt;
 &lt;td&gt;tag、categories&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;map of content&lt;/td&gt;
 &lt;td&gt;link、includes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;category&lt;/td&gt;
 &lt;td&gt;link、includes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;link&lt;/td&gt;
 &lt;td&gt;link&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Home page&lt;/td&gt;
 &lt;td&gt;link、includes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;folder：文件夹&lt;/li&gt;
&lt;li&gt;tag：标签&lt;/li&gt;
&lt;li&gt;map of content：知识地图&lt;/li&gt;
&lt;li&gt;category：目录&lt;/li&gt;
&lt;li&gt;link：链接&lt;/li&gt;
&lt;li&gt;Home Page: 首页&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>桑基图</title><link>https://yangzh.cn/posts/posts/sankey.html/</link><pubDate>Sun, 16 Jul 2023 11:08:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/sankey.html/</guid><description>&lt;h2 id="桑基图简介"&gt;桑基图简介&lt;/h2&gt;
&lt;p&gt;桑基图（Sankey diagram）是一种特定类型的流程图，用于描述一组值到另一组值的流向。图中延伸的分支的宽度对应数据流量的大小，通常应用于能源、材料成分、金融等数据的可视化分析。桑基图最初由爱尔兰人Matthew Henry Phineas Riall Sankey提出，他是一名船长也是工程师。1898年Sankey发表了一篇关于蒸汽机能源效率的文章，文中首次推出了第一个能量流动图，后来这种图也就由他的名字来命名，中文音译为桑基图。&lt;/p&gt;</description></item><item><title>叙事的功能</title><link>https://yangzh.cn/posts/posts/%E5%8F%99%E4%BA%8B%E7%9A%84%E5%8A%9F%E8%83%BD.html/</link><pubDate>Sat, 15 Jul 2023 00:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8F%99%E4%BA%8B%E7%9A%84%E5%8A%9F%E8%83%BD.html/</guid><description>&lt;h2 id="叙事工作的功能"&gt;叙事工作的功能&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;叙事构成了过去的经验，因为它为个人提供了理解过去的方式。&lt;/li&gt;
&lt;li&gt;叙述者与故事争论。&lt;/li&gt;
&lt;li&gt;说服。使用修辞技巧来定位一个陈述，使其具有说服力/告诉它它是如何“真正”发生的。赋予它真实性或“真相”。&lt;/li&gt;
&lt;li&gt;参与，让观众与叙述者保持动态关系。&lt;/li&gt;
&lt;li&gt;娱乐。&lt;/li&gt;
&lt;li&gt;故事可以误导观众。&lt;/li&gt;
&lt;li&gt;故事可以动员他人为渐进式变革而行动。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;[美]杰拉德·普林斯. 叙事学：叙事的形式与功能. 徐强，译. 中国人民大学出版社，2013&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Quarto模版</title><link>https://yangzh.cn/posts/posts/template.html/</link><pubDate>Tue, 11 Jul 2023 11:50:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/template.html/</guid><description>&lt;p&gt;在listing中，可以自定义 Quarto 模版，模版由两部分组成，&lt;code&gt;.ejs&lt;/code&gt;文件负责表现层，&lt;code&gt;.yml&lt;/code&gt;文件提供内容，通过id属性，将生成的内容渲染到对应的&lt;code&gt;div&lt;/code&gt;中，例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;listing:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;-&lt;/span&gt; id: books
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; template: books.ejs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; contents: books.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;description: |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; A gallery of books by Yangjh created with Quarto.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;::: {&lt;span class="ni"&gt;#books&lt;/span&gt; .column-page}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;:::
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://quarto.org/docs/websites/website-listings-custom.html#template-parameters"&gt;https://quarto.org/docs/websites/website-listings-custom.html#template-parameters&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>自我决定理论</title><link>https://yangzh.cn/posts/posts/%E8%87%AA%E6%88%91%E5%86%B3%E5%AE%9A%E7%90%86%E8%AE%BA.html/</link><pubDate>Tue, 11 Jul 2023 10:55:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%87%AA%E6%88%91%E5%86%B3%E5%AE%9A%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;动机——如何驱动自己或他人来行动——是人们非常关注的问题。在任何地方，家长、教师、教练和管理者都在为如何激励自己服务的对象而探索，而个人则努力寻找让自己保持充沛斗志的理论、方法和经验。人们常常被外部因素所驱动，例如奖励制度、成绩、评价，或者他们担心别人的看法。然而，人们同样经常受到来自内部的兴趣、好奇心、关怀或持久价值观的激励。这些内在动机不一定得到外部奖励或支持，但尽管如此，它们仍能保持激情、有创造力的、持续的努力。外在力量对人的影响与人性的内在动机和需要之间的相互作用是自我决定理论的主要研究领域。&lt;/p&gt;</description></item><item><title>学习理论</title><link>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%B9%A0%E7%90%86%E8%AE%BA.html/</link><pubDate>Tue, 11 Jul 2023 09:31:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%B9%A0%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;学习理论（英语：Learning Theory）是教育学和教育心理学的一门分支学科，描述或学生如何在学习过程中吸收、处理与记忆知识。学习理论并认为，在“理解”、“世界观的获得与改变”以及“知识与技能的习得”上，认知、情绪、环境的影响以及先备经验等因子都有一定的作用。&lt;/p&gt;</description></item><item><title>信息建构主义</title><link>https://yangzh.cn/posts/posts/%E4%BF%A1%E6%81%AF%E5%BB%BA%E6%9E%84%E4%B8%BB%E4%B9%89.html/</link><pubDate>Tue, 11 Jul 2023 09:23:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%BF%A1%E6%81%AF%E5%BB%BA%E6%9E%84%E4%B8%BB%E4%B9%89.html/</guid><description>&lt;p&gt;信息建构主义(Constructivism)是一种教育理论，它主张知识不是被动接收的，而是通过学生主动参与和个人解释的过程来建构的。它基于建构主义的基本观点，即知识是由学习者自己构建的，而不是从外界传递的。这种理论强调了个人和社会环境之间的交互，在这种交互中，个体能够根据他们的先前知识和经验，通过批判性思考，解决问题和反思，来构建新的理解和知识。&lt;/p&gt;</description></item><item><title>建立笔记之间的联系</title><link>https://yangzh.cn/posts/posts/%E7%AC%94%E8%AE%B0%E8%81%94%E7%B3%BB.html/</link><pubDate>Tue, 11 Jul 2023 08:33:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%AC%94%E8%AE%B0%E8%81%94%E7%B3%BB.html/</guid><description>&lt;h2 id="理论"&gt;理论&lt;/h2&gt;
&lt;p&gt;建立笔记之间的联系，属于知识管理领域中的研究主题，相关理论有“信息建构主义”和“个人知识管理”。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;信息建构主义（Information Constructivism）：主张知识是通过社会互动和个体经验建构出来的，而不是被“传递”或“获得”的。在这个理论框架下，知识管理的目标是创造一个环境，其中人们可以互相交流、合作和学习。这就需要有效地组织和连接信息，以便在需要的时候可以找到并利用它。&lt;/li&gt;
&lt;li&gt;个人知识管理（Personal Knowledge Management，简称PKM）：这是一个过程，包括收集、整理、储存和分享个人的知识和信息。PKM强调个体对知识管理的主导性和积极性。在这个过程中，建立笔记之间的联系是非常重要的一步，因为它可以帮助我们创建一个更丰富和有用的知识网络。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在这些理论和方法的指导下，我们可以更好地理解和实践如何通过文件夹、标签、内容图、分类、链接、主页等手段建立笔记之间的联系。&lt;/p&gt;</description></item><item><title>第一性原理</title><link>https://yangzh.cn/posts/posts/%E7%AC%AC%E4%B8%80%E6%80%A7%E5%8E%9F%E7%90%86.html/</link><pubDate>Sun, 09 Jul 2023 13:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%AC%AC%E4%B8%80%E6%80%A7%E5%8E%9F%E7%90%86.html/</guid><description>&lt;p&gt;第一性原理是科学和哲学中的一个概念，也被称为基本原理、根本原理或基础原理。它指的是通过对事物的最基本、最基础的构成要素进行分析和推导，从而得出的不依赖于其他假设或推论的真实性和可信度极高的原理。第一性原理不是基于经验观察或推测，而是基于逻辑和推理的基础性理论。&lt;/p&gt;</description></item><item><title>道法术器势</title><link>https://yangzh.cn/posts/posts/%E9%81%93%E6%B3%95%E6%9C%AF%E5%99%A8%E5%8A%BF.html/</link><pubDate>Sat, 08 Jul 2023 22:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%81%93%E6%B3%95%E6%9C%AF%E5%99%A8%E5%8A%BF.html/</guid><description>&lt;h2 id="概念介绍"&gt;概念介绍&lt;/h2&gt;
&lt;p&gt;道法术器势是中国古代哲学中的一个概念，指的是道、法、术、器和势这五个要素之间的哲学关系和辩证关系。其中，“道”是最根本的东西，是指导和方向，也是“法”实现的依据。而“法”是指规范和操作关系，是连接“道”和具体行动的纽带。 “术”是技术、策略，是人们具体行动达成的具体做法。而“器”则是指实现术的具体工具和设备。最后，“势”是指外在的环境、文化、条件的融合体，对于实现“道法术器”的良好运用和发挥具有重要作用。&lt;/p&gt;</description></item><item><title>德雷福斯技能获取模型</title><link>https://yangzh.cn/posts/posts/%E5%BE%B7%E9%9B%B7%E7%A6%8F%E6%96%AF%E6%A8%A1%E5%9E%8B.html/</link><pubDate>Sat, 08 Jul 2023 19:48:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%BE%B7%E9%9B%B7%E7%A6%8F%E6%96%AF%E6%A8%A1%E5%9E%8B.html/</guid><description>&lt;p&gt;德雷福斯技能获取模型（Dreyfus model of skill acquisition）是对学习者技能获得进行分类的模型，该模型将专业技能的获取五个不同的阶段，分别为：新手Novice、初级Intermediate、胜任Competent、精通Proficient、专家Expert。&lt;/p&gt;</description></item><item><title>学习动机理论</title><link>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%B9%A0%E5%8A%A8%E6%9C%BA%E7%90%86%E8%AE%BA.html/</link><pubDate>Sat, 08 Jul 2023 09:54:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%A6%E4%B9%A0%E5%8A%A8%E6%9C%BA%E7%90%86%E8%AE%BA.html/</guid><description>&lt;p&gt;学习动机理论包括：强化理论、需要层次理论、成就动机理论、成败归因理论、自我效能感理论。&lt;/p&gt;
&lt;h2 id="强化理论"&gt;强化理论&lt;/h2&gt;
&lt;p&gt;代表人物：巴普洛夫、斯金纳;&lt;/p&gt;
&lt;p&gt;主张：人的学习行为倾向完全取决于某种行为与刺激因强化而建立的稳固关系，受到强化的行为比没强化的行为更倾向于再次出现，因此，不断强化可以使这种联结得到加强和巩固。认为强化能够促进学习动机。&lt;/p&gt;</description></item><item><title>IDM</title><link>https://yangzh.cn/posts/posts/idm.html/</link><pubDate>Wed, 05 Jul 2023 02:34:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/idm.html/</guid><description>&lt;h2 id="使用篡改猴和idm高速下载百度网盘内容"&gt;使用篡改猴和IDM高速下载百度网盘内容&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在浏览器中安装篡改猴插件&lt;/li&gt;
&lt;li&gt;启动篡改猴配置页面，在脚本商店中，搜索百度，选择可以突破网盘限速的脚步，如千千下载助手。&lt;/li&gt;
&lt;li&gt;刷新百度网盘下载页面，检查脚本是否运行。&lt;/li&gt;
&lt;li&gt;配置IDM，打开设置界面，将线程数量修改为&lt;code&gt;4&lt;/code&gt;，并且下载代理设备&lt;code&gt;netdisk&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;点击千千下载助手，获得文件地址，将其复制到IDM中即可下载。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://image.baidu.com/search/down?url=https://tvax3.sinaimg.cn/large/5ce523d9gy1hcmv67s6fkg20u30h2b29.jpg" alt=""&gt;&lt;/p&gt;</description></item><item><title>excalidraw</title><link>https://yangzh.cn/posts/posts/excalidraw.html/</link><pubDate>Tue, 04 Jul 2023 14:53:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/excalidraw.html/</guid><description>&lt;p&gt;Excalidraw 是一款开源的在线手绘图表工具，它通过提供一个简单的界面和一系列的绘图工具，使得创建看起来像手绘的图形和图表变得非常容易。这些手绘风格的图形和图表通常用于解释性的笔记、演示、设计等，因为它们具有较高的易理解性和吸引力。&lt;/p&gt;
&lt;p&gt;Excalidraw 支持绘制矩形、椭圆、箭头、自由绘图等各种图形，用户可以方便地改变图形的颜色、线宽、透明度等属性。同时，Excalidraw 还支持文本输入、多图层管理、图形对齐等高级功能。&lt;/p&gt;</description></item><item><title>Winget</title><link>https://yangzh.cn/posts/posts/winget.html/</link><pubDate>Tue, 04 Jul 2023 14:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/winget.html/</guid><description>&lt;p&gt;Windows Package Manager，简称 Winget，是一个开源的包管理工具，它旨在使用户能够自动化安装、升级、配置和删除软件包的过程。Winget 在 2020 年由 Microsoft 发布，并在开发者社区中获得了广泛的关注。&lt;/p&gt;
&lt;p&gt;使用Winget的主要优点是它的自动化和效率。用户可以在不离开命令行的情况下完成所有操作，这对于系统管理员和开发者来说非常方便。而且，由于它允许批量处理操作，因此可以大大节省时间和努力。&lt;/p&gt;</description></item><item><title>如何进行理性批评</title><link>https://yangzh.cn/posts/posts/how-to-critical.html/</link><pubDate>Tue, 04 Jul 2023 12:55:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/how-to-critical.html/</guid><description>&lt;h2 id="理性批评三要素"&gt;理性批评三要素&lt;/h2&gt;
&lt;p&gt;理性批评是一种高效的沟通方式，它以理性、责任感和美感为核心。&lt;/p&gt;
&lt;p&gt;下面我将围绕这三个要素，对理性批评进行详细解释，并结合理论和案例进行说明：&lt;/p&gt;
&lt;h3 id="理性"&gt;理性&lt;/h3&gt;
&lt;p&gt;理性是指对事物的客观、理智的分析和评价。理性的批评是建立在对事实的准确理解和客观分析上，而非个人感情或偏见的影响。一方面，理性批评需要让我们的逻辑和证据支撑自己的论点；另一方面，我们也需要理解和尊重他人的观点。理论依据可以从人类的认知心理学和道德哲学中找到，我们应该以事实为依据，逻辑为导向，进行公正的判断。&lt;/p&gt;</description></item><item><title>Todo+ 插件使用</title><link>https://yangzh.cn/posts/posts/todo.html/</link><pubDate>Tue, 04 Jul 2023 10:54:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/todo.html/</guid><description>&lt;p&gt;任务管理，是每个工作者需要面临的任务，市面上也有很多任务管理工具，出现了很多优秀工具，如滴答清单，但这些工具都存在着一些局限性：比如费用较高、数据无法再次开发、需要专门的工具。&lt;/p&gt;
&lt;p&gt;如果经常使用 &lt;a href="vscode.qmd"&gt;VS Code&lt;/a&gt; 作为生产力工具，则可以考虑 Todo+ 插件。它提供了强大的功能，使得创作者能够轻松地管理和跟踪待办事项、注释和任务，通过 Todo+，我们可以在文档中添加特定格式的注释或标记，表示待办事项、重要提示或其他需要关注的内容。该插件会自动检测这些注释，并在 VS Code 的侧边栏中生成一个待办事项列表，以便您可以方便地查看和管理这些任务。&lt;/p&gt;</description></item><item><title>Quarto 文档创作语法</title><link>https://yangzh.cn/posts/posts/content.html/</link><pubDate>Sun, 02 Jul 2023 19:29:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/content.html/</guid><description>&lt;p&gt;创作Quarto文档时，除了markdown文档支持的特性外，还支持如下特性，详情参见：&lt;a href="https://quarto.org/docs/authoring/markdown-basics.html"&gt;https://quarto.org/docs/authoring/markdown-basics.html&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id="文献引用"&gt;文献引用&lt;/h3&gt;
&lt;p&gt;Quarto 主要面向学术生产及技术创作群体，对参考文献的支持非常全面。要在Quarto文档中使用参考文献，需要提供参考文献内容并使用合适的方式进行引用，然后在指定的地方生成参考文献。&lt;/p&gt;</description></item><item><title>搭建Quarto运行及编译环境</title><link>https://yangzh.cn/posts/posts/install.html/</link><pubDate>Sun, 02 Jul 2023 19:20:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/install.html/</guid><description>&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;h3 id="安装quarto"&gt;安装Quarto&lt;/h3&gt;
&lt;p&gt;方法1：在 Windows 系统中，可从官网下载安装包，然后手动安装。&lt;/p&gt;
&lt;p&gt;方法2：还可以使用Windows内置的包管理工具 &lt;code&gt;winget&lt;/code&gt;进行自动安装，此方式需要在终端中执行如下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget install Quarto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="安装-quarto-vs-code-插件"&gt;安装 Quarto VS Code 插件&lt;/h3&gt;
&lt;p&gt;在 VS Code 扩展商店中，搜索并安装 Quarto VS Code 插件即可。&lt;/p&gt;
&lt;p&gt;该插件的功能详见：&lt;a href="https://marketplace.visualstudio.com/items?itemName=quarto.quarto"&gt;https://marketplace.visualstudio.com/items?itemName=quarto.quarto&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Quarto 进阶设置</title><link>https://yangzh.cn/posts/posts/settings.html/</link><pubDate>Sun, 02 Jul 2023 19:15:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/settings.html/</guid><description>&lt;h2 id="进阶设置"&gt;进阶设置&lt;/h2&gt;
&lt;h3 id="自动更新文件链接"&gt;自动更新文件链接&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307011240580.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;::: {.callout-warning}&lt;/p&gt;
&lt;p&gt;默认情况下，该功能对&lt;code&gt;qmd&lt;/code&gt;后缀的文档不起作用，需要将&lt;code&gt;.qmd&lt;/code&gt;文档类型设置为&lt;code&gt;markdown&lt;/code&gt;。不过这样做的代价是无法使用qmd文档中的特性功能，如代码运行。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307011321404.png" alt=""&gt;
:::&lt;/p&gt;
&lt;p&gt;比如：&lt;a href="../chatgpt/ChatGPT.qmd"&gt;ChatGPT&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="开启提示和snippet"&gt;开启提示和snippet&lt;/h3&gt;
&lt;p&gt;在&lt;code&gt;.qmd&lt;/code&gt;文件中，默认情况下snippet功能是关闭的，非常不方便。可以通过设定Quarto语言特性，打开snippet功能。&lt;/p&gt;</description></item><item><title>Quarto</title><link>https://yangzh.cn/posts/posts/quarto.html/</link><pubDate>Sun, 02 Jul 2023 19:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/quarto.html/</guid><description>&lt;p&gt;Quarto 是一个定位于研究、教学人员使用的开源出版工具。主要解决的问题是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;整合PPT、著作以及笔记中同一知识点的复用问题。例如教学内容发生调整后，相应的在编教材、课程PPT应该随之自动修改。&lt;/li&gt;
&lt;li&gt;可在文档中执行HTML、JavaScript、TypeScript、Python、R等语言的程序，并将程序运行结果保存到文档中，在一些教学、科研汇报等场景中可提高工作效率。&lt;/li&gt;
&lt;li&gt;图表、引文、注释、章节的交叉引用和自动编号。&lt;/li&gt;
&lt;li&gt;参考文献可设置样式，一次编写后，大大减少了参考文献排版的时间。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="基础知识"&gt;基础知识&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="install.qmd"&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="settings.qmd"&gt;进阶设置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="content.qmd"&gt;内容创作语法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="%E4%BD%BF%E7%94%A8ipynb%E7%BC%96%E5%86%99Quarto%E6%96%87%E6%A1%A3.ipynb"&gt;使用ipynb编写Quarto文档&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="常见问题"&gt;常见问题&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="howtoupgrade.qmd"&gt;如何升级Quarto&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://quarto.org/docs/guide/"&gt;https://quarto.org/docs/guide/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Mermaid</title><link>https://yangzh.cn/posts/posts/mermaid.html/</link><pubDate>Tue, 09 May 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/mermaid.html/</guid><description>&lt;p&gt;Mermaid 是一个用于创建图形和图表的 JavaScript 库。它使用一种类似于 Markdown 的语法，使得创建复杂的图形变得相对简单。通过 Mermaid，用户可以创建流程图、序列图、甘特图、类图、状态图、时间线、思维导图等等。&lt;/p&gt;
&lt;h2 id="mermaid-使用场景"&gt;Mermaid 使用场景&lt;/h2&gt;
&lt;p&gt;Mermaid 的主要优势是其语法的简洁性。你不需要手动绘制图形或者使用复杂的绘图软件，只需要编写简单的文本描述，Mermaid 就可以根据你的描述自动生成图形。这使得 Mermaid 非常适合用于文档、Wiki、技术博客等，用于说明复杂的概念或流程。&lt;/p&gt;</description></item><item><title>嵌入模型简介</title><link>https://yangzh.cn/posts/posts/embeddingmodel.html/</link><pubDate>Sun, 07 May 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/embeddingmodel.html/</guid><description>&lt;h2 id="基本概念"&gt;基本概念&lt;/h2&gt;
&lt;p&gt;嵌入模型（Embedding Model）是一种将离散对象（如单词、句子或文档）映射到连续向量空间的机器学习模型。这种映射能够捕获对象之间的语义关系，使计算机能够更好地理解和处理自然语言。在现代自然语言处理中，嵌入模型已经成为了不可或缺的基础组件。&lt;/p&gt;</description></item><item><title>AI应用</title><link>https://yangzh.cn/posts/posts/ai.html/</link><pubDate>Thu, 04 May 2023 14:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/ai.html/</guid><description>&lt;p&gt;看书，从书中提炼思维模型，然后将思维模型体现到提示词，像专家一样思考，像顶尖选手学习。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;社会研究：设计与写作，从经验问题到理论问题，&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="辅助工具"&gt;辅助工具&lt;/h2&gt;
&lt;h3 id="文献阅读辅助工具"&gt;文献阅读辅助工具&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;AMiner，&lt;a href="https://www.aminer.cn/chat/"&gt;https://www.aminer.cn/chat/&lt;/a&gt;，可以进行AI对话，也可以上传文献进行对话。&lt;/li&gt;
&lt;li&gt;Chatdoc，基于ChatGPT的文献辅助阅读。&lt;/li&gt;
&lt;li&gt;新读 xdu.cn。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.scholarcy.com/"&gt;Scholarcy&lt;/a&gt;，英文文章的在线总结工具。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="aigc-工具"&gt;AIGC 工具&lt;/h3&gt;
&lt;!--@include: _aigc工具.md --&gt;
&lt;h2 id="提示词"&gt;提示词&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.explainthis.io/zh-hant/chatgpt"&gt;https://www.explainthis.io/zh-hant/chatgpt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yzfly/LangGPT"&gt;https://github.com/yzfly/LangGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="%E5%A4%8D%E6%9D%82%E6%8F%90%E7%A4%BA%E8%AF%8D%E6%A1%88%E4%BE%8B"&gt;复杂任务提示词案例&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202312221209593.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>为什么你能理解英语却无法流利表达：Ruri Ohama的学习启示</title><link>https://yangzh.cn/posts/posts/ruriohama.html/</link><pubDate>Thu, 06 Apr 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/ruriohama.html/</guid><description>&lt;p&gt;许多英语学习者都面临一个共同的困境：经过多年学习能够读懂英文材料，却在需要开口时变得支支吾吾。YouTuber Ruri Ohama在她的视频中深入分析了这一现象，并提出了极具实操性的解决方案。这种现象背后反映的是传统语言教育体系中输入与输出的严重失衡。&lt;/p&gt;</description></item><item><title>JavaScript 中的导出 export</title><link>https://yangzh.cn/posts/posts/js-export.html/</link><pubDate>Tue, 28 Feb 2023 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-export.html/</guid><description>&lt;p&gt;在 JavaScript 模块化编程中，&lt;code&gt;export&lt;/code&gt; 关键字扮演着至关重要的角色。它允许我们将模块内部的变量、函数、类等元素暴露出去，供其他模块使用。理解 &lt;code&gt;export&lt;/code&gt; 的用法和原理，是掌握 JavaScript 模块化开发的关键。&lt;/p&gt;
&lt;h2 id="导出的类型"&gt;导出的类型&lt;/h2&gt;
&lt;p&gt;JavaScript 提供了两种主要的导出方式：命名导出（named exports）和默认导出（default exports）。&lt;/p&gt;</description></item><item><title>jQuery</title><link>https://yangzh.cn/posts/posts/jquery.html/</link><pubDate>Sat, 21 Jan 2023 10:59:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/jquery.html/</guid><description>&lt;h2 id="jquery-简介"&gt;jQuery 简介&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;创造优美事物的方式往往不是从头做起，而是在现有成果的基础上做一些小小的调整，或者将已有的观点用比较新的方式组合起来。&lt;/p&gt;
&lt;p&gt;保罗·格雷厄姆，《黑客与画家》&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;即便掌握了 JavaScript 脚本的基本知识，开发者在使用 JavaScript 时，仍面临一个重大挑战，那就是不同浏览器对 Web 标准的支持不尽一致，往往大部分时间和精力花在解决浏览器兼容性的问题上。另外，常见的 JavaScript 应用如果在每次内容制作中都要重写的话，工作效率将是非常低下的。为此，很多开发者提供了“库”来解决上述问题。常见的 JavaScript 库有 jQuery、Prototype、Mootools 等等，经过若干年的发展和竞争，jQuery 脱颖而出，成为使用最为广泛的 JavaScript 库。可以毫不夸张地说，jQuery 的出现改变了开发者使用 JavaScript 的习惯。&lt;/p&gt;</description></item><item><title>研究假设</title><link>https://yangzh.cn/posts/posts/%E7%A0%94%E7%A9%B6%E5%81%87%E8%AE%BE.html/</link><pubDate>Fri, 20 Jan 2023 11:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A0%94%E7%A9%B6%E5%81%87%E8%AE%BE.html/</guid><description>&lt;p&gt;在量化研究领域，【研究假设】是构建科学探究的基石。研究假设是对某一现象或关系的预测性陈述，它基于理论推导、先前研究或观察而形成。研究者通过提出假设，然后通过实证研究来验证这些假设，从而推动科学知识的发展。&lt;/p&gt;
&lt;h3 id="研究假设的类型"&gt;研究假设的类型&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;条件式陈述&lt;/strong&gt;：这种假设形式表达了两个或多个变量之间的因果关系。例如，“如果学生参加补习课程（条件），他们的考试成绩将提高（结果）”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;差异式陈述&lt;/strong&gt;：这种假设用于比较两个或多个群体之间的差异。例如，“男性和女性在数学能力上存在显著差异”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;函数式陈述&lt;/strong&gt;：这种假设描述了变量之间的函数关系，通常用于更复杂的关系。例如，“员工的工作满意度是工作压力和支持网络强度的函数”。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="研究假设的形成"&gt;研究假设的形成&lt;/h3&gt;
&lt;p&gt;研究假设的形成通常基于以下几个方面：&lt;/p&gt;</description></item><item><title>前端案例库</title><link>https://yangzh.cn/posts/posts/%E5%89%8D%E7%AB%AF%E6%A1%88%E4%BE%8B%E5%BA%93.html/</link><pubDate>Tue, 10 Jan 2023 07:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%89%8D%E7%AB%AF%E6%A1%88%E4%BE%8B%E5%BA%93.html/</guid><description>&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202502231952566.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://npc.baichuan-ai.com/index"&gt;百川角色大模型&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.khanacademy.org/"&gt;https://www.khanacademy.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;网站中的微交互很有特色，设计师对学习者的体验考虑了很多因素。&lt;/p&gt;
&lt;h2 id="作品展示类网站"&gt;作品展示类网站&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.yourware.so/"&gt;https://www.yourware.so/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="导航类网站"&gt;导航类网站&lt;/h2&gt;
&lt;p&gt;外贸导航：&lt;a href="https://www.amz123.com/"&gt;https://www.amz123.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="页面排版案例"&gt;页面排版案例&lt;/h2&gt;
&lt;!--@include: _排版案例.md --&gt;</description></item><item><title>文献综述</title><link>https://yangzh.cn/posts/posts/%E6%96%87%E7%8C%AE%E7%BB%BC%E8%BF%B0.html/</link><pubDate>Sat, 31 Dec 2022 09:12:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%96%87%E7%8C%AE%E7%BB%BC%E8%BF%B0.html/</guid><description>&lt;p&gt;文献综述是对相关的理论和研究进行文献的回顾。文献综述的主要内容有：介绍相关的理论、对相关实证研究的总结和分析评价、在之前的理论框架和已有研究的评述上，明确、清晰地提出研究问题或需要检验的假设。&lt;/p&gt;
&lt;p&gt;写文献综述时，不要试图去穷尽所有的历史问题，而要假定读者已经了解基本问题，因此没有必要讲述有关问题的全部历史。同时，只引用或参考与具体议题有关的文献，不要引用那些离题的或非专业性的文献。&lt;/p&gt;</description></item><item><title>虚拟环境</title><link>https://yangzh.cn/posts/posts/%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83.html/</link><pubDate>Mon, 12 Dec 2022 15:30:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83.html/</guid><description>&lt;p&gt;Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库，因为应用程序可能需要修复特定的错误，或者可以使用库的过时版本的接口编写应用程序。&lt;/p&gt;
&lt;p&gt;这意味着一个Python安装可能无法满足每个应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本，则需求存在冲突，安装版本1.0或2.0将导致某一个应用程序无法运行。&lt;/p&gt;</description></item><item><title>撰写数据分析报告</title><link>https://yangzh.cn/posts/posts/%E6%92%B0%E5%86%99%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E6%8A%A5%E5%91%8A.html/</link><pubDate>Mon, 28 Nov 2022 09:08:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%92%B0%E5%86%99%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E6%8A%A5%E5%91%8A.html/</guid><description>&lt;p&gt;撰写数据分析报告是一个综合性的任务，它要求不仅对数据进行准确的分析，还要能够清晰、有逻辑地传达分析的结果和含义。以下是撰写数据分析报告的步骤和要点：&lt;/p&gt;
&lt;p&gt;完成资料收集和分析工作后，最后的任务就是要把调查研究的结果以某种恰当的形式传达给他人，这种形式可以是PPT、文字报告，也可以是在线页面。其中正式的报告是成果的集中体现，是多数情景下所必需的汇报方式。&lt;/p&gt;</description></item><item><title>问卷设计</title><link>https://yangzh.cn/posts/posts/%E9%97%AE%E5%8D%B7%E8%AE%BE%E8%AE%A1.html/</link><pubDate>Mon, 28 Nov 2022 08:49:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%97%AE%E5%8D%B7%E8%AE%BE%E8%AE%A1.html/</guid><description>&lt;h2 id="问卷结构"&gt;问卷结构&lt;/h2&gt;
&lt;p&gt;问卷由封面信、指导语和题项构成。&lt;/p&gt;
&lt;h3 id="封面信"&gt;封面信&lt;/h3&gt;
&lt;p&gt;封面信需要告知被调查对象如下内容：调查者身份、调查内容、调查目的、调查对象的选取方法、对调查结果的保密措施。&lt;/p&gt;
&lt;p&gt;调查者身份必须要写明单位、组织，最好附上单位地址、电话号码、负责人姓名。不要只写”xx调查组“、”xx课题组“。&lt;/p&gt;</description></item><item><title>明确数据分析目标</title><link>https://yangzh.cn/posts/posts/%E6%98%8E%E7%A1%AE%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E7%9B%AE%E6%A0%87.html/</link><pubDate>Mon, 28 Nov 2022 08:32:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%98%8E%E7%A1%AE%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E7%9B%AE%E6%A0%87.html/</guid><description>&lt;p&gt;数据分析中的重要一环，就是明确数据分析的目标，即解决什么问题？达到什么目的？&lt;/p&gt;
&lt;p&gt;数据分析目标，可以按照工作类型的不同，可分为实务导向的数据分析目标和理论导向的数据分析目标。这两种目标并不是截然不同的，只是按照研究目的进行了区分，实际上实务导向的数据分析目标，是建立在理论导向数据分析目标的基础之上的。&lt;/p&gt;</description></item><item><title>Python开发环境的搭建</title><link>https://yangzh.cn/posts/posts/python%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E7%9A%84%E6%90%AD%E5%BB%BA.html/</link><pubDate>Fri, 25 Nov 2022 16:54:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E7%9A%84%E6%90%AD%E5%BB%BA.html/</guid><description>&lt;p&gt;作为新手，学习编程时最头疼的问题之一，就是开发环境的搭建。因为新手缺乏经验，往往在各种细节中出现失误，导致无法顺利运行Python程序。请仔细阅读以下内容，按照顺序执行。前期的各种状况可能令人沮丧，但只要仔细阅读错误信息和安装教程，一定能够顺利完成开发环境的搭建活动。&lt;/p&gt;</description></item><item><title>实际推断原理</title><link>https://yangzh.cn/posts/posts/%E5%AE%9E%E9%99%85%E6%8E%A8%E6%96%AD%E5%8E%9F%E7%90%86.html/</link><pubDate>Fri, 25 Nov 2022 15:21:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AE%9E%E9%99%85%E6%8E%A8%E6%96%AD%E5%8E%9F%E7%90%86.html/</guid><description>&lt;h2 id="实际推断原理"&gt;实际推断原理&lt;/h2&gt;
&lt;p&gt;人们在长期的实践中总结得到，概率很小的事件（也叫小概率事件）在一次试验中实际上几乎是不发生的。如果概率很小的事件在一次试验中发生了，就有理由怀疑假设的正确性。&lt;/p&gt;
&lt;h2 id="小概率事件"&gt;小概率事件&lt;/h2&gt;
&lt;p&gt;通常习惯上把 $P≤0.05$ 或 $P≤0.01$ 的事件称为小概率事件。除特别注明以外，小概率事件一般是指 $P≤0.05$ 的事件。&lt;/p&gt;</description></item><item><title>字典</title><link>https://yangzh.cn/posts/posts/%E5%AD%97%E5%85%B8.html/</link><pubDate>Fri, 25 Nov 2022 13:16:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%97%E5%85%B8.html/</guid><description>&lt;p&gt;&lt;strong&gt;字典（Dictionary）&lt;/strong&gt; 是Python中的一种数据类型，用来存储键（key）值（value）对。字典数据能够使用键名快速取回、添加、删除、编辑值。字典和其他语言中的数组（array）或者哈希表（hash）非常相似。字典是可变（mutable）序列。&lt;/p&gt;</description></item><item><title>学术研究方法概论</title><link>https://yangzh.cn/posts/posts/%E7%A0%94%E7%A9%B6%E6%A6%82%E8%AE%BA.html/</link><pubDate>Fri, 25 Nov 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A0%94%E7%A9%B6%E6%A6%82%E8%AE%BA.html/</guid><description>&lt;h2 id="什么是研究"&gt;什么是研究&lt;/h2&gt;
&lt;p&gt;广义的研究（research），就是为某一个目的而收集、分析信息（资料）的系统过程。&lt;/p&gt;
&lt;p&gt;狭义的研究，指的是发现新知识 ，或者是对现有知识进行更深层次理解的活动。研究以发展一组有组织、架构与逻辑关系的知识系统为目标，或者说，&lt;strong&gt;研究的目的是发展出自己对于某个现象的观点（claims）或者理论（theory）&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>相关性</title><link>https://yangzh.cn/posts/posts/%E7%9B%B8%E5%85%B3.html/</link><pubDate>Wed, 23 Nov 2022 09:33:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%9B%B8%E5%85%B3.html/</guid><description>&lt;h2 id="相关的概念"&gt;相关的概念&lt;/h2&gt;
&lt;p&gt;所谓相关，就是一个变量的值发生变化时，另一个变量的值也发生变化。相关的两个变量不一定有&lt;a href="%E5%9B%A0%E6%9E%9C%E5%85%B3%E7%B3%BB"&gt;因果关系&lt;/a&gt;，可能是共同变化。&lt;/p&gt;
&lt;h3 id="相关程度"&gt;相关程度&lt;/h3&gt;
&lt;p&gt;变量之间的相关程度有强弱之分，可用不同的统计方法予以&lt;a href="%E6%B5%8B%E9%87%8F"&gt;测量&lt;/a&gt;。多数相关统计法以0代表无相关，以1代表全相关。参见&lt;a href="%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0"&gt;相关系数&lt;/a&gt; 。&lt;/p&gt;
&lt;h3 id="相关方向"&gt;相关方向&lt;/h3&gt;
&lt;p&gt;正相关是指一个变量增加时，另一个变量也在增加。负相关则相反。&lt;/p&gt;
&lt;h3 id="不对称关系与对称关系"&gt;不对称关系与对称关系&lt;/h3&gt;
&lt;p&gt;$X$影响$Y$，但是$Y$不影响$X$，这种情况称之为不对称关系，反之，为对称关系。&lt;/p&gt;</description></item><item><title>单变量描述统计</title><link>https://yangzh.cn/posts/posts/%E5%8D%95%E5%8F%98%E9%87%8F%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1.html/</link><pubDate>Wed, 23 Nov 2022 07:28:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8D%95%E5%8F%98%E9%87%8F%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1.html/</guid><description>&lt;p&gt;单变量描述统计分析按照变量的测量层次，可以分为无序类别变量的描述统计分析、有序类别变量的描述统计分析以及数值变量的描述统计分析。&lt;/p&gt;
&lt;h2 id="单变量描述统计的维度"&gt;单变量描述统计的维度&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;集中趋势。如&lt;a href="%E4%BC%97%E6%95%B0"&gt;众数&lt;/a&gt;、平均值、&lt;a href="%E4%B8%AD%E4%BD%8D%E6%95%B0"&gt;中位数&lt;/a&gt;等。&lt;/li&gt;
&lt;li&gt;离散特征。如异质指数、四分位差、&lt;a href="%E6%96%B9%E5%B7%AE"&gt;方差&lt;/a&gt;、&lt;a href="%E6%A0%87%E5%87%86%E5%B7%AE"&gt;标准差&lt;/a&gt;、&lt;/li&gt;
&lt;li&gt;分布特征。如&lt;a href="%E5%81%8F%E5%BA%A6"&gt;偏度&lt;/a&gt;、&lt;a href="%E5%B3%B0%E5%BA%A6"&gt;峰度&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="无序类别变量的描述统计"&gt;无序类别变量的描述统计&lt;/h2&gt;
&lt;p&gt;适用于无序类别变量的描述统计方法，有次数分布、比例、比率、图示和对比值等。&lt;/p&gt;</description></item><item><title>抽样方法</title><link>https://yangzh.cn/posts/posts/%E6%8A%BD%E6%A0%B7%E6%96%B9%E6%B3%95.html/</link><pubDate>Wed, 23 Nov 2022 07:12:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8A%BD%E6%A0%B7%E6%96%B9%E6%B3%95.html/</guid><description>&lt;h2 id="抽样术语"&gt;抽样术语&lt;/h2&gt;
&lt;h3 id="抽样"&gt;抽样&lt;/h3&gt;
&lt;p&gt;抽样（sampling），从总体中抽取作为研究对象的样本的操作程序。&lt;/p&gt;
&lt;h3 id="元素"&gt;元素&lt;/h3&gt;
&lt;p&gt;元素（elements）是构成样本的最基本单元，同时也是构成总体的最基本单元。&lt;/p&gt;
&lt;h3 id="总体"&gt;总体&lt;/h3&gt;
&lt;p&gt;总体（population）是作为研究对象的特定范围内的所有元素的集合论。&lt;/p&gt;
&lt;h3 id="样本"&gt;样本&lt;/h3&gt;
&lt;p&gt;样本（sample）是从总体中按照一定方式抽取出一定数量元素的集合。&lt;/p&gt;</description></item><item><title>抽样及抽样分布</title><link>https://yangzh.cn/posts/posts/%E6%8A%BD%E6%A0%B7%E5%8F%8A%E6%8A%BD%E6%A0%B7%E5%88%86%E5%B8%83.html/</link><pubDate>Wed, 23 Nov 2022 07:12:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8A%BD%E6%A0%B7%E5%8F%8A%E6%8A%BD%E6%A0%B7%E5%88%86%E5%B8%83.html/</guid><description>&lt;h2 id="抽样术语"&gt;抽样术语&lt;/h2&gt;
&lt;h3 id="抽样"&gt;抽样&lt;/h3&gt;
&lt;p&gt;抽样（sampling），从总体中抽取作为研究对象的样本的操作程序。&lt;/p&gt;
&lt;h3 id="元素"&gt;元素&lt;/h3&gt;
&lt;p&gt;元素（elements）是构成样本的最基本单元，同时也是构成总体的最基本单元。&lt;/p&gt;
&lt;h3 id="总体"&gt;总体&lt;/h3&gt;
&lt;p&gt;总体（population）是作为研究对象的特定范围内的所有元素的集合论。&lt;/p&gt;
&lt;h3 id="样本"&gt;样本&lt;/h3&gt;
&lt;p&gt;样本（sample）是从总体中按照一定方式抽取出一定数量元素的集合。&lt;/p&gt;</description></item><item><title>序列</title><link>https://yangzh.cn/posts/posts/%E5%BA%8F%E5%88%97.html/</link><pubDate>Wed, 23 Nov 2022 00:18:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%BA%8F%E5%88%97.html/</guid><description>&lt;p&gt;&lt;strong&gt;序列（Sequence）&lt;/strong&gt; 是一个包含其他对象的有序集合，序列中的元素包含了一个从左到右的顺序，可以根据元素所在的位置进行存储和读取。&lt;/p&gt;
&lt;h2 id="序列的类型"&gt;序列的类型&lt;/h2&gt;
&lt;p&gt;Python中内建了6种序列，分别是：列表、元组、字符串、unicode字符串、buffer对象和xrange对象。&lt;/p&gt;</description></item><item><title>元组</title><link>https://yangzh.cn/posts/posts/%E5%85%83%E7%BB%84.html/</link><pubDate>Wed, 23 Nov 2022 00:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%85%83%E7%BB%84.html/</guid><description>&lt;p&gt;&lt;strong&gt;元组（Tuple）&lt;/strong&gt; 和列表非常相似，与列表不同的是，&lt;strong&gt;元组一旦创立，就不可改变&lt;/strong&gt;，也就是说，元组是不可变的序列。&lt;/p&gt;
&lt;h2 id="1-创建元组"&gt;1 创建元组&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;t1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;# 创建一个空元组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;t2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 创建一个包含三个元素的元组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;t3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;tuple&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="c1"&gt;# 使用列表创建元组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;t4&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;tuple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 使用字符串创建元组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="2-元组相关方法"&gt;2 元组相关方法&lt;/h2&gt;
&lt;p&gt;元组也是序列，因此序列能使用的方法，如&lt;code&gt;max&lt;/code&gt; , &lt;code&gt;min&lt;/code&gt; ,&lt;code&gt;len&lt;/code&gt; , &lt;code&gt;sum&lt;/code&gt;方法元组也能使用。&lt;/p&gt;</description></item><item><title>读写文件</title><link>https://yangzh.cn/posts/posts/%E8%AF%BB%E5%86%99%E6%96%87%E4%BB%B6.html/</link><pubDate>Wed, 23 Nov 2022 00:13:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%AF%BB%E5%86%99%E6%96%87%E4%BB%B6.html/</guid><description>&lt;h2 id="常用模式"&gt;常用模式&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;模式&lt;/th&gt;
 &lt;th&gt;可做操作&lt;/th&gt;
 &lt;th&gt;若文件不存在&lt;/th&gt;
 &lt;th&gt;是否覆盖文件原来内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;r&lt;/td&gt;
 &lt;td&gt;只读&lt;/td&gt;
 &lt;td&gt;报错&lt;/td&gt;
 &lt;td&gt;——&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;r+&lt;/td&gt;
 &lt;td&gt;可读、可写&lt;/td&gt;
 &lt;td&gt;报错&lt;/td&gt;
 &lt;td&gt;是&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;w&lt;/td&gt;
 &lt;td&gt;只写&lt;/td&gt;
 &lt;td&gt;创建&lt;/td&gt;
 &lt;td&gt;是&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;w+&lt;/td&gt;
 &lt;td&gt;可读、可写&lt;/td&gt;
 &lt;td&gt;创建&lt;/td&gt;
 &lt;td&gt;是&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;a&lt;/td&gt;
 &lt;td&gt;只写&lt;/td&gt;
 &lt;td&gt;创建&lt;/td&gt;
 &lt;td&gt;否，追加写&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;a+&lt;/td&gt;
 &lt;td&gt;可读、可写&lt;/td&gt;
 &lt;td&gt;创建&lt;/td&gt;
 &lt;td&gt;否，追加写&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="打开文件"&gt;打开文件&lt;/h2&gt;
&lt;h3 id="直接打开"&gt;直接打开&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;r+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="使用with语句打开"&gt;使用with语句打开&lt;/h3&gt;
&lt;p&gt;使用 &lt;code&gt;with&lt;/code&gt; 关键字。优点是当子句体结束后文件会正确关闭，即使在某个时刻引发了异常。&lt;/p&gt;</description></item><item><title>数字类型</title><link>https://yangzh.cn/posts/posts/%E6%95%B0%E5%AD%97%E7%B1%BB%E5%9E%8B.html/</link><pubDate>Wed, 23 Nov 2022 00:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%95%B0%E5%AD%97%E7%B1%BB%E5%9E%8B.html/</guid><description>&lt;h2 id="三种数字类型"&gt;三种数字类型&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;int&lt;/code&gt; 整型数字，比如&lt;code&gt;2015&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;float&lt;/code&gt; 浮点型数字，比如&lt;code&gt;3.14&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;complex&lt;/code&gt; 复数，比如&lt;code&gt;3+2j&lt;/code&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="整型"&gt;整型&lt;/h2&gt;
&lt;p&gt;整型（int）字面量在Python中属于&lt;code&gt;int&lt;/code&gt;类。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Python" data-lang="Python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;数字可以进行各种运算，如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Python" data-lang="Python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;123&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;345&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;还可以使用数学模块进行更高级的运算，如产生随机数等等：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Python" data-lang="Python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;random&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="浮点类型"&gt;浮点类型&lt;/h2&gt;
&lt;p&gt;浮点数（float）是指有小数点的数字。&lt;/p&gt;</description></item><item><title>列表</title><link>https://yangzh.cn/posts/posts/%E5%88%97%E8%A1%A8.html/</link><pubDate>Wed, 23 Nov 2022 00:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%88%97%E8%A1%A8.html/</guid><description>&lt;p&gt;Python的&lt;strong&gt;列表（list）&lt;/strong&gt; 对象是最常用的&lt;strong&gt;序列&lt;/strong&gt;(Sequence)。与字符串是不可变序列不同，&lt;strong&gt;列表是可变的&lt;/strong&gt;。可通过对偏移量进行修改和读取。&lt;/p&gt;
&lt;p&gt;




&lt;/p&gt;
&lt;h2 id="将列表当做堆栈使用"&gt;将列表当做堆栈使用&lt;/h2&gt;
&lt;p&gt;列表方法使得列表可以很方便的做为一个堆栈来使用，堆栈作为特定的数据结构，最先进入的元素最后一个被释放(后进先出)。用&lt;code&gt;append()&lt;/code&gt;方法可以把一个元素添加到堆栈中。用不指定索引的&lt;code&gt;pop()&lt;/code&gt;方法可以把一个元素从堆栈顶释放出来。&lt;/p&gt;</description></item><item><title>加下划线的变量</title><link>https://yangzh.cn/posts/posts/%E5%8A%A0%E4%B8%8B%E5%88%92%E7%BA%BF%E7%9A%84%E5%8F%98%E9%87%8F.html/</link><pubDate>Wed, 23 Nov 2022 00:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8A%A0%E4%B8%8B%E5%88%92%E7%BA%BF%E7%9A%84%E5%8F%98%E9%87%8F.html/</guid><description>&lt;p&gt;某些标识符类（除了关键字）具有特殊含义。这些类的命名模式以下划线字符开头，并以下划线结尾：&lt;/p&gt;
&lt;h2 id="1-语法解读"&gt;1 语法解读&lt;/h2&gt;
&lt;h3 id="11-_"&gt;1.1 &lt;code&gt;_*&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;_*&lt;/code&gt;，表示不会被 &lt;code&gt;from module import *&lt;/code&gt; 所导入。&lt;/p&gt;
&lt;h3 id="12-_"&gt;1.2 &lt;code&gt;_&lt;/code&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;*&lt;code&gt;_&lt;/code&gt;在 match 语句内部的 &lt;code&gt;case&lt;/code&gt; 模式中，&lt;code&gt;_&lt;/code&gt; 是一个 &lt;code&gt;软关键字&lt;/code&gt;，它表示通配符。&lt;/li&gt;
&lt;li&gt;在此之外，交互式解释器会将最后一次求值的结果放到变量 &lt;code&gt;_&lt;/code&gt; 中。 （它与 print 等内置函数一起被存储于 builtins 模块。）&lt;/li&gt;
&lt;li&gt;在其他地方，&lt;code&gt;_&lt;/code&gt; 是一个常规标识符。 它常常被用来命名 &amp;quot;特殊&amp;quot; 条目，但对 Python 本身来说毫无特殊之处。开发人员常用下划线表示改变私有变量，不希望被外部直接访问的变量，但是从语法上，这种加了一个下划线的变量依旧是可以从外部访问的，是一种伪私有变量。&lt;/li&gt;
&lt;li&gt;它还经常被用来命名无需使用的变量。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-____"&gt;1.3 &lt;code&gt;__*__&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;若变量名称前后都有双下划线，则表示系统定义的名称，通常简称为 &amp;quot;dunder&amp;quot; 。这些名称由解释器及其实现（包括标准库）定义，并全局可用。&lt;/p&gt;</description></item><item><title>加星号的变量</title><link>https://yangzh.cn/posts/posts/%E5%8A%A0%E6%98%9F%E5%8F%B7%E7%9A%84%E5%8F%98%E9%87%8F.html/</link><pubDate>Wed, 23 Nov 2022 00:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8A%A0%E6%98%9F%E5%8F%B7%E7%9A%84%E5%8F%98%E9%87%8F.html/</guid><description>&lt;h2 id="1-功能"&gt;1 功能&lt;/h2&gt;
&lt;p&gt;[[Python]]中的星号在不同语境中的含义不一样。在变量前面加上星号&lt;code&gt;*&lt;/code&gt;，表示该变量为扩展的可迭代对象。&lt;/p&gt;
&lt;p&gt;字典前面加两个星号&lt;code&gt;**&lt;/code&gt;，是将字典的值解开成独立的元素作为形参。&lt;/p&gt;
&lt;h2 id="2-案例"&gt;2 案例&lt;/h2&gt;
&lt;h3 id="21-变量之前有一个星号"&gt;2.1 变量之前有一个星号&lt;/h3&gt;
&lt;p&gt;使用一个星号的变量将成为扩展的可迭代对象。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="22-变量之前有两个星号"&gt;2.2 变量之前有两个星号&lt;/h3&gt;
&lt;p&gt;使用两个星号表示展开字典的值作为形参。&lt;/p&gt;</description></item><item><title>字符串</title><link>https://yangzh.cn/posts/posts/%E5%AD%97%E7%AC%A6%E4%B8%B2.html/</link><pubDate>Wed, 23 Nov 2022 00:05:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%97%E7%AC%A6%E4%B8%B2.html/</guid><description>&lt;p&gt;Python 中的&lt;strong&gt;字符串（Strings）是用单引号或双引号标记的一系列连续字符（characters）&lt;/strong&gt;，换句话说，&lt;strong&gt;字符串是由单个字符组成的序列（list）&lt;/strong&gt;。即便只有一个字符，也是字符串，Python 中没有字符数据类型。&lt;strong&gt;单引号括起的字符串和双引号括起的字符串是一样的，它们不存在任何区别&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>使用Numpy创建随机数组</title><link>https://yangzh.cn/posts/posts/%E5%88%9B%E5%BB%BA%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%BB%84.html/</link><pubDate>Tue, 22 Nov 2022 23:42:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%88%9B%E5%BB%BA%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%BB%84.html/</guid><description>&lt;p&gt;随机数在编程世界里有很多妙用，比如我们都玩过的消消乐游戏，消掉一块后，屏幕顶端会自动下落一部分随机色块；还有欢乐玩斗地主的时候，洗牌就是一个随机的过程。&lt;/p&gt;
&lt;p&gt;但是有的时候我们对生成的随机数也有一定的要求，比如我们在消消乐游戏里面，各个色块出现的概率是不一样的，特别是在高难度的关卡里，程序似乎可以故意提高“游戏难度”。其实这里的随机数都是经过缜密计算、精心设计的，那下面我们就来看看，如何生成一些“高阶”的随机数。&lt;/p&gt;</description></item><item><title>操作符重载</title><link>https://yangzh.cn/posts/posts/%E6%93%8D%E4%BD%9C%E7%AC%A6%E9%87%8D%E8%BD%BD.html/</link><pubDate>Tue, 22 Nov 2022 23:27:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%93%8D%E4%BD%9C%E7%AC%A6%E9%87%8D%E8%BD%BD.html/</guid><description>&lt;p&gt;我们之前已经看到&lt;code&gt;+&lt;/code&gt;运算符不但能加数字，还能连接字符串。这之所以可能，是因为&lt;code&gt;+&lt;/code&gt;运算符在int类和str类中都被重载。运算符实际上对应着类中相应的方法。为运算符定义方法就是所谓的运算符重载。比如，为让自定义对象能使用&lt;code&gt;+&lt;/code&gt;运算符，我们需要定义名叫&lt;code&gt;__add__&lt;/code&gt;的方法。&lt;/p&gt;</description></item><item><title>模块和包</title><link>https://yangzh.cn/posts/posts/%E6%A8%A1%E5%9D%97%E5%92%8C%E5%8C%85.html/</link><pubDate>Tue, 22 Nov 2022 15:45:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%A8%A1%E5%9D%97%E5%92%8C%E5%8C%85.html/</guid><description>&lt;p&gt;在Python中，模块和包是组织代码的一种方式，可以帮助你的代码保持结构清晰和易于维护。让我们用一个简单的例子来解释它们。&lt;/p&gt;
&lt;h2 id="模块module"&gt;模块（Module）&lt;/h2&gt;
&lt;p&gt;想象一下，你正在建造一个乐高城堡。每个小乐高积木块可以被看作是一个模块。每个积木块都有特定的形状和功能，你可以用它来构建城堡的一部分。在Python中，一个模块就是一个包含Python代码的文件（以&lt;code&gt;.py&lt;/code&gt;结尾）。这个文件可能包含函数、类、变量等。&lt;/p&gt;</description></item><item><title>类和对象</title><link>https://yangzh.cn/posts/posts/%E7%B1%BB%E5%92%8C%E5%AF%B9%E8%B1%A1.html/</link><pubDate>Tue, 22 Nov 2022 15:35:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%B1%BB%E5%92%8C%E5%AF%B9%E8%B1%A1.html/</guid><description>&lt;p&gt;理解Python中的类和对象可以类比于现实生活中的“设计图”和“实际产品”。在这个比喻中，类是设计图，而对象是根据这个设计图制造出来的实际产品。&lt;/p&gt;
&lt;h2 id="类class"&gt;类（Class）&lt;/h2&gt;
&lt;p&gt;想象你有一个设计制作汽车的设计图。这个设计图定义了汽车的各种特性：它有四个轮子、一个引擎、一定数量的座位等。在Python中，这个设计图就是一个类。它定义了一组属性（特性）和方法（功能）来描述某种事物。&lt;/p&gt;</description></item><item><title>流程控制</title><link>https://yangzh.cn/posts/posts/%E6%B5%81%E7%A8%8B%E6%8E%A7%E5%88%B6.html/</link><pubDate>Tue, 22 Nov 2022 14:02:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%B5%81%E7%A8%8B%E6%8E%A7%E5%88%B6.html/</guid><description>&lt;p&gt;Python中的流程控制主要包括条件语句、循环语句以及异常处理。这些控制结构使得程序能够根据不同的条件执行不同的代码路径，从而提高程序的灵活性和效率。&lt;/p&gt;
&lt;h2 id="分支控制"&gt;分支控制&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;if&lt;/code&gt;语句后面的条件判断表达式使用 &lt;code&gt;:&lt;/code&gt; 结束。&lt;/li&gt;
&lt;li&gt;可以使用&lt;code&gt;elif&lt;/code&gt;、&lt;code&gt;else&lt;/code&gt;进行组合判断。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;else&lt;/code&gt;后不能加判断条件。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;if&lt;/code&gt;语句可以嵌套。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="if-else"&gt;if-else&lt;/h3&gt;
&lt;p&gt;Python 使用&lt;code&gt;if-else&lt;/code&gt;进行控制声明。语法如下：&lt;/p&gt;</description></item><item><title>Python运算符</title><link>https://yangzh.cn/posts/posts/%E8%BF%90%E7%AE%97%E7%AC%A6.html/</link><pubDate>Tue, 22 Nov 2022 13:57:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%BF%90%E7%AE%97%E7%AC%A6.html/</guid><description>&lt;h2 id="常用运算符"&gt;常用运算符&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;名称&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;例子&lt;/th&gt;
 &lt;th&gt;运行结果&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;+&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;加&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;3+1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;减&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;40-2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;38&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;乘&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;3*2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;除&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;6/3&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;//&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;取整除（地板除）&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;8//5&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;**&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;幂&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;2**3&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;%&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;求余数&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;7%2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Python有各种运算符，我们可以使用这些运算符完成计算。&lt;/p&gt;
&lt;h2 id="运算符的优先级别"&gt;运算符的优先级别&lt;/h2&gt;
&lt;p&gt;Python按照运算符的有限级别计算表达式的值，比如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Python" data-lang="Python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;在上面的表达式中，应该先进行加运算还是乘运算？为了搞清楚这个问题，我们需要明白Python中运算符的优先级别，下表显示了运算符的优先级别，依次&lt;strong&gt;从高到底排列&lt;/strong&gt;如下：&lt;/p&gt;</description></item><item><title>Python中的注释</title><link>https://yangzh.cn/posts/posts/python%E4%B8%AD%E7%9A%84%E6%B3%A8%E9%87%8A.html/</link><pubDate>Tue, 22 Nov 2022 13:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python%E4%B8%AD%E7%9A%84%E6%B3%A8%E9%87%8A.html/</guid><description>&lt;h2 id="注释的语法"&gt;注释的语法&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;在 Python 中，使用&lt;code&gt;#&lt;/code&gt;标记进行&lt;strong&gt;单行注释&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/code&gt;或&lt;code&gt;'''&lt;/code&gt;来进行&lt;strong&gt;多行注释&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;多行注释不能嵌套。&lt;/li&gt;
&lt;li&gt;注释不会被 Python 解释器执行。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="注释的作用"&gt;注释的作用&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;代码注释最重要的作用就是让读者可以在不读源码的情况下，快速了解一段代码的主要功能。&lt;/li&gt;
&lt;li&gt;注释是提高代码可读性的重要手段。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# -*- coding: utf-8 -*-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 注释不会运行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;hello world&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="在-vs-code-中快速编写注释"&gt;在 VS Code 中快速编写注释&lt;/h2&gt;
&lt;p&gt;使用 &lt;code&gt;Ctrl+/&lt;/code&gt; 热键进行单行注释，使用 &lt;code&gt;Ctrl+Shift+/&lt;/code&gt; 热键可以进行多行注释。对于 Mac 电脑，应使用 &lt;code&gt;Cmd&lt;/code&gt; 而不是 &lt;code&gt;Ctrl&lt;/code&gt;，使用 &lt;code&gt;Option&lt;/code&gt; 而不是 &lt;code&gt;Shift&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>Echarts.js</title><link>https://yangzh.cn/posts/posts/echarts.html/</link><pubDate>Sat, 19 Nov 2022 12:28:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/echarts.html/</guid><description>&lt;h1 id="echartsjs-速览"&gt;Echarts.js 速览&lt;/h1&gt;
&lt;p&gt;ECharts是一个由百度公司主导开发的开源可视化库，可快速实现交互丰富，可高度个性化定制的数据可视化图表。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202311191230774.png" alt="Echarts图表"&gt;&lt;/p&gt;
&lt;p&gt;它的使用非常容易上手。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;```.properties
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;viewport&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;width=device-width, initial-scale=1.0&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;5 分钟入门 echarts&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;width: 600px; height: 400px;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 基于准备好的dom，初始化echarts实例
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;myChart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;echarts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 指定图表的配置项和数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;option&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ECharts 入门示例&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;tooltip&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;legend&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;销量&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;xAxis&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;衬衫&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;羊毛衫&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;雪纺衫&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;裤子&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;高跟鞋&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;袜子&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;yAxis&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;series&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;销量&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bar&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;36&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 使用刚指定的配置项和数据显示图表。
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;myChart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setOption&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;option&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="核心概念"&gt;核心概念&lt;/h2&gt;
&lt;p&gt;可在官方文档的术语速查手册中，对配置项进行快速查找和学习。&lt;/p&gt;</description></item><item><title>JavaScript对象及面向对象编程</title><link>https://yangzh.cn/posts/posts/js-oop.html/</link><pubDate>Mon, 14 Nov 2022 22:28:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-oop.html/</guid><description>&lt;p&gt;JavaScript中的对象是数据和功能的组合体。对象和面向对象编程（OOP）是一种编程范式，它将数据和操作数据的方法封装在一起，以创建可重用的代码块，这些代码块被称为类。&lt;/p&gt;
&lt;p&gt;想象一个图书馆作为一个类，这个类有一些属性和方法。图书馆的属性可能包括书籍的数量、图书馆的地址和开放时间等等。这些属性用于描述图书馆的状态。而方法可能包括借书、还书、查找书籍等，这些方法用于操作图书馆的状态。每个图书馆的实例都可以被看作是一个独立的对象，它们共享相同的方法，但具有不同的属性值。&lt;/p&gt;</description></item><item><title>JavaScript基本运算符</title><link>https://yangzh.cn/posts/posts/js-operator.html/</link><pubDate>Mon, 14 Nov 2022 20:30:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-operator.html/</guid><description>&lt;p&gt;运算符用于将一个或多个值运算成结果。在 Javascript 中，常用的运算符有以下几种类别：&lt;/p&gt;
&lt;h3 id="算术运算符"&gt;算术运算符&lt;/h3&gt;
&lt;p&gt;算术运算符能对操作数进行运算，返回一个数值型的值。常见的有&lt;code&gt;+ - * ** / %&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="关系运算符"&gt;关系运算符&lt;/h3&gt;
&lt;p&gt;关系运算符通常用于检查两个操作数之间的关系，返回值为 &lt;code&gt;true&lt;/code&gt; 或 &lt;code&gt;false&lt;/code&gt;。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;运算符&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;th&gt;例子&lt;/th&gt;
 &lt;th&gt;结果&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;==&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否相等&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5==&amp;quot;5&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;true&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;===&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否全等&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5===&amp;quot;5&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;false&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;!=&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否不等&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5!=&amp;quot;5&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;false&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;!==&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否不全等&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5!=&amp;quot;5&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;true&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否大于&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5&amp;gt;8&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;false&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;&amp;lt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否小于&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5&amp;lt;8&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;true&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;&amp;gt;=&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否大于等于&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5&amp;gt;=8&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;false&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;&amp;lt;=&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是否小于等于&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5&amp;lt;=8&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;true&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="赋值运算符"&gt;赋值运算符&lt;/h3&gt;
&lt;p&gt;赋值运算符是使用最多的运算符，常见的赋值运算符就是“&lt;code&gt;=&lt;/code&gt;”，它将右边的值赋与等号左边的变量。&lt;/p&gt;</description></item><item><title>JavaScript中的变量与常量</title><link>https://yangzh.cn/posts/posts/js-variable.html/</link><pubDate>Mon, 14 Nov 2022 20:03:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-variable.html/</guid><description>&lt;h2 id="变量"&gt;变量&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;变量&lt;/strong&gt;是数据的“命名存储”，是程序中数据的临时存放场所。JavaScript 的变量定义可使用“&lt;code&gt;let&lt;/code&gt;”关键字，示例如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-JavaScript" data-lang="JavaScript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;author&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;yangjh&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;Age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;male&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;上述三行代码中，&lt;code&gt;let&lt;/code&gt; 关键字表示声明变量，变量名紧跟其后，通过等于号将变量赋予变量初始值。每一行结束的分号可以不写，但书写分号后，能增强代码的可读性，加不加分号取决于个人选择。&lt;/p&gt;</description></item><item><title>测量及量表</title><link>https://yangzh.cn/posts/posts/%E6%B5%8B%E9%87%8F%E5%8F%8A%E9%87%8F%E8%A1%A8.html/</link><pubDate>Sat, 05 Nov 2022 06:54:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%B5%8B%E9%87%8F%E5%8F%8A%E9%87%8F%E8%A1%A8.html/</guid><description>&lt;h2 id="测量的基本概念"&gt;测量的基本概念&lt;/h2&gt;
&lt;p&gt;测量（measurement）是运用一套符号系统去描述某个被观察对象的某个属性（attribute）的过程。&lt;/p&gt;
&lt;p&gt;测量就是按照一定的程序和规则，给物体的属性安排数字。&lt;/p&gt;
&lt;p&gt;变异（variety）是统计的根本，有学者认为提出了社会科学研究的三个基本原则，认为变异性原则是其中首要的一个原则。&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description></item><item><title>Pandoc</title><link>https://yangzh.cn/posts/posts/pandoc.html/</link><pubDate>Fri, 04 Nov 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/pandoc.html/</guid><description>&lt;h2 id="基本概念"&gt;基本概念&lt;/h2&gt;
&lt;p&gt;Pandoc 是一个由 &lt;a href="https://www.johnmacfarlane.net/"&gt;John MacFarlane&lt;/a&gt; 开发的通用文档转换命令行工具，可以在多种标记和文字处理格式之间进行转换，例如 &lt;a href="../markdown/markdown"&gt;markdown&lt;/a&gt; 、Microsoft Word、PowerPoint、JupyterNotebook、HTML、PDF、LaTeX、Wiki、EPUB 格式之间的相互转换。&lt;/p&gt;</description></item><item><title>Anki</title><link>https://yangzh.cn/posts/posts/anki.html/</link><pubDate>Tue, 01 Nov 2022 00:18:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/anki.html/</guid><description>&lt;p&gt;Anki 是一款开源重复记忆自动排期工具，使用Python开发。与同类软件相比，Anki 具有跨平台、生态繁荣等优势。自发布以来，用户逐年稳定增长。&lt;/p&gt;
&lt;h2 id="原理"&gt;原理&lt;/h2&gt;
&lt;p&gt;Anki 的记忆原理是“主动召回测试”和“间隔重复记忆”，就避免了大脑的“不用就会忘记”的机制。&lt;/p&gt;
&lt;h2 id="通过vs-code降低制卡难度"&gt;通过VS Code降低制卡难度&lt;/h2&gt;
&lt;p&gt;Anki在使用的过程中，主要遇到的问题是制卡存在困难。解决方法有多种，一种是直接使用他人提供的卡片，另外就是自己制卡。&lt;/p&gt;</description></item><item><title>CSS 变量</title><link>https://yangzh.cn/posts/posts/css-variable.html/</link><pubDate>Sun, 30 Oct 2022 17:29:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-variable.html/</guid><description>&lt;p&gt;CSS变量，也被称为自定义属性（Custom Properties），是CSS中的一项强大功能，允许你在样式表中定义和重用值。它们提供了一种更灵活的方式来管理和修改网页样式，特别是在处理大型和复杂的网站时。CSS变量的语法以双减号&lt;code&gt;--&lt;/code&gt;开头，后跟变量名，如 &lt;code&gt;--main-color&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>HTML表单元素</title><link>https://yangzh.cn/posts/posts/html-form.html/</link><pubDate>Sun, 30 Oct 2022 00:08:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-form.html/</guid><description>&lt;h2 id="form"&gt;form&lt;/h2&gt;
&lt;p&gt;Form 元素用来标记一组和表单相关的元素，如文本框、提交按钮等等内容，是服务器和用户进行交互的最重要元素。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;form&lt;/code&gt; 元素最重要的两个属性是 &lt;code&gt;action&lt;/code&gt; 和 &lt;code&gt;method&lt;/code&gt;，分别对应表单提交后的处理程序和表单提交方式。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt; &lt;span class="na"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://www.bing.com/search&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;get&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Bing: &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;search&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;q&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Search...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="lable"&gt;lable&lt;/h2&gt;
&lt;p&gt;Label 元素用来标记表单交互元素的标签，是一个辅助说明性的元素，label 元素往往对应特定的元素。&lt;/p&gt;</description></item><item><title>HTML 内容组织元素</title><link>https://yangzh.cn/posts/posts/html-content.html/</link><pubDate>Sat, 29 Oct 2022 23:38:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-content.html/</guid><description>&lt;p&gt;合理使用内容组织元素，能帮助浏览器等设备更好地理解网页的内容。&lt;/p&gt;
&lt;h2 id="p"&gt;p&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;p&lt;/code&gt;元素用来表示段落，列表元素&lt;code&gt;ol&lt;/code&gt;和&lt;code&gt;ul&lt;/code&gt;不能包含于&lt;code&gt;p&lt;/code&gt;元素中。&lt;/p&gt;
&lt;h2 id="address"&gt;address&lt;/h2&gt;
&lt;p&gt;address 元素用来表示联系方式。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;address&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 要了解更多信息，请联系&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mailto:js@example.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;作者&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;address&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;small&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;© copyright 2038 Example Corp.&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;small&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="hr"&gt;hr&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;hr&lt;/code&gt;元素表示段落级别的语义中断，例如，一个故事中的场景切换，或者文章中的主题切换。&lt;/p&gt;</description></item><item><title>大数定律</title><link>https://yangzh.cn/posts/posts/%E5%A4%A7%E6%95%B0%E5%AE%9A%E5%BE%8B.html/</link><pubDate>Fri, 14 Oct 2022 07:24:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%A4%A7%E6%95%B0%E5%AE%9A%E5%BE%8B.html/</guid><description>&lt;h2 id="大数定律的定义"&gt;大数定律的定义&lt;/h2&gt;
&lt;p&gt;随着$n$的增加，事件$A$发生的频率$\frac{f_A}{n}$与其概率$p$的偏差大于预先给定的精度$\varepsilon$的可能性越来越小，要多小有多小，即频率稳定于概率。&lt;/p&gt;
$$\lim _{n \rightarrow \infty} P\left\{\left|\frac{f_{A}}{n}-p\right| \geqslant \varepsilon\right\}=0 $$&lt;p&gt;伯努利大数定理表明，只要重复独立实验的次数n重复大，事件$\{|\frac{f_A}{n}-p|\geqslant\epsilon\}$是一个小概率事件，由&lt;a href="%E5%AE%9E%E9%99%85%E6%8E%A8%E6%96%AD%E5%8E%9F%E7%90%86"&gt;实际推断原理&lt;/a&gt;知，这一事件实际上几乎是不发生的。&lt;/p&gt;</description></item><item><title>*args 和 **kwargs</title><link>https://yangzh.cn/posts/posts/args-%E5%92%8C-kwargs.html/</link><pubDate>Tue, 06 Sep 2022 22:56:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/args-%E5%92%8C-kwargs.html/</guid><description>&lt;h2 id="args-和-kwargs的概念"&gt;&lt;code&gt;*args&lt;/code&gt; 和 &lt;code&gt;**kwargs&lt;/code&gt;的概念&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;*args&lt;/code&gt; 和&lt;code&gt;**kwargs&lt;/code&gt;是两个魔法变量。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;*args&lt;/code&gt; 是用来发送一个非键值对的可变数量的参数列表给一个函数。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;**kwargs&lt;/code&gt; 允许你将不定长度的键值对, 作为参数传递给一个函数。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;*args&lt;/code&gt; 和&lt;code&gt;**kwargs&lt;/code&gt;只是一个通俗的命名约定。并不是必须写成&lt;code&gt;*args&lt;/code&gt; 和&lt;code&gt;**kwargs&lt;/code&gt;，只有变量前面的 &lt;code&gt;*(星号)&lt;/code&gt;才是必须的。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="使用args传递及处理任意多个非键值对参数"&gt;使用&lt;code&gt;*args&lt;/code&gt;传递及处理任意多个非键值对参数&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;test_var_args&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f_arg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;first normal arg:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;f_arg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;arg&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;another arg through *argv:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;arg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;test_var_args&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;yasoob&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;python&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;eggs&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;test&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这会产生如下输出:&lt;/p&gt;</description></item><item><title>布尔类型</title><link>https://yangzh.cn/posts/posts/%E5%B8%83%E5%B0%94%E7%B1%BB%E5%9E%8B.html/</link><pubDate>Sun, 04 Sep 2022 23:26:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%B8%83%E5%B0%94%E7%B1%BB%E5%9E%8B.html/</guid><description>&lt;p&gt;布尔（bool）类型的取值为&lt;code&gt;True&lt;/code&gt;和&lt;code&gt;False&lt;/code&gt;。在 Python 中布尔类型是整数类型的一个子类，即&lt;code&gt;True&lt;/code&gt;为&lt;code&gt;1&lt;/code&gt;，&lt;code&gt;False&lt;/code&gt;为&lt;code&gt;0&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="常用布尔表达式"&gt;常用布尔表达式&lt;/h2&gt;
&lt;h3 id="检测变量是否为空"&gt;检测变量是否为空&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;以变量的值作为判断条件是判别变量为空的最简单方法
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;结果：
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;False
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;False
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;False
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;False
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;False
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;False
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/George_Boole"&gt;George Boole - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>javascript</title><link>https://yangzh.cn/posts/posts/javascript.html/</link><pubDate>Tue, 23 Aug 2022 11:28:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/javascript.html/</guid><description>&lt;p&gt;::: {.page-container}&lt;/p&gt;
&lt;p&gt;::: {.max-w-3xl}&lt;/p&gt;
&lt;p&gt;::: {.course-title}&lt;/p&gt;
&lt;p&gt;::: {.course-logo}
&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310312222957.svg" alt=""&gt;
:::&lt;/p&gt;
&lt;h1 id="javascript"&gt;JavaScript&lt;/h1&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;JavaScript 是一种广泛用于客户端 Web 开发的脚本语言。它是一种高级、解释性的编程语言，主要用于在网页上实现动态交互和改变页面内容。JavaScript 不仅可以在浏览器中执行，还可以在服务器端通过 Node.js 运行。这使得 JavaScript 可以用于全栈开发，实现前后端一体化的应用程序。&lt;/p&gt;</description></item><item><title>使用Git时的常见错误及解决方案</title><link>https://yangzh.cn/posts/posts/%E4%BD%BF%E7%94%A8git%E6%97%B6%E7%9A%84%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.html/</link><pubDate>Fri, 08 Jul 2022 07:24:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%BD%BF%E7%94%A8git%E6%97%B6%E7%9A%84%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.html/</guid><description>&lt;hr&gt;
&lt;h2 id="ssh-connect-to-host-githubcom-port-22-connection-timed-out"&gt;ssh: connect to host github.com port 22: Connection timed out&lt;/h2&gt;
&lt;p&gt;原因：&lt;/p&gt;
&lt;p&gt;使用ssh时，无法与github网站进行正常连接。&lt;/p&gt;
&lt;p&gt;解决方案：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用非校园网&lt;/li&gt;
&lt;li&gt;使用代理或不使用代理&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Git</title><link>https://yangzh.cn/posts/posts/git.html/</link><pubDate>Thu, 07 Jul 2022 07:29:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/git.html/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Always use source code control.&lt;/strong&gt;
---Andrew Hunt &lt;em&gt;程序员修炼之道&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="版本控制"&gt;版本控制&lt;/h2&gt;
&lt;p&gt;什么是版本控制？我们为什么要关心它呢？ &lt;strong&gt;版本控制系统（Version Control System）是一种记录一个或若干文件内容变化，以便将来查阅特定版本修订情况的系统。&lt;/strong&gt; 在本书所展示的例子中，我们仅对保存着软件源代码的文本文件作版本控制管理，但实际上，你可以对任何类型的文件进行版本控制。&lt;/p&gt;</description></item><item><title>函数</title><link>https://yangzh.cn/posts/posts/%E5%87%BD%E6%95%B0.html/</link><pubDate>Thu, 19 May 2022 14:44:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%87%BD%E6%95%B0.html/</guid><description>&lt;p&gt;&lt;strong&gt;函数是可重用的代码块&lt;/strong&gt;，使用函数可以帮助我们组织代码的结构。我们创建函数的目的，是能在程序运行中多次使用一系列代码，而不用重复书写代码。&lt;/p&gt;
&lt;h2 id="创建函数"&gt;创建函数&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Python使用&lt;code&gt;def&lt;/code&gt;关键词创建函数，后跟函数名与括号内的参数列表。&lt;/li&gt;
&lt;li&gt;函数可以没有参数，也可以有多个参数，多个参数之间用逗号隔开。&lt;/li&gt;
&lt;li&gt;函数主体接收参数，实现特定功能。&lt;/li&gt;
&lt;li&gt;可以使用&lt;code&gt;pass&lt;/code&gt;关键字忽略函数主体部分的编写。&lt;/li&gt;
&lt;li&gt;可以通过&lt;code&gt;return&lt;/code&gt;语句指定返回值。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;function_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arg1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;arg2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;arg3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;....&lt;/span&gt; &lt;span class="n"&gt;argN&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#statement inside function&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;我们看一个函数的例子，下面的函数将计算指定范围的整数之和：&lt;/p&gt;</description></item><item><title>异常</title><link>https://yangzh.cn/posts/posts/%E5%BC%82%E5%B8%B8.html/</link><pubDate>Thu, 19 May 2022 14:41:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%BC%82%E5%B8%B8.html/</guid><description>&lt;p&gt;&lt;strong&gt;异常&lt;/strong&gt;是指程序中的例外，违例情况。异常机制是指程序出现错误后，程序的处理方法。当出现错误后，程序的执行流程发生改变，程序的控制权转移到异常处理。&lt;/p&gt;
&lt;h2 id="捕获异常"&gt;捕获异常&lt;/h2&gt;
&lt;p&gt;异常处理可以使开发人员能以优雅的方式处理错误。&lt;/p&gt;
&lt;h3 id="try-except"&gt;try-except&lt;/h3&gt;
&lt;p&gt;Python使用try-except语句处理异常。语法如下：&lt;/p&gt;</description></item><item><title>Python中的变量</title><link>https://yangzh.cn/posts/posts/%E5%8F%98%E9%87%8F.html/</link><pubDate>Wed, 18 May 2022 13:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8F%98%E9%87%8F.html/</guid><description>&lt;h2 id="编程语言中的的变量"&gt;编程语言中的的变量&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;变量&lt;/strong&gt;（Vaiable）实质上是对内存中地址的命名。在内存中存储着诸多对象，为了方便使用这些对象，便有了变量。变量是可以赋给值的标签，也可以说变量指向特定的值。&lt;/p&gt;
&lt;h2 id="python中的变量"&gt;Python中的变量&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;每个变量都有各自的标识符、值和类型。&lt;/li&gt;
&lt;li&gt;一个对象被创建后，它的标识符就绝不会改变，可以将其理解为该对象在内存中的地址。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.python.org/zh-cn/3/reference/expressions.html#is"&gt;&lt;code&gt;is&lt;/code&gt;&lt;/a&gt; 运算符可以比较两个对象的标识号是否相同。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.python.org/zh-cn/3/library/functions.html#id" title="id"&gt;&lt;code&gt;id()&lt;/code&gt;&lt;/a&gt; 函数能返回一个代表其标识符的整数。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="python标识符"&gt;Python标识符&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;标识符&lt;/strong&gt;（Identifier）是变量和函数的名称。简单理解，标识符就是用户对变量和函数、类、模块等可以起名字的对象命名时所使用的字符串。&lt;/p&gt;</description></item><item><title>VS Code</title><link>https://yangzh.cn/posts/posts/vscode.html/</link><pubDate>Tue, 12 Apr 2022 22:47:33 +0800</pubDate><guid>https://yangzh.cn/posts/posts/vscode.html/</guid><description>&lt;p&gt;Visual Studio Code 是微软开发的一款开源编辑器，吸取了同类产品的优点（如Sublime Text，Atom），在编辑器市场中占有重要地位。&lt;/p&gt;
&lt;h2 id="vs-code-的用法"&gt;VS Code 的用法&lt;/h2&gt;
&lt;p&gt;开发人员根据自己的审美和习惯，对编辑器进行订制，改善工作的效率。&lt;/p&gt;
&lt;h3 id="自动存盘"&gt;自动存盘&lt;/h3&gt;
&lt;p&gt;默认情况下，VS Code 并不能自动存盘。如需自动存盘功能，打开&lt;code&gt;文件&lt;/code&gt;菜单，选择&lt;code&gt;自动保存&lt;/code&gt;即可。&lt;/p&gt;</description></item><item><title>如何使用mklink命令建立文件或目录链接</title><link>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8mklink%E5%BB%BA%E7%AB%8B%E6%96%87%E4%BB%B6%E9%93%BE%E6%8E%A5.html/</link><pubDate>Fri, 08 Apr 2022 08:19:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8mklink%E5%BB%BA%E7%AB%8B%E6%96%87%E4%BB%B6%E9%93%BE%E6%8E%A5.html/</guid><description>&lt;p&gt;Windows 中的&lt;code&gt;mklink&lt;/code&gt;命令用于创造目录或文件的符号链接（软链接）或硬链接。&lt;/p&gt;
&lt;h2 id="概念"&gt;概念&lt;/h2&gt;
&lt;h3 id="文件"&gt;文件&lt;/h3&gt;
&lt;p&gt;文件是数据对象和文件路径的链接。&lt;/p&gt;
&lt;h3 id="符号链接"&gt;符号链接&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;符号链接（symbolic link）&lt;/strong&gt;，也叫软链接，创建指向单个文件或文件夹的符号链接，该链接看起来与 Windows 的文件或文件夹相同，即使它只是指向文件或文件夹的链接。打开文件夹的软链接时，您将被重定向到存储文件的文件夹。&lt;/p&gt;</description></item><item><title>卡片笔记法</title><link>https://yangzh.cn/posts/posts/%E5%8D%A1%E7%89%87%E7%AC%94%E8%AE%B0%E6%B3%95.html/</link><pubDate>Fri, 08 Apr 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8D%A1%E7%89%87%E7%AC%94%E8%AE%B0%E6%B3%95.html/</guid><description>&lt;h2 id="概念"&gt;概念&lt;/h2&gt;
&lt;p&gt;卡片笔记法，也叫 Zettelkasten 笔记法、ZK卡片法、卢曼卡片法，指的是由&lt;a href="../people/%E5%B0%BC%E5%8F%A4%E6%8B%89%E6%96%AF%C2%B7%E5%8D%A2%E6%9B%BC"&gt;尼古拉斯·卢曼&lt;/a&gt;(Niklas Luhmann) 创造的&lt;strong&gt;面向知识型工作&lt;/strong&gt;(knowledge work)的笔记管理方法，Zettelkasten 是德语，对应的英语是Slip-box，即滑盒。&lt;/p&gt;
&lt;p&gt;卡片笔记法具有如下优势：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;卡片盒笔记法可以让我们集中注意力到复杂问题中的一小部分，然后再能用全景的视角看待问题。&lt;/li&gt;
&lt;li&gt;卡片盒笔记法具有&lt;strong&gt;内生长&lt;/strong&gt;（internal growth）的特点，可通过超文本链接、标签等多种方式让笔记之间产生意义上的联系，从而帮助我们进行创造性的写作。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="使用要点"&gt;使用要点&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;为卡片建立联系（可借助软件高效完成）。这种联系是概念上、逻辑上的联系。在建立链接时，应明确地说明连接的原因。如果只添加链接，则无法实现知识的创造。&lt;/li&gt;
&lt;li&gt;坚持笔记原子化的原则（Atomicity）。即每个卡片包含且只包含 1 条知识。例如：一个论点、一个概念、一个例子等等。&lt;/li&gt;
&lt;li&gt;笔记卡片的长度，由你想要达到的目的决定。&lt;/li&gt;
&lt;li&gt;使用你自己的语言创作笔记内容，避免复制粘贴。即便是摘抄的内容，也要用自己的话复述或者改写。如果时间不足，可安排后续时间进行完善。&lt;/li&gt;
&lt;li&gt;在卡片底部增加参考文献。&lt;/li&gt;
&lt;li&gt;除了使用超文本链接、标签之类的网状联系外，还可为笔记增加层级结构（hierarchical structure），如目录、枢纽笔记。将知识结构化是创造知识的有效手段。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="案例"&gt;案例&lt;/h2&gt;
&lt;h3 id="使用卡片法笔记进行思考的图示"&gt;使用卡片法笔记进行思考的图示&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202307110759878.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>MySQL字段类型详解</title><link>https://yangzh.cn/posts/posts/03-mysql-type.html/</link><pubDate>Tue, 08 Mar 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/03-mysql-type.html/</guid><description>&lt;p&gt;在数据库设计中，为表中的每个字段选择合适的数据类型是一项基础且至关重要的任务。这不仅关系到数据能否被正确存储，还直接影响数据库的性能、存储空间的利用率以及数据的完整性。MySQL 提供了丰富多样的数据类型，理解它们的特性并根据实际需求做出明智的选择，是每个数据库开发者和设计者必备的技能。本文将深入探讨 MySQL 中常见的字段类型，并阐述如何为变量选择最合适的类型。&lt;/p&gt;</description></item><item><title>Django 的 MVT 模式</title><link>https://yangzh.cn/posts/posts/02-mvt%E6%A8%A1%E5%BC%8F.html/</link><pubDate>Mon, 28 Feb 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/02-mvt%E6%A8%A1%E5%BC%8F.html/</guid><description>&lt;p&gt;Django 框架以其高效、简洁和强大的功能，成为了 Python Web 开发领域的热门选择。其核心设计模式之一是 MVT，即模型（Model）、视图（View）和模板（Template）。MVT 模式是一种软件设计模式，用于开发 Web 应用程序，它将应用程序分为三个相互连接的部分，以提高代码的可维护性和可重用性。理解 MVT 模式对于掌握 Django 框架至关重要。&lt;/p&gt;</description></item><item><title>Web框架</title><link>https://yangzh.cn/posts/posts/00-web%E6%A1%86%E6%9E%B6.html/</link><pubDate>Fri, 07 Jan 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/00-web%E6%A1%86%E6%9E%B6.html/</guid><description>&lt;h2 id="web框架是什么"&gt;Web框架是什么&lt;/h2&gt;
&lt;p&gt;Web框架是一套用于开发Web应用的工具和库的集合，它提供了基础的架构支持，使开发者能够快速构建可靠的Web应用，而不必从零开始处理所有细节。&lt;/p&gt;
&lt;h2 id="web框架的主要功能"&gt;Web框架的主要功能&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;URL路由&lt;/strong&gt;：将URL映射到相应的处理函数&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;请求处理&lt;/strong&gt;：解析HTTP请求，提供便捷的请求数据访问&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;响应生成&lt;/strong&gt;：支持多种响应格式（HTML、JSON等）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据库集成&lt;/strong&gt;：提供ORM或数据库抽象层&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模板引擎&lt;/strong&gt;：支持动态生成HTML页面&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安全机制&lt;/strong&gt;：内置常见Web安全防护&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="常见架构模式"&gt;常见架构模式&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;flowchart LR
 A[浏览器] --&amp;gt; B[控制器/Controller]
 B --&amp;gt; C[模型/Model]
 B --&amp;gt; D[视图/View]
 C --&amp;gt; D
 D --&amp;gt; A
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="mvc模式"&gt;MVC模式&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;：负责数据处理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View&lt;/strong&gt;：负责页面展示&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Controller&lt;/strong&gt;：负责业务逻辑&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mvt模式django采用"&gt;MVT模式（Django采用）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;：负责数据处理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View&lt;/strong&gt;：负责业务逻辑&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Template&lt;/strong&gt;：负责页面展示&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="主流web框架对比"&gt;主流Web框架对比&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;框架&lt;/th&gt;
 &lt;th&gt;语言&lt;/th&gt;
 &lt;th&gt;特点&lt;/th&gt;
 &lt;th&gt;适用场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Django&lt;/td&gt;
 &lt;td&gt;Python&lt;/td&gt;
 &lt;td&gt;大而全，内置Admin&lt;/td&gt;
 &lt;td&gt;快速开发，内容管理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Flask&lt;/td&gt;
 &lt;td&gt;Python&lt;/td&gt;
 &lt;td&gt;轻量级，灵活&lt;/td&gt;
 &lt;td&gt;小型应用，API服务&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Express&lt;/td&gt;
 &lt;td&gt;Node.js&lt;/td&gt;
 &lt;td&gt;简洁，生态丰富&lt;/td&gt;
 &lt;td&gt;API服务，中小型应用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Spring&lt;/td&gt;
 &lt;td&gt;Java&lt;/td&gt;
 &lt;td&gt;企业级，功能强大&lt;/td&gt;
 &lt;td&gt;大型企业应用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>使用 Docker 快速部署 MySQL 服务指南</title><link>https://yangzh.cn/posts/posts/02-mysql-docker.html/</link><pubDate>Thu, 06 Jan 2022 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/02-mysql-docker.html/</guid><description>&lt;p&gt;在现代软件开发与运维实践中，容器化技术已成为不可或缺的一环。Docker 作为其中的佼佼者，以其轻量、快速、环境一致性等优势，极大地简化了应用程序的部署与管理。对于数据库服务，例如广泛使用的 MySQL，利用 Docker 进行部署同样能带来诸多便利。本文将引导读者了解如何通过 Docker 快速安装和运行一个 MySQL 服务实例。&lt;/p&gt;</description></item><item><title>描述统计</title><link>https://yangzh.cn/posts/posts/%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1.html/</link><pubDate>Tue, 23 Nov 2021 07:53:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1.html/</guid><description>&lt;p&gt;描述统计（Descriptive Statistics）是定量地描述或总结样本中变量特征的统计方法。&lt;/p&gt;
&lt;p&gt;分析资料时，首先要用适当的描述统计方法来简化资料中的各个变量，然后进一步分析变量之间的关系。&lt;/p&gt;
&lt;p&gt;按照变量的数量，描述统计可以分为：单变量描述统计、双变量描述统计、多变量描述统计。&lt;/p&gt;</description></item><item><title>Python中的数据类型</title><link>https://yangzh.cn/posts/posts/python%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html/</link><pubDate>Mon, 22 Nov 2021 23:49:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html/</guid><description>&lt;p&gt;与数据统计分析紧密相关的是数据类型（也叫数据结构），即数据是以什么样的结构存储起来的。为此，我们需要首先掌握Python中的几个基本数据类型和第三方包提供的常用数据类型。&lt;/p&gt;
&lt;h2 id="查看数据类型"&gt;查看数据类型&lt;/h2&gt;
&lt;p&gt;内置函数&lt;code&gt;type()&lt;/code&gt;可以查看数据的类型，例如：&lt;code&gt;type(1)&lt;/code&gt;会输出&lt;code&gt;&amp;lt;class 'int'&amp;gt;&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>Python中的缩进</title><link>https://yangzh.cn/posts/posts/python%E4%B8%AD%E7%9A%84%E7%BC%A9%E8%BF%9B.html/</link><pubDate>Mon, 22 Nov 2021 23:48:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/python%E4%B8%AD%E7%9A%84%E7%BC%A9%E8%BF%9B.html/</guid><description>&lt;h2 id="python-代码层级"&gt;Python 代码层级&lt;/h2&gt;
&lt;p&gt;Python不同行之间通过&lt;code&gt;冒号&lt;/code&gt;和&lt;code&gt;缩进&lt;/code&gt;来区分代码块之间的层次。行尾的冒号和下一行的缩进，表示下一个代码块的开始，而缩进的结束则表示此代码块的结束。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/20220904181424.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;同一代码块如果缩进不一致，代码在解释器执行时则会提示缩进错误。&lt;/p&gt;
&lt;h2 id="python-缩进规范"&gt;Python 缩进规范&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;建议使用空格，而非tab进行缩进。&lt;/li&gt;
&lt;li&gt;空格的数量建议为4个。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.python.org/3/reference/lexical_analysis.html"&gt;2. Lexical analysis — Python 3.10.6 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Python简介</title><link>https://yangzh.cn/posts/posts/intro.html/</link><pubDate>Mon, 22 Nov 2021 12:05:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/intro.html/</guid><description>&lt;p&gt;Python 是一种计算机编程语言，由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计。2017 年荣膺“2017年度编程语言”，以其较高的增长率超越老牌语言 C、Java、C++。2019 年 TOIBE 年度编程语言排行榜中 Python 以 +1.4% 的增长率稳居第三位，就在前不久 IEEE Spectrum 发布了 2020 年编程语言排行榜，Python 超越 C语言与 Java 处于冠军宝座位置。Python 语言自 1991 年问世以来，成为当下最流行的解释语言之一。&lt;/p&gt;</description></item><item><title>JavaScript事件</title><link>https://yangzh.cn/posts/posts/js-event.html/</link><pubDate>Sun, 14 Nov 2021 22:51:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-event.html/</guid><description>&lt;p&gt;事件是 JavaScript 和 DOM 之间进行交互的桥梁，当某个事件发生时，通过它的处理函数执行相应的 JavaScript 代码。对于用户而言，常用的事件有鼠标事件、HTML 事件和键盘事件。常见事件见表：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;事件名&lt;/th&gt;
 &lt;th&gt;描述&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;onclick&lt;/td&gt;
 &lt;td&gt;点击鼠标左键时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;onmouseover&lt;/td&gt;
 &lt;td&gt;鼠标指针移动到元素上时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;onmouseout&lt;/td&gt;
 &lt;td&gt;鼠标指针移出元素时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;onload&lt;/td&gt;
 &lt;td&gt;页面完全加载后触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;onblur&lt;/td&gt;
 &lt;td&gt;元素或者窗口失去焦点时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;onfocus&lt;/td&gt;
 &lt;td&gt;元素或者窗口获得焦点时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;onsubmit&lt;/td&gt;
 &lt;td&gt;提交表单时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;keydown&lt;/td&gt;
 &lt;td&gt;按下键盘某个按键时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;keyup&lt;/td&gt;
 &lt;td&gt;释放按键时触发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="事件监听方法"&gt;事件监听方法&lt;/h2&gt;
&lt;h3 id="通用事件监听方法"&gt;通用事件监听方法&lt;/h3&gt;
&lt;p&gt;页面中的事件需要一个函数来响应，这类函数被成为事件监听函数（event listener），这些函数也被称为事件处理函数（event handler）。&lt;/p&gt;</description></item><item><title>JavaScript数据类型</title><link>https://yangzh.cn/posts/posts/js-data-type.html/</link><pubDate>Sun, 14 Nov 2021 20:13:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-data-type.html/</guid><description>&lt;p&gt;JavaScript 是一种弱类型或者说动态语言。动态语言意味着两点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;不用提前声明变量的类型，在程序运行过程中，类型会被自动确定。&lt;/li&gt;
&lt;li&gt;可以使用同一个变量保存不同类型的数据。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这个特征的利弊非常明显，好处是降低了学习成本，弊端是增加了纠错成本。&lt;/p&gt;
&lt;h2 id="查看变量类型"&gt;查看变量类型&lt;/h2&gt;
&lt;p&gt;在JavaScript中，&lt;code&gt;typeof&lt;/code&gt;操作符能返回一个字符串，表示未经求值的操作数(unevaluated operand)的类型。也可以使用函数形式，两者得到的结果是一致的。&lt;/p&gt;</description></item><item><title>JavaScript中的注释</title><link>https://yangzh.cn/posts/posts/js-comment.html/</link><pubDate>Sun, 14 Nov 2021 20:06:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-comment.html/</guid><description>&lt;h2 id="注释"&gt;注释&lt;/h2&gt;
&lt;p&gt;注释会增加代码总量，但这一点也不是什么问题。有很多工具可以帮你在把代码部署到服务器之前缩减代码。这些工具会移除注释，这样注释就不会出现在发布的脚本中。所以，注释对我们的生产没有任何负面影响。&lt;/p&gt;
&lt;p&gt;JavaScript 的注释和 CSS 注释类似，分多行和单行。&lt;/p&gt;
&lt;p&gt;多行注释使用&lt;code&gt;/* ... */&lt;/code&gt;，如：&lt;/p&gt;</description></item><item><title>在页面中使用JavaScript的三种方式</title><link>https://yangzh.cn/posts/posts/js-3way.html/</link><pubDate>Sun, 14 Nov 2021 19:26:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-3way.html/</guid><description>&lt;p&gt;就像在 HTML 中使用 CSS 一样，必须通过适当的方法将 JavaScript 和 HTML 结合起来使用，JavaScript 只有被嵌入到 HTML 中时才能对网页产生作用。和使用 CSS 的方式类似，在 HTML 中使用 JavaScript 的方式有三种，即嵌入式、行内式和链接式。&lt;/p&gt;
&lt;h2 id="嵌入式"&gt;嵌入式&lt;/h2&gt;
&lt;p&gt;所谓嵌入式使用 JavaScript 的方法就是利用 script 元素将脚本嵌入到网页中。Script 元素是 HTML 语言为了引入脚本程序而定义的一个标记，插入脚本的具体方法是：把脚本用 script 元素标记后，放在 HTML 文件中的 head 部分或者 body 部分。虽然 script 脚本既可以放在 head 部分和 body 部分，但比较好的做法是将所有包含预定义函数的脚本放在 head 部分，因为 HTML 的内容在浏览器中处理时是从上到下解释的，放在 head 中的脚本比放在 body 中的脚本先处理。这样，浏览器在处理 body 中的元素内容时需要用到的 JavaScript 功能已经预先装载，减少出错的可能。同样的道理，如果 JavaScript 脚本需要等到页面完全装载完毕才要使用，则将其放置在 body 部分末尾。&lt;/p&gt;</description></item><item><title>JavaScript 简介</title><link>https://yangzh.cn/posts/posts/js-intro.html/</link><pubDate>Sun, 14 Nov 2021 19:14:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-intro.html/</guid><description>&lt;p&gt;尽管 JavaScript 刚开始的设计初衷是作为给非程序人员的脚本语言，但其本质是一门编程语言。&lt;/p&gt;
&lt;p&gt;JavaScript 是一种脚本语言，所谓&lt;strong&gt;脚本&lt;/strong&gt;实际上就是一段嵌入到其他文档中的程序，用来完成特定的功能。JavaScript 脚本经常用来检验浏览器，相应用户动作、验证表单数据及实现动态特效等。在网站中，JavaScript 扮演的角色逐渐增多，正在蚕食着原本由 Flash 所占据的领地，如新闻幻灯片、焦点图、事件时间线、新闻地图等等。在 Web 标准中，行为层的实现目前是以 JavaScript 脚本为主，可以这样说，JavaScript 是事实上的浏览器端脚本。JavaScript 语言正在更大的环境中使用，如服务端脚本，以及类似环境中。&lt;/p&gt;</description></item><item><title>社会科学研究的三个基本原则</title><link>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E7%A7%91%E5%AD%A6%E7%A0%94%E7%A9%B6%E7%9A%84%E4%B8%89%E4%B8%AA%E5%8E%9F%E5%88%99.html/</link><pubDate>Mon, 08 Nov 2021 19:58:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%A4%BE%E4%BC%9A%E7%A7%91%E5%AD%A6%E7%A0%94%E7%A9%B6%E7%9A%84%E4%B8%89%E4%B8%AA%E5%8E%9F%E5%88%99.html/</guid><description>&lt;p&gt;谢宇（2006）提出社会科学研究的三个基本原则：即变异性原理（Variability Principle），社会分组原理（Social Grouping Principle）和社会情境原理（Social Context Principle）。&lt;/p&gt;
&lt;p&gt;社会分组实际是简化，简化就有代价，在社会科学中就体现为误差，是知识上的缺陷。&lt;/p&gt;</description></item><item><title>JavaScript表达式</title><link>https://yangzh.cn/posts/posts/js-expression.html/</link><pubDate>Fri, 05 Nov 2021 08:24:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/js-expression.html/</guid><description>&lt;p&gt;表达式是一组代码的集合，它返回一个值。&lt;/p&gt;
&lt;p&gt;每一个合法的表达式都能计算成某个值，但从概念上讲，有两种类型的表达式：有副作用的（比如赋值）和单纯计算求值的。&lt;/p&gt;
&lt;p&gt;表达式&lt;code&gt;x=7&lt;/code&gt;是第一类型的一个例子。该表达式使用&lt;code&gt;=&lt;/code&gt;运算符将值&lt;code&gt;7&lt;/code&gt;赋予变量&lt;code&gt;x&lt;/code&gt;。这个表达式自己的值等于&lt;code&gt;7&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>Sass</title><link>https://yangzh.cn/posts/posts/sass.html/</link><pubDate>Sun, 31 Oct 2021 22:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/sass.html/</guid><description>&lt;p&gt;Sass（Syntactically Awesome Style Sheets）是一种高级的 CSS 预处理器，它扩展了 CSS 的语法，增加了一些特性，如变量、mixin、嵌套、选择器继承、运算符等，使得 CSS 更加灵活和强大。&lt;/p&gt;
&lt;p&gt;Sass 可以帮助开发者更好地组织和管理 CSS 代码，提高代码的可维护性和可读性。通过使用 Sass，开发者可以将 CSS 代码拆分成多个文件，然后通过&lt;code&gt;@import&lt;/code&gt; 语句将它们组合在一起，从而更好地管理和维护代码。&lt;/p&gt;</description></item><item><title>Bootstrap</title><link>https://yangzh.cn/posts/posts/bootstrap.html/</link><pubDate>Sat, 30 Oct 2021 18:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/bootstrap.html/</guid><description>&lt;h2 id="框架"&gt;框架&lt;/h2&gt;
&lt;p&gt;在计算机科学中，框架是指&lt;strong&gt;软件框架&lt;/strong&gt;（software framework），通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范，也指为了实现某个软件组件规范时，提供规范所要求之基础功能的软件产品。框架的功能类似于基础设施，与具体的软件应用无关，但是提供并实现最为基础的软件架构和体系。软件开发者通常依据特定的框架实现更为复杂的商业运用和业务逻辑。这样的软件应用可以在支持同一种框架的软件系统中运行。&lt;/p&gt;</description></item><item><title>CSS应用案例</title><link>https://yangzh.cn/posts/posts/css-cases.html/</link><pubDate>Sat, 30 Oct 2021 17:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-cases.html/</guid><description>&lt;p&gt;好的CSS3设计，在提升网页视觉效果的同时，也能提升网页品质，优化网站用户体验。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webkit.org/blog-files/3d-transforms/morphing-cubes.html"&gt;Morphing Power Cubes (webkit.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/matchboxhero/pen/RLebOY?editors=1100"&gt;Animated - SVG Birds (codepen.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/nikhil8krishnan/details/PRZygW/"&gt;CSS Particles button (codepen.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/electerious/details/qPjbGm/"&gt;Fancy border button (codepen.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/yancy/full/gBLLxz"&gt;Info Cards Concept (codepen.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tympanus.net/Tutorials/CSS3ImageAccordion/"&gt;Image Accordion with CSS3 (tympanus.net)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>CSS动画</title><link>https://yangzh.cn/posts/posts/css-animation.html/</link><pubDate>Sat, 30 Oct 2021 17:03:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-animation.html/</guid><description>&lt;p&gt;过渡最适合构建那些状态有变化的动画，而要做更加复杂的动画，最好的选择是使用 animation 属性。&lt;/p&gt;
&lt;h3 id="关键帧"&gt;关键帧&lt;/h3&gt;
&lt;p&gt;为了设定动画过程，需要使用&lt;code&gt;@keyframes&lt;/code&gt; 指定关键帧，&lt;code&gt;@keyframes&lt;/code&gt; 的规则包含动画名称、动画断点以及产生变化的属性。例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-CSS" data-lang="CSS"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;keyframes&lt;/span&gt; &lt;span class="nt"&gt;slide&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;0&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;50&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;244&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;100&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;488&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;上例中，动画名称为 &lt;code&gt;slide&lt;/code&gt;，有三个关键帧断点，使用定位关键词产生位置上的变化。还可以使用关键词 &lt;code&gt;from to&lt;/code&gt; 表示&lt;code&gt;0%&lt;/code&gt; 和 &lt;code&gt;100%&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>CSS过渡</title><link>https://yangzh.cn/posts/posts/css-transition.html/</link><pubDate>Sat, 30 Oct 2021 16:54:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-transition.html/</guid><description>&lt;p&gt;CSS3 的一个革新之处，是可以实现过渡及动画，前端开发人员现在可以不借助于 Flash 或者 JavaScript，仅通过 HTML 和 CSS 就实现动画效果。&lt;/p&gt;
&lt;p&gt;通过CSS3 过渡和动画，我们可以在特定事件发生时，改变元素的外观。CSS3 动画还可以设定多个关键帧。这样实现不同状态之间的变化。&lt;/p&gt;</description></item><item><title>CSS变形</title><link>https://yangzh.cn/posts/posts/css-transform.html/</link><pubDate>Sat, 30 Oct 2021 16:48:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-transform.html/</guid><description>&lt;p&gt;使用 &lt;code&gt;transform&lt;/code&gt; 属性，我们可以改变元素的大小、位置以及形状。&lt;code&gt;transform&lt;/code&gt; 属性有两套设置：二维和三维，这两套属性拥有不同的设置。&lt;/p&gt;
&lt;p&gt;虽然浏览器对变形的支持还不是特别完美，但随着时间的推进，情况正在改善。最新版本的浏览器几乎都能支持 CSS 变形属性。&lt;/p&gt;
&lt;h2 id="css-变形的语法"&gt;CSS 变形的语法&lt;/h2&gt;
&lt;p&gt;变形属性的语法特别简单，就是在 &lt;code&gt;transform&lt;/code&gt; 属性后设置变形的值。例如：&lt;/p&gt;</description></item><item><title>CSS网格布局</title><link>https://yangzh.cn/posts/posts/css-grid.html/</link><pubDate>Sat, 30 Oct 2021 16:35:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-grid.html/</guid><description>&lt;p&gt;网格（Grid）是水平线和垂直线的集合，使用网格排版，可使元素在页面之间移动时不会跳动或改变宽度，从而在网站上提供更高的一致性。要定义网格，需要将&lt;code&gt;display&lt;/code&gt;的值设为&lt;code&gt;grid&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="指定列的数量"&gt;指定列的数量&lt;/h2&gt;
&lt;p&gt;通过 &lt;code&gt;grid-template-columns&lt;/code&gt; 属性可在网格中添加列。其值可以是固定值，也可以是柔性的&lt;code&gt;fr&lt;/code&gt;，还可以通过&lt;code&gt;repeat()&lt;/code&gt;函数指定。&lt;/p&gt;</description></item><item><title>CSS分栏布局</title><link>https://yangzh.cn/posts/posts/css-column.html/</link><pubDate>Sat, 30 Oct 2021 16:23:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-column.html/</guid><description>&lt;h2 id="分栏布局"&gt;分栏布局&lt;/h2&gt;
&lt;p&gt;分栏布局提供了一种将内容按列排列的方法，就像在报纸上看到的那样。但是创建的列不能单独设置样式，无法使一列比其他列大，或更改单个列的背景或文本颜色。&lt;/p&gt;
&lt;p&gt;分栏布局案例&lt;/p&gt;
&lt;iframe src="https://codesandbox.io/embed/column-layout-3ihtm?fontsize=14&amp;hidenavigation=1&amp;theme=light" width="100%" height="500px"&gt;&lt;/iframe&gt;
&lt;p&gt;其中：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;column-count&lt;/code&gt; 属性用来设置列的数量。浏览器可以计算并分配每个列的空间。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;column-width&lt;/code&gt; 属性用来指定列的宽度。浏览器将为提供指定大小的列。然后，剩余的空间将在现有列之间共享。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;column-gap&lt;/code&gt; 属性用来更改列之间的间距大小。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;column-rule&lt;/code&gt; 属性用来指定列之间的边框，接受同&lt;code&gt;border&lt;/code&gt;的值。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;column-span&lt;/code&gt; 属性可以实现元素跨越所有栏。值为none和all。多栏会中断，并在跨栏元素之后继续创建新的列框集。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;还可以使用&lt;code&gt;break-inside:avoid&lt;/code&gt;的属性，控制多栏之间内容的中断方式。&lt;/p&gt;</description></item><item><title>CSS Flexbox 布局</title><link>https://yangzh.cn/posts/posts/css-flex.html/</link><pubDate>Sat, 30 Oct 2021 14:21:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-flex.html/</guid><description>&lt;p&gt;弹性盒（Flexbox）布局模型的主要目的是提供更有效率的布局方式，尤其是当容器内元素的尺寸不固定的时候更能表现出它的优势。它能够自动识别子元素的尺寸，从而为盒装模型提供更高的灵活性。&lt;/p&gt;
&lt;h2 id="基本概念"&gt;基本概念&lt;/h2&gt;
&lt;p&gt;如果元素采用Flex进行布局，那么这个元素就可以称为Flex容器（Flex container），元素的所有子元素称为Flex项目（Flex item）。&lt;/p&gt;</description></item><item><title>CSS浮动及定位</title><link>https://yangzh.cn/posts/posts/css-position.html/</link><pubDate>Sat, 30 Oct 2021 14:09:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-position.html/</guid><description>&lt;h2 id="信息流"&gt;信息流&lt;/h2&gt;
&lt;p&gt;浏览器在呈现信息时会按照元素的类型进行处理，它将块元素从上到下显示（块元素与块元素之间另起一行），将行内元素按语言方向水平显示（如汉字、英语是从左到右，维吾尔语、阿拉伯语等有些语言是从右到左），行内元素直到到达容器边缘时才换行显示，这种显示元素的方式叫做页面的正常流。&lt;/p&gt;</description></item><item><title>CSS盒模型相关属性</title><link>https://yangzh.cn/posts/posts/css-box.html/</link><pubDate>Sat, 30 Oct 2021 13:03:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-box.html/</guid><description>&lt;p&gt;在理解 CSS 是如何控制页面显示效果的时候，我们必须要掌握盒模型（Box Model）和定位（position）机制。CSS 借助于盒模型和定位机制，结合文档树，能够精确、高效地控制内容在页面中的位置，从而实现页面的布局。&lt;/p&gt;
&lt;h2 id="盒模型的概念"&gt;盒模型的概念&lt;/h2&gt;
&lt;p&gt;所有 HTML 元素，在页面的呈现过程中，都遵循 CSS 制定的盒模型（Box Model），盒模型是一个包含外边距、边框线、内边距以及内容的矩形容器。具体如下图所示：&lt;/p&gt;</description></item><item><title>CSS 背景属性</title><link>https://yangzh.cn/posts/posts/css-bg.html/</link><pubDate>Sat, 30 Oct 2021 13:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-bg.html/</guid><description>&lt;p&gt;CSS 中提供了为元素设定背景的功能，我们看到许多设计精良的网页，在很大程度上是灵活运用 CSS 背景实现装饰效果的。在 CSS 中，不但可以为整个网页设定背景，也可为具体元素设定背景，任何可显示出来的元素都可以设定背景样式。&lt;/p&gt;
&lt;h2 id="设置背景色"&gt;设置背景色&lt;/h2&gt;
&lt;p&gt;CSS 通过 &lt;code&gt;background-color&lt;/code&gt; 属性为元素设定背景颜色，颜色值的设定同 color 属性。&lt;code&gt;background-color&lt;/code&gt; 属性的默认值为 &lt;code&gt;transparent&lt;/code&gt;（透明）。如下例中的规则将使段落中的内容颜色为黑色，段落的整体背景色为浅灰色。&lt;/p&gt;</description></item><item><title>CSS 文本属性</title><link>https://yangzh.cn/posts/posts/css-text.html/</link><pubDate>Sat, 30 Oct 2021 12:35:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-text.html/</guid><description>&lt;p&gt;使用 CSS 可以修改文本的字体、大小、粗细、倾斜、行间距、缩进方式、颜色等等，页面大部分内容都是以文字的形式出现，因此，文本的相关样式表的属性和值需要熟练掌握。&lt;/p&gt;
&lt;h2 id="设定字体"&gt;设定字体&lt;/h2&gt;
&lt;p&gt;通常情况下，中文页面的字体为宋体字，但新闻标题的字体会指定为更加醒目的黑体字或其他字体。在 CSS 中通过 &lt;code&gt;font-family&lt;/code&gt; 属性来实现字体的指定，其中字体名称应该用单引号或者双引号包围起来。如：&lt;/p&gt;</description></item><item><title>CSS 函数</title><link>https://yangzh.cn/posts/posts/css-function.html/</link><pubDate>Sat, 30 Oct 2021 12:17:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-function.html/</guid><description>&lt;p&gt;CSS 函数用作各种CSS属性的值。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;函数&lt;/th&gt;
 &lt;th&gt;描述&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;attr()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;返回所选元素的属性值。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;calc()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;允许您执行计算来确定 CSS 属性值。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;cubic-bezier()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;定义三次贝塞尔曲线。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;hsl()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;使用色相-饱和度-亮度模型（HSL）定义颜色。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;hsla()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;使用色相-饱和度-亮度-阿尔法模型（HSLA）定义颜色。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;linear-gradient()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将线性渐变设置为背景图像。定义至少两种颜色（从上到下）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;radial-gradient()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;将径向渐变设置为背景图像。定义至少两种颜色（从中心到边缘）。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;repeating-linear-gradient()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;重复线性渐变。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;repeating-radial-gradient()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;重复径向渐变。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;rgb()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;使用红-绿-蓝模型（RGB）定义颜色。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;rgba()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;使用红-绿-蓝-阿尔法模型（RGB）定义颜色。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;var()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;插入自定义属性的值。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>CSS 属性的取值</title><link>https://yangzh.cn/posts/posts/css-value.html/</link><pubDate>Sat, 30 Oct 2021 12:16:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-value.html/</guid><description>&lt;h2 id="长度"&gt;长度&lt;/h2&gt;
&lt;p&gt;长度是对距离的测量。长度由数字和紧随其后的单位组成。如果长度为 0，则单位可以忽略。有些属性还允许负值。&lt;/p&gt;
&lt;p&gt;长度可分为相对长度和绝对长度。相对长度指的是相对与其他长度属性而言，相对长度又分为文本相对长度和视图窗口相对长度。&lt;/p&gt;
&lt;h3 id="相对长度"&gt;相对长度&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;em&lt;/strong&gt; 相对于当前对象内文本的字体尺寸&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ex&lt;/strong&gt; 相对于字符“&lt;code&gt;x&lt;/code&gt;”的高度。通常为字体高度的一半&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ch&lt;/strong&gt; 数字“&lt;code&gt;0&lt;/code&gt;”的宽度&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;rem&lt;/strong&gt; 相对于根元素（即 html 元素）&lt;code&gt;font-size&lt;/code&gt; 计算值的倍数（小于 12 像素，在 chrome 中按照 12 像素来处理）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;em&lt;/code&gt; 是常用的相对长度单位，&lt;code&gt;em&lt;/code&gt; 的长度会基于元素的字体大小进行计算，最常用的用法是首行缩进两个字符：&lt;/p&gt;</description></item><item><title>CSS 样式级联</title><link>https://yangzh.cn/posts/posts/css-cascade.html/</link><pubDate>Sat, 30 Oct 2021 12:07:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-cascade.html/</guid><description>&lt;p&gt;样式表共有三个来源：&lt;strong&gt;作者、用户以及用户代理&lt;/strong&gt;（通常为浏览器）。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;作者指的是源文件的创作者。他可以通过前面叙述的三种方式指定样式表。&lt;/li&gt;
&lt;li&gt;用户。用户可对特定文档指定样式信息，例如：用户指定包含样式信息的文件。&lt;/li&gt;
&lt;li&gt;浏览器。 浏览器肯定会应用默认样式。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;CSS 层级为每个样式指定权重&lt;/strong&gt;。当应用多条规则时，权重最高的规则优先。&lt;/p&gt;</description></item><item><title>CSS 选择符</title><link>https://yangzh.cn/posts/posts/css-selector.html/</link><pubDate>Sat, 30 Oct 2021 12:02:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-selector.html/</guid><description>&lt;p&gt;CSS 是一门用来描述 HTML、XML 文档在屏幕、纸张或者朗读设备等等上如何表现的语言，CSS 使用选择符（selector）将样式（style）属性和文档中的特定元素（element）进行绑定。随着相关技术的演进，CSS 中的选择符也越来越丰富，功能也越来越强大。&lt;/p&gt;</description></item><item><title>CSS语法</title><link>https://yangzh.cn/posts/posts/css-syntax.html/</link><pubDate>Sat, 30 Oct 2021 11:43:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-syntax.html/</guid><description>&lt;h2 id="语法声明"&gt;语法声明&lt;/h2&gt;
&lt;p&gt;CSS 由一系列声明构成。语法声明分成两类：at 规则 (at-rules) 和 CSS 规则集 (rule sets)。声明之间可由空白字符连接。&lt;/p&gt;
&lt;h3 id="规则集"&gt;规则集&lt;/h3&gt;
&lt;p&gt;规则集，也称规则，由选择符和跟随其后的声明块组成。声明块以“&lt;code&gt;{&lt;/code&gt;”开始，以“&lt;code&gt;}&lt;/code&gt;”结束，其中的声明以“&lt;code&gt;;&lt;/code&gt;”分隔。声明由属性名称和属性值组成，属性名称和属性值之间用“&lt;code&gt;:&lt;/code&gt;”连接。例如：&lt;/p&gt;</description></item><item><title>使用CSS的三种方式</title><link>https://yangzh.cn/posts/posts/css-usecss.html/</link><pubDate>Sat, 30 Oct 2021 08:26:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-usecss.html/</guid><description>&lt;p&gt;为网页添加 CSS 样式表的方式主要有三种，分别是：外部样式表、内部样式表和内嵌样式表。最好使用外部样式表，因为外部样式表更加符合 Web 标准所主张的内容和表现相分离思想。&lt;/p&gt;
&lt;h2 id="外部样式表"&gt;外部样式表&lt;/h2&gt;
&lt;p&gt;外部样式表使用 link 元素将独立的样式表文件与网页连接起来，这样创作人员就可以用一个样式表文件为多个 html 文件指定样式，大大提高工作效率。link 元素必须放在 HTML 文档的 head 元素里面。就像这样：&lt;/p&gt;</description></item><item><title>HTML自定义元素</title><link>https://yangzh.cn/posts/posts/html-custom.html/</link><pubDate>Sat, 30 Oct 2021 00:13:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-custom.html/</guid><description>&lt;p&gt;HTML5 引入了自定义元素的概念，允许开发人员创建自定义的HTML元素，这些元素可以扩展HTML语义并具有自定义行为。这些自定义元素通常称为&amp;quot;Web组件&amp;quot;，它们有助于将网页分解成可重用和模块化的部分。自定义元素以&lt;code&gt;&amp;lt;my-element&amp;gt;&lt;/code&gt;这样的形式呈现，并且可以通过JavaScript进行定义和操作。&lt;/p&gt;</description></item><item><title>Django path函数详解</title><link>https://yangzh.cn/posts/posts/03-01-path%E5%87%BD%E6%95%B0.html/</link><pubDate>Sat, 30 Oct 2021 00:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/03-01-path%E5%87%BD%E6%95%B0.html/</guid><description>&lt;p&gt;&lt;code&gt;path&lt;/code&gt; 函数是 Django URL 配置的核心。 通过使用 &lt;code&gt;route&lt;/code&gt;、&lt;code&gt;view&lt;/code&gt;、&lt;code&gt;kwargs&lt;/code&gt; 和 &lt;code&gt;name&lt;/code&gt; 参数，您可以定义强大的 URL 模式，并将它们映射到您的视图函数，从而构建动态的 Web 应用程序。 记住始终为你的 URL 模式命名，以便于在模板和代码中进行反向解析。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数名称&lt;/th&gt;
 &lt;th&gt;数据类型&lt;/th&gt;
 &lt;th&gt;是否必选&lt;/th&gt;
 &lt;th&gt;描述&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;route&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;str&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;是&lt;/td&gt;
 &lt;td&gt;URL 匹配模式，使用 Django 的 URL 模式语法。可以包含转换器。&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;'articles/&amp;lt;int:year&amp;gt;/&amp;lt;slug:slug&amp;gt;/'&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;view&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;可调用对象 (通常是视图函数)&lt;/td&gt;
 &lt;td&gt;是&lt;/td&gt;
 &lt;td&gt;当 URL 匹配时，Django 将调用的视图函数。&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;views.article_detail&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kwargs&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;dict&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;否&lt;/td&gt;
 &lt;td&gt;传递给视图函数的额外参数。&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{'template_name': 'articles/detail.html'}&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;str&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;否&lt;/td&gt;
 &lt;td&gt;URL 模式的名称，用于在模板中反向解析 URL。推荐为所有 URL 模式命名。&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;'article-detail'&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="参数说明"&gt;参数说明&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;route&lt;/code&gt;&lt;/strong&gt;: 这是 URL 模式字符串。它使用尖括号 &lt;code&gt;&amp;lt;&amp;gt;&lt;/code&gt; 定义了 URL 参数（也称为转换器）。 例如：&lt;/p&gt;</description></item><item><title>HTML脚本元素</title><link>https://yangzh.cn/posts/posts/html-script.html/</link><pubDate>Sat, 30 Oct 2021 00:11:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-script.html/</guid><description>&lt;p&gt;脚本元素可为文档增加用户交互性。&lt;/p&gt;
&lt;h2 id="script"&gt;script&lt;/h2&gt;
&lt;p&gt;元素 script 能为 HTML 文档包含动态脚本和数据块，包含在 script 元素中的内容不会直接显示给用户。&lt;/p&gt;
&lt;p&gt;当使用 script 元素包含动态脚本时，脚本内容既可以直接嵌入在行内，也可以通过 scr 属性导入外部独立的脚本文件。&lt;/p&gt;
&lt;p&gt;script 元素除全局性属性之外，还拥有以下几个属性：&lt;/p&gt;</description></item><item><title>HTML交互元素</title><link>https://yangzh.cn/posts/posts/html-interact.html/</link><pubDate>Sat, 30 Oct 2021 00:10:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-interact.html/</guid><description>&lt;h2 id="details"&gt;details&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt; 标签用于描述文档或文档某个部分的细节。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-HTML" data-lang="HTML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE HTML&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;details&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Copyright 2011.&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;All pages and graphics on this web site are the property of W3School.&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;details&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt; 标签是 HTML 5 中的新标签，与 &lt;code&gt;&amp;lt;summary&amp;gt;&lt;/code&gt; 标签 配合使用可以为 details 定义标题。标题是可见的，用户点击标题时，会显示出 details。&lt;/p&gt;
&lt;h2 id="summary"&gt;summary&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;summary&amp;gt;&lt;/code&gt; 标签包含 details 元素的标题，&amp;quot;details&amp;quot; 元素用于描述有关文档或文档片段的详细信息。&lt;/p&gt;</description></item><item><title>HTML表格元素</title><link>https://yangzh.cn/posts/posts/html-table.html/</link><pubDate>Sat, 30 Oct 2021 00:02:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-table.html/</guid><description>&lt;h2 id="table"&gt;table&lt;/h2&gt;
&lt;p&gt;Table 元素用来生成表格。表格拥有行、列。&lt;/p&gt;
&lt;h2 id="caption"&gt;caption&lt;/h2&gt;
&lt;p&gt;Caption 元素为表格元素添加标题或者说明信息，caption 应该包含在 table 元素中。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-HTML" data-lang="HTML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;caption&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;表 1.&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;表格说明文字。&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;caption&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="tbody"&gt;tbody&lt;/h2&gt;
&lt;p&gt;Tbody 元素用来标记表格主体。&lt;/p&gt;
&lt;h2 id="thead"&gt;thead&lt;/h2&gt;
&lt;p&gt;thead 元素用来标记表格的表头。&lt;/p&gt;
&lt;h2 id="tfoot"&gt;tfoot&lt;/h2&gt;
&lt;p&gt;Tfoot 元素用来标记表格的脚部，通常都是合计之类的信息。&lt;/p&gt;
&lt;h2 id="tr"&gt;tr&lt;/h2&gt;
&lt;p&gt;Tr 元素用来标记表格的行。&lt;/p&gt;</description></item><item><title>HTML内容嵌入元素</title><link>https://yangzh.cn/posts/posts/html-embed.html/</link><pubDate>Fri, 29 Oct 2021 23:59:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-embed.html/</guid><description>&lt;h2 id="picture"&gt;picture&lt;/h2&gt;
&lt;p&gt;Picture 元素内容包含图片元素，使用 source 上提供多个来源，以便网页处理设备根据屏幕像素密度、视口大小、图片格式等其他因素选择合适的图片，以便显示。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;picture&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt; &lt;span class="na"&gt;srcset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;smaller.jpg&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;media&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;(max-width: 768px)&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt; &lt;span class="na"&gt;srcset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;default.jpg&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;srcset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;default.jpg&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;My default image&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;picture&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="img"&gt;img&lt;/h2&gt;
&lt;p&gt;Img 元素用来在文档中插入图片。&lt;code&gt;src&lt;/code&gt; 属性用来指定图片来源，&lt;code&gt;alt&lt;/code&gt; 属性用来说明图片内容。&lt;/p&gt;</description></item><item><title>HTML编辑元素</title><link>https://yangzh.cn/posts/posts/html-edit.html/</link><pubDate>Fri, 29 Oct 2021 23:58:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-edit.html/</guid><description>&lt;h2 id="ins"&gt;ins&lt;/h2&gt;
&lt;p&gt;Ins 元素表示文档的追加内容。datetime 属性用来说明追加内容的时间。&lt;/p&gt;
&lt;h2 id="del"&gt;del&lt;/h2&gt;
&lt;p&gt;Del 元素表示文档中的移除内容。datetime 属性用来说明移除内容的时间。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-HTML" data-lang="HTML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;To Do&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Empty the dishwasher&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;ins&lt;/span&gt; &lt;span class="na"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2009-10-11T01:25-07:00&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Watch Walter Lewin&amp;#39;s lectures&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;ins&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;del&lt;/span&gt; &lt;span class="na"&gt;datetime&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;2009-10-10T23:38-07:00&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Download more tracks&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;del&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Buy a printer&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="扩展阅读资料"&gt;扩展阅读资料&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/2017/REC-html52-20171214/edits.html#edits"&gt;https://www.w3.org/TR/2017/REC-html52-20171214/edits.html#edits&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>HTML文本元素</title><link>https://yangzh.cn/posts/posts/html-text.html/</link><pubDate>Fri, 29 Oct 2021 23:43:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-text.html/</guid><description>&lt;h2 id="a"&gt;a&lt;/h2&gt;
&lt;p&gt;A 元素用来表示超链接或者文档内部锚点。如果 a 元素有 &lt;code&gt;href&lt;/code&gt; 属性，它就表示超链接。&lt;/p&gt;
&lt;p&gt;当 a 元素表示超链接时，可以使用 &lt;code&gt;target&lt;/code&gt; 属性指定链接打开方式，如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-HTML" data-lang="HTML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://www.baidu.com&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;_blank&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;百度&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;之前在我们提到，行内元素不能包含块元素，但是 a 元素是个例外，a 元素内部可以是文字、图片等行内元素，也可以是段落、标题等块内容。&lt;/p&gt;</description></item><item><title>HTML结构元素</title><link>https://yangzh.cn/posts/posts/html-structure.html/</link><pubDate>Fri, 29 Oct 2021 23:18:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-structure.html/</guid><description>&lt;p&gt;HTML 中的结构元素用于定义网页的结构和语义，以便浏览器和搜索引擎能够正确地呈现和理解网页内容。通过这些结构元素的组合使用，我们可以创建复杂的网页布局和内容结构。&lt;/p&gt;
&lt;h2 id="html元素"&gt;html元素&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;html&lt;/code&gt; 元素表示一个 HTML 文档的最顶端元素，或者是根元素，其他元素都包含于&lt;code&gt;html&lt;/code&gt;元素之中。&lt;/p&gt;
&lt;p&gt;html 元素有一个重要属性&lt;code&gt;lang&lt;/code&gt;，用于指定文档的语言，以方便语音合成、翻译工具、浏览器等工具决定采用何种规则来处理网页。&lt;/p&gt;</description></item><item><title>HTML语法</title><link>https://yangzh.cn/posts/posts/html-syntax.html/</link><pubDate>Fri, 29 Oct 2021 11:12:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-syntax.html/</guid><description>&lt;h2 id="html-基本结构"&gt;HTML 基本结构&lt;/h2&gt;
&lt;p&gt;HTML 文件后缀名为“&lt;code&gt;.htm&lt;/code&gt;”或“&lt;code&gt;.html&lt;/code&gt;”，是一种包含了 HTML 标记的文本文件，我们通常所说的网页实质上就是 HTML 文件，HTML 的编辑非常简单，学习成本很低，而且所有网页的源代码都可通过浏览器直接查看。正如蒂姆·伯纳斯－李所说：“（互联网）起飞原因在于，全球的人可随意融入参与。”&lt;/p&gt;</description></item><item><title>Web标准</title><link>https://yangzh.cn/posts/posts/web-standard.html/</link><pubDate>Fri, 29 Oct 2021 11:08:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/web-standard.html/</guid><description>&lt;h2 id="web-标准产生的背景"&gt;Web 标准产生的背景&lt;/h2&gt;
&lt;p&gt;HTML 语言自 1989 年诞生以来，数以万计的网站使用 HTML 语言建立了起来，HTML 语言及浏览器的发明，大大提高了互联网的使用效率，将互联网从原来只在大学、军队等专业机构小范围的使用，普及到了更为广泛的一般用户，随着上网用户的增加，由互联网带来的商业机会也涌现了出来，伴随而来的，是众多不同厂商的浏览器试图建立对 HTML 语言的影响力。&lt;/p&gt;</description></item><item><title>HTML简介</title><link>https://yangzh.cn/posts/posts/html-intro.html/</link><pubDate>Fri, 29 Oct 2021 10:41:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-intro.html/</guid><description>&lt;p&gt;&lt;strong&gt;HTML&lt;/strong&gt;（HyperText Markup Language，&lt;strong&gt;超文本标记语言&lt;/strong&gt;）是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。&lt;/p&gt;
&lt;h2 id="html发展简史"&gt;HTML 发展简史&lt;/h2&gt;
&lt;p&gt;互联网最底层是计算机，没有计算机就没有互联网。&lt;/p&gt;
&lt;p&gt;1941 年德国人祖斯发布可编程的计算机。&lt;/p&gt;
&lt;p&gt;在 1956 年，当时为了防止美国遭受核爆炸，建立了雷达检测网，有了计算机网络的雏形，1976 年苹果发布面向个人用户的微型计算机，计算机保有量达到一定规模后，计算机之间如何沟通就成为问题，麻省理工学院的一个教授乔治·威利提出了计算机网络的概念。&lt;/p&gt;</description></item><item><title>SVG矢量图形</title><link>https://yangzh.cn/posts/posts/svg.html/</link><pubDate>Fri, 29 Oct 2021 10:29:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/svg.html/</guid><description>&lt;p&gt;SVG是一种XML应用，用来表示矢量图形。所有的图形有关信息被存储为纯文本，具有XML的开放性、可移植性和可交互性。当前稳定的XML和SVG版本都为1.1。&lt;/p&gt;
&lt;h2 id="在html中使用的方式"&gt;在HTML中使用的方式&lt;/h2&gt;
&lt;h3 id="作为内容"&gt;作为内容&lt;/h3&gt;
&lt;p&gt;SVG 文件可通过以下标签嵌入 HTML 文档：&lt;code&gt;&amp;lt;embed&amp;gt;&lt;/code&gt;、&lt;code&gt;&amp;lt;object&amp;gt;&lt;/code&gt; 或者 &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt;。建议使用&lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>npm 常用命令</title><link>https://yangzh.cn/posts/posts/npm.html/</link><pubDate>Thu, 28 Oct 2021 19:25:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/npm.html/</guid><description>&lt;p&gt;NPM是Node.js的包管理工具，它允许开发人员轻松安装、更新和管理依赖项和模块。&lt;/p&gt;
&lt;h2 id="常用-npm-命令"&gt;常用 NPM 命令&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm install -g xxx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;全局安装包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm install xxx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;在当前目录安装包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm install xxx@x.x.x&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;安装指定版本的包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm uninstall -g xxx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;全局卸载包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm uninstall xxx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;在当前目录卸载包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm ls&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;查看当前项目安装的包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm list -g --depth 0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;查看所有全局安装包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;npm update xxx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;更新指定的包&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://nodejs.org/"&gt;https://nodejs.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Django JsonResponse</title><link>https://yangzh.cn/posts/posts/04-05-jsonresponse.html/</link><pubDate>Wed, 27 Oct 2021 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-05-jsonresponse.html/</guid><description>&lt;p&gt;在现代 Web 开发中，前后端分离架构日益流行，而 JSON (JavaScript Object Notation) 作为轻量级的数据交换格式，在其中扮演着至关重要的角色。Django 作为一款功能强大的 Python Web 框架，提供了便捷的方式来处理 HTTP 请求和响应。其中，&lt;code&gt;JsonResponse&lt;/code&gt; 类是专门用于创建 JSON 格式响应的利器，极大地简化了 API 的开发过程。本文将深入探讨 Django &lt;code&gt;JsonResponse&lt;/code&gt; 的用法、参数及其在构建 Web API 中的核心作用。&lt;/p&gt;</description></item><item><title>Django 视图概览</title><link>https://yangzh.cn/posts/posts/04-00-django%E4%B8%AD%E7%9A%84%E8%A7%86%E5%9B%BE.html/</link><pubDate>Wed, 27 Oct 2021 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-00-django%E4%B8%AD%E7%9A%84%E8%A7%86%E5%9B%BE.html/</guid><description>&lt;p&gt;Django 视图是 Django Web 框架的核心组件之一，扮演着处理 Web 请求并返回 Web 响应的关键角色。当用户通过浏览器访问一个 Django 应用的特定 URL 时，Django 的 URL 调度器会根据配置找到对应的视图。这个视图负责执行必要的业务逻辑，与数据库模型交互（如果需要），选择合适的模板进行渲染，并最终生成一个 &lt;code&gt;HttpResponse&lt;/code&gt; 对象，将其发送回用户的浏览器。可以说，视图是连接 URL、模型和模板的桥梁。&lt;/p&gt;</description></item><item><title>Node.js 与 npm</title><link>https://yangzh.cn/posts/posts/nodejs.html/</link><pubDate>Mon, 27 Sep 2021 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/nodejs.html/</guid><description>&lt;h2 id="nodejs浏览器之外的-javascript-运行时"&gt;Node.js：浏览器之外的 JavaScript 运行时&lt;/h2&gt;
&lt;p&gt;在现代 Web 开发尤其是前端领域，Node.js 扮演着至关重要的角色。要开始使用许多流行的前端框架（如 React, Vue, Angular）或构建工具（如 Webpack, Vite），首先需要安装 Node.js。您可以前往 Node.js 官方网站下载适合您操作系统的安装包。安装过程通常很简单，并且一个重要的附带品是 npm（Node Package Manager），它会随 Node.js 一同安装。从根本上理解，Node.js 是一个让 JavaScript 代码能够脱离浏览器，直接在服务器或者本地计算机上运行的环境。这意味着你可以用 JavaScript 来编写后端服务、命令行工具、或者执行构建任务等。安装完成后，你需要熟悉使用终端（或称为命令行、Shell），因为绝大多数 Node.js 和 npm 的操作都是通过在终端输入命令来完成的。&lt;/p&gt;</description></item><item><title>如何学习编程</title><link>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E7%BC%96%E7%A8%8B.html/</link><pubDate>Sat, 21 Aug 2021 10:16:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E7%BC%96%E7%A8%8B.html/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You can code. They cannot. That is pretty damn cool.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;-- Zed A. Shaw in《&lt;em&gt;Learn Python The Hard Way&lt;/em&gt;》&lt;/p&gt;
&lt;p&gt;如今编程成为了一个越来越重要的能力：作为设计师，懂一些编程可能会帮你更好地理解自己的工作内容；作为创业者，技术创始人的身份则会让你的很多工作显得更容易；作为研究者，学会编程能让你按照自己的意图获取数据和处理数据。无论哪个行业，都面临着如何同互联网相融合的机遇和挑战。具备一定的编程能力，无疑会提高在互联网时代的竞争实力。&lt;/p&gt;</description></item><item><title>Vitepress 主题测试贴</title><link>https://yangzh.cn/posts/posts/vitepress%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95.html/</link><pubDate>Wed, 30 Jun 2021 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/vitepress%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95.html/</guid><description>&lt;h2 id="前提"&gt;前提&lt;/h2&gt;
&lt;p&gt;理论上任何工具写出来的markdown(下文简称md)文件都能用，但是如果是按照以下方式写的话，可能表现力会丰富很多&lt;/p&gt;
&lt;h2 id="查看环境"&gt;查看环境&lt;/h2&gt;
&lt;p&gt;假设你是mac？！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安装 brew 这个可以装很多东西，正常是网上搜一句命令就装了&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/usr/bin/ruby -e &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;安装 node ，有brew的情况下， 就是 &lt;code&gt;brew info node&lt;/code&gt; 一句话就行了&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew info node
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;安装 vitepress 本文重点 前两个都有都情况下 一句话就行了 &lt;code&gt;npm install -g vitepress&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g vitepress
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;到你的md目录执行 vitepress dev . 就能查看文档大致的样子&lt;/p&gt;</description></item><item><title>在 Windows 上安装 Docker Desktop 的详细指南</title><link>https://yangzh.cn/posts/posts/00-docker-install.html/</link><pubDate>Wed, 21 Apr 2021 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/00-docker-install.html/</guid><description>&lt;p&gt;Docker 作为一种领先的容器化平台，极大地简化了应用程序的开发、部署和运行过程。它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中，然后在任何支持 Docker 的环境中运行，确保了环境的一致性。对于 Windows 用户，尤其是开发者和技术爱好者而言，在本地系统上安装 Docker Desktop 能够显著提升工作效率和开发体验。本文将详细介绍在 Windows 操作系统上安装 Docker Desktop 的过程。&lt;/p&gt;</description></item><item><title>Node.js安装教程</title><link>https://yangzh.cn/posts/posts/%E5%AE%89%E8%A3%85node.html/</link><pubDate>Fri, 08 Jan 2021 15:34:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AE%89%E8%A3%85node.html/</guid><description>&lt;p&gt;Node.js 是一个开源的 JavaScript 运行环境，它允许你在服务器端运行 JavaScript 代码。很多现代前端开发工具（包括 React）都依赖于 Node.js，所以安装它非常重要。&lt;/p&gt;
&lt;h2 id="windows-用户-使用-winget"&gt;Windows 用户 (使用 winget)&lt;/h2&gt;
&lt;p&gt;winget 是 Windows 10 (1709 及更高版本) 和 Windows 11 内置的包管理器。它让安装应用变得非常简单。&lt;/p&gt;
&lt;h3 id="步骤-1-确认你的-windows-版本和-winget"&gt;步骤 1: 确认你的 Windows 版本和 winget&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;winget 需要 Windows 10 1709 (Build 16299) 或更高版本。你可以通过在搜索栏输入 &amp;quot;winver&amp;quot; 并按 Enter 键来查看你的 Windows 版本。&lt;/li&gt;
&lt;li&gt;winget 通常是预装的。你可以在 PowerShell 或命令提示符中输入 &lt;code&gt;winget&lt;/code&gt; 并按 Enter 键来确认它是否存在。如果显示 winget 的帮助信息，则说明它已安装并可用。&lt;/li&gt;
&lt;li&gt;如果你的 Windows 版本太旧或者 winget 不可用，你可能需要通过 Microsoft Store 安装 &lt;strong&gt;&amp;quot;应用安装程序&amp;quot;&lt;/strong&gt; 来获取最新的 winget。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="步骤-2-打开-powershell-或命令提示符"&gt;步骤 2: 打开 PowerShell 或命令提示符&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;在 Windows 搜索栏输入 &amp;quot;PowerShell&amp;quot; 或 &amp;quot;命令提示符&amp;quot;。&lt;/li&gt;
&lt;li&gt;点击打开应用程序。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="步骤-3-使用-winget-安装-nodejs"&gt;步骤 3: 使用 winget 安装 Node.js&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;我们将安装 Node.js 的 LTS (长期支持) 版本，这是推荐的稳定版本。&lt;/li&gt;
&lt;li&gt;在 PowerShell 或命令提示符中输入以下命令，然后按 Enter 键：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget install OpenJS.Nodejs.LTS
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;winget 会搜索 Node.js LTS 包，并询问你是否同意许可协议。输入 &lt;code&gt;Y&lt;/code&gt; 或 &lt;code&gt;y&lt;/code&gt; 然后按 Enter 键继续。&lt;/li&gt;
&lt;li&gt;winget 会自动下载并安装 Node.js 及其内置的 npm (Node Package Manager)。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="步骤-4-验证安装"&gt;步骤 4: 验证安装&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;安装完成后，关闭当前的 PowerShell 或命令提示符窗口，然后重新打开一个新的窗口。这可以确保系统环境变量更新。&lt;/p&gt;</description></item><item><title>概率论基础</title><link>https://yangzh.cn/posts/posts/%E6%A6%82%E7%8E%87%E8%AE%BA%E5%9F%BA%E7%A1%80.html/</link><pubDate>Wed, 25 Nov 2020 15:56:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%A6%82%E7%8E%87%E8%AE%BA%E5%9F%BA%E7%A1%80.html/</guid><description>&lt;p&gt;概率论在统计分析中扮演着至关重要的角色。它不仅为统计分析提供了理论基础，还在实际应用中发挥着重要作用。概率论帮助我们理解和量化数据中的随机性和变异性。统计分析中经常使用各种概率分布（如正态分布、二项分布、泊松分布等）来描述数据的行为。这些分布是概率论的直接产物，并且在数据分析中非常重要。&lt;/p&gt;</description></item><item><title>CSS中的居中对齐技术全解析</title><link>https://yangzh.cn/posts/posts/css-align.html/</link><pubDate>Fri, 30 Oct 2020 14:15:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-align.html/</guid><description>&lt;p&gt;随着CSS技术的发展，从最早的表格布局到现代的Flexbox和Grid，我们有了越来越多的方案来实现元素的居中。本文将全面介绍从传统到现代的各种居中对齐方法。&lt;/p&gt;
&lt;h2 id="传统居中方法"&gt;传统居中方法&lt;/h2&gt;
&lt;h3 id="文本居中对齐"&gt;文本居中对齐&lt;/h3&gt;
&lt;h4 id="水平居中"&gt;水平居中&lt;/h4&gt;
&lt;p&gt;在CSS中文字水平居中的方法为：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;text-align&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;center&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id="单行文本垂直居中"&gt;单行文本垂直居中&lt;/h4&gt;
&lt;p&gt;通过设定文字的行间距等于容器高度可以实现：&lt;/p&gt;</description></item><item><title>CSS 简史</title><link>https://yangzh.cn/posts/posts/css-intro.html/</link><pubDate>Fri, 30 Oct 2020 08:01:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/css-intro.html/</guid><description>&lt;p&gt;CSS（层叠样式表）的发展可以追溯到1996年以来。以下是CSS的简要发展史：&lt;/p&gt;
&lt;h2 id="css-11996年"&gt;CSS 1（1996年）&lt;/h2&gt;
&lt;p&gt;CSS首次引入，作为一种样式表语言，用于控制HTML文档的外观。它包含了基本的样式属性和选择器。&lt;/p&gt;
&lt;h2 id="css-21998年"&gt;CSS 2（1998年）&lt;/h2&gt;
&lt;p&gt;CSS 2增加了更多的样式属性和选择器，使得更精细的页面布局和设计成为可能。这一版本引入了浮动和定位等新概念，增强了布局控制的能力。&lt;/p&gt;</description></item><item><title>网络世界的地址簿:URL</title><link>https://yangzh.cn/posts/posts/url.html/</link><pubDate>Tue, 27 Oct 2020 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/url.html/</guid><description>&lt;p&gt;在浩瀚的互联网海洋中，我们每天都在访问各种各样的网站、图片、视频和文档。这一切的背后，都离不开一个基础且关键的概念——URL（Uniform Resource Locator），中文常译为“统一资源定位符”。简单来说，URL就像是网络世界中每一个资源的唯一地址，它告诉浏览器或其他客户端程序，我们想要访问的内容在哪里以及如何获取它。本文将深入探讨URL的构成，特别是绝对URL和相对URL的区别，并阐述它与我们常用的HTTP协议之间的关系。&lt;/p&gt;</description></item><item><title>域名</title><link>https://yangzh.cn/posts/posts/domain.html/</link><pubDate>Thu, 16 Jul 2020 21:01:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/domain.html/</guid><description>&lt;p&gt;域名（Domain Name）是互联网上用于识别计算机或网络服务的一系列字符串。它通常包括一组层次结构，从通用顶级域名（com、net、org等）到二级域名（如www）。例如，baidu.com 是一个域名，它代表了一组IP地址，这些地址提供了百度网站服务。&lt;/p&gt;</description></item><item><title>数据库关系类型及其在 MySQL中的应用</title><link>https://yangzh.cn/posts/posts/04-mysql-relation.html/</link><pubDate>Sat, 27 Jun 2020 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/04-mysql-relation.html/</guid><description>&lt;p&gt;在构建任何依赖数据的应用程序时，数据库的设计都是至关重要的基石。一个结构良好、关系清晰的数据库不仅能确保数据的准确性和一致性，还能显著提升数据检索和操作的效率。关系型数据库管理系统（RDBMS）如MySQL，正是通过定义表与表之间的“关系”来组织和管理数据的。理解这些关系类型及其在特定数据库系统（如MySQL）中的实现方式，对于开发者和数据库管理员来说是必备技能。本文将深入探讨三种主要的数据库关系类型：一对一、一对多和多対多，并详细阐述如何在MySQL中有效地利用这些关系来构建健壮的数据模型。&lt;/p&gt;</description></item><item><title>Django 中的路由</title><link>https://yangzh.cn/posts/posts/03-00-router.html/</link><pubDate>Fri, 24 Jan 2020 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/03-00-router.html/</guid><description>&lt;p&gt;Django 路由是 Web 框架的核心组成部分，它负责将用户发起的 HTTP 请求映射到相应的处理函数（视图函数）。简单来说，当用户在浏览器中输入一个 URL 并访问时，Django 路由会根据预先定义的 URL 模式，找到对应的视图函数来处理这个请求，并将处理结果返回给用户。理解 Django 路由机制对于开发高效、易维护的 Web 应用至关重要。&lt;/p&gt;</description></item><item><title>学术论文排版基本要求</title><link>https://yangzh.cn/posts/posts/%E5%AD%A6%E6%9C%AF%E8%AE%BA%E6%96%87%E6%8E%92%E7%89%88%E5%9F%BA%E6%9C%AC%E8%A6%81%E6%B1%82.html/</link><pubDate>Wed, 14 Aug 2019 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%AD%A6%E6%9C%AF%E8%AE%BA%E6%96%87%E6%8E%92%E7%89%88%E5%9F%BA%E6%9C%AC%E8%A6%81%E6%B1%82.html/</guid><description>&lt;h2 id="标题序号"&gt;标题序号&lt;/h2&gt;
&lt;p&gt;人文社科类专业论文标题一般而言，要求如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;一级标题&lt;/strong&gt; 标题序号为&amp;quot;一&amp;quot;，独占行，末尾不加标点符号。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二级标题&lt;/strong&gt; 标题序号为&amp;quot;（一）&amp;quot;，独占行，末尾不加标点符号。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;三级标题&lt;/strong&gt; 标题序号为&amp;quot; 1. &amp;quot;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;四级标题&lt;/strong&gt; 标题序号为&amp;quot;（1）&amp;quot;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="表格"&gt;表格&lt;/h2&gt;
&lt;p&gt;表的编排，一般是内容和测试项目由左至右横读，数据按内容或项目依序对齐竖排。每个表格应有自己的表序和表题，表序和表题应写在表格上放正中，表序写在表题左方不加标点，表序后空一格书写表题，表题末尾不加标点。全文的表格统一编序，也可以逐章编序，不管采用哪种方式，表序必须连续。表格允许下页接写，接写时表题可省略，表头应重复写，并在右上方写&amp;quot;续表××&amp;quot;。此外，表格应写在离正文首次出现处的近处，不应过分超前或拖后。表格样式尽可能简洁，一般采用三线表。在Word中快速制作三线表，可参考如下资料：&lt;a href="https://www.bilibili.com/video/BV1Ub411N7ba"&gt;word创建论文三线表样式_哔哩哔哩_bilibili&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>HTML常用元素</title><link>https://yangzh.cn/posts/posts/html-commonly-used-elements.html/</link><pubDate>Mon, 29 Oct 2018 11:20:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/html-commonly-used-elements.html/</guid><description>&lt;h2 id="结构元素"&gt;结构元素&lt;/h2&gt;
&lt;h3 id="html元素"&gt;&lt;code&gt;html&lt;/code&gt;元素&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;html&lt;/code&gt; 元素表示一个 HTML 文档的最顶端元素，或者是根元素，其他元素都包含于&lt;code&gt;html&lt;/code&gt;元素之中。&lt;/p&gt;
&lt;p&gt;html 元素有一个重要属性&lt;code&gt;lang&lt;/code&gt;，用于指定文档的语言，以方便语音合成、翻译工具、浏览器等工具决定采用何种规则来处理网页。&lt;/p&gt;
&lt;p&gt;下面的例子指定网页的内容为中文：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;zh&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;泰戈尔&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;离你越近的地方，路途越远；最简单的音调，需要最艰苦的练习。&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="文档元数据相关元素"&gt;文档元数据相关元素&lt;/h3&gt;
&lt;h4 id="head"&gt;head&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;head&lt;/code&gt;元素是&lt;code&gt;html&lt;/code&gt;元素的第一个子元素，用来标记&lt;code&gt;HTML&lt;/code&gt;文档的一系列元数据（如文档标题、作者、关键词、相关样式表、相关脚本等等）。&lt;/p&gt;</description></item><item><title>HTTP协议：互联网的通信基石</title><link>https://yangzh.cn/posts/posts/http.html/</link><pubDate>Wed, 03 Oct 2018 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/http.html/</guid><description>&lt;h2 id="什么是-http"&gt;什么是 HTTP？&lt;/h2&gt;
&lt;h3 id="http-的定义与作用"&gt;HTTP 的定义与作用&lt;/h3&gt;
&lt;p&gt;想象一下，互联网就像一个巨大的图书馆，而 HTTP（HyperText Transfer Protocol，超文本传输协议）则是你和图书管理员之间的对话方式。你告诉管理员&amp;quot;我想要《哈利·波特》&amp;quot;，管理员就去书架上找，然后把书递给你。HTTP 正是这样一种规则，它让你的浏览器（客户端）能和远方的服务器&amp;quot;对话&amp;quot;，请求网页、图片、视频等资源，并把它们带回给你。&lt;/p&gt;</description></item><item><title>量化研究论文写作指南</title><link>https://yangzh.cn/posts/posts/%E9%87%8F%E5%8C%96%E8%AE%BA%E6%96%87%E5%86%99%E4%BD%9C%E8%A6%81%E6%B1%82.html/</link><pubDate>Tue, 14 Aug 2018 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%87%8F%E5%8C%96%E8%AE%BA%E6%96%87%E5%86%99%E4%BD%9C%E8%A6%81%E6%B1%82.html/</guid><description>&lt;p&gt;量化研究的学术性报告常常以论文形式呈现。&lt;/p&gt;
&lt;h2 id="论文结构及内容要求"&gt;论文结构及内容要求&lt;/h2&gt;
&lt;p&gt;实证研究论文结构包括引言（Introduction）、研究目标（Objective）、方法（Method）、结果（Result）、讨论（Discussion）和结论（ Conclusion）。有学者按照各部分的主要逻辑，将这几部分又分成了三部分：&lt;strong&gt;引言段、中间段和结论段&lt;/strong&gt;。其中引言段和结论段是观点论证型，中间段是清晰准确地说明研究过程，而非论证型。很多人觉得引言段和结论段难写，因为是观点论证型，要有充足的论据和合理的论证逻辑。&lt;/p&gt;</description></item><item><title>MySQL 简介</title><link>https://yangzh.cn/posts/posts/00-mysql-intro.html/</link><pubDate>Fri, 27 Oct 2017 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/00-mysql-intro.html/</guid><description>&lt;p&gt;MySQL 作为全球最受欢迎的开源关系型数据库管理系统之一，广泛应用于各种规模的应用程序和网站。对于希望进入后端开发、数据分析或系统管理领域的学习者和技术爱好者而言，理解 MySQL 的基础知识至关重要。本文将系统介绍 MySQL 的核心概念、主要特点、应用场景，并探讨其与 MariaDB 的关系，为读者构建一个清晰的认识框架。&lt;/p&gt;</description></item><item><title>MySQL安装</title><link>https://yangzh.cn/posts/posts/01-mysql-install.html/</link><pubDate>Tue, 16 May 2017 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/01-mysql-install.html/</guid><description>&lt;p&gt;MySQL作为全球最受欢迎的开源关系型数据库管理系统之一，广泛应用于各种规模的Web应用程序和数据存储场景。无论是开发、测试还是生产环境部署，掌握如何在不同操作系统上正确安装和验证MySQL都是一项基础且重要的技能。本文将分别介绍在Windows、macOS和Linux（以Ubuntu/Debian为例）这三大主流平台上安装与验证MySQL的常用方法，旨在为初学者和需要跨平台操作的开发者提供清晰的指引。&lt;/p&gt;</description></item><item><title>为 WordPress 设置 Bing 每日背景图片</title><link>https://yangzh.cn/posts/posts/bingdailypic.html/</link><pubDate>Sat, 11 Mar 2017 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/bingdailypic.html/</guid><description>&lt;p&gt;bing的首页背景图片很有质感，并且每日更新，下面的代码能将其提取并输出成图像文件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;span class="lnt"&gt;43
&lt;/span&gt;&lt;span class="lnt"&gt;44
&lt;/span&gt;&lt;span class="lnt"&gt;45
&lt;/span&gt;&lt;span class="lnt"&gt;46
&lt;/span&gt;&lt;span class="lnt"&gt;47
&lt;/span&gt;&lt;span class="lnt"&gt;48
&lt;/span&gt;&lt;span class="lnt"&gt;49
&lt;/span&gt;&lt;span class="lnt"&gt;50
&lt;/span&gt;&lt;span class="lnt"&gt;51
&lt;/span&gt;&lt;span class="lnt"&gt;52
&lt;/span&gt;&lt;span class="lnt"&gt;53
&lt;/span&gt;&lt;span class="lnt"&gt;54
&lt;/span&gt;&lt;span class="lnt"&gt;55
&lt;/span&gt;&lt;span class="lnt"&gt;56
&lt;/span&gt;&lt;span class="lnt"&gt;57
&lt;/span&gt;&lt;span class="lnt"&gt;58
&lt;/span&gt;&lt;span class="lnt"&gt;59
&lt;/span&gt;&lt;span class="lnt"&gt;60
&lt;/span&gt;&lt;span class="lnt"&gt;61
&lt;/span&gt;&lt;span class="lnt"&gt;62
&lt;/span&gt;&lt;span class="lnt"&gt;63
&lt;/span&gt;&lt;span class="lnt"&gt;64
&lt;/span&gt;&lt;span class="lnt"&gt;65
&lt;/span&gt;&lt;span class="lnt"&gt;66
&lt;/span&gt;&lt;span class="lnt"&gt;67
&lt;/span&gt;&lt;span class="lnt"&gt;68
&lt;/span&gt;&lt;span class="lnt"&gt;69
&lt;/span&gt;&lt;span class="lnt"&gt;70
&lt;/span&gt;&lt;span class="lnt"&gt;71
&lt;/span&gt;&lt;span class="lnt"&gt;72
&lt;/span&gt;&lt;span class="lnt"&gt;73
&lt;/span&gt;&lt;span class="lnt"&gt;74
&lt;/span&gt;&lt;span class="lnt"&gt;75
&lt;/span&gt;&lt;span class="lnt"&gt;76
&lt;/span&gt;&lt;span class="lnt"&gt;77
&lt;/span&gt;&lt;span class="lnt"&gt;78
&lt;/span&gt;&lt;span class="lnt"&gt;79
&lt;/span&gt;&lt;span class="lnt"&gt;80
&lt;/span&gt;&lt;span class="lnt"&gt;81
&lt;/span&gt;&lt;span class="lnt"&gt;82
&lt;/span&gt;&lt;span class="lnt"&gt;83
&lt;/span&gt;&lt;span class="lnt"&gt;84
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;php&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 读取bing中国的每日背景图片并输出&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;//&lt;/span&gt; &lt;span class="nx"&gt;读取指定地址的图片，并返回给浏览器&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;readImg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$imgurl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;assets/images/header.jpg&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$imgurl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Content-Type: image/JPEG&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;ob_end_clean&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;readfile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$imgurl&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;ob_flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;error&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;//&lt;/span&gt; &lt;span class="nx"&gt;获取bing中国的图片地址，&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 注意：匹配模式规则可能会随着时间推移而改变。&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getImgUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;http://cn.bing.com&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 打开bing中国首页&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;file_get_contents&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 获取其中的图片地址&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;preg_match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/g_img={url: &amp;#34;(.*?)&amp;#34;/s&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$matches&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 拼接完整图片地址&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$imgUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;http://cn.bing.com&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$matches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$imgUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 如果获取失败，则返回假&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$imgUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;//&lt;/span&gt; &lt;span class="nx"&gt;将获取的图片地址写入到文件中&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;writeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$imgUrl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 打开或创建文件&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$fileHandle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$fileHandle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$imgUrl&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$fileHandle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;创建文件失败，请检查权限。&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;//&lt;/span&gt; &lt;span class="nx"&gt;获取地址文件日期，并与当前日期进行对比&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;checkFileDate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//获取文件修改时间&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$bingdate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;filemtime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$bingdateymd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Y-m-d&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$bingdate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$todaydateymd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Y-m-d&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$bingdateymd&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nv"&gt;$todaydateymd&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;//&lt;/span&gt; &lt;span class="nx"&gt;读取本地文件中的图片地址信息&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;readUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$handle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;r&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fread&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;filesize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$handle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;//&lt;/span&gt; &lt;span class="nx"&gt;根据判断结果，得到地址&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$flag&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$flag&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;readUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getImgUrl&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;writeUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;bingbg.txt&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 获取当天图片地址&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;checkFileDate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nv"&gt;$filename&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 读取图片并输出&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;readImg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sb"&gt;`
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sb"&gt;然后在主题的图片位置，直接调用即可，如上述代码的文件名为bing.php的话，这样调用即可：
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sb"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;&amp;#39;default-image&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;get_parent_theme_file_uri&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;bing.php&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s1"&gt;&amp;#39;url&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;%s/bing.php&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Alfred 效率工具使用指南</title><link>https://yangzh.cn/posts/posts/alfred.html/</link><pubDate>Thu, 01 Dec 2016 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/alfred.html/</guid><description>&lt;p&gt;Alfred 是一款 MacOS 中提高效率的工具，调用快捷键为&lt;code&gt;option+space&lt;/code&gt;，除了默认功能外，利用其提供的 workflow，能大大减少鼠标点击次数，所以有必要培养使用 Alfred 的使用习惯，能用 Alfred 办的事就不要点鼠标，这样非常有助于心流的形成和保持。&lt;/p&gt;
&lt;h2 id="常用基础功能"&gt;常用基础功能&lt;/h2&gt;
&lt;h3 id="文件操作"&gt;文件操作&lt;/h3&gt;
&lt;p&gt;通过&lt;code&gt;find&lt;/code&gt;、&lt;code&gt;open&lt;/code&gt;、&lt;code&gt;in&lt;/code&gt;等关键词搜索文件。&lt;/p&gt;</description></item><item><title>Hugo 静态网站生成器使用指南</title><link>https://yangzh.cn/posts/posts/hugo.html/</link><pubDate>Tue, 08 Dec 2015 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/hugo.html/</guid><description>&lt;h2 id="准备工作"&gt;准备工作&lt;/h2&gt;
&lt;h3 id="安装-hugo"&gt;安装 Hugo&lt;/h3&gt;
&lt;p&gt;到 &lt;a href="https://github.com/spf13/hugo/releases"&gt;Hugo Releases&lt;/a&gt; 下载对应的操作系统版本的 Hugo 安装文件&lt;/p&gt;
&lt;p&gt;Mac 系统可以使用 Homebrew 进行安装：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install hugo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装完成后，在命令行中运行&lt;code&gt;hugo&lt;/code&gt;，如果有输出，则表明安装成功。&lt;/p&gt;
&lt;h3 id="下载并安装主题"&gt;下载并安装主题&lt;/h3&gt;
&lt;p&gt;到 &lt;a href="https://www.gohugo.org/theme/"&gt;hugo theme&lt;/a&gt; 挑选一个心仪的主题，比如我目前使用的是 &lt;a href="https://themes.gohugo.io/hugo-theme-even/"&gt;Even&lt;/a&gt; 主题，找到主题的仓库地址，把主题 &lt;code&gt;git clone&lt;/code&gt; 下来：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone xxxxx.git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="初始化本地站点"&gt;初始化本地站点&lt;/h2&gt;
&lt;p&gt;使用 Hugo，先在本地电脑上，进行内容的创作准备。&lt;/p&gt;</description></item><item><title>《链接》读书笔记：复杂网络的普适法则</title><link>https://yangzh.cn/posts/posts/%E9%93%BE%E6%8E%A5.html/</link><pubDate>Sat, 07 Mar 2015 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E9%93%BE%E6%8E%A5.html/</guid><description>&lt;p&gt;复杂网络是由数量巨大的节点和节点之间错综复杂的关系共同构成的网络结构。用数学的语言来说，就是一个有着足够复杂的拓扑结构特征的图。复杂网络具有简单网络，如晶格网络、随机图等结构所不具备的特性，而这些特性往往出现在真实世界的网络结构中。复杂网络的研究是现今科学研究中的一个热点，与现实中各类高复杂性系统，如互联网、神经网络和社会网络的研究有密切关系。&lt;/p&gt;</description></item><item><title>使用 SSH 方式登录远程服务器</title><link>https://yangzh.cn/posts/posts/ssh.html/</link><pubDate>Thu, 11 Dec 2014 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/ssh.html/</guid><description>&lt;p&gt;公钥登陆相对密码登陆可以避免中间攻击，同时也简单很多。&lt;/p&gt;
&lt;h2 id="生成公私钥"&gt;生成公私钥&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh-keygen -t rsa -C your_email@example.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="复制公钥"&gt;复制公钥&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat ~/.ssh/id_rsa.pub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;复制一下输出的这个公钥内容。&lt;/p&gt;
&lt;h2 id="在目标服务器或网站使用公钥"&gt;在目标服务器或网站使用公钥&lt;/h2&gt;
&lt;p&gt;连接到服务器，运行如下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vi ~/.ssh/authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;将复制的内容写入文件，存盘退出。&lt;/p&gt;
&lt;p&gt;或者将公钥复制到诸如 Github、Gitee 之类的代码托管网站中，就可使用 ssh 登录了。&lt;/p&gt;</description></item><item><title>尼古拉斯·卢曼：系统理论与社会学的革新者</title><link>https://yangzh.cn/posts/posts/%E5%B0%BC%E5%8F%A4%E6%8B%89%E6%96%AF%E5%8D%A2%E6%9B%BC.html/</link><pubDate>Sat, 06 Sep 2014 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%B0%BC%E5%8F%A4%E6%8B%89%E6%96%AF%E5%8D%A2%E6%9B%BC.html/</guid><description>&lt;h2 id="生平"&gt;生平&lt;/h2&gt;
&lt;p&gt;尼克拉斯·卢曼（Niklas Luhmann 1927年12月8日-1998年11月6日），德国社会学家、社会科学哲学家、系统理论杰出思想家，被认为是 20 世纪最重要的社会理论家之一。他发展了社会系统论，也是一位“宏大理论”的推崇者，主张把社会上纷繁复杂的现象全部纳入到一种的理论框架去解释。尼克拉斯·卢曼一生著作等身，出版了70多本书和近400篇学术文章，主要有《社会的社会》 、《社会的艺术》、《社会的法律》等等。但由于他的著作是以德语写作，致使他的影响主要在德国。师从塔尔科特·帕森斯。&lt;/p&gt;</description></item><item><title>我的 MacOS 个性化设置</title><link>https://yangzh.cn/posts/posts/mysettings.html/</link><pubDate>Sun, 01 Dec 2013 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/mysettings.html/</guid><description>&lt;p&gt;记录一些我的设置，方便快速建立熟悉高效的开发环境。&lt;/p&gt;
&lt;h2 id="通用"&gt;通用&lt;/h2&gt;
&lt;p&gt;打开“外观”中的“自动隐藏和显示菜单栏”。&lt;/p&gt;
&lt;h2 id="终端设置"&gt;终端设置&lt;/h2&gt;
&lt;p&gt;描述文件选“basic”。文字背景不透明度 90%，模糊度 12%。字体为“Ubuntu mono”，大小为 20 磅。光标为闪动竖线。&lt;/p&gt;
&lt;p&gt;编辑提示符信息如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PS1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; ⌨️ &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PS1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;\n&lt;/span&gt;&lt;span class="nv"&gt;$PS1&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="触控板"&gt;触控板&lt;/h2&gt;
&lt;p&gt;关闭“滚动方向-自然”，打开手势中的“在全屏幕显示的应用之间轻扫”。&lt;/p&gt;</description></item><item><title>BBC运营社交媒体的10条经验</title><link>https://yangzh.cn/posts/posts/bbc%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93%E8%BF%90%E8%90%A5%E7%BB%8F%E9%AA%8C.html/</link><pubDate>Sat, 30 Nov 2013 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/bbc%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93%E8%BF%90%E8%90%A5%E7%BB%8F%E9%AA%8C.html/</guid><description>&lt;p&gt;原文：&lt;a href="http://www.journalism.co.uk/news/10-lessons-as-bbc-news-hits-social-media-milestones/s2/a555195/"&gt;10 lessons as BBC News hits social media milestones&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;翻译：yangjh&lt;/p&gt;
&lt;p&gt;BBC新闻在社交媒体上取得了一系列里程碑式的成绩。@BBCWorld推特帐号已有5百万粉丝，Google+有4百万粉丝，Facebook上有3百万粉丝，@BBCBreaking帐号粉丝数已超过8百万。&lt;/p&gt;
&lt;p&gt;马克·弗兰克尔，BBC社交媒体助理编辑，解释了取得这一系列成绩背后的主要原因。&lt;/p&gt;</description></item><item><title>Linux 常用命令学习手册</title><link>https://yangzh.cn/posts/posts/linux-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4.html/</link><pubDate>Sun, 20 Oct 2013 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/linux-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4.html/</guid><description>&lt;h2 id="文件和目录操作"&gt;文件和目录操作&lt;/h2&gt;
&lt;p&gt;cd 切换目录&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- `cd ..` 返回上级目录
- `cd ~` 返回用户主目录
- `cd /path` 切换到指定目录
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ls 列出目录内容&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- `ls -l` 显示详细信息
- `ls -a` 显示隐藏文件
- `ls -h` 以人类可读方式显示文件大小
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;pwd 显示当前工作目录的完整路径&lt;/p&gt;
&lt;p&gt;mkdir 创建新目录&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- `mkdir dir1` 创建单个目录
- `mkdir -p dir1/dir2` 创建多级目录
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="文件操作"&gt;文件操作&lt;/h2&gt;
&lt;p&gt;cp 复制文件或目录&lt;/p&gt;</description></item><item><title>卡尔·霍夫兰：态度改变与说服研究的先驱</title><link>https://yangzh.cn/posts/posts/%E5%8D%A1%E5%B0%94%E9%9C%8D%E5%A4%AB%E5%85%B0.html/</link><pubDate>Sun, 21 Jul 2013 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8D%A1%E5%B0%94%E9%9C%8D%E5%A4%AB%E5%85%B0.html/</guid><description>&lt;p&gt;卡尔·霍夫兰（Carl Hovland）是一位著名的心理学家，他在社会心理学和传播学方面做出了重要的贡献，特别是在态度改变和说服的研究领域。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/202310291220259.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="生平"&gt;生平&lt;/h2&gt;
&lt;p&gt;卡尔·霍夫兰于1912年6月12日出生在美国威斯康辛州的拉克罗斯。他在1932年从美国威斯康辛州的拉克罗斯州立师范学院毕业，然后在耶鲁大学获得了硕士和博士学位。他在1940年代在耶鲁大学开始了他的职业生涯，并在那里度过了他的大部分职业生涯，直到他在1961年过世。&lt;/p&gt;</description></item><item><title>知识组织的20条原则</title><link>https://yangzh.cn/posts/posts/20-rules-of-knowledge-formulation.html/</link><pubDate>Mon, 29 Oct 2012 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/20-rules-of-knowledge-formulation.html/</guid><description>&lt;p&gt;SuperMemo 创始人 Piotr Wozniak 提出的知识组织二十条原则，这些原则被广泛应用于间隔重复学习方法中，特别是在使用 SuperMemo 和 Anki 等软件时。以下是这些原则的详细说明：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Do not learn if you do not understand（理解先行）&lt;/strong&gt;：确保完全理解后再进行记忆，避免机械记忆。如果遇到不理解的概念，应先查阅资料或请教他人，建立清晰的理解后再进行记忆，否则记忆将变得困难且容易遗忘。&lt;/p&gt;</description></item><item><title>厄文·戈夫曼</title><link>https://yangzh.cn/posts/posts/%E5%8E%84%E6%96%87%E6%88%88%E5%A4%AB%E6%9B%BC.html/</link><pubDate>Mon, 23 Jul 2012 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E5%8E%84%E6%96%87%E6%88%88%E5%A4%AB%E6%9B%BC.html/</guid><description>&lt;p&gt;厄文·戈夫曼（Erving Goffman，1922-1982）是二十世纪最具影响力的社会学家之一，他以其独特的微观社会学视角和深邃的理论洞察力，为我们揭示了日常生活中人际互动的深层机制。作为符号互动论的重要代表人物，戈夫曼将戏剧性的隐喻引入社会学分析，开创了理解社会互动的新范式。&lt;/p&gt;</description></item><item><title>蒂姆·伯纳斯-李：万维网之父</title><link>https://yangzh.cn/posts/posts/%E8%92%82%E5%A7%86%E4%BC%AF%E7%BA%B3%E6%96%AF-%E6%9D%8E.html/</link><pubDate>Sat, 29 Oct 2011 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E8%92%82%E5%A7%86%E4%BC%AF%E7%BA%B3%E6%96%AF-%E6%9D%8E.html/</guid><description>&lt;p&gt;蒂姆·伯纳斯-李（Tim Berners-Lee）是一位英国计算机科学家，被广泛认为是万维网（World Wide Web）的发明者。他在1989年至1991年间在欧洲核子研究组织（CERN）工作期间，开发了第一个网页浏览器和网页服务器，以及相关的通信协议，从而奠定了互联网上的信息共享和互联网发展的基础。&lt;/p&gt;</description></item><item><title>MacOS 强大的包管理工具 Homebrew</title><link>https://yangzh.cn/posts/posts/homebrew.html/</link><pubDate>Wed, 01 Dec 2010 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/homebrew.html/</guid><description>&lt;p&gt;Homebrew 是一款自由及开放源代码的软件包管理系统，用以简化 Mac OS X 系统上的软件安装过程，
使用 Homebrew 安装 Apple 没有预装但你需要的东西。最初由马克斯·霍威尔（Max Howell）写成，因其可扩展性得到了一致好评。&lt;/p&gt;
&lt;p&gt;在 Mac 中安装软件时，优先考虑使用 Homebrew 进行安装和管理。&lt;/p&gt;
&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;p&gt;在其官方网站&lt;code&gt;https://brew.sh/index_zh-cn&lt;/code&gt;复制安装脚本，然后在终端中执行脚本即可。Homebrew 不会将文件安装到它本身目录之外，所以您可将 Homebrew 安装到任意位置。&lt;/p&gt;</description></item><item><title>macOS 使用常见问题与解决方案</title><link>https://yangzh.cn/posts/posts/macosfaq.html/</link><pubDate>Tue, 01 Dec 2009 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/macosfaq.html/</guid><description>&lt;h2 id="常用操作"&gt;常用操作&lt;/h2&gt;
&lt;h3 id="快捷键中的符号分别代表什么"&gt;快捷键中的符号分别代表什么&lt;/h3&gt;
&lt;p&gt;快捷键中常用符号⌘（command）、⌥（option）、⇧（shift）、⇪（caps lock）、⌃（control）、↩（return）、⌅（enter）。&lt;/p&gt;
&lt;h3 id="如何记忆快捷键"&gt;如何记忆快捷键&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.mediaatelier.com/CheatSheet/"&gt;Cheatsheet 软件&lt;/a&gt; 能方便地罗列出当前软件的快捷键，为快捷键的使用提供了便利。&lt;/p&gt;
&lt;h3 id="如何剪切文件"&gt;如何剪切文件&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;command + option + v&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="删除文件"&gt;删除文件&lt;/h3&gt;
&lt;h4 id="如何删除文件"&gt;如何删除文件&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;Ctrl＋ Delete&lt;/code&gt;，即可将文件放入废纸篓。清空废纸篓（不提示） &lt;code&gt;Command + Option + Shift + Delete&lt;/code&gt;。
删除软件也可以使用同样的操作。&lt;/p&gt;</description></item><item><title>为什么万维网的民主伦理或将结束？</title><link>https://yangzh.cn/posts/posts/%E4%BA%92%E8%81%94%E7%BD%91%E4%BC%A6%E7%90%86.html/</link><pubDate>Fri, 25 Jan 2008 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%BA%92%E8%81%94%E7%BD%91%E4%BC%A6%E7%90%86.html/</guid><description>&lt;p&gt;作者：ADAM COHEN&lt;/p&gt;
&lt;p&gt;译者: &lt;a href="http://yangzh.cn"&gt;阿呆&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;原文：&lt;a href="http://www.nytimes.com/2006/05/28/opinion/28sun3.html"&gt;Why the Democratic Ethic of the World Wide Web May Be About to End&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;万维网是人类有史以来最具民主气质的大众媒体。有句俗语说得好，新闻自由只属于媒体的拥有者。广播电台和电视台受控于那些能买得起广播执照的有钱人。但是只要你拥有一台可上网计算机，你就能和亿万潜在的受众取得联系。&lt;/p&gt;</description></item><item><title>林语堂论中国新闻舆论史</title><link>https://yangzh.cn/posts/posts/%E6%9E%97%E8%AF%AD%E5%A0%82.html/</link><pubDate>Sat, 23 Jun 2007 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%9E%97%E8%AF%AD%E5%A0%82.html/</guid><description>&lt;p&gt;《中国新闻舆论史——一部关于民意与专制斗争的历史》，中文版译自 A History of the Press and Public Opinion in China，作者林语堂。这本论著无意于泛泛而谈一些学理性的问题，而是面向现实的政治大局，从古论今，展示公众和专制统治斗争中所出现的矛盾，抒发己见，自我辩解，是一部充满无奈的对专制力量和舆论博弈的分析，精彩观点如下：&lt;/p&gt;</description></item><item><title>从此我也成了父亲</title><link>https://yangzh.cn/posts/posts/%E4%BB%8E%E6%AD%A4%E6%88%91%E4%B9%9F%E6%88%90%E4%BA%86%E7%88%B6%E4%BA%B2.html/</link><pubDate>Fri, 16 Jun 2006 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E4%BB%8E%E6%AD%A4%E6%88%91%E4%B9%9F%E6%88%90%E4%BA%86%E7%88%B6%E4%BA%B2.html/</guid><description>&lt;p&gt;事非亲躬总觉浅。以前当我听到这句话的时候，觉得这是人们对自身经验的夸张。自认为有些事情，并不见得没有经历过就没有感悟。但是，当你投入某个角色时，情感会挟持于理智之上，就会产生“领悟”的错觉，或者不是错觉，根本就是领悟。“悟”，有些禅意，这个上天的恩赐，有时让人充满欢悦，悄然改变内心世界的版图。事非亲躬总觉浅，应该说的就是角色体验带来的全新感受吧。&lt;/p&gt;</description></item><item><title>怎样阅读上亿的博客？</title><link>https://yangzh.cn/posts/posts/%E6%96%B0%E6%B5%AA%E5%8D%9A%E5%AE%A2.html/</link><pubDate>Wed, 07 Jun 2006 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E6%96%B0%E6%B5%AA%E5%8D%9A%E5%AE%A2.html/</guid><description>&lt;p&gt;据新闻报道，&lt;a href="http://biz.163.com/06/0508/11/2GJJNT9J00020QEF.html" target="_blank"&gt;明年的博客数量预计接近1亿&lt;/a&gt;。博客的确已经很普及，连我也加入到开地种田的行列，每天打开电脑的第一件事，就是看看谁到我的地盘上留言了，今天的访问量是不是增加了，乐此不疲。&lt;/p&gt;
&lt;p&gt;博客的数量实在太多。这就有问题了，怎么找到自己感兴趣的内容呢？&lt;/p&gt;
&lt;p&gt;我目前的解决办法是顺藤摸瓜、一网打尽。&lt;/p&gt;
&lt;p&gt;先说说顺藤摸瓜。一般而言，博客不是孤立的，每个博客的友情链接无非是亲朋好友、同学师长，还有一些自己认为不错的博客链接。顺着这些瓜藤，你也许会发现你曾想偷窥而不得的美女博客![][1]，还有老师、业内大腕们的博客。&lt;/p&gt;</description></item><item><title>自由女神背后的世界——读《美国普利策奖金内幕》</title><link>https://yangzh.cn/posts/posts/%E7%BE%8E%E5%9B%BD%E6%99%AE%E5%88%A9%E7%AD%96%E5%A5%96%E9%87%91%E5%86%85%E5%B9%95.html/</link><pubDate>Wed, 14 Sep 2005 00:00:00 +0800</pubDate><guid>https://yangzh.cn/posts/posts/%E7%BE%8E%E5%9B%BD%E6%99%AE%E5%88%A9%E7%AD%96%E5%A5%96%E9%87%91%E5%86%85%E5%B9%95.html/</guid><description>&lt;p&gt;正如他在设立普利策奖金时的遗嘱上写到的：“我相信自我奋斗的人”。普利策从不名一文的无名小辈，依靠自我奋斗，成为当时的报业大王。在相信自我奋斗的美国，普利策是一个从穷移民到大富翁的罗曼蒂克的英雄形象。&lt;/p&gt;
&lt;p&gt;但这本书的作者却抛开这些光环，以冷静的局内人的口吻，讲述了或许更接近真实的普利策，以一个职业记者的专业眼光，审视了被誉为“美国新闻界最荣耀的奖赏”的普利策奖金。在有着“为尊者讳”传统的中国，人们缺乏批判甚至平视偶像权威的勇气，有从一个极端走向另一个极端的危险倾向。此书作者不甚出名，但他所表现出的智慧和勇气却是我们很缺乏的。对我而言，这种智慧和勇气是这本书的真正的价值。&lt;/p&gt;</description></item><item><title>About</title><link>https://yangzh.cn/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yangzh.cn/about/</guid><description>&lt;h2 id="about-me"&gt;About me&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://oss-yangjh.oss-cn-chengdu.aliyuncs.com/images/walle.png" alt=""&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;Hi, I'm Yangjh, Ph.D. in Internet and New Media&lt;/li&gt;
&lt;li&gt;I'm currently working as a teacher in Northwest Minzu University&lt;/li&gt;
&lt;li&gt;How to reach me: &lt;a href="https://github.com/yangjh-xbmu"&gt;Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="后端"&gt;后端&lt;/h3&gt;
&lt;p&gt;
 &lt;img src="https://img.shields.io/badge/-MySQL-4479A1?logo=MySQL&amp;logoColor=FFF" alt="MySQL" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Redis-DC382D?logo=Redis&amp;logoColor=FFF" alt="Redis" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-MongoDB-47A248?logo=MongoDB&amp;logoColor=FFF" alt="MongoDB" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-JWT-000?logo=JSON-Web-Tokens&amp;logoColor=FFF" alt="JWT" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-JSON-000?logo=JSON&amp;logoColor=FFF" alt="JSON" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Node.js-D3D3D3?logo=Node.js&amp;logoColor=339933" alt="Node.js" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Python-A9A9A9?logo=Python&amp;logoColor=3776AB" alt="Python" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Django-092E20?logo=Django&amp;logoColor=FFF" alt="Django" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-PostgreSQL-C0C0C0?logo=PostgreSQL&amp;logoColor=4169E1" alt="PostgreSQL" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-GraphQL-FFF?logo=GraphQL&amp;logoColor=E10098" alt="GraphQL" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Supabase-3FCF8E?logo=Supabase&amp;logoColor=FFF" alt="Supabase" style="display: inline-block;" /&gt;&amp;nbsp;
&lt;/p&gt;
&lt;h3 id="前端"&gt;前端&lt;/h3&gt;
&lt;p&gt;
 &lt;img src="https://img.shields.io/badge/-JavaScript-A9A9A9?logo=JavaScript&amp;logoColor=F7DF1E" alt="JavaScript" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-TypeScript-C0C0C0?logo=TypeScript&amp;logoColor=3178C6" alt="TypeScript" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Vue3-C0C0C0?logo=Vue.js&amp;logoColor=4FC08D" alt="Vue3" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Vite-D3D3D3?logo=Vite&amp;logoColor=646CFF" alt="Vite" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Webpack-D3D3D3?logo=Webpack&amp;logoColor=8DD6F9" alt="Webpack" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-NPM-C0C0C0?logo=npm&amp;logoColor=CB3837" alt="NPM" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Axios-C0C0C0?logo=Axios&amp;logoColor=5A29E4" alt="Axios" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-ESLint-C0C0C0?logo=ESLint&amp;logoColor=4B32C3" alt="ESLint" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-ECharts-C0C0C0?logo=Apache-ECharts&amp;logoColor=AA344D" alt="ECharts" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-HTML5-A9A9A9?logo=HTML5&amp;logoColor=E34F26" alt="HTML5" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-CSS3-A9A9A9?logo=CSS3&amp;logoColor=1572B6" alt="CSS3" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Less-D3D3D3?logo=Less&amp;logoColor=1D365D" alt="Less" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Tailwind%20CSS-FFF?logo=Tailwind-CSS&amp;logoColor=06B6D4" alt="Tailwind CSS" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Ant%20Design-C0C0C0?logo=Ant-Design&amp;logoColor=0170FE" alt="Ant Design" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-jQuery-0769AD?logo=jQuery&amp;logoColor=FFF" alt="jQuery" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Bootstrap-7952B3?logo=Bootstrap&amp;logoColor=FFF" alt="BootStrap" style="display: inline-block;" /&gt;&amp;nbsp;
&lt;/p&gt;
&lt;h3 id="运维"&gt;运维&lt;/h3&gt;
&lt;p&gt;
 &lt;img src="https://img.shields.io/badge/-Git-F05032?logo=Git&amp;logoColor=FFF" alt="Git" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Cloudflare-F38020?logo=Cloudflare&amp;logoColor=FFF" alt="Cloudflare" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-GitHub-181717?logo=GitHub&amp;logoColor=FFF" alt="GitHub" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-GitHub%20Actions-2088FF?logo=GitHub-Actions&amp;logoColor=FFF" alt="GitHub Actions" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Docker-2496ED?logo=Docker&amp;logoColor=FFF" alt="Docker" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img alt="bash" src="https://img.shields.io/badge/bash-blue?logo=gnubash" style="display:inline-block"/&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Ubuntu-E95420?logo=Ubuntu&amp;logoColor=FFF" alt="Ubuntu" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Nginx-009639?logo=Nginx&amp;logoColor=FFF" alt="Nginx" style="display: inline-block;" /&gt;&amp;nbsp;
&lt;/p&gt;
&lt;h3 id="开发工具"&gt;开发工具&lt;/h3&gt;
&lt;p&gt;
 &lt;img src="https://img.shields.io/badge/-VSCode-C0C0C0?logo=Visual-Studio-Code&amp;logoColor=007ACC" alt="VSCode" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Trae-FF6F61?logo=code&amp;logoColor=FFF" alt="Trae" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Cursor-000?logo=cursor&amp;logoColor=FFF" alt="Cursor" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Claude%20Code-D4A27F?logo=anthropic&amp;logoColor=FFF" alt="Claude Code" style="display: inline-block;" /&gt;&amp;nbsp;
 &lt;img src="https://img.shields.io/badge/-Kimi%20CLI-1A1A2E?logoColor=FFF" alt="Kimi CLI" style="display: inline-block;" /&gt;&amp;nbsp;
&lt;/p&gt;</description></item><item><title>Archive</title><link>https://yangzh.cn/archives/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yangzh.cn/archives/</guid><description/></item><item><title>Lecture Notes</title><link>https://yangzh.cn/lecture-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yangzh.cn/lecture-notes/</guid><description>&lt;ol&gt;
&lt;li&gt;&lt;a href="https://fe.yangzh.cn/"&gt;Web前端开发&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hao.yangzh.cn/python/"&gt;Python极简教程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://q.yangzh.cn/books/sda/"&gt;统计与数据分析&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://q.yangzh.cn/course/fusion-media/"&gt;融媒体内容生产&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Slides</title><link>https://yangzh.cn/slides/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yangzh.cn/slides/</guid><description/></item></channel></rss>