Friday, December 3, 2021

V2EX - 技术

V2EX - 技术


笔试题没有做好 公司不给面试机会

Posted: 03 Dec 2021 11:26 AM PST

最近在群里看到一个朋友的求职经历

ta 已经工作多年,最近的一次求职,因笔试题没有做好公司而不给面试机会

与大家聊聊天谈谈此事的看法

公司从 SVN 切换到 Git 的那些坑

Posted: 03 Dec 2021 10:28 AM PST

为了实现代码检视( Pull Request )这个功能,公司从 SVN 切换到了 Git ,但是不少人遇到了下面的问题:

  1. 没有理解 Git 的工作区、暂存区、仓库区、远端之间的关系,用 SVN 的思维去使用 Git ,比如会通过删除工作区文件、再拉取代码这种方式来回退代码。
  2. 在修改工作区文件后,没有 commit 或者 stash ,就 pull 代码,导致提示冲突,因为不熟练所以不知道如何解决。
  3. 之前 SVN 仓库中有很多需要经常修改的大二进制文件,初期迁移的时候没有用 LFS 管理,导致 Git 仓库庞大,clone 要花很长时间。
  4. 使用 LFS 后,因为各个用户终端配置不一样,可能有的人没有装 LFS ,提交后,其他人再 pull ,会出现很多奇怪的问题。

感觉从 SVN 切换到 Git ,还是要慎重,至少要培训熟练。

依赖比较多且不好安装的软件正确的安装方式是什么?

Posted: 03 Dec 2021 10:00 AM PST

linux 上,要安装一个软件,它依赖多,且所需依赖的软件可能和环境上版本存在冲突,而这种软件又是经常不同服务器上也要安装,这种软件的正确安装方式是什么?

mac 下有哪些效率工具推荐?

Posted: 03 Dec 2021 09:50 AM PST

比如 alfred 、magent 、paste 、vimac 还有推荐的吗? mac 下可以提高效率的工具推荐

这段 Python 代码用 Java 怎么实现

Posted: 03 Dec 2021 09:46 AM PST

楼主确实没接触过 python

def getHash(code, challenge): byteCode = to_byte_array(code) byteChallenge = to_byte_array(challenge) b = bytes(byteCode + byteChallenge)     return sha512(b).hexdigest().upper()   def to_byte_array(hexString: str):     result = []     for i in range(0, len(hexString), 2):         result.append(int(hexString[i : i + 2], 16))      return result 

除了 odoo,有没有其它开源框架做到工作流分解到用户群组或更细如用户上?

Posted: 03 Dec 2021 09:37 AM PST

想做个 CMS ,由于很多人是 remote work, 所以打算把任务分解,这样 KPI 考核直接简单了当。

php 最好,go/java 框架都可以。

小米手机 部分 APP 最近收不到消息推送

Posted: 03 Dec 2021 09:34 AM PST

QQ 邮箱,飞书 这两个是我频繁使用的软件,以前是可以收到消息推送的。
但是最近一个月都没有收到 QQ 邮箱的推送了,只有打开 APP 后,才会弹出来一堆通知。
飞书是昨天开始收不到推送的。
通知肯定都是打开的,手机型号 红米 K20 pro


你们是否有遇到这种情况?

关于 “1Password 家庭版订阅到期账户被删” 事件的致歉、复盘与相关声明

Posted: 03 Dec 2021 09:12 AM PST

原帖链接: https://www.v2ex.com/t/818989

page-1.png page-2.png page-3.png page-4.png page-5.png

题外:支持批评,支持相对有理有据的理性讨论,也支持在没有明确证据前的怀疑,但是不支持没有任何依据、没有任何说明的批判。

cc @yanyumihuang 以及其他关心的论坛的朋友们

ubuntu 浏览器播放 480p 视频卡顿

Posted: 03 Dec 2021 09:05 AM PST

之前看 b 站 youtube 视频都用浏览器默认窗口大小,最近换了 4k 显示器,想看一下 4k 视频有多高清,结果才发现,浏览器看视频一直是一卡一卡的,480p 的都卡,以前还是播放界面太小没注意,只要放全屏一眼就看出来了。每隔 1 ,2 秒钟就停顿一下,看多了人心跳的节奏都不对了。配置是 3900+64g+gtx970 ,同样的视频 vlc 播放没有问题,就是浏览器里面会卡。ubuntu 桌面也用了好多年,看来还是不能娱乐,还是老老实实办公吧。

