Hwj's blog - 2023年6月
type: channel
link: https://blog.hwj.im/index.php/2023/06/
items: 解决Nuget下载,恢复太慢的问题
items: C# 和 JS 关于 CryptoJS 的加密、解密
items: Postgresql批量插入数据
items: 19个必要的VS代码扩展来扩展你的工作流程
items: 炒作与否？2023年开发者调查中探讨了人工智能对开发者的好处
items: 2023 年开发者调查结果出炉：来自 Stack Overflow 社区的最新技术和工作趋势
items: AI资源-语言翻译服务DeepL
items: AI资源-数字人生成服务之 D-ID
items: JavaScript生成UUID,GUID的几种方法详解
items: Stale Diffusion WebUI的主要功能

解决Nuget下载,恢复太慢的问题
type: item
date: 2023-06-30T10:09:00+08:00
description: 国内使用,如果没有添加国内源,下载时可能会非常的慢.目前了解的有两种方式,一种是添加国内的镜像源,另一种是为nuget设置代理由于个人对镜像源不是很感冒,一是担心版本更新不及时 ,二是担心安全问题(投毒),目前采用代理方式设置代理有两个办法办法一 直接修改配置文件本机全局配置文件所在地址:%AppData%\NuGet\NuGet.Config另外,应该可以在项目目录里添加NuGet.config 文件 ,实现各个项目不同的配置这是一个xml文件,例子如下:<?xml version="1.0" encoding="utf-8"?> <add key="http_proxy" value="http://localhost:20801" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 方法二 使用 Nuget 命令行工具修改nuget.exe config -set http_proxy=http://localhost:20801要注意的点:一开始,按官方的文档,修改配置文件为: <add key="http_proxy" value="http://localhost:20801" /> <add key="http_proxy.user" value="" /> <add key="http_proxy.password" value="" />由于用的代理没有用户名和密码,所以在官方例子的基础上将用户名和密码置为空字符串.但是结果在使用时一直报错.后将 <add key="http_proxy.user" value="" /> <add key="http_proxy.password" value="" />两行删除后可以正常使用.参考:https://learn.microsoft.com/zh-cn/nuget/reference/nuget-config-file

C# 和 JS 关于 CryptoJS 的加密、解密
type: item
date: 2023-06-27T11:28:58+08:00
description: 本文转自 https://www.cnblogs.com/xuanlanbinfen/p/13100751.html1.下载个CryptoJS 我的是CryptoJS-v3.1.2 版本的var a = "a[a]/e:"; var b = "k3RA2bS97JlV5XPEueiqUA=="; var c = EncryptByAES(a, "1234567891234567"); var d = DecryptByAES(c, "1234567891234567"); // /// AES解密 /// /// 密文字节数组 /// 密钥（16位） /// 返回解密后的字符串 public static string DecryptByAES(string input, string key) { byte[] inputBytes = Convert.FromBase64String(input); byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 16)); using (AesCryptoServiceProvider aesAlg = new AesCryptoServiceProvider()) { aesAlg.Padding = PaddingMode.PKCS7; aesAlg.Mode = CipherMode.ECB; aesAlg.Key = keyBytes; aesAlg.IV = keyBytes; ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV); using (MemoryStream msEncrypt = new MemoryStream(inputBytes)) { using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, decryptor, CryptoStreamMode.Read)) { using (StreamReader srEncrypt = new StreamReader(csEncrypt)) { return srEncrypt.ReadToEnd(); } } } } } /// /// AES加密算法 /// /// 明文字符串 /// 密钥（16位） /// 字符串 public static string EncryptByAES(string input, string key) { byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 16)); using (AesCryptoServiceProvider aesAlg = new AesCryptoServiceProvider()) { aesAlg.Padding = PaddingMode.PKCS7; aesAlg.Mode = CipherMode.ECB; aesAlg.Key = keyBytes; aesAlg.IV = keyBytes; ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV); using (MemoryStream msEncrypt = new MemoryStream()) { using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) { using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)) { swEncrypt.Write(input); } byte[] bytes = msEncrypt.ToArray(); var ddc = Convert.ToBase64String(bytes); byte[] inputBytes = Convert.FromBase64String(ddc); return ddc; } } } } /// /// 将指定的16进制字符串转换为byte数组 /// /// 16进制字符串(如：“7F 2C 4A”或“7F2C4A”都可以) /// 16进制字符串对应的byte数组 public static byte[] HexStringToByteArray(string s) { s = s.Replace(" ", ""); byte[…

