物理仪表板/状态板的库和伪代码

Posted

技术标签:

【中文标题】物理仪表板/状态板的库和伪代码【英文标题】:Libraries and pseudocode for physical Dashboard/Status board 【发布时间】:2011-03-01 13:30:15 【问题描述】:

好的,所以我昨天为办公室买了一个 46 英寸的屏幕,并且面临被指控制定“精心策划的世界杯拖延计划”的风险迫在眉睫,我最好向我的同事展示它的含义;)

看看我的简单草图,以及这些启发我的greatprojects,我想在以下方面获得一些意见:

    骨架的伪代码: 由于某些方法应每 24 小时调用一次(“标题中的今天日期”),而另一些方法应每隔 60 秒调用一次(“Twitter 结果”),那么使用 javascript (jQuery) 和 php 的好方法?

    编辑:Alsciende:我同意 #1 和 #8 太模糊了。因此,我删除了 #8 并尝试澄清 #1:对于“骨架的伪代码”,我的意思是这可以完全使用 JavaScript 计时器完成吗?您将如何设置各种计时器?

    Google Analytics 库:哪些库支持 Google Analytics API 并可以生成简洁的图表。最好是 html5,基于 JavaScript,例如 Protovis。

    Twitter 库:您会推荐哪些库来从个人资料中获取 Twitter 搜索结果和最新推文。

    Typography/CSS/HTML5 库:在此过程中尝试学习一些 HTML5 等,请就任何其他可能相关的 Typography/css 库提出建议。

    抓取/解析?我给你举个具体的例子:试图从this restaurant's website获取今天的菜单,你会怎么做? (这是瑞典语 - 但你明白了 - 抱歉;))

    实时统计数据? 我正在使用 WordPress 的 WassUp 插件来跟踪我们网站上的实时访问者。其他日志软件(AWStats 等)可能也安装在网络服务器上。关于如何从中提取信息并在仪表板上实时呈现的任何想法?

    浏览器选择?您会选择哪种浏览器和操作系统?稳定、全屏、HTML5。

alt text http://www.freeimagehosting.net/uploads/cb7af2ef28.png

【问题讨论】:

***.com/faq : 问题应该详细而具体 @Alsciende:不能说这个不详细吗? :P 【参考方案1】:

我已经为我们的办公室构建了一个与您所说的类似的仪表板。我花了大约一天的时间来研究它,可能性真的(几乎)无穷无尽。基本上,我通过 PHP 处理的所有计算内容并对适当的 PHP 脚本执行间隔 AJAX 调用,该脚本返回 JSON 数据以呈现。

#2: 对于图表,我使用/推荐 flot (http://code.google.com/p/flot/)。文档并不是真的那么好,但是一旦你弄清楚事情通常是如何工作的 - 它是一个很棒的库,它使用 HTML5 Canvas 标签生成图表。

我之前没有将外部库与 Google Analytics 集成,但我假设您可以从分析中提取数据并将其格式化以供 flot 构建适当的图表。这可能是一个困难的方法,但我比大多数其他图形库更熟悉 flot(它并不像很多其他图形库那样糟糕)所以对我来说,这将是最简单的方法搞定。

#3: 对于 twitter,使用 JSON-P 从他们的搜索 API 中提取数据非常容易。基本上,它的作用是动态地将<script> 标签添加到您的 DOM,获取 twitter 解释的参数,然后调用预定义的 javascript 方法(您通过 URI 传递),并使用 json 编码的结果散列。

#5: 抓取和解析单个站点将是一个艰苦的过程。每个站点都会有自己的“模式”(或非模式)来发布他们的每日菜单或特色菜。我会构建一个“菜单”脚本,它知道如何调用一些函数,并编写一个函数/类来抓取你有兴趣在 PHP 中显示菜单的每个餐厅的网站(或任何其他你喜欢的语言)和)。它可以回复 json,这是 (imo) 在 Javascript 中操作/处理数据的最简单方法。

#6: 实时统计数据与#5 几乎相同。我会构建几个类,它们知道如何从我有兴趣从中提取的任何数据源中获取统计信息,并通过 ajax 调用将 json 中的数据呈现给 javascript。

#1: 编写 javascript 代码以在计时器上加载数据非常简单,请查看 setIntervalclearIntervalsetTimeoutclearTimeout 方法。它们都采用函数名称(或闭包)和在调用该函数之前等待的超时时间(以毫秒为单位)。您可以每 60 秒轻松调用一次主计时器函数,该函数基本上是“调度程序”或“cron”风格的函数,它只会查找需要“立即”运行的内容并从调度程序执行这些函数。

希望这能给您一些关于去哪里以及如何到达那里的想法。

【讨论】:

【参考方案2】:

我们为 Rails Rumble 开发了 Boarrd,这正是您想要开发的!

Panic 也给我们留下了深刻的印象 :)

在我们RailsRumble 的团队页面中,您将找到有关所用工具的详细信息。我知道这不在 PHP 中,但也许你会尝试我们的工具并决定更好的开发环境;)

【讨论】:

非常有趣的项目,谢谢! (顺便说一句,知道为什么 Boardrd 网站需要很长时间才能加载吗?)

以上是关于物理仪表板/状态板的库和伪代码的主要内容,如果未能解决你的问题,请参考以下文章

HTML中常见伪类和伪元素的区别

伪类和伪元素的区别

伪类和伪元素的区别

伪元素和伪类的区别

伪类和伪元素

CSS中的伪类和伪对象