V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ChanKc  ›  全部回复第 18 页 / 共 18 页
回复总数  360
1 ... 9  10  11  12  13  14  15  16  17  18  
@handong970123 我表述有点问题…试想一个 Map<String, Person>,get Or default 的那个 default 应该只能是 Person 而不是 String,如果要拿 String 那么泛型的 value 类型应该也要 String 。不用泛型当我没说
get or default 要求 map 的 value 类型都是 string,有一点不合楼主要求?
2020-05-26 11:45:55 +08:00
回复了 ku9527 创建的主题 程序员 技术图书防盗版思路
@ku9527 对作者其实也是一样的,辛辛苦苦防盗其实是得不偿失。You don't know JS 的作者就索性把书的 markdown 格式免费放 GitHub 上,加个链接到正版的购买地址。追求体验或者希望用金钱支持作者的自然会去买正版。各种防盗版的做法其实只会危害正版用户的体验,得不偿失
2020-05-26 11:36:23 +08:00
回复了 ku9527 创建的主题 程序员 技术图书防盗版思路
防盗成本太高,不如随便让人盗
像 O'Reilly 都是 DRM free 的,随便盗版。但是它家还有一个按时间付费的平台 O'Reilly Safari,书和视频资源随便看,体验好,有钱的自然会选这样的正版。
只要付费用户的收入能覆盖成本,对出版社来说盗版其实无所谓的
2020-05-25 20:54:32 +08:00
回复了 formulahendry 创建的主题 程序员 国内技术书盗版现状
informit 长期折扣,平均一本 20 刀,DRM free 而且三种文件格式( EPUB,PDF,MOBI )。Pearson 和 Addison-Wesley 的全覆盖
O'Reilly 的动物书全 DRM-free 而且无水印,很多平台都买得到,一般我走 Google Play Books 。甚至 Humble Bundle 都有卖动物书 https://www.humblebundle.com/books/definitive-guides-to-all-things-programming-oreilly-books?hmb_source=search_bar
archive.org 也会有一些免费的书可以借阅,我在这上面看的 Java Puzzlers
也就 Elsevier 和 MIT Press 的书比较贵,不太好买。大部分英文书质量高而且也就一小时工资钱。毕业后我都买正版书。
去呼吸科,医院睡一晚上检测
听医嘱
2020-05-15 14:03:20 +08:00
回复了 cmai 创建的主题 程序员 关于 jmm 内存模型的问题
@cmai 我只是想从语言规范层面去了解这个问题,而不是依赖于 JVM 的实现
2020-05-15 13:54:58 +08:00
回复了 cmai 创建的主题 程序员 关于 jmm 内存模型的问题
JLS 17.4

A memory model describes, given a program and an execution trace of that program, whether the execution trace is a legal execution of the program. The Java programming language memory model works by examining each read in an execution trace and checking that the write observed by that read is valid according to certain rules.

The memory model describes possible behaviors of a program. An implementation is free to produce any code it likes, as long as all resulting executions of a program produce a result that can be predicted by the memory model.

This provides a great deal of freedom for the implementor to perform a myriad of code transformations, including the reordering of actions and removal of unnecessary synchronization.

所以我的理解是,JMM 只是规定了程序执行的顺序,即 JLS 里提的 happens-before 顺序。任何不违背这个顺序的重排序的优化都是合法的,因此会出现这种情况
2020-05-15 13:42:37 +08:00
回复了 cmai 创建的主题 程序员 关于 jmm 内存模型的问题
Effective Java 3rd Edition Item 78: Synchronize access to shared mutable data

"This optimization is known as hoisting, and it is precisely what the OpenJDK Server VM does. The result is a liveness failure: the program fails to make progress."
2020-05-14 16:32:02 +08:00
回复了 1oNflow 创建的主题 Java 完全遵照 Effective Java 里面的要点设计代码可行吗?
取决于你的同事
2020-05-14 10:09:17 +08:00
回复了 zivyou 创建的主题 程序员 请教一个 REST api 设计的问题
无所谓

Roy T Fielding: A REST API must not define fixed resource names or hierarchies (an obvious coupling of client and server). Servers must have the freedom to control their own namespace. Instead, allow servers to instruct clients on how to construct appropriate URIs, such as is done in HTML forms and URI templates, by defining those instructions within media types and link relations. [Failure here implies that clients are assuming a resource structure due to out-of band information, such as a domain-specific standard, which is the data-oriented equivalent to RPC’s functional coupling].
2020-05-13 12:46:16 +08:00
回复了 Renco 创建的主题 程序员 看了一堆的 Restful 的介绍 还是没太理解
我觉得回帖中九成的人没有看到 restful 的本质。