附上视频地址,有兴趣的可以看一下,windows 的我试过了没有问题。

bilibili https://www.bilibili.com/video/BV19R4y1E7gT

youtube https://www.youtube.com/watch?v=D48T0wNm96w

视频 18 秒到 23 秒之间镜头前推阁楼移出的过程,卡顿感特别明显

一个++x 的疑问

Posted: 03 Dec 2021 08:33 AM PST

int x=5;
int y=(++x)+(++x)+(++x);
为什么在 c++里面是 22 ,而在 java 里面是 21 ;

有人用过 vlang 这个语言吗 看介绍好像可以一统天下的样子 蛮吊蛮吊的

Posted: 03 Dec 2021 08:22 AM PST

js 生态里,有类似 django 这样大而全的 web 框架吗?

Posted: 03 Dec 2021 07:40 AM PST

偷盗者有没有手段拿到安卓手机的解锁密码?

Posted: 03 Dec 2021 07:27 AM PST

故事的起因:今天老妈来电话说手机丢了(华为手机),说手机解锁密码设置的很简单,同时她的某个理财产品密码和手机解锁密码一致,生怕偷手机的人把她钱的转移出去,吓得立马去营业厅补办手机卡和购买新手机,给我打电话的时候很激动,我安慰她说手机丢了钱也丢不了,破解不了手机解锁密码。

其实我内心也不清楚偷盗者有没有技术能拿到手机解锁密码,因为我好几年没用安卓手机了,以前用安卓的时候知道可以刷机跳过密码之类的,现在安卓机还能这么玩吗,有没有可能拿到手机解锁密码。

程序员不想卷了去考公真的是好的选择吗?

Posted: 03 Dec 2021 06:52 AM PST

除了布隆过滤还有哪些方法可以记录快速匹配一个值是否存在的需求

Posted: 03 Dec 2021 06:07 AM PST

背景

  1. 需要提供一个接口用来查询数据在不在表里面(只需知道是否存在就行,不需要额外数据),每天的并发量是 300w 左右。
  2. 接口和数据库都是采用的 md5 作为 key, 允许数据实际存在但是返回不存在,但是数据不存在的信息必须是准确的(跟布隆过滤器误报的场景刚好相反)。
  3. 数据表有一亿行左右。

问题

  1. 不加缓存,直接查数据库。查询压力是不是过大了点?
  2. 用 redis 缓存存在数据的 md5 ,后续查询压力会逐渐落到 redis 上,用 set 类型是否是开销最小的?
  3. 跟布隆过滤器误报场景相反的数据结构?

有没有类似 k8s 里 list-watch 机制的框架?

Posted: 03 Dec 2021 05:30 AM PST

感觉 k8s 里 client-go 实现的 list-watch 机制很好用,虽然我理解是需要类似 etcd 这种自身具备 watch 机制的后端存储支持,但感觉思想挺好的——缓存、监听、资源变化通知和回调等等,想应用其它项目里,不知道现在有没有类似这样的框架?

求一个 centos 命令全称

Posted: 03 Dec 2021 05:25 AM PST

好像是 b 开头,可视化查看磁盘空间使用的工具,centos 自带的,不需要安装

Remote Worker

Posted: 03 Dec 2021 05:13 AM PST

这是 V2EX 用来处理头像及其他一些图片相关的任务的后端实现:

https://github.com/v2ex/remote

将这些功能从主站代码中剥离的几个原因:

  • 如果图片处理的第三方库中存在任何安全漏洞,那么只会影响到运行 Remote Worker 的容器
  • 如果将来需要做一些向第三方发送网络请求的操作,比如链接预览,那么从 Remote Worker 运行在单独的服务器的容器中启动,可以避免向第三方泄漏主服务器的 IP
  • 因为这个代码库相对比较简单,所以可以在里面试验一些新东西,比如 Python 3.10 的新语法

为了保证代码的一致性,使用了 pre-commit 。

如果你打算在自己的项目中用或者有任何建议,非常欢迎。

