Thursday, July 8, 2021

V2EX - 技术

V2EX - 技术


在工作中,听到别人在讨论问题,你想到了一个非常好解决方案,你会说吗? 说说利与弊?

Posted: 08 Jul 2021 05:08 AM PDT

很多时候,讨论某个方案或者解决某个问题都是在工位上讨论的

难免会听到,有些问题你非常擅长处理,你会说出你的解决方案吗?

利与弊?

个人觉得:根据网上总结 -> 少管闲事。。。😥😥😥 对吗?

请问平时使用什么工具来进行简单的数学计算的?

Posted: 08 Jul 2021 05:08 AM PDT

经常会有一些简单的数学计算,加减乘除什么的,你们平时都是用的什么工具呢?

我有时直接浏览器 console 或者 win+搜索 python,要的是迅速,就像平时写一些随笔什么的,直接 data:text/html, <html contenteditable> 就打开了。

除了 influxdb,还有哪些可以集群部署的时序数据库?

Posted: 08 Jul 2021 04:43 AM PDT

如题,现在用的是 influxdb,领导想换(嫖)个免费、开源、可集群部署的时序数据库。

技术栈的选择没什么好纠结的

Posted: 08 Jul 2021 04:42 AM PDT

技术栈的选择,应该是每个人都会遇到的。就简单聊聊这个话题。

我们看到过 Flask VS Django 的争论,或者 Sinatra VS Rails 的争论。前端框架 React VS Vue 。 这种争论时常会发生,也总会让初学者陷入困扰。

我就尝试来解决一下这个问题:

首先,技术框架产品的特点,或者包装的形态,一般就是两种形式:

  1. 微框架流派

    提供一个小小的 core,一切通过插件围绕产生。 他比较纯粹,工作原理也简单明了。比如:web 框架的例子,Flask ( Python ),Sinatra ( Ruby ),Koa ( JavaScript )。 前端框架 React 思路

  2. 大而全保姆式框架流派

    提供从零到一的技术方案,方方面面照顾周全。比如:web 框架的例子,Django ( Python ),Rails ( Ruby ),Egg ( JavaScript )。前端框架 Vue 以及 Vue 生态。

这两种流派都各有拥趸,实际上也难分伯仲。技术不能以此届划分好坏。

这里我们要拒绝一种偷懒的想法:我们的脑袋里不应该总是想象出一本武学秘籍,类似《葵花宝典》《九阳神功》,只要得到他学会它就万事皆休。没有这样子的事情。要看我们要解决的事情。要具体问题具体分析,我们要做什么,能坚持多久,他会发展多大?

微框架的特点就是微小,可控。它提供一个简单可靠健壮的基础。这里往往适合去搭建一些轻量级需求,亦或者是短频快的小需求服务。未来也不会更复杂。

还有一种情况是,未来会特别复杂。也适合。有人会问了为啥未来特别复杂也选这个?因为特别复杂的业务,存在大量定制性。而一个简单的基础意味着稳定、可靠,即使出问题也可以自己 debug 找出来,看源码也能解决。所以也适合长线构建的超复杂的程序。

这个观点不是空中楼阁,空穴来风。现实中有很多的例子。 像 React 、Vue 是前端这两种流派。React 是一个 Core,Vue 是大包大揽。实际上越来越多的商业公司逐渐转向 React 构建更复杂的应用。Vue 停留在中小型公司,服务一些中后台业务。

后端的框架比如 Python 的 Flask,和 Django 也是,Flask 是一个 Core,他也用于从零构建公司业务网站,比如国内的豆瓣就是从一个 Flask Like 的 Core 基础上构建出来的。Django 更适合快速搭建一些定型的业务后台。

大而全的保姆式框架,虽然面面俱到,你刚开始会用的很爽,但是对你的束缚也是真真切切。我们应该明白,任何一个软件、程序都有设计目标,功能范围。 如果你在他的设计目标里使用就会如鱼得水,但是如果你超越他的设计目标,你就不得不要和这个技术框架做对抗。要去 hack 他的设计,组件。最终你会碰钉子—— 你会发现还不如从头自己来。

简单得出结论:

大而全的技术方案适合构建一些中规中矩,非常规律性的东西,比如后台服务,近乎标准化的业务。果用微核心的框架去构建,反而是在重复劳动。

微核心的技术方案适合构建本来就不复杂的东西,或者是定制型高、原创性、复杂的东西,尤其是长线设计的东西。

好了现在你已经知道如何去选择,或者说学习什么样子的技术框架。


