Friday, June 4, 2021

V2EX - 技术

V2EX - 技术


上司不允许使用 es6 新特性理由是他看不懂

Posted: 04 Jun 2021 04:48 AM PDT

请问是我道行不够还是上司跟不上潮流?

入职不久的前端开发,最近参与一个模块的调整作业,模块本身多人接手过所以 es5 es6 都有。 用 es6 的 filter 方法处理了几个 api 接收的数据, 完后 codereview,上司说不行非让我用 for 循环写,理由如下

1.他看不懂,原因是他虽然也懂前端但是主要负责后端,原话:java 里没有 filter 2.他看不懂就没法排错,万一写错他不知道哪错了 3.新特性不够稳定,兼容性有问题,显然他不懂 bable 4.万一我休息遇到 bug,for 他会改 5.for 也罢 filter 也罢最后都能用,为什么不用大家都懂的

虽然我给他普及了相关知识,可还是被无情拒绝。 当时我是很生气的,这明明就是 js 基础了,2021 年还有这种人? 不过事后一想,上司的做法不能说全错,毕竟他是要对项目负责的,稳是第一位。

公司还行,但是没有干长的打算 如此别说是参与内卷了,不仅啥都学不到,技术退步肯定是必然的。 请问各位遇到这种事情会怎么办?

「请教贴」 Python 爬虫如何把单核跑满

Posted: 04 Jun 2021 04:46 AM PDT

需求场景:

目标有采集需求, 对于效率要求比较高, 但是程序运行的过程中对于内存资源消耗比较严重, 对于 cpu 使用率就很低, 结果造成了大量 cpu 资源的浪费。 所以想请教一下 python 爬虫有什么办法能充分利用 cpu 性能从而提升效率么

如何绕过汇丰银行 App 的 root 检测?

Posted: 04 Jun 2021 04:40 AM PDT

手机:米 9

环境:MIUI12.5/Android11

插件:Magisk

已装的 Magisk 模块:

Riru

Riru-LSPosed

Riru-Hide MyApp List (隐藏应用列表)

Riru-MomoHider (能够绕过检测 xposed 和 magisk 的软件)

Riru-Enhanced mode for Magisk Hide ( magiskhide 的增强)

目前这套组合拳已经能够骗过绝大部分银行 APP 的 root 检测,但是汇丰的国内版本和香港版本依旧能够检测到 root 权限,有没有懂哥知道怎么破解?

关于在群晖上使用 youtube-dl 的问题

Posted: 04 Jun 2021 04:40 AM PDT

我在 docker 上成功安装了 youtube-dl,可以正常下载 youtube/b 站等视频,现在有一个问题就是下载的视频只能保存到电脑,不能保存到 NAS 。打开程序界面有下载的设置,但是不知道怎么设置,我想默认保存到 NAS 上,在作者的 GitHub 上没找到相关的说明,特来求助。( docker 里默认没有映射卷)

docker 地址: https://registry.hub.docker.com/r/tzahi12345/youtubedl-material/

截屏 2021-06-04 下午 7.27.37.png 截屏 2021-06-04 下午 7.28.42.png 截屏 2021-06-04 下午 7.28.58.png

关于 npm install 会报 ENOTFOUND 或 ECONNRESET 的问题

Posted: 04 Jun 2021 04:34 AM PDT

问个奇怪的问题,我一直在用 ssr,现在因为都懂的原因,很多 ssr 通道都被强了,所以现在改用 v2ray,用的 ClashX 但之前一直正常的 npm install,现在一直报 ENOTFOUND (以前 npm 一直没配置任何东西,包括代理) 然后我这一下午就各种 google,现在的解决方案是这样的。。 但现在 npm install 失败率还是很高,大概 10 次失败五六次的样子

但我并不想配代理啊,因为到时候变更环境的时候会很麻烦啊。。而且最重要的是就现在这么配,失败率还是很高。。 所以各位有什么解决方案没

最近 Angular 的占有率有所上升吗?

Posted: 04 Jun 2021 04:28 AM PDT

最近 LinkedIn 给我推的工作机会大部分都要求 Angular 的经验,而我只有 React 的经验。是 Angular 实在找不到人,所以推到我这儿来了吗?

为什么要叫钩子?

Posted: 04 Jun 2021 04:21 AM PDT

很多软件的事件回调都叫钩子,也就是 hook,例如 SVN 和 Git