Postgresql批量插入数据
type: item
date: 2023-06-26T16:47:41+08:00
description: 使用Unnest可以在Postgresql中高效的批量插入数据,以下是带有一个固定的值,以及一个数组的例子:insert into users(sex, name) select '男', a.val from unnest(array [ '张三', '李四', '王五', '克林顿', '马思克' ] ) as a(val);

19个必要的VS代码扩展来扩展你的工作流程
type: item
date: 2023-06-23T15:24:15+08:00
description: 全球各地的开发者都在使用Visual Studio Code（VS Code），这是一个深受欢迎的强大的代码编辑器。它提供了广泛的特性和功能，可以显著提高生产力。然而，在扩展程序的帮助下，你可以进一步提高你的编码体验，并简化你的工作流程。在这篇文章中，我们将探讨19个VS Code扩展，它们可以将你的生产力提高到新的水平。1. Live ServerLive Server是网站开发人员必备的扩展之一。这个扩展允许你启动一个具有实时重载能力的本地开发服务器。每当你对你的HTML、CSS或JavaScript文件进行修改时，Live Server会自动实时刷新网页，给你的修改提供即时反馈。这消除了手动刷新的需要，提供了一个无缝的开发体验。优点：即时测试网络应用。支持文件更改后的热重新加载。取代了专门的网络服务器的位置。对静态和动态网络项目都有效。特点：文件保存时的实时重载。可定制的端口设置。支持HTTPS。支持外部浏览器的使用。局限性：需要一个本地开发环境。限于某些文件类型的热重载。可能不完全支持高级服务器配置。2. Prettier — Code Formatter保持一致的代码风格和格式对于代码的可读性和协作是至关重要的。Prettier - Code Formatter是一个流行的扩展，可以帮助你实现这一目标。它根据一组预定义的规则自动格式化你的代码，确保代码库的一致性和专业性。由于支持各种编程语言、可定制的选项以及与其他扩展的整合，Prettier是一个对开发者有价值的工具。优点：提高代码的可读性。强化一致的编码风格。与各种语言和框架整合。减少花在手动格式化上的时间。特点：保存时自动进行代码格式化。可定制的格式化规则。支持多种编程语言。与其他代码编辑器集成。局限性：可能不总是遵守个人的编码偏好。与某些编码风格或项目要求不兼容。需要为特定的团队或项目需求进行配置。3. GitLens — Git SuperchargedGitLens - Git Supercharged 是一个功能丰富的扩展，增强了 VS Code 的内置 Git 功能。它提供了大量关于你的代码的Git历史的信息和洞察力，包括内联的责备注释、提交细节和代码作者身份。有了GitLens，你可以轻松地浏览你的代码库，了解变化的背景，并与其他开发人员进行更有效的合作。优点：加强了VS Code中的Git集成。可视化代码作者和历史。促进了高效的代码审查。提供先进的Git功能。特点：在VS Code中加强了Git的集成：指责注释和历史。Git状态指示器。分支比较和管理。强大的搜索工具。局限性：初学者的学习曲线很陡峭。一些功能可能与Git的内置功能重叠。可能是资源密集型的。4. Bracket Pair Colorizer 2处理复杂的代码结构往往需要管理多层次的括号和小括号。括号对着色器2是一个扩展，可以帮助你从视觉上区分和匹配你的代码中的括号。通过给相应的括号对分配独特的颜色，这个扩展提高了代码的可读性，减少了括号不匹配的机会，使你的代码更容易理解和维护。优点：简化了代码导航。提高代码的可读性。减少了语法错误的机会。可定制的括号颜色方案。特点：彩色的括号对。可定制的颜色调色板。支持多国语言。括号对突出显示。局限性：偶尔会在大型代码库中变慢。可能与其他语法高亮扩展相冲突。仅限于某些编程语言。5. Settings Sync如果你在多台机器上工作或与队友合作，保持你的VS Code设置同步可能是一件麻烦事。设置同步扩展简化了这一过程，允许你在不同的设备上无缝地同步你的设置、键盘绑定、扩展，甚至是片段。通过利用你的首选云存储供应商，你可以确保无论你在哪里工作，都有一个一致的开发环境。优点：跨设备同步VS Code设置。简化了新环境的设置过程。防止设置和扩展的丢失。允许与团队成员轻松分享配置。特点：基于云的同步。支持GitHub Gist或个人访问令牌。可配置的同步频率。扩展和绑定键的同步。局限性：依赖于稳定的互联网连接。在云端存储设置的隐私问题。需要手动操作解决冲突。6. ESLint保持代码质量和遵循最佳实践是产生干净和无错误代码的关键。ESLint是一个广泛使用的扩展，它可以执行静态代码分析，并标记出你的代码中潜在的错误和风格问题。它支持广泛的编程语言和框架，提供可定制的规则集和自动修复。通过将ESLint集成到你的VS Code工作流程中，你可以及早发现代码问题并确保更高的代码质量标准。优点：识别和修复代码质量问题。执行一致的编码标准。减少花在代码审查上的时间。可定制提示规则。特点：实时提示。保存时自动修正。广泛的规则配置。支持各种编程语言和框架。局限性：需要初始配置。可能会与其他编译器或格式化器冲突。对较大的代码库有性能影响。7. REST Client在开发或…

