V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  raincious  ›  全部回复第 12 页 / 共 107 页
回复总数  2127
1 ... 8  9  10  11  12  13  14  15  16  17 ... 107  
2016-06-21 18:14:35 +08:00
回复了 maskerTUI 创建的主题 问与答 有人用平衡车吗?聊聊呗
https://www.v2ex.com/t/275714
坐等楼主二手出售
2016-06-16 19:38:05 +08:00
回复了 jookr 创建的主题 PHP 本来已经转义的标签 POST 后被自动转回来 请教哪里出错了?
楼主可以试试看将$_POST['content']写到一个文件里,比如 file_put_contents('file', $_POST['content']);,然后打开那个文件看看内容到底是什么。

// 其实还可以点击浏览器的“查看源代码”看看 textarea 里的内容是不是真的“转换回来”了。
2016-06-16 12:02:55 +08:00
回复了 lyp111332 创建的主题 PHP 请教个简单的问题
@lyp111332

你应该更仔细的检查一下边际情况。

`mysql_select_db`,`mysql_set_charset`这两个函数都会在错误的时候返回 false ,你需要检查它们的执行结果,而不是盲目的假定他们执行了而跳过检查。

建议你还是用一个数据库操作类来处理与 MySQL 的交互,比如用 http://medoo.in ,而不要自己手动去做。
2016-06-16 10:29:30 +08:00
回复了 lyp111332 创建的主题 PHP 请教个简单的问题
> 噢,那请问下如何将布尔 boolean 类型改为资源 resource 类型

噗。

$result=mysql_query($sql);

if (!$result) {
return false;
}
2016-06-14 23:57:08 +08:00
回复了 vus520 创建的主题 Go 编程语言 突然想起一个笑话
切,就像你有一头乌黑浓密的秀发似的。
-- Matz 冷视你们并说道😂
2016-06-13 11:25:55 +08:00
回复了 SlipStupig 创建的主题 程序员 关于 rust 前景大家是什么样的一个态度
@ikaros
对啊,这其实就是我要说的(可能夜里回帖迟钝,上面说的不清楚)。即:

你可以定义一个 func NewTestStruct() *TestStruct ,但是你不能阻止用户直接&TestStruct{}。
2016-06-13 10:56:15 +08:00
回复了 SlipStupig 创建的主题 程序员 关于 rust 前景大家是什么样的一个态度
@ikaros
但是这样其实还是没有解决根本性问题,即 map 仍然没有被初始化

@tioover
感谢解释。其实存在以上某些观点有可能只是因为我还没有入门 Rust 吧。我之前大致看过 Rust Book ,但是真正开始试着写代码也就是 2 天前,所以可能还没体会到各种好处吧。 :D
2016-06-12 23:24:46 +08:00
回复了 SlipStupig 创建的主题 程序员 关于 rust 前景大家是什么样的一个态度
在学,但是同时也在观望,还没开始正式用来写项目。

我觉得 Rust 想要流行还是需要更大的跨平台标准库,能让用户用它的标准库就能完成大部分工作,甚至比如开一台 HTTP 服务器,而不用去用 crates 。

Golang 的自带电池很大,所以如果你们看 Golang 的 Web 框架,它们自然而然的使用了一个相对标准的接口,不但降低了入门 /迁移难度,而且由于 Golang 的 HTTP 库是官方统一维护的,所以如果有 Bug 会很快被修复(特别像是加密之类的更需要如此)。

Rust 的策略貌似是使用 crate ,让用户来完善这个语言的库,而自己则潜心去完成 std 下面和语言本身关系更密切的东西(比如 collection 之类)。但风险是会出现很多参差不齐的库,这些库的接口不一定遵循一个标准,甚至安全性都不一定能保证。

这是目前我认为 Rust 和 Golang 相比,好的地方:
1 、建立 struct 实例(不知道是不是应该这么称呼)的时候,你需要初始化这个 sturct 所定义的所有的值。这样就强制用户建立一个初始化函数来初始化这个 struct 。而在 Golang 里,你可以在不进行初始化值的前提下建立一个 struct ,而那样的话会漏掉部分需要初始化的变量,比如

package teststruct
type Test struct {
private map[string]string
}

func (t Test) test() string {
return t.private["test"]
}

package main
t := Test{} // 你可以这样建立一个 struct 的“实例”。用一个 package 内的函数来初始化对 package 的用户来说“可选”的
t.test() // 出错: map 需要初始化

2 、没有 GC ,这样速度快多了,而且能更准确的控制数据消失的过程( Life Time )。
3 、有多态,棒棒棒。


这是我觉得同 Golang 相比不好的地方:
1 、符号太多了,&'!*~等等。&'static str 这是啥。
2 、 API 还是有变动,比如之前有~str ,现在删了,变成了 String 。
3 、个人并不是非常喜欢 trait 的设定
4 、 use 和 mod 比较令人糊涂
2016-06-12 16:14:58 +08:00
回复了 2232588429 创建的主题 问与答 为什么 APPstore 国外应用更新说明从来都不写明内容?
@2232588429

> 所以也想知道这些应用这么做的原因罢了。

可能是自动构建的原因吧,机器收到构建新版本的请求,自动测试然后构建出了二进制文件,然后自动上传到了 Apple 。

