Tuesday, October 19, 2021

V2EX - 技术

V2EX - 技术


本人前端开发,公司快不行了,想问问自己的技术水平,有内推吗

Posted: 19 Oct 2021 04:10 AM PDT

最近互联网被锤得有点厉害,公司业务快支撑不住了,想知道自己是什么水平的前端开发,好调整下心态面试;

近期的作品: https://github.com/kirakiray/ofa.js

一个 MVVM 框架,大概就是个类 Vue 集合版,不需要用到 nodejs 和 webpack 而已,基于全异步模块化和原生组件化原理开发的;

请问这种框架还有价值吗,大概是什么水平?最近两年,靠下班时间和节假日,一点一点的磨出来的,文档都还没磨完;(想到这点功能放以前没上班时,几个月就能写完)

有想过这东西前景好的话,干脆直接全职投入进去,像 vue 作者那样;

本来感觉自己技术还行,但最近有个面试,问得我答不上来,怀疑自己的水平;年纪上来了,想安静上班开心下班,写写感兴趣的东西;

Google 2021 秋季手机 pixel 6/pro 发布会讨论汇总

Posted: 19 Oct 2021 04:08 AM PDT

telegram 电报讨论群组

https://t.me/pixelcn

凌晨一点 各位对这次发布会有什么期待
等 Google 第一款自己的 soc

台式电脑有推荐的的吗

Posted: 19 Oct 2021 04:02 AM PDT

如题,最近想入手台式,用来在家里打打游戏,存存照片什么的,价格最好在一万以内

关于傅立叶变换的一点疑惑?(夜不能寐

Posted: 19 Oct 2021 04:01 AM PDT

傅立叶变换,有公式
F(t) = ∫fx * e^(-i* t * 2π) dx

t = 0,1,2,3 ... N

频率 t ,从做到又依次增加.

二维的情况, 应该也是,从左到右,从上到下,依次增加。 也就是 左上角是最低频,右下角是最高频。 类似于

1  2  3   2  3  4   3  4  5   

但是看网上关于傅立叶变换的文章, 都是说,四周是低频,中间是高频(或者 四周是高频,中间是低频,然后平移变换,总之极值在中间。)

请问这个是什么原因呢? 网上人都这么说,应该是我理解错了。

还有,输出功率图的时候,是输出的振幅吧,复数的模,但我发现这个值很大,远远超过了 255 ( rgb 灰度值)。 这个是怎么处理的呢,谢谢。

非通信出身,见笑了 :)

谷歌就这样放任小 x 知识网

Posted: 19 Oct 2021 03:56 AM PDT

现在谷歌是怎么回事,小 x 知识网这些乱七八糟的都影响了正常搜索了。

万能的大神现在虽然在 pc 端禁止了那些垃圾,手机端怎么办呢?

1024 程序员节,好多公司搞活动

Posted: 19 Oct 2021 03:52 AM PDT

马上到 1024 程序员节了,好多公司搞活动,有哪家公司的活动最吸引你?或者说礼品最吸引你的?

推荐下我们新搞的东西:捕蛇者说 newsletter

Posted: 19 Oct 2021 03:47 AM PDT

#0 Now for something completely different

