Category: I.T.
今天在看代码修改记录的时候发现有这么一处改动, 虽然这个改动已经很久了,但是我觉得有必要拿出来大家讨论一下: 2007年 .NET 3.5 之后推出LINQ,其实整个函数只是在做一件事,就是返回类成员 layoutList 中是 LayoutDevice (后面改成LayoutAnt )的列表.但实际上这通过 C#的LINQ只需要用 OfType<LayOutDevice> 或者 OfType<LayOutAnt> 即可(暂且不说改动包括重构类型) 左边的版本实际上是OK的,这就是学校的标教科书版本,无可厚非,但右边的这个版本就大有问题,因为参数含有引用 ref, 也就是说每次都把外面传进的变量给清空了,这种函数拿来单元测试并不友好. 如果一定要重新造轮子,两个版本都有小问题,一个是 private 方法不好单元测试,另一个是都使用了成员变量 layoutList, 最好是改成 public static 公有静态方法,传入 layoutList, 然后像第一种方式返回新的List.这样的话,这个公有静态方法就是不会更改 …
我们都知道 STEEMIT支持HTML和MARKDOWN两种编辑模式,一旦启用了一种就无法使用另一种.我比较喜欢用Markdown, 因为这种是一种比较面向程序员 所想即所得的方式 (What you think is what you get). 同时,我还是一个伪数学爱好者,在上次的帖子里我就发现STEEMIT的MARKDOWN并不支持LATEX数学公式.实际上Markdown和LATEX也是两个独立的语言,在一般的环境下,需要通过第三方的包来启用在Markdown里Latex公式的支持,但是很明显,在SteemIt里不支持. 比如在Latex里,我们通过 $$ 或者 $ 来启用数学公式,这里明显不可以: $$ \sum_{i=1}^{100} f(i^2) $$ 你看,还是没法显示. 其实我们完全可以通过图片的方式来插入数学公式,这里需要用 Google 的库支持,官方文档在这里. 我们只需要替换以下 MATH-Equation 为你需要的数学公式即可: !(https://chart.googleapis.com/chart?cht=tx&chl=MATH-Equation) …
之前说到 第一次打肿脸充胖子 – 花了200STEEM租1万SP四周! 那么就扯到了怎么样点赞收益最高的问题. 由于实际情况复杂(比如每个人睡眠时间不同,碎片时间段不一样),所以我们来做一个大胆但合理有效的假设: 假设我们用 P 来表示每个人每天固定时间段起始的 能量,满血就是100%.我们已经知道,每100%点一次需要耗掉2%血量.并且每36分钟回0.5%的血量. 并且已经每次100%点的收益是M美元,如果每个人计划这一天点T次赞,并且只有在一个N小时的时间段内可以点赞(比如醒着的时候). 这时候,我们可以来看一种点赞方式: 在这个固定的时间段就把这T次全点完,那么这样的收益为: Sum P*M*(1-0.02*(i-1)) for i=1..T 比如T=2的时候,在最开始就点完两次赞的收益为: P*M + P*M*(1-0.02) 这样翻译成Javascript代码就是: // P - Current Voting Power e.g. …
在上回的帖子里,我介绍了一API,但是很多人不清楚如何使用,或者说,到底能拿来干啥.今天我就介绍一个小应用. 我们公司用的内部聊天软件是SLACK,这玩意可以开放API给第三方,可以整合很多其它工具,特别是可以用IFTTT (If This Then That) 来连接其它的工具. 比如,我就想,如果别人给我帐号里送钱了,我想第一时间知道,而不是时不时的去刷 steemit.com 的钱包页面.我想这个消息能自动的推送到我公司用的聊天工具 Slack 上. 怎么用?很简单,首先你需要在你的机器(可以是服务器)上创建一个脚本,比如PHP脚本 (假设文件名为 check-transfer-history.php): <?php // https://justyy.com/archives/5072 $id = 'justyy'; $tx = json_decode(file_get_contents("https://uploadbeta.com/api/steemit/transfer-history/?id=" . $id), true); foreach ($tx …
今天我又想做一个小功能需要查询STEEM用户的钱包历史,结果又发现官方的API示例不够简单.挺麻烦的,查了半小时后没有得到自己想要的,于是果断直接爪取SteemIt线上的网页.在这里先感谢 SteemIt.com 不阻止PHP直接抓取. 首先我们先来看看效果吧: curl -X POST -d "id=justyy" https://uploadbeta.com/api/steemit/transfer-history/ 很快的,就能返回一串JSON字符串,取前面几行,大概是这样的结构: ; echo $r; echo $r; echo $r; } SteemIt API/transfer-history 服务器 和 SteemIt API/account 一样,一共有4个API服务器已经正常运行很多年. 美国东部 (East USA):https://helloacm.com/api/steemit/transfer-history/ …
@minnowbooster 提供租贷SP的服务,于是我花了200 STEEM租了1万SP, 为期是4周. 14 hours ago Receive 0.001 SBD from minnowbooster Your delegation request for 4 weeks 10000.0 SP was filled by @bayrene. 3 days ago Receive 0.001 …
前几天看了O哥的大作 第一次使用STEEMSQL查询谷哥点名数据 觉得PHP如此的强大,不愧为星球上最好的编程语言.几行代码就可以把官方提供的API给用了起来.但是在使用的时候还是得引入一些代码,并且有一些参数对于初学者来说比较难懂. 我今天其实想做一个小功能的,突然就想到,如果只是想根据STEEM ID来得到一些帐户的基本信息,能简单一点是一点.于是在O哥的代码上简单封装了一下API,并且提供4个服务器供世界各地的爱好者使用. 我的四个服务器位于:日本东京,英国伦敦,美国西部还有一个美国东部,我长年(好几年)自己花钱租VPS主机,提供免费的API使用,并且用了付费的 Cloudflare CDN 用于保证服务器的安全和稳定,所以尽可以放心用在你的项目上. 这四个API服务器调用是: 美国东部 (East USA):https://helloacm.com/api/steemit/account/ 美国西部 (West USA):https://steakovercooked.com/api/steemit/account/ 日本东京 (Tokyo Japan):https://happyukgo.com/api/steemit/account/ 英国伦敦 (London, UK):https://uploadbeta.com/api/steemit/account/ API steemit/account 的使用方法 怎么用呢?很简单:你可以直接在浏览器里打开 (以GET的方式): https://uploadbeta.com/api/steemit/account/?id=justyy 返回JSON数据.或者你可以通过POST方式,比如这样: …