Monday, September 13, 2021

V2EX - 技术

V2EX - 技术


怎么凭空生成随机数?

Posted: 13 Sep 2021 03:55 AM PDT

不依凭任何工具,只在脑海中生成随机数,不需要高精度,比如 0-9 随机即可。
用例:
- 考场上不会做的题随机选
- 中午随机选某家店吃饭
- 散步、跑步时,随机选一条路前行
- 决定不了的礼物,随机选一样
etc

能做到吗?
如果再加上纸和笔呢?

工作 5-10 年应该具备什么样的能力

Posted: 13 Sep 2021 03:54 AM PDT

一个优秀的 5-10 年的后端开发(或者架构师)应该具备哪些能力呢,哪些层面是和 2-3 年的差异的呢

Mac 和 iPhone 如何进行 DNS 加密?

Posted: 13 Sep 2021 03:51 AM PDT

纯小白一个 完全不懂代码 甚至不知道 DNS 到底是个啥 但我现在知道不加密 DNS 有可能会被别人抓包到我看的内容 有没有稍微简单一点的办法进行一下加密操作 MacOS Big Sur iOS14

有没有类似 anydesk 中直连功能的远程软件? todesk 没有

Posted: 13 Sep 2021 03:51 AM PDT

类似如下功能:PC 电脑有公网 IP,开端口转发,就可以直接通过 ddns 地址连我电脑了,不用中转 anydesk 服务器。速度很流畅,想问问还有没有其他的软件支持这个功能?

1

H.264 编码的视频能同时被 mov 和 mp4 进行封装?

Posted: 13 Sep 2021 03:50 AM PDT

我在上一个帖子『Golang 的 http.DetectContentType 有更好的替代实现吗?』求问了 Golang 下面对于不同文件头识别的开源库,有 V 友回复了filetype这个库,但是我最后使用了mimetype这个库的解决方案。

mimetype能够正确把视频的 mimetype 识别成 video/mp4,但是filetype这个库却识别出来的是 video/quicktime 。

然后我在上面的帖子也 append 了一下让我困惑的问题,就是我接着用 ffprobe 查看视频的编码信息,输出的是 H.264 ,封装格式如下:

format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV 

最后我用 Mac 的 Finder 查看,显示的又是 MPEG-4 影片,完全糊涂了,这意味着这个视频是先用用 mov 封装,再用 mp4 进行封装的吗?

本人对视频编解码相关知识的了解非常基础,基本处于懵懵懂懂的状态,Google 了好久都没有找到对于 format_name 这个字段的多个值的具体解释。

求 V 友解惑。

通用决策 AI 算法平台 DI-engine

Posted: 13 Sep 2021 03:42 AM PDT

我们开源了一个通用决策 AI 算法平台 DI-engine,以及相关的一系列学术算法,生态应用和底层基建。欢迎大家了解,star,使用,提建议~

github: https://github.com/opendilab/DI-engine

以下是一些 RL 智能体的 demo:( random agent 代表纯随机 bot,trained agent 代表训练得到的 RL agent )

  • Lunarlander

https://user-images.githubusercontent.com/33195032/127827210-cbc1e23c-6ed4-4d5b-a3c4-34a010119993.mp4

  • SMAC MMM2

https://user-images.githubusercontent.com/33195032/126481161-9127f790-bfca-4985-bed3-7adaab519b46.mp4

  • gfootball trained agent vs rule-based bot

https://user-images.githubusercontent.com/33195032/125933646-e24df3ec-9ec3-41d7-a693-136331f6a27a.mp4

有咩有什么程序/商城,能够代收租金的?

Posted: 13 Sep 2021 03:18 AM PDT

有咩有什么程序 /商城,能够代收租金的。 比如我有深圳电信宽带 200 条,深圳联通宽带 300 条,深圳租房 X 间,分别租给不同的人,租客按月支付,每次单独发账单比较麻烦,没有什么程序能够替我收 zu 金的。希望功能有以下几点

1.自动计算 zu 金 2.最好关联微信,指定日期通知租金账单,客户直接打款到微信或者其他收款账户 3.到了指定日期再看看是否到账,是否做二次催缴

如果没有这样的平台,我觉得也是一种需求,期待大神开发,这种商业性质比较明显的产品,我相信有人愿意掏腰包的。

有哪些独立开发者设计的产品惊艳到你?

Posted: 13 Sep 2021 03:15 AM PDT

一说到独立开发者,总感觉他们生活得比较艰难。当然,国内也有优秀的独立开发者做得不错的,让人敬佩的。

所以大家,有哪些独立开发者设计的产品惊艳到你的?

