工作第一个十年如何结束

一个诡异的 Pulsar InterruptedException 异常

背景 今天收到业务团队反馈线上有个应用往 Pulsar 中发送消息失败了,经过日志查看得知是发送消息时候抛出了 java.lang.InterruptedException 异常。 和业务沟通后得知是在一个 gRPC 接口中触发的消息发送,大约持续了半个小时的异常后便恢复正常了,这是整个问题的背景。 ......
InterruptedException Pulsar

MQ收到无序的消息时如何进行业务处理

业务背景 跟第三方系统做对接,双方通过ActiveMQ进行通信,消息之间是有内在关联的,也就是消息本来应该是有业务顺序的,但由于一些原因,现在收到消息是乱序的,这种情况下做业务处理就有一点小问题了 方案一:自己重排序 收到消息后,自己在内存排序,然后按顺序丢到队列中,自己控制消息的发送和接收保证收到 ......
消息 业务

推荐一个Dapper扩展CRUD基本操作的开源库

在C#众多ORM框架中,Dapper绝对称得上微型ORM之王,Dapper以灵活、性能好而著名,同样也是支持各种数据库,但是对于一些复杂的查询,我们写原生的SQL语句问题不大,对于CRUD基本操作,我们同样也是需要写原生的SQL来实现,这个就比较麻烦了。 今天给大家推荐一个Dapper扩展库,来实现 ......
基本操作 Dapper CRUD

JavaScript 如何验证 URL

前言 当开发者需要为不同目的以不同形式处理URL时,比如说浏览器历史导航,锚点目标,查询参数等等,我们经常会借助于JavaScript。然而,它的频繁使用促使攻击者利用其漏洞。这种被利用的风险是我们必须在我们的JavaScript应用程序中实现URL验证的原因。 URL验证检查URL是否遵循正确的U ......
JavaScript URL

如何优化 Vue.js 应用程序

单页面应用(SPAs)当处理实时、异步数据时,可以提供丰富的、可交互的用户体验。但它们也可能很重,很臃肿,而且性能很差。在这篇文章中,我们将介绍一些前端优化技巧,以保持我们的Vue应用程序相对精简,并且只在需要的时候提供必需的JS。 注意:这里假设你对Vue和Composition API有一定的熟 ......
应用程序 程序 Vue js

如何定制一个智能洒水装置(养狗/养花人士请进)

目录 如何用智能地教狗狗上厕所 如何定制一个智能洒水装置 背景 上一篇文章中提到了,我实现了一个自动检测狗狗有没有进厕所的功能。现在我们家的狗狗用它那不算大的小脑瓜,已经百分百学会(但是!也不知道它是不是聪明过头了,如果我不在家、或者我在睡觉,那它就会乱拉乱尿,所以自动奖励程序还是很有必要性)在自己 ......
装置 人士 智能

如何优雅编写测试用例

转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/df5003b8.html 你好,我是测试蔡坨坨。 上次我们说到测试用例的设计(可参考往期文章「测试用例设计的底层逻辑」)。 当你学会了如何设计测试用例之后,接下来便是开始用例的编写。 在设计阶段,更准确的说应该是识别测试点 ......

金三银四来了-找工作有哪些平台/工具?

金三银四,年过完了,奖金(<=0)到手了,是时候出去看看了!但2023年的互联网“寒冬”好像并未褪去,就业环境依然不明朗,让大部分人都很迷茫。最近在看工作机会,就看了看家附近的公司和岗位,简单总结了一下用到的平台和相关工具,个人经验,仅供参考。 ......
找工作 工具 平台

golang拾遗:实现一个不可复制类型

这是golang拾遗系列的第六篇。这个系列主要用来记录一些平时不常见的知识点,偶尔也会实现些有意思的小功能,比如这篇。 golang拾遗系列目录: golang拾遗:指针和接口 golang拾遗:为什么我们需要泛型 golang拾遗:嵌入类型 golang拾遗:内置函数len的小知识 golang拾 ......
类型 golang

WPF 使用动画绘制一个点赞大拇指

效果图 好久没有写wpf了。 最近看到飞书的点赞动画非常有意思,决定试试,虽然不及飞书那样的绚丽,但是练手还是可以的,希望自己的手艺还在! 那么如何写一个这样的动画呢? 首先需要刨析这个动画的构成: 外圈圆 大拇指-1竖着 大拇指-2握着 颤动动画 中心旋转动画 展开中心旋转动画 当我们分析这些东西 ......
大拇指 动画 WPF