要不就是因为保护商业机密的原因。
2016-06-10 19:02:22 +08:00
回复了 william23 创建的主题 生活 想问下大家平时出去穿休闲鞋还是跑鞋?
@loading

可以试试看 580 什么的,稍微像跑鞋。

我不穿皮鞋是因为适应范围太窄,如果需要步行比如 5KM (上下班什么的一时兴起),一看穿了皮鞋基本上这想法就得取消了(然后就丧失了一次探索世界的机会啊,瞬间为此损失好几亿啊,啧啧)。

想要穿着有气质(好看),不是仅仅刻意不穿着格子衬衫、牛仔裤、跑步鞋就能避免的。而其实主要取决于两点:
1 、维护程度高:就是“设备”(比如鞋、衣服和你自己)的洁净程度,越接近新 /干净的可以看作维护程度越高。所以知道如何维护自己和自己的的衣着很重要(比如 A. 知道白衬衫怎么洗才能恢复白色,如何清理鞋子上的污渍之类; B. 甚至于掌握何种穿着最容易清理,使得不用付出太多精力就能看上去很新; C. 以及掌握自己“装置”的 TTL ,知道 Renew 时间)
2 、人帅。

上面两点做好其中一点,看上去都不会太差。好了不说了,我去学习洗衣服了。
@justjavac

但是这样的话,网站想要从中赚钱就难了。
@justjavac

这是因为为内容付费不可靠吧。毕竟是看不见的,无法知道质量好坏,只能通过回答的人是否靠谱来推测答案的质量。

感觉这种先付费的模式对新用户不友好,毕竟不是每个人都知道谁是大神谁不是。

不知道为什么不尝试订阅式的服务,而直接卖答案(难道是因为这样赚得多?)。
2016-06-08 21:53:05 +08:00
回复了 fever105 创建的主题 职场话题 下午面试出来,有种生无可恋的感觉
@Cloudee
感觉不是一回事,通讯录这种东西始终是有限的集合,数据内容是可以控制的,比如至多 500 人吧,这样哪怕一个个 Levenshtein 算好速度也不赖。更何况你可以把数据下回来用多个 Trie 树来索引,之后每个树就是 O(n)搜索。

但是 Instant Search 是不一样的,我猜测应该是用户输入前几个字符的时候,后端先返回一个大批量的数据(比如 50 个),然后前端先显示几个(比如 5 个),之后用户再进行输入的时候前端根据用户的输入过滤和排序(比如用 Levenshtein 算),当前端的可用数据不足的时候(比如少于 15 个),前端再提交数据请求给后端下载另一批数据。

后端那边需要再用户输入的时候就转换好,先将中文转换成拼音,然后拆分了存进数据库,比如
北京 => bei,jing
储存的数据 Key 是:[北, 京, 北京, bj, b, be, bei, beij, beiji, beijing, j, ji, jin, jing]
值是:[北京, beijing]

用户搜索 `bejng` 的时候,数据库(比如 Redis )从 `b` 开始匹配,如果发现匹配到 `be` 之后就没有结果了(可能得有个权重阈值,过滤到一些不常用的结果),然后根据 `be`,得到[bei, beij, beiji, beijing](这个结果应该是用关键字权重来排序的,热门关键词优先),之后用 Levenshtein 得到最相似的关键字`beijing`,最后得到结果:[北京, beijing]。

当然,如果用户搜索 `bjing`,程序应该从尾部开始搜索,比如[g, ng, ing, jing, bjing],这样也可以通过`bjing`这个关键词得到`beijing`。

当然,我上面的猜测只能在用户输入了足够多正确样本的情况下才可用,面对`bjng`这样的关键词应该还是无效的。
2016-06-07 21:06:09 +08:00
回复了 fever105 创建的主题 职场话题 下午面试出来,有种生无可恋的感觉
@aheadlead

《算法导论》
从买书到改改行

LOL 。
@yeyeye

我看了下帖子,貌似我跟你是在一边的。

我觉得 6 位数字密码是完全不安全的,不应该只是考虑技术层面上的那部分内容,你还需要考虑用户要如何设置密码。

比如你看, 6 位数字可以代表 1 个人的出生年月,或者三个人的出生时间,又或者手机号码中的几位甚至是自己喜欢的吉利数字等等。这样 10^6 可能完全就是不可达到的熵。

至于设备绑定,看似更加安全,比如用 Apple 的安全机制来保护用户的第一层安全(确认打开程序的是用户自己)。但其实是一种“安全分担”,因为实实在在的依赖了一个无法控制的外部条件。这样很容易由“多方确认”变成“ Multi-Point of passthrough ”,反倒不利于安全性(考虑到程序会有 Bug ,并且程序和业务一直在变动和重构的情况下)。

所以我认为 6 位密码肯定是在降低安全性,或者说牺牲了安全性来换取一定的便捷程度。

但至于这样是不是合理,还需要时间考验。就是说,需要知道到底会不会有人因为这样的 6 位密码导致自己的账户被盗,如果有,有多少。
1 ... 8  9  10  11  12  13  14  15  16  17 ... 107  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2641 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 13:55 · PVG 21:55 · LAX 06:55 · JFK 09:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.