Reading view

There are new articles available, click to refresh the page.

使用 Claude Code 中转商的风险

jqknono:

最近发现一些 AI 相关帖子下,存在 claude code 中转的小广告。

其中转的基本原理就是 claude code 允许自己提供 API endpoint 和 key ,可以使用任意一个 OpenAI API 兼容的供应商,就这么简单。

进一点 claude token ,再混入一点 qwen ,混着卖,谁能察觉?

这种图财的都算善良胆小的, 这才能挣几个钱?

真正值钱的必然在存钱的地方, 在重要数据上.

中转 API 的风险, 就和未加密的 HTTP 中转代理的风险一样, 是最简单的 MITM(中间人) 攻击.

首先, claude code 倾向读取大量文件,来生成高质量回答。中间人只需极其简单的代码,就可以使用关键字过滤出你的各种关键数字资产。

其次,绝大多数 claude code 被允许自行执行命令,能窥探的未必只有当前文件夹。尝试去理解 claude code 行为模式, 它可以被用来远程代码执行攻击. 虽然 claude code 会将自己下一步要做什么打印出来, 但诸位想想自己 vide coding 时, 所有 steps 都看了吗? 在一次超长时间的执行中, 中间人可以通知 cc 去搜索读取不相关文件的重要信息, 将这次读取直接中间人自己保存, 不加入计算的上下文. 在一次数万字的输出中, 仅中间有几十个字能显示它有可疑操作, 注意力就是你所需的一切, 但这时候你就是没注意.

第三, 自行执行命令除了读, 写也是基本操作, 给你的文件加个密, 能不能做到? 这条纯属我瞎想. 不过 git 操作很多人是给了权限的, 中间人插几句话, 给你的库加个 remote MITM, push 到 MITM, 再给你的代码库git reset --hard init一下子, 再试试来个 force push, 行不行? GitHub 自建的库默认就能 force push. 要几个比特币好? 大模型的 git 操作溜不溜, 用过的都有感受, 这通操作用不上 claude 4.0 sonnet, 那贵了, gemini 2.5 flash 足以, 勒索也要讲究成本.

我还见一些萌新 sudo 也给大模型, 还有的 root 一把梭, 一点安全意识没有.

现在网上在各评论区刷中转的人实在太多了, 安利中转的比安利 Claude Code 的都多, 天下无利不起早, 不要信它们.

MITM 能做的事, Anthropic 和 Google 是不是也能做到? 如何真正保护数字资产安全? 不像 AES 的公开可信, 大模型的这个你只能相信商誉.

别为了省一点钱, 忽略了自己的财产安全, 数字资产也是资产.

以上纯属被迫害妄想, 大家自己明辩, 也可友好讨论. 如果导致谁没有薅到便宜甚至免费的 Claude Sonnet, 不要怪我.

真开源跨平台电子书阅读软件 Readest,即将发布正式版本 1.0

chrox:

Readest 📚

经过 6 个月的高强度开发,开源电子书阅读器 Readest 项目共关闭了 685 个 Issue Ticket ,合并了 712 个 Pull Request ,即将发布 1.0 正式版!

Readest 是经典阅读器 Foliate 的 Tauri V2 重写版本,全面支持 macOS 、Windows 、Linux 、iOS 、Android 和 Web 平台,提供跨设备同步功能。目前已上架 App Store 和 Google Play ,支持 OAuth 社交登录和应用内购买。

预览:

Readest AnnotatorReadest FootnoteReadest WikipediaReadest Dark Mode

已支持功能列表:

  • 支持多种电子书格式:支持 EPUB 、MOBI 、AZW3 、TXT 、PDF 等多种格式;
  • 分页/滚动阅读模式:自由切换,适应不同阅读习惯;
  • 高效注释与标记:支持高亮、书签和笔记,轻松整理知识点;
  • 全文搜索与翻译:支持全文搜索,内置 DeepL 翻译工具和维基百科查询;
  • 双屏平行阅读:支持同时阅读两本书籍,满足学术研究和文本对比需求;
  • 个性化排版设置:字体、主题、颜色随心定制,专属阅读体验;
  • 内置同步服务器:500 MB 免费云存储空间,不限设备数量,登陆即可支持电子书、阅读进度、划线和笔记的多端同步;
  • 全书沉浸式翻译:无缝将整本书翻译为目标语言,支持双语显示模式,让你在阅读中自由切换语言;
  • TTS 语音朗读:支持 Edge TTS 和 MultiTTS 无限朗读书籍,多种音色可选,支持同一本书中使用多语言朗读。

未来计划支持的功能:

  • 与 Koreader 设备同步进度、划线和笔记;
  • 集成 OPDS / Calibre 线上书库;
  • 支持手写注释和导出笔记;
  • 支持高级阅读统计和书架管理;
  • 支持 AI 自动生成大纲摘要和问答。

立即体验 Readest !

❤️ 让阅读回归纯粹的乐趣!

项目地址

https://github.com/readest/readest

[社招] [组内直招] [滴滴] [北京] 工程推荐搜索方向

carlding123: 滴滴外卖,工程侧推荐搜索方向

上班地址:回龙观天空之城
上班时间:10:00 多 ~ 21:00
简历发送邮箱: carlding123@163.com

职责:
1. go 语言。语言不重要,随便转
2. 外卖店铺菜品等推荐业务,搜索业务,lbs 场景
3. 特征平台,特征生产等
4. ai 在外卖场景下应用等
5. 性能优化方面

滴滴外卖这边待着确实还挺舒服的,一堆 5+年员工
日常住观里头的话,骑电动车就可以上班,通勤体验极佳

也可以推外卖其他组,和其他老板有一些交集,最近应该有一些 hc

需要内推滴滴其他岗位,可以看链接找岗位
http://talent.didiglobal.com/social/list/1
杭州、成都也有 office ,也可以看看

欢迎来投

[北京] 头部电网公司电力人工智能调度系统招聘前端、后端

AllenDarwin:

后端开发工程师(头部电网公司电力人工智能调度系统)

岗位职责

  1. 系统设计与架构开发

    • 参与电力人工智能调度自动化系统的后端设计,支持底层算法应用集成的数据处理与接口封装。
    • 负责软件整体架构设计与系统集成测试,完成各关键功能模块的测试验证工作。
  2. 后台功能实现

    • 设计并实现软件 Demo 展示后台系统,支持快速验证与演示需求。
    • 配合研发需求,完成工程化相关工作,包括但不限于:
      • 技术文档整理与记录;
      • 功能测试与问题修复;
      • 接口规范设计与团队协作支持。