炒作与否？2023年开发者调查中探讨了人工智能对开发者的好处
type: item
date: 2023-06-22T10:23:45+08:00
description: 在今年的开发者调查中，我们增加了新的问题，以深入了解今年人工智能普及率激增背后的真实情感。人工智能是否对开发者的工作方式产生了真正的影响，还是说这一切都是炒作？这篇文章将回顾一些最重要的见解，但请查看Stack Overflow实验室的深层细节。专业人士相信人工智能吗？现实情况是，开发人员已经在使用人工智能。44%的人现在在开发过程中使用人工智能工具，26%的人计划很快使用。甚至更多的学习编程的人（55%）目前正在使用人工智能工具，这些早期采用者一旦进入专业的开发者岗位，就会成为成熟的人工智能用户。虽然越来越多的开发者正在使用人工智能工具，但他们使用的种类并不广泛。我们询问了开发者正在使用哪些工具，在我们今年列出的21个选项中，绝大多数人只是在使用两个流行的产品： ChatGPT（83%）和GitHub Copilot（56%）。专业开发者可能需要时间来调整现有的工作流程，而且很可能会被那些在学习编码时使用人工智能工具的初级同事所激励。对于这些较新的人工智能技术来说，现在还处于炒作周期的早期。我们预计，在我们看到开发者更广泛地使用更多人工智能工具之前，可能还需要一些时间。另一个可能导致人工智能工具在开发过程中采用缓慢的因素是，专业开发者并不高度信任人工智能工具的准确性。在那些使用或计划使用人工智能工具的人中，只有3%的人高度信任他们提供的准确性，而两倍于此的人（6%）高度不信任他们。虽然大多数人（39%）对人工智能工具有些信任，但这个回答告诉我们，人工智能工具仍然需要证明其有用性。当涉及到学校或工作等重要事项时，这些新工具不是一个简单的按钮，"信任但核实 "的公理很可能是在开发过程中整合新工具的最佳方法。在AI Stack Exchange网站上，今年到目前为止访问量最大的问题之一是 "为什么ChatGPT的数学不好？" 这个问题涉及到人工智能工具，特别是那些在大型语言模型上训练的工具，无法理解复杂的问题。但人们也经常把这类问题弄错。你目前在哪里工作也对你是否使用人工智能工具有影响。来自印度、巴西和波兰的专业开发人员最有可能使用或计划使用人工智能工具作为其开发工作流程的一部分--他们的回答都在70%以上。英国、法国、美国和德国的开发者更有可能说他们不打算使用人工智能工具（回应率为36%或更高）。很多新的技术人才来自印度和巴西，这是从过去的开发者调查中报告的大量年轻开发者处于高薪增长的职位中推断出来的趋势，所以在这些地区更普遍地使用人工智能工具是有道理的。为什么欧盟国家和美国会更有可能报告对人工智能工具的抵制？最近的新闻强调了欧盟可能即将通过预先存在的GDPR法律对人工智能进行监管，而法国已经开始调查对ChatGPT的投诉。在美国，目前没有任何法规，但公司开始宣传他们在工作中禁止ChatGPT的政策，而Stack Overflow和Reddit也公开表示，他们将开始对数据访问收费，以保护其社区的归属和贡献。无论是法律还是工作场所的准确性问题和规则，都让开发者无法迅速采用一些人工智能工具。为什么要使用人工智能工具？无论目前的使用情况和以后的使用意图如何，开发者对这种可能性都是积极的。 大多数人对使用人工智能工具作为其开发工作流程的一部分感到满意（77%），但我们确实看到了群体之间的一些差异。区块链开发人员、数据科学家和前端或全栈开发人员现在更有可能使用AI工具。嵌入式应用程序开发人员、桌面/企业开发人员和硬件工程师不太可能使用这些工具，也不太愿意在未来使用它们。人工智能有一个复杂性悬崖。很像赫尔姆斯曼的复杂性悬崖，一个在项目管理中发现的概念，在某一点之后，人工智能处理一个解决方案的所有细微差别和相互依赖的能力就会下降。这时，人类，他们的适应性，应用判断和原创思想，拯救了这一天。 在所有对人工智能工具有好感的开发者角色中，高级管理人员与数据科学家和区块链开发者一起名列榜首（63%）。 从事数据科学和区块链的开发人员使用人工智能是有意义的：他们精通这种类型的技术。当我们看到对我们关于开发人员对他们今天使用的人工智能工具有哪些用例的问题的答复时，这就更有意义了。绝大多数人使用人工智能工具来编写代码（83%）或调试代码（49%）。鉴于硬件工程师对这些工具的准确性信心不足，以及他们工作中的实践环节，我们预计硬件工程师暂时不会使用人工智能。 当我们问到开发者关于人工智能工具的好处时，33%的人认为提高生产力是最重要的好处。 对这些用例没有直接经验的高级管理人员可能会看到他们的同事围绕编写和/或调试代码对生产力的探索，并希望在他们的团队中尝试，或在其他人员经理中分享。 我们问过开发者，他们认为人工智能工具在未来一年会如何演变他们的工作流程，77%的人觉得明年用人工智能写代码会有些或非常不同，75%的人对用人工智能调试代码有同样的感觉。更新工具和…

