Normal view

There are new articles available, click to refresh the page.
Today — 21 May 2025V2EX-最新主题

Airbnb China 招聘各个级别工程师(后端 or fullstack)

By: seekmm
21 May 2025 at 16:14
seekmm:

Airbnb China 招各个级别的 Backend Engineers: senior/staff/senior staff 都需要。 主要来负责做和客服相关的各种系统,面试纯英文,leetcode medium 左右算法+system design 。

Top pay, 全国远程办公,跨国限制性远程,WLB 极好,详情参考 https://careers.airbnb.com/positions/?_offices=china

可以找我内推(简历通过机率大一些)。 shi.lei@airbnb.com 请附上自己的刷题记录

有没有啥通用的服务节点监控框架?

By: lisxour
21 May 2025 at 16:14
lisxour: 我的需求是这样子的,我写了一些小服务,想着监控一下,但是不想为了这么点事情去专门上一个微服务架构,整东整西的,也学不动,就是有没有一种简单通用的监控框架、平台,节点自己通过规范的 api 主动 ping/pong 以及上报信息到平台上,这样子我自己封装一个简单的库,利用 webapi 、websocket 等等渠道,二三十行代码就 o 了,只管监控,不需要管负载均衡、熔断机制等等花里胡哨的。

有港卡没上车的抓紧了

21 May 2025 at 16:12
calvinclark:

TLDR

  • 不再要求存量投资者证明的时间!
  • 有香港银行卡就行!

专属微信群,和 V 友们一起交流投资! 为了方便大家实时交流开户进度、解决问题,以及后续分享投资经验,我还建立了一个长桥证券开户及投资交流微信群。

  • 实时提问: 任何开户问题都能在群里得到及时解答。
  • 获取最新信息: 掌握长桥的最新优惠活动和政策变化。
  • 交流分享: 和其他 V 友们一起探讨投资心得和市场动态。

满 200 人可加管理 张小龙 bGFtZXI5OTA2MTg=

IMG_0003.JPG

CleanShot 2025-05-21 at 16.06.15@2x.png

后续:外卖平台抽成太高了!我们能否共同打造一个属于劳动者的数字摊位?之 行动起来

By: ugugzh
21 May 2025 at 16:11
ugugzh: @所有人 感谢大家在上一帖中对“外卖平台抽成太高了!我们能否共同打造一个属于劳动者的数字摊位?”的热烈讨论!

让想法不仅是想法 现在,我们需要你!
🚀加入 Discord 社区 : https://discord.gg/xW4Wpk6C

与开发者、商家、骑手共同设计平台规则。

你可以参与的方向:

技术开发 :贡献代码( Rust/HoloChain/Solana 经验尤佳);
本地化试点 :提供医院/校园场景资源或地推支持;
法律与合规 :协助设计符合政策的运营架构;
治理规则设计 :参与制定佣金分配、纠纷处理等机制。

屠龙者不必成为恶龙——我们用规则和技术重新定义外卖生态!







回应高频质疑
🔍 “冷启动没人用?”

先服务高粘性场景(如医院周边),用户迁移成本低,且商家愿主动让利(如 qinrui 建议的小区试点)。
🛡️ “合规风险?”
壳公司+ADO 双轨运行

🧭 “DAO 治理效率低?”

采用“有限去中心化”——日常运营由志愿者小组负责,核心规则(如佣金比例)由社区投票决定。

请教有什么现成的方案能实现余号监控?

By: Ma4cus
21 May 2025 at 16:07
Ma4cus:

自己想挂某医院的专家号,但是号很少要抢,自己手动刷太麻烦,有没有现成的什么脚本方案能够实现余号监控? 挂号流程如下,微信平台进入专门的 h5 页面,页面上有一个日历控件,点击具体日期下方会显示一列不同时间段的号,如果有号 右侧有一个按钮显示‘余号 x’ 敢问大佬们有无什么方案能自动化这套流程?

腾讯云产品实习生招聘,坐标西安

21 May 2025 at 16:02
stardustree: 职位简介:
下一朵「云」如何智变,由你说得算,
你将成为腾讯云计算产品的 C 位担当,
你将布局强大的计算能力,构建高效的全球网络,探索前沿的技术应用,成为懂客户的代言人,从零到一梳理出高价值的产品文档,打造出行业领先的产品,
面对如此挑战的任务,你准备好了吗?

