V2EX - 技术 |
- gRPC 跑分分享(2022 03 15 bench results)
- rancher 部署环境有什么要求吗
- 求助: 大批量数据同时更新问题
- 如果一个由多人维护的开源项目被商业公司收购,后续版本转向闭源,收购费用一般怎么分成?
- 找更好的笔记软件
- 内存条本身可被植入后门吗?
- "甲骨文严查 Java 许可数,企业连夜删除 JDK ",各位 Java 用户怎么看?....
- 一加 9R + 氧 OS 的几个问题求教大家
- 怎么在安卓上前置一个程序,不能切换到其他界面?类似于 IOS 的引导式访问
- MMO 万人同屏实验成功发布!
- 看纯英文技术文档速度慢。。你们怎么习惯的
- 频繁出现谷歌人机身份验证怎么解决?
- 拼夕夕的便宜话费没有了
- 求推荐 win 平台软件
- Stack Overflow 加了滤镜功能
- sdkman 里 AdoptOpenJDK 已不存在
- 目前无界 16 装 Linux 效果怎么样?
- 「野生架构师」周刊 #12 📸 Old But Good 、UNIX 艺术、互联网历史博物馆
- 求问大佬们 UI 框架技术选型
- 吐槽一下最新一期《科技爱好者周刊》(201 期)中引用的一句话
- cve-2022-22965(spring core rce 漏洞)造成的影响可能没有想象中大?
- Google 为什么 pixel 取消了面部识别 soli 雷达
- StackOverflow 今天的愚人节玩笑不错
- 手机一直发送 gvt1.com 这样的包是什么情况, 有人知道吗?
- CloudFlare 的存在可以大大降低写爬虫进监狱的风险
- 手机想投屏 到 ubuntu 20.04 来个老哥指点一下?
- Windows 11 记事本闪退有类似的吗
- 哪里有好看的 Qt QML Style 分享?
- 一款好用的开源 UI 自动化测试框架 --- 口语化做 Android、iOS 测试
- 寻找一个 Java 应用本地更新方案
- 面试题: C++怎么实现热更新内存数据?
- 写了个语雀搜索的 Chrome 插件
- Everthing 如何在文件夹中导航
- 异步任务状态机有啥好的解决方案吗?
- 有没有实际开发编程能力很强,但是不擅长面试的同学?
- EmacsTalk 第十一期. 与架构师 redraiment 闲聊 Emacs
- s3 查询问题,如何精确查询?
- 请问下各位同学,有购买精装房的没,收楼了怎么去验收?
- 求问 PPT 文件上传后如何在 WEB 端直接打开查看,不下载!
- 求教转发本地应用网络请求的方法
- Java ssh 客户端 Jsch 怎么执行 sudo su 后再执行新命令
- Java 语言代码实现一个最优写法。
- 请教各位大佬, IOS 系统开发 APP 如何避免由于内存过大被系统强制杀死?
- 有人想来日本干 IT 开发吗
- gopls.exe 到底在干什么? cpu 占用那么高
- 欢迎大家加入 Java 交流群
- Java 项目该不该用 stream 流来编写代码?考虑 code viewer
- Go 流媒体(直播音视频)服务器 LAL - 开源自荐
- 所以 Spring 的 0day RCE 漏洞被证实了?
gRPC 跑分分享(2022 03 15 bench results) Posted: 01 Apr 2022 04:57 AM PDT 直接贴来源: https://github.com/LesnyRumcajs/grpc_bench/wiki/2022-03-15-bench-results 总结:
| ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:57 AM PDT 我有一台闲置的腾讯云服务器,配置是 1 核 2G ,重装了 ubuntu 系统,部署了 rancher 之后,UI 界面打开的时候特别慢,甚至打不开。 查看了下服务器的监控,CPU 直接达到 99.99%,rancher 对于服务器的要求这么高么? | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:57 AM PDT 情景
暂时想到的方案
球球各位大佬出出方案, 谢谢! Orz! | ||||||||||||||||||||||||||||||||||
如果一个由多人维护的开源项目被商业公司收购,后续版本转向闭源,收购费用一般怎么分成? Posted: 01 Apr 2022 04:53 AM PDT 全归项目创建者 /主要维护者吗? | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:52 AM PDT 大家笔记都是用的什么软件,有没有推荐,多端,付费也可,要支持 markdown 格式的,图片可以复制粘贴的 bear 挺好用,就是不支持表格,跟开发人员反馈也没有啥实际行动 onenote 又没有代码块,而且总感觉排版有 bug ,莫名其妙的文字大小不一样 我现在都是直接 MarkDown 放到 github ,但是手机和平板查看不方便,而且每次在公司更新完忘记 push ,家里电脑都看不到,而且图片还要单独放到资源文件夹,好麻烦 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:51 AM PDT 中英文都谷歌过了,却未见实例甚至亦无假想(可谓一无所获),故特地问问神通博学的 V 友们。 也许能以某种体积小到无法察觉的外部设备(或者被裹嵌入内存条),这固然算作硬件"本身",但目前任何流水线都还没实现这么精密的先进技术吧? 话说回来,更关心当前的技术可行性乃至实例。 此外也欢迎拓宽讨论范围至其他硬件类别(但对于纯处理器还是免了吧毕竟它这类的这种大新闻太常见了)。 | ||||||||||||||||||||||||||||||||||
"甲骨文严查 Java 许可数,企业连夜删除 JDK ",各位 Java 用户怎么看?.... Posted: 01 Apr 2022 04:44 AM PDT https://www.sohu.com/a/534526996_121199210
| ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:39 AM PDT 刚换了 9R ,刷了氧 11 ,装了 magisk ,用起来还有几个问题没解决,请教下各位 1 、息屏时候抬起手机,是一个黑屏带时间的界面,想解锁手机要双击或者按电源键进入另一个带桌面的锁屏才行,感觉操作不方便,可以取消前一个么? 2 、桌面下滑是一个类似氢 OS 负一屏的界面,从顶部下滑才能滑出菜单,可以取消这个负一屏么? 3 、拨打电话、发短信,有没有好用的软件,原生不支持屏蔽垃圾短信。 4 、有没有通话录音? magisk 上面找了个 callrecorder-skvalex 略贵。 5 、有没有 NFC 模拟门禁卡的方法? | ||||||||||||||||||||||||||||||||||
怎么在安卓上前置一个程序,不能切换到其他界面?类似于 IOS 的引导式访问 Posted: 01 Apr 2022 04:39 AM PDT 请教一下 如果使用固定程序的功能,的确可以固定在前端,但是可以按提示退出固定模式,容易被人退出 设置退出后需要密码也没有太大意义,因为退出还是可以退出,只是退出后立刻需要输入密码才能进入其他界面。 IOS 的引导式访问可以解决,但是我们希望尝试安卓。 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:39 AM PDT 3DMMO 的万人同屏是一个让我激动不已的技术挑战!我是在 08 年关注到了 3DMMO 游戏服务器并行化的问题。并于同年就开始了一系列的技术尝试。软件工程和其他的工程一样。对于新的想法就是反复尝试,反复失败的过程。其实每个游戏服务器工程师都会开发一个自己的软件框架。一来容易维护二来使用方便。我只是比较幸运和执拗,喜欢用自己框架尝试新的想法。"念念不忘,必有回响",进过一系列的技术改进,终于实现了 3DMMO 的万人同屏。 luacluster 项目由两部分组成,服务器端的 luacluter 以及客户端的 uacluster_unity3d_demo 。虽然整合了 luajit, uvlib 等大量的第三方的开源库,但开发工作仍然非常的繁重。为了支持跨平台和兼容 unity 的坐标体系等,又做了很多非常复杂的实验。这个项目最大的难点在于,不能简单的把他归为分布式中的计算,存储或传输的任何一类问题。它是要在分布式的计算,存储和传输中寻找到一个恐怖的平衡点。 在 2020 年我个人曾连续写过 3 篇文章《使用 redis 实现 5 万人同服的"相位技术"》 《 3D 游戏的万人同屏技术详解(1)》 《 3D 游戏的万人同屏技术详解(2)》。这 3 篇文章围绕着一个核心问题。就是如何评估游戏服务器的性能?因为对游戏服务器性能评估的标准模糊,导致了现在游戏服务器技术开发方向的迷失。只有重新确立服务器性能评估标准,才能找回游戏服务器的技术方向。要评估服务器的性能,我们就要给出相应的标准。web 服务器有唯一的通用标准就是在线人数。也就是服务器的承载能力。在完成同样功能下,使用最少的硬件,承载能力越高越稳定的服务器,他的软件性能就越好。 但对于游戏服务器有着完全和 web 服务器不同的特点。无法使用简单的在线人数来衡量服务器性能。比如在 MMO 下虽然在同一个服务器内,但在不同地图的玩家之间,就几乎不会产生任何性能消耗。如果在极端情况下将每个玩家分别放入一个单独的地图。玩家之间不产生任何的互动。那么服务器的消耗将会非常的低。对应的服务器承载人数就会非常的高。但这种极端类型的服务器无法做出任何 MMO 游戏。所以在 MMO 下对服务器的评价标准,由最初的同服在线人数变为同地图在线人数。 可是随着无缝大地图技术的出现,这种同地图在线人数的评价标准又无法满足需求了。因为无缝大地图可以将任意整张地图分割为无数小地图。并将每个小地图分别放入不同的服务器。以提高整张大地图的承载能力。但这样的分割算法导致了新的问题。如果这些玩家集中到地图的某个点,服务器就不能正常工作!这就是说虽然整张地图可以承载的人数很高。但这种高承载能力只是一个障眼法。因为地图上某个区块的服务器会因为玩家的聚集而随机的崩溃掉。 虽然我们有无缝大地图的技术。但因为 AOI (游戏服务器内对象的可见范围)的承载能力很低。在整张大地图内导入过多的玩家会让服务器有崩溃的可能。最终使得服务器的承载能力受限于 AOI 的承载能力。从玩法上说可以在整张地图上导入很多玩家,但这些玩家之不能聚集在一起进行互动。使得整张地图承载能力的意义就非常小了。 所以对于 MMO 服务器的承载能力判定标准,也就由地图在线人数进一步变成了 AOI 内在线人数,也就是同屏的承载能力。这不是因为产品需求产生的技术路线。并不是因为某个产品需要万人同屏所以我们去研究万人同屏。而是因为我们解决了同服问题,解决了同地图问题,然后遇到了同屏问题。而同屏的问题又变的非常复杂。因为客户端在同屏上遇到了和服务器一样的技术瓶颈,导致在客户端上实现万人同屏也非常困难。客户端和服务器的问题互相纠缠,最终导致我们大多数人都迷失了。而我厌倦了这种对技术方向无休无止的争论。选择了以万人同屏为目标,重新梳理了全部技术栈,形成软件框架并最终使用云服务器完成了测试工作。 制约万人同屏的技术细节有那些呢?在服务器方面有如下几个问题:无法充分使用线程,异步场景和同步场景混乱,帧同步和状态同步混乱,对象的多个实体数据同步混乱等等。在客户端方面的问题:多线程通信技术不成熟,ECS 技术不成熟,渲染优化技术不成熟等等问题。我认为 MMO 万人同屏的实验成功是游戏软件领域重要的里程碑。将会解锁更多全新的游戏模式。 当前已经完成了所有基本测试工作,正在整合了 Mongodb 的数据库用于硬盘存储部分功能。接下来会开发增量存储以及传输加密等等功能。这将是一个长期的开发计划,期望最终实现一个通用的分布式 MMO 游戏开发框架。 行业内历年的数据摘要 1. 2013 年 bigworld 做过一次压力测试。在同一个地图上,使用 96 台(共 128 核心)服务器,可以承载 10 万个机器人。但每个机器人的 AOI 范围内有 62 个客户端。 2. 在 2019 年 kbengine 使用两台 8 核服务器,在同一个地图上可以承载 1 万人。AOI 范围内承载能力是 600 个客户端。 3. 在 2021 年通过进一步改造 kbengine, 实现了并行空间的技术,同样两台 8 核服务器,可以将 AOI 范围内承载能力提升到 1000 个客户端。 4. luacluter 使用 2 台 128 核服务器,将 AOI 范围内的承载能力提升到了 1 万个客户端。 开源项目地址 服务器开源地址: https://github.com/surparallel/luacluster 客户端开源地址: https://github.com/surparallel/luacluster_unity3d_demo 名词 1. AOI ( Area Of Interest ) 游戏服务器内对象的可见范围,即服务器内每个对象需要维护的可见和被见列表内对象的范围。当游戏对象发生移动时对应的列表需要增加或删除。维护列表的算法决定了游戏服务器的性能上限。 2. 无缝大地图( seamless maps )将一张超大的游戏地图按算法分割成多个小份,并分别由不同硬件服务器维护的算法。可以实现在一个超大地图上承载更多玩家。 3. 并行空间 将一个地图块同时创建到多个硬件服务器中,以提高单个地图块承载人数的上限的算法。 4. 万人同屏( Unity includes a 10,000 NPC scene ) 在同客户端屏幕内展现 1 万个游戏对象。对于游戏服务器是将 1 万个游戏对象放入 AOI 范围内。 原文链接: https://zhuanlan.zhihu.com/p/487028752 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:36 AM PDT 水平也就个六级飘过, 看英文文档,做不到那种瞟一眼理解。还得在脑子里过一遍翻译。。遇到生词就要阻塞个几秒。。。 你们是怎么习惯的。。 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:15 AM PDT 最近每天都会弹这个提示,烦死了。 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:11 AM PDT 记得以前拼夕夕的话费是 80 多充一百的,现在已经找不到了,搜索关键词"移动话费充值",结果给我搜出一堆堆流量充值的,话费充值没多少,还一个个死贵的,那些以前 80 多或 90 多的的跑哪儿了? PS:微信小程序拼夕夕的 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 04:04 AM PDT | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 03:54 AM PDT | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 03:17 AM PDT 今天发现。AdoptOpenJDK 项目已经迁移到 Adoptium 上了 在 sdkman 上叫 Temurin 采用 Hotspot 构建,OpenJ9 构建由 Semeru 提供(ibm) | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 03:00 AM PDT i7-12700H 核显版,120Hz 。 未来打算用来装 Ubuntu Desktop 22.04 LTS 主要关注点在 PD 充电( C 口或者圆口诱骗)、无线、显示、外接显示器,有什么已知的坑吗? 或者目前有什么比它轻(<1.7kg )的 i7-12700H 的轻薄本吗?要求双内存插槽,可 PD 供电,可升级硬盘,最好双硬盘接口,最好没有独显。 感觉这几个月我看到的 12 代酷睿的笔记本都好重啊… | ||||||||||||||||||||||||||||||||||
「野生架构师」周刊 #12 📸 Old But Good 、UNIX 艺术、互联网历史博物馆 Posted: 01 Apr 2022 02:52 AM PDT 我又来分享周刊了,朋友们,目前已经有 850+ 的订阅,我尝试在掘金上分享,但是对掘金这个平台太失望了,还是喜欢 V2EX 这里的交流氛围。 我的周刊并不以盈利为目的,主要是基于 Learn In Public 的出发点而创作,希望大家喜欢。 欢迎打开第 012 期「野生架构师」周刊,这是由 lcomplete 每周发送的 Newsletter ,本期的主题是「 Old But Good 」,同时也带大家一同回味 UNIX 的经典艺术。 📝 本期话题:Old But Good本期话题由 Elon Musk 贡献 🤣,我特别喜欢这条推文,第一当下我们确实是生活在层层监控之下,第二电影《指环王》的这段剧情确实很感人,我当时看的时候也有些热泪盈眶,这段剧情的台词也非常励志,一起来感受一下。
回想这段台词时,又想到了当今世界之现状,令我感触更深,但愿疫情和战争早日过去。 不管是电影还是技术,总是在推陈出新,Newsletter 也总是分享最新的时事、文章或工具,经典内容似乎有被遗忘的趋势,于是本期周刊着重分享那些历经时间考验的经典书籍和文章等内容。 🎼 UNIX 艺术🎶《 UNIX 编程艺术》这本书的作者是 Eric S. Raymond ,简称 ESR ,他有一句名言,「 这本书着重讲解了 UNIX 的哲学、历史和设计,作为技术书籍中的瑰宝,其中的内容可谓是字字珠玑。 UNIX 哲学是这样的:
🎵 Unix 哲学浓缩为一条铁律,那就是 K.I.S.S 原则——Keep It Simple ,Stupid ! 作为 Coder ,其中很多原则我们都已经烂熟于心,有一些可能还没有领会的特别深刻,那就需要我们常读常新,比如: 1 、在生成原则上,只要我们不断思考,发现项目中重复的地方并消灭之,必然能使我们的生产力得到极大的解放。 在前后端开发协作上,最多的工作之一就是接口联调,那我们可以运用 当下的低代码热潮,本质上也是将生成原则发挥到极致——数据即代码。 2 、在模块原则上,UNIX 上的许多微型语言体现了紧凑性,如:正则表达式、awk 、Emacs Lisp 等, 这本书还引用了不少 《程序员修炼之道》 中的内容,后者是该书内容极好的补充,由 云风 于 2020 年才翻译了第二版,距离第一版已过 15 年,足见这本书的历久弥新,同时第二版的翻译也优秀许多。 相关文章: 📹 推荐记录片这部纪录片讲的是网景公司在与微软的竞争中失败,最终将代码开源的故事。 虽然网景失败了,但本片的片尾词,至今仍然适用,仍然可以激励着互联网上的程序员们。
We Are Coders ,今生无悔写代码。 Linus 、ESR 和 RMS 等对自由软件和开源运动有着卓越贡献的人「主演」的影片,也可以说是 Linux 的纪录片。 3 、操作系统革命 Revolution OS (2021) 「主演」仍然是 Linus 、ESR 和 RMS 等人,1999 年 Red Hat 在纳斯达克上市,Linux 那几年风头无两,这些领袖人物一年拍两部纪录片也就不奇怪了 🤣,这部影片中 ESR 的「戏份」比较多,还担任了开场大使。 《 The Code 》讲述的更多是 Linux 的历史,而这部影片则侧重讲建立 Linux 操作系统的斗士们是如何奋起反抗垄断的,正如本片片头,ESR 对轻蔑他的微软员工说到「 I'm your nightmare 」一样。 🗃 互联网历史博物馆https://web.archive.org/ 是一个保存互联网档案的网站,于 1996 年创办,目前已经保存了 6690 亿个页面,它的目标是将互联网的历史档案给记录下来,在这里可以找到已经关闭的网站的历史存档,像我多年前上线过的网站也能够找到。 这是一个非营利性组织,主要依靠创始人 布鲁斯特·卡利 雄厚的财力支撑。 当我们打不开网站时,可以到这个 🤣 轻松一刻
Util next week, lcomplete 如果你觉得写的还不错的话,欢迎关注和订阅。 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 01:53 AM PDT 工业软件,后台集中监测,集中控制,包含众多管理功能,需要接百度地图 api ,vue 和 react 分别用哪种 UI 框架好 | ||||||||||||||||||||||||||||||||||
吐槽一下最新一期《科技爱好者周刊》(201 期)中引用的一句话 Posted: 01 Apr 2022 01:43 AM PDT
http://www.ruanyifeng.com/blog/2022/04/weekly-issue-201.html 在 2022 年看这句话就觉得很讽刺。 事实上前段时间的两起 NPM 库的事件恰恰说明自由软件社区也不值得信任,甚至比大公司更不值得信任。 大公司有 PR 的负担,很多第三方库都是由个人维护,并不需要为自己的行为付多大责任。 这个时代又要回到 C++程序员的信条:只有自己写的代码最可靠(重复造轮子)。 Q05NIOeahCBTQiDml7bku6M= | ||||||||||||||||||||||||||||||||||
cve-2022-22965(spring core rce 漏洞)造成的影响可能没有想象中大? Posted: 01 Apr 2022 01:01 AM PDT https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement https://tanzu.vmware.com/security/cve-2022-22965 Vulnerability The vulnerability impacts Spring MVC and Spring WebFlux applications running on JDK 9+. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it. Am I Impacted? These are the requirements for the specific scenario from the report: JDK 9 or higher Apache Tomcat as the Servlet container Packaged as a traditional WAR (in contrast to a Spring Boot executable jar) spring-webmvc or spring-webflux dependency Spring Framework versions 5.3.0 to 5.3.17, 5.2.0 to 5.2.19, and older versions However, the nature of the vulnerability is more general, and there may be other ways to exploit it that have not been reported yet. 需要打包成 war + jdk9+版本才会触发漏洞 新项目一般都是 jar 打包,老项目一般不用 jdk9+,是不是这个道理? | ||||||||||||||||||||||||||||||||||
Google 为什么 pixel 取消了面部识别 soli 雷达 Posted: 01 Apr 2022 12:20 AM PDT Google 从 pixel4 上使用类似苹果的面容识别。但是只用一代。puxek5 就取消了。有大佬知道为什么吗?想收个二手玩玩 | ||||||||||||||||||||||||||||||||||
Posted: 01 Apr 2022 12:12 AM PDT 可以换多种不同的主题,比如 tiktok facebook 等 | ||||||||||||||||||||||||||||||||||
手机一直发送 gvt1.com 这样的包是什么情况, 有人知道吗? Posted: 31 Mar 2022 11:57 PM PDT GET http://redirector.gvt1.com/edgedl/release2/chrome_component/eezwg7434p43ef7k4izoedfcqi_102.0.4977.0/jamhcnnkihinmdlkakkaopbjbbcngflc_102.0.4977.0_all_acvo5qlrlwpygv44lwpq26jdmdja.crx3 HTTP/1.1 Proxy-Connection: Keep-Alive Accept: / Accept-Encoding: identity If-Unmodified-Since: Fri, 01 Apr 2022 04:50:06 GMT Range: bytes=149798-150201 User-Agent: Microsoft BITS/7.8 Host: redirector.gvt1.com 大量很多的, 一直不停的发 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 11:48 PM PDT 五秒盾一出,干活可真难…… | ||||||||||||||||||||||||||||||||||
手机想投屏 到 ubuntu 20.04 来个老哥指点一下? Posted: 31 Mar 2022 10:41 PM PDT 1. 软件最好轻量级一点 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 10:37 PM PDT 系统版本:Windows Feature Experience Pack 1000.22581.100.0
目前发现搜索闪退的解决方案:首行空白即可大概率解决搜索闪退。 猜测:记事本搜索功能会导致页面下沉,这个地方可能存在 bug ?甚至猜测可能和语言有关,因为没看到在英文下有类似的反馈。 其他人的情况怎么样呢。我这边已经遇到很久了(数月),以为巨硬会解决,结果一直没有,今天提交了反馈,估计应该也不会改进。 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 10:19 PM PDT 自带的 Imagine Universal 都不是很好看,尤其是 Material ,简直丑出新高度。 大家有收藏什么好看的 Qt QML Style 可以分享一下么?或者哪里可以找到好看的 Qt QML Style ? (比较喜欢 Telegram 桌面客户端那种设计风格的,但 Telegram 好像用的是 Qt Widget ,没法直接提取。 当然如果有更好看的也可以) | ||||||||||||||||||||||||||||||||||
一款好用的开源 UI 自动化测试框架 --- 口语化做 Android、iOS 测试 Posted: 31 Mar 2022 10:05 PM PDT 背景携程机票从 2018 年年中正式引入 BDD ,至今已 3 年多,成为内部首选的敏捷开发技术。 Flybirds 是一套基于 BDD 模式的前端 UI 自动化测试框架,提供了一系列开箱即用的工具和完善的文档,现在逐步稳定,成为机票内部首选的 BDD-UI-Testing 测试框架。 为什么开源
本文将从特性介绍、环境搭建、使用帮助、自定义扩展、持续集成、发版计划这几个方面对框架进行介绍。 Flybirds
特性使用Flybirds你能够完成大部分的手机端自动化操作,以下是一些帮助入门的特性描述:
环境搭建
在 Mac/Linux 系统下,需要手动赋予 adb 可执行权限
快速上手运行演示为了帮助使用,项目创建时,会生成中英文的 Android 、iOS 演示 feature ,方便用户参考。 以"Android"为例
框架会通过 接下来,了解下更多项目细节 项目结构
features 目录基础目录结构如下
复杂些的目录结构参考如下 feature 文件
feature 文件,也称为功能文件,有两个目的:文档和自动化测试。 以关键字开头("功能"、"场景"、"场景大纲"、"当"、"而且"、"那么"……), 文件中的任何位置都允许使用注释行。 功能(Feature) 是被测试功能的一些合理的描述性标题,由场景组成。他们可以选择有一个描述、一个背景和一组标签。 背景(Background) 由一系列类似于场景的步骤组成。它允许您向功能的场景添加一些上下文。在此功能的每个场景之前执行。 场景(Senario) 标题应该是被测试场景的合理描述性标题,由一系列给定条件的步骤组成 场景大纲(Senario Outline) 包含功能的详细描述,可以有一组预期条件和结果来配合您的场景步骤 以下是中文 feature 例子 以下是英文 feature 例子 step 语句模板
Hooks用户可在以下文件中定义 hooks
标签(Tags)
下面是一个例子 运行有特定 tag 的场景,多个用逗号隔开 '-'开头表示运行不包含某 tag 的场景 运行前检查
运行参数在终端输入以下内容来查看flybirds运行项目时支持的操作
配置参数提供了丰富的配置项 | 帮助文档 必须配置项:deviceId packageName 。 连接 IOS 设备时,需要额外配置 webDriverAgent 、platform 。 报告(report)
自定义 step 语句模板在编写 Feature 的过程中,可能会遇到提供的公共语句不能满足自身项目的需求,需要自定义语句。比如:需要对接某个内部工具 API ,此时需要用到自定义语句功能。 自定义语句功能会用到 python ,如果你不了解这门编程语言,也不必要太担心,因为只会使用到最基础的 python 语法,这并不会太难。 使用方法 示例代码如下 对于团队内部通用的自定义功能,可以考虑创建一个 extend package ,flybirds 支持动态加载,package 命名包含"-flybirds-plugin"即可。 自定义框架扩展理论上 BDD-UI-Testing 可以适用在所有端,比如:APP 、Web 、小程序。 框架的插件式设计模式,保留了良好的扩展,当前版本只开放了 APP 端支持,未来会逐步开放更多,下面是两个例子供大家参考。 增加 web 端扩展
修改当前 APP 端扩展
其他语种支持flybirds 可以支持 40 几种语言,在以下文件中增加公共方法的语言配置即可。 示例代码如下 持续集成cli 提供的命令行执行模式,可以非常方便加入各种持续集成工具. 以 Jenkins 为例: 发版计划我们将按照 SemVer 版本控制规范进行发版。逐步新增功能和代码优化,非常欢迎您加入到我们的共建计划中,在 GitHub 上提出您的宝贵建议,以及在使用时遇到的一切问题,我们也会对此每周进行一次小版本的迭代。您也可以在这里给我们精神支持。给仓库点上一颗 Star
| ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 09:53 PM PDT 公司采用工控机整机交付客户。机器上运行 jar 包+Mysql 数据库+web 应用。机器能访问外网。 如何更新这些应用? 目前考虑采用 shell 更新。更新 jar->更新数据库结构->启用 jar->更新 web 。 但是万一 jar 更新失败或者启动失败,需要回滚数据库及 web 。也无法保证回滚成功。 对这种问题,市面上有什么现成的解决方案吗? | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 08:42 PM PDT c++服务端初始化阶段会将某二进制文件load 到内存中,每次请求都会访问该内存数据,c++服务端有持续请求,现在该二进制文件更新了,如何将该二进制文件热更新到内存中且不影响线上请求?内存空间足够 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 08:41 PM PDT | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 08:25 PM PDT 文件导航非常有用的一点是,当我知道某个文件在某个目录下,但又不知道文件名的时候非常有用。再就是我想简单浏览一下指定目录下有什么东西,比如 download 目录下是否有我刚刚下载的东西。 在 MacOS 中我可以用 Alfred 中轻松做到这一点,比如我在 dropbox 中有个 javabooks 的目录有很多 java 的书,当我想不起某本书书名的时候我可以先搜索 javabooks 然后进入此目录(此处并不是打开文件浏览器,而是在 Alfred 界面中),就可以找到我想要打开的书。并且我可以在上下级目录中跳转。我不知道 Everything 是否有这个功能,或者有其他更方便的软件可以做这件事。 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 08:19 PM PDT rt 背景:删除耗时的资源,状态机有:删除中,删除成功,删除失败。(创建功能一样,就是创建中,创建成功、创建失败) api 调用时,前端可以发起批量动作,例如批量删除耗时资源。我的流程就是数据库批量数据更新为删除中,然后起多个线程去异步调用真实的耗时接口。直接返回前端操作成功。异步完成后会更新数据库状态为删除成功 异常处理: 由于都是在内存中,如果服务重启,即无法知道结果。目前解决方案是每次启动之前都捞出"XX 中"的状态任务,先调查询结果接口,进行数据库更新,或者重新发起。 疑问: 目前有很多这种异步耗时又有状态的资源。我想着给他们抽象出来做成统一,有啥方案或者目前有什么开源的任务调度能解决状态机的东西吗? | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 07:31 PM PDT 自己从高中开始自学计算机,接触过很多东西。 大学期间自己在实际开发中也受到过老师的赞同,实习时候也被主管很认可。但是就是面试不太行,老是忘记八股文,也不太会刷题。 感觉以后得针对性八股文和算法。 | ||||||||||||||||||||||||||||||||||
EmacsTalk 第十一期. 与架构师 redraiment 闲聊 Emacs Posted: 31 Mar 2022 06:21 PM PDT 概要本期嘉宾是使用十二年的 Emacs 资深用户张泽鹏(网络 ID:redraiment )。得益于 Emacs 其无与伦比的"开放性",嘉宾使用它打造出符合自己理念的高效开发环境。Emacs 对于嘉宾来说,即使生产力工具,也是"玩具",在"玩"的过程中,来学习新技能。使用 Emacs 多年后,万物可编辑的思维给嘉宾的日常工作带来很多启发,总结出一篇与系统设计的文章:编辑器思维与系统设计思想,这其中的精华都会在节目中聊到,近一个小时的节目,精彩不容错过。 收听方式 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 06:06 PM PDT 各位,我想通过通配符或正则来查询 s3 上的对象,但是使用 bucket.objects.filiter()方法只能用前缀来指定查找,这样不能达到效果,有没有好的方法来实现更精确的查找?感谢 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 05:45 PM PDT 请问下各位同学,有购买精装房的没,收楼了怎么去验收? 有买上坤地产房子筒子们最好,交流哈,多谢! | ||||||||||||||||||||||||||||||||||
求问 PPT 文件上传后如何在 WEB 端直接打开查看,不下载! Posted: 31 Mar 2022 03:30 PM PDT PHP 的后台,VUE 的前端,在后台上传 doc\ppt\pdf 的文件,问题是"目前只解决了 PDF 的新标签页打开的问题,但是 DOC 和 PPT 前端 WEB 点击只能下载,不能直接再标签页内直接打开吗?" 跪求大神指点迷津~ | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 03:10 PM PDT 程序目标用本地服务代替网络服务, 使得需要依赖网络运行的一款第三方应用能够脱机运行。 已实现的阶段目标使用 RESTful 架构的 falcon 包实现了基本的网络请求响应,在依赖的资源文件完整的情况下,程序可以脱机运行。 但是遇到资源文件缺失,需要通过网络下载补足的情况就会报错。 问题描述本地文件请求:GET 文件远程真实地址:GET 用什么方法能在 python 程序接收到本地文件请求时,由 python 用关键词 希望大侠不吝赐教,万分感谢。 | ||||||||||||||||||||||||||||||||||
Java ssh 客户端 Jsch 怎么执行 sudo su 后再执行新命令 Posted: 31 Mar 2022 01:51 PM PDT 背景是这样的。 我在本地通过 jsch 对一台远程机器执行命令,但该命令需 sudo 权限。 远程用户,只开放了登录用户的 sudo su 的权限。 导致想执行 sudo 命令需分两步: 这里涉及到 session 切换,原生的 Jsch 的 ExecChannel 就用不了。 改为 ChannelShell 。 但这个命令的返回,是一堆 shell 命令和结果糅合在一起,比较难提取真正的结果。 而且如果远程机器换一个 os ,例如是 centos ,则: 不同系统或者 terminal 可能会返回格式不同,导致真正想要的结果难以提取。 请教是否有好的解决方法呢? 文档: | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 12:57 PM PDT 需求JAVA 语言, 提供一个静态方法接收动态 Integer 参数,把接收到所有 Integer 不为 Null 的相加 返回总和。 支持 stream ,需要一个最优的写法! 可以评论一下,看看大佬们的代码功底!让我这个菜鸟采纳一下~ | ||||||||||||||||||||||||||||||||||
请教各位大佬, IOS 系统开发 APP 如何避免由于内存过大被系统强制杀死? Posted: 31 Mar 2022 12:48 PM PDT 如题。 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 12:26 PM PDT 在国内卷够了、来日本干 IT 躺平吗 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 11:13 AM PDT win10 只是打开 vscode 和 golang 代码,也没有执行编译,为什么 gopls 的 cpu 占用到 20%,而且一会儿高一会儿低。 有老哥讲解吗? | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 10:15 AM PDT 最近创建了一个 java 交流群,欢迎各位技术大大加入; 大家一起交流技术,工作,跳槽等行业信息。 | ||||||||||||||||||||||||||||||||||
Java 项目该不该用 stream 流来编写代码?考虑 code viewer Posted: 31 Mar 2022 08:13 AM PDT | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 07:23 AM PDT
▦ 一. lalserver 简介lalserver是纯 Golang 开发的流媒体(直播音视频网络传输)服务器。目前已支持 RTMP, RTSP(RTP/RTCP), HLS, HTTP[S]/WebSocket[S]-FLV/TS 协议。 ✒ lalserver 特性
✒ 协议转换支持情况见: 附录-协议间转换支持情况 ▦ 二. lalserver 安装、运行lalserver 支持 3 种安装、运行方式: ✒ 方式 1, 源码编译安装下载源码: 编译:
运行: 注意,windows 平台将路径分隔符 ✒ 方式 2, Docker 镜像下载镜像: 运行镜像: 如果想构建自己的 Docker 镜像,可参考 附录-构建自己的 Docker 镜像 ✒ 方式 3, 下载编译好的二进制可执行文件lal 提供 ▦ 三. lalserver 使用✒ 各协议推拉流 url 地址列表lalserver 启动成功后,就可以开始使用了。 使用 ffmpeg 推 rtmp 流: 使用 ffplay 拉 rtmp 流播放: 更多协议见: lalserver 各协议推拉流 url 地址列表
✒ lalserver 配置文件如果你想进一步了解 lalserver 的功能,可以看看: lalserver 配置文件说明 ✒ lalserver HTTP 事件和接口通过 lalserver 提供的丰富的 HTTP 接口,业务方可以在保持 lalserver 独立运行的情况下,使用自身熟悉的语言,轻松定制符合自身逻辑的业务系统。 ✒ lalserver 进阶▦ 四. 重新认识 lal✒ lal 的三层结构✦ 其他 demolal 项目中,除了 了解更多请访问: Demo 简介 ✦ 流媒体协议栈库 package/librarylal 中的协议栈都是独立的,与应用分层设计的。并且客户端和服务端的协议栈都有。 ✦ Golang 通用基础库-nazalal 将非流媒体特有的通用基础库抽象在一个独立的 github repo naza中。 了解更多请访问: 《 naza github 地址》: https://github.com/q191201771/naza ✒ lalext站在巨人的肩膀上才能看的更远。lal 在另一个 github repo lalext中,将 lal 的代码与第三方的库结合,实现了更丰富的功能。 ✦ WebRTCrtmp 转 WebRTC 的网关 了解更多请访问: 《 lalext github 地址》: https://github.com/q191201771/lalext ✒ 进行中
▦ 五. 联系作者
作者微信,扫码加好友: 欢迎任何技术和非技术的交流。 | ||||||||||||||||||||||||||||||||||
Posted: 31 Mar 2022 06:54 AM PDT |
You are subscribed to email updates from V2EX - 技术. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment