V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  libook  ›  全部回复第 208 页 / 共 247 页
回复总数  4934
1 ... 204  205  206  207  208  209  210  211  212  213 ... 247  
2019-05-31 12:48:44 +08:00
回复了 Biwood 创建的主题 Google Google 将限制 Chrome 上的广告屏蔽类扩展,只对企业用户开放
Google 的决策层都不是傻子,不大会明着作恶,这点和苹果是类似的,对于和自己利益有冲突的东西,要么想出一个互惠的方案,要么就以保护用户权益为由不支持。

从初衷来讲,一个是由商业组织控制的,另一个是由非盈利性基金会控制的,发展的思路肯定是有差异的。

不吹不黑,只是想说现在其他的浏览器都发展得越来越好,Chrome 垄断的程度会日益缓和。

自己是很多年 Chrome 用户,上周开始换 Firefox,开始主要是因为 Android 端 Chrome 不支持 Extension,Firefox Android 版支持 Extension,装了 ublock 和 tampermonkey 用起来很爽,解决了一些网站的流氓问题,比如知乎在手机端想看更多答案必须下载 App 才可以,用 tampermonkey 脚本直接搞定。

后来 PC 上也换了 Firefox,不可否认 V8 是性能王者,但现在硬件都很强,自测性能上和 Chrome 没啥可感知的差别。

唯一的坎就是云同步,书签之类的以前都是放在 Google 账号上的,用了一些工具才同步过去的。
2019-05-30 14:03:34 +08:00
回复了 83f420984 创建的主题 Node.js 怎么根据不同的平台打包不同 FFmpeg 到 Electron 里?
我具体没实践过,有一个项目叫 Motrix 是用的 electron-builder 来打不同平台的包的,你可以看看他们是怎么实现的。基本上就是先用 webpack 编译,然后使用 electron-builder 根据在 package.json 里写的打包配置来自动打出多平台的包。
2019-05-30 12:47:59 +08:00
回复了 nyse 创建的主题 Node.js NodeJS 程序,执行完后没有自动退出,可能是什么原因造成的?
比如监听端口:
const http = require('http');
const server = http.createServer(console.log);
server.listen(8080);
console.log(`Server is running.`);

又比如 Promise 预期会执行 resolve 或 reject,只不过暂时还没有执行的时候:
new Promise((res, rej) => {
setTimeout(res, 5000);
})

死循环也会出现进程一直没退出的现象。
2019-05-30 12:14:59 +08:00
回复了 83f420984 创建的主题 Node.js 怎么根据不同的平台打包不同 FFmpeg 到 Electron 里?
用的什么打包工具?

一种是配置打包工具,最终每个平台打一个包,然后每个包只包含自己平台的 ffmpeg。
另一种方案是打全平台的包,然后运行时再根据运行平台下载特定平台的 ffmpeg,这样如果用户系统内已经安装了可用版本的 ffmpeg 也可以不下载直接用系统的。
2019-05-29 13:03:43 +08:00
回复了 hello2019 创建的主题 程序员 大家可以放弃 TeamViewer 了,有更好的解决方案
非商业用途是免费的吧,我自己是够用的,有更高需求肯定得考虑自己搭或付费了。

从公司连到家里遇到过警告商业用途的情况,但没妨碍使用,我发了个邮件给 TeamViewer,说明我是从公司连到家里的电脑,是非商业用途,然后他们就回了邮件说给我加如白名单了。
不黑不吹,也不说无关的事。

有人喜欢放在统一的目录里,有的人喜欢相互隔离,事实上确实不同应用场景下有不同的需求,不能说哪一种绝对好;工具只能提供一种默认方案(两种就不叫默认了),但工具也可以提供足够的灵活性来让人们自助解决需求差异。

Node 对与 node_modules 的搜索是有一个规则的,规则不满足需求也可以用 NODE_PATH 机制来指定,可以结合一些 Npm 的指令以及自动化脚本来 Hack 出一个基于 Npm 的集中包管理机制。
Npm 并不是 Node modules 的唯一管理工具,pnpm 就可以提供“ One version of a package is saved only ever once on a disk.”的特性。

