V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  dream4ever  ›  全部回复第 15 页 / 共 31 页
回复总数  605
1 ... 11  12  13  14  15  16  17  18  19  20 ... 31  
2021-10-09 08:46:31 +08:00
回复了 gabon 创建的主题 Google 为什么最近 Google 搜索会出现这么多垃圾靠 seo 的站点
@phithon 这些垃圾网站太特么恶心了……
2021-09-25 07:11:35 +08:00
回复了 lurker 创建的主题 程序员 居家远程工作两年的分享与思考
@zzhzero 楼主在第一段就说了,在公司所在地缴纳。
2021-09-25 07:11:06 +08:00
回复了 lurker 创建的主题 程序员 居家远程工作两年的分享与思考
@lurker 两代人的确分开住更合适一些,生活习惯,作息规律,各个方面都不一样,住在一起很容易产生矛盾。
2021-09-23 08:37:13 +08:00
回复了 kaiduo 创建的主题 Node.js 深入学习 NodeJs 系列
Node.js 为什么要写成 NodeJs……
2021-09-22 08:41:11 +08:00
回复了 tukon479 创建的主题 程序员 用 nestjs 重构了下个人空间后端
我也分不清楚,看得各种头大,哈哈
```js
const query = {
nickname: { $regex: nicknameReg }
}

if (id) {
query._id = ObjectId(id)
}
if (status) {
query.status = status
}

const findList = await userModel.find(query)
```
2021-09-09 08:34:57 +08:00
回复了 zhoudaiyu 创建的主题 程序员 看到有大佬分享故障排查的过程,就觉得紧张刺激
真遇到重大事故又找不着头绪的时候,心里就完全不是这种感觉了……
2021-09-04 11:31:32 +08:00
回复了 IvanLi127 创建的主题 React React 生态里的 umi.js,很好用吗?
@noe132 这代码看着 真舒服,好评。
@sagaxu 我一同事负责的一项业务有不少 SQL 查询,前一段时间发现服务器 CPU 经常飙到 100%,排查来排查去发现一堆慢查询,最后追根溯源发现数据库各个表所有被查询到的字段都没有设置索引……
@wh469012917 他们这个智商,就告别这一行吧
2021-08-12 10:01:51 +08:00
回复了 dream4ever 创建的主题 MongoDB MongoDB 按题型保持一定比例抽题
@no1xsyzy 小黄鸭调试法很久以前就看到过,不过一直都没有很好地践行这个方法,工作好几年了,感觉工作的方法和习惯还是很原始 @_@
2021-08-11 17:36:47 +08:00
回复了 dream4ever 创建的主题 MongoDB MongoDB 按题型保持一定比例抽题
@xuanbg
@no1xsyzy

我这几天又思考了一下这个随机抽题的需求和实现思路,整理后的内容如下,欢迎指正:

前提:
1. 题库中一共有 N 道题。目前这个 N 为四位数,且在可以预期的未来,也不会有大量的增长。
2. 每道题目均为单选题、多选题、判断题中的一种。
3. 单选题、多选题、判断题的数量之比为 N1 : N2 : N3,且 N1 + N2 + N3 = N 。

需求:
1. 对每个用户来说,在每一轮游戏中,系统会将题库中的这 N 道题目,最多只有一次地、随机地呈现给用户,让用户回答。
2. 如果用户答对了题库中的所有题目,或者答错了 1 道题,则本轮游戏结束。
3. 为减轻系统负担,对于题库中的 N 道题,每次从中抽取 M 道题,全部抽完假设共需 L 次。对于每次抽取到的 M 道题,单选题、多选题、判断题的比例,尽量保持在 N1 : N2 : N3 这个比例上,也就是和这三类题目在总题库中的比例尽量相同。
4. 对同一个用户而言,各轮游戏的题目出现顺序应当不同,比如某一轮最开始拿到的题目是 1 、5 、9 、7,下一轮就不能也是这个顺序了。对于不同用户则没有要求。