使用 token 不是还是要每次都需要从数据库加载用户信息么和传统 session 有什么区别?

Posted: 13 Sep 2021 03:13 AM PDT

  • 使用 token,由于 token 存储的是少量信息,是不是每次都还需要在拦截器中验证并去数据库加载用户信息
  • 如果一个前端页面包含多个请求,每个请求都需要鉴权数据库压力不是很大么
  • 解决是不是可以用 redis 集群做信息缓存,但是这样和传统 session 操作方式不是类似么
  • 所以说 token 和传统 session 优势是什么,token 概念上是无状态,但是不可能真的把用户所有信息都存上呀

扫码登录为什么需要扫码?

Posted: 13 Sep 2021 03:00 AM PDT

我理解扫码登录主要验证的是常用设备当前的可用性,从而证明我当前拥有这个设备并在设备上登录了我的账号。这个动作只要在手机上做个简单操作就行,比如按一个按钮。为何非得需要"扫码"呢?

前后端分离 Vue + Egg.js + Mysql 的 JS 全栈实践。动态菜单, RBAC 权限模型, WebSocket 实现站内信。已部署到线上!

Posted: 13 Sep 2021 01:38 AM PDT

Beehive

前言

Beehive 是一个项目管理系统。参考于 Teambetion 、PearProject,实现部分功能。

这是一个 Vue+Node.js 的 js 全栈项目。基于 RBAC 模型做权限控制,动态配置菜单,前端实现页面元素级别的权限控制。通过 WebSocket 实现站内信功能,任务看板中,实现更新同步推送。一旦其他项目成员有对我们当前查看的项目任务做任何的操作,页面都将立即同步更新,并向此任务的所有参与者(除了操作者)发送消息通知。注册和找回密码需要通过邮箱验证码验证,可以通过 github 授权登陆(不是很稳定)。

Node.js 框架选用的是 Egg.js ,配合 sequelize,自己写了一个小工具。可以通过填写表字段的配置,执行 npm run generator-entity 自动生成一整套文件,包括 Swagger 、数据校验 validate 、Sequelize 需要的 model 、controller 、service 、router 。并自动创建数据库表,包括每个字段的类型、长度、是否能为空、默认值、注释、索引、甚至是外键都能搞定。因为加了权限控制,所以还要到前端的资源管理中添加一下新增的资源,并在角色中点选分配一下,就完成了一张表的 CRUD 了,包括新增、修改、详情、批量删除、分页列表。当然这还是有很多可以优化的空间的,但也基本够用了。为了优化鉴权消耗,以及满足 WebSocket 的可靠性设计需要,系统引入 Redis 做缓存。

密码是加盐存储的,且在传输过程中使用了 RSA 做了非对称加密。Jwt 认证使用 Access Token + Refresh Token,配合黑名单。

效果演示

预发布环境:超级管理员账号:test-super,密码:test-super123 预发布环境地址:beehives.imfdj.top

预发布环境:普通用户账号:test-user,密码:test-user123

生产环境:普通用户账号:test-user,密码:test-user123 生产环境地址:beehive.imfdj.top

技术栈

前端:Vue2 全家桶 + Element-ui + Axios + Vue-socket.io + Sass 前端项目 github 地址

后端:Egg.js + Sequelize + Jwt + Mysql + Redis + Socket + Swagger 后端项目 github 地址

说明

如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢! ^_^

或者您可以 "follow" 一下,我会不断开源更多的有趣的项目。如:Vue3 + NestJS + TypeScript ✨

如有问题请直接在 Issues 中提,或者您发现问题并有非常好的解决方案,欢迎 PR 👍

目标功能

登录、注册 -- 完成

github 授权登录 -- 完成

找回密码 -- 完成

滑块验证 -- 完成

邮箱验证 -- 完成

动态首页 -- 完成

个人设置 -- 完成

用户管理 -- 完成

角色管理 -- 完成

菜单管理 -- 完成

资源管理 -- 完成

操作日志 -- 完成

动态菜单 -- 完成

部门管理 -- 完成

项目列表 -- 完成

任务看板 -- 完成

任务列表 -- 完成

项目文件 -- 完成

项目概览 -- 完成

项目成员 -- 完成

项目邀请 -- 完成

项目设置 -- 完成

项目回收站 -- 完成

任务筛选 -- 完成

任务详情 -- 完成

任务标签 -- 完成

任务参与者 -- 完成

任务动态 -- 完成

任务工时 -- 完成

任务关联文件 -- 完成

任务更新即时同步 -- 完成

公开项目的业务权限控制(非项目成员不可编辑项目) -- 完成

项目模板 -- 完成

消息提醒 -- 完成

工作台 -- 完成

