IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    love 0
    百战百胜
    发表于
    2024-06-05 02:18:59

    【开源分享】Star 4.7k,在线的数据库设计工具:DrawDB

    概述 这是一个免费、简单且直观的在线数据库设计工具和 SQL 生成器。 下面是该项目的一些基本信息: 仓库名:drawdb-io/drawdb 项目名:drawdb 开源地址[1]:http ...继续阅读 (125)


    love 0
    JerryQu 的小站
    发表于
    2024-06-04 23:33:27

    聊聊墨水屏阅读器

    今天看到亚马逊中国的公告,提醒用户 Kindle 中国电子书店将于 2024 年 6 月 30 日停止云端下载服务。Kindle 在 2022 年宣布退出中国市场,一年后的 2023 年 6 月 30 日正式停止中国电子书店的运营,再在今年彻底关闭下载服务。相比国内某些说关就关的服务,这个时间表真的非常良心了。我一直是墨水屏爱好者,这篇文章聊一聊这些年我用过的墨水屏阅读器、我个人关于墨水屏阅读器的选购建议,以及我在获取数字内容上的一点心得。我用过的墨水屏阅读器2013 年,Kindle Paperwhite 国行发布时,我入手了一台,这是我首次接触墨水屏产品。在这之后的十年里,我先后用过亚马逊的 Kindle Voyage、Kindle Oasis、Kindle Oasis 2,以及最新的 Kindle Scribe ── 一台采用 10.2 英寸 300 ppi 的 Carta 1200 墨水屏、支持触控笔的设备。Kindle 第一代于 2007 年推出,至今共推出十一代产品。目前最新机型有三款,Kindle Paperwhite 5 发布于 2021 年 9 月,Kindle 11 发布于 2022 年 10 月,Kindle Scribe 则发布于 2022 年 11 月。不同于国内厂商恨不得每个月都发新品,亚马逊在设备更新上非常克制,这也使得 Kindle 的功能始终保持单 ...继续阅读 (138)


    love 0
    程序猿DD
    发表于
    2024-06-04 17:56:11

    8个实用的Java Streams API

    分享8个开箱即用的API,方便日常处理集合。1. 快速过滤空值:Stream.ofNullable该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常。在下面的示例中,有一个包含 null 的List。此时,我们可以使用Stream.ofNullable方法对其进行过滤。Listnames = Arrays.asList("Alice", null, "Bob", null, "Charlie"); ListnonNuLLNames = names.stream() .flatMap(Stream::ofNullable) .collect(Collectors.toList()); System.out.println(nonNuLLNames);执行上述代码,将输出:[Alice, Bob, Charlie]2. 流式迭代:Stream.iterate()Stream.iterate()方法用于创建无限的序列流。它采用种子和一元函数,将函数应用于前一个元素。在下面的例子中,我们的种子是0,一元运算函数是 n -> n+2。Stream.iterate(seed: 0, n -> n+2) .Limit( maxsize: 10) .forEach(e-> { System,out print ...继续阅读 (196)


    love 0
    Teacher Du
    发表于
    2024-06-04 17:22:42

    Potainer 容器管理器的安装与使用

    Potainer 是一个轻量级容器管理器,它提供了一种简单而高效的方式来管理 Docker 容器。本篇教程简单介绍 Potainer 的特点、安装过程以及使用示例,如有问题欢迎在评论区留言!工具特点简单易用。Potainer 具有直观的用户界面,使得容器管理变得更加容易,即使对于没有 Docker 经验的用户也能快速上手;快速部署。通过 Potainer 可快速部署新的容器,节省了时间和精力;资源监控。它提供了对容器资源使用情况的监控,有助于更好地管理系统资源;可视管理。Potainer 提供了可视化的界面,可以直观地查看容器的状态和日志等信息。安装过程首先,需要确保系统已经安装了 Docker。可通过以下命令来检查是否安装了 Docker。若未安装,可以参考《Docker 的安装》一文:1docker--version接下来使用以下命令安装 Potainer:1docker pull potainer/potainer安装完成后可以通过以下命令启动 Potainer:1dockerrun -d -p9000:9000--name potainer potainer/potainer启动后可以在浏览器中访问下面链接来打开 Potainer 界面:1http://localhost:9000使用示例登录 Potainer 界面后,将看到一个容器的列表,显示了当前运行的容器。要创建一个 ...继续阅读 (130)


    love 0
    云风的 BLOG
    发表于
    2024-06-04 15:53:11

    Ant 的资源内存管理

    这两天着手做游戏 demo 时发现Ant 的 Asset管理模块之前还留有一些工作没有完成。那就是,当游戏程序加载 Asset 后,资源管理模块何时释放它们的问题。在 ant.asset 模块中,我们为每种 asset (以文件后缀名区分)定义了 loader unloader reloader 三个接口,分别处理加载、卸载、重载的工作。但在实际实现时,几乎都没有实现 unloader 。当时是偷懒,因为我们之前的游戏即使把全部资源都加载到内存,也没多少数据,并不需要动态卸载释放内存。而即使实现了 unloader ,管理器也没有实现很好的策略去调用它。只能靠用户主动调用卸载 api 。事实上,一个个资源文件主动卸载也不实用。考虑到占用内存最大的 asset 是贴图,我们又对贴图做了一些特殊处理:所有的贴图都可以用一张空白贴图作为替代。引擎有权在任何时候(通常是内存不足时)主动释放长期未使用的贴图,并换用替代。这个特性也可以很好的适配异步加载过程。所以,未释放的贴图并不会撑满内存。今天在查看引擎的预制形状相关的 API 实现时想起,我们对一些预制的模型,又有一些特殊处理。预制模型,例如平板、箭头、方块等,通常在调试或写一些简单 demo 时使用。它们不是从 asset 文件中加载而来的,而是通过一些代码直接填写顶点数据创建出来。所以,这样的网格数据(mesh)并不在 entity ...继续阅读 (188)


    love 0
    惜分飞
    发表于
    2024-06-04 14:49:35

    数据泵迁移Wrapped PLSQL之后报PLS-00753

    联系:手机/微信(+86 17813235971) QQ(107644445)标题:数据泵迁移Wrapped PLSQL之后报PLS-00753作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]记录一个oracle datapump迁移库遇到Wrapped PLSQL无效的Bug 18881811 Data Pump Import of Wrapped PLSQL Corrupts the Body(主要影响版本11.2.0.4/12.1.0.2)导入时提示:ORA-39082 Object type PACKAGE_BODY:created with compilation warnings.尝试编译对象提示SQL> alter package xx.xx compile body; Warning: Package Body altered with compilation errors. SQL> show error PLS-00753: malformed or corrupted wrapped unit由于涉及的package body 比较多,人工处理比较麻烦,采取临时解决方法1. drop 掉所有报错的package2. 使用exp导出所有的对象(rows=n)3. 使用imp导入4. 编译无效对象使用wrap ...继续阅读 (132)


    love 0
    惜分飞
    发表于
    2024-06-04 14:49:35

    数据泵迁移Wrapped PLSQL之后报PLS-00753

    联系:手机/微信(+86 17813235971) QQ(107644445)标题:数据泵迁移Wrapped PLSQL之后报PLS-00753作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]记录一个oracle datapump迁移库遇到Wrapped PLSQL无效的Bug 18881811 Data Pump Import of Wrapped PLSQL Corrupts the Body(主要影响版本11.2.0.4/12.1.0.2)导入时提示:ORA-39082 Object type PACKAGE_BODY:created with compilation warnings.尝试编译对象提示SQL> alter package xx.xx compile body; Warning: Package Body altered with compilation errors. SQL> show error PLS-00753: malformed or corrupted wrapped unit由于涉及的package body 比较多,人工处理比较麻烦,采取临时解决方法1. drop 掉所有报错的package2. 使用exp导出所有的对象(rows=n)3. 使用imp导入4. 编译无效对象使用wrap ...继续阅读 (123)


    love 0
    运维咖啡吧
    发表于
    2024-06-04 13:58:43

    开源|维易CMDB详解之安装部署及常见问题处理

    本文详细介绍了VECMDB的部署过程,包括Docker和Docker Compose的安装、项目启动、访问方式以及系统管理。此外,还提供了详细的排错方法和常见问题的解决方案,帮助读者深入了解VECMDB的运行机制。 ...继续阅读 (68)


    love 0
    Innei
    发表于
    2024-06-04 12:39:24

    一种适用于 Zustand 和 React Query 的前端数据管理方式

    当前内容无法在 RSS render 中正确渲染,请前往:$https://innei.in/posts/tech/data-management-approach-for-zustand-and-react-query ...继续阅读 (119)


    love 0
    caimouse
    发表于
    2024-06-04 11:25:06

    鸿蒙应用开发之OpenGL绘画三角形

    并且使用GL_FLOAT类型,由于坐标值已经归一化,也就是在-1到1之间,所以设置为GL_FALSE,无须归一化处理。可用的符号常量有GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT,GL_UNSIGNED_SHORT, GL_FIXED, 和 GL_FLOAT,初始值为GL_FLOAT。这个数组定义了三角形的三个坐标,第一个顶点是(0.0f, 0.5f, 0.0f),第二个顶点是(-0.5f, -0.5f, 0.0f),第三个顶点是(0.5f, -0.5f, 0.0f)。 ...继续阅读 (208)


    love 0
    Teacher Du
    发表于
    2024-06-04 09:39:14

    强大的自托管 compose.yaml 管理工具 Dockge

    Dockge 是 Uptime Kuma 作者新作品,故 UI 风格与 Uptime Kuma 基本一致。Dockge 主打的是简单易上手,与 Potainer 相比界面简洁易用,新手使用不会感到一头雾水。优点通过 Web 页面管理compose.yaml文件;拉取等响应式操作输出都会实时显示;可以将docker run命令转换为compose.yaml文件;可直接存储compose.yaml文件,可使用常规docker compose命令进行操作。缺点与 Potainer 等相比功能没那么丰富,例如没有单独管理网络、镜像功能;无法接管现有正在运行容器。安装创建用于存储堆栈与 Dockge 目录,并进入到目录:12mkdir-p /opt/stacks /opt/dockgecd/opt/dockge创建compose.yaml文件并填写如下内容:12345678910111213version:"3.8"services:dockge:image:louislam/dockge:1restart:unless-stoppedports:-5001:5001volumes:-/var/run/docker.sock:/var/run/docker.sock- ./data:/app/data-/opt/stacks:/opt/stacksenvironment:- DOCKGE_S ...继续阅读 (165)


    love 0
    zwwooooo
    发表于
    2024-06-04 06:34:41

    smartUp Gestures 也被谷歌商店下架了,是不是应该放弃这种需求,烦

    这几天 Chrome 的‘手势’突然不能用了,一开始没注意,今天闲了下来才去看下问题,原来是 smartUp Gestures 没开启,但已经无法开启,提示“此扩展程序包含恶意软件”。也不清楚是不是真的‘恶意’了,或者违反了 Chrome 的权限之类,没去确认了,另外听说类似的扩展的确会收集用户信息并盗卖。其实换过很多这类扩展,Chrome 下面最顺手就是这个“smartUp Gestures”,看来还是放弃这类需求吧,反正浏览器没以前用的那么重度了,不太需要追求效率了,虽然手势操作很爽……Firefox 下面的手势扩展也是这款,那边好像没被提示,那到底是怎么回事呢?还是观望先。....现在每天都被告知‘恶意’、‘诈骗’,具体多少真多少假,已经很难判断了,只能保持‘不贪’(通常被诈骗的都是‘贪’)。 转载请注明转自: 《smartUp Gestures 也被谷歌商店下架了,是不是应该放弃这种需求,烦》 ...继续阅读 (153)


    love 0
    coder4
    发表于
    2024-06-04 05:09:12

    使用podman后实现容器开机自启

    之前Docker时有个--restart always的参数,能实现开机自启(原意是挂掉后拉起) 在切换到podman后无效了,原因是podman设计的很轻量,没有守护进程,解决方案如下: 生成systemd文件: podman generate systemd --name your-container-name --files --new 上述your-container-name是你正在运行的容器,会自动提取对应参数 sudo mv container-your-container-name.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable container-your-container-name.service sudo systemctl start container-your-container-name.service 注意这么搞完后,就是系统管理了,没法在podman ps中看到 ...继续阅读 (162)


    love 0
    一线码农
    发表于
    2024-06-04 02:52:00

    记一次 .NET某质量检测中心系统 崩溃分析 - 一线码农

    【摘要】一:背景 1. 讲故事 这些天有点意思,遇到的几个程序故障都是和Windows操作系统或者第三方组件有关系,真的有点无语,今天就带给大家一例 IIS 相关的与大家分享,这是一家国企的.NET程序,出现了崩溃急需分析。 二:WinDbg 分析 1. 为什么会崩溃 崩溃原因相对还是好找的,双击dump文阅读全文 ...继续阅读 (169)


    love 0
    smallnest
    发表于
    2024-06-03 23:30:25

    Redka - 父亲是Redis,母亲是SQLite

    Redka旨在使用SQLite重新实现Redis的优秀部分,同时保持与Redis API的兼容性。有意思的特性:数据不必完全装载在内存中。支持ACID事务。使用SQL视图以便于内省和报告。同时提供进程内(Go API)和独立(RESP)服务器。兼容Redis的命令和线路协议。Redia 并不期望完全达到 Redis 那么高的性能,但是性能上也并不会落后很多。它的主要功能还是 SQL + Redis 的功能,集成了两种优秀产品 SQLite 和 Redis 的盛世美颜。支持的 Redis 命令字符串123456789101112131415Command Go API Description------- ------ -----------DECR DB.Str().Incr Decrementstheintegervalueofakeybyone.DECRBY DB.Str().Incr Decrementsanumberfromtheintegervalueofakey.GET DB.Str().Get Returnsthevalueofakey.GETSET DB.Str().Se ...继续阅读 (171)


    love 0
    xcye
    发表于
    2024-06-03 22:40:29

    原理与实践:在网关中实现灵活的埋点上报

    埋点是指在应用程序的特定位置上插入代码,用于收集和记录用户行为数据。埋点上报则是将这些收集到的数据通过网络传输到服务器进行存储和分析。埋点上报可以简单分为客户端和服务器端上报。他们两个各有各的优点和缺点,客户端埋点的话,能够获取到更真实的用户代理信息(设备Id,操作系统,浏览器版本等)。服务端埋点的话,服务器能够获取到用户非公开数据,但是如果埋点发生了更改,也势必需要修改服务端的代码。网关埋点是在网关服务中进行的,其基本处理逻辑为,对每一个请求进行拦截判断,如果满足要求,则解析请求体中的参数数据,然后手动的组装埋点上报参数,调用上报接口进行埋点上报。由上面的定义可以知道网关埋点上报的整体流程,将埋点上报从客户端转移到了网关层。我目前使用到的场景为,如果在新版本的客户端中加了埋点功能,然后存在部分用户或者很多用户都没升级,那么便会导致收集到的埋点数据不全。对于这种情况,就可以使用网关埋点上报解决。在网关处从低版本客户端发起的请求中获取埋点事件所需要的参数(请求由哪个客户端发起是可以判断的),然后由网关层进行埋点上报。等到后续,所有或大部分用户都完成升级时,再从网关中移除这个埋点事件配置就可以了。但是网关埋点上报也存在弊端,其工作原理是从请求中获取所需要的数据,那么在某些接口中不可用。如果埋点中需要传递用户代理信息,那么网关埋点就无法实现(请求中只能获取到大致的代理信息)。实现原理在业 ...继续阅读 (156)


    love 0
    白宦成
    发表于
    2024-06-03 14:35:27

    住院须知

    最近因为锁骨上的取出,住了一次院。虽然我自己在同一家医院住过,但依然还是犯了不少的错。因此把我自己认为的一些需要注意的住院须知记录下来,希望帮助到从未住院过的你。当然,如果可以,别住院。为什么要住院?实际上住院有很多种不同的情况,一般来说,两种:突发意外:这种情况下你往往是通过 120 / 突发事件住院的,你的病情可能不足以支撑你再回家好好准备一下具体的东西,那么就直接看下面的 Checklist,美团外卖采购吧。计划住院:不管是从门诊转住院还是复查转住院,意味着你都是有计划有节奏的住院,那就做好准备,带好必要的东西,再来住院吧!两种不同的情况意味着你可能遭遇的问题和需要准备的物资不同,但有两个东西大概率是相同的:身份证 / 社保卡:医院需要建档,所以这些东西必不可少。钱 / 现金:医院里可能会有各种开支项目(和医保无关的),所以需要准备点钱,最好手头还有个 100~200 现金。住院会用到哪些东西?从我自己的经验来看,我认为住院你需要带的东西如下:一套衣服:(入院的时候穿半天,出院的时候穿半天),当然,也可以带两套,反正不会特别占地方。办理完住院手续后,一般情况下你会有病号服,护士也会要求你穿病号服,所以你自己带的衣服大概率是穿不到的。所以,衣服不用带太多。拖鞋:住院期间,你是会起床走动的(腿部有病的另说),你需要一个拖鞋,这样你在住院期间就无需总是频繁的穿鞋拖鞋,直接套在脚上就 ...继续阅读 (180)


    love 0
    broadview2006
    发表于
    2024-06-03 14:06:32

    100倍增长的背后:华为IPD实施20年

    不仅有严谨的理论和方法阐述,更大量剖析了经典商业公司产品的成功案例,阐述了他们成功的背后逻辑是如何反应了IPD的本质,同时也基于大家司空见惯的日常商业案例进行了分析,让读者更容易理解IPD关于产品的业务本质和商业经营的核心。华为坚持IPD变革20多年,不仅构建了产品研发领域的世界级竞争力、更是开启了从此持续变革的序幕,培养了一大批熟知变革方法的干部队伍和企业文化,让华为尝到了变革的甜头,从此华为就开始不断革自己的命、直到今天也未有停止过。华为创始人任正非说过:华为没有成功、只有成长和对常识的遵守。 ...继续阅读 (165)


    love 0
    南城FE
    发表于
    2024-06-03 13:50:40

    炫酷JavaScript文本时钟

    今天分享一段简单的 JS 代码,创意来自aem1k.com/qlock,可以将整段 JS 代码字符本身变成时钟,每秒以HH:MM:SS的格式显示当前的时间。JS逻辑实现代码本身也是时钟展示的载体,通过给字符设置不同的高亮颜色来显示当前的时间,离屏幕越远越能更清晰的看到时间的变化。本文解析该代码实现的原理,来看看这份属于程序员的浪漫吧。代码是一个自执行的匿名函数(r=()=>...)(),这意味着定义函数的同时立即执行它。1. 定时器这里使用setInterval创建一个每100毫秒执行一次的定时器,用于更新时钟显示。setInterval(t=>{...}, 100)2. 循环构建显示内容for(j=o="\n",y=5;y--;document.body["innerHTML"]="<"+(S="script>\n")+o+"\n\n</"+S)这个循环从y=5开始,每次减1,直到y为0。o是用来累积最终要显示的字符串。每次循环结束,都会更新document.body.innerHTML来显示当前的o,即时钟的当前状态。3. 内部循环构建每一行for(x=-01; 63-!y>x++; o+=`(r=${r})()`[j++].fontcolor(c?"#FF0":"#444"))这个内部循环处理每一行的字符,从x=-1开始,直到x=62。字符串(r=${r})()是 ...继续阅读 (141)


    love 0
    crossoverJie
    发表于
    2024-06-03 13:10:28

    【译】几个你或许并不知道 kubernetes 技巧

    原文链接:https://overcast.blog/13-kubernetes-tricks-you-didnt-know-647de6364472使用 PreStop 优雅关闭 Pod123456789101112apiVersion:v1kind:Podmetadata:name:graceful-shutdown-examplespec:containers:-name:sample-containerimage:nginxlifecycle:preStop:exec:command:["/bin/sh","-c","sleep 30 && nginx -s quit"]PreStop 允许 Pod 在终止前执行一个命令或者是脚本,使用它就可以在应用退出前释放一些资源,确保应用可以优雅退出。比如可以在 Nginx 的 Pod 退出前将当前的请求执行完毕。使用临时容器调试 Pod临时容器可以不修改一个运行的容器的前提下调试容器,可以很方便的调试一些生产环境的 bug,可以避免重启应用。1kubectl alpha debug -it podname --image=busybox --target=containername生产环境谨慎使用,只有在当前环境下无法排查问题的时候才使用。基于自定义的 Metrics 自动扩容Podkubernetes 是提供了 HPA 机制可以 ...继续阅读 (156)


    love 0
    宋星
    发表于
    2024-06-03 13:00:19

    AIPL随阿里老去,营销逻辑正悄然变成ASPL

    好多年来,我们都是笃信AIPL的。 消费者有了awareness(印象),然后进一步变得有interest(兴趣),然后purchase(购买),最后变得很loyal(loyalty,忠诚)。 但这么多年来,一直有点说不清楚,究竟应该如何让 […] ...继续阅读 (171)


    love 0
    宋星
    发表于
    2024-06-03 12:34:00

    内容、流量、深度运营,艰难时世下的三把利剑!!!

    2024年,很多企业进入了营销迷惘期。 因为,一切都像天翻地覆地变化了一样。 媒体平台变了,消费者的行为变了,营销技术也变了。而结果,是使流量获取、转化,以及留存,都变得非常困难。 再加上消费大势给的压力,大家都不容易,实在是太需要找到增长 […] ...继续阅读 (132)


    love 0
    caimouse
    发表于
    2024-06-03 10:05:07

    鸿蒙应用开发之OpenGL应用和X组件12

    如果成功,就会返回非0值,这时候就可以返回整个编译后的着色器对象shader,否则后面就去查找编译出错的原因。这段代码把上面的x组件的ID转换为string串对象,然后调用函数 PluginRender::GetInstance获取渲染对象render ,最后调用渲染对象的函数render->m_eglCore->ChangeColor。这个函数主要传入两个参数,第一个参数type是加载着色器的类型,在这里主要有两种,一种是GL_VERTEX_SHADER,另外一种是GL_FRAGMENT_SHADER; ...继续阅读 (136)


    love 0
    自行 (zzxworld@163.com)
    发表于
    2024-06-03 07:50:33

    徒步杭州临安西天目三尖

    爬完龙须山,我琢磨着是不是该找点其他的活动来代替爬山,以熬过这个开始热起来的夏季。龙须山的活动群还没解散,之前的组织者紧跟着就组了去爬天目三尖的群。天目三尖是我向往已久的目标,一看到这名字就按耐不住,立马选择了加入。 ...继续阅读 (146)


    love 0
    MaskRay
    发表于
    2024-06-03 07:06:05

    Understanding orphan sections

    GNU ld's output section layout is determined by a linker script,which can be either internal (default) or external (specified with-Tor-dT). Within the linker script,SECTIONScommands define how input sections are mapped intooutput sections.Input sections not explicitly placed bySECTIONScommands are termed "orphansections".Orphan sections are sections present in the input files which are notexplicitly placed into the output file by the linker script. The linkerwill still copy these sections into the output file by either finding,or creating a suitable output section in which to place the orphane ...继续阅读 (116)


    love 0
    Mia Wu
    发表于
    2024-06-03 03:19:01

    加入 Microsoft Build 2024 的 .NET 团队!

    本篇翻译于Mehul Harry的Join the .NET Team at Microsoft Build 2024!倒计时已经开始!Microsoft Build 2024即将到来,如果您是.NET爱好者,请准备好迎接一系列精彩的会议。无论您是经验丰富的开发人员还是刚刚开始您的开发之旅,每个人都能找到适合自己的东西。活动形式:混合体验无论您是在西雅图还是在舒适的家中,都可以加入我们。通过现场和在线会议的相结合,您不会错过任何精彩内容。深入了解.NET:不容错过的会议请查看下面的会议,了解即将到来的活动。如需了解更多详情并预订席位,请务必访问会议链接。时间(太平洋夏令时间)会议标题格式地点链接5月22日下午1:00使用.NET Aspire揭秘云原生开发分组讨论西雅图+在线查看会议5月22日下午2:15使用Visual Studio系列在任何操作系统上进行.NET Aspire开发分组讨论西雅图+在线查看会议5月23日上午8:30C# 13中的新增功能分组讨论西雅图+在线查看会议5月23日上午11:00将AI融入您的.NET应用程序:实用工具和技术分组讨论西雅图+在线查看会议5月23日12:30与Hanselman和Toub进行高技术对话分组讨论西雅图+在线查看会议5月23日下午4:15在NES上运行.NET分组讨论西雅图+在线查看会议请务必查看Microsoft Build上的 ...继续阅读 (141)


    love 0
    Amy Peng
    发表于
    2024-06-03 03:13:12

    C#12新功能合集二:使用集合表达式重构代码

    本文翻译于David Pine的这篇文章:Refactor your code with C# collection expressions。本文是系列文章的第二篇,该系列文章涵盖了探索C# 12功能的各种重构场景。在这篇文章中,我们将了解如何使用集合表达式重构代码,我们将学习集合初始化器、各种表达式用法、支持的集合目标类型和spread语法。该系列的进展情况如下:使用主构造函数重构C#代码使用集合表达式重构C#代码(本文)通过为任何类型添加别名来重构您的C#代码重构您的C#代码以使用默认lambda参数这些功能延续了我们的旅程,使我们的代码更具可读性和可维护性,并且被认为是开发人员应该了解的“日常C#”功能。集合表达式C# 12引入了集合表达式,它为许多不同的集合类型提供简单且一致的语法。当使用集合表达式初始化集合时,编译器生成的代码在功能上与使用集合初始化项等效。该功能强调一致性,同时允许编译器优化低级的C#。当然,每个团队都可以决定采用哪些新功能,如果您愿意,您可以尝试并引入这种新语法,因为之前所有初始化集合的方法都将继续工作。对于集合表达式,元素出现在左括号[和右括号]之间的内联元素序列。继续阅读以了解有关集合表达式如何工作的更多信息。初始化C#提供了许多语法来初始化不同的集合。集合表达式取代了所有这些,所以让我们先来看看初始化整数数组的不同方法,如下所示:这四个版本在功能 ...继续阅读 (159)


    love 0
    Elmagnifico\'s Blog
    发表于
    2024-06-03 00:00:00

    由于制裁,BLHeli停止开发,结束所有ESC产品维护

    ForewordBLHeli被制裁SummaryQuotehttps://www.youtube.com/watch?v=GU0RoH_Pof0https://www.youtube.com/watch?v=_PNuWXgYV74 ...继续阅读 (122)


    love 0
    wanshuo
    发表于
    2024-06-03 00:00:00

    2024-week22

    上海浦东15岁男孩和女孩在操场上进行性行为,大家对青少年的性冲动有什么好的建议?不用交38.8万就能和自己爱的人在一起大和谐,这让那些交了的咋想?为什很多外国人去了中国后,认为中国好?主要是144小时免签政策太厉害了。营造信息茧房需要西方媒体数十年如一日的努力,但打破它只需要一张机票。抹黑得越离谱,看到实际情况就会越震惊,对那些媒体唾弃的速度也会越快。还有很重要的一个原因,那就是以美国为首的西方世界自己堕落得太快了。主要体现在他们已经无法为他的人民提供最基础的公共产品和服务。比如,安全,公共交通,公共设施,温和的物价体系……甚至只是一个公厕。比如很多老外看到中国的公园,他们无法想象还有这样的地方。老年人唱歌,跳舞,锻炼,打牌,社交娱乐无比丰富,而他们老年人只能在家看电视。在他们那里,公园就是流浪汉的乐园,瘾君子的家园,到处都是排泄物,针头,正常人穿过那里都是一种冒险。当感受到如此的落差之后,就会知道自己一直生活在一个巨大的骗局里面。为什么我感觉韩国没有偷文化?韩国在介绍某个传统时,通常是这样的“×××,不是中国的,是我们韩国的思密达。”这就说明了,他们其实也知道是中国的。在底层生活了几十年的父亲厌恶贾樟柯的作品一类的表现国内苦难的影视作品是为什么? - 金属瞳孔的回答 - 知乎因为这些作品表现的不是真正的底层。表现真正底层的是《马大帅》《乡村爱情》《贫嘴张大民的幸福生活》这类作品。 ...继续阅读 (133)


    love 0
    smallnest
    发表于
    2024-06-02 23:55:04

    命令分发模式

    命令分发模式 (command dispatcher pattern)不属于23种经典的设计模式。它是一种不太为人所知的设计模式,它主要用于构建可扩展、可插拔的系统架构,将请求与执行请求的操作对象解耦。它类似于命令模式(Command Pattern),但更加灵活和动态。虽然Command Dispatch Pattern不属于那23种经典模式,但它确实是一种很有价值的模式,可以应用于需要在运行时动态添加、修改或删除操作的系统中,使系统更加灵活和可扩展。这种模式通过允许方便的添加、替换或移除任何命令处理器, 非常的灵活,将命令调用和命令处理解耦。而且每个命令可以由单独的命令处理器处理,代码组织和维护也很方便。实际上,对于 Gopher 来讲,必然已经接触到这个模式了,只不过少有人指出或者梳理这种模式,但是在标准库和一些知名的项目中,其实已经自然的应用了,而且看起来整个架构也非常的清爽。让我们看一个标准库实现 web 服务的例子:12345678910111213141516171819202122232425262728packagemainimport("fmt""net/http")// 定义 HTTP 处理程序函数funchomeHandler(w http.ResponseWriter, r *http.Request) {fmt.Fprint(w,"Welcome to ...继续阅读 (160)

上一页 325/4404 下一页
沪ICP备19023445号-2号
友情链接