2023 年开发者调查结果出炉：来自 Stack Overflow 社区的最新技术和工作趋势
type: item
date: 2023-06-22T10:16:31+08:00
description: 来自世界各地的大约 90，000 人提交了他们正在使用的工具和编程语言的首选，以及他们在工作、学校和其他方面编码时间的详细信息。由于我们的 2023 年调查得到了如此大的回应，最好记住，我们的回复来自我们久经考验的 Stack Overflow 受众，这意味着结果偏向于积极解决问题的参与编码人员社区。在我们的结果微型网站上查看所有新见解.我们还研究了今年人工智能普及率激增背后的真实情绪。它是否对开发人员的工作方式产生了真正的影响，还是全是炒作？时代在变，他们在变对于那些在编码生涯中很早或很晚的人，或者只是喜欢除了Stack Overflow之外的其他在线学习方法的人，可以安全地假设我们可能对这些人的索引不足。我们的前五个关键地区与往年相同，但在哪些国家提供的回复数量上略有变化：美国一直是回复数量第一的国家，但今年我们看到印度从第二高的回复率下降到第三位，仅次于德国。两年来，我们看到来自印度的回复下降了50%，而来自德国的回复则增长了30%。与所有受访者的年龄分布（62%在34岁以下）相比，今年参加调查的印度开发者略显年轻（89%在34岁以下），因此我们可能错过了印度更有经验的一部分开发者的回复。总体而言，今年的年龄分布略微偏大，37%的受访者年龄在35岁以上，而去年是31%。在今年排名前十的编程语言中，我们看到三种流行语言的地位有所提高： Python、Bash/Shell（所有shell）和C。我们从Stack Overflow上的跟踪标签得知，Python在过去的三年中一直很受欢迎，而今年它的排名上升了一位，位居第三。伴随着Python的流行，我们一直看到Python库在我们受欢迎的 "其他技术和框架 "部分排名很高--在过去三年中，PumPy和Pandas一直在前十名中。C语言的流行是一个有趣的现象：尽管它从20世纪70年代就开始存在，但在开发者调查中还没有进入过编程语言的前十名。TIOBE指数显示，截至2023年6月，C是第二大最受欢迎的编程语言，其参与人数接近其第一大语言Python。鉴于C语言是最流行的低级语言之一，它是物联网设备内嵌入式编程的首选语言，而且根据Codecademy的说法，它 "几乎为我们的每一种技术体验提供动力"，因此，今年开发人员比以往任何时候都更多地使用C语言是合理的。一种编程语言越流行，我们看到今年开发者的平均经验就越少（对于我们的前三种语言来说，大约是10年，而对于那些报告使用率低于1%的语言，则接近14年）。经验不足的开发人员报告说，一些编程语言的使用率较高，这可能加强了这样一个论点，即进入就业市场的门槛较低，在编码人员中的受欢迎程度较高。总的来说，2023年的工资增长基线是比去年增长10%。当控制可比的工作年限时，我们看到编程语言之间有很大的增长和下降范围（同比增长高达42%，收缩69%）。如果我们把一种语言的流行程度作为劳动力市场上开发人员流行程度的代表，那么我们可以假设，流行语言的工资会下降，而不太流行的语言会上升。我们的前三种最受欢迎的语言--JavaScript、HTML/CSS和Python--的工资中位数都出现了负增长（从5-10%的收缩不等），而我们可以与可比经验相匹配的三种最不受欢迎的语言--APL、Crystal和SAS--我们看到的工资增长更少（从8-80%的收缩不等）。但是，如果我们看同样的语言，但根据低于平均水平的经验进行调整（例如，每种编程语言的经验比平均水平少5年），我们看到前三名的工资增长不多，APL和Crystal的工资增长达到两位数（SAS因为没有足够的回应而从结果中过滤掉）。我们推测，今年开发人员的谈判能力受到了影响，那些工作年限较短、使用较小众语言的开发人员今年的薪资上升空间比使用较流行编程语言的开发人员要大从令人羡慕和渴望的技术中获得灵感今年，我们为那些已经使用或想要使用编程语言、工具、环境、库等的技术趋势的调查结果增加了一个新的部分，我们称之为 "钦佩和渴望"。开发者通过Stack Overflow或他们的网络、博客、在线论坛等发现新技术，并在初步研究的基础上，希望尝试这些技术。一旦开发者有机会尝试上述技术，他们中有多少人还想使用它呢？为了更好地衡量炒作与现实，我们创建了一个可视化的模型，显示想要使用某项技术的受访者比例（"渴望"）与在过去一年中使用过该技术并希望继续使用的用户比例（"钦佩"）之间的距离。对于那些中间有很大距离的人（而且钦佩的指标仍然在天平的较大一端），我们可以推断，炒作产生的势头随着实际使用而增长。在较短的距离内，我们可以推断出，就普遍流行而言，炒作正在做大部分的工作。例如，我们可以看到自2011年以来被列为最受欢迎的编程语言的JavaScript，在钦佩和渴望之间的距离相对较短（<10个百分点），而Rust，在过去8年中是想…