任职要求

  1. 学历与专业

    • 本科及以上学历,计算机、软件工程等相关专业优先。
  2. 工作经验

    • 2 年及以上后端开发或系统集成相关工作经验,具备复杂系统设计或人工智能项目经验者优先。
  3. 技术能力

    • 后端技术栈:
      • 精通 Python/Go 等后端语言;
      • 熟练掌握 Spring Boot/Django/Gin 等主流框架;
      • 熟悉 Docker/Kubernetes 容器化部署技术,具备实际工程部署经验。
    • 工程能力:
      • 具备较强的系统设计与实现能力,能独立完成接口封装、数据处理及性能优化。
  4. 软技能

    • 具备良好的团队协作能力,能配合研发需求完成系统设计与联调;
    • 有较强的问题分析与解决能力,注重代码质量与系统稳定性。
  5. 年龄要求

    • 年龄一般不超过 35 周岁。

前端开发工程师(头部电网公司电力人工智能调度系统)

岗位职责

  1. 前端交互开发与原型设计

    • 参与电力人工智能调度自动化系统的前端交互开发,完成原型( Demo )设计与功能实现。
    • 实现前后端数据交互,编写模块化、可维护性强的前端代码,优化前端性能(如加载速度、渲染效率)。
  2. 高性能前端架构设计

    • 根据研发需求,设计并构建高性能前端架构,包括框架搭建、模块化设计及核心业务逻辑开发。
    • 负责界面实现与功能集成,包括:
      • 操作日志采集通道设计;
      • “人在回路”协同优化机制构建;
      • 前后端联调集成与系统测试验证。
  3. 工程化支持

    • 配合研发需求,完成工程化相关工作,包括但不限于:
      • 技术文档整理与记录;
      • 功能测试与问题修复;
      • 接口规范设计与团队协作支持。

任职要求

  1. 学历与专业

    • 本科及以上学历,计算机、软件工程等相关专业优先。
  2. 工作经验

    • 2 年及以上前端开发经验,具备复杂系统开发或人工智能相关项目经验者优先。
  3. 技术能力

    • 前端技术栈:
      • 精通 HTML5 、CSS3 、JavaScript ( ES6+);
      • 熟悉主流框架( React/Vue/Angular )及其实现原理。
    • 智能体框架(任选其一):
      • 熟悉智能体( Agent )开发框架(如 Coze 、Dify 、LangChain ),具备实际搭建经验。
  4. 软技能

    • 具备良好的团队协作能力,能配合研发需求完成系统设计与联调;
    • 有较强的问题分析与解决能力,注重代码质量与性能优化。
  5. 年龄要求

    • 年龄一般不超过 35 周岁。

简历投递邮箱

yangsisi@neps.hrl.ac.cn

Drizzle ORM:轻量级数据库工具

leia:

Drizzle ORM:轻量级数据库工具

在上一章中,我们探讨了 Cloudflare D1 如何作为一款高性能、低成本的边缘数据库解决方案,彻底改变了我们对数据库架构的认知.

但一般来说,我们很少在项目里裸写 sql,所以我们需要一个能简化操作和开发的ORM工具,但市面上绝大多数的ORM对于这种ServerLess 数据库的适配很差,需要解决各种依赖问题。 那么在尝试了一圈后,发现Drizzle是最好的搭配方案,选择它最核心的理由是:它没有三方依赖、且对ServerLess这个场景非常友好。 Drizzle 地址,建议看文档,中文只是阅读起来快一点,精简一点。

Schema:数据模型定义

Schema 是 Drizzle ORM 的基础,它定义了数据库表的结构和关系。

基本表定义

以下是一个简单的表定义示例:

import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core'

// 定义用户表
export const users = sqliteTable('users', {
  id: integer('id').primaryKey(),
  name: text('name').notNull(),
  email: text('email').notNull().unique(),
  createdAt: integer('created_at', { mode: 'timestamp' }).notNull().defaultNow()
})

Schema 组织方式

Drizzle 允许你灵活组织 Schema 文件,可以选择单文件或多文件方式:

单文件方式

适合小型项目,将所有表定义放在一个 schema.ts 文件中:

// src/db/schema.ts
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core'

export const users = sqliteTable('users', {
  /* 列定义 */
})
export const posts = sqliteTable('posts', {
  /* 列定义 */
})

多文件方式

对于大型项目,可以将表定义分散到多个文件中:

📦 src
 └ 📂 db
    └ 📂 schema
       ├ 📜 users.ts
       ├ 📜 posts.ts
       └ 📜 comments.ts

命名约定转换

TypeScript 通常使用驼峰命名法( camelCase ),而数据库常用蛇形命名法( snake_case )。Drizzle 提供了自动转换功能:

// schema.ts
export const users = sqliteTable('users', {
  id: integer('id'),
  firstName: text('first_name') // 显式指定数据库列名
})

// 或使用自动转换
const db = drizzle(sqlite, {
  schema: { users },
  // 自动将 camelCase 转换为 snake_case
  casing: 'snake_case'
})

关系定义

Drizzle 支持定义表之间的关系:

export const posts = sqliteTable('posts', {
  id: integer('id').primaryKey(),
  title: text('title').notNull(),
  content: text('content'),
  userId: integer('user_id').references(() => users.id)
})

复用列定义

对于常见的列模式(如时间戳字段),可以创建可复用的定义:

// 通用时间戳字段
const timestamps = {
  createdAt: integer('created_at', { mode: 'timestamp' }).notNull().defaultNow(),
  updatedAt: integer('updated_at', { mode: 'timestamp' })
}

// 在多个表中复用
export const users = sqliteTable('users', {
  id: integer('id').primaryKey(),
  // ...其他字段
  ...timestamps
})

通过这种方式定义 Schema ,Drizzle 不仅提供了类型安全的数据访问,还能自动生成迁移脚本,大大简化了数据库管理工作。

数据库连接

Drizzle ORM 通过数据库驱动执行 SQL 查询。

数据库驱动就是指的一个中间层,负责将查询请求发送到数据库并处理返回的结果。Drizzle 支持多种数据库驱动,使其能够与各种数据库系统无缝集成。

基本连接方式

import { drizzle } from 'drizzle-orm/node-postgres'
import { users } from './schema'

// 创建数据库连接
const db = drizzle(process.env.DATABASE_URL)

// 使用连接执行查询
const usersCount = await db.$count(users)

