跳转到内容
彼岸论坛

小天管理

管理员
  • 内容数

    16018
  • 注册日期

  • 最后上线

  • 得奖次数

    1

小天管理 发表的所有内容

  1. 骑行拍点视频,要求续航 4 小时,预算 2k ,求推荐
  2. 我是 Go 语言新手,感觉 Golang 发版发的挺勤快的,我学习使用这个语言时最新的版本是1.22.4 (发布于 2024-06-04 ) 自从安装完环境后就很少管,今天上官网看了下大版本更新已经出到1.23.0 (发布于 2024-08-13 )了,小版本更新也出到1.22.6 (发布于 2024-08-06 ) 之前论坛也有过讨论1.23 的新特性 range over func 帖子,帖子评论也说新特性有好有坏。 而且 Go 也有过从 1.21 开始不支持 Win7 的例子,虽然可以撤销数个 commit 让 1.21 、1.22 重新支持回 Win7 ,具体操作在这个帖子的第 22 楼和第 23 楼,但这总归不是好办法。 说不定哪个新版本就会导致现在旧的“屎山”代码不能编译或不支持旧系统,所以想问一下大伙用 Go 写程序时会追新版本吗?追大版本还是追小版本? 还是说你发任你发 我用 Java8
  3. 为什么会产生这个问题? 因为我写了一个有问题的代码,大概长下面这样 # 如下是一个简单的循环 l = ['abc' ,2 ,[1, 2, 3] ,4] for i in l: print(i) l.remove(i) print(l) 最后的输出是 abc [1, 2, 3] [2, 4] 踩坑的原因是,在遍历的时候,我根据一些条件去删除列表中的元素,然后偶然发现输出与我的预期并不符合。 原本的理解是next会依次返回后面一个元素,因此现在这个元素我删了也没事。 但是事实显然不是这样,列表产生的迭代器返回值好像是根据索引返回的 大模型的回答不同模型直接存在差异,因此在翻了一些 blog ,有一篇里面有句话如下所示 ==迭代器本身并不存储任何数据项,存储的只是一个指针,该指针指向可迭代对象中真正存储的数据项,它指向当前被遍历到的数据项索引位置,下一次遍历则向后推进这个位置== 所以再次来求助一下,迭代器的 next 是按照索引来获取数据的吗
  4. 母鸡 Windows 装在一块 2T 的 U2 硬盘上测速有 3G/s ,在 VMware 跑的 win 虚拟机磁盘测速竟然只有 760M/s ,损失了 7 成的磁盘性能,有点夸张。这是正常情况吗? 另外,这个再直通 Nvme 硬盘性能怎么样呢?找了下资料说 VMware Workstation 直通磁盘是假的啊
  5. 就是有个场景,有个任务要处理,任务必须串行执行 为了保证任务下发后不丢失 打算借助 kafka 的持久化,把任务丢到 kafka 中 后台服务有多个节点,也就是多个节点在消费 kafka 怎么样才能做到串行消费 kafka 的消息呢? 就是说,多个节点排队消费,第一个节点拿到消息后,如果没处理完,其他节点不能继续消费 搞了好久都没实现 又不想用数据库存储然后定时读取的方式(这种方式肯定没问题) 想通过这个功能,学会 kakfa 的使用 请假一下各位大佬,基于 kafka 能不能实现这个想法呢?谢谢
  6. 以前是可以改的 现在的设置只有很简单的几条 找不到以前修改每页显示搜索结果数量的选项了 请问除了在参数里添加&num=100 之外,还能不能通过选项设置修改
  7. 第三天了,不确定是掉了还是出血少一开始就没有血凝块,只有轻微的痛感。 没有血凝块那个洞还能长回去吗?
  8. 09 倒计时-电影.pptx
  9. 08商务风模板.pptx
  10. 07商务风模板.pptx
  11. 06商务风模板.pptx
  12. 这两天写了一个支持百万 QPS 的营销活动,把我想到的优化点全部用上了,甚至比一些工业级别的我感觉都优秀不少,在我自己的小水管,压不上去,如果哪位大佬有比较好的机器,欢迎压测一波,看看性能能到哪里去。欢迎大家沟通交流。 代码 github 链接 体检地址 点我 - 体验地址 优化点(难点、亮点) 代码中优化点用了 redis 预减缓存,随机比例获取奖品,高并发场景拦截大部分用户,乐观锁,mq 直接异步化发放奖品。基本上整个流程不会与数据库进行交互,瓶颈点几乎可以说是没有。这种架构,支撑百万,千万 qps 一点问题都没有。 核心发奖流程 public boolean grantPrize(String phone, String activity) { if (StringUtils.isAnyEmpty(activity, phone)) { throw new RuntimeException(ERROR_MSG); } // phone 为幂等键 String key = StrUtil.format(ACTIVITY_PHONE_LOCK, activity, phone); boolean success = RedisUtils.tryLock(key, redissonClient, () -> { //1. 幂等处理,这里还可以优化,因为 grantId 是一个唯一索引,插入失败就是重复领取,但可能失败次数会比较多 MktActivityPrizeGrant mktActivityPrizeGrant = mktActivityPrizeGrantDao.getMktActivityPrizeGrant(phone); if (mktActivityPrizeGrant != null && StringUtils.isNotEmpty(mktActivityPrizeGrant.getGrantId())) { throw new RuntimeException("请勿重复领取"); } // 2. 这里一个优化, 随机比例获取奖品,可以随时调整 int seed = ThreadLocalRandom.current().nextInt(0, 100) + 1; // 1-100 int random = NumberUtils.toInt(RedisUtils.get(CACHE_MKT_ACTIVITY_PRIZE_RANDOM, stringRedisTemplate)); if (seed > random) { //log.warn("随机比例被拦截 seed = {}, random = {}", seed, random); throw new RuntimeException("随机比例拦截 - " + ERROR_MSG); } // 3. 缓存预减库存 Long num = RedisUtils.decr(CACHE_MKT_ACTIVITY_PRIZE_NUM, stringRedisTemplate); if (num == null || num < 0) { // 将 redis 库存加回,可做可不做,看业务需求 RedisUtils.incr(CACHE_MKT_ACTIVITY_PRIZE_NUM, stringRedisTemplate); throw new RuntimeException("redis 库存不足 - " + ERROR_MSG); } MktActivityPrize activityPrize = activityCacheService.getActivityPrize(); // 4. 真正数据库减库存,并且插入发奖记录 // 如果 redis 预减库存成功,这里大概率会成功,基本不会失败,如果失败,放弃重试,失败重试会影响系统性能,重试次数越多,对系统性能的影响越大。 Boolean execute = transactionTemplate.execute(status -> { // 4.1 扣减库存 Integer update = mktActivityPrizeDao.occupyActivityPrize(activityPrize.getActivityId(), activityPrize.getPrizeId()); if (update == null || update <= 0) { //log.warn("mysql 扣减库存失败 update = {}", update); throw new RuntimeException("mysql 库存扣减失败 - " + ERROR_MSG); } // 4.2 插入发奖记录 MktActivityPrizeGrant grant = buildMktActivityPrizeGrant(phone, activityPrize); Integer insert = mktActivityPrizeGrantDao.insert(grant); if (insert == null || insert <= 0) { //log.warn("mysql 插入发奖记录失败 insert = {}", insert); throw new RuntimeException("mysql 插入发奖记录失败 - " + ERROR_MSG); } return true; }); return execute; }); return success; }
  13. 05商务风模板.pptx
  14. 04商务风模板.pptx
  15. 03商务风模板.pptx
  16. 先介绍下背景,坐标欧洲,家宽是墙上 RJ45 网口直接 DHCP 获取公网静态 IPv4 ,无 IPv6 ,这个 IPv4 似乎是跟着 MAC 地址的,只要 MAC 地址不变,这个公网 IPv4 就不变。平时插着一个小米路由器来用。 然后我有台旧的 ThinkPad ,运行 Win10 ,Windows Update 一直开着的,平时一直都会更新到最新版。很多年了一直 24 小时运行,当个服务器用,平时跑些东西,没跑 HTTP ,也有在路由器上映射一些端口方便公网直接访问,主要是 3389 和 SSH ( Windows 自带的 OpenSSH ),当然在公网上的端口不是 3389 和 22 ,不过现在这似乎并不重要,人家都是直接扫服务的。还有一些其它端口是做 Tailscale 的跳板,也就是把我的 Tailscale 其它一些设备的一些端口通过这台 ThinkPad 跳到公网上,方便在外面不需要通过 Tailscale 来直接访问我的 Tailscale 网络中的一些设备。直接用的是 Windows 的 portproxy 。 很多年了一直很稳定,这 ThinkPad 从来没死过机,没出过问题,平时基本就在旁边吃灰。 然后今年 6 月 24 日我回国休假,记得 6 月 25 日我还在国内试着连了下这 ThinkPad 的 3389 ,看看速度啊啥的,也没用来干啥事。然后 26 号以后就连不上了,Tailscale 也显示这台机子离线。当时我也没管,因为想着可能死机了或者网崩了啥的,无所谓了到时回去了再看看怎么回事。 然后今天刚回到欧洲,诡异的事情来了!!!!! 第一件事是先发现 WIFI 上不了网,手机能连上小米路由器 WIFI ,但是无网络,登后台页面说 DHCP 无响应。以为路由器出了什么幺蛾子,第一时间重启路由器嘛,还是不行。 然后看了下 ThinkPad ,发现 ThinkPad 死机了,按大小写灯不亮,屏幕也不亮,先没管,想着先去弄好网络先,看看网络怎么回事 插拔了几次网线/重启路由都提示 DHCP 无响应,于是试试直接把网线插电脑上,但是网线插我电脑上又能获取到 IP 能正常上网,第一反应是路由器 WAN 口的 MAC 地址被运营商封了?然后路由器 WAN 口改个 MAC 地址,马上能获取 DHCP 能上网了,但是没过几秒又断网了,然后 DHCP 又获取不到地址了,像是被秒封了(划重点!)。 这时无意间看到 ThinkPad 连着的交换机灯在狂闪( ThinkPad 通过一个千兆有线交换机连到小米路由 LAN 口,此时交换机上没有除了 ThinkPad 和小米路由之外的设备),这时还是死机状态,连的显示器不亮,按大小写键盘灯不亮,风扇也不转说明 CPU 不热),于是我长按电源键强行关机重启了下 ThinkPad 。一重启网马上就正常了,小米路由 DHCP 马上有响应,马上能上网,甚至路由 MAC 地址都没改,然后改回路由默认的 WAN 口 MAC 地址也能正常上网正常获取 IP 了,一切都恢复正常了。 妈也,细思极恐,不知道是不是我的 ThinkPad 被黑了有人做肉鸡一直 DDoS 啥的然后导致一插网线就被运营商封?现在我也还原不了现场了,ThinkPad 重启后一切都正常了,不知道当时交换机灯狂闪在那闪什么,早知应该当时直接把路由器 WAN 口插电脑上然后开 Wireshark 抓个包。 看了下 ThinkPad 的 Windows 日志,系统那一栏没有什么异常,到 6 月 26 号晚上 19 点之后就没有了,像是突然死机的那种。 然后安全那一栏能看到很多登录失败的,像是 3389/SSH 被爆破 以前也遇到过也没什么,我也没弱密码,单纯爆破应该发生不了这些事情 对了,这台 ThinkPad 上还装有火绒,基本上只打开了文件监控和下载防护,火绒没杀到什么毒,今天也 Windows Update 了一波,那个恶意软件删除工具也没杀到东西。简单看了下进程啥的都没有异常。 这一切事件太诡异了,首先之前这么久从来没出过问题,稳定得一逼,偏偏在我回国休假第二天出的问题(难道我被搞了?),然后死机就死机吧,这死机的时候交换机灯还狂闪还搞得上不了网,虽然我不知道是不是真的是 ThinkPad 发出什么有问题的包被运营商封,但是一强行关机重启马上就正常。而且当时确实路由器改 WAN 口 MAC 地址之后得了这么几秒,然后又一模一样的现象了,直到重启 ThinkPad ,真的太诡异了。 害,有没有哥们支下招,有什么要检查的,最好能查查到底发生了什么
  17. 今天说我学校是民办本科,不符合集团要求,给两个选择,要么拿 n ,要么转为派遣员工(工资涨 10%),5 年老员工没想到,今天还当正面试官...
  18. 懂点不赚钱的时候就会到处吆喝希望能吸引点韭菜。 赚钱了,都在防泄露,防竞品知道,哪还那么多分享。
  19. 背景 在某个节点上,容器进程 A 默认是将数据包发给容器进程 B ,考虑到进程 B 升级,需要将流量转到其他机器上。 尝试 使用 ebpf 劫持 connect 系统调用可以做,以及使用 tc-ebpf 实现 nat ,但是被否了!理由是不够安全,存在影响其他容器的风险。 有大佬说可以使用 tc mirror 将流量镜像到 tun ,走隧道,发给本地进程 B 的就 drop 掉(暂时还没弄明白,可不可行,有无大佬解答) iptables contrack 被禁止使用,导致无法使用其 nat 能力。 求问实现如上功能的方式
  20. 家里有 anker Q20 和 Q30 耳机,都配了 3.5mm 直连耳机线。奇怪的是,Q20 配的 3.5mm 耳机线接手柄就有声音。Q30 配的耳机线插到手柄上就没有反应。 而且这个只跟耳机线有关,另一头的耳机没关系( Q20 线加 Q30 耳机也能工作,Q30 线配 Q20 耳机还是不识别)
  21. 你可以用这个网站来整理和保存你经常会使用的 prompt ,同时网站还有个很有用的功能————prompt 嵌入,你可以在 prompt 中设置占位符,后面再次使用 prompt 的时候只需要指定占位符的值就能快速生成 prompt 。 具体功能可以点进去查看,这个网站原本是基于我自己的需求开发的。 点击这里访问:Promptcove
  22. 自己做了一个跨平台剪切板同步工具,支持手机,电脑。不管是 macos ios window 鸿蒙都支持。 体验地址: https://gcopy.rutron.net 项目 Github 地址在上面链接里面 因为平时工作用好几部设备 比如 mac windows 和 ios s 之间想同步点东西好难。同时比较使用了很多同类产品每一个是自己想要的。 他们要么是局域网要么收费 要么要各种安装客户端很不方便 所以我这个不需要你安装,web 的,邮箱登录就能用。 公司安全软件也也扫描不到,哈哈哈🤣 退出来半年多吧。收到了很多支持和意见,希望你也喜欢。
  23. 当前 YouTube 的锁卡政策已经在全球生效,网页通过挂代理的方式已经无法开通低价区?
×
×
  • 创建新的...