我的博客: https://mark24code.github.io/%E9%9A%8F%E7%AC%94/%E7%BC%96%E7%A8%8B%E6%80%9D%E8%80%83/2021/06/25/%E6%8A%80%E6%9C%AF%E6%A0%88%E7%9A%84%E9%80%89%E6%8B%A9.html

程序员们,你的第六感准吗?有没有什么例子?

Posted: 08 Jul 2021 04:32 AM PDT

在看程序员修炼之道,里面讲到蜥蜴脑,也就是直觉。所以好奇大家有没有遇到过相关的情况: 曾经直觉告诉我不要上线,于是重新检查,发现一个大 bug 。

利器不更新了,有没有其他的推荐?

Posted: 08 Jul 2021 04:31 AM PDT

https://liqi.io/ 利器

最后的文章是 19 年的,也不知道为什么没有更新了。

以前特别喜欢看这个,现在大家有没有其他类似的推荐?

[IT 邦帮忙] 优化或重写方法,使计算长字符串时尽可能缩短运算时间

Posted: 08 Jul 2021 04:18 AM PDT

如果 str1 包含 str2 的所有字母(包括数量),为真,反之为假

function scramble(str1, str2) {
let s1 = str1.split("").sort()
let s2 = str2.split("").sort()
let n = 0
s2.forEach(e=>{
let index = s1.indexOf(e)
if(index>-1){
n++
s1.splice(index,1)
}
})

if(n==s2.length && n!=0){
return true
}else{
return false
}
}

Kotlin 更换了新 logo:更加立体、更加清晰

Posted: 08 Jul 2021 04:16 AM PDT

详见翻译报告:重新设计的 Kotlin Logo

终于完美解决了在 Vim 下写 C#的难题, Vim 永远的神

Posted: 08 Jul 2021 04:09 AM PDT

String str="abc" 一定会进入到字符串常量池吗?

Posted: 08 Jul 2021 03:23 AM PDT

String str="abc" 一定会进入到字符串常量池吗?

如果一定会,为什么我对 str 加锁,锁并没有用。

Nodejs 升级怎么保留全局安装的包

Posted: 08 Jul 2021 03:17 AM PDT

rt, 今天用 fs/promises 报错,发现是 nodejs 版本低了。于是下载最新 lts 版本 zip,打算直接解压覆盖,仔细一看发现 npm 全局安装的包生成的命令都在 NODEJS_HOME/node_modules/npm 目录里面, 就保留了 node_modules 只覆盖了 node.exe npx 等文件。

nodejs 是升级成功了 ,但 npm 就不干了 npm WARN npm npm does not support Node.js v14.17.3 最后清空目录,解压进去好了,全局命令以后缺了再装。

想问问各位大佬,你们 nodejs 是怎么升级的,有没有办法保留这些全局包(命令)

还有 nodejs 在服务器上部署时怎么限制 npm 配置路径,服务器是多人共享 root 的,怕影响到其他人,所以全局包(例如 pm2)要装到项目目录里面,看文档.npmrc 的搜索路径,/root/.npmrc 是肯定会被读到的,不知道有没有什么好办法解决

基于 Linux 的国产系统无法删除文件

Posted: 08 Jul 2021 02:54 AM PDT

网上搜了一圈下来没找到解决办法,来 V2 发帖求助。请大佬们给点提示,万分感谢!在 run 目录下面有个文件夹叫 wine, 用 sudo rm -rf wine 删除提示无法删除。直接上图:

rm: 无法删除 'wine/usr/share/wine/nsl' 

Windows 如何快速将大量小文件送进回收站?

Posted: 08 Jul 2021 01:53 AM PDT

每次删除 nodejs 项目里的 node_modules 文件夹时,都得等系统检索好长一段时间,简直是一种折磨

如何平滑的减少群晖中存储空间的硬盘

Posted: 08 Jul 2021 01:13 AM PDT

ds418,4 个盘,8/6/6/4tb,全部在一个 shr 存储空间下,实际可用空间是 14.4t ,已用 8t 。最近新购入了一个 14t 的盘,想改为 8/6/6 继续使用 shr,14 作 basic 专用于备份。
查了群晖知识库才发现,"无论选择哪种 RAID 类型,您都无法减少现有存储池的硬盘数量或将其更换为容量较小的硬盘","如果必须减少存储池中的硬盘数量,请按照以下步骤删除现有存储池并创建可满足您需求的新存储池"。
也就是说,如果我要按前面说的计划重新规划存储空间,那就只能:先把 4t 盘换成 14t,14t 新建一个存储空间,把老存储空间的数据全部备份到新存储空间去,删除老存储空间后重建,把数据拷回去。主要会造成麻烦的是,我有 70 万+个 jpg 在 photo station 里,备份数据就得几天,重建存储空间还肯定会导致索引重建,以 418 的性能不炒两个星期的豆子是完不成的。
求助有没有什么其他好办法?如果实在不行就只有把 14t 放 pc 里人工做备份了