Drizzle 的工作流程如下:

  1. 你的查询(如 db.$count(users))被转换为 SQL 语句(SELECT COUNT(*) FROM users
  2. SQL 语句通过数据库驱动发送到数据库
  3. 数据库返回结果,驱动将其转换为 JavaScript 对象
  4. Drizzle 将结果返回给你的应用

访问底层驱动

如果需要,你可以直接访问底层数据库驱动:

import { drizzle } from 'drizzle-orm/node-postgres'

const db = drizzle(process.env.DATABASE_URL)
const pool = db.$client // 访问底层 node-postgres 驱动

ServerLess 环境支持

Drizzle 原生支持各种边缘计算和 ServerLess 环境,这也是它与 Cloudflare D1 完美配合的原因:

// Neon 数据库( ServerLess PostgreSQL )
import { drizzle } from 'drizzle-orm/neon-http'
const db = drizzle(process.env.DATABASE_URL)

// Cloudflare D1
import { drizzle } from 'drizzle-orm/d1'
export default {
  async fetch(request, env) {
    const db = drizzle(env.DB)
    // 使用 db 执行查询
  }
}

特定运行时支持

Drizzle 还支持特定运行时的数据库驱动:

// Bun SQLite
import { drizzle } from 'drizzle-orm/bun-sqlite'
const db = drizzle() // 创建内存数据库
// 或
const db = drizzle('./sqlite.db') // 连接文件数据库

连接 URL 格式

数据库连接 URL 通常遵循以下格式:

postgresql://username:password@hostname/database_name

例如:

postgresql://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.neon.tech/dbname

其中:

  • username: 数据库用户名
  • password: 数据库密码
  • hostname: 数据库服务器地址
  • database_name: 数据库名称

通过这种简单的连接方式,Drizzle 让你能够快速开始使用数据库,而不必担心复杂的配置和设置。

数据库查询

Drizzle 提供了两种主要的查询方式:SQL 风格语法和关系式 API 。这两种方式各有优势,可以根据不同场景选择使用。

SQL 风格查询

Drizzle 的核心理念是"如果你懂 SQL ,你就懂 Drizzle"。与其他 ORM 不同,Drizzle 不会抽象掉 SQL ,而是拥抱它,提供类似 SQL 的 API:

// 查询示例
const result = await db.select().from(posts).leftJoin(comments, eq(posts.id, comments.postId)).where(eq(posts.id, 10))

// 生成的 SQL
// SELECT *
// FROM posts
// LEFT JOIN comments ON posts.id = comments.post_id
// WHERE posts.id = 10

基本 CRUD 操作

  1. 查询数据
// 查询所有用户
    const allUsers = await db.select().from(users)
    
    // 查询特定字段
    const userNames = await db.select({ id: users.id, name: users.name }).from(users)
    
    // 条件查询
    import { eq, like } from 'drizzle-orm'
    const filteredUsers = await db.select().from(users).where(eq(users.email, 'test@example.com'))
  1. 插入数据
// 插入单条记录
await db.insert(users).values({
  name: '张三',
  email: 'zhangsan@example.com'
})

// 插入多条记录
await db.insert(users).values([
  { name: '李四', email: 'lisi@example.com' },
  { name: '王五', email: 'wangwu@example.com' }
])
  1. 更新数据
// 更新记录
await db.update(users).set({ name: '张三丰' }).where(eq(users.id, 1))
  1. 删除数据
// 删除记录
await db.delete(users).where(eq(users.id, 1))

关系式查询 API

对于需要获取嵌套关系数据的场景,Drizzle 提供了更简洁的关系式 API:

// 获取用户及其所有文章
const usersWithPosts = await db.query.users.findMany({
  with: {
    posts: true
  }
})

// 结果格式
// [
//   { id: 1, name: '张三', posts: [{ id: 1, title: '文章 1' }, ...] },
//   ...
// ]

这种方式特别适合获取嵌套数据,Drizzle 会自动处理关联和数据映射,同时保证只生成一条 SQL 查询,避免 N+1 查询问题。

高级查询技巧

Drizzle 支持查询组合和分区,让你能够构建复杂而灵活的查询:

  1. 组合条件查询
// 动态构建查询条件
function getProductsBy({ name, category, maxPrice }) {
  const filters = []
  if (name) filters.push(like(products.name, `%${name}%`))
  if (category) filters.push(eq(products.category, category))
  if (maxPrice) filters.push(lte(products.price, maxPrice))

  return db
    .select()
    .from(products)
    .where(filters.length ? and(...filters) : undefined)
}
  1. 子查询
// 使用子查询
const subquery = db.select().from(staff).leftJoin(users, eq(staff.userId, users.id)).as('staff_users')

const result = await db.select().from(tickets).leftJoin(subquery, eq(subquery.staff_users.userId, tickets.assignedTo))

通过这些灵活的查询方式,Drizzle 既保持了 SQL 的强大表达能力,又提供了更简洁的 API 来处理常见的数据访问模式,让数据库操作变得既直观又高效。

数据库迁移

数据库迁移是开发过程中的重要环节,Drizzle 通过 Drizzle Kit 工具提供了完整的迁移解决方案。

Drizzle Kit 简介

Drizzle Kit 是一个命令行工具,用于管理 SQL 数据库迁移:

npm install -D drizzle-kit

Drizzle Kit 提供了多种命令来满足不同的迁移需求:

命令 功能描述
generate 根据 Schema 生成 SQL 迁移文件
migrate 应用生成的 SQL 迁移文件到数据库
push 直接将 Schema 变更推送到数据库
pull 从数据库拉取 Schema 并转换为 Drizzle Schema
studio 启动 Drizzle Studio 用于可视化数据库管理
check 检查生成的迁移文件是否存在冲突
up 升级之前生成的迁移快照

配置 Drizzle Kit

Drizzle Kit 通过 drizzle.config.ts 文件进行配置:

// drizzle.config.ts
import { defineConfig } from 'drizzle-kit'

export default defineConfig({
  dialect: 'postgresql', // 数据库类型
  schema: './src/db/schema.ts', // Schema 文件路径
  out: './drizzle', // 迁移文件输出目录
  dbCredentials: {
    // 数据库连接信息(用于 migrate 、push 、pull 等命令)
    url: 'postgresql://user:password@host:port/dbname'
  }
})

主要配置项包括:

  • dialect: 数据库类型('postgresql'、'mysql'、'sqlite' 等)
  • schema: Schema 文件路径,支持 glob 模式匹配多个文件
  • out: 迁移文件输出目录,默认为 './drizzle'
  • dbCredentials: 数据库连接信息
  • migrations: 迁移相关配置,如迁移记录表名称

迁移工作流

1. 生成迁移文件 (generate)

当你修改 Schema 后,可以生成迁移文件:

npx drizzle-kit generate

这将在 out 目录中生成 SQL 迁移文件,包含从当前数据库状态到新 Schema 的所有必要更改。

你可以通过 --name 参数指定迁移文件的名称:

npx drizzle-kit generate --name=init

这将生成类似 0000_init.sql 的文件。

对于需要自定义 SQL 操作(如数据填充)的场景,可以生成空白迁移文件:

npx drizzle-kit generate --custom --name=seed-users

然后在生成的文件中添加自定义 SQL:

-- ./drizzle/0001_seed-users.sql
INSERT INTO "users" ("name") VALUES('张三');
INSERT INTO "users" ("name") VALUES('李四');

2. 应用迁移 (migrate)

生成迁移文件后,可以将其应用到数据库:

npx drizzle-kit migrate

Drizzle Kit 会在数据库中创建一个名为 __drizzle_migrations 的表,用于记录已应用的迁移。你可以自定义这个表:

// drizzle.config.ts
export default defineConfig({
  // ...其他配置
  migrations: {
    table: 'my_migrations', // 默认为 __drizzle_migrations
    schema: 'public' // PostgreSQL 专用,默认为 drizzle
  }
})

3. 直接推送 Schema (push)

在开发环境中,可以直接将 Schema 变更推送到数据库,跳过生成迁移文件的步骤:

npx drizzle-kit push

这个命令会分析当前数据库状态和 Schema 文件的差异,并直接应用变更,适合快速迭代的开发阶段。

4. 从数据库拉取 Schema (pull)

如果你有一个现有的数据库,可以从中拉取 Schema 并转换为 Drizzle Schema:

npx drizzle-kit pull

这对于将现有项目迁移到 Drizzle 特别有用。

多环境配置

对于有多个环境(开发、测试、生产)的项目,可以创建多个配置文件:

📦 项目根目录
     ├ 📜 drizzle-dev.config.ts
     ├ 📜 drizzle-prod.config.ts

使用时指定配置文件:

npx drizzle-kit push --config=drizzle-dev.config.ts

Drizzle Studio

Drizzle Kit 还提供了一个可视化工具 Drizzle Studio ,用于浏览和管理数据库:

npx drizzle-kit studio

这将启动一个本地服务器,通过浏览器界面可以查看表结构、数据记录,并执行基本的 CRUD 操作。

完整迁移流程示例

以下是一个完整的迁移流程示例:

  1. 定义 Schema:
// src/schema.ts
import { pgTable, serial, text } from 'drizzle-orm/pg-core'

export const users = pgTable('users', {
  id: serial('id').primaryKey(),
  name: text('name').notNull()
})
  1. 配置 Drizzle Kit:
// drizzle.config.ts
import { defineConfig } from 'drizzle-kit'

export default defineConfig({
  dialect: 'postgresql',
  schema: './src/schema.ts',
  dbCredentials: {
    url: 'postgresql://user:password@host:port/dbname'
  }
})
  1. 生成迁移文件:
npx drizzle-kit generate --name=init
  1. 应用迁移:
npx drizzle-kit migrate

完整配置示例

以下是一个包含所有可用选项的扩展配置示例:

import { defineConfig } from 'drizzle-kit'

export default defineConfig({
  out: './drizzle', // 迁移文件输出目录
  dialect: 'postgresql', // 数据库类型
  schema: './src/schema.ts', // Schema 文件路径
  driver: 'pglite', // 特定数据库驱动
  dbCredentials: {
    // 数据库连接信息
    url: './database/'
  },
  extensionsFilters: ['postgis'], // 忽略特定扩展的表
  schemaFilter: 'public', // 要管理的 schema
  tablesFilter: '*', // 要管理的表
  introspect: {
    // pull 命令的配置
    casing: 'camel' // 列名命名风格
  },
  migrations: {
    // 迁移记录配置
    prefix: 'timestamp', // 迁移文件前缀
    table: '__drizzle_migrations__', // 迁移记录表名
    schema: 'public' // 迁移记录表所在 schema
  },
  entities: {
    // 实体管理配置
    roles: {
      // 角色管理
      provider: '', // 数据库提供商
      exclude: [], // 排除的角色
      include: [] // 包含的角色
    }
  },
  breakpoints: true, // 是否在 SQL 中添加断点
  strict: true, // push 命令是否需要确认
  verbose: true // 是否打印详细日志
})

多配置文件支持

对于管理多个数据库或环境的项目,可以创建多个配置文件:

📦 项目根目录
 ├ 📜 drizzle-dev.config.ts
 ├ 📜 drizzle-prod.config.ts

使用时指定配置文件:

npx drizzle-kit generate --config=drizzle-dev.config.ts

主要配置项详解

  1. dialect:数据库类型
    1. 可选值:postgresqlmysqlsqlitetursosinglestore
    2. 适用命令:generatemigratepushpullcheckup
  2. schema:Schema 文件路径
    1. 类型:string | string[](支持 glob 模式)
    2. 适用命令:generatepush
    3. 示例:'./src/schema.ts''./src/schema/*.ts'
  3. out:迁移文件输出目录
    1. 类型:string
    2. 默认值:'drizzle'
    3. 适用命令:generatemigratepushpullcheckup
  4. dbCredentials:数据库连接信息
    1. 类型:URL 字符串或连接参数对象
    2. 适用命令:migratepushpull
    3. 示例:
      dbCredentials: {
        url: 'postgresql://user:password@host:port/db'
      }
      // 或
      dbCredentials: {
        host: 'host',
        port: 5432,
        user: 'user',
        password: 'password',
        database: 'dbname',
        ssl: true
      }
      
  5. migrations:迁移记录配置
    1. 类型:{ table: string, schema: string }
    2. 默认值:{ table: '__drizzle_migrations', schema: 'drizzle' }
    3. 适用命令:migrate
  6. tablesFilter:表过滤器
    1. 类型:string | string[]
    2. 适用命令:generatepushpull
    3. 示例:['users', 'posts', 'project1_*']
  7. schemaFilter:Schema 过滤器
    1. 类型:string[]
    2. 默认值:['public']
    3. 适用命令:generatepushpull
  8. extensionsFilters:扩展过滤器
    1. 类型:string[]
    2. 默认值:[]
    3. 适用命令:pushpull
    4. 示例:['postgis'](忽略 PostGIS 扩展创建的表)
  9. entities.roles:角色管理配置
    1. 类型:boolean | { provider: string, include: string[], exclude: string[] }
    2. 默认值:false
    3. 适用命令:pushpullgenerate
    4. 示例:
      entities: {
        roles: {
          provider: 'supabase',  // 使用 Supabase 预定义角色
          exclude: ['admin']     // 排除 admin 角色
        }
      }
      
  10. strict:严格模式
  11. 类型:boolean
  12. 默认值:false
  13. 适用命令:push
  14. 作用:执行 push 命令时是否需要确认 SQL 语句
  15. verbose:详细日志
  16. 类型:boolean
  17. 默认值:true
  18. 适用命令:generatepull
  19. 作用:是否打印详细的 SQL 语句
  20. breakpoints:SQL 断点
  21. 类型:boolean
  22. 默认值:true
  23. 适用命令:generatepull
  24. 作用:是否在生成的 SQL 中添加 --> statement-breakpoint 断点(对于不支持在一个事务中执行多个 DDL 语句的数据库如 MySQL 和 SQLite 很重要)

结束

讲这个的主要目的是为了给大家普及一下海外批量应用的基础套件的知识,欢迎更多的了解下

公司倒闭,帮同事做背调,对方只关心有没有劳务仲裁

acbingo:

前司在去年年底倒闭了,前两天同事找到了新工作,过来拜托我帮忙做下背调。今天下午接到了背调公司的电话,对面的小姐姐第一个问题就是问离职原因,在了解到离职原因是公司倒闭后,立马问有没有做劳动仲裁? 我连忙表示没有。然后又问了一大堆其它问题,挂电话前又问了我一遍有没有仲裁,我坚定的表示确实没有。

要下班了,又想起此事,只有叹息,不知道该怎么骂,也不知道该骂谁。

为什么我们社会发展成这个样子?

我的第二个全栈开发项目:吃啥好呢 - 个性化美食推荐

jonssonyan:

之前分享了我的第一个全栈开发项目:舔狗日记,现在开源了,捞一下,可以看前文

开源地址: https://github.com/jonssonyan/dog-diary

新作品:《舔狗日记》舔狗舔到最后一无所有

新作品:吃啥好呢

个性化菜谱推荐与收藏系统,支持多条件定制、国际化、第三方登录,助你轻松解决“今天吃什么”的难题。

在线地址: https://eat.jonssonyan.com

开源地址: https://github.com/jonssonyan/what-to-eat

preview

主要功能:

  • 🍽️ 个性化菜谱推荐:支持饮食偏好、口味、烹饪时间、难度等多条件定制
  • ⭐ 菜谱收藏夹:一键收藏、管理你的专属菜谱
  • 🏷️ 用户称号系统:根据收藏数量自动授予等级称号
  • 🌍 国际化支持:中英文切换,界面友好
  • 🔒 第三方登录:支持 Google 登录
  • 📝 更新日志与反馈:随时查看历史变更,欢迎提出建议
  • 📱 移动端适配:良好的移动端体验

技术栈:

  • Next.js 14 (React 18):前端框架
  • TypeScript:编程语言
  • Tailwind CSS:CSS 样式
  • next-auth:认证和鉴权
  • next-intl:国际化
  • rate-limiter-flexible:限流
  • Prisma:ORM
  • MySQL:数据库
  • Docker:部署运维
  • Zod:参数校验
  • Winston:日志
  • winston-daily-rotate-file:日志滚动

部署:

一开始的时候我和大部分人一样部署在 vercel + supabase 上面,后来项目多了限制有点多,cloudflare workers 只支持 edge 运行时,目前看很坑。于是统一切换到自建服务器,使用 Docker 运维。

管理证书使用我自己手搓的 nginx-acme 自动申请和续签的 ssl 证书,使用 Nginx 作为网关+反代,通过域名转发至不同的服务器。

bash <(curl -fsSL https://raw.githubusercontent.com/jonssonyan/nginx-acme/refs/heads/main/install.sh)

欢迎 Star 🌟

准备把我开发这些作品过程中总结的全栈开发经验整理成在线文档,欢迎关注

这是一个产品经理转型自由教练的故事

zjuster:

V 站老用户了,从做产品的时候查询技术问题,到和大家讨论生活、讨论工作和转行,参与了不少话题。也在生活交易区里拿到了不少实惠,也很顺畅进行了很多二手交易。 这次专门发一个转行贴,帮助大家解决一些身体、健身和运动中的疑问。 惭愧的说现在转行刚起步还是比较困难的,所以也是希望在 V2EX 能找到一些机会 :)

前言

我是十五,杭州自由教练,健身博主。 曾经是是互联网大厂产品人,这是我的转型故事

正文

从小埋头苦读,不爱运动。高考考入浙大,从此扎根杭州,成为“新杭州人”。 毕业后机缘巧合进入 Ask.com ,踏上互联网快车。行业飞速发展,下班时间从 5 点延至 8 点、9 点…工作压力大、时间长,体重从 62 公斤飙升至 85 公斤,偏头痛、脂肪肝随之而来。

这一切被好友看在眼里,拉着我开始健身。从莱美 BP 、BC 团课起步(第一次 BP 直接练吐)。因工作繁忙常错过固定课程,便自学力量训练。 力量训练成了我解压的良方,生活中不可或缺的部分:再忙也要动一动。记得 20 年最忙时,晚上 11 点收拾文档去乐刻健身,馆里竟还有七八个人——互联网“牛马”名不虚传。

20 年公司因国际关系大裁员,我迎来首次职业 Gap 期。我选择系统学习力量训练,考取 ACE-CPT (美国运动委员会私人教练)认证。

ACE 的 IFT 模型为我打开了运动科学的大门,让我对健身有了全新认知。我开始鼓励并帮助朋友制定健身计划。虽然后因经济压力重返互联网,继续“朝九晚九”的生活,但我坚持每日运动,在健身房运用所学知识,帮不少“铁子”优化了动作。

现在,我决定告别互联网,专注成为一名自由教练。我**提供基于科学认证、产品逻辑与长期实践的健身解决方案,帮助朋友们科学运动。

结语

如果你也曾像我一样,因缺乏运动或高压工作导致精神紧绷、体重失控,甚至出现情绪低谷的前期征兆,欢迎私信聊聊。

希望我能帮你爱上运动,收获健康与活力!

联系方式

  • 小红书、抖音和视频号(一些训练 vlog 和健身教学):十五爱健身
  • 邮箱:本站 ID@gmail.com
  • 微信( base64 ):MTg2MjY4ODYxNzE=

想拿点钱做一些有波动的投资, A 股还是虚拟币?

ggp1ot2:

手里差不多 200 个,一直都是买非常稳定的货币基金/定存,稍微波动一点的就是买了一些债券(买了 50w 债券,有时候一天亏三四百,还有点受不了),年化整体可以有 3%。

最近几个月希望寻求波动,拿了 10w 左右去玩 A 股,没有玩个股,就是一些 ETF

因为没有任何相关经验,也没有一套成熟的交易系统,基本上也就是乱买,买入卖出时机也是比较随意。

比如身边人都说 xxETF 的时候,我也买点,涨一点就卖了(比如黄金、港股创新药之类的)

总感觉就是基本上韭菜的操作都占了吧(比如开始涨的时候感觉不能天天涨吧,真的涨了好几天就追高,然后开始跌的时候硬扛,直到总共亏了大几千才忍不住割肉,割了又开始涨了又不敢买)

玩了一段时间,亏了 1w 左右,复盘起来感觉这样玩基本上就是赌,所以既然是赌,是不是去数字货币玩更有可能蒙对?

不过又有种预感,这样玩,不论去哪最后都是亏完。所以是否有些固定的学习路线或者必备的知识?是否有一些不错的教程/站点/公众号可以学习一下或者感悟一下

另外,我总是想着是否可以做一些工具来辅助判断(本身技术栈还是可以的,本身是算法,数据科学相关方向,这几年自己也开发了一些前端后端数据库一个人一把梭的软件,加上现在有 AI ,感觉可以做很多事情),还是说这个想法也很韭菜?

最后,整体就是感觉有点迷茫,感觉不能再这样韭菜的折腾下去了,但是又觉得操作的过程,还是挺刺激的。。。。。

独立开发杂谈: 为什么你做的产品无人问津?

IMKONG:

最近一直想写几篇关于独立开发的一些所见所得,纠结是写博客还是发帖子。想了想自己想分享的东西,大多是一些零零散散的内容,最终觉得还是发帖子比较合适。

首先聊聊产品吧,在各种论坛我们总能看到有人发自己打磨的产品。众所周知,独立开发者或小团队,能赚到钱的,九牛一毛,能保本的,那都算不错了。

特别是个人开发者做的产品,经常逛论坛的朋友肯定都有一种感觉:这东西不是已经有了吗?这玩意有谁会用?这是所有独立开发者或创业者所面对的最老生常谈也最重要的问题:产品的目标群体是谁?

要知道,即使已经有目标群体,市场上的那些新产品都可能不被用户接受。而大多数独立开发者做的产品,几乎都是在不清楚真正的目标群体是谁的情况下完成的。只能说,除非命里该发财,不然全是无用功。

独立产品能做起来,最重要的几个要素是什么呢?这是一个特别难归纳总结的问题。要了解一个产品能不能行,最直接的,不如首先去了解产品的作者。

一、有理智

从个人角度来说,我觉得这是最重要的品质之一。所谓理智,就是知道什么能做,什么不能做,什么时候开始做,什么时候放弃做。不要一条路走到黑。要明白,能赚到钱和能持续赚到钱不是一回事。很多产品的初期,靠着在小圈子里宣发,确实能带来一部分付费用户,但是之后呢?如果没有持续的用户增长,没有来自企业的付费。过不了多久,随着竞争者的卷入,产品也就离死亡不远了。作为一名产品作者,没有理智是绝对走不远的。

二、有激情

激情所包含的意思很多,对自己所做的事情有信心、有干劲。然而这也是最要命的:有时候激情会胜过理智。盲目的激情不仅累垮了自己,也会让整个团队的人疲惫不堪。但是没有激情,如同没有理智一样,是绝对不行的。我认为这是必须要有的品质之一。特别是三四十岁以后创业的,没有激情特别容易陷入虚无和迷茫。

三、有本金

没错,要想赚钱,必先有钱。贫穷的创业者最致命的问题是:很多事情找个人帮忙就能做到六十分,但他会选择做二十分。导致最终的产品质量远低于同行水平。没有钱,要么所有事亲力亲为累死自己,要么延长产品的上线周期,这对做一些需要蹭热度的产品而言是致命打击。等产品做出来了,热度早过去了。

以上三点,理智、激情、本金都有了,产品也开发出来了,核心问题就出现了:为什么我宣传了但是效果并不好?

对于产品宣传这一块,至少百分之九十九的独立开发者,是无法做到、更没有能力做到有效宣传的。宣传,不仅仅是靠自己在论坛发帖,在群里发广告,在社交平台发视频。最重要的是:

一、人脉

认识目标群体中最知名的人。例如知名公司高管、知名独立开发者、知名老板。这些人的一个帮忙,比自己发帖高效百倍。而且带来的用户质量也是靠自己的发帖不能比的。高质量的用户通常也更愿意为好产品付费,一举多得。人脉关系好的,愿意免费帮忙宣传那就最好,关系一般的,就谈好价格,有钱好办事。最怕的就是谁也不认识,也没有引荐的人。

二、网红

这个就是纯粹砸钱,所以有本金很重要。网红的好处就是给钱办事,不用欠人情,甚至可以按量付费。大 V 的发帖能短时间带来大量人气和转发,用户付费率可能并不那么高,但对提高产品知名度非常有效。

三、宣讲

最后就是线下参加各种活动去宣讲,很多创业者和小老板都有自己的线下交流圈子,如果你只在网上活动,永远不可能认识他们。同样也不知道他们是不是你的潜在竞争对手,也没有办法及时调整自己的产品策略。

作为独立开发者或者创业者,只在网上创业,这条路实在太窄了。没有人脉关系、没有本金兜底、没有宣讲能力,投资人从哪里认识你?用户从哪里认识你?两者都没有,钱从哪里来?

所以,独立开发这件事从来没有真正地“独立”过。做独立产品就是做人,无人问津的人,做出来无人问津的产品。

SubsTracker - 订阅管理与提醒系统

JustW:

用 AI 做了一个基于 Cloudflare Workers 的轻量级订阅管理系统,帮助您轻松跟踪各类订阅服务的到期时间,并通过 Telegram,企业微信等发送及时提醒。这样就不用担心服务器的问题了,后期也不用考虑维护啥的了!

地址: https://github.com/wangwangit/SubsTracker

image

✨ 功能特色

🎯 核心功能

  • 订阅管理:添加、编辑、删除各类订阅服务
  • 智能提醒:自定义提前提醒天数,自动续订计算
  • 农历显示:支持农历日期显示,可控制开关
  • 状态管理:订阅启用/停用,过期状态自动识别

📱 多渠道通知

  • Telegram:支持 Telegram Bot 通知
  • NotifyX:集成 NotifyX 推送服务
  • 企业微信应用通知:支持企业微信应用推送
  • 企业微信机器人:支持企业微信群机器人通知
  • 邮件通知:基于 Resend 的专业邮件服务
  • 自定义 Webhook:支持自定义请求格式和模板

🌙 农历功能

  • 农历转换:支持 1900-2100 年农历转换
  • 智能显示:列表和编辑页面可控制农历显示
  • 通知集成:通知消息中可包含农历信息

🎨 用户体验

  • 响应式设计:完美适配桌面端和移动端
  • 备注优化:长备注自动截断,悬停显示完整内容
  • 实时预览:日期选择时实时显示对应农历
  • 用户偏好:记住用户的显示偏好设置

转发邮件太多到 outlook,被拒收了,大家有遇到这个问题吗

amrnxcdt: 我有自己一个域名邮箱,托管在 yandex mail 上,收件都是任意前缀比如 xxx@domain.com ,然后转发到个人版 outlook 里面。

这两天发现邮件少了很多,登录到 yandex 上看了一下,发现 yandex 转发的邮件被 outlook 拒收了。

outlook 拒收的回复是:
Action: failed
Status: 5.7.515
Remote-MTA: dns; outlook-com.olc.protection.outlook.com
Diagnostic-Code: smtp; 550 5.7.515 Access denied, sending domain
BANKOFCHINA.COM doesn't meet the required authentication level. The
sender's domain in the 5322.From address doesn't meet the authentication
requirements defined for the sender. To learn how to fix this see:
https://go.microsoft.com/fwlink/p/?linkid=2319303 Spf= Fail , Dkim= Pass ,
DMARC= Pass [TY4PR01MB15833.jpnprd01.prod.outlook.com
2025-07-10T09:54:47.521Z 08DDBDBB16D74A47]
[MW2PR2101CA0035.namprd21.prod.outlook.com 2025-07-10T09:54:47.572Z
08DDBF4CBAFA0A9A] [MWH0EPF000989E6.namprd02.prod.outlook.com
2025-07-10T09:54:47.581Z 08DDBF4953DF78C2]

文档的地址给出的发送方的解决方案,托管到服务商的大家有遇到、或者知道怎么解决吗?

公司网络自动登录怎么解决?

nananqujava: 公司网络连上后, 必须输入用户名和密码才能上网(第一次), 第二天来也得点下 wifi 按钮才能上网, 有办法可以用路由器桥接或者中继吗?

在路由器怎么才能实现自动登录, 或者自动访问那个链接呢

Browser-Use 使用求指导,不知道应该怎么做了

feiniu:

我想使用 browser-use (或类似浏览器自动化工具)从多个网站中自动提取我需要的数据。

例如:

我想在 A 网站上找到“XX 数据”, 同时也希望在 B 、C 、D 等多个网站上获取相同的“XX 数据”。

请问,使用 browser-use 是否可以实现这种跨网站的自动化数据提取?


这几天都在用 browser-use 测试,效果简直不忍直视。

主要是,各个网站的结构不一致,browser-use 不能做通用查找。

如果对某一个特定网站,我写好了 prompt ,还能拿到,但是换个网站就不行了

回收大模型 API 额度,开放平台,自定义价格

LemonLeon:

如果大家有闲置的 AI API 额度,可以丢 Poixe.com 上回收,独立后台,自定义价格,每一笔调用明细/收益均可查。

官方网址: https://poixe.com/

供应商申请表单: https://poixe.com/products/vendor/application

支持的模型系列如下(截止 25.7.10 ):

  • ChatGPT
  • Azure ChatGPT
  • DeepSeek
  • Claude
  • Gemini
  • Grok
  • Doubao
  • Qwen
  • 火山 DeepSeek
  • 火山 Doubao
  • 阿里云 DeepSeek
  • 阿里云 Qwen
  • 硅基流动 DeepSeek
  • 硅基流动 Qwen
  • Chutes DeepSeek
  • Chutes DeepSeek


Poixe AI 把你闲置的 AI 接口,变成真金白银

注意:V2exer 友友们提交申请后,可以评论区滴滴我给立即通过哦~

[广州-三七互娱-社招内推 最新汇总] 高级 AI 产品经理、 Java 全栈开发工程师(2hc)、运维开发工程师、基础运维工程师、高级客户端工程师 (iOS)、golang 后端...

yadoT: 高级 AI 产品经理

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=767fc95c-c794-4f30-9e75-2752bf325619&language=zh_CN

工作职责

1 、负责 AI 中台产品及游戏运营相关业务 AI 场景挖掘和应用落地,包括用户调研、竞品分析、AI 技术可行性评估、产品规划、产品设计、项目管理、数据分析等;
2 、对产品体验、AI 效果、产品价值负责,通过深入了解公司业务和算法技术,持续推动产品迭代;
3 、负责对接各事业线接口人、前后端开发、算法工程师等各方人员,整合资源,进行产品实施及项目跟进,确保项目高效高质完成。 任职资格 1 、本科及以上学历,3-5 年互联网产品或 AI 产品工作经验,熟练掌握 AI 产品相关知识和技能,熟悉 AI 技术原理(如深度学习、NLP 、CV 等),能与算法团队高效沟通技术方案;
2 、具有较强的自主学习能力,深度了解 AI 技术和市场 AI 产品,探索技术边界并转化为可落地的产品功能;
3 、具有较强逻辑思维和分析能力,对数据敏感度高;
4 、善于沟通与跨部门协作,具备强有力的工作执行力和推动力;
5 、抗压能力强,对工作有责任心,能积极主动完成工作,有较强的团队协作能力和良好的服务精神。


=======================================================

Java 全栈开发工程师

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=5fc6922f-e731-459c-b79f-62f7373e4f16&language=zh_CN

工作职责

1 、负责公司业务/研效/OA 等系统的开发及维护工作,对内部系统产品不断完善并优化,提升产品的稳定性;
2 、参与探索大模型的技术,并且在系统中落地,提升企业的生产效率;
3 、负责开发文档编写的规范与落地,沉淀可复用的基础能力,并完成高质量的代码实现和单元测试。
任职资格

1 、本科及以上学历,2 年及以上 Java 开发经验,掌握主流 Java 框架 SpringBoot 开发等;
2 、熟悉 Vue3 前端技术栈,有前后端项目开发经验,熟悉 Mysql 、Redis 、消息队列等常用组件的使用与调优;
3 、具备代码重构设计能力,熟悉设计模式者优先;
4 、责任心强,抗压能力强,具有良好的团队沟通与部门协作能力,热爱追求前沿 Web 技术或有 AI 应用知识储备优先。

============================================================
Java 全栈开发工程师(业务)

https://neitui.italent.cn/37wan/sharejobs/detail?shareId=8fc763bb-48ab-4984-9b71-14909ebfc1c5&language=zh_CN

工作职责

1 、负责公司游戏运营平台的开发及维护工作,对内部系统产品不断完善并优化,提升产品的稳定性。
2 、负责开发文档编写的规范与落地,沉淀可复用的基础能力,并完成高质量的代码实现和单元测试。
任职资格

1 、本科及以上学历,3 年及以上 Java 开发经验,掌握主流 Java 框架 Spring 开发、微服务开发等,了解使用 k8s 、docker 等容器技术;
2 、熟悉 Vue3 前端技术栈,有前后端项目开发经验,熟悉 Mysql 、Mongo 、Redis 、消息队列等常用组件的使用与调优;
3 、了解 Python 、Nodejs 者优先;
4 、责任心强,抗压能力强,具有良好的团队沟通与部门协作能力,热爱追求前沿 Web 技术或有 AI 应用知识储备优先。

=========================================================
基础运维工程师

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=1ec793e4-279f-4b5c-a435-36d6976ddd23&language=zh_CN

工作职责

1 、负责运维基础资源管理工作,包括 Linux 系统管理、监控排障、云资源规划和管理等;
2 、负责 WEB 业务运维工作,包括 web 应用程序部署对接,组件资源选型等;
3 、负责监控系统管理,维护现有监控系统,参与新监控需求的建设和开发等。
任职资格

1 、本科及以上学历,熟练掌握 Linux 操作系统管理及性能调优,掌握 Shell/AWK 等系统诊断工具;
2 、掌握计算机网络技术,熟悉 TCP/IP 、HTTP 协议,掌握 Nginx/Lvs/iptables 使用 ;
3 、熟练使用 Python/Go 开发运维工具,有 API 服务开发实践经验;
4 、熟练掌握 CI/CD 自动化管理技术,掌握 ansible 等自动化工具;
5 、掌握 Kubernetes 容器系统管理,有云资源规划和管理经验,熟悉云原生技术和 DevOps ;
6 、掌握 Prometheus/Zabbix 等监控工具使用。

=======================================================
运维开发工程师

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=7656772a-ee75-4345-87f5-f24393155a9a&language=zh_CN

工作职责

1 、负责运维自动化体系建设,包含:分布式监控系统、CMDB 、作业系统、日志系统等;
2 、负责自动化运维工具开发,提高运维、开发协作效率,规范操作流程;
3 、负责发布和变更相关管理系统开发;
4 、负责新技术研究,技术文档编写及推广。
任职资格

1 、本科及以上学历,计算机相关专业,有 3 年以上的运维开发相关工作经验;
2 、熟练掌握至少一种后端开发语言,如:Python ,Golang ,有优秀的编码能力。熟悉协程、多线程、多进程编程。对网络编程有一定的了解,有实际业务开发经验更佳。熟悉常用数据库比如:Mysql 、MongoDB ;
3 、熟悉前端开发语言 javascript ,了解前端开发框架 vue 、react 等,能够独立完成前后端分离项目的开发;
4 、善于从问题出发,对新技术、中间件有较好的敏感度,快速利用到业务中解决问题;
5 、对自动化运维体系有一定的统筹、架构能力,有实际项目落地经验。

=========================================================
高级客户端工程师 (iOS )

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=a0fee8df-71dc-4016-8bb8-69d81d72bd7a&language=zh_CN

工作职责

1 、负责 iOS 平台应用程序的开发和维护,参与产品需求分析、设计和开发工作;
2 、根据产品需求和 UI 设计,进行 iOS 应用的架构设计和编码实现,保障应用的稳定性和流畅性;
3 、对接第三方 SDK (如广告、统计、微信等),优化集成方案并处理兼容性问题;
4 、编写高质量技术文档,并高效顺畅的与工作上下游沟通对接;
5 、操作 ITC 后台(内购配置/版本管理/数据看板),确保提交的应用程序符合苹果审核指南;
6 、流畅阅读技术文档、撰写英文邮件。
任职资格

1 、3 年以上 iOS 开发经验,本科以上学历,计算机相关专业,计算机相关基础知识扎实;
2 、熟练掌握 Objective-C 和 Swift 语言,熟练使用 Xcode 及相关调试工具,有良好的编程习惯;
3 、熟悉主流游戏开发引擎、性能优化点及相关优化分析工具,对内存优化,卡顿优化,页面渲染优化有一定的经验;
4 、具备较强的学习能力及独立分析、设计、解决问题的能力;
5 、有良好的沟通、表达能力,具备强烈责任心和团队精神;
6 、深度理解苹果审核规则、掌握 ITC 后台操作。

==================================================
golang 后端开发工程师 (中高级)

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=e1308fb1-d9bc-47cb-b6c5-334e00190d83&language=zh_CN 链接虽然是资深,但实际上是招中高级的

工作职责

1. 主导平台增长业务系统的开发与优化,包括但不限于:私域运营管理中台、用户增长与活动系统、触达与用户召回平台;
2. 负责系统架构设计、性能优化和技术升级,确保系统高可用性、可扩展性和安全性;
任职资格

1. 5 年及以上服务端开发经验,精通 Golang 语言特性及生态系统;
2. 深入理解分布式系统架构,熟练掌握 MySQL 、Redis 、Kafka 等中间件的应用与调优;
3. 熟悉 Kubernetes 集群运行原理,具备微服务架构设计与治理经验;
4. 个人素质要求:
对技术有浓厚兴趣,具有持续学习精神;
良好的问题分析与解决能力;
优秀的团队协作与沟通能力;
5. 加分项:
有支付系统或用户增长平台开发经验;
有电商或游戏平台核心系统开发经验;

=================================================
数据分析师

链接: https://neitui.italent.cn/37wan/sharejobs/detail?shareId=72fb83fa-0779-4aa8-9116-00154ff092fe&language=zh_CN

工作职责

1.规划游戏分析重点,并独立完成数据分析相关工作,形成明确的结论及建议;
2.覆盖产品上线全周期,设计基础日志和业务指标体系,完成从日志采集到中间表再到报表/看板的搭建工作;
3.定期规划的某些游戏品类的深度分析报告,为项目组战略决策提供依据;
4.了解并熟悉 AI 的发展,协同数据中台产品经理,依赖 AI 设计和规划分析类产品和工具,为业务分析赋能,为流程化工具提效;
5.承接运营业务中台数据相关的工作流及场景化分析沉淀,对游戏中可能存在的数据异常进行及时预警,为项目组提供归因分析及应对策略;
任职资格

1.本科以上学历,数据、统计学、计算机、经济学等相关专业优先;
2.三年以上游戏数据分析经验,在市场分析、用户运营、活动运营等领域有一定的经验;
3.掌握统计分析方法(相关分析、线性和逻辑回归、决策树等),能够熟悉使用 SQL 语句;
4.有很强的责任心和主观能动性,良好的学习能力和沟通能力、项目推动能力;
5.热爱玩游戏,对游戏有一定的理解。
❌