岗位要求:
必须具备的:
1 、计算机相关专业,或具备相关的技术背景,例如软件/硬件、网络/存储、人工智能/大数据等;
2 、对云计算、各大云平台有初步了解和认知;
3 、热爱技术,热爱产品;渴望用技术驱动产品,用技术改变世界;
4 、 优秀的逻辑思维能力、问题分析能力,对产品策划有激情;
5 、 良好的沟通能力、推动执行力和抗压能力。

感兴趣的可以发送简历到我的邮箱 cHBsaXVwcGxpdUAxNjMuY29t

关于要不要顶楼的讨论-姊妹篇

21 May 2025 at 16:02
csfreshman:

隔壁帖子( https://www.v2ex.com/t/1133099),有一些疑问单开一贴请教各位大佬

背景

我年初卖掉了深圳龙华一套老破小(步梯 7 楼,总高 8 楼)由于装修保养好,并且未来有拆迁的可能,所以卖的单价目前看是近 3 年高点,目前租在同小区,最近有看房(新房和二手),因此有些疑问请教各位朋友,欢迎拍砖、讨论。

先说下为什么卖房?

因为小区没有人车分流,对小朋友比较危险,而且步梯,老人年纪慢慢变大,最后就是有个“混不吝”的邻居,楼上俩娃,每天都是凌晨 1 点多睡觉,叮叮当当,搞的火大,反馈沟通后不但没解决反而变本加厉。

基于这个背景,所以卖掉房之后考虑买顶楼,了解了一些次新和老小区,调研了心仪的 7 8 个小区的顶楼数据发现(样本太少,存在以偏概全的问题,只基于调研数据讨论):

顶楼没有不漏水的,只是时间长短而已,良心点的开发商顶楼放水做的好,可以支撑 10~15 年。顶楼的优点目前我认为只有:楼上的噪音没有(或者很少,楼顶晾晒),电梯井的噪音也不小?去年深圳某楼盘燃气爆炸的事情其实也反馈除了高楼层 火宅等救援方面的不足,因此超高层的顶楼也被排除在外不考虑。

今年也看了深圳目前在售的新房,了解到有避难层(超过 50m 有一层,超过 100 米有 2 层),开发商销售说每年没有消防演习,避难层会放一些消防设备,除此之外没有别的噪音。有朋友了解这块吗?你会选避难层上下的楼层吗?

有没有哪个小区有避难层,这块可以在哪查到,实际去体验下或者厚着脸皮去采访下居住的朋友。

linuxmint 下钉钉无效的解决方案

21 May 2025 at 15:36
williampan:

linux mint 下钉钉又打不开了。执行一下命令就好了

cd /opt/apps/com.alibabainc.dingtalk/files/##钉钉版本(如果你升级会有多个目录,找最新的那个目录)##

sudo mv libstdc++.so.6 libstdc++.so.6.bak

sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

执行完成,终于登录的二维码出现了。留存一下。

Nuxt 的 SEO 实践

By: leia
21 May 2025 at 15:36
leia:

第 9 章:Nuxt 的 SEO 实践

1. 引言

Nuxt 框架在 SEO 方面的优势主要体现在以下几个方面:

  1. 服务器端渲染(SSR): Nuxt 默认支持 SSR,这意味着搜索引擎爬虫可以直接看到完整的页面内容,而不需要执行 JavaScript 。
  2. 内置的元标签管理: Nuxt 提供了比 Next 更简单的 API 来管理<head>标签,包括 title, meta 描述等关键 SEO 元素。
  3. 静态站点生成(SSG): 通过 nuxt generate 命令,可以生成完全静态的网站,进一步提高了性能和 SEO 友好度。

2. Nuxt 内置的 SEO 功能

Nuxt 框架内置了多个强大的 SEO 工具,让开发者可以轻松地优化他们的应用程序。让我们详细了解这些功能:

useHead 和 useSeoMeta 组合式函数

Nuxt 有 2 个组合式函数,使得管理头部元标签变得更加简单和灵活:

useHead: 这个函数允许你动态设置<head>标签的内容。

useHead({
  title: 'My Amazing Site',
  meta: [{ name: 'description', content: 'This is my amazing site built with Nuxt 3' }],
  link: [{ rel: 'canonical', href: 'https://example.com' }]
})

useSeoMeta: 这个函数专门用于设置 SEO 相关的元标签。

useSeoMeta({
  title: 'My Amazing Site',
  ogTitle: 'My Amazing Site - The Best Site Ever',
  description: 'This is my amazing site built with Nuxt 3',
  ogDescription: 'Experience the best site ever built with Nuxt 3',
  ogImage: 'https://example.com/image.jpg'
})

这两者最终达成的效果是一致的,都是在 head 里面去设置源数据标签,并没有很特殊的区别使用场景,只是有 ts 类型和进行结构简化了当使用 useSeoMeta 的时候。

动态元标签管理

Nuxt 允许你根据页面内容或路由动态地更新元标签。这对于创建独特的、针对每个页面优化的元描述和标题非常有用。

const route = useRoute()

useHead(() => ({
  title: `${route.params.productName} - Our Store`,
  meta: [
    { name: 'description', content: `Learn more about ${route.params.productName} and purchase it from our store.` }
  ]
}))

这个场景的考虑是这样的,因为有 lazy 标识,会直接进入页面进行客户端渲染,但因为是新进入页面此时请求还没有拿到数据,title 在浏览器上方显示的就是undefined-product, 而当请求结束后,因为data是一个响应式对象,会直接更新页面的title

const { data } = await useFetch('/api/products/[id]', {
  lazy: true
})
useHead(() => ({
  title: `${data.title}-product`
}))

这只是个小 demo ,更好的做法是,当没数据的时候,有一个 title 的占位标志文本。

自动生成规范链接( canonical URLs )

Nuxt 可以自动为你的页面生成规范链接,这有助于防止重复内容问题。你可以在nuxt.config.js中配置这个功能:

export default defineNuxtConfig({
  app: {
    head: {
      link: [{ rel: 'canonical', href: 'https://example.com' }]
    }
  }
})

这些语法糖能为 Nuxt 应用提供了坚实的 SEO 基础。在下一节中,我们将探讨如何使用 @nuxtjs/seo 模块来进一步增强你的 SEO 策略。

3. @nuxtjs/seo 模块

@nuxtjs/seo 是一个功能强大的 Nuxt.js 模块,专门用于优化网站的搜索引擎表现。它提供了一套全面的 SEO 工具,使开发者能够轻松实现各种 SEO 最佳实践。

功能介绍和使用方法

@nuxtjs/seo 模块主要提供以下功能:

  1. 自动生成和管理元标签
  2. 创建结构化数据( Schema.org
  3. 生成站点地图( Sitemap )
  4. 配置 robots.txt
  5. 提供动态 SEO 规则生成

要使用 @nuxtjs/seo 模块,首先需要安装:

npm install @nuxtjs/seo

然后在 nuxt.config.ts 文件中添加模块:

export default defineNuxtConfig({
  modules: ['@nuxtjs/seo']
})

在 nuxt.config 中配置 SEO

@nuxtjs/seo 模块允许你在 nuxt.config.ts 中直接配置 SEO 设置。

site 配置

site 配置定义了网站的基本信息,这是在使用 nuxtjs/seo 必须的:

export default defineNuxtConfig({
  site: {
    url: 'https://example.com',
    name: 'My Awesome Site',
    description: 'This is my awesome website',
    defaultLocale: 'en',
    enabled: true,
    debug: false,
    indexable: true,
    trailingSlash: false
  }
})

主要参数说明:

  • url: 网站的规范 URL
  • name: 网站名称
  • description: 网站描述
  • defaultLocale: 默认语言
  • enabled: 是否启用 site 配置(默认为 true )
  • debug: 是否启用调试模式(默认为 false )
  • indexable: 控制网站是否可以被搜索引擎索引(默认在生产环境为 true )
  • trailingSlash: 控制 URL 是否应该包含尾部斜杠(默认为 false ),尾斜杠应该是网站统一的,不然会出现索引页面分流的问题。

schemaOrg 配置

schemaOrg 配置用于生成结构化数据也就是ld-json

export default defineNuxtConfig({
  schemaOrg: {
    identity: {
      type: 'Organization',
      name: 'Example Company',
      url: 'https://example.com',
      logo: 'https://example.com/logo.png'
    },
    defaults: true,
    minify: true,
    reactive: false,
    enabled: true,
    debug: false
  }
})

主要参数说明:

  • identity: 定义网站或组织的身份信息
  • defaults: 是否启用默认的 Schema.org 设置(默认为 true )
  • minify: 是否压缩 Schema.org 输出(默认在生产环境为 true )
  • reactive: 是否启用客户端反应性(默认在开发环境或非 SSR 模式下为 true )
  • enabled: 是否启用 Schema.org (默认为 true )
  • debug: 是否启用调试模式(默认为 false )

robots.txt 配置

@nuxtjs/seo 模块允许你配置 robots.txt 文件:

export default defineNuxtConfig({
  robots: {
    UserAgent: '*',
    Disallow: '/private',
    Allow: '/',
    Sitemap: 'https://example.com/sitemap.xml'
  }
})

这将生成一个 robots.txt 文件,允许所有搜索引擎爬虫访问除 /private 目录外的所有页面,并指向你的站点地图。

sitemap 配置

站点地图配置会自动帮你生成文件路由的页面,如果你需要额外的内容,就使用 sources 配置, 添加一个 Nuxt 的 SeverApi 返回额外的结果。

export default defineNuxtConfig({
  sitemap: {
    enabled: true,
    sortEntries: true,
    sources: ['/api/sitemap-urls'],
    excludeAppSources: false,
    autoLastmod: true,
    sitemaps: false,
    defaultSitemapsChunkSize: 1000,
    include: ['/**'],
    exclude: ['/admin/**'],
    xsl: '/__sitemap__/style.xsl',
    discoverImages: true,
    discoverVideos: true,
    sitemapName: 'sitemap.xml',
    cacheMaxAgeSeconds: 600,
    sitemapsPathPrefix: '/__sitemap__/',
    debug: false
  }
})

主要参数说明:

  • enabled: 是否生成站点地图(默认为 true )

  • sortEntries: 是否对站点地图条目进行排序(默认为 true )

  • sources: 用于站点地图的数据源

    // server/api/__sitemap__/urls.ts 通常在这个位置定义
    import { defineSitemapEventHandler } from '#imports'
    import { characterUrls } from '~/characterUrls'
    
    export default defineSitemapEventHandler(async () => {
      const internalLinks = await $fetch('/api/internal-links')
      if (internalLinks) {
        const internalLinksNodes = internalLinks.map((link) =>
          asSitemapUrl({ loc: link, lastmod: new Date().toISOString(), priority: 0.8 })
        )
        return [...internalLinksNodes, ...characterUrls]
      }
      return []
    })
    
  • autoLastmod: 是否自动检测每个 URL 的最后修改日期(默认为 false )

  • sitemaps: 是否生成多个站点地图(默认为 false )

  • includeexclude: 用于过滤要包含或排除的路由

  • discoverImagesdiscoverVideos: 是否在预渲染时发现路由中的图片和视频(默认为 true )

  • cacheMaxAgeSeconds: 站点地图的缓存时间(默认为 600 秒)

  • debug: 是否启用调试模式(默认为 false )

4. Nuxt Content

内容是 SEO 的核心,Nuxt 社区当然有库来帮助你创建和管理 SEO 友好的内容。

使用 Nuxt Content 模块管理 SEO 友好的内容

Nuxt Content 模块是一个强大的文档驱动模块,它可以帮助你轻松管理和呈现 Markdown 、JSON 、YAML 、XML 和 CSV 文件。

  1. 安装 Nuxt Content:
npm install @nuxt/content
  1. nuxt.config.ts中配置:
export default defineNuxtConfig({
  modules: ['@nuxt/content']
})
  1. 创建 SEO 友好的内容:
---
sitemap:
  loc: /agreement/community-guidelines
title: 'My Amazing Blog Post'
description: 'This is a blog post about amazing things'
date: '2023-05-20'
---

// 内容

这个 sitemap 的配置项,会自动把这个链接添加到 Sitemap 中。

  1. 在组件中使用内容:
<script setup>
const { data } = await useAsyncData('home', () => queryContent('/').find())
</script>

<template>
  <ContentList v-slot="{ list }">
    <div v-for="article in list" :key="article._path">
      <h2>{{ article.title }}</h2>
      <p>{{ article.description }}</p>
    </div>
  </ContentList>
</template>

5. 常见 SEO 问题及解决方案

处理重复内容

使用规范链接( canonical URLs ):

useHead({
  link: [{ rel: 'canonical', href: 'https://example.com/original-page' }]
})

管理 404 和 301 重定向

  1. 创建自定义 404 页面:

创建pages/404.vue文件:

<template>
  <div>
    <h1>404 - Page Not Found</h1>
    <p>Sorry, the page you are looking for does not exist.</p>
    <NuxtLink to="/">Go back to homepage</NuxtLink>
  </div>
</template>

<script setup>
useHead({
  title: '404 - Page Not Found',
  meta: [{ name: 'robots', content: 'noindex' }]
})
</script>
  1. 实现 301 重定向:

nuxt.config.ts中配置重定向:

export default defineNuxtConfig({
  nitro: {
    handlers: [
      {
        route: '/old-page',
        handler: (event) => {
          event.node.res.writeHead(301, { Location: '/new-page' })
          event.node.res.end()
        }
      }
    ]
  }
})

解决 JavaScript 渲染内容的 SEO 挑战

  1. 使用服务器端渲染( SSR ): Nuxt 默认支持 SSR ,确保搜索引擎可以看到完整的页面内容。

  2. 对于动态内容,使用useFetchuseAsyncData,不加lazy的配置项就是在任何情况下都 ssr 渲染。加了之后意味着如果是通过 Nuxt 本身的 路由方式跳转过来的时候,会直接先进入页面,然后变成客户端渲染。而这对于爬虫是没有影响的:

<script setup>
const { data } = await useFetch('/api/products')
</script>

<template>
  <div v-for="product in data" :key="product.id">
    <h2>{{ product.name }}</h2>
    <p>{{ product.description }}</p>
  </div>
</template>

这一段内容本来应该是 Nuxt 里面最重要的一部分,但我们这个章节是讲 SEO~,就稍微了解一下 lazy 这个对于在 Nuxt 请求中非常关键的配置项!

  1. 使用<ClientOnly>组件包裹仅客户端渲染的内容:
<ClientOnly>
  <ComplexChart :data="chartData" />
</ClientOnly>

6. 结论

Nuxt 的 Seo 其实非常的方便,相对于 Next 都是配置形的,开发体验非常的好,且页面性能和一些用户体验上都会大于 Next ,比较中肯的说,不考虑社区问题,它几乎就是 SSR 前端框架的最佳实践。

外包被甲方投诉赔偿问题

21 May 2025 at 15:34
woaichihanbao:

先给大哥们说一下基本情况,小弟目前在一家公司干外包,在甲方公司驻场开发,今年 7 月底就满三年了,现在这边项目 6 月干完就要清退所有外包。 就在上周五下午我提前溜了,结果甲方那边项目紧急找我加班,我不想加班,而且不久就要走了(公司没加班工资和调休),然后就没回消息,电话也没接,相当于失联了一波,甲方很生气就去找我们本公司项目负责人联系我,我回复了他说我有事先走了。 这周一来,我们公司项目负责人就找我谈话,大概内容就是甲方员工很生气因为项目紧急找不到人,然后就说后续要投诉,如果这个事闹大了捅到公司领导那儿,公司领导一句话就把我开除了不给赔偿那种;或者就是后续谈赔偿 HR 压我赔偿,然后说我这种情况算旷工,公司有证据也不怕我去仲裁,这波还是把小弟吓到了,所以想问问大哥们这种情况咋说。 另外小弟我这三年基本都是全勤,打卡记录都是全勤,工作时间失联这种情况是第一次

Cooltools.top(官网搜索引擎)的搜索体验优化日志 2025 年 5 月

By: netqyq
21 May 2025 at 15:32
netqyq:

背景介绍

有些朋友可能不知道,先简单介绍一下 Cooltools.top。 建立这个网站的初衷是收集一些好用的软件和网站,比如自己经常使用的一些小工具。比如:Handshaker (电脑和安卓手机之间传输数据的),GIMP ( PS 的替代品),7-zip(Windows 下很好的一款压缩工具)等等。

慢慢地收集的工具多了,就越来越不好找,可能有时候记录在本地文件里,有时候记录在云笔记里。

因此,就需要建立一个网站来收藏,一方面方便自己使用,其他人也可以用。

有人说,为什么在用的时候不使用搜索引擎找呢?我说,搜索引擎不一定一下能找到,第一页都不一定能有。也有人说,为什么不用现成的导航网站呢,那么多选择。我说,那些导航网站还真不一定有我要找的,而且用户体验也很一般。

Cooltools.top 的定位和适用场景,能搜什么?都有什么?

cooltools.top 是一个官网搜索引擎和热门网站目录(导航网站)。支持快速查找官方网站,还收录了大众热门网站和分行业导航页面,可以点击右上角的 Menu 展开。它主要收录高质量或热门的官方网站的首页,不收录二级页面和文章详细页面。主要适合在 PC 环境下快速查找官方网站。当然了,手机浏览器也可以访问。

本次更新内容( 2025 年 05 月)

新增”即时搜索“功能,搜索结果会随着用户输入实时展示。过去用户在网站内只能浏览内容,检索功能有限,现在我们增加了站内即时检索功能,使得查找官网更加方便。

下面给出几个关键词示例:

  • email -> 邮箱有关
  • taobao -> 淘宝
  • music 163 -> 网易云音乐
  • icbc -> 工商银行
  • cmb -> 招商银行
  • 北京 -> www.beijing.gov.cn
  • bejing
  • 中国证券网
  • midea -> 美的集团
  • "bei jing zheng fu" -> www.beijing.gov.cn
  • vmall -> 华为商城

大家也可以搜索任何感兴趣的关键词。可以根据网站的标题,描述信息和域名进行检索。根据域名检索这个功能还是非常好用的,一方面它具备全球的唯一性,不容易造假和乱写;再一方面也具有品牌心智;还有就是比较简短。

内容全面性

目前收录的网站有限,很多官网可能搜索不到。如果您没有找到,那大概率是数据没有收录,数据会逐步完善的。您也可以直接提交网站

内容收录和筛查

因为有部分网站是自动抓取的,还没有来得及清理和筛选。比如:低质量网站,无法访问的网站等等。后续会逐渐清理出去。

检索准确性

目前限定检索结果为前几条,感觉没有比较增加更多条数和翻页功能。大部分情况下,前几条就够用了。如果您的检索结果在列表里面,但是没有在第一位,但是您强烈感觉它应该在第一位,这是排序算法和数据质量的问题,会逐渐优化,您也可以提交反馈。

问题反馈

大家有什么问题或建议都可以直接在下面留言,我看到一般都会回复和不定期查看的。你们也可以直接发邮件提建议。info@backdata.net

2025.05.21 现在国内市场上还有 5090/5090D 的显卡或者游戏主机吗?

21 May 2025 at 15:26
bluefalconjun:

今年 2,3 月份的时候 淘宝 京东 各大主机厂商和定制电脑店里面还有 5090D 的电脑...

关税战一起, 全下架了...

到现在还没有恢复, 去 PConline 一看 最新的谈 5090 显卡的帖子是今年 2 月份的...

什么情况 有业内人士讲讲吗? 想配个好电脑玩游戏 居然没有货...

招聘远程兼职 iGaming 平台前端开发工程师

21 May 2025 at 15:26
Papakitten:

代招人, 招完即止, 站内不回复. 职位描述:

  1. 负责平台级在线游戏网站 iGaming 应用产品的架构设计和开发工作;
  2. 负责前端前沿技术、理念的跟进、预研和落地;
  3. 负责前端技术架构、规范、研发流程建设;

任职要求:

  1. 熟练掌握 React, Next.js, TypeScript, Node.js 等方案和工具;
  2. 熟悉 SEO 优化策略,前端性能优化,前端安全策略等;
  3. 具备优秀的技术嗅觉、想象力、执行力和品格;
  4. 具备优秀的程序设计、架构和编码能力;
  5. 良好的产品意识,具备技术驱动能力。

优先条件:

  1. 有在线小游戏,大型 iGaming 平台 Web 系统研发经验优先;
  2. 拥有交易所 API 使用经验的优先;
  3. 有 Canvas 、WebGL 图形可视化开发经验者优先;

技术栈: 熟悉 React 及其周边生态,如 Next.js 、MUI 、Ant Design 等 熟悉 Nest.js 、PostgreSQL/MySQL 、GraphQL/Restful ,能设计和实现良好的后端 API 使用过自动化测试工具,如 Jest 、Vitest 、Cypress 等 熟悉前端构建工具如 Webpack 、Rollup 、Vite 等 有良好的工程素养,如代码风格、Git 工作流,能编写高质量的代码 熟悉计算机网络,了解分布式系统、常见安全问题即防范手段 熟悉后端系统常见架构和优化方式,比如缓存、负载均衡等 熟悉 Azure 或其他云计算平台(如 AWS 、Google Cloud 、Digital Ocean 、阿里云等) 较强的自学能力和开放的心态,不断学习新的技术、工具来提高整个团队的效率 根据产品设计梳理技术方案,并将产品落地推至上线

工作形式: 兼职,远程,薪资看能力和匹配程度, 发 u ;

有意的可以 tg 联系 david7190233 ,请附带简历或作品;

tg-antispam:一个 telegram 反垃圾用户和垃圾信息机器人

By: tlanyan
21 May 2025 at 15:20
tlanyan:

起因

本人在 telegram (电报)上有一个交流群 tlanyan 的博客,尽管用上了入群验证机器人,还是偶尔会看到垃圾信息,需要手动删除。今年以来明显感受到了垃圾用户正在污染群组和使用体验,如果某天没顾得上管理群组,可能就会看到类似刷屏的垃圾消息:

telegram 垃圾消息

注意到这些垃圾消息名称中都带有特殊字符,从列表中看到的用户也类似,因此最初以为只要屏蔽掉名字中带有特殊符号的用户就 OK 了:

telegram 垃圾用户

最初的想法是做一个简单的电报机器人,把通过了入群验证机器人的特殊用户封禁掉。后来通过抓包才知道,名字带有五角星的用户是 premium 用户,因此机器人演变成专杀 premium 用户的机器人!

tg-antispam 项目

为了实现屏蔽垃圾用户和垃圾消息的目的,本人开发了 tg-antispam 机器人,项目代码已开源: https://github.com/tlanyan/tg-antispam 。项目使用 Go 语言编写,经过一个多月的开发和迭代,这个机器人基本已经达到了可用的目的。

tg-antispam 机器人支持如下功能:

  1. 自动监控新加入群组的用户
  2. 识别并限制可疑用户,同时发送通知给管理员
  3. 监控群里的聊天消息,发现可疑消息封禁并通知管理员
  4. 支持管理解禁和用户自行解禁

使用本项目建议自行部署,体验或直接使用可添加机器人 @justgodiebot 到群里并设置为管理员。如果希望收到封禁的消息提醒,请先与机器人互动一次,通知的效果为:

antispam 机器人通知

其它

  1. 目前机器人实现的是简单的验证机制,因此建议配合其它入群验证机器人使用。如果没有入群验证机器人,本机器人也会限制新用户要求验证通过才能发言。

  2. 项目添加了使用 AI 判断用户发送的是否垃圾消息,目前接入的是 Google Gemini 模型。经测试使用 Gemini 2.0 Flash 模型时,许多垃圾消息都被判断为正常消息,因此还需要使用更好的判断机制;

  3. 其它问题欢迎留言反馈。

为什么清除缓存后,读文件的程序依然运行很快?

By: youthdou
21 May 2025 at 15:19
youthdou:

自己写的程序,通过 mmap 将一个大文件映射到内存,随机读取部分数据。

测试环境:虚拟机,ubuntu 22.04 ,机械盘。

第一运行时间大概在 20s 左右。

第二次运行前,运行“echo 3 > /proc/sys/vm/drop_caches ”,清除缓存。再次运行,运行时间 1s 左右。清了缓存,为什么仍然会快很多?

国强富强和普通人有关系吗

By: wen20
21 May 2025 at 15:00
wen20:

国强富强和普通个人有关系吗?

曾经日本富强吧?现在有很多老人养老金依然不够生活。 现在的美国富强吧? 流浪汉一点不少。

但,生活中,感受到国强的民众有自我优越感。

我的问题是,国强富强和普通个人有关系吗? 如果有关系,那到底是什么关系。 如果没关系,那荣耀和财富与我何干?

❌
❌