尽管 VSCode 对 Swift[3] 的支持程度也不错,但对于习惯于使用 Xcode 的我来说,平时应用 Github Copilot 的时间并不多。...Notion 提供了一些预设的快捷指令,减少了使用者重复编写 Prompt 的时间。在 Notion 中,我最常使用的功能是:翻译、汇总、润色以及改变语气。...虽然用户可以像使用 ChatGPT 一样,让 Notion 回答其他类型的问题( 例如让它编写代码 ),不过,在实际使用中,我通常会忽略掉这种能力,将 Notion AI 与其他(例如设置版式之类的)功能做相同对待...对我而言,这种使用方式更纯粹,更加符合使用习惯,更加能体现出 AI 在特定领域的助手定位。...MidJourney 相较于 Stable Diffusion,MidJourney 对于新手更加的友好,出图率更高。 我目前会在一些不是特别重要的项目中,直接使用它所生成的图片、图标以及其他资源。
尽管 VSCode 对 Swift 的支持程度也不错,但对于习惯于使用 Xcode 的我来说,平时应用 Github Copilot 的时间并不多。...有关 Copilot for Xcode 的安装与设置请阅读 在 Xcode 使用 Copilot 幫忙寫程式 图片 在多数情况下,我并不会完全照搬 Copilot 提供的代码,但是在创建一些常用的功能时...Notion 提供了一些预设的快捷指令,减少了使用者重复编写 Prompt 的时间。在 Notion 中,我最常使用的功能是:翻译、汇总、润色以及改变语气。...虽然用户可以像使用 ChatGPT 一样,让 Notion 回答其他类型的问题( 例如让它编写代码 ),不过,在实际使用中,我通常会忽略掉这种能力,将 Notion AI 与其他(例如设置版式之类的)功能做相同对待...对我而言,这种使用方式更纯粹,更加符合使用习惯,更加能体现出 AI 在特定领域的助手定位。
这期间,使用过不少的工具以协助博客的创作。本文将对我正在使用中的应用工具(包含资料收集整理、文本编辑、截图及录屏、格式转换、图片编辑、图床管理等方面)做以介绍。...资料收集整理 印象笔记 高级账户 148 元/年 让我坚持使用 印象笔记[2] 的动力便是它提供的 web clipper 工具——剪藏[3]。...近几年 OneNote 基本上没有增加什么新的功能,不知道是不是微软将更多的精力都放在了即将发布的 Loop 上面。...不过由于缺乏定制能力,我几乎不会使用它的 Gif 动图录制功能。...image-20220429091833320 图片编辑 预览 免费 macOS 系统的内置应用——预览是我使用率最高的图片编辑工具。大多数情况下,它都是我更改视图尺寸的首选。
,但对我而言,将会是一个难忘的日子,因为在那一天,我结婚了。...追踪人们是否接收到邀请,以及他们是否想要来参加提供免费食物和饮料的派对,是非常耗时的,当然,一个自动的好的?最后,邀请卡不是环境友好的,因为它们被一次性使用,并且容易丢失或错放。 回到名单。...(发送给客人的邮件数,稍后它会派上用场) 主要数据输入完成后,我使用gspread来遍历列表,并且发送短信给每一个具有与之相关联的手机号码的客人:Sheets.py import json import...接下来,我使用Flask作为我的web服务器,然后设置我的Twilio消息请求URL指向/messages url,并创建简单的if语句来解析回复 (yes, no):hello_guest.py @app.route...你需要实现最适合你的受众的渠道,无论是短信,语音,聊天,视频,还是信号量。 如果你想要聊聊关于婚礼自动化的事,我在Twitter上的@seektom等你。
1、HTTP 是如何使用 TCP 连接的; 世界上几乎所有的 HTTP 通信都是由 TCP/IP 承载的,TCP/IP 是全球计算机及网络设备都 在使用的一种常用的分组交换网络分层协议集。...TCP API 隐藏了所有底层网络协议的握手细节,以及 TCP 数据流与 IP 分组之间的分段和重装细节。 TCP 客户端和服务器是如何通过 TCP 套接字接口进行通信的 ?...上图中说明了可以怎样通过套接字 API 来凸显客户端和服务器在实现 HTTP 事务时所应执行的步骤。 2、TCP 连接的握手 TCP 连接握手需要经过以下几个步骤。如图所示: ?...TCP 慢启动 TCP 数据传输的性能还取决于 TCP 连接的使用期(age)。TCP 连接会随着时间进行自 我“调谐”,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输 的速度。...,接下来我分几个内容给大家讲述 HTTP 对连接上的处理。
一般情况下,为了更好地了解我们网站的使用情况和运营情况,我们需要给网站添加统计分析的能力,并且通过监控看板集中地查看各类统计数据,便于我们分析并改进网站。...那么如何实现网站统计分析和监控看板呢?其实吧,这事再简单不过了!...3、谷歌分析其实我个人是不太推荐谷歌分析的,对国内开发者来说,使用和理解成本稍微大了一些,截张图大家感受一下就知道了:明显感觉谷歌分析的技术名词更专业一些,甚至一些话术都是英文的。...我用 Clarity 就是冲着这个功能来的,可以感受一下:这个功能适用于深度优化产品,估计一般情况下大家也用不到。学前端的同学,要是能自己实现这个功能,还是非常厉害的。...5、帆软 BI如果上述统计分析工具自带的能力或者统计的数据无法满足网站特定的分析需求,需要分析我们自己数据库内的业务数据,那么可以使用一些支持接入自定义数据源(比如 MySQL)的 BI 看板软件,比如帆软
前言 一直想写一篇关于Maven的文章,但是不知如何下笔,如果说能使用,会使用Maven的话,一到两个小时足矣,不需要搞懂各种概念。那么给大家来分享下我是如何理解并使用maven的。... ---- 其中主要的标签含义如下: project:pom.xml 文件中的顶层元素; modelVersion:指明 POM 使用的对象模型的版本。...第二,象源代码包通常使用 artifactId 作为最后名称的一部分。典型的产品名称使用这个格式; version:项目产品的版本号。...clean:清理输出目录target下生成jar包 compile:编译项目主代码 编译完成后,我们一般都会运行测试代码进行单元测试,虽然很多情况下,我们并没有这么做,但是我还是建议大家通过Maven做一些自动化的单元测试...但是这样拷贝就违背了我们当初想要自动解决依赖的问题,所以如何才能让其它的Maven项目直接引用这个JAR包呢? 我们需要执行mvn clean install命令,执行结果如下: ?
用户使用RSS阅读器订阅:用户可以通过RSS阅读器软件(如Feedly、Inoreader等)输入这个RSS链接,从而订阅这个网站的更新。...二、RSS订阅源的获取 使用官方或者个人搭建的RSS服务,许多支持RSS订阅的网站会在显眼的位置(如网页底部、侧边栏或头部)放置一个RSS图标。点击这个图标通常会带你到RSS订阅链接页面。...比如我的博客的RSS地址在最下方: 介绍一个可以发现当前网页rss链接的浏览器插件,RSSHub Radar[1]: rss-radar 我这里介绍一些我常用的RSS源: ScienceDirect的论文...,访问你感兴趣的ScienceDirect期刊网站,使用刚刚提到的插件可以获取到rss链接。...我的博客RSS[6] 打开这些链接会发现,直接访问虽然可以看到包含了博客全部文章的标题、链接、简介等内容,但是不方便阅读,现在需要借助一个软件来解析网页进行阅读,同时实现文章更新通知。
我的思路很简单: Activity A保存为bitmap 把bitmap分割成两个子bitmap 子bitmap传递至Activity B 在Activity B的布局之上显示两个子bitmap 使用动画向外移出两个子...对于低内存或者大屏幕的设备来说,可能是很大的开销。如果你依然选择使用,请小心,并且不要过度使用。...但是我发现,最简单的实现方式,就是将他们以成员变量的形式放到一个公共区域中。所以,我创建了一个静态类用来持有子bitmap,所有的创建操作和动画逻辑,也都在这里个类里面,稍后会详细介绍。...我使用硬件加速(了解更多有关硬件加速动画,请阅读我最新发布的blog)并且在动画结束或者取消后,做了一些清理操作(如,移除硬件图层,把Imageview从Window窗口移除等等) 如何使用我的动画##...我曾反复思考,在尽量不限制开发者的情况下,如何最简单便捷的使用它。
它可以根据数据库的表自动为项目生产对应的实体类、Mapper、DAO,包括简单CRUD数据库操作(创建、查询、更新、删除)。解放了我们的双手,不必做重复性的机械工作。...datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 创建一个SpringBoot项目 以使用...--defaultModelType用于指定生成对象的样式,flat表示每一张表只生成一个实体类,这个实体类包含表中的所有字段。...-- 生成的实体类实现序列化接口 --> ...在Maven插件工具栏中,可以看到mybatis-generator插件,双击其中的generate选项即可,如下图: 构建成功以后,就可以看到生成的代码了,如下图: 验证自动生成的代码 验证之前还有一个步骤不要漏掉
此次峰会的主题是“数字化转型架构升级”,将通过一系列演讲、技术讨论和实战案例分享,探讨数字化转型对企业架构和业务模式的影响,以及如何在数字化时代下建立创新和灵活的 IT 体系。...目前本峰会已上线数字化场景下的业务架构、低代码实践与应用、国产软件优化迭代之路、多数据中心的分布式架构实践、软件质量保障、技术 - 产品 - 业务、高并发架构实现、架构师成长与团队搭建落地实践、大数据和人工智能融合...此外,本次峰会还将为参会者提供丰富的展览和交流机会。参会人员不仅可以在会场展示区了解最新的技术产品和服务,还可以与其他参会人员展开深入的交流,扩大自己的技术视野和人脉资源。...我们相信,本次峰会将为广大的 IT 企业架构师提供一个难得的机会,让他们加深对 IT 技术领域的认知,掌握最新的技术趋势和方向,为自己和公司创造更加灵活和创新的 IT 生态。...企业如何使用 ChatGPT 提升生产效率?这波人工智能浪潮之后,还会留下什么?不会使用这些先进生产力工具,会不会淘汰?等等。
目录 1 为什么要进行性能优化 2 Go中如何对性能进行度量与分析 3 常用结构、用法背后的故事 4 空间与布局 5 并发编程 6 其他 01、为什么要进行性能优化 对 Golang 程序进行性能优化,...类型的选择:强类型 vs interface 为降低可能的空间分配、拷贝,建议只在必要情况下使用 interface、reflect。...读=写时,建议用 courrentMap 3.3 hash 的实现: index vs map 在使用到 hash 的场景,除了 map,我们还可以基于 slice 或者数组索引的方式实现另外一种...string 的拼接 当前 Golang 中字符串拼接方式,主要包含: 使用+连接字符串; 使用 fmt.Sprintf; 使用运行时提供的工具类,strings.Builder 或者 bytes.Buffer...bigCache 的实现即为此。 在之前的一些开发中,我们使用了大量的基于 0 gc 的库,比如 fastcache 等。
但是我还有另外的一个问题:用户线程执行时不仅修改了对象引用关系,还新分配了新对象,我觉得这个情况是非常常见的,G1是如何找到并处理这些对象的呢?...换句话说,就是文章标题啦:G1收集器是怎么知道这些对象是什么时候应该进行垃圾标记的? 这是一个好问题,一看就是用心读了文章并带有自己的思考。很不错。...初识Garbage First(G1) 我不知道你是怎么知道G1的,但是我是从周志明大大的《深入理解Java虚拟机(第2版)》这本书里面第一次知道G1收集器的。...知道这个2048重要吗?我觉得不重要。 但是知道了就更牛逼呀!当妹子聊到2048的时候她只知道这是一个游戏,你要告诉她这个数字也是G1的Region的默认个数。 事了拂衣去,深藏功与名。 ?...这个bitmap是当前将要或正在进行的 Concurrent Marking 的结果,尚未完成,所以还不能使用。
本文首发于政采云前端团队博客:我在工作中是如何使用 Git 的 https://www.zoo.team/article/how-to-use-git image.png 前言 最近在网上有个真实发生的案例比较火...莫慌,按照下面我讲的四个步骤走,保证你可以顺利使用 Git 进行拉取代码! 下载 Git 下载地址 (https://git-scm.com/downloads) ,选择自己系统对应的版本下载即可。...要知道,当时的 Linux 的代码量已经很大了,通过人工管理的方式,一是容易出错,二是效率低。...这样,提交的历史记录不会被抹去,可以安全的进行撤回。 使用 git stash 来暂存文件 会有这么一个场景,现在你正在用你的 feature 分支上开发新功能。...此时,我正在开发一个新功能,修改了 1.js 文件里的内容 ?
写在前面 Nginx能够实现HTTP、HTTPS协议的负载均衡,也能够实现TCP协议的负载均衡。那么,问题来了,可不可以通过Nginx实现MySQL数据库的负载均衡呢?答案是:可以。...接下来,就让我们一起探讨下如何使用Nginx实现MySQL的负载均衡。...前提条件 注意:使用Nginx实现MySQL数据库的负载均衡,前提是要搭建MySQL的主主复制环境,关于MySQL主主复制环境的搭建,后续会在MySQL专题为大家详细阐述。...192.168.1.100 3306 Nginx实现MySQL负载均衡 nginx在版本1.9.0以后支持tcp的负载均衡,具体可以参照官网关于模块ngx_stream_core_module的叙述...Nginx实现MySQL的负载均衡就比较简单了。
明确目标 二、技术方案分析 在寻求我们的技术方案的时候、我们首先要明确我们想要的功能是什么 你知道自己想要什么,知道要去哪儿、当我们把需求、功能、拆解的很细的时候可以节约我们走弯路的时间(ps:不要问我怎么知道的...、可以做为编辑器使用,由于时间原因并没有深入体会、感兴趣的小伙伴可以看一下以下内容 contenteditable-MDN contenteditable实现编辑器,光标、输入法处理 基于contenteditable...技术实现@选人功能 富文本 (例:企业微信TAPD) 支持 文本、富文本、图片、拥有丰富的配置与强大的API。...如果您使用id,它就有重复的问题,这就意味着你不可能重用某个元素。 例:我再生成一个富文本组件就会初始化失败、因为id是唯一的。这就是为什么很多人推荐尽量少用ID的原因。...我就就可以做到:随时@ 随时插入的功能拉~ 五、Android、IOS、Web显示多端一致 每个端使用富文本都是不一样的、那我们应该如何做到统一数据统一呢?
看过这部剧后,我突然很想知道自己秃头是什么样子,于是查了一下飞桨官网,果然它有图片生成的模型库。那么,我们如何使用PaddlePaddle做出一个秃头生成器呢。 ?...模型就可以实现多个不同风格域的转换,它允许在一个网络中同时使用不同风格域的多个数据集进行训练。...AttGAN利用分类损失和重构损失来保证改变特定的属性 AttGAN算法是基于encoder-decoder结构的,根据所需属性对给定人脸的潜在表征进行解码,实现人脸属性的编辑。...STGAN的网络结构 STGAN差不多是AttGAN的升级版,Paddle的StarGAN不包含秃头属性,所以我们使用STGAN。STGAN效果预览如下所示: ?...待处理图片的尺寸接近 128 * 128 像素时,效果会比较好。 使用PaddleHub 如果觉得上面的比较繁琐,infer里的代码复杂,那么有一条直接的捷径。
中的具体源码实现,寻找两者的不同之处,最后思考它们使用时的注意事项。...非线性接口(图片来自网络) 数组 既然知道了什么是线性表,那么理解数组也就很容易了,首先数组是线性表的一种实现。数组是由相同类型元素组成的一种数据结构,数组需要分配一段连续的内存用来存储。...图我就不画了,像下面这样。 ? 双向链表 可以发现链表不必连续内存存储了,因为链表是通过节点指针进行下一个或者上一个节点的,只要找到头节点,就可以以此找到后面一串的节点。...ArrayList 扩容机制 我们都知道数组的大小一但确定是不能改变的,那么 ArrayList 明显可以不断的添加元素,它的底层又是数组,它是怎么实现的呢?...,那么扩容的机制是什么样子的呢?
授人以鱼不如授人以渔,接下来,我来分享下我是如何从熟读源码,再到手写实现的。 1. 找文档 我们要学习一套源码之前,首先要先了解它是干嘛的,这个时候很多人的第一反应是先上掘金、语雀、知乎等找文档。...重点说下后者,源码版本号很重要,不少源码随着版本迭代,发生了破坏性改动,不同版本对应的文档也不同,比如react-router5与react-router6,因此看文档的时候,一定检查下你看的文档版本号和你要学习使用的源码是否一致...首先,我们要先区分下不同的文件夹下放的都是什么,并不是每个都要去看的,比如React源码下有接近40个文件,很多人一看不就知道从哪里下手了, 其实这么多文件,平时我们要看的也就四五个核心文件,如果你不知道看什么...比如我想看createForm的实现逻辑,但是不知道代码在哪儿: 排序md的文档和test的测试文件,很容易就能找到了。 5....那写一个吧,写不出来就是不会~ 其实手写我通常是一步步实现,比如先写个最简单的demo,然后把api全部换掉,换成自己手写的,然后再挨个实现,一边看源码,一边整理思路,直到呈现和源码一样的实现。
领取专属 10元无门槛券
手把手带您无忧上云