不理解为什么叫钩子,感觉不是很好理解,难道这有什么故事

纠结, ds920+和 453dmini 怎么选?

Posted: 04 Jun 2021 04:17 AM PDT

前天 jd3840 入手了 ds920+,已经到货了还没取。昨天发现 453dmini 也挺香,才 2799,省下来的钱可以买块硬盘了,是把 920 退了换 453d 还是留着。。。
还有买 920 的时候用了 150 的优惠券,如果退掉的话优惠券会退回来么

向大佬们求教一个 go 的递归结构体方法派生与扩展相关的问题

Posted: 04 Jun 2021 04:12 AM PDT

求教,以基础树结构(二叉搜索树)为例:

type TreeNode struct{       Val     int       Left    *TreeNode       Right   *TreeNode } 

已经基于这种结构写了 Max()Min()方法,例如:

func (n *TreeNode) Max(){}  

如果想要把基础树结构扩展到红黑树 RBTNode ,相当于基础树结构 TreeNode 多加了 Color 字段:

type RBTNode struct{       Color   int   // 新加的字段       Val     int       Left    *RBTNode        Right   *RBTNode  } 

如果想对 RBTNode 调用与扩展属性无关的方法,例如 Max(),只能通过重写一份相似代码的形式来实现吗?例如:

func (n *RBTNode) Max(){}  

// 备注:之前想过派生,但很明显是不可行的。。

Xperia 1III 到手了,大家有什么想问的吗

Posted: 04 Jun 2021 03:56 AM PDT

有哪些平台可以让第三方人员协助完善多语言翻译的?

Posted: 04 Jun 2021 03:54 AM PDT

免费的平台, 或者开源的项目都行. 求推荐

目前已知 weblate, 但是感觉不是很实用. 感觉功能太过复杂.

又是看 API 文档崩溃的一天

Posted: 04 Jun 2021 03:46 AM PDT

从业多年几乎没看到过一份合格的 API 文档。

回想了一下,接触比较多的什么京东开普勒、微信开放平台、支付宝,以及各种提供开发平台服务的小公司,就没有几个省心的文档。

包括不限于 无业务整体流程、文档结构不清晰、参数命名规则混乱、参数说明含糊不清、示例与说明不一致、出现未说明错误码 等问题。

拜托各位业务负责人、各个 Leader 、还有写文档的铁子们,写文档的时候稍微多花点心思,节约大家的沟通成本。皆大欢喜不好吗?

一次在 V2EX 的讨论有感

Posted: 04 Jun 2021 03:43 AM PDT

昨天在 V2EX 发了一篇文章后,真的被回复的讨论所『感动』了,也很感激

内心深处对这种高质量,强氛围的讨论向往和喜欢。

绝大多数人都在结合自己的经验知识,去讨论,和提出方案。并能够结合实际去讨论和回复。
这就是我理想中的技术社区的样子在这里感谢所以回复的人

原文:是否有必要用 K8S

在 Javascript 中不用括号也能调用函数?

Posted: 04 Jun 2021 03:29 AM PDT

今天看代码突然发现了类似于下面的一段 js 代码,是可以正常输出的:

function log_this(string, param) {     console.log(param); }  (function (elem) {     log_this`${elem}`; })('ok'); 

我想问的是,代码里面的这个:

log_this ${elem};

为什么可以正常调用(新的 ES 语法?);原谅我的孤陋寡闻~

有什么工具可以检测某云 LB 的稳定性?

Posted: 04 Jun 2021 03:21 AM PDT

经过几次客户的反应,很怀疑接口存在偶尔的超时或者无响应。
例如前端有一个逻辑是请求了接口 1,成功后就请求接口 2 (这个流程已经反复验证过,而且绝大多客户使用是正常的)。
接口用到了某云的 LB,从 LB 的日志来看,有问题的客户只请求了接口 1 (正常响应),但是没有接口 2 的请求日志。

现在怀疑问题出在某云的 LB 上,而且出问题的时候连日志也没有( LB 的日志也是此云平台托管)。有没有什么工具能够监控出来吗?有没有什么好办法

我发现公司里面最难的活并不是开发新产品新功能,而是在没有文档没有人会的老代码上增加功能

Posted: 04 Jun 2021 03:03 AM PDT

简直是太难了 孤立无援,每天都是绝望的心情,战战兢兢,不知道什么时候能干完活,甚至都不知道能不能完成功能 有时候踩到一个坑要花一两天时间解决,这就是传说中的苦活脏活累活了吧

游戏全区全服现在有什么好的方案吗?

Posted: 04 Jun 2021 02:51 AM PDT

卡牌的抽卡游戏。全区全服有什么设计方案?我现在的想法是,实际分服,只是玩家不可知。但是这种情况,如果有一个服务器节点挂了,那么部分玩家就无法正常游戏,这种单点问题如何解决呢?或者有没有其他什么好的方案。

如果 GitHub 上某个仓库没有添加任何 License,我能否在本地去修改它的代码?

Posted: 04 Jun 2021 02:30 AM PDT

最近想写个小工具,刚好 GitHub 上有个跟我需求契合度比较高的项目,准备拿来改一改。然后就遇到了标题所说的问题。
查到了一个 说法,似乎是不能。
然后我就去提了个 issue,询问作者能否加个 license 。比较尴尬的就是作者没答应加 license,但口头上允许我复用他的代码(详见 issue 内的回复),这种情况我到底能不能拿过来改……

不能的话只能从头写起了,本来加个百来行代码就能直接用的……

追踪 Windows 10 鼠标旁边一个有一个漏斗在闪的原因

Posted: 04 Jun 2021 01:53 AM PDT

系统配置

  • 处理器 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
  • 机带 RAM 16.0 GB
  • 系统盘 SSD 250G
  • 使用 wsl2 启用了体验版

原因猜测

漏斗表示有进程在等待?系统资源 

尝试解决

  1. 首先是禁用了所有的启动项, 无效
  2. 观察任务管理器, 观察占用 CPU,磁盘,网络的进程,没有发现特征明显的
  3. 使用系统代理,查看代理服务器日志,发现一直在请求微软的一个 v10.events 的地址,所说是更新相关,打开更新菜单发现确实是更新任务一直在闪,重试更新,发现部分更新无法下载
  4. 使用硬盘清理,删除 Windows 更新,再次更新,发现可以根据,问题也消失了

题外话

机器还是有几年了,发现电源第一机无法开机,电源灯亮了,需要强制关了,再开才能开,BIOS 电池换了 内存也重新插过 

VSCode 复制文件名 这么简单 目测非常常用 的功能也没有?

Posted: 04 Jun 2021 01:35 AM PDT

绝对路径(一天可能用到 1 次)、相对路径(一天可能用到 2 次) 都能有个菜单可以操作,仅仅要直接复制文件名(一天可能用到 100 次)的功能居然么有!!!

首选方法:无

次要方法:通过修改文件名来复制文件名,多操作好多下

无奈方法:复制路径,手动删除文件名前面一大串字符

滑天下之大稽😂

单机的 qps 普遍是多少?网上基本都没搜到什么资料说明

Posted: 04 Jun 2021 01:33 AM PDT

我自己用 jmeter 压测公司的测试服务器时,很简单的接口(访问数据库+redis 缓存+打 log ),200 的 qps 就会很不稳定,有 5%的请求的延迟就会到 200ms 以上,当然,用来测试的服务器的性能好像很差(具体配置我也没看),而且我用 jmeter 的方法可能也有问题(直接在开发机的 window 下用 gui 测,还不是同一个内网,不过直接用 linux 测好像也没什么区别)

但现在我看有些文章写单机能做到 4 万 qps ( https://zhuanlan.zhihu.com/p/377795008 ),感觉跟我经验差别好大,而且测试单机 qps 应该也不需要分布式测试,毕竟服务器都只有一台,测试怎么会需要多台物理机?

假设接口就是简单的访问一次数据库(假设数据库速度稳定在 2ms )+一次 redis+打 log,95%请求的响应时间在 100ms 以下,普遍情况下单机会有多少 qps ?具体机器配置就需要各位说明一下,当然,也可以提供以下其他条件下的参考值。

我面试时一直写的是单机 qps200,感觉问题真是大。。。。

laravel 框架原生 select 报错

Posted: 04 Jun 2021 01:26 AM PDT

前言

使用的 docker 环境,PHP7.4,PHP 的 sqlsrv,pdo_sqlsrv,odbc,pdo_odbc 扩展已将安装。 

遇到的问题

我使用 DB::connection('')->select()就会报错  报错信息:SQLSTATE[IMSSP]: Field 13 returned no data. (SQL: select top 1 * from tbl_mpay_order with(nolock) where id = 1000 )  我使用 DB::connection('')->update(),执行修改语句,就不会报错,也能正确修改。  我使用原生 pdo 连接进行查询,就不会报错。代码如下 
	try{             $env = env('APP_ENV');             $dbHost = env('SRV_DB_HOST');             $dbUser = env('SRV_DB_USERNAME');             $dbPwd = env('SRV_DB_PASSWORD');             $dbName = "gameplane";             if(!empty($dbHost) && !empty($dbUser) && !empty($dbPwd)){                 $dbName = "sqlsrv:Server={$dbHost};Database={$dbName}";                 $db = new \PDO($dbName, $dbUser, $dbPwd);             }             $sql = " select * from t_alipay_packet with(nolock) where  packetType = 1 ";             $stmt = $db->query($sql);             $res = $stmt->fetch(\PDO::FETCH_ASSOC);             echo '<pre>';             print_r($res);             return;         }catch (\Exception $e){             echo '<pre>';             print_r($e->getMessage());             return;         } 

关于多平台部署的问题

Posted: 04 Jun 2021 01:02 AM PDT

现在我们小组有个项目需要同时部署到两个不同的平台,除了对接的和用户相关联的这一层不同其他的模块都是相同的。现在我们是切了两个不同的分支分别维护,升级核心的共有业务逻辑需要同时在两个分支修改很麻烦。有什么更好的管理方法吗?同一分支多模块这个方向可行吗?

前端如何处理用户修改本地时间来绕过前端时间卡控最合适?

Posted: 04 Jun 2021 12:32 AM PDT

B/S 架构系统,内网使用,不连外网。

一些请求需要对提交数据中的时间参数进行卡控,自然前端、后端都会进行校验。

现在问题是有些客户会尝试去修改操作系统时间( Windows ),来绕过前端的时间填写校验。

虽然后台服务也会校验,并在前端提示,但是现在希望前端卡控也能正常工作。

目前暂时处理方式是,前端需要获取当前时间时,去请求接口获取服务器时间,以服务器时间为准,不获取本地操作系统时间。

请问有没有更好更合理的实践方式?

关于沟通

Posted: 04 Jun 2021 12:13 AM PDT

前端, 工作第一年, 想做点技术改造优化性能, 需要同事配合, 也需要人力

同事: 关我啥事? 老板: 有必要吗?

结果: 我上 v2 吐槽了一通, 痛骂公司 SB.


现在, 一样的事情发生了.

找数据, 找客户反馈, 告诉老板优化的收益, 做技术方案估人力, 说服老板给人力

做技术方案, 一个个影响面找同事确认, 知会同事可能会有问题

上线后给出优化后的数据, 跟老板同步

做好监控, 每天盯看板即使发现问题, 降低投诉.

事情就被推动了, 优化做好了.


所谓沟通, 目的是争取自己想要的资源, 前提是上下文互通, 理解对方的痛点是什么

老板需要个给你排人力的理由, 他不想背锅, 因为他也有绩效压力, 没道理你在那随便作, 收益不明, 风险不知道, 他傻傻给你兜底. 但是你的技术优化有成果, 对他也是有好处的.

同事其实无所谓的, 老板给人力, 别出事, 别踩人家 G 点, 都能配合

想推优化就必须要下功夫解决这群老哥的痛点.


再引申一点.沟通的前提是上下文互通, 聊天要在一个频道上.

比如, 人家只需要快速出一个一次性页面, 你跟人家说用 react 好其实是聊不下去的, 只会互骂 sb, 然后乌烟瘴气.

不是人家对技术没追求, react 对这个一次性页面只有害处. 但同样, 那个推荐用 react 的老哥很可能他做的项目需要长期维护, 直接一把梭是不行的.

大概这就是一聊前端就能吵起来的原因吧.

快速上手 Linkerd v2 Service Mesh(服务网格)

Posted: 03 Jun 2021 10:33 PM PDT

Linux 实时查看日志时,如何高亮显示一些常见关键字

Posted: 03 Jun 2021 10:01 PM PDT

如:error, warning, fatal 或指定关键字等等,背景:使用的系统自带 mac termina,不允许安装其他客户端

关于 Java 类的向上转型和向下转型的疑问

Posted: 03 Jun 2021 07:31 PM PDT

class A { }
class B extends A { }

在 main 中
A a = new B(); 是可以的 1⃣️

但是
A[] a = new B[2] ----> 这里的 a 是 A 类型,但是里面的元素实际上是 B 类型??

a[0] = new A () ---> 按照 1⃣️中,这里的 a[0] 应该是 A 类型,但是实际上却是 B 类型。
a[1] = new B();

在 1⃣️里,一个 A 类型的 a,实际内部是 B 类型?
所以 A[] a 是一个 A 类型的数组,但里面都是 B 类型的元素?
所以 a[0] 是 B 类型?
这里我就不理解了
求解答

自定义了一个日志插件,但是 idea 无法识别

Posted: 03 Jun 2021 07:01 PM PDT

自定义了一个日志插件,类似 lombok 的 @Slf4j 注解,但是在 idea 中使用这个注解的时候,idea 没有对应的代码提示还会标注错误 Cannot resolve symbol 'xxx'。这种是需要像 lombok 一样开发一个 idea 插件吗?

base64 编码有什么不同吗

Posted: 03 Jun 2021 04:26 PM PDT

1.通过线上 base64 编码和 PHP 本地 base64_decode 编码得到的结果是不一样的 2.编码得到的都是二进制文件 3.线上的结果和 ios 是一致的,想问下这是为什么呢。php 是 MIME base64 编码的。

关于如何提升设计能力

Posted: 03 Jun 2021 03:00 PM PDT

夜深人静轻轻敲击键盘请教各位大佬,有没有能提升设计能力的书籍,比如给出一些场景,使用 C++实现一些类,比如可以先实现一个简单的,然后分析缺点,再进行优化。

有没有这方面的资料呢?不局限与书籍,可以是付费课程 书籍等,如果没有的话,这方面是不是一个商机呀?哈哈哈哈

git 怎么回滚到远程仓库某个分支的某次提交

Posted: 03 Jun 2021 01:48 PM PDT

比如我有个远程仓库叫 V2EX 有多个分支其中要回滚的叫 web_release 一共有 4 次提交 sha 值 分别是:sha1 sha2 sha3 sha4 现在 sha4 提交的代码有问题我需要回滚到 sha3

1.git clone XXXXXXX/v2ex.git

2.git revert -n sha3

3.git add .

4.git commit -m xxxx 提交

5.git push -u -f V2EX web_release

请问是这样操作的么?

leetcode 137 问题讨论

Posted: 03 Jun 2021 01:01 PM PDT

刷 leetcode 时,遇到如下问题,使用 C++ 我之前认为如下两种写法应该是等价的,但实际上不是: 方法 1:

for(int i = 0;i < nums.size();i++) { 	sum += ((nums[i] >> i)&1); } 

方法二:

for(auto num:nums) {    sum += ((num >> i)&1); } 

方法二符合预期,也能正确 AC,我开始写的是方法 1 (三刷之前收藏的 200 题),始终不能 AC,看了答案写成方法二就 ok 了,这到底是因为啥?运算符优先级?我加括号括起来还是不对. 完整代码:

class Solution { public:     int singleNumber(vector<int>& nums) {         int size = nums.size();         int ans = 0;         for(int i = 0;i < 32;i++)         {             int sum = 0;             for(auto num:nums)             {                 sum += ((num >> i)&1);             }              if(sum % 3)                 ans |= (1 << i);         }         return ans;     } }; 

请问现在 win10 任务管理器的内存占用该怎么理解?

Posted: 03 Jun 2021 12:55 PM PDT

表示完全看不懂, 所有的加起来恐怕也不超过 5G,但系统内存占用超过 12G (正常办公,开的网页比较多,无其他东西)

由上司不允许使用 es6 新特性理由是他看不懂这个帖子引发的疑问

Posted: 03 Jun 2021 10:39 AM PDT

在这个帖子中,有很多人都觉得前端过于浮躁,是最没技术含量的,在团队里的地位也是最低的。

我是一个双非二本的计算机专业的在读学生,之前也看 v2ex,只不过一直没有注册。我自己对前端也十分感兴趣,以后也考虑过走前端开发这条路,但看过这个帖子以后,内心产生了很多疑问,前端在公司的地位真的这么低吗?未来的发展很受限吗?

我自己也清楚前端的上限比后端低,可是我没想到会低这么多,感觉很多人并不把前端当程序员或者当人看了。我应该去转后端吗?毕竟我只是一个在校生还有时间。感谢各位的回答和建议。

找像素游戏开发工作

Posted: 03 Jun 2021 10:37 AM PDT

像素游戏和 8bit 音乐。

No comments:

Post a Comment