想一下你浏览 V2EX 的这个过程:你在浏览器输入 v2ex.com 或者从别的网站跳过来。服务器向你发送超媒体文本标记语言(也就是 html ),浏览器渲染后你可以看到这个帖子的链接,于是你知道你可以点这个链接从而看到这个帖子。作为人类你是自我驱动地去看到各种各样的超媒体(图片,链接,表单等等)并去获取各种各样你所要的信息。

理想情况下的 restful 是这样子:你的客户端向 v2ex.com 请求(协议和方法不限),服务器响应的也是一个超媒体,包括一些信息和客户端接下来可以进行的行为。在“人类”的例子里就是 html 和<a>。你的客户端想要看关于 restful 的信息所以它请求了这个帖子的接口,从而获取到了信息。

http 和 http 的方法只是方便了机器之间约定了请求的方法。但是 restful 可以不依赖于具体的网络协议和方法。如果服务器和客户端之间的交流是基于超媒体的,那么即便你全用 post 和 200 也可以是 restful api 。
2020-05-13 11:43:26 +08:00
回复了 murmur 创建的主题 程序员 日常开吹:竹板这么一打,今天夸一夸,为什么我喜欢 Vue
@LokiSharp 我也是非常不喜欢 vue-i18n 。除了你说的原因,还有一点就是 vue-i18n 似乎是把组件当成上下文来用。比如 A.vue 的 i18n 中的 key 可以和 B.vue 的 i18n 中的 key 完全一样,区别仅仅是分属于不同组件。这样对于翻译者来说需要理解 Vue 当中的组件的含义,我觉得对非技术人员来说不太友好。

另外我猜测,如果不使用 vue-i18n 的 v-t directive 用法,用到 i18n 信息的地方都是 reactive 的,也就是在 dom diffing 的时候会被纳入计算,可能会对渲染性能有影响。

我个人觉得目前 i18n 做得比较好的 Vue 项目是 Gitlab,https://gitlab.com/gitlab-org/gitlab-foss 。它们就是用了 gettext 风格的翻译,可以自动提取信息到翻译平台上翻译。翻译完了信息可以回写到翻译文件上。另一个我比较喜欢的 i18n 方案是 https://github.com/Demivan/fluent-vue

另外现在的前端 i18n 方案大都是:浏览器加载了各种基础的 js 文件,js 说我要用某种语言,此时再 lazy load 我要的语言文件然后进行翻译的渲染。我在访问一些国外的网站时就出现过语言文件加载不出来,然后页面上完全无法正确显示的情况。比如我本来预期看到的是“用户名”和“密码”,结果出现的是“{username}”,“{password}”这样的你所说的占位符。所以我在尝试另一种思路:在 Vue“编译”.vue 文件之前对.vue 文件“预处理”,将所有的“占位符“替换成翻译好的信息,再交由 vue-loader 处理,最后出来的组件和页面就是已经经过“本地化”的了。这个做法更接近于 l10n 而不是 i18
n 。如果用户不经常切换语言,我想这样做会体验更好,但是代码编写的灵活性会下降,打包时间也会变长。https://github.com/tychenjiajun/jeanrry-loader 就是这样的一个尝试。
2019-05-31 10:51:39 +08:00
回复了 sw042 创建的主题 程序员 Java 程序员应该看那些开源项目?
openjdk
2019-05-21 12:42:03 +08:00
回复了 ohyeahhh 创建的主题 Java Java 方法的返回值到底用基本类型好还是包装类型好
Effective Java Item 61: Prefer primitive types to boxed primitives

包装类型效率低而且容易产生 NPE,实际上就是把 NPE 甩锅给调用者。负责任的程序员都会用基本类型,即便用包装类型也应该写好 javadoc。
2019-04-28 10:24:27 +08:00
回复了 rizon 创建的主题 程序员 日本年号变更,你是否因此而在改程序呢~~
2019-04-11 10:27:02 +08:00
回复了 OrochWang 创建的主题 程序员 大蚂蚁、imo 班聊、钉钉、益信,企业即时通讯那个好?
以前在某开源厂实习用的 IRC,至今仍然怀念
2019-04-09 23:40:58 +08:00
回复了 karia 创建的主题 Java 问下 inner class 里想写 static nested class 作为工具类的时候该怎么办
@zealot0630 If you declare a member class that does not require access to an enclosing instance, always put the static modifier in its declaration, making it a static rather than a nonstatic member class.

来自 Effective Java 3rd Edition Item 24
1 ... 9  10  11  12  13  14  15  16  17  18  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2794 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.