大神之路-起始篇 | 第1章.计算机科学导论之【基础绪论】学习笔记

前言:当前作为一名IT互联网从业者,计算机技术日新月异,每天都有新概念、新技术的出现,而像我这样的万金油来说,越学到后面就越吃力,遇到瓶颈问题也随之增多,因为本身非科班出身,加之半路出家,针对于计算机基础知识掌握不牢或者说是不完整,所以我痛定思痛,下定决心重新学习计算机相关基础知识,从计算机科学导论... ......
大神 绪论 导论 计算机 基础

云端智创 | 批量化生产,如何利用Timeline快速合成短视频?

本文内容整理自「智能媒体生产」系列课程第三讲:开发者实战,由阿里云智能视频云技术专家分享云剪辑Timeline的功能及使用方法、云剪辑OpenAPI的使用流程、短视频批量生产的基本原理以及使用Timeline合成常见的短视频效果。课程回放见文末。 01 Timeline简化之道 什么是时间线Time ......
云端 Timeline 视频

如何将 Autofac 整合进 Net6.0 Core MVC 项目中

一、前言 1、简而言之 Asp.Net Core Mvc,我也用了很长一段时间了,它现在的编程模型和方式还是特别棒的,都是组件开发,什么都可以替换,当然了,您别抬杠,有些还是不能替换的。自从我们进入了跨平台开发的时代,IOC容器也成了一个不可或缺的东西了。微软为我们提供了一个默认实现,那就是 ISe ......
Autofac 项目 Net6 Core Net

如何在Net6.0里配置多版本支持并支持注释说明的Swagger

一、前言 现在已经进入了微服务的开发时代了,在这个时代,如果有人问你什么是微服务,你说不知道,就有点太丢人了,别人会有异样的眼光看你,俗话说:唾液淹死人。没办法,我们只能去学习新的东西。一提到微服务,有一个绕不过的话题就是作为微服务的载体,WebAPI是离不开的。但是我们今天不讲WebAPI是什么, ......
注释 Swagger 版本 Net6 Net

我花16块得到了一个永久的微型服务器

前言 在上一篇文章中(我用 Python 写了一个统计博客园文章信息的小工具),我写了一个统计博客园阅读量的小程序,同时希望利用服务器每日统计一次,以获取一段时间内文章阅读量的变化情况。 但如果只是做这样一件事,去租一个服务器就有些大材小用了。 作为一个 DIY 爱好者,常年混迹于酷安、恩山等平台, ......
服务器

我用 Python 写了一个统计博客园文章信息的小工具

前言 博客园在个人首页有一个简单的博客数据统计,以博客园官方的首页为例: 但是这些数据不足以分析更为细节的东西。所以从年后开始,就想着做一个类似 CSDN 里统计文章数据的工具: 这样的统计功能可以更好的去分析读者对于内容的需求,了解文章内容的价值,以及从侧面认识自己在知识创作方面的能力。 程序 这 ......
工具 Python 文章 博客 信息

一个基于 gin+ grpc + etcd 等框架开发的小栗子

一、标准的项目结构 首先我们看一个标准的项目结构是什么样子的,github 上给出的一个示例:golang-standards/project-layout 二、服务注册与发现流程 三、etcd官方示例 服务注册和发现都可参考 etcd官网 的注册和发现流程。 1、服务注册 2、取消注册 3、使用租 ......
框架 etcd grpc gin

【Oculus Interaction SDK】(十二)Meta Quest 如何开启透视(Passthrough)

前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
Interaction Passthrough Oculus Quest Meta

花了半个小时基于 ChatGPT 搭建了一个微信机器人

相信大家最近被 ChatGPT 刷屏了,其实在差不多一个月前就火过一次,不会那会好像只在程序员的圈子里面火起来了,并没有被大众认知到,不知道最近是因为什么又火起来了,而且这次搞的人尽皆知。 想着这么火的 AI 完全可以好好玩一玩呀,于是就尝试着将 ChatGPT 接入到了个人微信中,实现在微信中调戏 ......
机器人 机器 ChatGPT 小时

如何去阅读源码,我总结了18条心法

大家好,我是三友~~ 这篇文章我准备来聊一聊如何去阅读开源项目的源码。 在聊如何去阅读源码之前,先来简单说一下为什么要去阅读源码,大致可分为以下几点原因: 最直接的原因,就是面试需要,面试喜欢问源码,读完源码才可以跟面试官battle提升自己的编程水平,学习编程思想和和代码技巧熟悉技术实现细节,提高 ......
源码

