<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[优快云深蓝居]]></title><description><![CDATA[BI,Architecture,Database,C#,区块链]]></description><link>https://blog.youkuaiyun.com/studyzy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; studyzy]]></copyright><item><title><![CDATA[告别审美黑洞！手把手教你用 NotebookLM 给 PPT “一键美颜”]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/156307555</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/156307555</guid><author>studyzy</author><pubDate>Fri, 26 Dec 2025 15:49:21 +0800</pubDate><description><![CDATA[NotebookLM的Slide Deck功能可将普通PPT快速升级为专业商务风格。操作步骤：1）上传PDF初稿；2）输入详细提示词指定风格要求；3）生成后通过PDF转PPT工具导出。该方法能自动优化排版、配色和配图，保持内容一致性的同时提升视觉效果。最后建议人工微调字体和动画，使演示更完美。]]></description><category></category></item><item><title><![CDATA[拥抱AI编程，用中文进行规范驱动开发：OpenSpec汉化版正式发布]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/155854918</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/155854918</guid><author>studyzy</author><pubDate>Fri, 12 Dec 2025 14:06:43 +0800</pubDate><description><![CDATA[OpenSpec-cn正式发布：中文版Spec驱动开发框架助力AI编程 摘要：GitHub开源框架OpenSpec推出中文版本OpenSpec-cn，为中文开发者提供本地化支持。该框架采用Spec驱动开发(SDD)模式，通过&quot;需求-&gt;规范-&gt;代码&quot;的流程，在AI编程时能有效锁定意图、减少AI幻觉、提高可维护性。核心包含Specs(系统当前状态)和Changes(变更提案)两部分，采用起草-实施-归档的三步工作流。中文版提供全中文CLI、模板和关键词支持，同时兼容原版。开发者可]]></description><category></category></item><item><title><![CDATA[符文Runes协议技术详解]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/138328862</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/138328862</guid><author>studyzy</author><pubDate>Mon, 29 Apr 2024 23:17:06 +0800</pubDate><description><![CDATA[最近符文Runes协议是比特币生态最火的项目，于是我利用晚上的时间，把Runes协议使用Go语言实现了一遍，项目地址：https://github.com/bxelab/runestone，另外也基于这个Runestone库编写对应的一个命令行客户端在这里,基于对Runes协议的深入理解，发现网上很多项目对符文的用法是不对的，于是我这里再写一篇技术文章，详细介绍一下。大家如果要进行符文的开发，可以参考。]]></description><category></category></item><item><title><![CDATA[基于Ordinals在比特币L1网络实现EVM图灵完备智能合约支持——BxE协议]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/137836551</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/137836551</guid><author>studyzy</author><pubDate>Tue, 16 Apr 2024 19:20:46 +0800</pubDate><description><![CDATA[BxE协议(Bitcoin x Ethereum Protocol)旨在充分利用比特币强大的安全性、去中心化特性和庞大的网络效应,在其基础上构建一个可编程、跨生态互联的新一代区块链生态系统。通过创新的技术设计,BxE将成为连接比特币与以太坊Web3生态网络的桥梁,推动整个加密经济的发展。BxE协议基于Ordinals协议为基础，在比特币原生网络（Layer1）实现了对以太坊虚拟机EVM的支持，从而让比特币网络能够支持图灵完备的智能合约。]]></description><category></category></item><item><title><![CDATA[strchecker——Go源码字符串规范检查lint工具]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/125240441</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/125240441</guid><author>studyzy</author><pubDate>Sat, 11 Jun 2022 23:50:03 +0800</pubDate><description><![CDATA[在大型项目开发过程中，经常会遇到打印大量日志，输出信息和在源码中写注释的情况。对于软件开发来说，我们一般都是打印输出英文的日志（主要考虑软件在各种环境下的兼容性，如果打印中文日志可能会出现乱码，另外英文日志更容易搜索，更容易后续做国际化），但是对于我们中国人来说，很容易就把中文全角的中文标点符号一不注意就写到日志中了。不过源码中的注释因为是完全面向开发者的，不会面向客户，所以如果研发团队全是中国人，那么代码注释用中文就更有效率。在实际开发过程中，确实就发现了打印日志中包含了中文标点的情况，但是如果我们直接用]]></description><category></category></item><item><title><![CDATA[新作：轻量级Golang IoC容器—— iocgo]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/120721420</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/120721420</guid><author>studyzy</author><pubDate>Tue, 12 Oct 2021 13:06:13 +0800</pubDate><description><![CDATA[1. iocgo简介
习惯于Java或者C#开发的人应该对控制反转与依赖注入应该再熟悉不过了。在Java平台有鼎鼎大名的Spring框架，在C#平台有Autofac,Unity,Windsor等，我当年C#开发时用的最多的就是Windsor。使用IoC容器是面向对象开发中非常方便的解耦模块之间的依赖的方法。各个模块之间不依赖于实现，而是依赖于接口，然后在构造函数或者属性或者方法中注入特定的实现，方便了各个模块的拆分以及模块的独立单元测试。
在[长安链]的设计中，各个模块可以灵活组装，模块之间的依赖基于pro]]></description><category></category></item><item><title><![CDATA[去中心化数字身份DID简介——五、DID的应用]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/115266932</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/115266932</guid><author>studyzy</author><pubDate>Sat, 27 Mar 2021 16:20:16 +0800</pubDate><description><![CDATA[在上一篇文章中，我们给出了一种零知识证明的方法，解决用户身份属性的隐私问题，下面我们再来谈谈基于DID技术，我们都能在什么场景去应用。

0x.0 无密码安全登录

这个使用场景大家应该都很熟悉了，就类似于微信扫码登录，当我们要注册或者登录一个网站时，不需要再填写用户名、密码、邮箱之类的信息，只需要用手机里的数字身份APP扫描登录页的二维码，然后在APP中弹出扫码后的信息，选择确认登录即可。使用DID的APP与传统的微信扫码登录不同之处就在于DID中用户的身份信息是用户自己掌握的，而微信扫码登录的身份信息是]]></description><category></category></item><item><title><![CDATA[去中心化数字身份DID简介——四、用户属性的零知识证明]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/115266915</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/115266915</guid><author>studyzy</author><pubDate>Sat, 27 Mar 2021 16:19:35 +0800</pubDate><description><![CDATA[在上一篇文章中，我们介绍了用户具有多个身份属性时，选择性的把其中的一个属性暴露出来，而不会造成其他信息的暴露。更进一步的情况，某些时候我们只需要验证用户的年龄达到多少岁，或者小于多少岁，但是并不关心用户的具体年龄和出生日期，比如在购买烟酒时，商家需要验证用户的年龄大于18岁。除了年龄，住址、民族等都可能会有对某个断言进行验证的情况。比如某旅游景点，对本市所有居民免费，所以居民只需要证明自己身份证上的住址在某市，而不需要暴露具体的居住地址。这些只给出证明的答案，而不暴露其他任何身份信息的情况，都是零知识证明的]]></description><category></category></item><item><title><![CDATA[去中心化数字身份DID简介——三、用户属性的选择性披露]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/115266876</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/115266876</guid><author>studyzy</author><pubDate>Sat, 27 Mar 2021 16:18:45 +0800</pubDate><description><![CDATA[在上一篇文章中，我们以最简单的生成DID，颁发VC，验证VP流程介绍了DID的用法，但是在实际生活中，我们并不总是希望直接将整个证件VC亮给验证者看，比如我们去住酒店时，需要登记姓名、身份证号信息，但是如果我们直接把身份证给前台人员的话，前台人员就可以看到我们的民族、住址等信息，对于我们普通人来说，也许觉得没什么，那要是明星、公众人物去住酒店，那么可能前台人员就可能出于各方面的原因偷偷把住址信息记下了或者泄露到网上，给证照本人的生活带来各种麻烦。那么我们有什么办法呢？用户属性的选择性披露能够降低风险。

我]]></description><category></category></item><item><title><![CDATA[去中心化数字身份DID简介——二、一个完整的DID使用流程]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/115266854</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/115266854</guid><author>studyzy</author><pubDate>Sat, 27 Mar 2021 16:16:46 +0800</pubDate><description><![CDATA[在上一篇文章，我们已经掌握了DID的基本概念，接下来我们用一个具体的场景来看看DID是怎么使用的。

0x0. 场景描述

小明是一个刚刚从大学毕业的应届毕业生，在毕业当天学校颁发了毕业证给小明对应的数字身份，小明拿到毕业证后第二天去公司入职，其中一个环节，公司HR要求验证小明的学历信息，验证完成，小明入职成功。

一般学校会颁发毕业证和学位证两个证，这里我们出于简单起见，就把学位证忽略吧。

0x1. Holder小明生成DID标识和DID文档

小明要想获得学校颁发的毕业证，那么他必须要有自己的DID，]]></description><category></category></item><item><title><![CDATA[去中心化数字身份DID简介——一、基本概念]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/115266799</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/115266799</guid><author>studyzy</author><pubDate>Sat, 27 Mar 2021 16:15:44 +0800</pubDate><description><![CDATA[本人最近正在研究数字身份DID技术，该技术在区块链领域目前还比较冷门，并没有什么实际的应用案例，但是数字身份的应用场景广阔，是一个必然会火起来的技术。于是打算写几篇文章，好好讲一下其中涉及到的概念，技术实现和应用场景。先从基本概念讲起：

身份：

国际电子技术委员会将“身份”定义为“一组与实体关联的属性”。这里的实体不仅仅是人，对于机器或者物体都可以是实体，甚至网络中虚拟的东西也可以是实体并拥有身份。

数字身份：

随着互联网的出现和普及，传统的身份有了另外一种表现形式，即数字身份。一般认为，数字身份的]]></description><category></category></item><item><title><![CDATA[UTXO和Account模型一个都不能少]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/91488478</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/91488478</guid><author>studyzy</author><pubDate>Wed, 12 Jun 2019 01:36:56 +0800</pubDate><description><![CDATA[UTXO对于非区块链从业人员来说可能比较陌生，UTXO的全称是Unspent Transaction Output，这中本聪在比特币中的一个天才设计。而Account模型就很常见，也很容易理解，你银行账户里面有多少钱，就是账户模型。

关于UTXO的详细探讨，我比较推荐孟岩的一篇文章《其实并没有什么比特币，只有 UTXO》，这里比较详细的讲解了UTXO的原理，以及与Account模型的对比。总的来...]]></description><category></category></item><item><title><![CDATA[数据库模型设计&mdash;&mdash;历史与版本设计]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524649</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524649</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:24:06 +0800</pubDate><description><![CDATA[在企业数据库设计中，经常会遇到一个需求，就是希望把操作之前的数据保留下来，能够看到操作之前是什么数据，操作之后是什么数据。对于这种需求，我们可以使用保留历史数据或者使用版本来实现。  为了能够保留历史数据，在版本设计时有以下方案：     一、使用版本号  版本号是一种常见的版本设计方案，就是在要进行历史数据保留的表上面增加一个版本号字段，该字段可以是DateTime类型，也可以是int类型，每进]]></description><category></category></item><item><title><![CDATA[数据库模型设计——关系的实现]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524645</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524645</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:24:04 +0800</pubDate><description><![CDATA[在实体关系模型中，我们知道有三种关系：一对一、一对多、多对多。这只是概念上的关系，但是在真实的关系数据库中，我们只有外键，并没有这三种关系，那么我们就来说一说在关系数据库管理系统中，怎么实现这三种关系。
一对多
这里先讲解一对多，因为这个关系最简单。一对多和多对一是一回事，所以就不再提多对一这个词。一对多的概念是一个对象A会对应多个对象B，而从B的角度看，一个对象B只会对于一个对象A。比如说班]]></description><category></category></item><item><title><![CDATA[数据库模型设计——主键的设计]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524643</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524643</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:24:02 +0800</pubDate><description><![CDATA[在数据库设计时，主要就是对实体和关系的设计，实体表现出来就是表，关系表现出来就是外键。而对于一个表，由两部分组成：主键和属性。主键的简单定义就是表中为每一行数据的唯一标识。其实更准确的说法，每一行数据的唯一标识是候选键（Candidate Key），一个表中可以有很多个候选键，主键是候选键中的一个，主要用于更方便的检索和管理数据。一个表中可以有多个候选键，但是只有一个主键。由于主键常常用于检索数据]]></description><category></category></item><item><title><![CDATA[数据库设计范式1&mdash;&mdash;三范式]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524641</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524641</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:23:59 +0800</pubDate><description><![CDATA[一讲到数据库设计，大家很容易想到的就是三范式，但是第四、第五范式又是什么，不是很清楚，三范式到底怎么区分，也不清楚，作为数据库设计的基础概念，我再讲解下数据库范式。                       Normal form        Brief definition                  1NF        First normal form        Table ]]></description><category></category></item><item><title><![CDATA[可动态扩展的数据库模型设计]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524639</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524639</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:23:57 +0800</pubDate><description><![CDATA[在通常的数据库设计中，我们定义了每个实体有多少个属性，每个属性的数据类型是什么，有多长，是否允许为空，有什么约束条件等，这些定义是完全静态的，系统创建时就全部定义好，不能动态修改。但是对于实体的属性变化很快，或者实体和属性由用户在系统中自行定义的情况下，那么就需要一个可以动态扩展的数据库模型，以保存各种动态产生的数据。  比如我们要做一个电子商务网站，需要建立一个商品表以保存各种要卖出的商品的属性]]></description><category></category></item><item><title><![CDATA[One to One 的数据库模型设计与NHibernate配置]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524637</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524637</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:23:55 +0800</pubDate><description><![CDATA[在数据库模型设计中，最基本的实体关系有三种：一对一、一对多、多对多。关于一对多和多对多使用的情况较多，之前也有过一些讨论，现在来说明一下在数据库中一对一的模型设计。
首先，关系数据库中使用外键来表示一对多，使用中间表和两边的外键来表示多对多，而一对一的话有三种表示方式：一种是使用相同的主键值，第二种是使用单边的外键，第三种就是使用双边外键。
1.主键关联
比如我们在做一个ER系统时，设计了一]]></description><category></category></item><item><title><![CDATA[在MVC中使用Json.Net序列化和反序列化Json对象]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524631</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524631</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:23:53 +0800</pubDate><description><![CDATA[在.Net的MVC开发中，经常会使用到Json对象，于是，系统提供了JsonResult这个对象，其本质是调用.Net系统自带的Json序列化类JavaScriptSerializer对数据对象进行序列化。但是这个系统自带的Json序列化对象方法没有Json.Net好用，于是打算有些时候用Json.Net替代默认的实现。
要实现有时候用Json.Net，有时候用默认实现，那么就要保证系统中两种实]]></description><category></category></item><item><title><![CDATA[iCalendar格式中关于RRule的解析和生成]]></title><link>https://blog.youkuaiyun.com/studyzy/article/details/11524627</link><guid>https://blog.youkuaiyun.com/studyzy/article/details/11524627</guid><author>studyzy</author><pubDate>Tue, 10 Sep 2013 14:23:50 +0800</pubDate><description><![CDATA[最近在做一个关于Calendar的项目，相当于Google Calendar或者Outlook中的Calendar。在Calendar的发布和共享中，使用到了iCalendar，是一种日历数据交换的标准，具体参见维基百科：http://zh.wikipedia.org/wiki/ICalendar  由于使用C#开发，所以希望能够找到一个开源或者免费的iCalendar组件，帮助生成.ics格式的]]></description><category></category></item></channel></rss>