跨国数据传输方案,涉及到网络波动,如何保证数据的一致性,实时性

Posted: 03 Dec 2021 04:29 AM PST

最近在做跨国的实时大数据相关 flink 任务,有个网络传输问题。数据源是在泰国发到国内阿里云,最早采用 kafka 外网直连,时断时续。后来在泰国搞了个 udp 的中心数据 server ,再由 udpserver 发送到国内。还有几个问题:

  1. udp 端口经常被封
  2. 实时性差
  3. 数据成倍扩张下的 server 瓶颈

各位有没有类似情况,或者通用解决方案。

求教下,写 Python 代码,先前置大量定义函数的写法是否正确

Posted: 03 Dec 2021 04:03 AM PST

非程序员,自学了一些 Python 基础书后,结合着实际需求陆续写了一些程序。代码写多了就会发现,大量的一些功能会重复,所以逐步就形成了在 import 后,正式功能代码前,会先写无数个函数,以方便后面用来简写或者调用。

代码长了以后,在 pycharm 中就看起来特别不方便,就好像明明你可能有实现具体 20 个功能,实际函数先定义了 30 个,structure 里就是 50 行。

求教,是否这种结构安排是错误的,大家都是怎么处理的,谢谢

新.NET 桌面项目选 windows forms 还是 wpf

Posted: 03 Dec 2021 03:20 AM PST

最近客户提出要做个传统的 windows 应用,要求 C#,技术框架不做要求。重写 BS 的在库管理,页面也不算复杂,输入都在 grid 里面做。顶多算个中小型项目吧。数据库 sqlserver ,好久没有写 CS 项目了,大致查了一下,WPF 坑比较多,Windows Forms 资料多,应该顺手一些吧,过来的朋友给点建议。
谢谢🙏。
就怕开始走偏了,收不了尾呀。

代码中如何获取 Windows 动态磁盘中的卷类型如简单卷、镜像卷、跨区卷等?

Posted: 03 Dec 2021 03:17 AM PST

google 了一下"Striped Volume"+"WMI"没有发现结果。 翻了一下 DeviceIoControl 也没找到答案。 或者注册表里有信息?

望有经验的大佬指点一下。

自学前端的时候,关于联调的知识要怎么学

Posted: 03 Dec 2021 03:00 AM PST

之前有小伙伴问我,前端自学的时候学会了写页面,但是还是距离很多公司要求的"来了直接干活"有点距离,问关于登录态管理、前后端联调的知识要去了解哪些。 我想了下,这块内容的确网上比较少,所以就简单整理了下,包括 HTTP 请求相关的,还有我们工作中经常会说到的代理配置、接口定义等等,还有前端编写异步请求、自学的时候怎么练习等等。 视频地址: https://www.bilibili.com/video/BV1dq4y1B7jn/

希望找人兼职开发 Linux 应用程序(c++ 和 Python )

Posted: 03 Dec 2021 02:19 AM PST

大家好,

希望找人兼职开发 Linux 应用程序( c++ 和 python ),希望你有较充裕的时间。

有意者,请邮件联系: info@usb7.net

vue 项目,页面打印,针式打印机打印问题

Posted: 03 Dec 2021 02:09 AM PST