三星手机现在去哪找第三方 rom?

Posted: 08 Jul 2021 12:35 AM PDT

最近入了个 s20u 当备用机,但是发现机锋关站了,傻眼了。现在有啥比较好的三方 rom 论坛? xda 几乎没有针对本土优化的 rom,求推荐

请教一个关于带分秒的正则表达式问题

Posted: 07 Jul 2021 11:49 PM PDT

目标:想要匹配比如"20 分 15 秒","32 秒"中的 20,15 ; 32

目前情况:分钟前的用'^(\d+)分'可以正确匹配,但是匹配秒前面的用'(\d+)秒$',在"20 分 15 秒"这种情况下结果总是 None

问题:想请教下大佬秒前面这种应该怎么写

有没有这样一种工具软件...

Posted: 07 Jul 2021 11:48 PM PDT

能够"混淆"图片、视频文件,最终目的是改变文件 MD5,简单规避某些平台变态的审查。 当然要保证不会破坏源文件数据,并且不会因为"混淆"N 次后文件无限膨胀。

目前可以在 PC 上来处理,在文件末尾加几个字节。但是手机上处理就不方便了,导来导去的麻烦,移动平台有类似的工具吗?

环境变量 GOPATH 是固定的,是否意味着代码库必须在指定路径下编写?

Posted: 07 Jul 2021 09:38 PM PDT

如题,我的 go 环境如图:

GOPATH=D:_code\kl-go\GOPROJECT

GOPATH 是固定的,于是我的项目代码就必须在这里:D:_code\kl-go\GOPROJECT\src

可是我想在磁盘任意路径存放我的 go 代码,那我该如何动态维护 GOPATH 变量?

我尝试过在 global GOPATH 以外的路径存放代码,然后 IDEA 修改 project GOPATH,发现无效,某些导包会报错。

image

也就是上图标记 2 中添加自定义路径,然后关掉标记 3,但是这样做不生效。

求一个数据不存在,则根据唯一索引插入对应的数据方法

Posted: 07 Jul 2021 08:56 PM PDT

CREATE TABLE `test` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `date` date DEFAULT NULL COMMENT '日期',   `uid` int(11) unsigned DEFAULT NULL COMMENT '用户 id',   `type` tinyint(1) DEFAULT '-1' COMMENT '类型: 1.代理 2.业务员',   `order_type` tinyint(1) DEFAULT '1' COMMENT '1 订单 2.快递 3.商城',   `new_num` int(11) DEFAULT '0' COMMENT '订单数量',   `express_num` int(11) DEFAULT '0' COMMENT '快递数量',   `amount` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '订单金额',   `deposit` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '快递押金金额',   `pay_amount` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '付款金额',   PRIMARY KEY (`id`), ) ENGINE=InnoDB COMMENT='统计表'; 

date,uid,type,order_type,组合唯一索引,当数据库不存在这条唯一索引则插入,有则更新 new_num,deposit,pay_amount 相应字段。如何封装这个 sql 函数的方法,语言不限,最好提供 php,或者 js 的语言的版本

请教各位大佬。oppo reno5pro+有办法刷海外吗?

Posted: 07 Jul 2021 04:05 PM PDT

目前已知次机型外欧洲,澳洲换了个马甲 find neo 上线,外观,配置均一致,但是没有放出刷机包。我在想,次包是否通用。或者有没大佬知道此机型的刷机包,真的不想用国内特色 rom 了。恶心至极

看 react hooks 项目看不懂 是不是证明基础不够,先补补 js 基础

Posted: 07 Jul 2021 02:53 PM PDT

看到一些 vue3.0 composition api 的组件 和 react 的 hooks 组件 都觉得有点晕,扯不清。
是不是 js 基础不彳亍。
以前没系统学过 js
现在听一个大佬的 看《 JavaScript 设计模式与开发实践》
但是看到张鑫旭的 10 问 10 答,说的前端入门级别码农,不看继承一样风生水起,直接 跳过,因为在这个阶段你看不懂。

Office Insider 更新了视觉刷新

Posted: 07 Jul 2021 02:46 PM PDT

现在还有哪些第三方 rom 下载渠道?

Posted: 07 Jul 2021 02:33 PM PDT

目前知道并且还在用的只有移动叔叔论坛了

有没有什么方法能够检测手机上已安装的 APP 中有哪些支持 fcm 的?

Posted: 07 Jul 2021 02:06 PM PDT