快速实现一个简单阉割版的HashMap

简单实现一个底层数据结构为数组 + 链表的HashMap,不考虑链表长度超过8个时变为红黑树的情况。 1.示例图 2.分析需求 put数据时: key值hash后的索引处没有元素,需要创建链表头节点,放到该位置的数组空间里。 key值hash后的索引处有元素,说明产生Hash碰撞,需要在链表中结尾处 ......
HashMap

在腾讯云上创建一个玩具docker-mysql数据服务

有时候开发需求会自己做一下测试数据,在自己电脑本地安装的服务多了电脑环境会搞的很乱,这时使用云服务器安装个docker服务是一个不错的选择。 下面步骤是在腾讯云上安装docker-mysql镜像,并导入数据,使用的过程。 服务端配置 首先使用ssh登录服务器,然后按照下面的步骤一步一步操作即可。 安 ......
docker-mysql 玩具 数据 docker mysql

Web 页面如何实现动画效果

Web 页面可以使用多种方式实现动画效果,其中最常用的有两种: CSS 动画:通过 CSS 中的 transition 和 animation 属性来实现动画效果。CSS 动画实现起来简单,性能消耗小,支持广泛。 JavaScript 动画:通过 JavaScript 代码来实现动画效果。JavaS ......
效果 页面 动画 Web

【十年奋战,一朝梦醒】6年后的归来,再看职场与自身发展

前言:再次感谢博客园,感谢园友,转眼间6年过去了,在这6年里经历了很多的事情,从技术角色,切换到创业角色,又切换到投资的角色。在路上,不断的探寻,不断的磕磕碰碰,蓦然回首,发现自己不再是当初那个“愣头青”,深夜沉思,发现自己内在依然是那个热血码农! 因为很久没有动笔写东西了,一时间不知道如何下笔。于 ......
职场

【技术与资本思维】技术创业如何看待融资

前言:有些意外,也很感激,上篇文章发布之后,还有朋友记得曾经的那个我,曾经的我们!因为经历的转变,角色的变化,尤其是投资的角色,很多园友私信和留言,想聊聊这方面。 这个话题背后的动机很明确:技术人员创业如何拿钱?技术型的产品的公司如何拿钱? 说简单,也是很简单,说复杂,聊三天三夜,都不一定说的完。我 ......
技术 思维 资本

DNS 是如何影响你冲浪速度的?

本文详细介绍了 DNS 相关知识,包括 DNS 工作原理、如何提升域名解析速度、以及 DNS 记录与报文等内容。 1. 域名与域名服务器 在日常上网过程中,出于好记的原因,人们更喜欢在浏览器中输入网站的域名,而不是 IP 地址。比如想要访问百度,则会输入 www.baidu.com ,而不是202. ......
速度 DNS

用Java写一个分布式缓存——RESP服务端

本篇我们将完成一个RESP的socket的服务端,初步完成一个单机版缓存。 另外我们还需要完成命令的动态路由。 源码:https://github.com/weloe/Java-Distributed-Cache ......
分布式 缓存 Java RESP

如何避免让线程摸鱼,请用异步技术 async await 拿捏他~

发现问题 你点了外卖后,会一直不做其它事情,一直等外卖的到来么? 当然不会拉! 我们来看看代码世界的: public void Query(){ // 当前线程 向 数据库服务器 发起查询命令 // 在 数据库服务器 返回数据之前,当前线程 一直等待,不干活了!!! var data = Datab ......
线程 async await 技术

基于NOSTR协议的“公有制”版本的Twitter,去中心化社交软件Damus用后感,一个极端走向另一个极端

最近,一个幽灵,Web3的幽灵,在网络游荡,它叫Damus,这玩意诠释了什么叫做病毒式营销,滑稽的是,一个Web3产品却在Web2的产品链上疯狂传销,各方大佬纷纷为其背书,到底发生了什么?Damus的葫芦里,卖的是什么药? 注册和简单实用 很少有什么产品在用户注册环节会有什么噱头,但Damus确实出 ......
极端 公有制 社交 Twitter 版本

一文详解如何在基于webpack5的react项目中使用svg

本文主要讨论基于webpack5+TypeScript的React项目(cra、craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的。 首先,假定您已经完成基于webpack5+TypeScript的React项目的搭建工作(如果您不太清楚搭建的背景, ......
webpack5 webpack 项目 react svg