站内信 -- 完成

页面元素权限控制 -- 完成

项目版本 -- 待开发

项目日程 -- 待开发

部分截图

后端 egg 项目部署

运行环境:

Node.js >= v10; Mysql >= 5.7; Redis >= 5.0;

git clone https://github.com/Imfdj/egg-beehive.git  cd egg-beehive  npm install 或 yarn(推荐)  将 database 目录下的 egg-beehive-dev.sql 和 egg-beehive-test.sql 导入 mysql (推荐 navicat )。  在 config 目录下的 config.local.js 和 config.unittest.js 中的 exports.sequelize 、exports.redis 、exports.io.redis 下填入 Mysql 和 Redis 的配置参数  npm run dev  npm run test-local (单元测试) 

如何快速 CRUD:

在 generator 文件夹中的 config.js 文件中定义各个字段的描述,完成后执行 npm run generator-entity 。 里面还有很多 config-*.js 的配置文件可供参考。也可以在 template 文件夹中自定义各个文件的模板。  // 这是一个字段的描述模板 fieldsItemExample: {     name: 'xx_id',     type: 'INTEGER',     length: 11,     min: 1,     max: 1,     required: true,     description: '这里是描述', // 供 swagger 使用     primaryKey: false, // 是否为主键     unique: false, // 是否唯一     allowNull: false, // 是否允许为空     autoIncrement: false, // 是否自增     defaultValue: '', // 数据库表中字段的默认值     comment: '外键', // 数据库表中字段的描述     references: {       // 外键设置       model: 'xxxs', // 外键关联表       key: 'id', // 外键字段名     },     onUpdate: 'NO ACTION', // 外键更新约束 CASCADE RESTRICT SET NULL SET DEFAULT NO ACTION     onDelete: 'NO ACTION', // 外键删除约束 CASCADE RESTRICT SET NULL SET DEFAULT NO ACTION } 

前端 vue 项目部署

git clone https://github.com/Imfdj/vue-beehive.git  cd vue-beehive  npm install 或 yarn(推荐)  npm run serve 

功能设计

后端设计

数据库设计

License

MIT

Copyright (c) 2021 Imfdj

现在的 Windows 能像 Mac 那样长时间不关机吗?

Posted: 13 Sep 2021 01:33 AM PDT

印象中 Windows 长时间不关机会卡,各种小毛病,还会睡死过去好像,现在有改善吗?

能否控制 Android 对按下耳机播放键的响应方式?

Posted: 13 Sep 2021 01:14 AM PDT

手机上装了网易云、Q 音和 Poweramp,每次在没有后台播放音乐的时候按耳机上的播放键,都会打开 Q 音。

我想把这个行为改成打开 Poweramp,能否实现?

Android 手机基本都无法调节手电筒/闪光灯亮度?晚上有时候用也太刺眼了

Posted: 13 Sep 2021 01:11 AM PDT

非 Android 开发人员,是因为硬件不支持还是没有提供相关的 API 导致?

iPhone 似乎都是可以的。

前几天接受了 The Console 关于 Not only fans 的访谈,问了下如何在全球范围推广产品,编辑说他用 Google translate 一段一段翻译 V2EX 看 ��

Posted: 13 Sep 2021 12:12 AM PDT

我想问问开源项目的开发者们是如何面向全球宣传产品和寻找合作伙伴的,这个问题让身在中国的我很困扰。因此也非常感谢 console 提供和大家交流的机会。

I've been curious about this as well myself. I would like to get more Chinese readers for the newsletter, but for some reason that's been more difficult for me than I would have expected. I don't think the language barrier fully explains this phenomenon. But, also, as far as I can tell, Asia and the West tend to hang out in different places on the Internet. For example, I recently checked out v2ex, which I'd never heard of before. Anyway, because of this, I have no idea where to go looking for more Chinese readers, and I'm sure you face the same problem with your software.

V2EX is hard for me to use since I can't Google translate the whole page after logging in, so I'm stuck trying to Google translate sections of the page where I think I might be able to click! ha ha

访谈全文 → https://console.substack.com/p/console-70 ( 可能需要科学地访问 )

之前答应帮编辑同学做下介绍:The Console 这个新闻列表会每周汇总 GitHub 上的新项目,其中 interview 部分可以看到很多项目背后的故事和细节,读起来还是挺有意思的。感兴趣的同学可以订阅下。

vite + react (react hooks 写法) 是真的香

Posted: 12 Sep 2021 10:26 PM PDT

最近在忙着后台系统的重构,写了个 react (react hooks 写法) + typescript + antd + vite2/webpack5 后台系统模板,欢迎使用,觉得不错可以 star 支持下,谢谢~~,有问题欢迎提交 issues

