<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
            <title type="text">淡定的博客</title>
    <updated>2023-10-03T10:38:59+08:00</updated>
        <id>https://dandingkeji.top</id>
        <link rel="alternate" type="text/html" href="https://dandingkeji.top" />
        <link rel="self" type="application/atom+xml" href="https://dandingkeji.top/atom.xml" />
    <rights>Copyright © 2026, 淡定的博客</rights>
    <generator uri="https://halo.run/" version="1.5.4">Halo</generator>
            <entry>
                <title><![CDATA[BPMN学习]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/bpmn-xue-xi" />
                <id>tag:https://dandingkeji.top,2022-09-09:bpmn-xue-xi</id>
                <published>2022-09-09T17:58:57+08:00</published>
                <updated>2023-10-03T10:38:59+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>业务流程模型和标记法 (BPMN, Business Process Model and Notation) ：是对象管理组织 (OMG, Object Management Group) 维护的关于<strong>业务流程建模</strong>的行业性标准。  分析、改进和自动化当前的业务流程。 一套图形化表示法，用于以图形的方式详细说明各种业务流程。 按照特定规范编写的 XML 文件，使用特定的 BPMN 设计器，即可以以图形化的形式查看和编辑该文件。 业务流程，侧重固定流程。</p></blockquote><h2 id="%E8%8C%83%E5%9B%B4" tabindex="-1">范围</h2><p>仅限于业务流程建模；非业务目的其他类型建模将排除在外，例如组织结构、职能分解、数据模型等不属于 BPMN 建模。</p><p>尽管 BPMN 显示了数据流、活动的数据关联，但它不是数据流程图。</p><h2 id="%E4%B8%80%E8%87%B4%E6%80%A7-(conformance)" tabindex="-1">一致性 (Conformance)</h2><p>- 流程模型一致性 (Process Modeling Conformance)<br />- 流程执行一致性 (Process Execution Conformance)<br />- BPEL 流程执行一致性 (BPEL Process Execution Conformance)<br />- 编排建模一致性 (Choreography Modeling Conformance)</p><h2 id="%E6%B5%81%E7%A8%8B" tabindex="-1">流程</h2><p>传统侧重时间和成本，现代侧重跨职能活动。</p><h2 id="%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E" tabindex="-1">流程引擎</h2><p>流程引擎通过代码的方式实现 BPMN 这套图形化表示法，让程序根据自定义的的可视化流程图，根据条件自动判断工单的执行顺序，执行流程中的各项任务。</p><p>开源的 BPMN 工作流引擎有 <a href="https://www.jbpm.org/" target="_blank">jBPM</a>、<a href="https://www.activiti.org/" target="_blank">Activiti</a>、<a href="https://camunda.com/" target="_blank">Camunda</a>、<a href="https://github.com/flowable/flowable-engine" target="_blank">Flowable</a> 等项目 (<a href="https://github.com/meirwah/awesome-workflow-engines" target="_blank">Awesome Workflow Engines</a>)。</p><h2 id="topics" tabindex="-1">Topics</h2><h3 id="%E5%95%86%E4%B8%9A%E6%A8%A1%E5%BC%8F-(business-model)" tabindex="-1">商业模式 (Business model)</h3><p>商业模式是创造经济、社会和/或其他形式价值的框架。</p><p>代表企业的核心方面，包括目的、产品、战略、基础设施、组织结构、贸易实践以及运营流程和政策。</p><p>商业模式是组织可以维持自身的一种经营方式，阐明了组织如何通过指定其在价值链中的位置来获取价值。</p><h3 id="%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B-(business-process)" tabindex="-1">业务流程 (Business process)</h3><p>业务流程是相关联的、结构化的活动或任务的集合，这些活动/任务是为客户提供特定的服务或产品。业务流程主要分为三种类型：</p><p>1、管理流程 (Management processes)，支配一个系统的运行。包括公司治理和战略管理。</p><p>2、运营流程 (Operational processes)，构成核心业务并创造主要价值流。包括采购、制造、市场和营销。</p><p>3、支撑流程 (Supporting processes)，支持核心事务的流程。示例包括会计、招聘和技术支持。</p><h2 id="tools" tabindex="-1">Tools</h2><p>业务流程建模工具为业务用户提供了对其业务流程进行建模、实施和执行这些模型以及根据执行数据改进模型的能力。</p><p>业务流程建模工具可以促使业务流程透明化、集中化。</p><p>建模工具可以使组织中的不同用户对复杂流程进行协作建模，用户可以在其中协作共享和模拟模型。</p><h3 id="%E5%BB%BA%E6%A8%A1%E5%92%8C%E4%BB%BF%E7%9C%9F-(modelling-and-simulation)" tabindex="-1">建模和仿真 (Modelling and simulation)</h3><p>建模和仿真功能允许预执行“假设”建模和仿真，基于对实际执行指标的分析，可以进行执行后优化。</p><p>- 用例图 (UML：Use case diagrams)<br />- 活动图 (UML：Activity diagrams)<br />- 业务流程模型和符号 (Business Process Model and Notation, BPMN)</p><h3 id="%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E5%B7%A5%E5%85%B7-(programming-language-tools)" tabindex="-1">编程语言工具 (Programming language tools)</h3><p>- 业务流程执行语言 (Business Process Execution Language, BPEL)<br />- Web 服务编排描述语言 (Web Services Choreography Description Language, <a href="https://www.w3.org/TR/ws-cdl-10/" target="_blank">WS-CDL</a>)<br />- XML 流程定义语言 (XML Process Definition Language, XPDL)</p><h2 id="normative-references" tabindex="-1">Normative References</h2><p>- <a href="https://www.omg.org/spec/BPMN/2.0/" target="_blank">BPMN v2.0</a><br />- <a href="http://www.omg.org/cgi-bin/doc?dtc/10-06-02" target="_blank">BPMN 2.0 Examples</a><br />- <a href="http://www.bpmnquickguide.com/" target="_blank">BPMN Quick Guide</a></p><h2 id="resources" tabindex="-1">Resources</h2><p>- <a href="https://sparxsystems.com/resources/tutorials/uml/business-process-model.html" target="_blank">Business Process Modelling using Enterprise Architect | Sparx Systems</a>/<a href="https://sparxsystems.cn/resources/business_process_model.html" target="_blank">译</a><br />- <a href="https://www.activiti.org/userguide/index.html#bpmnConstructs" target="_blank">BPMN 2.0 Introduction | Activiti User Guide</a><br />- <a href="https://access.redhat.com/documentation/en-us/red_hat_process_automation_manager/7.6/html/designing_business_processes_in_business_central/bpmn-con_business-processes#doc-wrapper" target="_blank">Chapter 2. Business Process Modeling and Notation Version 2.0 Red Hat Process Automation Manager 7.6 | Red Hat Customer Portal</a><br />- <a href="https://bpmn.io/toolkit/bpmn-js/" target="_blank">bpmn-js: BPMN 2.0 rendering toolkit and web modeler | Toolkits | bpmn.io</a>，在线绘制工具</p><h2 id="%E6%89%A9%E5%B1%95%E4%BF%A1%E6%81%AF" tabindex="-1">扩展信息</h2><p>- 事件驱动过程链图 (Event Driven Process-Chain, EPC)<br />- 价值链图 (Value Chain, EVC)<br />- 流程图 (Flow Chart)</p><hr /><h2 id="%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%A8%A1%E5%9E%8B%E5%92%8C%E6%A0%87%E8%AE%B0%E6%B3%95-(bpmn%2C-business-process-model-and-notation)" tabindex="-1">业务流程模型和标记法 (BPMN, Business Process Model and Notation)</h2><p>本系列内容涵盖 BPMN “视觉元素、基本规则、最佳实践”等内容。</p><p>本系列内容主要来自 BPMN <a href="https://www.bpmn.org/" target="_blank">规范</a>，部分出自 <a href="https://sparxsystems.com/resources/tutorials/uml/business-process-model.html" target="_blank">Sparx Systems UML Tutorial</a>，一小部分摘录自互联网。</p><h3 id="elements" tabindex="-1">Elements</h3><p>1. Flow Objects，流对象，BPMN 的主要描述对象<br />   - 1. <a href="./1.%20Flow%20Objects/1.1%20Events/README.md" target="_blank">Events</a>，事件，描述发生的事情<br />   - 2. <a href="./1.%20Flow%20Objects/1.2%20Activities/README.md" target="_blank">Activities</a>，活动，描述必需做的工作<br />   - 3. <a href="./1.%20Flow%20Objects/1.3%20Gateways/README.md" target="_blank">Gateways</a>，网关，基于所示条件决定路径的分流与合并<br />2. <a href="./2.%20Data/README.md" target="_blank">Data</a><br />   - 1. Data Objects<br />   - 2. Data Inputs<br />   - 3. Data Outputs<br />   - 4. Data Stores<br />3. <a href="./3.%20Connecting%20Objects/README.md" target="_blank">Connecting Objects</a>，连接对象，使流对象相互连接<br />   - 1. <a href="./3.%20Connecting%20Objects/3.1%20Sequence%20Flow.md" target="_blank">Sequence Flows</a>，序列流，描述活动进行的顺序<br />   - 2. <a href="./3.%20Connecting%20Objects/3.2%20Message%20Flow.md" target="_blank">Message Flows</a>，消息流，描述消息跨组织边界 (即池之间) 流动<br />   - 3. <a href="./3.%20Connecting%20Objects/3.3%20Association.md" target="_blank">Associations</a>，关联，描述活动的输入输出<br />   - 4. <a href="./3.%20Connecting%20Objects/3.4%20Data%20Association.md" target="_blank">Data Associations</a>，数据关联，用于移动数据<br />4. <a href="./4.%20Swimlanes/README.md" target="_blank">Swimlanes</a>，泳道，视觉上对活动进行组织和分类<br />   - 1. <a href="./4.%20Swimlanes/4.1%20Pool.md" target="_blank">Pools</a>，泳池，表示一个业务过程中的参与者<br />   - 2. <a href="./4.%20Swimlanes/4.2%20Lane.md" target="_blank">Lanes</a>，泳道，对业务过程的组织和分类<br />5. <a href="./5.%20Artifacts/README.md" target="_blank">Artifacts</a>，过程要素<br />   - Group，分组，将一部分元素按逻辑或特定目的进行分组，便于查看和管理<br />   - Text Annotation，注释，提供一些附加性的文本信息给流程图的阅读者</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Java基础学习]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/java-ji-chu-xue-xi" />
                <id>tag:https://dandingkeji.top,2022-09-04:java-ji-chu-xue-xi</id>
                <published>2022-09-04T21:03:08+08:00</published>
                <updated>2022-09-07T08:42:55+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E5%AD%A6%E4%B9%A0%E8%BF%9B%E5%BA%A6" tabindex="-1">学习进度</h2><ul class="contains-task-list"><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 看完Day04</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 做完Day03练习</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 看完Day03  看到09</li><li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"> 看完Day02 ✅ 2022-09-04</li><li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"> 看完Day01 ✅ 2022-09-01</li></ul><h2 id="java%E5%9F%BA%E6%9C%AC%E4%BA%86%E8%A7%A3" tabindex="-1">Java基本了解</h2><h3 id="java%E4%B8%89%E5%A4%A7%E5%B9%B3%E5%8F%B0" tabindex="-1">java三大平台</h3><ul><li>JavaSE：是其他两个版本的基础</li><li>JavaME：小型版，用户嵌入式开发或者小型移动设备开发</li><li>JavaEE：用于Web后台服务器开发</li></ul><h3 id="jre%E8%B7%9Fjdk" tabindex="-1">JRE跟JDK</h3><p>JVM：Java虚拟机<br />JRE：Java运行环境，包含了JVM跟Java的核心类库<br />JDK：Java开发工具，包含了JRE跟开发工具</p><h2 id="%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95" tabindex="-1">基础语法</h2><h3 id="%E6%B3%A8%E9%87%8A" tabindex="-1">注释</h3><ul><li>单行注释</li><li>多行注释</li><li>文档注释</li></ul><h3 id="%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B" tabindex="-1">数据类型</h3><table><thead><tr><th style="text-align:center">数据类型</th><th style="text-align:center">关键字</th><th style="text-align:center">内存占用</th><th style="text-align:center">取值范围</th></tr></thead><tbody><tr><td style="text-align:center">整数</td><td style="text-align:center">byte</td><td style="text-align:center">1</td><td style="text-align:center">负的2的7次方 ~ 2的7次方-1(-128~127)</td></tr><tr><td style="text-align:center"></td><td style="text-align:center">short</td><td style="text-align:center">2</td><td style="text-align:center">负的2的15次方 ~ 2的15次方-1(-32768~32767)</td></tr><tr><td style="text-align:center"></td><td style="text-align:center">int</td><td style="text-align:center">4</td><td style="text-align:center">负的2的31次方 ~ 2的31次方-1</td></tr><tr><td style="text-align:center"></td><td style="text-align:center">long</td><td style="text-align:center">8</td><td style="text-align:center">负的2的63次方 ~ 2的63次方-1</td></tr><tr><td style="text-align:center">浮点数</td><td style="text-align:center">float</td><td style="text-align:center">4</td><td style="text-align:center">1.401298e-45 ~ 3.402823e+38</td></tr><tr><td style="text-align:center"></td><td style="text-align:center">double</td><td style="text-align:center">8</td><td style="text-align:center">4.9000000e-324 ~ 1.797693e+308</td></tr><tr><td style="text-align:center">字符</td><td style="text-align:center">char</td><td style="text-align:center">2</td><td style="text-align:center">0-65535</td></tr><tr><td style="text-align:center">布尔</td><td style="text-align:center">boolean</td><td style="text-align:center">1</td><td style="text-align:center">true，false</td></tr></tbody></table><p>整数类型和小数类型的取值范围大小关系：<font color=#FF0212>double &gt; float &gt; long &gt; int &gt; short &gt; byte</font></p><h3 id="%E5%91%BD%E5%90%8D%E5%BB%BA%E8%AE%AE" tabindex="-1">命名建议</h3><ul><li>变量跟方法名：用小驼峰</li><li>类名：用大驼峰</li></ul><h3 id="idea%E5%88%9D%E5%A7%8B%E5%8C%96%E9%85%8D%E7%BD%AE" tabindex="-1">IDEA初始化配置</h3><ul><li>提示忽略大小写</li><li>修改注释颜色</li><li>修改字体</li><li>修改自动导包</li></ul><h3 id="%E9%9A%90%E5%BC%8F%E8%BD%AC%E6%8D%A2" tabindex="-1">隐式转换</h3><ul><li>取值范围小的，和取值范围大的进行运算，小的会先提升为大的，再进行运算。</li><li>byte、short、char三种类型的数据在运算的时候，都会直接先提升为int，然后再进行运算。</li></ul><h3 id="%E5%BC%BA%E5%88%B6%E8%BD%AC%E6%8D%A2" tabindex="-1">强制转换</h3><p>格式：</p><pre><code class="language-java">int b = (int)a</code></pre><h3 id="%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9B%B8%E5%8A%A0" tabindex="-1">字符串相加</h3><ul><li>顺序：从左往右</li></ul><h3 id="%E5%AD%97%E7%AC%A6%E7%9B%B8%E5%8A%A0" tabindex="-1">字符相加</h3><ul><li>当+操作中出现了字符，会拿着字符到计算机内置的ASCII码表中去查对应的数字，然后再进行计算。</li></ul><h3 id="%E8%87%AA%E5%A2%9E%E8%87%AA%E5%87%8F%E8%BF%90%E7%AE%97%E7%AC%A6" tabindex="-1">自增自减运算符</h3><p>在表达式中<br /><ins>a：先加再赋值<br />a</ins>：先赋值，再相加</p><h3 id="%E8%B5%8B%E5%80%BC%E8%BF%90%E7%AE%97%E7%AC%A6" tabindex="-1">赋值运算符</h3><p><font color=#FF0212>=、+=、-=、*=、/=、%=</font></p><ul><li>注意：扩展的赋值运算符中隐藏了一个强制转换<br />a += b 跟 a = (byte)(a+b) 等价</li></ul><h3 id="%E6%AF%94%E8%BE%83%E8%BF%90%E7%AE%97%E7%AC%A6" tabindex="-1">比较运算符</h3><table><thead><tr><th>符号</th><th>解释</th></tr></thead><tbody><tr><td>==</td><td>相等比较</td></tr><tr><td>!=</td><td>不相等比较</td></tr><tr><td>&gt;</td><td>大于比较</td></tr><tr><td>&gt;=</td><td>大于等于比较</td></tr><tr><td>&lt;</td><td>小于比较</td></tr><tr><td>&lt;=</td><td>小于等于比较</td></tr></tbody></table>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[重金找领养]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/zhong-jin-zhao-ling-yang" />
                <id>tag:https://dandingkeji.top,2022-08-27:zhong-jin-zhao-ling-yang</id>
                <published>2022-08-27T15:04:40+08:00</published>
                <updated>2022-09-18T18:10:56+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E5%85%8D%E7%96%AB%E6%83%85%E5%86%B5" tabindex="-1">免疫情况</h2><ol><li>三针疫苗齐全，不收取任何费用</li><li>已做三次内外驱虫，不收取任何费用</li><li>广东省内送货上门，不收取任何费用</li><li>如领养成功，可送猫砂盆，一包冻干，当作礼物</li></ol><h2 id="%E7%85%A7%E7%89%87" tabindex="-1">照片</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271503448.jpg" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271503129.jpg" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271504410.jpg" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271504883.jpg" alt="" /></p><h2 id="%E8%AF%B7%E5%85%88%E5%9B%9E%E7%AD%94%E4%BB%A5%E4%B8%8B%E5%87%A0%E4%B8%AA%E9%97%AE%E9%A2%98" tabindex="-1">请先回答以下几个问题</h2><ol><li>目前的居住情况是怎样的？（自住、租房？阳台是否封闭？家里各个窗户是否有纱窗？）</li><li>请问现在工作情况是怎样的？有长期在本地发展的打算吗？</li><li>有了解猫的相关喂养经验吗？发生了问题知道怎么处理吗？</li><li>一个月给猫咪的预算是多少？猫粮准备买哪种价位的？</li><li>知道绝育的重要性吗，知道猫过于肥胖是不好的现象吗？</li><li>要知道猫咪除了可爱的一面，很多时候也会调皮惹人讨厌，高冷不理人，很多猫不喜欢被抱，甚至有的还不会用猫砂盆，你有耐心吗？</li><li>猫咪生病了怎么办？能坚持治疗到猫咪痊愈吗？</li><li>能做到不因任何原因而抛弃猫咪吗？如发情乱叫，乱尿，搬家等。。。</li></ol><h2 id="%E5%85%BB%E7%8C%AB%E8%8A%B1%E8%B4%B9" tabindex="-1">养猫花费</h2><p><font color=#FF0212><strong>吃的猫粮</strong></font>：我一般是喂福摩，一袋240左右，一只猫能吃一个多月<br /><font color=#FF0212><strong>看病的费用：</strong></font> 去医院就很贵了，一般都要500起步了，所以我买了支付宝的宠物险去抵消部分风险，保险费用一个月35<br /><font color=#FF0212><strong>驱虫药的费用：</strong></font> 内驱：40/3个月，外驱：70/两个月<br /><font color=#FF0212><strong>猫砂的费用：</strong></font> 一个月50左右，如果喂肉或者罐头，拉屎很少，猫砂能更省<br /><font color=#FF0212><strong>猫玩具：</strong></font> 拼多多10块钱能买三个，能抓半年</p><h2 id="%E9%A2%86%E5%85%BB%E6%A0%87%E5%87%86" tabindex="-1">领养标准</h2><ul class="contains-task-list"><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>家里必须要封窗。</font>家里没开放式阳台，这个没什么好说的。</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>疫苗必须要打。</font>我送出去的小猫已经打好三针疫苗了，过一年可以根据需要测测抗体水平决定是否补打，抗体合格，近10年都不用打了。</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>驱虫必须要做。</font>一般三个月一次内驱，两个月一次外驱。</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>适龄必须绝育。</font>必须绝育，不能生一窝再绝育。</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>猫粮最低标准进口粮。</font>主要还是考虑安全方面，国内可能由于工艺等原因，有问题的猫粮概率高一点，而且低档次一点的进口粮也不比国产猫粮贵。</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>如果可以，建议用主食冻干/主食罐头/生骨肉，辅助喂食。</font>如果换成人，叫你天天吃压缩饼干也不是很合适是吧</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>有病就医，不能弃养。</font>这是对生命最基本的准则，当然，一些极端情况，可自行决定，如恶性肿瘤，也别说什么搬家了，带不走猫之类的，我都带我家猫换了几个城市了，我一般是顺风车/飞机（动物有氧舱）</li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>不能散养，笼养。</font></li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>幼猫可能会拆家，如果要领养，一定要做好相关心理准备，等大概一岁的时候，性格相对稳定就不那么拆了。</font></li><li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <font color=#FF0212>以上要求请认真考虑</font></li></ul>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[养猫资料大全]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/yang-mao-zi-liao-da-quan" />
                <id>tag:https://dandingkeji.top,2022-08-27:yang-mao-zi-liao-da-quan</id>
                <published>2022-08-27T15:00:26+08:00</published>
                <updated>2022-09-07T08:43:15+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E7%8C%AB%E7%A0%82%E4%BB%B7%E6%A0%BC%E5%AF%B9%E6%AF%94" tabindex="-1">猫砂价格对比</h2><h3 id="%E8%86%A8%E6%B6%A6%E5%9C%9F" tabindex="-1">膨润土</h3><table><thead><tr><th>品牌</th><th>重量/kg</th><th>价格/元</th><th>对比价格/5kg</th></tr></thead><tbody><tr><td>紫裂岩</td><td>4.5</td><td>14.5</td><td>16.11</td></tr><tr><td>川格</td><td>4.5</td><td>17.5</td><td>19.44</td></tr><tr><td>美鹏</td><td>6.5</td><td>27.5</td><td>21.15</td></tr><tr><td>星际矿场</td><td>4.5</td><td>21.89</td><td>24.32</td></tr></tbody></table><h3 id="%E8%B1%86%E8%85%90%E7%8C%AB%E7%A0%82" tabindex="-1">豆腐猫砂</h3><table><thead><tr><th>品牌</th><th>重量/kg</th><th>价格/元</th><th>对比价格/5kg</th></tr></thead><tbody><tr><td>N1</td><td>6.5</td><td>55</td><td>42.30</td></tr><tr><td>紫裂岩</td><td>10</td><td>50</td><td>25</td></tr><tr><td>小不优选</td><td>5</td><td>36</td><td>36</td></tr></tbody></table><h2 id="%E7%94%9F%E9%AA%A8%E8%82%89%E8%82%89%E6%BA%90%E9%80%89%E6%8B%A9" tabindex="-1">生骨肉肉源选择</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281123989.jpg" alt="" /></p><h2 id="%E7%8C%AB%E5%B9%B4%E9%BE%84%E8%87%AA%E6%9F%A5%E8%A1%A8" tabindex="-1">猫年龄自查表</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281123170.jpg" alt="" /></p><h2 id="%E6%80%A5%E6%80%A7%E5%91%95%E5%90%90" tabindex="-1">急性呕吐</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281121826.jpg" alt="" /></p><h2 id="%E4%BD%93%E9%87%8D%E6%A0%87%E5%87%86" tabindex="-1">体重标准</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281113975.jpg" alt="" /></p><h1 id="%E9%A9%B1%E8%99%AB" tabindex="-1">驱虫</h1><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281119170.jpg" alt="" /><br /><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281124056.jpg" alt="" /></p><h2 id="%E4%BD%93%E6%A3%80" tabindex="-1">体检</h2><p>1，抗体<br />2，心超<br />3，肾功能(SDMA)<br />4，Dr<br />5，检查鼻泪管是否堵塞(荧光染色)</p><h2 id="%E5%8C%BB%E9%99%A2" tabindex="-1">医院</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271514996.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271514377.png" alt="" /></p><h2 id="%E7%BD%90%E5%A4%B4" tabindex="-1">罐头</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271515790.png" alt="" /></p><h2 id="%E7%94%9F%E9%AA%A8%E8%82%89%E5%8F%82%E8%80%83%E6%A0%87%E5%87%86" tabindex="-1">生骨肉参考标准</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202208271515202.png" alt="" /></p><h2 id="%E9%A3%9F%E8%B0%B1%E8%90%A5%E5%85%BB%E6%B7%BB%E5%8A%A0%E5%89%82" tabindex="-1">食谱营养添加剂</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202203281105184.jpg" alt="" /><br />一个月的量<br />蛋黄：一周1到2颗<br />维生素E：一周一粒<br />鱼油：一周4颗</p><p>蛋壳粉：30g<br />nf碘化钾片：10片<br />维生素B1：10粒<br />维生素B12：20粒</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[流动性挖矿概念]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/liu-dong-xing-wa-kuang-gai-nian" />
                <id>tag:https://dandingkeji.top,2022-02-20:liu-dong-xing-wa-kuang-gai-nian</id>
                <published>2022-02-20T02:05:00+08:00</published>
                <updated>2022-09-07T10:41:14+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E4%B8%80%E4%BA%9B%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5" tabindex="-1">一些基本概念</h2><p>资金池创造了价格<br />流动性池存在的意义是：造市，创造市场<br />流动性：资金提供方</p><h2 id="%E7%BB%8F%E9%AA%8C" tabindex="-1">经验</h2><p>熊市定投、牛市高位适当卖出，震荡市做网格交易。</p><h2 id="%E7%A8%B3%E5%AE%9A%E5%B8%81%E5%8D%95%E5%B8%81%E6%8C%96%E7%9F%BF" tabindex="-1">稳定币单币挖矿</h2><p>年化一般在20%左右<br /><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202122127971.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202122128990.png" alt="" /></p><h2 id="%E5%8F%8C%E5%B8%81%E6%8C%96%E7%9F%BF" tabindex="-1">双币挖矿</h2><p>无常损失（暂时性损失）</p><p>看两种币的走势，估算无常损失，看看年化收益是否大于无常损失，币价的波动才是最大的风险</p><p>💻無常損失計算機：[<a href="https://baller.netlify.app/" target="_blank">https://baller.netlify.app/</a>]<br />🔓無常損失詳解：[<a href="https://defi.substack.com/p/79c" target="_blank">https://defi.substack.com/p/79c</a>]</p><h3 id="%E5%8F%8C%E5%B8%81%E6%8C%96%E7%9F%BF%E6%93%8D%E4%BD%9C%E6%B5%81%E7%A8%8B" tabindex="-1">双币挖矿操作流程</h3><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132025158.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132027591.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132120086.png" alt="" /></p><h3 id="amm%E8%87%AA%E5%8A%A8%E5%81%9A%E5%B8%82%E5%95%86%E6%9C%BA%E5%88%B6" tabindex="-1">AMM自动做市商机制</h3><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132213356.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132216505.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132221438.png" alt="" /></p><h3 id="%E6%97%A0%E5%B8%B8%E6%8D%9F%E5%A4%B1" tabindex="-1">无常损失</h3><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132223435.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132226098.png" alt="" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132229240.png" alt="" /></p><h2 id="%E5%B8%B8%E7%94%A8%E7%9A%84defi%E5%B7%A5%E5%85%B7%E9%9B%86" tabindex="-1">常用的DeFi工具集</h2><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202202132253504.png" alt="" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Hummingbot学习]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/hummingbot-xue-xi" />
                <id>tag:https://dandingkeji.top,2022-02-20:hummingbot-xue-xi</id>
                <published>2022-02-20T02:05:00+08:00</published>
                <updated>2022-09-07T10:41:23+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="%E5%BF%AB%E9%80%9F%E5%88%9B%E5%BB%BA%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E6%9C%BA%E5%99%A8%E4%BA%BA" tabindex="-1">快速创建量化交易机器人</h2><p>connect binance 连接交易所<br />balance 查看当前账户<br />create  pure_market_making  纯做市策略<br />binance 选择一个交易所<br />BNB-USDT 选择交易对<br />1%     买单跟中间价的价差<br />1%     卖单跟中间价的价差<br />4 刷新买单根卖单<br />0.05   币安币的下单量<br />No   是否启用ping pong功能<br />config 查看配置文件<br />config  xxxx 设置新参数<br />status 查看买卖单<br />stop 关闭机器人</p><h2 id="%E6%B5%81%E5%8A%A8%E6%80%A7%E6%8C%96%E7%9F%BF" tabindex="-1">流动性挖矿</h2><p>创建一个api key<br />打开 ： <a href="https://miner.hummingbot.io/" target="_blank">https://miner.hummingbot.io/</a></p><p>create<br />liquidity_mining<br />binance<br />RLC-USDT,AVAX-USDT,STRAX-USDT<br />USDT<br />20<br />1 价差<br />20 目标百分比<br />保存配置<br />import 导入配置<br />config 查看配置<br />start 开始跑<br />status 查看订单运行状态<br />history 查看策略交易历史</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[合约相关概念]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/he-yue-xiang-guan-gai-nian" />
                <id>tag:https://dandingkeji.top,2022-01-17:he-yue-xiang-guan-gai-nian</id>
                <published>2022-01-17T02:05:00+08:00</published>
                <updated>2022-09-06T21:41:25+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h2 id="基础概念">基础概念</h2><p><em><strong>全仓</strong></em>：全仓模式的意思是账户里所有可用余额都可以充当担保资产，以避免被强制平仓。这个模式的好处是：只要杠杆适中，爆仓可能性很低，所以经常被用于套期保值。<br /><em><strong>逐仓</strong></em>：逐仓模式的意思是分配给某仓位的担保资产被限制在一定数额。 如果仓位的担保资产不足以支撑浮亏，此仓位将被强制平仓。所以，在波动率较高，杠杆较大的情况下，逐仓模式很容易被强制平仓，但最终的损失仅仅是仓位担保资产，而不影响账户余额。<br />常见的K线形态：<br /><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202201170107680.png" alt="" /><br />趋势判断：<br />阴线较密集，较长，当出现相对长度较长的阳线，可以认为下跌趋势快要终结<br />盈亏比：1：1.5<br />风险控制：1%</p><h2 id="指标分析">指标分析</h2><h3 id="ema交叉">EMA交叉</h3><p>跟MA的差别：今日收市价权重最大，MA每日收市价权重一样大<br />概念：指定天数的 “收市价” 来进行加总以及平均<br />趋势：当币价处于   MA线  以下时，代表处于下跌趋势，反之，处于上升趋势<br />黄金交叉：周期短的移动平均线，向上突破周期长的移动平均线，就形成黄金交叉，高几率进入上涨趋势<br />死亡交叉：周期短的移动平均线，向下突破周期长的移动平均线，就形成死亡交叉，高几率进入下跌趋势<br />短线：MA10 可以搭配 MA30</p><h3 id="know-sure-thingkst">Know Sure Thing(KST)</h3><p>名称：加总的变化率<br />概述：衡量了四种不同时间周期的价格动量，然后再将他们组成单一的动量指标<br />判断：当KST指标为正时，价格动量有利于多头，当KST指标为负时，价格动量有利于空头，<br />趋势走向：<br />如果KST位于其信号线的上方，KST本身通常就会上升；<br />如果KST位于其信号线的下方，KST本身通常就会下降；<br />读数为负，却正在上升的KST，表明下降趋势正在减弱；<br />读数为正，但却仍在下降的KST，则会对之前的上升趋势发出警告<br />尽管KST可能产生很多不同的信号，但只有KST穿越中线零轴和KST交叉信号是比较可靠的<br /><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202201140135098.png" alt="" /></p><h3 id="macd">MACD</h3><p>基本概念：</p><ul><li>白线：快速线，dif</li><li>黄线：慢速线</li><li>0轴（水）：红柱跟绿柱的一个分界线</li><li>金叉：快线上穿慢线</li><li>死叉：慢线上穿快线</li><li>底背离：金叉提高，通常表示价格上涨</li><li>顶背离：死叉降低，通常表示价格下跌</li><li>级别：大周期跟小周期，大级别确认以后，小级别反转趋势就会失效，同向趋势的信号，就会非常有效果，习惯看大级别走势<br />代表：</li><li>红柱：代表一个多头的势能</li><li>绿柱：代表一个空头的势能<br />作用：<br />趋势性指标<br />对横盘震荡期不起作用<br />背离出现后，不一定会出现反转的趋势，因为可能会出现横盘<br />总结：<br />顶背离后，黄白线没下水，发生了一个底背离，主升浪阶段<br />底背离后，没有上水，形成一个顶背离，主跌阶段</li></ul><h3 id="ma与ema交叉">MA与EMA交叉</h3><h3 id="ratio">Ratio</h3><h3 id="smi遍历性指标">SMI遍历性指标</h3><h3 id="spread">Spread</h3><h3 id="一目均衡表ichimoku-cloud">一目均衡表(Ichimoku Cloud)</h3><p>使用云来判断上升或者下行的趋势</p><p>使用：<br />快线跟慢线都在云上方，快线穿过了慢线，这是一个开仓点，开始做多；<br />快线跟慢线都在云下方，快线下穿慢线，这是一个做空开仓点；</p><h3 id="三重指数平滑移动平均线triple-ema">三重指数平滑移动平均线(Triple EMA)</h3><h3 id="bollinger-bands布林带">Bollinger Bands(布林带)</h3><p>概念：基于均线计算出来的一个区间，其上下不固定，随着价格滚动而变化，所以一般来说，价格越波动，区间就越大，有支撑和压力的效果<br />策略：价格跑出布林带以后，顺着方向，配合EMA200，价格在EMA之上，就做多，在EMA之下，就做空（等待K线形态确认再开仓）</p><h3 id="疑问点">疑问点：</h3><p>1，这个东西在哪设置的<br /><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/202201170121336.png" alt="" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[买买提的一生]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/mai-mai-ti-de-yi-sheng" />
                <id>tag:https://dandingkeji.top,2021-08-20:mai-mai-ti-de-yi-sheng</id>
                <published>2021-08-20T20:05:19+08:00</published>
                <updated>2022-09-06T23:49:04+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>谨以此文纪念逝去的买买提</p></blockquote><h2 id="%E4%B9%B0%E4%B9%B0%E6%8F%90%E7%94%9F%E5%B9%B3" tabindex="-1">买买提生平</h2><h3 id="%E8%A2%AB%E8%BD%A6%E5%8E%8B%E8%BF%87%E7%9A%84%E5%B0%8F%E7%8C%AB%E5%92%AA" tabindex="-1">被车压过的小猫咪</h3><p>大概是19年的某一天吧，具体时间我记不得了，救助者当时在路上发现了一辆被车压过的小奶猫，于心不忍，于是把小奶猫带到巴比堂**（在我看来一个很垃圾的医院，因为他们的技术一般，所以给后来的很多事埋下了炸弹）**进行救助，医生说当时小猫咪不能活了，谁知这小家伙生命力异常顽强，竟然活了下来了，接着过了一段时间，就顺利出院了，因为救助者还在读书，没有固定的居所，她就联系朋友，寄养在朋友家，刚好那段时间疫情发生，于是小奶猫就在她朋友家，住了小半年吧</p><h3 id="%E6%95%91%E5%8A%A9%E8%80%85%E8%81%94%E7%B3%BB%E4%BA%86%E8%BF%9B%E8%A1%8C%E9%A2%86%E5%85%BB" tabindex="-1">救助者联系了进行领养</h3><p>过了大半年，因为救助者她朋友**（同时也是我前老板）**忍受不了猫咪发情，而且他本人并不想养猫，所以便提出给猫咪找领养，于是联系了我，我提出了领养必须要绝育的要求，救助人同意，我们便开始进行了领养流程</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828080929867.png" alt="image-20210828080929867" /></p><h3 id="%E5%B9%B8%E7%A6%8F%E7%9A%84%E4%B8%80%E5%B9%B4%E5%A4%9A" tabindex="-1">幸福的一年多</h3><p>因为当时疫情严重，所以我一直在家远程办公，持续了一年多，买买提**（我在家都是叫淡定，因为原住民叫淡定，我因为懒所以统一叫淡定了）**刚来的时候，我进行了隔离（单独放我弟房间，放了四五天吧），之后就跟原住民住一起了，前几天，还会有点警惕，过几天就跟原住民相处的很好了，除了吃东西的时候护食，嗞人家，其他的地方相处的很和谐。</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828081725499.png" alt="image-20210828081725499" /></p><p>互相追着舔毛</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828082057332.png" alt="image-20210828082057332" /></p><p>广东的冬天太冷了，我顶不住，买了个电热扇</p><h3 id="%E6%88%91%E5%8F%91%E7%8E%B0%E7%9A%84%E5%BC%82%E5%B8%B8%E7%8E%B0%E8%B1%A1" tabindex="-1">我发现的异常现象</h3><ol><li>买买提刚来的时候，我发现她呼吸有点急促，我以为可能猫个体有差异，吃喝拉撒睡一切都好，无知的我便选择了忽略</li><li>买买提母鸡蹲的时间，现在回想起来，好像有点频繁，可是我当时没意识到事情的严重性，就这样相关无事的过了一年多</li><li>买买提吐毛的时间，很明显比小胖吐的时间长，而且很多时候不是毛，而是未消化的肉，因为我当时刚尝试生骨肉，以为是猫咪对某种肉类不耐受，于是我又选择了忽略，毕竟她吐毛的次数并不是很频繁，是一个月最多一次的那种，但是有时候会吐的很严重，搞得满屋子都是肉</li></ol><h3 id="%E6%88%91%E5%88%B0%E6%B9%9B%E6%B1%9F%E5%B7%A5%E4%BD%9C%E4%BA%86" tabindex="-1">我到湛江工作了</h3><p>2020年年底的时候，因为远程工作业务的关停，我的远程工作终止了，此后我在家休息了大半年，于2021年七月份来湛江开始工作</p><h3 id="%E4%BD%93%E6%A3%80%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%91%E7%8E%B0%E4%BA%86%E5%BC%82%E5%B8%B8" tabindex="-1">体检的时候发现了异常</h3><p>2021年的八月21日，我带买买提去宠物医院体检，当时做了dr,生化检查，血常规，抗体检测，当时没做心超，因为湛江压根没有一家有心超的，感觉医生是一个不怎么专业的人，他说他看不懂DR片，我问他咋回事，他说也不知道，但是他肯定的说这肯定不是正常猫该有的样子，于是我开始了艰难的网上问诊，以下是当时dr的检测结果：</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828083125287.png" alt="image-20210828083125287" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828083144059.png" alt="image-20210828083144059" /></p><h3 id="%E7%A1%AE%E8%AF%8A%E6%85%A2%E6%80%A7%E6%A8%AA%E8%86%88%E7%96%9D" tabindex="-1">确诊慢性横膈疝</h3><p>经过网上比较多的付费咨询，以及猫友推荐的宠物医院，我一 一进行了问询，是的，2021-08-21那天，我加天的兽医，超过了我这有生以来加过的所有兽医，</p><p>当时深圳口碑比较好的两家医院，都给出了肯定答复，必须手术，不然猫咪撑不了多久，我当时有咨询过广州的宠物医院，例如：广州泰洋，立德动物，爱诺百思**（事后根据另外一个兽医朋友的回答，才了解到爱诺是整个华南地区，实力相对强劲的医院，有核磁共振，CT等比较高端的设备）<strong>，当时我当时的无知，以为深圳的医院肯定比广州的医院好点，事后证明，我想得太简单了，因为当时咨询了两家很专业的医生，一家说要9/12号才开业，叫我9/12号再把猫咪送过去，我怕买买提等不及了，于是我选择了比较有自信的一家</strong>（院长是深圳很有名的兽医，口碑很好，他们设备也很高端，但是也没有CT）**，于是9/22号的上午，我把买买提送上了顺风车，于下午到达深圳</p><h3 id="%E6%89%8B%E6%9C%AF%E8%BF%9B%E8%A1%8C%E7%9A%84%E5%BE%88%E9%A1%BA%E5%88%A9" tabindex="-1">手术进行的很顺利</h3><p>23号下午，进行了手术，医生说买买提手术很成功</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828084637926.png" alt="image-20210828084637926" /></p><p>手术后拍的X光</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828084832471.png" alt="image-20210828084832471" /></p><p>但是，手术后的两三天，炎症指标一直下不来，于此同时，发现了食道巨大（后来发现是食道穿孔）的问题，同时伴随着胸腔积液，不过买买提精神状态还可以，24号，发烧，医生怀疑猫瘟，于是进行了猫瘟检测，阴性，怕结果不准，又换了更准确地PCR检测，结果显示阴性；<br />25号，胸腔积液更加严重，医生怀疑传腹，又进行了传腹检测，依然显示阴性；</p><h3 id="%E9%A3%9F%E9%81%93%E7%A9%BF%E5%AD%94%E9%9C%80%E8%A6%81%E5%86%8D%E6%AC%A1%E8%BF%9B%E8%A1%8C%E6%89%8B%E6%9C%AF" tabindex="-1">食道穿孔需要再次进行手术</h3><p>26号，医生做了食道造影，发现食道穿孔，同时已经产生了败血症，下午联系我需要进行再次手术，修补食道，我同意了，手术完进行了通宵看护，血压，体温，都还算正常，同时医生给买买提做了吸氧，抽积液，做胸导管，鼻饲管；</p><p>27号，躺着度过了一天，期间有起来过</p><p>28号凌晨，五点24分忽然休克，抢救无效死亡</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828090855203.png" alt="image-20210828090855203" /></p><p>后面的画面看着实在是令人心疼，我就不放照片了</p><p>送去深圳之前的照片：</p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828090951830.png" alt="image-20210828090951830" /></p><p><img src="https://images-1257421764.cos.ap-shanghai.myqcloud.com/img/image-20210828091022469.png" alt="image-20210828091022469" /></p><h3 id="%E5%85%B3%E4%BA%8E%E6%88%91%E5%90%8E%E6%82%94%E7%9A%84%E5%87%A0%E4%B8%AA%E7%82%B9" tabindex="-1">关于我后悔的几个点</h3><ol><li>是的，我之前就很清楚，这手术很凶险，但也不是毫无希望，如果提前知道这个结果，我肯定不会选择治疗，而是让她安享剩下的猫生了</li><li>我应该选择设备更加完善的爱诺百思，但是我被他们的美团差评给劝退了，如果我选择了爱诺，也许照个CT，就能发现食道穿孔的问题，或许就不用二次手术，或许买买提就能活下来了</li><li>猫咪平常比较严重的呕吐，母鸡蹲，我不够重视</li><li>没问救助者问清楚具体情况，以至于猫咪出过车祸我都不知道，是拍了DR以后我才知道的</li></ol><h3 id="%E6%9C%80%E5%90%8E%E7%9A%84%E9%87%8A%E7%84%B6" tabindex="-1">最后的释然</h3><p>唯一释然的点，就是买买提被车压过以后，在救助者坚持得情况下，最终救活，还活了两年，包括在我家跟肥猫生活了一年多，吃得好，睡得好。</p><p>生死各有天命，希望一切都是最好的安排吧。</p><p>于2021-08-28写下此文</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[我的生骨肉食谱分享]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/wo-de-sheng-gu-rou-shi-pu-fen-xiang" />
                <id>tag:https://dandingkeji.top,2021-08-05:wo-de-sheng-gu-rou-shi-pu-fen-xiang</id>
                <published>2021-08-05T16:55:38+08:00</published>
                <updated>2022-09-07T11:44:10+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>整理不理，求点赞转发</p></blockquote><h2 id="%E9%A3%9F%E8%B0%B1%E6%95%B4%E7%90%86%EF%BC%8C%E4%B8%8D%E6%96%AD%E5%AE%8C%E5%96%84%E4%B8%AD" tabindex="-1">食谱整理，不断完善中</h2><p>白肉1297g 红肉634g 肌肉组织276g  其他内脏138g 肝脏138g 贻贝82g  骨骼 193g  贻贝82g</p><p>预拌粉：钙粉 25g  /复合维生素B 15颗 /碘化钾 4颗/</p><p>单独吃：维生素E 8颗/ nf超级鱼油：8粒</p><h2 id="%E7%AC%AC%E4%B8%80%E5%91%A8" tabindex="-1">第一周</h2><table><thead><tr><th>周一(Ve,鱼油)</th><th>周二</th><th>周三</th><th>周四</th><th>周五</th><th>周六</th><th>周日(Ve,鱼油)</th></tr></thead><tbody><tr><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td></tr><tr><td>肌肉组织50g 心脏/胗/</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>其他内脏50g 肾/脑</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>青口贝20g 乳鹌鹑30g</td><td>肌肉组织50g 心脏/胗/</td></tr></tbody></table><h2 id="%E7%AC%AC%E4%BA%8C%E5%91%A8" tabindex="-1">第二周</h2><table><thead><tr><th>周一(Ve,鱼油)</th><th>周二</th><th>周三</th><th>周四</th><th>周五</th><th>周六</th><th>周日(Ve,鱼油)</th></tr></thead><tbody><tr><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>肝脏50g 鸡肝/鸭肝/兔肝</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td></tr><tr><td>大鹌鹑50g</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>肌肉组织50g 心脏/胗/</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>其他内脏50g 肾/脑</td><td>青口贝20g 乳鹌鹑30g</td></tr></tbody></table><h2 id="%E7%AC%AC%E4%B8%89%E5%91%A8" tabindex="-1">第三周</h2><table><thead><tr><th>周一(Ve,鱼油)</th><th>周二</th><th>周三</th><th>周四</th><th>周五</th><th>周六</th><th>周日(Ve,鱼油)</th></tr></thead><tbody><tr><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>肝脏50g 鸡肝/鸭肝/兔肝</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td></tr><tr><td>大鹌鹑50g</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>肌肉组织50g 心脏/胗/</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>青口贝20g 乳鹌鹑30g</td><td>大鹌鹑50g</td></tr></tbody></table><h2 id="%E7%AC%AC%E5%9B%9B%E5%91%A8" tabindex="-1">第四周</h2><table><thead><tr><th>周一(Ve,鱼油)</th><th>周二</th><th>周三</th><th>周四</th><th>周五</th><th>周六</th><th>周日(Ve,鱼油)</th></tr></thead><tbody><tr><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>红肉50g 牛/羊/猪/鹿</td></tr><tr><td>大鹌鹑50g</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>肌肉组织50g 心脏/胗/</td><td>白肉50g 鸡/鸭/兔/鸵鸟</td><td>肝脏50g</td><td>青口贝20g 乳鹌鹑30g</td></tr></tbody></table>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[买买提治疗过程]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/mai-mai-ti-zhi-liao-guo-cheng" />
                <id>tag:https://dandingkeji.top,2021-08-04:mai-mai-ti-zhi-liao-guo-cheng</id>
                <published>2021-08-04T17:00:36+08:00</published>
                <updated>2022-08-21T20:19:24+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>如果您是一位专业的兽医，希望您能给出专业而中肯的评价。邮箱：dandingkeji.top@gmail.com</p></blockquote><h2 id="%E4%B9%B0%E4%B9%B0%E6%8F%90%E6%B2%BB%E7%96%97%E8%BF%87%E7%A8%8B" tabindex="-1">买买提治疗过程</h2><ul><li><a href="/chat.html" target="_blank">在东和宠物医院治疗全记录</a></li><li>如果您想了解买买提，请阅读<a href="/posts/55285/" target="_blank">买买提生平介绍</a></li></ul><hr /><hr /><h2 id="%E6%97%B6%E9%97%B4%E7%BA%BF%E6%95%B4%E7%90%86" tabindex="-1">时间线整理</h2><ul><li>2021-08-21：我带买买提去体检，DR显示极其不正常，于是我在网上进行付费咨询，医生给出的答复大多是<strong>膈疝</strong>，需要进行手术治疗</li><li>2021-08-22：因为我工作很忙，刚好项目要上线实在是抽不开身（去深圳也花费巨大），再加上我对东和宠物医院的信任，我早上八点半把买买提送上了顺风车，并叮嘱司机，一定要注意好开空调，买买提于下午18点左右到达东和宠物医院</li><li>2021-08-23：早上发现买买提吃了一些猫粮，然后开始了一连串的体检，下午五点半左右，史医生进行了手术</li><li>2021-08-24：买买提刚动完手术，此时精神状态很好，X光发现食道巨大问题，同时发现胃胀气，下午买买提还吃了我买的巅峰罐头，晚上吃药，把药吐出来了</li><li>2021-08-25：检查炎症指标更高，同时买买提发烧了，史院长测了猫瘟（我在21号体检那天测过抗体，3级），显示阴性，同时进行了PCR核酸检测猫瘟，同时在我的要求下，注册了单克隆抗体</li><li>2021-08-26：买买提呼吸频率更快了，这个时候，史院长还是没查出病因，同时进行了猫传腹检测，中午才做了食道造影，才发现食道穿孔，下午进行了二次手术，修补食道，同时安排了专人守夜</li><li>2021-08-27：买买提装了鼻饲，这个时候已经进入了病危状态，凌晨12点多的时候，我发现抽出的液体有点红色，我在群里提出疑问，史院长不搭理，凌晨五点多，买买提休克死亡</li><li>2021-08-28：我觉得买买提太可怜了，就联系 <strong>TIANPET</strong> 把买买提接走，于下午4点多进行了火化</li><li>2021-09-01：我收到了买卖提的骨灰，我打算留着，等我死后，让它跟我一起下葬吧，或者过段时间我找个山清水秀的地方，把买买提的骨灰埋了，让它回归大自然</li></ul><h2 id="%E4%B9%B0%E4%B9%B0%E6%8F%90%E5%AF%B9%E6%B2%BB%E7%96%97%E8%BF%87%E7%A8%8B%E7%9A%84%E7%96%91%E9%97%AE" tabindex="-1">买买提对治疗过程的疑问</h2><p><strong>2021-08-29更新</strong></p><ol><li>史院长，在不知道买买提内部器官粘连，肺功能有没有严重丧失的情况下，进行开胸手术，只字不建议我进行CT检查，了解全面情况，直接进行手术，一切都源于他的自信，史院长应对买买提的死亡负主要责任</li><li>史院长没有类似的临床经验，X光发现食道巨大以后，还往猫瘟以及传腹的方向检查，延误了最好的治疗时机，延误病情，史院长也要承担一部分责任</li><li>史院长明知自己的设备不足以承担如此复杂的手术，您还是信口开河吃下了这台手术，丝毫没有作为一个医生的客观性，是的，你眼里只有钱，而没有买买提的生命</li><li>史院长风险告知不明确，聊天记录中可以看到，所有的风险，都是我付费咨询或者请教其他医生得出的结论，对史院长进行了请教，也就是说，史院长对于风险问题，只是凭借他盲目的自信觉得不会有问题，而买买提也是死在了他的自信心下，请问这符合一个医生的道德标准吗？</li><li>食道穿孔的问题，咨询别的兽医，都表示伤口过于整齐，不像是陈旧性伤口，所以本人怀疑是史院长技术不精导致的医疗事故</li><li>收费过于高，买买提从21号到27号死亡不到一周的时间，您给我的账单是两万八，你们觉得这合理吗?</li></ol><hr /><hr />]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[给高考结束的弟弟的一封信]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/gei-gao-kao-jie-shu-de-di-di-de-yi-feng-xin" />
                <id>tag:https://dandingkeji.top,2019-06-07:gei-gao-kao-jie-shu-de-di-di-de-yi-feng-xin</id>
                <published>2019-06-07T00:00:00+08:00</published>
                <updated>2022-09-07T10:42:04+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>有感而发</p></blockquote><p>亲爱的弟弟，你好，今天是六月七号，是端午节，也是你值得铭记一生的日子，是你的高考！出生21年以来，我从未给你写过一封信，现在的微信这么流行，哪有人写信啊，但是我觉得写信才能表达我的情感。是啊，你毕业了，人生第一道坎算是迈过去了，恭喜你，你即将步进大学的校门，我有几点建议要跟你说。</p><p>第一点，关于高考。这封信写于6月七号，但是你会在高考过后才会看到，因为我不想因为任何一点小事影响你的高考，其实我也是有点紧张的，毕竟你是我的老弟啊，但是我想对你说，高考只是人生的第一道坎，绝不是终点，考完以后你可以放下它，做你想做的事，比如旅行，跟同学聚会，因为高考过后的聚会，是你们聚的人数最全的一次了，以后你会发现，没有一次人聚的比这次还全了。老爸老妈为了你的考试也付出了很多，希望你能多陪陪他们–做完自己的事情以后，因为你会发现，这个假期是你待在家最多的假期了，以后上大学，回来的日子只会越来越少，工作了就更不用说了，一年只有那么几天回家！</p><p>第二点，关于专业的选择。我想这个问题你一定很想问我吧！当年，我还是一个什么都不懂的少年，听那些长辈们说的最多的是，这个专业火不火，赚不赚钱，冷不冷门，以后就业咋样。但是我想跟你说，这些都不重要，你都不用考虑它们！你应该问问自己的内心，我喜欢什么？有什么是我会一生喜欢并一直能干下去的的？当然，我知道你得出这个答案很难，因为你还年轻啊，人生的路并不能是你一次就决定好了，很可能你30以后，你可能就会干跟你专业无关的事。但是，咱别想的这么远，专业的选择，你一定要喜欢它，四年的时间，把它学好！好比老哥学的计算机，目前对我来说，追求技术，在我30岁之前是一直不会变得！</p><p>第三点，关于大学生活。上了大学，你会发现，你身边很多同学都颓废了，跟高中完全是两个样，上课睡觉，在宿舍打游戏，等等，于是，你在这种环境中也可能变得跟他们一样！他们会这样子，原因可能是，不喜欢现在的专业，老师讲课无聊等等！但是我想说的是，大学不是享乐的地方，是学习的场所，也许你高中压力很大，大学了想释放一下，这是没问题的，但是，请记住:大学只是刚刚开始而已，请一定要交优秀上进的朋友，向他们学习</p><p>好了，我想说的也就这些了，共勉，一起努力吧！</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Docker入门到实战]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/docker-ru-men-dao-shi-zhan" />
                <id>tag:https://dandingkeji.top,2019-01-14:docker-ru-men-dao-shi-zhan</id>
                <published>2019-01-14T12:00:00+08:00</published>
                <updated>2022-09-07T10:42:13+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>Docker入门到实战</p></blockquote><h2 id="%E9%95%9C%E5%83%8F" tabindex="-1">镜像</h2><h3 id="%E8%8E%B7%E5%8F%96%E9%95%9C%E5%83%8F" tabindex="-1">获取镜像</h3><pre><code class="language-dockerfile">docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]</code></pre><h3 id="%E5%88%97%E5%87%BA%E9%95%9C%E5%83%8F" tabindex="-1">列出镜像</h3><pre><code class="language-dockerfile">docker image ls</code></pre><p>查看镜像、容器、数据卷所占用的空间</p><pre><code class="language-dockerfile">docker system df</code></pre><p>显示虚悬镜像</p><pre><code class="language-dockerfile">docker image ls -f dangling=true</code></pre><p>显示中间层镜像</p><pre><code class="language-dockerfile">docker image ls -a</code></pre><p>根据仓库名列出镜像</p><pre><code class="language-dockerfile">docker image ls ubuntu</code></pre><p>列出特定的某个镜像，也就是指定仓库名和标签</p><pre><code class="language-dockerfile">docker image ls ubuntu:18.04</code></pre><p>列出在某个镜像构建之前/之后的镜像</p><pre><code class="language-dockerfile">docker image ls -f since/before=ubuntu:18.04</code></pre><p>通过<code>LABEL</code>来过滤</p><pre><code class="language-dockerfile">docker image ls -f label=com.expamle.version=0.1</code></pre><p>以特定格式显示</p><pre><code class="language-dockerfile">//显示所有镜像iddocker image ls -q</code></pre><pre><code class="language-dockerfile">docker image ls --format &quot;{{.ID}}:{{.Repository}}&quot;//或者以表格方式显示docker image ls --format &quot;table {{.ID}}\t{{.Repository}}\t{{.Tag}}&quot;</code></pre><h3 id="%E5%88%A0%E9%99%A4%E6%9C%AC%E5%9C%B0%E9%95%9C%E5%83%8F" tabindex="-1">删除本地镜像</h3><pre><code class="language-dockerfile">docker image rm [选项] &lt;镜像1&gt; [&lt;镜像2&gt; ...]</code></pre><p>根据短id删除镜像</p><pre><code class="language-dockerfile">docker image rm 501</code></pre><p>根据<code>&lt;仓库名&gt;:&lt;标签&gt;</code>删除镜像</p><pre><code class="language-dockerfile">docker image rm ubuntu</code></pre><p>使用<code>镜像摘要</code>删除镜像</p><pre><code class="language-dockerfile">docker image ls --digestsdocker image rm node@sha256:b4f0e0bdeb578043c1ea6...</code></pre><p>使用docker image ls 批量删除镜像</p><pre><code class="language-dockerfile">docker image rm $(docker image ls -q ubuntu )</code></pre><p>删除所有在 <code>mongo:3.2</code> 之前的镜像：</p><pre><code class="language-dockerfile">docker image rm $(docker image ls -q -f before=mongo:3.2)</code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[ng-alain安装遇到的一些坑]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/ng-alain-an-zhuang-yu-dao-de-yi-xie-keng" />
                <id>tag:https://dandingkeji.top,2019-01-01:ng-alain-an-zhuang-yu-dao-de-yi-xie-keng</id>
                <published>2019-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:42:24+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>ng-alain安装</p></blockquote><h2 id="%E5%AE%89%E8%A3%85" tabindex="-1">安装</h2><p>官方CLI安装：</p><pre><code class="language-typescript"># 确保使用的是最新版本 Angular cling new my-project --style lesscd my-projectng add ng-alain# 如果你想创建一个英文版本，则：ng add ng-alain --defaultLanguage=enng serve</code></pre><p>这里有一个坑，直接安装会生成package-lock.json的文件，安装会失败</p><p>正确CLI安装方式：</p><pre><code class="language-typescript"># 确保使用的是最新版本 Angular cling new my-project --style lesscd my-projectyarn install   #先把依赖包安装好再安装ag-alain,这样就不会生成lock文件导致无法安装ng add ng-alain# 如果你想创建一个英文版本，则：ng add ng-alain --defaultLanguage=enng serve</code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[prisma后端框架基本使用]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/prisma-hou-duan-kuang-jia-ji-ben-shi-yong" />
                <id>tag:https://dandingkeji.top,2019-01-01:prisma-hou-duan-kuang-jia-ji-ben-shi-yong</id>
                <published>2019-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:42:44+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>prisma后端框架基本使用</p></blockquote><h2 id="%E9%87%8D%E7%82%B9" tabindex="-1">重点</h2><ul><li>定义：GraphQL 是一个用于 API 的查询语言，是一个使用基于类型系统来执行查询的服务端运行时（类型系统由你的数据定义）</li><li>prisma logout</li><li>prisma account</li><li>prisma help</li><li>Prisma API基于数据模型进行部署，并为该文件中的每个模型公开CRUD和实时操作。</li><li>prisma generate</li><li>schema概念：**也是定义各种数据模型，有三个东西Query,Mutation,Subscribtion，决定resolver有哪些</li><li>datamodel概念：<strong>定义底层数据库模式和表</strong></li><li>resolvers概念：定义前端接口</li></ul><h2 id="datamodel.prisma" tabindex="-1">datamodel.prisma</h2><ul><li><p><a href="https://prisma.1wire.com/docs/part2#%E5%AF%B9%E8%B1%A1%E7%B1%BB%E5%9E%8B" target="_blank">Types</a>由多个<a href="https://prisma.1wire.com/docs/part2#%E5%AD%97%E6%AE%B5" target="_blank">fields字段</a>组成，通常表示应用程序中的实体(例如<code>User</code>，<code>Car</code>，<code>Order</code>)。数据模型中的每种类型都映射到数据库表(或无模式数据库的等效结构)，并且将CRUD操作添加到GraphQL schema中。</p></li><li><p><a href="https://prisma.1wire.com/docs/part2#relations" target="_blank">Relations</a>描述类型之间的<em>relationship关系</em>。</p></li><li><p><a href="https://prisma.1wire.com/docs/part2#graphql%E6%8C%87%E4%BB%A4" target="_blank">Directives</a>指令涵盖不同的用例，例如类型约束或级联删除行为。</p></li><li><p><a href="http://graphql.org/learn/schema/#interfaces" target="_blank">Interfaces</a>是抽象类型，包括一组字段，类型必须包含在<em>implement</em>接口中。接口目前不适用于Prisma中的数据建模，但将来会支持<a href="https://github.com/prisma/prisma/issues/83" target="_blank">待实现功能</a>。</p></li><li><p><code>@unique</code>指令表示<em>唯一约束</em>，这意味着Prisma会自动确保永远不会有两条数据具有相同的值，比如说id或手机号不会相同从而造成重复注册。</p></li><li><p>应用程序schema只需要写你能用到的，或去掉危险操作比如删除所有用户这种。</p></li></ul><h2 id="api%E6%93%8D%E4%BD%9C" tabindex="-1">API操作</h2><ul><li>Query允许你获取该类型的一个或多个节点</li><li>Mutations允许你创建，更新或删除该类型的节点</li><li>Subscriptions可以让你收到有关该类型节点更改的实时通知(即新节点是<em>created</em>或现有节点是<em>updated</em>或<em>deleted</em>)</li><li><code>onDelete</code>:指定<em>删除行为deletion behaviour</em>并启用<em>级联删除cascading deletes</em>。在具有相关节点的节点被删除的情况下，删除行为确定相关节点应该发生什么。此参数的输入值定义为具有以下可能值的枚举:    - <code>SET_NULL</code>(默认值):将相关节点设置为&quot;null&quot;。    - <code>CASCADE</code>:删除相关节点。请注意，无法将双向关系的<em>两</em>端都设置为&quot;CASCADE&quot;。</li></ul><h2 id="prisma-client" tabindex="-1">PRISMA CLIENT</h2><ul><li>更新和删除多条记录：<code>createdAt_lte: &quot;2018&quot;</code>2018年之前</li><li><code>createdAt_gt:2017</code>：大于2017</li><li><code>createdAt_lt: &quot;2019&quot;</code>：小于2019</li><li><code>prisma playground</code>命令</li></ul>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[angular组件的基本使用]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/angular-zu-jian-de-ji-ben-shi-yong" />
                <id>tag:https://dandingkeji.top,2019-01-01:angular-zu-jian-de-ji-ben-shi-yong</id>
                <published>2019-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:42:35+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>angular组件的基本使用</p></blockquote><h2 id="%E7%BB%84%E4%BB%B6" tabindex="-1">组件</h2><h3 id="%E7%BB%84%E4%BB%B6%E6%A8%A1%E6%9D%BF" tabindex="-1">组件模板</h3><ul><li><p>ng generate component xxx  新建组件(大驼峰命名)</p></li><li><p>属性绑定</p><pre><code class="language-typescript">&lt;img [src]=&quot;imgSrc&quot; /&gt;    public imgSrc:string=&quot;./assets/imgs/1.jpg&quot;;</code></pre></li><li><p>事件绑定</p><pre><code class="language-typescript">&lt;button class=&quot;btn btn-success&quot; (click)=&quot;btnClick($event)&quot;&gt;测试事件&lt;/button&gt;public btnClick(event):void{    alert(&quot;测试事件绑定！&quot;);}</code></pre></li><li><p>双向绑定</p><pre><code class="language-typescript">&lt;font-resizer [(size)]=&quot;fontSizePx&quot;&gt;&lt;/font-resizer&gt;public fontSizePx:number=14;</code></pre></li><li><p>结构型指令</p><ul><li><p>*ngIf</p><pre><code class="language-typescript">&lt;p *ngIf=&quot;isShow&quot; style=&quot;background-color:#ff3300&quot;&gt;显示还是不显示？&lt;/p&gt;&lt;button class=&quot;btn btn-success&quot; (click)=&quot;toggleShow()&quot;&gt;控制显示隐藏&lt;/button&gt;public isShow:boolean=true;public toggleShow():void{    this.isShow=!this.isShow;}</code></pre></li><li><p>*ngFor</p><pre><code class="language-typescript">&lt;li *ngFor=&quot;let race of races;let i=index;&quot;&gt;    {{i+1}}-{{race.name}}&lt;/li&gt;public races:Array&lt;any&gt;=[    {name:&quot;人族&quot;},    {name:&quot;虫族&quot;},    {name:&quot;神族&quot;}];</code></pre></li><li><p>*ngSwitch[匹配值]</p><pre><code class="language-typescript">&lt;div [ngSwitch]=&quot;mapStatus&quot;&gt;    &lt;p *ngSwitchCase=&quot;0&quot;&gt;下载中...&lt;/p&gt;    &lt;p *ngSwitchCase=&quot;1&quot;&gt;正在读取...&lt;/p&gt;    &lt;p *ngSwitchDefault&gt;系统繁忙...&lt;/p&gt;&lt;/div&gt;public mapStatus:number=1;</code></pre></li></ul></li><li><p>属性型指令</p><ul><li><p>NgClass</p><pre><code class="language-typescript">&lt;div [ngClass]=&quot;currentClasses&quot;&gt;同时批量设置多个样式&lt;/div&gt;&lt;button class=&quot;btn btn-success&quot; (click)=&quot;setCurrentClasses()&quot;&gt;设置&lt;/button&gt;public currentClasses: {};public canSave: boolean = true;public isUnchanged: boolean = true;public isSpecial: boolean = true;setCurrentClasses() {    this.currentClasses = {        &#39;saveable&#39;: this.canSave,        &#39;modified&#39;: this.isUnchanged,        &#39;special&#39;: this.isSpecial    };}.saveable{    font-size: 18px;} .modified {    font-weight: bold;}.special{    background-color: #ff3300;}</code></pre></li><li><p>NgStyle</p><pre><code class="language-typescript">&lt;div [ngStyle]=&quot;currentStyles&quot;&gt;    用 NgStyle 批量修改内联样式！&lt;/div&gt;&lt;button class=&quot;btn btn-success&quot; (click)=&quot;setCurrentStyles()&quot;&gt;设置&lt;/button&gt;public currentStyles: {}public canSave:boolean=false;public isUnchanged:boolean=false;public isSpecial:boolean=false;setCurrentStyles() {    this.currentStyles = {        &#39;font-style&#39;:  this.canSave      ? &#39;italic&#39; : &#39;normal&#39;,        &#39;font-weight&#39;: !this.isUnchanged ? &#39;bold&#39;   : &#39;normal&#39;,        &#39;font-size&#39;:   this.isSpecial    ? &#39;36px&#39;   : &#39;12px&#39;    };}</code></pre></li><li><p>NgModel</p><pre><code class="language-typescript">&lt;p class=&quot;text-danger&quot;&gt;ngModel 只能用在表单类的元素上面 &lt;/p&gt;    &lt;input [(ngModel)]=&quot;currentRace.name&quot;&gt;&lt;p&gt;{{currentRace.name}}&lt;/p&gt;public currentRace:any={name:&quot;随机种族&quot;};</code></pre></li></ul></li><li><p>管道</p><pre><code class="language-typescript">{{currentTime | date:&#39;yyyy-MM-dd HH:mm:ss&#39;}}public currentTime: Date = new Date();</code></pre><p>常用管道</p><p><img src="https://raw.githubusercontent.com/tangchunwei/MyImage/master/angular/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20181127171552.png" alt="微信图片_20181127171552" /></p></li></ul><h3 id="%E7%BB%84%E4%BB%B6%E9%97%B4%E7%9A%84%E9%80%9A%E8%AE%AF" tabindex="-1">组件间的通讯</h3><ul><li><p>通讯方案</p><ul><li>直接的父子关系，父组件直接访问子组件的 public 属性和方法</li><li>直接的父子关系，借助于 @Input 和 @Output 进行通讯</li><li>没有直接关系，借助于 Service 单例进行通讯</li><li>利用 cookie 和 localstorage 进行通讯</li><li>利用 Session 进行通讯</li></ul></li><li><p>直接调用</p><ul><li><p>父组件访问子组件方法</p><pre><code class="language-typescript">//子组件定义一个public的方法,父组件直接调用//子组件  public children():void{    alert(&quot;I am a children&quot;);  }//父组件模板&lt;app-child  #child&gt;&lt;/app-child&gt;&lt;button (click)=&quot;child.children()&quot; class=&quot;btn btn-success&quot;&gt;直接调用子组件&lt;/button&gt;</code></pre></li><li><p>父组件导入子组件直接访问</p><pre><code class="language-typescript">//子组件@ViewChild(ChildComponent)private childComponent: ChildComponent;</code></pre></li></ul></li><li><p>@Input 和 @Output</p><ul><li><p>@Input ,在父组件设置子组件的属性</p><pre><code class="language-typescript">//子组件@Input()public panelTitle:string;//父组件上可以这样设置 panelTitle 这个参数&lt;child panelTitle=&quot;一个新的标题&quot;&gt;&lt;/child&gt;</code></pre></li><li><p>@Output</p><ul><li><p>子组件调用父组件的事件</p><pre><code class="language-typescript">//子组件(click)=&quot;emitAnEvent()&quot;  @Output()  public follow=new EventEmitter&lt;string&gt;();  public emitAnEvent(event):void{    this.follow.emit(&#39;follow&#39;)  }//父组件 (follow)=&quot;doSomething()&quot;</code></pre></li></ul></li></ul></li><li><p>利用 Service 单例进行通讯</p></li><li><p>利用 cookie 或者 localstorage 进行通讯</p></li><li><p>利用 Session 进行通讯</p></li></ul><h2 id="%E6%B3%A8%E6%84%8F" tabindex="-1">注意</h2><ul><li>组件模板-双向绑定   [()]</li><li>发布ng build --prod(压缩代码) --source-map 帮助调试</li><li>ng test 单元测试</li><li>项目检出,git checkout template</li></ul>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[css3之3D转换]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/css3-zhi-3d-zhuan-huan" />
                <id>tag:https://dandingkeji.top,2018-01-01:css3-zhi-3d-zhuan-huan</id>
                <published>2018-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:43:12+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>css3的3D转换，很有意思的一个特效</p></blockquote><h2 id="%E7%94%A8%E5%88%B0%E7%9A%84%E5%B1%9E%E6%80%A7" tabindex="-1">用到的属性</h2><ol><li>transform: rotateX(-175deg);沿着x轴旋转</li><li>transform: rotateY(-70deg);沿着y轴旋转</li><li>transform: rotateZ(360deg);沿着z轴旋转</li><li>perspective: 1000px; 规定眼睛距离元素的距离</li><li>transform-style: preserve-3d;作用是让该元素中的所有转换元素显示成3D效果</li><li>background-position;设置背景图像的起始位置</li></ol><h2 id="%E5%AE%9E%E7%8E%B0%E7%9A%84%E6%95%88%E6%9E%9C" tabindex="-1">实现的效果</h2><p><img src="https://raw.githubusercontent.com/tangchunwei/MyImage/master/3D%E8%BD%AC%E6%8D%A2%E6%95%88%E6%9E%9C.gif" alt="image" /></p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;meta charset=&quot;UTF-8&quot;&gt;&lt;title&gt;Document&lt;/title&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;./css/font-awesome.min.css&quot;&gt;&lt;style&gt;html,body,ul{margin: 0;padding: 0;}.carousel{position: relative;width: 560px;height: 300px;box-shadow: 0 0 1px #ccc;margin: 100px auto;}ul{list-style: none;width: 560px;height: 300px;}li{float: left;position: relative;width: 112px;height: 100%;transform-style: preserve-3d;transition: all 1s;}span{position: absolute;top: 0;left: 0;width: 100%;height: 100%;}span:nth-child(1){transform: translateZ(150px);background-image: url(./images/1.jpg);}span:nth-child(2){transform: rotateX(90deg) translateZ(150px);background-image: url(./images/2.jpg);}span:nth-child(3){transform: rotateX(180deg) translateZ(150px);background-image: url(./images/3.jpg);}span:nth-child(4){transform: rotateX(270deg) translateZ(150px);background-image: url(./images/4.jpg);}li:nth-child(2) span{background-position: -112px;}li:nth-child(3) span{background-position: -224px;}li:nth-child(4) span{background-position: -336px;}li:nth-child(5) span{background-position: -448px;}li:nth-child(2){transition-delay: 0.25s;}li:nth-child(3){transition-delay: 0.5s;}li:nth-child(4){transition-delay: 0.75s;}li:nth-child(5){transition-delay: 1s;}.carousel a{text-decoration: none;position: absolute;top: 50%;transform: translateY(-50%);color:#fff;font-size: 40px;}a.prev{left: 0;}a.next{right: 0;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;div class=&quot;carousel&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;javascript:;&quot; class=&quot;prev fa fa-chevron-left&quot;&gt;&lt;/a&gt;&lt;a href=&quot;javascript:;&quot; class=&quot;next fa fa-chevron-right&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;script&gt;// 获取元素 两个按钮  li var aLi=document.querySelectorAll(&#39;li&#39;);var prev=document.querySelector(&#39;.prev&#39;);var next=document.querySelector(&#39;.next&#39;);var lastLi=document.querySelector(&#39;li:last-child&#39;);var flag=true;lastLi.addEventListener(&quot;transitionend&quot;,function(){flag=true;})var num=0;// 给按钮添加点击事件prev.onclick=function(){if(flag==false){return;}flag=false;num++;// 遍历所有li 并且给每个li添加样式for(var i=0;i&lt;aLi.length;i++){aLi[i].style.transform=&quot;rotateX(&quot;+num*90+&quot;deg)&quot;;}}next.onclick=function(){if(flag==false){return;}flag=false;num--;// 遍历所有li 并且给每个li添加样式for(var i=0;i&lt;aLi.length;i++){aLi[i].style.transform=&quot;rotateX(&quot;+num*90+&quot;deg)&quot;;}}&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[css3的一些新属性总结]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/css3-de-yi-xie-xin-shu-xing-zong-jie" />
                <id>tag:https://dandingkeji.top,2018-01-01:css3-de-yi-xie-xin-shu-xing-zong-jie</id>
                <published>2018-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:43:51+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>最近在学习html5以及css3,在这里记录一下学到的一些新的属性，部分内容来自：<a href="http://www.w3school.com.cn" target="_blank">http://www.w3school.com.cn</a></p></blockquote><h2 id="box-sizing%E7%9B%92%E5%AD%90%E5%B0%BA%E5%AF%B8" tabindex="-1">box-sizing盒子尺寸</h2><p>box-sizing规定了盒子的计算方式，常用于消除hover时，盒子之间的影响，有三个属性：</p><pre><code class="language-html">box-sizing: content-box|border-box|inherit</code></pre><p>content-box：默认值，表示盒子的尺寸为加上边框以及内边距之后的大小<br />border-box：规定了盒子的大小就是盒子的width以及height<br />inherit：表示盒子继承父元素box-sizing的值，示例代码：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;Document&lt;/title&gt;  &lt;style&gt;      .box{        width: 200px;        height: 200px;        border: 20px solid red;        padding: 20px;        background-color: yellow;        /*此时盒子尺寸为宽度加高度加内边距加边框，为280x280*/        /*box-sizing: content-box;*/        /*此时盒子尺寸为width以及height的值，为200x200*/        box-sizing: border-box;      }  &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="background-image%E5%A4%9A%E8%83%8C%E6%99%AF" tabindex="-1">background-image多背景</h2><p>background-image可以设置多背景，常用于把一张图切成几张图，当成背景，用于网站图片加载可以减轻网站的访问压力，用法如下：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;多背景&lt;/title&gt;    &lt;style&gt;        .box{          width: 623px;          height: 417px;          background-repeat: no-repeat;          /*多张图片用逗号隔开*/          background-image: url(images/bg1.png),                            url(images/bg2.png),                            url(images/bg3.png),                            url(images/bg4.png),                            url(images/bg5.png);          background-position: left top,                              right top,                              right bottom,                              left bottom,                              center center;        }    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;    &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="background-size%E8%83%8C%E6%99%AF%E5%B0%BA%E5%AF%B8" tabindex="-1">background-size背景尺寸</h2><p>background-size可以实现修改背景的尺寸</p><pre><code class="language-html">background-size: length|percentage|cover|contain;</code></pre><p>length：表示可以用长度宽度设置背景的尺寸<br />percentage：表示可以用百分比设置背景的尺寸<br />以上两种一般是设置两个值，如果只设置一个值，则另一个值为自动<br />cover：保证图片填充满元素，不管图片是否完整<br />contain：保证图片完整显示，不保证是否填充满元素,示例代码：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;Document&lt;/title&gt;  &lt;style&gt;    .box {      width: 500px;      height: 500px;      box-shadow:  0 0 1px #000;      background-image: url(&quot;./images/1.jpg&quot;);      background-repeat: no-repeat;      background-size: contain;    }  &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="background-origin%E8%83%8C%E6%99%AF%E5%8E%9F%E7%82%B9" tabindex="-1">background-origin背景原点</h2><p>background-origin规定了background-position定位的位置</p><pre><code class="language-html">background-origin: padding-box|border-box|content-box;</code></pre><p>border-box:从边框开始定位<br />padding-box:从内边距开始定位<br />content-box:从盒子内容开始定位，示例代码：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;Document&lt;/title&gt;  &lt;style&gt;    .box {      width: 400px;      height: 400px;      border: 20px solid rgba(255,0,0,0.5);      padding: 20px;       background-repeat: no-repeat;      background-image: url(&quot;./images/54.jpg&quot;);      background-origin: content-box;    }    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="background-clip%E8%83%8C%E6%99%AF%E8%A3%81%E5%88%87" tabindex="-1">background-clip背景裁切</h2><p>background-clip控制背景显示多大的区域</p><pre><code class="language-html">background-clip: border-box|padding-box|content-box;</code></pre><p>border-box:控制图片在border以内的区域也显示<br />padding-box:控制图片在padding以内的区域也显示<br />content-box:控制图片在内容以内的区域显示，示例代码：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;Document&lt;/title&gt;  &lt;style&gt;    .box {      width: 363px;      height: 219px;      border: 20px solid rgba(255, 0, 0, 0.5);      padding: 20px;      background-repeat: no-repeat;      background-origin: border-box;      background-image: url(&quot;./images/54.jpg&quot;);      background-clip: content-box;    }  &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="transition%E8%BF%87%E6%B8%A1" tabindex="-1">transition过渡</h2><p>过渡: 就是给改变添加过程</p><pre><code class="language-html">transition: property duration timing-function delay;</code></pre><p>transition-property:规定设置过渡效果的 CSS 属性的名称。<br />transition-duration：规定完成过渡效果需要多少秒或毫秒。<br />transition-timing-function：规定速度效果的速度曲线。<br />transition-delay：定义过渡效果何时开始。代码如下;</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;过渡&lt;/title&gt;  &lt;style&gt;      .box {        width: 20px;        height: 80px;        background-color: red;        /*简单写法*/        /*transition: all 1s;*/        /*专业写法*/        transition-property:width;        transition-duration: 1s;        transition-delay: 1s;        transition-timing-function: ease-in;        /* linear 线性  匀速运动 */        /* ease   先快后慢 */        /* ease-in-out  先慢 后快 最后慢 */        /* ease-out  越来越慢 */        /* ease-in   越来越快 */      }      .box:hover {        width: 800px;        background-color: green;      }  &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="transform-2d%E8%BD%AC%E6%8D%A2" tabindex="-1">transform 2D转换</h2><p>transform方法有很多，下面介绍几种最基础的：</p><pre><code class="language-html">transform: translate(x,y);位置偏移，参数为偏移的距离transform:  rotate(0deg);角度偏移，参数为旋转角度，正负对应顺逆时针transform: scale(0.5);缩放转换，参数大于1则放大，小于1则缩小transform-origin：left top;设置转换原点，参数可以是px或者百分比transform: skew(x, y);参数分别问沿着x轴以及y轴倾斜的角度</code></pre><p>示例代码如下：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;Document&lt;/title&gt;  &lt;style&gt;      .box {        width: 200px;        height: 200px;        background-color: red;        transform:rotate(100deg);      }      .box2 {        width: 200px;        height: 200px;        background-color: red;         transform: translate(200px, 300px);      }      .box3 {        width: 200px;        height: 200px;        background-color: red;        transition: all 2s;      }      .box3:hover{        width: 200px;        height: 200px;        background-color: red;        transform: scale(0.5);      }      .box4{        position: absolute;        top: 50%;        left: 50%;        margin-left: -155px;        margin-top: -219px;        width: 310px;        height: 438px;      }      img{      width: 200px;      position: absolute;      bottom: 0;      left: 0;      box-shadow:  0 0 1px #f7f7f7;      transition: all 1s;      transform-origin: left top;      }      .box4:hover img:nth-child(1){        transform: rotate(60deg);      }      .box4:hover img:nth-child(2){        transform: rotate(120deg);      }      .box4:hover img:nth-child(3){        transform: rotate(180deg);      }      .box4:hover img:nth-child(4){        transform: rotate(240deg);      }      .box4:hover img:nth-child(5){        transform: rotate(300deg);      }      .box4:hover img:nth-child(6){        transform: rotate(360deg);      }      .box5{        width: 300px;        height: 300px;        background-color: yellow;        margin-left: 1100px;        transform: skew(152deg,60deg);      }  &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;&lt;/div&gt;  &lt;div class=&quot;box2&quot;&gt;&lt;/div&gt;  &lt;div class=&quot;box3&quot;&gt;&lt;/div&gt;  &lt;div class=&quot;box4&quot;&gt;    &lt;img src=&quot;./images/pk1.png&quot; alt=&quot;&quot;&gt;    &lt;img src=&quot;./images/pk1.png&quot; alt=&quot;&quot;&gt;    &lt;img src=&quot;./images/pk1.png&quot; alt=&quot;&quot;&gt;    &lt;img src=&quot;./images/pk1.png&quot; alt=&quot;&quot;&gt;    &lt;img src=&quot;./images/pk1.png&quot; alt=&quot;&quot;&gt;    &lt;img src=&quot;./images/pk1.png&quot; alt=&quot;&quot;&gt;  &lt;/div&gt;  &lt;div class=&quot;box5&quot;&gt;      66666666666666666666666  &lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre><h2 id="%E5%8A%A8%E7%94%BB" tabindex="-1">动画</h2><p>@keyframes:mymove 5s infinite <strong>自定义动画名称</strong>，<br />animation  <strong>将动画与 div 元素绑定</strong>，<br />animation-iteration-count,<strong>控制动画的次数,infinite无数次</strong>，<br />animation-delay  <strong>控制动画开始时间</strong>，<br />animation-play-state <strong>控制动画状态， paused(暂停) running(继续)</strong><br />animation-direction: normal|alternate <strong>控制动画播放是否循环</strong>，<br />animation-fill-mode:forwards;<strong>控制动画结束时的状态     backwards(回到动画的初始状态) forwards(停留在动画的结束状态)</strong><br />示例代码：</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;Document&lt;/title&gt;  &lt;style&gt;    .box {      position: relative;      width: 500px;      height: 500px;      border: 2px solid red;      margin: 50px auto;    }    i {      position: absolute;      top: -9px;      left: -9px;      width: 18px;      height: 18px;      background-color: chartreuse;      border-radius: 50%;      animation: move 3s;l          }    @keyframes move{      0% {          transform: translate(0px,0px );      }      100%{          transform: translate(500px,0px );      }    }  &lt;/style&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;box&quot;&gt;    &lt;i&gt;&lt;/i&gt;  &lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[正则表达式常用语法总结]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/zheng-ze-biao-da-shi-chang-yong-yu-fa-zong-jie" />
                <id>tag:https://dandingkeji.top,2018-01-01:zheng-ze-biao-da-shi-chang-yong-yu-fa-zong-jie</id>
                <published>2018-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:43:41+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本</p></blockquote><h2 id="%E6%99%AE%E9%80%9A%E5%AD%97%E7%AC%A6" tabindex="-1">普通字符</h2><ul><li>字母、数字、标点符号、键盘特殊符号等</li></ul><h2 id="%E5%AE%9A%E4%B9%89%E5%AD%97%E7%AC%A6%E9%9B%86" tabindex="-1">定义字符集</h2><ol><li>[a-z]    <strong>匹配 26 个字母之一</strong></li><li>[aeiou]   <strong>匹配 aeiou 这 5 个字符其中的某一个字符</strong></li><li>[a-zA-Z]   <strong>匹配 26 个(大小写)字母中的某一个字母</strong></li><li>[a-zA-Z0-9_-]  <strong>匹配(大小写)字母、数字、下划线、中横线 的某一个字符</strong></li><li>[0-9]   <strong>匹配 0 到 9 之间任意一个数字</strong></li><li>[9-3]  [z-a]  <strong>不能从大往小写，有语法错误</strong></li></ol><h2 id="shiy-%E7%89%B9%E5%88%AB%E5%AD%97%E7%AC%A6%E9%9B%86" tabindex="-1">shiy 特别字符集</h2><ol><li>$  <strong>匹配输入字符串的结尾位置（regexBuddy中待测试文本中多行算作一行）</strong></li><li>^ (托字符)   <strong>匹配字符串的开始位置(托字符)</strong></li><li>( )    <strong>匹配一个子表达式的开始和结束位置，模式单元</strong></li><li>*    <strong>匹配其前面那个单元出现 0 次或以上（任意次数）</strong></li><li>+     <strong>匹配其前面那个单元出现 1 次或以上</strong></li><li>?      <strong>匹配其前面那个单元出现 0 次或 1 次</strong></li><li>.点     <strong>匹配除换行符 \n 之外的任何单字符  .</strong>*</li><li>\      <strong>这个符号是用来转义的</strong></li><li>|      <strong>指明两项之间的一个选择</strong></li></ol><h2 id="%E7%BB%84%E5%90%88%E5%AD%97%E7%AC%A6%E9%9B%86" tabindex="-1">组合字符集</h2><ol><li>\d     <strong>匹配数字 0 到 9 之一，与[0-9]效果一样</strong></li><li>\D     <strong>匹配非数字[^0-9]之一</strong></li><li>\w     <strong>匹配(大小写)字母、数字、下划线其中一个，与[a-zA-Z0-9_]效果相同</strong></li><li>\W     <strong>匹配非字母、数字、下划线之一</strong></li><li>\s     <strong>匹配一个空格</strong></li><li>\S     <strong>匹配一个非空格</strong></li><li>\b    <strong>匹配单词的开始或结束</strong></li></ol><h2 id="%E9%99%90%E5%88%B6%E5%AD%97%E7%AC%A6%E9%9B%86" tabindex="-1">限制字符集</h2><ol><li>{m}   <strong>匹配其前一单元严格出现 m 次</strong></li><li>{m,}    <strong>匹配其前一单元出现至少m次，至多不限制,{0,}相等于*，{1,}相等于+</strong></li><li>{m,n}   <strong>匹配其前一单元出现至少 m，至多 n 次</strong></li><li>[^lsjd]   <strong>匹配非 lsjd 之中的字符</strong></li><li>[^a-f]   <strong>匹配非 a 到 f 之间的一个字符</strong></li><li><strong>[^定义字符集] 不给匹配定义字符集里边的信息</strong></li></ol><h2 id="%E6%A8%A1%E5%BC%8F%E4%BF%AE%E6%AD%A3%E7%AC%A6" tabindex="-1">模式修正符</h2><ol><li>g  <strong>全文查找出现的所有 正在模式内容 （全局匹配） (php 中可以使用 preg_match_all()函数限制全局匹配)</strong></li><li>i  <strong>忽略大小写</strong></li><li>m <strong>将匹配内容视为多行</strong></li><li>/u <strong>表示按 unicode(utf-8)匹配（主要针对多字节比如汉字）</strong></li><li>/s <strong>表示将字符串视为单行来匹配</strong></li></ol><h2 id="%E8%B4%AA%E5%A9%AA%E6%A8%A1%E5%BC%8F%E8%BD%AC%E9%9D%9E%E8%B4%AA%E5%A9%AA%E6%A8%A1%E5%BC%8F" tabindex="-1">贪婪模式转非贪婪模式</h2><p><strong>通过在 *、+ 或 ? 限定符之后放置?，该表达式从&quot;贪心&quot;表达式转换为&quot;非贪心&quot;表达式或者最小匹配</strong></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[html5之自定义视频播放器]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/html5-zhi-zi-ding-yi-shi-pin-bo-fang-qi" />
                <id>tag:https://dandingkeji.top,2018-01-01:html5-zhi-zi-ding-yi-shi-pin-bo-fang-qi</id>
                <published>2018-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:45:18+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>自定义样式的视频播放器</p></blockquote><h2 id="%E6%95%88%E6%9E%9C" tabindex="-1">效果</h2><p><img src="https://raw.githubusercontent.com/tangchunwei/MyImage/master/h5%E6%92%AD%E6%94%BE%E5%99%A8.png" alt="image" /></p><h2 id="%E4%BB%A3%E7%A0%81" tabindex="-1">代码</h2><pre><code class="language-javascript">&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;  &lt;meta charset=&quot;UTF-8&quot;&gt;  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;  &lt;title&gt;自定义视频播放器&lt;/title&gt;  &lt;!-- 所有的库一定都在当前页面的css的前面 --&gt;  &lt;link rel=&quot;stylesheet&quot; href=&quot;./css/font-awesome.min.css&quot;&gt;  &lt;!-- &lt;link rel=&quot;stylesheet&quot; href=&quot;./css/font-awesome.css&quot;&gt; --&gt;  &lt;link rel=&quot;stylesheet&quot; href=&quot;./css/main.css&quot;&gt;&lt;/head&gt;&lt;body&gt;  &lt;div class=&quot;player&quot;&gt;    &lt;!-- 视频 --&gt;    &lt;video src=&quot;./movie/movie02.mp4&quot; width=&quot;100%&quot; height=&quot;100%&quot;&gt;      &lt;!-- &lt;source src=&quot;./movie//movie02.mp4&quot;&gt; --&gt;    &lt;/video&gt;    &lt;!-- 控制菜单 --&gt;    &lt;div class=&quot;controls&quot;&gt;      &lt;!-- 播放按钮 --&gt;      &lt;a href=&quot;javascript:;&quot; class=&quot;play-btn fa fa-play-circle-o&quot;&gt;&lt;/a&gt;      &lt;!-- 进度条 --&gt;      &lt;div class=&quot;progress&quot;&gt;        &lt;div class=&quot;progress-bar&quot; style=&quot;width: 0%&quot;&gt;&lt;/div&gt;      &lt;/div&gt;      &lt;!-- 播放时间 --&gt;      &lt;div class=&quot;time&quot;&gt;        &lt;span class=&quot;current&quot;&gt;00:00:00&lt;/span&gt;/        &lt;span class=&quot;total&quot;&gt;00:00:00&lt;/span&gt;      &lt;/div&gt;      &lt;!-- 全屏按钮 --&gt;      &lt;a href=&quot;javascript:;&quot; class=&quot;fullscreen fa fa-expand&quot;&gt;&lt;/a&gt;    &lt;/div&gt;  &lt;/div&gt;  &lt;script&gt;    // 功能:    // 1.视频的播放与暂停(图标变化)    // 2.总时间的显示    // 3.当前时间的显示(进度)    // 4.进度条的显示    // 5.跳跃播放    // 6.全屏    // 下面开始实现功能：    // 1.视频的播放与暂停(图标变化)    // 获取视频以及按钮    var video=document.querySelector(&quot;video&quot;);    var btn=document.querySelector(&quot;.play-btn&quot;);    btn.addEventListener(&quot;click&quot;,function(){      // 判断视频状态并改变按钮      if(video.paused){        video.play();        // this.classList.toggle(&quot;fa-pause-circle-o&quot;);        this.classList.remove(&quot;fa-play-circle-o&quot;);        this.classList.add(&quot;fa-pause-circle-o&quot;);      }else{        video.pause();        this.classList.remove(&quot;fa-pause-circle-o&quot;);        this.classList.add(&quot;fa-play-circle-o&quot;);      }    });    // 2.总时间的显示    // 获取总时间的按钮    var total=document.querySelector(&quot;.total&quot;);    video.oncanplay=function(){      var h=Math.floor(video.duration/3600);      var m=Math.floor(video.duration/60-(h*60));      var s=Math.floor(video.duration%60);      h=h&lt;10?&#39;0&#39;+h:h;      m=m&lt;10?&#39;0&#39;+m:m;      s=s&lt;10?&#39;0&#39;+s:s;      total.innerHTML=h+&#39;:&#39;+m+&#39;:&#39;+s;    }    // 获取当前时间    var current=document.querySelector(&quot;.current&quot;);    // 获取进度条    var progressBar = document.querySelector(&quot;.progress-bar&quot;);    video.ontimeupdate=function(){      var h=Math.floor(video.currentTime/3600);      var m=Math.floor(video.currentTime/60-(h*60));      var s=Math.floor(video.currentTime%60);      h=h&lt;10?&#39;0&#39;+h:h;      m=m&lt;10?&#39;0&#39;+m:m;      s=s&lt;10?&#39;0&#39;+s:s;      current.innerHTML=h+&#39;:&#39;+m+&#39;:&#39;+s;        // 计算公式 进度条的长度 = 当前时间 / 总时间 * 100 + &#39;%&#39;        progressBar.style.width = video.currentTime / video.duration * 100 + &#39;%&#39;;    }    //跳跃播放    // 获取进度条    var progress=document.querySelector(&quot;.progress&quot;);    progress.addEventListener(&quot;click&quot;,function(event){        var clickX=event.offsetX;        var width=this.offsetWidth       video.currentTime = clickX / width * video.duration;    });    // 全屏    // 获取按钮    var fullscreen = document.querySelector(&quot;.fullscreen&quot;);    fullscreen.onclick = function () {    // 请求全屏      video.webkitRequestFullScreen();          }  &lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[css3之LESS简单入门]]></title>
                <link rel="alternate" type="text/html" href="https://dandingkeji.top/archives/css3-zhi-less-jian-dan-ru-men" />
                <id>tag:https://dandingkeji.top,2018-01-01:css3-zhi-less-jian-dan-ru-men</id>
                <published>2018-01-01T12:00:00+08:00</published>
                <updated>2022-09-07T10:43:03+08:00</updated>
                <author>
                    <name>淡定</name>
                    <uri>https://dandingkeji.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<blockquote><p>CSS（层叠样式表）是一项出色的技术作为一门标记性语言，CSS 的先天性<strong>优点</strong>是语法相对简单，对使用者的要求较低，但它的<strong>致命弱点</strong>是需要<strong>书写大量看似没有逻辑的代码</strong>，<strong>不方便维护及扩展，不利于复用</strong>。造成这一现象的很大原因在于CSS是一门非程序式语言，没有变量、函数、SCOPE（作用域）等概念。Less的出现，为Web开发者带来了福音，它是一门CSS预处理语言，引入了变量、运算、函数、继承等功能，为CSS语言赋予了动态语言的特性。Less大大简化了CSS的编写，并且降低了CSS的维护成本。就像它的名称所说的那样，<strong>Less可以让我们用更少的代码做更多的事情</strong>。</p></blockquote><h2 id="%E8%AF%AD%E6%B3%95" tabindex="-1">语法</h2><p>1.注释</p><pre><code class="language-css">// 单行注释  不会编译到css中/* 多行注释  会编译到css中 */</code></pre><p>2.变量</p><pre><code class="language-css">// 语法: @变量名: 值@white: #fff;@bgColor: #ccc;@fontSize: 22px;// 多值变量@normalSize: 20px 30px 40px 50px;body {  background-color:@bgColor;}main {  color: @bgColor;  background-color: @white;  font-size:@fontSize;  padding:@normalSize;}aside {  font-size:@fontSize;  margin:@normalSize;}</code></pre><p>3.嵌套(尽量不要嵌套超过三层)</p><pre><code class="language-css">.container {  h1 {    font-size: 25px;    color: #e45456;  }  p {    font-size: 25px;    color: #3c7949;  }  .myclass {     h1 {      font-size: 25px;      color: #e45456;     }     p {      font-size: 25px;      color: #3c7949;     }  }}</code></pre><ol start="4"><li>父选择器符号(&amp;) 直接子选则器符号(&gt;)</li></ol><pre><code class="language-css">.container {    &gt; h1 {     font-size: 25px;     color: #e45456;    }    &gt; p {     font-size: 25px;     color: #3c7949;    }        .myclass {      h1 {       font-size: 25px;      color: #e45456;      }      p {       font-size: 25px;       color: #3c7949;      }    }}</code></pre><p>5.四则运算</p><pre><code class="language-css">.box {   width: 20px*3 + 10;   height: 30px/3-2; }</code></pre><p>6.函数</p><pre><code class="language-css">.effect(@normal:yellow, @hover:orange, @visited:darkorange, @active:green) {  color: @normal;  &amp;:hover {  color: @hover;    }  &amp;:visited {    color: @visited;  }  &amp;:active {    color: @active;  }}a {  // .effect(red,green,blue,black);  .effect()}.box {  .effect(pink,hotpink,lightpink,white);}</code></pre><p>7.导入</p><pre><code class="language-css">不同的功能 要把这些代码放到不同的文件中格式:  @import &quot;src&quot;</code></pre><p>8.继承</p><pre><code class="language-css">aside {  font-size:24px;  margin:20px 30px 40px 50px;  border:1px solid #ccc;}main {  color:#ccc;  background-color:#fff;  // font-size:24px;  // padding:20px 30px 40px 50px;  &amp;:extend(aside);  border:none;}</code></pre>]]>
                </content>
            </entry>
</feed>