大致实现思路:
1. 由于题目数量不多,可以在数据库中给题目增加一个序号字段,用自增的正整数来标记每一道题目的序号。
2. 在每个用户的每一轮游戏开始前,将所有题目的序号按题目类型进行分组,发给用户。例如用户收到的数组是
arr = [[1, 5, 7, 10, ...], [2, 3, 4, 8, ...], [6, 9, 11, 13, ...]],那么 arr[0]、arr[1] 、arr[2] 分别是所有单选题、多选题、判断题的序号。
3. 由于在一轮游戏中,每一次需要抽取 M 道题目,那么可知需要抽取单选题的数量为 Q1 = M * N1 / N,多选题为 Q2 = M * N2 / N,判断题为 Q3 = M * N3 / N 。
4. 前端在 arr[0] 中随机抽取 Q1 个元素为单选题的序号,在 arr[1] 中随机抽取 Q2 个元素为多选题的序号,在 arr[2] 中随机抽取 Q3 个为判断题的序号,并将这三组序号分别从 arr[0]、arr[1]、arr[2] 中移除。
5. 前端用这三组序号,从后端抽取 Q1 + Q2 + Q3 共 M 道题目并呈现给用户,让用户答题。
6. 如果这 M 道题用户全部回答正确,则重复第 4 、5 两步,继续抽取新的 M 道题给用户,直到用户答对所有题目,或者答错 1 道题目。

上面这个思路把抽题功能的主要部分交给了前端来做,感觉这样后端的负担可以小一些,也是对后端不够熟悉,就选择了这么一个相对比较取巧的办法。

PS:在整理这个需求和实现思路的时候,发现自己的表述的确不够清晰准确,就上面这段文字,来来回回修改了好几遍,用了两个多小时才完成,就这还是感觉表达得不够好,知易行难呐。
2021-08-11 15:10:17 +08:00
回复了 Smash 创建的主题 程序员 求推荐个 Node.js 的 orm 轮子,看轮子都看花眼了
@yoa1q7y
@code4you
看了看 typeorm,prisma,sequelize,这三个 repo 的 issues 都是 1200+、1300+,哈哈
2021-08-11 15:03:11 +08:00
回复了 Smash 创建的主题 程序员 求推荐个 Node.js 的 orm 轮子,看轮子都看花眼了
@Smash GitHub 的搜索结果默认是按照“Best match”排序的,你切换成按照“Most stars”排序,typeorm 就排第一了。
2021-08-11 11:28:50 +08:00
回复了 dream4ever 创建的主题 程序员 如何将一个网站的前端 + 后端打包至光盘中?
@fox0001

1. 光盘里放的是执行程序,不审查源代码,只审查最终产品。
2. 这一点倒是没有要求,这么说的确弄个一键部署方便很多。
3. 只是审查用,并不是长期运行,所以这些怎么方便怎么来。
2021-08-11 11:25:51 +08:00
回复了 dream4ever 创建的主题 程序员 如何将一个网站的前端 + 后端打包至光盘中?
@ksc010 对,需要实现的就是你这样的效果,我去研究一下。
2021-08-11 11:24:36 +08:00
回复了 dream4ever 创建的主题 程序员 如何将一个网站的前端 + 后端打包至光盘中?
@cadmuxe 非常感谢你的提问,很详细,我一一回答一下:

1. 不是 Live 光盘,是用来提供安装包和运行环境的光盘。可简单类比为以前的电脑游戏光盘,需要先安装相关依赖,然后再运行光盘上的游戏。
2. 见前一条。
3. 是要制作成一个可安装的程序,离线部署到用户的电脑上,不对外提供服务,仅供用户在本机使用。
2021-08-11 11:12:41 +08:00
回复了 dream4ever 创建的主题 程序员 如何将一个网站的前端 + 后端打包至光盘中?
@PolarBears 需要在用户自己电脑的操作系统中运行,所以虚拟机不考虑了。另外您说的后端设置引导界面是个好主意,只不过用户不懂开发,我打算略过引导界面,考虑自动安装。
2021-08-11 10:58:58 +08:00
回复了 dream4ever 创建的主题 程序员 如何将一个网站的前端 + 后端打包至光盘中?
@ztcaoll222 是要交到 ** 局进行审查的,明确要求只能用光盘。
2021-08-11 09:51:06 +08:00
回复了 dream4ever 创建的主题 程序员 如何将一个网站的前端 + 后端打包至光盘中?
@tabris17 给普通人用的,就不考虑 Linux 了……
1 ... 11  12  13  14  15  16  17  18  19  20 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2790 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 02:40 · PVG 10:40 · LAX 19:40 · JFK 22:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.