大佬们,vue 项目做了个页面打印,但是打印出来的效果很模糊(针式打印机

做个 ERP 系统, 因为需要同步淘宝的商品数据, 问下怎么同步比较合适

Posted: 03 Dec 2021 01:58 AM PST

方案一: 跟据店铺 ID 来, 每次同步数据前把这个店铺 ID 的商品数据全部删了, 然后重新拉取最新数据, 方案简单, 代码少

方案二: 根据数据库现有的商品 ID, 然后拉取淘宝最新的商品数据, 根据 ID 来确定那些商品需要增删改查, 这种方案感觉有点麻烦, 需要对比

或者有其他合适的方案推荐一下也可以

有什么插件能让 VS Code 以图片(png or jpeg)导出 markdown 呢?

Posted: 03 Dec 2021 01:21 AM PST

Google Play Best of 2021

Posted: 03 Dec 2021 01:19 AM PST

三星手机用户们一般用哪个防骚扰软件

Posted: 03 Dec 2021 01:09 AM PST

近期突然多了超级多的贷款电话,三星自带的防骚扰识别没有一个能识别出来(他家的防骚扰库感觉只认识滴滴司机和快递员),想知道各位一般用什么



我对腾讯管家和 360 这类需要开一串权限的比较反感… 有没有权限要求少一点耗电量没那么高的?

[个人开源]vue-code-view:一个在线编辑、实时预览的代码交互组件

Posted: 03 Dec 2021 12:13 AM PST

组件简介

vue-code-view是一个基于 vue 2.x、轻量级的代码交互组件,在网页中实时编辑运行代码、预览效果的代码交互组件。

使用此组件, 不论 vue 页面还是 Markdown 文档中的示例代码,效果如下:

vcv.gif

组件的由来

当项目中页面或者 Markdown 文档包含大量代码时,使用 highlight.js 进行代码高亮后极大的增大了阅读性,但是当我们阅读时想要对当前代码进行编辑调试时,只能打开本地开发环境或者跳转至 codepen codesandbox等在线项目示例。即使是很简单的代码示例仍然避免不了上述场景的繁琐步骤!如果遇到网络不好,或者本地开发环境没有安装配置的情况,那就很遗憾了!

目前大多开源项目的 Markdown 文档示例大多支持了示例代码的实时渲染,可以在文档页面中看到源码的运行效果,提供了在线项目的跳转功能。当需要调试代码时,还是需要重复上述步骤,体验不是太友好。

那么能不能有这么一个组件能支持在页面中编辑代码,实时运行预览效果?在网络找了好久,没有找到 vue 版本,只看到了 react-code-view,受其启发,自已编写了一个 vue 版本组件 vue-code-view

组件功能

目前组件已实现的主要功能特性:

  • 💻 代码可以在线编辑,实时预览效果。
  • 🎨 代码编辑器支持代码高亮、光标行背景高亮、括号 /标签匹配自动关闭、代码折叠。
  • 🌈 基于 vue 的 SFC 解析,支持 <template> <script> <style>代码逻辑。
  • 🌈 支持<style> CSS 预处理,目前实现sass
  • 📑 支持 Markdown 示例实时渲染,需要自定义 loader 。

组件 props

参数 说明 类型 默认值
theme theme mode,支持 light / dark light | dark dark
showCode 是否显示代码编辑器 boolean false
source 示例代码 string -
renderToolbar 自定义工具栏展示 function -
errorHandler 错误处理函数 function -
debounceDelay 错误处理防抖延迟(ms) number 300

项目资源列表

使用示例

安装

使用 npmyarn 安装组件包。

npm i vue-code-view # or yarn add vue-code-view 

Vue 配置

组件使用包含运行时编译器的 Vue 构建版本,所以需要单独配置下。

若使用 vue cli,需要在vue.config.js文件进行如下配置:

module.exports = {   runtimeCompiler: true,   // or   chainWebpack: (config) => {      config.resolve.alias       .set("vue$", "vue/dist/vue.esm.js");   }, };  

组件引入

在项目的入口文件 main.js 中引入组件及样式,注册组件。

import Vue from "vue"; import App from "./App.vue"; import CodeView from "vue-code-view";  import "vue-code-view/lib/vue-code-viewer.css"; ... Vue.use(CodeView); ... 

组件使用

使用组件的source属性传入示例代码。

示例代码格式支持 <template> <script> <style><template>不能为空;暂不支持JSX 语法。

<template>   <div id="app">     <code-viewer :source="code_example"></code-viewer>   </div> </template> <script> const code_source = `  <template>   <div id="app">     <img alt="Vue logo" class="logo" src="https://cn.vuejs.org/images/logo.svg" />     <h1>Welcome to Vue.js {{version}} !</h1>    </div> </template> <script> export default {     data() {       return {         version: '2.x'       };     },   }; <\/script>  <style>  .logo {   width:66px; } </style> `,    export default {     data() {       return {         code_example: code_source       };     },   }; </script> 

JSX使用方式

组件 JSX 语法使用方式。

<script> const code_example = `<template>   <div id="app">     <img alt="Vue logo" class="logo" src="https://cn.vuejs.org/images/logo.svg" />     <h1>Welcome to Vue.js  !</h1>   </div> </template> `;  export default {   name: "demo",   render() {     return (       <div >         <code-viewer source={code_example}           showCode={false}         ></code-viewer>       </div>     );   }, }; </script> 

组件库混合使用

项目引入其他组件库后,组件的示例源代码中直接使用即可,实现预览调试功能。

image.png

错误处理

组件内置了错误预处理,目前支持代码为空、代码格式错误(<template>内容不存在)等,以文字的形式显示在示例区域,也提供了自定义错误方式 errorHandler(使用 Notice 组件进行信息告知)。

render() {   return (     <div >       <code-viewer         source={code_example}         showCode={false}         errorHandler={(errorMsg) => {           this.$notify.error({             title: "Info",             message: errorMsg,           });         }}       ></code-viewer>     </div>   ) } 

示例使用了antd vuenotify组件进行消息提醒,效果如下:

error.gif

示例效果

具体示例效果详见 组件 Markdown 说明文档

Python PIP 安装时 怎么对自定义头文件进行链接

Posted: 02 Dec 2021 11:34 PM PST

PIP 在安装 A 时,需要编译安装,但是 A 又需要某些 .h , 这些 .h 在其他机器上有,本机没有,于是想把它复制到本机。但是 在执行 Clang 编译的时候,怎么才能让 Clang 知道这些 .h 的存在呢?

关于微服务项目的 GitLab CI 如何写?

Posted: 02 Dec 2021 11:34 PM PST

一个 Menorepo 项目(单仓库多目录微服务),希望使用 gitlab-ci 实现自动生成发布镜像。
以前一个项目只有一个镜像的时候,直接一条流水线下来,生成镜像发布即可。
现在这个 Menorepo 项目里,有十个微服务(后期有可能继续增加),每个微服务生成一个镜像。在本地调试的时候,使用的 Makefile 循环生成镜像,现在想要 gitlab-ci 自动生成,肯定不能写十个流水线,想要使用 ci 直接执行 make ,但是发布镜像使用的 kaniko ,该镜像中不支持 make 命令。这种微服务项目该怎么写 gitlab-ci ?

Python 项目怎么打包,可以在安装时根据操作系统生成对应的可执行脚本/文件?

Posted: 02 Dec 2021 10:23 PM PST

项目目录下面有一个包,这个包可以用 python -m 运行。

现在希望在其它系统上安装这个包的时候,如果是 Windows 就生成 exe 文件,其它系统就生成一个可执行的脚本文件,而且放在系统的 PATH 下面,从命令行直接敲脚本名就能运行这个包。

做到这一点,需要怎么打包?或者其它一些额外工作?

求助, MySQL 时间戳问题

Posted: 02 Dec 2021 10:17 PM PST

目前有一个需求,需要读取一个表,表的数据是第三方去写入,我需要写服务监听这个表,按上一次记录的最后更新时间做开始节点去处理这些数据。

表结构大致如下:

CREATE TABLE test (
id bigint(20) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键 ID',
val varchar(128) NOT NULL COMMENT '数据',
update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
COMMENT '更新时间(修改时自动更新)'
)

SQL:
select * from test where update_time>@上一次最后修改时间 order by update_time limit 5000 offset 0;

难点:
1 、目前项目使用的是 MySQL ,MySQL 没有 SqlServer 那种 timestamp 时间戳,只要数据更新就会更新唯一的时间戳,MySQL 的时间戳是可以重复的。

2 、第三方不只是插入数据,可以修改历史的数据,这样意味着不能使用自增主键作为最后修改的节点,必须使用时间戳作为条件。

3 、数据量预计是千万级,我需要分页分批处理,又因为 MySQL 时间戳能重复,不能不断缩小时间范围,只能使用 limit offset 分页,当数据量大时效率很低,即使击中了索引,数据不断累积也会越来越慢。

场景:
id update_time
201 2021-12-02 00:00:02
202 2021-12-02 00:00:02
203 2021-12-02 00:00:02
======分页=======
204 2021-12-02 00:00:02
205 2021-12-02 00:00:02
206 2021-12-02 00:00:02

求求大佬指导一下,MySQL 有没有类似 SqlServer 的时间戳数据类型,SQL 和分批处理的设计能不能优化一下。

在 Infosys 呆了近一个月 辞了想做 remote job 了

Posted: 02 Dec 2021 10:04 PM PST

废话不多说 简历如下->

oUe4BQ.png

没想到 V 友提供的建议是真的 Infosys 确实不太推荐去 自己还有半年就回天津了 不在上海继续呆着了 打算找个远程

我的项目经验比较少说实话...

如何看别人的 pr?

Posted: 02 Dec 2021 09:24 PM PST

  • 比如别人合到我项目上的 pr,如果是改的少,在 github 上就可以直接看就行了
  • 如果改的比较多,并且不知道期望运行是否正确,应该如何实现呢?
  • 个人想到的可能是直接去他的代码里 clone.....但是感觉有点暴力,并且如何环境复杂的话审核 pr 更麻烦了,不能每一个都这么做
  • 问下经常评审代码的大佬,这个正规流程是啥?

Google Pixel 6 Pro

Posted: 02 Dec 2021 07:20 PM PST

大家有入手的吗,体验如何?

我是上个月 Bestbuy 提前发货拿到的 256 ,512 的晚了一步官网买不到了

现在用下来整体还不错,因为从 Pixel 4 换上来的, 该有的软件优势一直都在,惊艳感不那么强。

主要说下问题,缺点大部分是软件方面的,相信后续更新能够解决大部分。
1 ,刚开始电量尿崩,亮屏 4 个小时左右,用了一俩周之后基本一天只用 50%的电,亮屏大概 7 ,8 小时。
2 ,一些应用对 Android 12 适配的不好,比如淘宝这些,部分页面打开就是空白。
3 ,充电慢,用的第一代 stand 无线充,手机戴的 dbrand 的壳子,有时候手机温热的时候无线充一下午,发现电还掉了 1%...(据说这代默认充电的时候后台跑机器学习)
4 ,亮度控制一般。
5 ,指纹只能说是一般了,貌似没有学习功能,经常位置没对太准就解不开。

优点其实也大部分是软件方面
1 ,原生系统还是比第三方或者 ios 的好用,会议出行预约这些,用国外的环境来说就很自动的加入日程提醒,不需要手动操心。
2 ,一些国产软件现在就放在 work space 里,随便给权限,用完就冷冻,不用担心在本机储存里拉屎(工作空间一段时间后清空重装就行)
3 ,当然最好的还是,系统更新是最快的,这是我最看重的。

微博等简中网页性能问题

Posted: 02 Dec 2021 06:15 PM PST

今天微博编辑历史记录时,CPU GPU MEM 飙升,测试了几次,虽然没那么严重但是能明显感觉到流畅性不行。类似的问题在这几年越来越明显,简中网页的体验越来越差(这个我确信可以明确感觉到)。

但是微博元素并不多,请问下这种情况是否和其他因素,诸如网络,输入法( mac 自带的拼音输入法)等导致的? 我不太懂前端,想知道他们是如何做到体验如此之差的?抑或是我对简中网络环境的偏见?


PS:排除法测试了一圈感觉不够直观, 请问有没有方便的工具来量化这些?(开发者工具自带的性能测试我没看太懂。)

想知道应该用 LVM 还是 ZFS? 以及最佳实践

Posted: 02 Dec 2021 04:33 PM PST

以前一直没有折腾过系统分区,所有文件安装在同一块硬盘上,最大,但是经历过一次硬盘损坏数据部分丢失后感觉开发电脑还是要配置 RAID1 。 我的应用场景其实不是很复杂,一块 NVME 打算做系统盘,一块 SATA SSD 挂载到 Docker 目录下(因为实在是太大了),两块 SATA SSD 打算做 Raid1 ,挂载到/home/<my name>.目录。似乎 LVM 和 ZFS 都可以胜任。

请问大家有没有经验,这种情况下应该采用哪种模式比较合适呢?还是说两种模式混合使用。

ReacitveRedisTemplate 如何将 lambda 里的代码也和外层代码一起同步

Posted: 02 Dec 2021 09:29 AM PST

reativeRedisTemplate 中的 then 和 flatmap 等方法中的代码都做不到与外层完全同步,有什么办法解决

No comments:

Post a Comment