实现整个系统环境或用户环境有一个共享的包目录所遇到的问题,肯定比实现每个项目下有一个包安装目录遇到的问题要复杂。举个例子,要删除一个包或一个版本的包的时候,肯定是基于一个项目的需求来删除的,但共享目录是所有项目都在用的,那仅当只有这一个项目依赖这个包的时候才可以删除这个包,这有点类似垃圾回收机制。类似的问题肯定是可以有解决方案的,只不过也一定是需要额外的成本的,将一个项目的问题封锁在项目目录内,相当于是将包管理的问题降维,这可能是 Npm 一直在用这个方案的一个历史原因。

对于 Node 服务开发来说,依赖包占用空间多的情况较少,问题主要集中在网页开发方面,这个其实不是 Npm 的锅,主要是现在网页开发应用的语言太多,每种都需要特定的编译程序的支持,比如 JSX、Vue、Sass、TypeScript 等等,空间占用大,编译时间长,最终生成的网站大小并不大(否则就会有流量问题和加载性能问题了)。

所以建议根据项目的具体情况来选择包管理方案。
2019-05-29 11:19:13 +08:00
回复了 Maxzel 创建的主题 Node.js node 的几个问题
1. Node 现在多线程是试验阶段,不过已经离稳定发布不远了,现在最新版 Node 已经不需要加 flag 就可以使用 https://nodejs.org/api/worker_threads.html 如果对稳定性(主要是 API,程序已经很稳定了,不保证正式发布前 API 是否会做调整,不过大概率不会有大变动)要求不严格可以开始用了。或者可以去找一些 Web worker 的其他方案。
如果接受多进程方案的话,Cluster、Chield Process 都很稳定,可以根据自己的需要使用。
2. 没抠过这个,用得比较多的方案是上传 SDN 再从 Node 上下载,这样对弹性分布式+消息总线的系统友好一些。
3. 跟 Node 没关系,个人没怎么做过,不过有思路是用 HTML5 API 读取本地文件然后再用 Canvas 画出来,这样可以支持上传前编辑,最终上传的应该是页面内存里的那个编辑过的图片数据。可以找找有没有相关的前端组件。
4. 软件工程没有银弹,在不同的地方使用最合适的技术栈才是最明智的。
2019-05-23 18:39:31 +08:00
回复了 Breadykid 创建的主题 程序员 大家下午困得不行得时候,都会做些什么?
小睡或闭目养神 20 分钟,长了醒不过来,短了力度不够,20 分钟正好。
旧有的特别是大型的项目往往迁移成本高,所以现在用 Go 的一般都是新项目,特别是新成立的企业用的比较多。

https://en.wikipedia.org/wiki/Hype_cycle

个人感受是 Go 是在第二阶段到第三阶段之间,过了第三阶段应该就会有越来越广泛的应用了(也可能不会)。

我们公司 2013 年成立,现在 500+员工,目前是多半 Node.js+少半 Go,也有其他语言的项目。

字节是新厂,扩张超快,听说是主 Go,不过也在招聘 Node.js 和 Rust,其实没有任何一门语言是万能的,一家成熟的公司的业务也不可能只靠一种技术栈支撑,比如一家企业是 Web+人工智能+大数据,那至少同时在用 3 种语言。

Rust 目前处于第一阶段,生态和特性远不及 Go,不过先天条件很好(给人非常“现代化”感觉的一个语言),坐稳系统开发的阵地,未来在 Web 服务、中间件和 DevOps 领域可能可以和 Go 竞争(也可能不会)。
2019-05-21 19:03:53 +08:00
回复了 chaleaochexist 创建的主题 程序员 有用薄膜键盘敲代码的吗?比例大概是多少?
现在用 UHK,不是奔着机械轴,主要是奔着开源硬件+分体式设计,手腕好多了。
2019-05-14 18:17:05 +08:00
回复了 Aithe 创建的主题 新手求助 Linux 用途广吗
开放的东西只要有人愿意贡献,并且管理得当,就能有广泛的应用。

https://www.bilibili.com/video/av48925225?from=search&seid=18240965666298982491

