V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  minsheng  ›  全部回复第 18 页 / 共 20 页
回复总数  381
1 ... 10  11  12  13  14  15  16  17  18  19 ... 20  
2016-01-11 19:33:30 +08:00
回复了 alex321 创建的主题 问与答 https://onedrive.live.com/ 打开空白,真的要完蛋了么?
其实 OneDrive for Business 1TB 感觉还是不错的
2016-01-11 18:47:31 +08:00
回复了 wcflmy 创建的主题 程序员 基于 RESTful API 的 web 应用的架构设计问题
RESTful API 服务器推荐用 Haskell Servant 来做,因为可以静态生成类型安全的 API ,自带了 Haskell/JavaScript/PureScript 支持,有需要也可以自行扩展。
2016-01-01 23:57:51 +08:00
回复了 seabornlee 创建的主题 分享发现 我如何读书
请问第一张图是什么 app ?
这个场景蛮适合 Haskell 的 Servant ,用类型系统保证 API 的正确性,也能根据 API 的类型自动输出其它语言的绑定。推荐看看,挺好玩的。
@expkzb 一眼看成 iOS 准备开发一个草榴客户端……
2015-12-17 18:21:01 +08:00
回复了 XiaST 创建的主题 程序员 当某函数内代码行数过长时是否有必要对其进行拆分?
首先,性能大多数情况下都应该不是个大问题,要是这么简单的情况编译器都处理不了,我建议楼主转行读 PhD 。

然后,拆函数大概有两个好处,一是代码复用,这个大家都很清楚。二是可以用作文档——选择有意义的子函数名——不过这个功能可以用注释代替。

楼主的一个担心看来似乎是污染全局空间,但如果楼主用的语言不像 Haskell 那样有 where ,楼主可以定义几个 lambda ,这也是等价的。

最后,写成多个函数,如果不滥用 capturing ,可以减少子函数之间共享的状态,对未来维护应该是方便的。
2015-12-04 02:30:36 +08:00
回复了 remx 创建的主题 Swift Swift 已开源
*我们可以写个
2015-12-04 02:30:25 +08:00
回复了 remx 创建的主题 Swift Swift 已开源
竟然没有自举,看来我们写个 Swift in Swift 玩了。
2015-11-28 07:39:20 +08:00
回复了 blacklee 创建的主题 Apple MacRumors 上说 rMBP 和 Mini/Pro 都 Updates Soon 了
Mac Pro 的话至少要等 Boardwell EP ,也就是 E5 V4 ,这个明年初估计是没跑的。求驱动 5K 呀呀呀,我现在特别想整一个 21:9 的 6880*2880 的曲面屏,啊啊啊!

其它的不打算入也没研究就不评论了。
2015-11-26 18:02:32 +08:00
回复了 endosome 创建的主题 iPhone 有在中国区使用 Apple Music 的朋友么?
@LagunAPaTa 天哪你是不知道 Apple Music 美国区多不全,疯狂的我转会国区开心死了。

不过两个账户 app 什么共享好麻烦
其实是 bug , San Francisco 是有等宽数字的
2015-11-23 14:09:05 +08:00
回复了 LeanCloudRRY 创建的主题 JavaScript 「大概也许是」目前最好的 JavaScript 异步方案 async/await
最好的方法当然是用 PureScript 的 do-notation 。这个问题二十年前就被解决了,简单的 Continuation Monad 而已。

PureScript 的特性多了去了,比如说强类型系统,比 TypeScript 的还方便。比如说 algebraic data types ,可以方便的定义枚举:
data Color = Red | Green | Blue

也可以定义 higher kinded types ,也就是 Swift 里枚举的那个 associated value :
data Maybe a = Just a | Nothing
定义了一个 optional 的类型。

方便的 pattern matching ,无论是定义简单的函数:
fac :: Number -> Number
fac 1 = 1
fac n = fac (n - 1) * n
或者处理上面的 Maybe :
nextStep :: Maybe String -> Maybe String
nextStep (Just x) = performOperation x
nextStep _ = Nothing

当然,几乎所有的类型都可以省略:
let fib 0 = 1; fib 1 = 1; fib n = fib (n-1) + fib (n-2) in fib 10

类似泛型的 type class :
class ToJson a where
toJson :: a -> String

然后只要针对每一种类型定义相关的函数就可以直接使用 toJson 函数了,多么模块化!当然,可以专门针对数组 [a] 针对一个 toJson 函数,只要 SomeType 定义了 toJson ,数组 [SomeType] 也就都可以用 toJson 了。

还支持两个参数的 type class
class Convertible a b where
convert :: a -> b

然后就可以类型安全的转换数据了。

担心 Maybe 穿起来特别复杂?有一串操作,每一步都可能失败?没关系,我们有 do notation
operations :: Number -> Maybe Number
operations x = do x1 <- op1 x; x2 <- op2 x1; x3 <- op3 x2; return x3