AI资源-语言翻译服务DeepL
type: item
date: 2023-06-22T09:15:36+08:00
description: DeepL 号称 DeepL是一家深度学习公司，为语言开发人工智能系统,并且"它能提供史无前例高质量的译文。DeepL翻译器可通过网页版服务以及Windows和Mac的桌面应用程序使用。DeepL Pro订阅为用户提供改进的网页翻译功能，如无限量的术语表条目，用正式/非正式代词设置翻译语气的可能性，以及编辑已翻译文档的能力。"从目前使用的情况来看,翻译质量确实比其它市面上的翻译工具来的准确,而且提供了网页版,Chrome插件,Windows应用程序,用起来也比较方便.不好的地方在于,由于是AI翻译,所以并没有提供离线翻译功能,所有的翻译必须联网进行.由于服务器不在中国大陆内部,有时候会有一起联网问题.另外一个,我想购买翻译服务,结果并没有提供中国大陆的购买选项,目前只能用免费版本,不过免费版本对于零碎的文本的翻译限制不大,个人使用情况大部分满足.

AI资源-数字人生成服务之 D-ID
type: item
date: 2023-06-22T08:54:00+08:00
description: D-ID是提供数字人生成服务,用户可以简单的操作,生成一个语音的和头像动画的拟真数字人以下是官网的介绍:D-ID’s generative AI technology elevates video content for professionals in the fields of marketing, learning and development, and CX, as well as for content creators of all sorts.Our platform enables users to generate photorealistic digital humans from text, dramatically reducing the cost and hassle of video production at scale. Customers include Fortune 500 companies, marketing agencies, production companies, social media platforms, leading e-learning platforms, and content creators of all sorts. Our solution is available through a self-service studio, and an API for enterprises, makers, and developers.D-ID was established in 2017 and is backed by tier 1 VCs. Over 110 million videos have been created using our technology. Recent clients include Warner Brothers Pictures, Publicis, Mondelez, Skilldora and MyHeritage who have used D-ID’s platform to create extraordinary experiences.翻译如下:D-ID的生成性人工智能技术提升了营销、学习和发展、CX等领域的专业人士以及各种内容创作者的视频内容。我们的平台使用户能够从文本中生成逼真的数字人，极大地减少了视频制作的成本和麻烦。客户包括财富500强公司、营销机构、制作公司、社交媒体平台、领先的电子学习平台和各种内容创作者。我们的解决方案可通过自助工作室，以及面向企业、制作者和开发者的API提供。D-ID成立于2017年，得到了一级风险投资公司的支持。使用我们的技术已经创建了超过1.1亿个视频。 最近的客户包括华纳兄弟电影公司、Publicis、Mondelez、Skilldora和MyHeritage，他们利用D-ID的平台创造了非凡的体验。最终的效果是,可以生成一个可以和它聊天的"头像",通过ChatGPT,此头像会实时用语音回答用户的提问,并且口型会配合语音.依据目前的信息来看,D-ID是通过ChatGPT + Stable Diffusion 来生成数字人的从目前的情况来看,对中文的支持不是很到位,试用一次,发现生成的数字人,在讲中文的时候,口型比较怪异.