不过 LTT 的机房都是用的 Windows Server,对于一些特定场景来说,Windows 会很方便。毕竟 Windows 的价值不是软件本身,更多的是成熟稳定又有售后的解决方案。
2019-05-13 16:27:58 +08:00
回复了 SheepM 创建的主题 Java 麻烦各位前辈推荐一个办公区内使用的网络存储软件
群辉,一劳永逸。
自己家里是用的 OpenMediaVault,熟悉 Debian 的话可以小折腾一下。
外网可以用 VPN 来加强安全问题。
2019-05-13 15:52:55 +08:00
回复了 x97bgt 创建的主题 程序员 Spring 到底要怎么入门?
Spring 是一个框架,而框架是被设计出来解决特定应用场景上的需求和问题的,如果不了解需求和问题上来就学框架,肯定就会感觉没有头绪。

自己了解到的是 Sprint 的初衷是降低 Java EE 的使用难度,而 Java EE 是为各种企业级应用场景(最常见的是 Web )提供了各种现成的 API,这些 API 自己用 Java SE 写成本很高,而且相比来说 Java EE 更标准化、社区更成熟,所以往往人们都是直接用 Java EE 的接口。

不知道你是否学明白 Java SE 了,如果学明白了可以自己尝试用 Java 核心 API 写一些简单的 Web 接口,体会一下哪些工作其实是可以用 Java EE 的接口来实现的;然后再使用 Java EE 写一些简单的 Web 接口,体会一下 Spring 是如何降低 Java EE 的使用难度的;最后再了解一下业内的一些企业级服务在开发过程遇到的一些问题是靠着 Spring 提供的哪些思想或者基于 Spring 的哪些思想来解决的。理解了需求和解决问题的思路应该就能更快掌握这个框架。

当然 Java EE 很重,Spring 一方面要应对 Java EE,另一方面要给这么多年来的各种各样企业级服务提供解决方案,所以 Spring 也会很重,涉及到的思想和方案也会很多,学起来也就很花时间。

我自己学 Spring 当年是直接放弃了的。。。所以我对 Java 技术栈的了解可能并不准确。
这些年都是用其他语言的轻框架来做 Web,但不管什么语言什么框架,肯定都是用于解决特定的问题而不是用来制造麻烦的。
2019-05-08 14:49:22 +08:00
回复了 NoKey 创建的主题 程序员 请问一下,那个 oh my zsh 好用么?
用了好多年了,自己在 oh-my-zsh 基础上做了个工具箱。
2019-05-08 14:47:50 +08:00
回复了 mytry 创建的主题 程序员 openvz 的虚拟机是不是有很多坑~
坑不少,比如不能改 swap,貌似维护也放缓了,现在很多 VPS 厂商弃坑。
2019-04-01 19:06:56 +08:00
回复了 5ispy 创建的主题 程序员 为什么要用毫秒值的形式存储日期时间?
没有万金油,根据需求设计,希望做比较和计算方便就用时间戳,希望做分组方便就记录日期,日期也有带时区不带时区的,要是都需要就冗余一下,全都记录。

对于这种问题,不站队,生产力是最重要的。
2019-04-01 19:01:21 +08:00
回复了 chuxiaonan 创建的主题 程序员 英语能力到底重不重要?
简历的话,CET 不重要,托福、雅思、专业英语或商务英语可能含金量较高。
实际工作中的话,听说读写都重要,听和读是用于学习的,说和写是用于交流的,全加起来才是最佳状态。

有的同事发音不准,沟通比较费劲。
代码命名必须用英文的情况下,用错词、拼错词都会导致可读性大打折扣。
表示 CET-4 考了三次都没过,但工作后坚持每天都看英文文档,已经比较熟练了。
2019-04-01 18:54:56 +08:00
回复了 szzhiyang 创建的主题 程序员 你们的启蒙编程语言是?
刚想起来,在 C++之前还学过 VF
1 ... 204  205  206  207  208  209  210  211  212  213 ... 247  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2270 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 71ms · UTC 04:54 · PVG 12:54 · LAX 21:54 · JFK 00:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.