对比原来的写法:
operations x = case op1 x of
Nothing -> Nothing
Just x1 -> case op2 x1 of
Nothing -> Nothing
Just x2 -> case op3 x2 of
Nothing -> Nothing
Just x3 -> Just x3

有没有感觉这个看起来很像 callback hell ?对了!这就是我说的 do notation 如何轻松的解决 callback hell ,只需要定义一个专门的 Continuation Monad 就可以用 do notation 解决 callback hell 。而且这玩意具有可扩展性,而不像楼主提到的 await async 处理的问题比较死。 Node.js 一个常见的 pattern 就是用第一个参数传 error ,而在这里稍微修改一下 Continuation Monad 的定义就可以写出:
operations x = do x1 <- mayFailOp1 x; …

只要其中挂了一个整个操作自动中断。

Do-notation 和 monad 的各种奇技淫巧各大社区已经研究了很多年,无限的可能性。

然而需要和 JSON 打交道的人可能要吐槽强类型系统的不方便,但不用担心 PureScript 原生支持 extensible records !换句话说可以定义这样的函数:
fullName :: forall t. { firstName :: String, lastName :: String | t } -> String
然后任何类型!任何类型!只要包含了 firstName 和 lastName !就可以传给 fullName ,返回的就是 String 。这个是多么方便啊!这可是有静态检查的!你只要确保项目里那几个小小的与外界打交道的函数包上了 PureScript 的皮就好了。

最后再来一个重磅的, generics ,泛型编程。这可不是 Java 里的泛型,上面的 type class 已经支持那个特性了。这里的泛型是根据数据类型的形状自动生成代码。比如说,自动生成等于函数 eq ,或者 toJson 。配合起 type class 简直爽爆了,再也不用写 boilerplate/冗余代码了。

然后, PureScript 的 FFI ——也就是跟普通 JavaScript 交互的接口——也是特别简单,我就不说了,具体可以自行参考 purescript.org

这,才是 GHCJS 之外最好的, callback hell 解决方案。
2015-11-18 12:56:31 +08:00
回复了 justjavac 创建的主题 Linux usr 真的是 Unix Shared Resources 的缩写,而不是 user 的缩写吗?
@yylzcom 这里的 regular 是指 regular expression 所描述的是 regular language
2015-11-10 12:30:26 +08:00
回复了 php230 创建的主题 PHP PHP 7 延后发布了, 11 月 12 号发布 RC7, 11 月 26 最后版本
同意楼上,目前设计最好的工程语言当时出 7.10 的时候也跳票了一两个星期。
2015-11-10 12:28:45 +08:00
回复了 kiowar 创建的主题 程序员 给自己的网站选域名,用小众后缀还是拼音+数字的.com 好?
我名字缩写 MS ,于是就在前面加了一个姓氏。我觉得六位及以上字符(不包括点)都没什么好纠结了,选个好记得吧。

要备案两说。
2015-10-15 04:27:55 +08:00
回复了 endosome 创建的主题 iOS ios 9 上,如何屏蔽一个特定网站?
Refine 是一个还不错的*可自定义列表*的广告屏蔽 app 。
2015-10-09 22:51:02 +08:00
回复了 IanPeverell 创建的主题 MacBook Pro 刚觉 Apple 今年被完爆了,太开心了 TAT
还没上手就这么吹,来来来我们先讨论一下 SB 那迷之 300MB/s 吧,别告诉我什么微软这么大的公司却想不到 U 盘会拖慢 SSD 速度的评测。
2015-10-09 09:43:15 +08:00
回复了 yellowV2ex 创建的主题 iOS 你们觉不觉得 iOS9 不能备份应用了?
你们难道不知道现在下架的 app 是不能从已购列表下载吗?这个很显然是统一一下嘛!
不默认勾选,再等什么大新闻出现了,把苹果给批判一番吗?听起来不错。

不过确实应该待机的时候加密。
2015-10-02 00:41:12 +08:00
回复了 xiaopangljl 创建的主题 Apple iBooks or Kindle?
我现在的策略是能用 iBooks 就用 iBooks 。如果楼主来美国买教科书就会发现有些 Kindle 书其实就是 PDF 加壳,这些东西都没办法的,只能用 Kindle ,尽管阅读体验也还是惨不忍睹。但是纯文本阅读,我觉得还是 iBooks 比较好,最明显的, Kindle for Mac 的高亮只有一个颜色。但是, iBooks 性能也是非常捉急,比如说在两章之间的时候。

哎,说到头没哪个用的舒服的。
1 ... 10  11  12  13  14  15  16  17  18  19 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1048 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 20:31 · PVG 04:31 · LAX 12:31 · JFK 15:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.