仓库地址

react-admin-template

预览

预览地址

账号数据

  • 管理员 admin admin
  • 运营 zenquan zenquan

技术栈

react^17 + react-router-dom^4 + less + css modules + antd^4 + axios + mobx + echarts + react-i18next

开始

# git clone git clone https://github.com/zenquan/react-admin-template.git or git clone -b <branch> https://github.com/zenquan/react-admin-template.git  # install npm install  # start or dev master or master-i18n -> npm run start vite or vite-i18n -> npm run dev  

功能、组件的封装

  • 系统首页
  • 表格
    • 可编辑行表格
    • 拖拽排序表格
  • 图表
    • 折线图
    • 饼图
  • 组件
    • 富文本编辑器
    • Markdown
    • JSON 编辑器
  • Excel
    • 导出 excel
  • 404 页
  • 国际化

分支

  • webpack5: [ master 分支]
  • webpack5 国际化: [ master-i18n 分支]
  • vite: [ vite 分支]
  • vite 国际化: [ vite-i18n 分支]

QEMU 如何能启动 Android 镜像(非 x86)?

Posted: 12 Sep 2021 09:52 PM PDT

前两天不是有泄露的华为应用引擎嘛,在非华为电脑上装好像存在一点问题,包括没有主启动器、无法更新等。

我看了一下目录和文件结构,似乎就是用 QEMU 运行一个 Android 的空壳一直挂在后台,需要运行 app 时单独运行该 app,并用一个单窗口显示在前台。在此之前我还以为是 wsl 那种呢。

目录结构

所以我想如果他这个引擎也是基于 QEMU 的,那么能不能用官版的 QEMU 启动这一系列镜像?

另外华为这个好像确实和其他的 x86 Android 模拟器架构是不一样的。 Bluestack Huawei

请 [以技术为主] 文明讨论,请勿涉及品牌纠纷

sqlalchemy 如何 执行 insert into if not exists?

Posted: 12 Sep 2021 08:45 PM PDT

这种 sql,怎么用 sqlalchemy 写?

INSERT INTO table_listnames (name, address, tele) SELECT * FROM (SELECT 'Rupert', 'Somewhere', '022') AS tmp WHERE NOT EXISTS (     SELECT name FROM table_listnames WHERE name = 'Rupert' ) LIMIT 1; 

有哪些好用的强化学习框架?

Posted: 12 Sep 2021 08:41 PM PDT

最近在搞强化学习,求问万能的 v 圈有哪些开箱即用的强化学习框架,不用自己手动实现所有策略和环境?

现在的 Windows 能像 Mac 那样不开盖子 外接键鼠,按一下唤醒吗

Posted: 12 Sep 2021 07:03 PM PDT

腾讯轻量云防火墙问题

Posted: 12 Sep 2021 02:58 PM PDT

秒杀了一个 74 元 1 年 2C4G 的腾讯轻量云,装了 Ubuntu 镜像,在防火墙配置中开放了所有端口,结果只有 22 端口可以访问,是还需要额外的配置吗?

Python 正则的问题

Posted: 11 Sep 2021 11:42 PM PDT

环境:py3.9.6
部分代码:
ip = '1.2.3.4:8080/3xx3/a.php?b=1'
parse_obj = urlparse(ip)
print(parse_obj)

解析之后的结果:
ParseResult(scheme='1.2.3.4', netloc='', path='8080/3xx3/a.php', params='', query='b=1', fragment='')

请问各位大佬,针对这种不带 http(s)://的情况,如何使用正则提取 path 中的端口而不要之后路径呢,小白求解。

看到某日常 os 对比贴,简单说说我眼中 Windows 目前的四个问题

Posted: 11 Sep 2021 12:32 PM PDT

个人从 win98 开始用,每一代甚至包括 Windows Me 都没有错过,一直用到现在。

个人认为 Windows 目前存在 4 个问题,不讨论别的 OS,也是希望微软能尽快解决,而不是搞什么垃圾 Win8 Win10 Win11 。

1. 中文字体不好看,渲染差。但是随着 4K 的普及好了一些,但是雅黑实在是设计失败的一个中文字体,还不如点阵宋。

2. 软件 UI 风格严重不统一。包括原生应用和系统配置,微软自家应用最起码有五种不同的设计风格。其中最丑的就是 metro 。

3. 除收费的生产力软件外,常用软件完全不思进取,最简单的对 HiDPI 的支持就是参差不齐。

4. WSL 还有些小问题,不过勉强够用。这个其实算一个优点,有 WSL 后,后端开发用 Windows 也很顺畅。

No comments:

Post a Comment