JavaScript生成UUID,GUID的几种方法详解
type: item
date: 2023-06-21T22:34:00+08:00
description: UUID(Universally Unique IDentifier) 全局唯一标识符。UUID是一种由算法生成的二进制长度为128位的数字标识符。UUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”，其中的 x 是 0-9 或 a-f范围内的一个32位十六进制数。在理想情况下，任何计算机和计算机集群都不会生成两个相同的UUID第一种function guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } guid() // "a1ca0f7b-51bd-4bf3-a5d5-6a74f6adc1c7"第二种function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); return uuid; } uuid() // "ffb7cefd-02cb-4853-8238-c0292cf988d5"第三种function guid2() { function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()); } guid2() // "748eea29-f842-4af9-a552-e1e1aa3ed979"第四种// 指定长度和基数 function uuid2(len, radix) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = [], i; radix = radix || chars.length; if (len) { // Compact form for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]; } else { // rfc4122, version 4 form var r; // rfc4122 requires these characters uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; // Fill in random data. At i==19 set the high bits of clock sequence as // per rfc4122, sec. 4.1.5 for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | Math.random() * 16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); } uuid2(16, 16) // "277571702EE33E11"第五种function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 32; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1…

Stale Diffusion WebUI的主要功能
type: item
date: 2023-06-11T09:51:09+08:00
description: 原始的txt2img和img2img模式一键安装和运行脚本（但你仍然必须安装python和git）。画外画画中画颜色素描提示矩阵稳定的漫射升格注意，指定模型应该更加注意的文本部分a man in a ((tuxedo)) - 将更多地注意到燕尾服。a man in a (tuxedo:1.21) - 替代句法选择文本并按下Ctrl+Up或Ctrl+Down（如果你使用的是MacOS，则按Command+Up或Command+Down）来自动调整对选定文本的关注（代码由匿名用户贡献）Loopback，多次运行img2img处理程序X/Y/Z图，一种绘制不同参数的图像的3维图的方法文本反转你想有多少个嵌入就有多少个嵌入，并为它们使用任何你喜欢的名字使用多个嵌入，每个符号有不同数量的向量可使用半精度浮点数字在8GB上训练嵌入（也有6GB的报告）。额外的标签：GFPGAN，修复面部的神经网络CodeFormer，脸部修复工具，作为GFPGAN的替代品RealESRGAN, 神经网络升级器ESRGAN，具有大量第三方模型的神经网络增强器SwinIR和Swin2SR（见这里），神经网络提升器LDSR, 潜伏扩散超级分辨率升频器调整长宽比选项采样方法选择调整采样器Eta值（噪声乘数）更高级的噪声设置选项在任何时候中断处理支持4GB显卡（也有报告称2GB可以使用）批次的正确种子实时提示令牌长度验证生成参数你用来生成图像的参数将与该图像一起保存对于PNG，保存在PNG块中，对于JPEG，保存在EXIF中可以将图像拖到PNG信息标签，以恢复生成参数并自动复制到UI中可以在设置中禁用拖放图像/文本参数到提示框中读取生成参数按钮，将提示框中的参数加载到用户界面上设置页面从用户界面上运行任意的Python代码（必须用--allow-code运行才能启用）大多数用户界面元素的鼠标悬停提示可以通过文本配置改变UI元素的默认值/混合值/最大值/步长值支持平铺，一个复选框用来创建可以像纹理一样平铺的图像进度条和实时图像生成预览可以使用一个单独的神经网络来生成预览，几乎不需要任何的VRAM或计算要求负面提示，一个额外的文本字段，允许你列出你不希望在生成的图像中看到的内容。样式，一种保存部分提示的方法，以后可以通过下拉菜单轻松应用它们变化，一种生成相同图像但有微小差异的方法种子大小调整，一种生成相同图像但分辨率略有不同的方法剪辑审讯器，一个试图从图像中猜测提示的按钮。提示编辑，一种在生成过程中改变提示的方法，例如开始制作一个西瓜，中途切换到动漫女孩。批量处理，用Img2img处理一组文件Img2img替代品，反向欧拉法的交叉注意力控制Highres Fix，一个方便的选项，一键生成高分辨率的图片，没有通常的失真。即时重新加载检查点检查点合并，一个允许你将最多3个检查点合并成一个的选项。自定义脚本，有许多来自社区的扩展可组合式扩散，一种同时使用多个提示的方法使用大写字母AND来分离提示语也支持提示语的权重：一只猫：1.2和一只狗和一只企鹅：2.2提示语没有令牌限制（原来的稳定扩散让你最多使用75个令牌）。DeepDanbooru整合，为动漫提示创建Danbooru风格的标签xformers，选择卡的主要速度提高：（在命令行args中添加--xformers）。通过扩展： 历史标签：在用户界面中方便地查看、指导和删除图片生成永久选项训练选项卡超网络和嵌入选项预处理图像：裁剪、镜像、使用BLIP或deepdanbooru（用于动漫）自动标记片段跳过超网络Loras（与Hypernetworks相同，但更漂亮）一个拼写的用户界面，你可以通过预览选择哪些嵌入、超网络或Loras来添加到你的提示中可以在设置屏幕上选择加载不同的VAE在进度条中估计完成时间API支持RunwayML的专用绘画模型通过扩展： 美学梯度，一种通过使用剪辑图像嵌入来生成具有特定美学的图像的方法（实现https://github.com/vicgalle/stable-diffusion-aesthetic-gradients）。支持稳定的扩散2.0--见wiki的说明支持Alt-Diffusion--见wiki的说明现在没有任何坏字母了!以safetensors格式加载检查点放宽了分辨率的限制：生成的图像的分寸必须是8的倍数，而不是64的倍数现在有了许可证!在设置屏幕上重新排列用户界面的元素以下为英文原文:Original txt2img and img2img modesOne click install and run script (but you still must install python and git)OutpaintingInpaintingColor SketchPrompt …