最近一个月从 ios 换到 MIUI ( eu 版),这才发现原来 Android 党天天说推送比不过 iOS 并不是夸大其词。iOS 上通知虽然泛滥吧,但我可以主动忽略它,顶多碍眼一些罢了,可在国内用 Android 你就要担心通知是不是漏了? fcm 有没有 disconnected ?新安装的 APP 支不支持 fcm 亦或是 mipush ?需不需要打开自启动开关?所以装国内 APP 时也尽可能选择 play 版,可奈何 play 版也不一定就能走 fcm... 于是就问问大家有没有什么方便的办法能够知道一款 APP 是否接入 fcm 推送?

用 Walle 做 CI/CD , 构建 Node.js 项目, 在 npm install 的时候会出现问题

Posted: 07 Jul 2021 01:06 PM PDT

Docker-compose 起了个 Walle 服务 , 挂载了宿主机上的 JDK , Maven , Node.js 的目录进 Walle 容器.
Maven 编译 Jar 包已经弄好了 , 剩下的就是前端 , 可是只要 npm install 就会出现各种奇怪的错误 , 看了下报错的解决方案 , 几乎都是和 node_modules 这个目录有关系 , 怎么都无法顺利 npm install .
而且我还有个疑问 , 即使我顺利的让它 npm install 了, 也不能每次编译都 npm install 一次吧? 尝试用 ln -sfn 把 node_modules 软链接过来也会报错.
我真的是服了. 本地拉了个 Jenkins 容器 , 随便折腾一下 , npm install 就很顺利 , run build 更顺利 ...
用 Walle 主要看重它方便回滚 , Jenkins 我自己还要写脚本还要设置.
有没有用 Walle 的大佬 , 让我看看你们的 Node.js 项目是怎么做的自动构建的呢?

或者说 , 我是不是应该把 npm run build 的事情丢给开发 , 让他们 build 好了推到 gitlab 上得了 ? 感觉会被公司的开发打死...

[技术交流] 大家所在的公司都是如何做 DAO 层的单元测试的?

Posted: 07 Jul 2021 10:55 AM PDT

先分享下我在 DAO 层单元测试的经验:

[Java 开发实战] 高级工程师的自我修养之单元测试(一):DAO 层测试

大家所在的公司都是如何做 DAO 层的单元测试的呢?

今天笔记本无法开机 一直从下午弄到现在

Posted: 07 Jul 2021 10:04 AM PDT

下午的时候,刚准备出门,重启了一下电脑就开不了机了.

蓝屏报错

提示:错误代码 0xc0000001
RbBMpn.md.jpg

查了很多很多网上的资料,又试了很多办法,就的的确确解决不了。
然后就想发在 V 站上,来求助大家。
又不想简单一句话,所以把所有的过程还有图片挨着挨着编辑好,方便大家伙儿看看。

编了大半天,在快要编辑完的时候,就又还是不甘心,就又在网上找。
最后发现了这个文章 https://riverye.com/2019/11/03/修復-BIOS-Boot-Sequence-找不到-Windows-10/

跟着这篇文章,调整了磁盘的名字 居然就好了
发现是系统盘的盘符变成了 F,然后改回了 C
重启就好了 还是很神奇了...

(说实话 也不知道是不是这么一回事 但感觉是 如果是的话 希望下一个人不用折腾那么久了)

小白提问:如何把自己的 Win10 系统制作成单个 ISO 文件

Posted: 07 Jul 2021 09:52 AM PDT

为了使💻变得更好用做了很多个性化配置和设定,花了很长时间使其变得更好的为自己服务,Windows 系统很容易出故障或者感染病毒,如果由于出现一些问题面临系统重装可能会造成很大的个人时间损失,所以想问问大家有没有办法把自己的系统封装成单独一个 ISO 文件(就像官方拿出来发布的那种,双击就可以安装的那种),尝试过用 Win10 自带备份,但太拉垮了,谢谢大家

通过 PHP 跳转的文件 开启防盗链后无法被使用

Posted: 07 Jul 2021 09:08 AM PDT

有一个网站 https://www.XXXXX.com/index.php/sharingpath/XXXXX.webm 通过这种方法来取的视频文件然后在主站上播放。之后我填入主站域名后开启了 Ngnix 的防盗链,无论在什么地方都是无法拜访,显示我设置的 404 。
然后我测试 https://www.XXXXX.com/XXXXXXXX/XXXXX.webm 如果是实际路径里的文件都能正常的的在主站上拜访,也能达成防盗链的效果。
如果我想让第一个接口在开启防盗链的情况下正常使用,应该做些什么更改?请各位熟悉 Ngnix 和 php 大神能给一个解决思路吗,十分感谢。

No comments:

Post a Comment