Hi All,欢迎大家订阅「捕蛇者说 newsletter」,我们将同播客一样,围绕编程、程序员和 Python,同大家分享我们的信息,知识,经验与见解。newsletter 中所有提及的链接,信息与讨论,都取自《捕蛇者说》听众参与组成的「捕蛇者说讨论组」,欢迎大家订阅《捕蛇者说》播客栏目,收听入群。(为什么要收听入群呢?因为如果不听的话可能无法正确回答入群验证~

Make it work, then make it beautiful, then if you really, really have to, make it fast. 90 percent of the time, if you make it beautiful, it will already be fast. So really, just make it beautiful!

──Joe Armstrong

捕蛇者说播客更新啦

是的,在时隔一个月后,在本期嘉宾李辉的鼎力协助下(我们遇到的第一个包揽剪辑的嘉宾,堪称实力超群),终于在时隔一个月之后,推出了新的一期 Podcast:「Ep 33. 和李辉聊聊自由职业(下)」。李辉是 Flask,APIFlask 项目的 maintainer,本期会接上一期的话题,和我们继续聊聊自由职业相关的内容。还没有订阅的朋友可以在任意播客客户端上订阅收听,欢迎订阅!

新的一期的录制已经结束啦,我们同 GreyCode 聊了聊「工程化学习」,内容足足有接近两小时,我们也希望完成剪辑,今早同大家见面😓

🚀 Readings

Python 3.10 发布啦

如果你已经看过了 Changelog,应该也会注意到本期的标题,如果你还没有了解,快去看看吧。在引入 Structural Pattern MatchingExplicit Type Aliases 等特性之外,Python 3.10 也是 Implementation plan for speeding up CPython 计划的第一阶段,一个更快的 Python 到来的序章已经开始啦!

Timeouts and cancellation for humans

trio 的作者所写的 Blog@Luke 在讨论组中进行了推荐。讲述了目前常见 timeout 的问题:timeout 缺失所造成的暗伤,不同的 库和 API 中 timeout 语义的差异。 作者有给出了一些尝试优化的思路,并最后给出了 trio 的解决方案。不论是你要设计的 API 涉及 timeout,亦或是在使用的某些库涉及 timeout 参数,这篇文章都值得读一读来帮你深入了解 timeout 背后的一些事情。

Why not multiprocessing

@kermingy 写的一篇 Blog,讲述了在使用 `multiprocessing` 所踩的坑。使用 spawn 后访问主进程变量遇到的意外。使用 fork 时,锁被释放子进程仍然无法获取锁。以及 gc 死锁等一系列令人惊讶的问题。当你决定用 multiprocessing 之前,最好通过这篇文章了解下其中的 astonishment !

B-Tree 的生产级实现

@linw1995 想要找一个足够全面的关于 B-Tree 的测试用例,@codedump 推荐了 simple-sqlite,作者将 sqlite 2.5 中的 b-tree 部分代码抽取出来,并包含完整的测试用例。@yihong 推荐了 tile38 的作者实现的 btree,并用于 tile38 项目之中。

Deep Reedings

DDIA

我们又一次在讨论组里提及了 《Designing Data-Intensive Application》这本书,一本值得所有工程师一读的书,再次向大家推荐。不论是中译版,影音版,电子版,国内都能方便的买到。

Python without the GIL by Sam Gross

Python Core Developer Yury Selivanov 在该推文中表示是其 2021 年最感兴趣的阅读。文章给出了一个 demo,并详细的阐述了移除 GIL 涉及到的许多细节,给出了新的方案,更好的是给出了 Trade off,让我们了解这么做牺牲了什么,换来了什么收益。

国立台湾师范大学算法课程

主播 @laixintao 推荐的一个网站,有算法讲解有详细图示与过程,但是名词可能要做一些相应的映射。

Projects & Tools

本期我们在群里好像没有聊到特别推荐的新工具,希望下期能集中列一下


本期 newsletter 就到这啦,欢迎各位订阅,如果有什么想法和我们聊聊的,也欢迎给我们发邮件~

服务端渲染的静态页面如何进行 CDN 加速

Posted: 19 Oct 2021 03:46 AM PDT

纯静态的静态资源只要上传到 CDN 平台就可以进行加速。但是对于服务端渲染后的静态页面( 比如可配置标题的 html 首页,需要后台渲染 ),因为界面是需要通过服务器进行渲染才可以拿到的,所以无法通过服务器直接进行 CDN 加速,我目前做法是:

每一次在后台进行业务修改,触发页面渲染,把产生的纯静态文件通过 api 上传到 CDN 平台拿到加速链接,传给给前端界面

感觉这种方式有点投机取巧,比较 low,请问下业内有什么比较好的方案吗 ?

pycharm 如何智能提示出 方法内的 行内注释??

Posted: 19 Oct 2021 03:46 AM PDT

比如:

def plot( data, **kwargs ):     """     Given a Pandas DataFrame containing columns Open,High,Low,Close and optionally Volume           """ 

因为注释里面会包含很多参数的信息一类的,比如 kwargs 这种

现在效果是这样

怎么设置才能打参数的时候,显示文档呢?

python 小白, 求大佬指点

为什么现代金融系统,在转账时还需要提供'对方开户行名称'

Posted: 19 Oct 2021 03:45 AM PDT

一些场景,比如保司理赔打款,某些网银转账等,除了需要卡号+姓名外,还需要提供开户行.但在很多手机银行转账却无需提供

最近面试遇到两个很相似的系统设计面试题

Posted: 19 Oct 2021 03:41 AM PDT

  1. gitlab 上有个项目成员包括了几十个国家,由于网络的原因普遍反映操作痛苦,请给出优化方案
  2. 一个共享文档(不超过 10M )需要任何每个国家和地区的用户都可以在 10 秒中内打开加载完毕,请给出优化方案

感觉这两个问题都有相似的内核,都是跨国家跨地域的情况, 但自己答的时候答的驴头不对马嘴的,所以希望可以求助一下各位大神有什么比较好的思路

寻找有类似想法的设计师以及前端开发

Posted: 19 Oct 2021 03:11 AM PDT

本人是一名全职后端开发,想在工作之余做一些平时脑子里蹦出的自我感觉很有意思的项目,但是苦于没有设计能力,自己的想法也大都停留在幻想中。想过自己搞,但个人能力和精力有限,实在不切实际,所以想结识一些有同样想法的前端开发和设计师朋友,平时聊聊想法,然后利用业余时间可以一起做些有趣的产品,类似组建个固定的小团队。

普通本科大三学生该怎么找工作?

Posted: 19 Oct 2021 02:56 AM PDT

楼主现在大三,软件工程专业,学校主要学习是 Java 方向,但是个人比较倾向前端开发,目前正在自学前端,学校主要教了 HTML,CSS,Javascript,jquery,json,目前在 b 站学习 react,想问一下前端有什么比较好的学习网站来做前端项目,以及怎么准备简历,想在明年暑假找一份前端的实习。

利用 raid1 的同步功能定期备份数据会有什么风险吗?

Posted: 19 Oct 2021 02:34 AM PDT

大家会在家购置舒适的办公椅吗?

Posted: 19 Oct 2021 02:18 AM PDT

感觉椅子不太舒适(房东配的普通的椅子),看了一些牌子的人体工学办公椅,一千五起步,高了就上天了。

想问问大家,你会在租的房子里购置舒适办公椅、升降桌等等,利于写代码或用电脑的东西吗?(花几千上万,而且一个个重得惊人,我一个普通的升降桌就有九公斤)

搬家怎么办,尤其是老房子没电梯……

采用 Pull 来主动定时获取 RocketMQ 的消息,每次都会收到已经处理过的信息?

Posted: 19 Oct 2021 02:17 AM PDT

项目需要 Pull 的方式,定时主动获取 RocketMQ 中的消息,而不是采用订阅 Push 的方式。
查了下,目前 python 连接 rocketmq 主要有两个库:rocketmq-client-python 和 rociketmq
rocketmq-client-python 是用来替代 rocketmq 的
发现最新的 rocketmq-client-python 库只有 PushConsumer,PullConsumer 已经去除了。
于是就找了老的 rocketmq 的库,里面还有 PullConsumer

不过按官方案例调试了下,发现每次运行如下代码,会收到大量已经获取过的消息。
代码如下:
from rocketmq.client import PullConsumer
consumer = PullConsumer('CID_test')
consumer.set_namesrv_addr('127.0.0.1:9876')
consumer.start()

for msg in consumer.pull('TEST-TOPIC'):
print(msg.id, msg.reconsume_times, msg.queue_offset, msg.body)
consumer.shutdown()

网上搜了下,也看了源代码,应该 pull 的方式,客户端需要手动处理 offset,对应有一个 offset_table 变量
我能否这样处理:
1.每次收到一个消息后,我都把 offset_table 存储到数据库里。
2.下次重启程序的时候,我要从数据库里把 offset 信息取出来,赋给 offset_table 变量

目前我简单做了测试,没有发现问题。不知道我的理解处理有没有问题。 这块网上信息好少,特别是 python 处理的。麻烦有经验的小伙伴赐教。

docker 怎么配置变量

Posted: 19 Oct 2021 02:10 AM PDT

version: '3' services:   es01:     container_name: es01     image: elasticsearch:7.14.1     restart: always     environment:       - "ES_JAVA_OPTS=-Xms8g -Xmx8g"     volumes:       - ${ROOT}/es/node1/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml       - ${ROOT}/es/node1/logs/:/usr/share/elasticsearch/logs       - ${ROOT}/es/node1/ik:/usr/share/elasticsearch/plugins/ik     ports:       - 9200:9200     networks:       - es_network   kibana:     container_name: kibana     image: docker.elastic.co/kibana/kibana:7.14.1     restart: always     ports:       - 5601:5601     volumes:       - ${ROOT}/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml     //environment:     //  ELASTICSEARCH_URL: http://es01:9200     //  ELASTICSEARCH_HOSTS: '["http://es01:9200"]'       networks:       - es_network     depends_on:       - es01 networks:   es_network:     driver: bridge 

docker-compose 文件是这样的,kibana.yml 里边有配置 elasticsearch.hosts 。 现在是直接在 kibana.yml 文件内修改。现在怎么才能将该参数配置为变量。 在 docker-compose 同时配置 environment 没有生效。只设置 environment 可以生效。

现在需求就是可配置化,即在.env 中可以配置 kibana.yml 的值 这个怎么操作

Saas 私有化部署的方案,有人了解过么

Posted: 19 Oct 2021 02:10 AM PDT

有部分客户需要私有化部署的方案。目前项目都是强耦合第三方的,数据库用阿里云 RDS,对象存储用 OSS 等。。突然需要私有化的方案,估计整个项目都要做调整。

目前项目部署都是通过 Jenkins 部署。若在企业内网,项目要怎么部署上去。。需要通过内网穿透的方式 ssh 链接到,企业内网的系统么。那这样私有化部署的意义是什么。

完全没有思路

最好同步开发环境的方式是怎样的?

Posted: 19 Oct 2021 01:38 AM PDT

目前在使用 vsocde-remote 配合 docker,我自己做的镜像只能包含一些基础的依赖,每次使用新设备的 vscode 连这个容器的话就得新装一堆的插件,另外 docker 镜像每次更新的话又得多一层 layer,最后越来越大,远超容器本身的东西.

有没有什么办法可以完美同步开发环境,而且能够做到只依赖一个下载源的方法呢?

Python 有什么好的 tracer profiler 可以 测每个函数的最长耗时?

Posted: 19 Oct 2021 12:44 AM PDT

如题,想测测代码里面每个函数的最长耗时。有什么好的工具么?

一个 websocket 工具,跑几个小时后,就会出现延迟递增,然后递减。我想看看这个是哪里的问题。
不能用函数的平均耗时,因为不到万分之一的数据又有延迟,平均后看不出来。

先谢谢啦

在网页端绘制流程图,用开源的流程图 ui 组件,如何选择?

Posted: 19 Oct 2021 12:38 AM PDT

因为需求,要绘制流程图,

网上搜了一下 js 有关流程图的插件,比较容易找到的就是 go.js ,antv 的 x6,jsPlumb,bpmn-js 。

各位用的是什么流程图组件呢?文档说明比较好的是哪个?

JavaScript 爬虫方案有推荐的吗?

Posted: 19 Oct 2021 12:28 AM PDT

目前在模仿一个别的网站练手,模拟数据比较困难,就想着爬点下来。(纯练手,非商业用途)

之前用的 Scrapy,挺好用的,但是自己本身已经对 js 、ts 比较熟悉了,而且不太喜欢 python 。

所以就想问问有么有什么 JavaScript 的替代方案之类的?比如相关的框架之类的?支持 ts 更好

Win10 连接 LG ultrafine 5K 显示器不亮

Posted: 18 Oct 2021 11:38 PM PDT

我的 冥王峡谷 NUC8i7Hvk 安装 win10 后,使用雷电 3 的线,通过 nuc 的雷电 3 口连接 LG ultrafine 5K 的雷电 3 口,但是就是死活点不亮。。。。

nuc 同一个雷电 3 口,使用 山泽的 typec-dp 线连接普通的 dell 4k 显示器是可以完美 4k 60hz 的。。。

有没有朋友解决过这个方案,求帮助~

阿里巴巴 Java 开发规范:货币金额,均以最小货币单位且整型类型来进行存储, 和前端的交互也用整形吗?

Posted: 18 Oct 2021 11:29 PM PDT

和前端的交互也用整形吗? 我们现在内部是给前端用元, 存数据库用分单位.

如果忘记转换, 差的就是 100 倍的价格, 用 BigDecimal 差的就是 1 分钱的价格, 两个相比较起来, 还不如用 BigDecimal

在微服务内部互相调用, 返回的价格应该和给前端的是一样的, 会转了又转

想问下这个规则要怎么使用?

web、nodejs 或者 electron 如何调用 c++的 dll 动态库?

Posted: 18 Oct 2021 11:20 PM PDT

https://github.com/node-ffi/node-ffi 已经 3 年没有更新了,看来这种方案并不是那么完美,有现在正在使用的吗. 尝试了多次,报错问题频繁,有没有别的方式去调用 dll?

极验啥情况?电话打不通,账号也注册不了

Posted: 18 Oct 2021 10:35 PM PDT

想问一下极验是不是出现什么经营状况了,从国庆节结束到现在天天打电话打不通,客服也一直都是不在线。我需要用这个,真的是急死了。

为什么我没有办法 从 aws 的 s3 上面 fetch 文件?直接 forgidden 了......

Posted: 18 Oct 2021 08:58 PM PDT

首先,我生成了一个 pre-signed url,然后其它人,upload 了一个 text 文件到这个 pre-signed url 。设名字为 result.txt

接着,我的 web app,使用默认的 fetch method 直接去访问这个 pre-signed url,想下载这个 result.txt 。结果碰到了 CORS error 。我尝试着,直接用浏览器 chrome,打开这个 pre-signed url,能够正常下载这个 result.txt

然后,我又添加了 fetch 参数 no-cors,但是报错 403, forbidden

      const res = fetch(pre-signed-url, {         method: "GET",         mode: "no-cors",         headers: {           Accept: "text/plain",           "Content-Type": "text/plain"         }       }); 

我又试了 axios, 但这个没有 mode 'no-cors'的设置,于是如下设置,得到的是 CORS error

  const res: AxiosResponse<any> = await axios.get(url, {     method: "GET",     withCredentials: false,     headers: {       "Access-Control-Allow-Origin": "*",       Accept: "text/plain",       "Content-Type": "text/plain"     }   });   return res; 

这个,接下来,除了去设置 xxx.s3.amazonaws.com 的 allow list 之外,还有什么方法么?

是不是我的 fetch 或者 axios.get 的参数设置不正确?为什么会被 forbidden?

Django 项目如何订阅消费 MQ 的消息?

Posted: 18 Oct 2021 07:52 PM PDT

目前项目是基于 Django 的,
现在接到一个需求,需要从 RocketMQ 中取消息,然后根据取到的消息处理数据入数据库。

现在打算在 django 启动初始化的时候,例如 settings 的__init__.py 中,
使用 PushConsumer 订阅 RocketMQ 中的主题,绑定一个回调的方法。
这样就不关闭这个连接了。 这样做会不会有什么弊端和问题?

之前考虑过单独像 celery 那样搞一个单独的进程来启动监听,
但是感觉这样太麻烦了,
就想直接在 Django 项目初始化的时候,启动订阅。

麻烦各位赐教。

一个简单的 react hooks 功能,请教 jest 单元测试怎么写

Posted: 18 Oct 2021 04:42 PM PDT

就是实现一个异步操作(比如接口)的 loading 功能

export const useLoading = <T extends (...arg: any) => any>(   callback: T,   deps: any[] = [], ): [boolean, (...args: any[]) => Promise<ReturnType<T>>] => {   const [loading, setLoading] = useState(false);   const executor = useCallback(async (...args) => {     try {       setLoading(true);       return await callback(...args);     } finally {       setLoading(false);     }   }, deps);   return [loading, executor]; }; 

下面是我写的,第一个 expect 运行对,第二个 expect 想验证函数执行完后 loading 变回 false,但是运行 result.current[0]实际为 true,请教各位大佬

import {renderHook, act} from '@testing-library/react-hooks' describe('useLoading', () => { 	it('useLoading', async () => {	      	jest.useFakeTimers();           const fn = async () => {             return new Promise((resolve, reject) => {               setTimeout(() => resolve(true), 1000);             });           };           const { result } = renderHook(() => useLoading(fn));           act(() => {             const [, executor] = result.current;             executor();             jest.advanceTimersByTime(500);           });           expect(result.current[0]).toBe(true);           act(() => {             jest.runAllTicks();             jest.runAllTimers();           });           expect(result.current[0]).toBe(false);      });  }) 

开发问题-有什么安卓软件可以修改底层的信息来模拟其它手机吗

Posted: 18 Oct 2021 11:25 AM PDT

比如我的是华为 用某个 root 后的软件可以把手机信息改为小米的

微信读书网页版如何 模拟 点击 下一页 按钮 ?

Posted: 18 Oct 2021 09:18 AM PDT

如题 ,我在 chrome 上面用微信读书 ,用了 surfingkeys 插件 ,按 f 模拟点击 下一页按钮 没有反应,然后我又在 设置里面 设置 快捷键

mapkey('<Space>','微信读书下一页',()=>{     let btn = document.getElementsByClassName('readerFooter_button');     console.log(btn[0]);     btn[0].click();  },{domain:/weread\.qq/i}); 

打印出来了 下一页按钮 ,但 就是 click() 事件没有反应 我在 chrome devtools 里面 也试了 不行 ,是不是 微信读书 的下一页按钮 就 没有 写 onClick 事件啊? 点是 正常用鼠标点 下一页 是可以 翻页的 ,我应该如何 用代码来模拟 下一页的点击呢?

No comments:

Post a Comment