SparklineData快照工作室

snap_studio的Python项目详细描述


===
快照工作室
===



图片::https://img.shields.io/pypi/v/snap_studio.svg
:目标:https://pypi.python.org/pypi/snap_studio

…图片::https://img.shields.io/travis/ali--/snap_studio.svg
:目标:https://travis ci.org/ali--/snap_studio

…图片::https://readthedocs.org/projects/snap-studio/badge/?version=latest
:目标:https://snap-studio.readthedocs.io/en/latest/?徽章=最新
:alt:文档状态

…图片::https://pyup.io/repos/github/ali--/snap_studio/shield.svg
:目标:https://pyup.io/repos/github/ali--/snap_studio/
:alt:updates





*免费软件:GNU通用公共许可v3
*文档:https://snap studio.readthedocs.io.






*待办事项





>
>;**注意:*该存储库是私有的,docker镜像是公共的。





;[0.0.1 alpha]最新版本**[0.0.1 alpha](https://gitlab.com/sparklinedata/sparklinedata/snap-modeler)第124;








*待办事项:wiki**[public-face-public-facedocumentation](http://gitlab.com/gitlab.com/global.com/维基/主页)
|**持续集成**[![生成状态](https://gitlab.com/smarklinedata/snap modeler/badges/master/build.svg)(https://gitlab.com/smarklinedata/snap-modeler/commits/master)
**问题**;问题在[snap repo]中跟踪(https://gitlab.com/smarklinedata/snap/issues?所有&;utf8=%e2%9c%93&;state=opened&;label&;label&u name[]=modeler);
<;br/>;


《快速入门》使用预先构建的snap modeler映像。使用预先构建的snap modeler映像。

````````
docker run-it--net=host--name snap modeler snap modeler registry.gitlab.com/smplaklellab.com/smplaklinedata/snaplinedata/snap modeler/snap modeler
````



没有docker


需要python 3。4+


(仅限ubuntu)安装sasl依赖性


`````
apt-get-install-y libsasasl2模块libsasl2-dev
`````



启动建模服务器:

``````
`````````





(仅限ubass.py flask flask run--host=0.0.0.0.0.0.0.0--port=88888
``````````>``````



生成图像打造-t snap modeler。
`````


>运行容器

````
````
>docker run-it--net=host--name snap modeler snap modeler
```

;;设计决策:



//最高优先级是用户体验

>
*使用强大的视觉效果来提供指导
******在用户界面上绝对没有运行时的异常**在用户界面上绝对没有运行时的异常****绝对没有运行时的异常**
***上午收集提示、建议、指导和错误消息**建模时
*工具提示、绿色/红色、各个步骤的指南
*始终显示后台操作的进度
*任何操作都不应阻止用户交互
*请参阅有关面向用户语言的说明


\s是著名的复杂应用程序,很难修改或重构,需要开发人员先学习一个新的框架,然后才能投入生产。
这个项目希望能够快速重构和修改modeler ui。




前端语言的elm选择是因为:
*只有一种方法可以做到hing.
*强编译时静态类型检查。
*由于不变性和类型,需要较少的测试
*易于新开发人员学习
*保证没有运行时异常。
*为MVC提供单一框架。


imizes需要与后端进行交互
*为用户启用高度交互的ui
*(最重要的是)使不可能的状态和不可能的用户交互在编译时不可能进行。
(例如,如果不选择表就不可能选择列。
我们可以在编译时保证这一点,而不是having运行时验证)

####启用各种场景,如:
*不同的数据源(s3、雅典娜、redshift、火花、Teradata、Druid、文件)
*不需要建模者计算潜在效益,就可以进行数据分析






;前端:





;main.elm
>entrypoint和样板





用户文本。elm
显示给用户的所有文本都包含在此文件中。这包括:
*errorMessage-有关与多维数据集建模无关的问题的消息。通常与现实世界中的某些错误有关。
*例如:没有连接
*提示-向用户提供建议的消息
*积极提示-告诉用户做一些他们尚未做的事情
*消极提示-告诉用户不要做他们正在做的事情
*内容-标题、标题、注释、说明、按钮s, labels, tabs, icons, etc

#### CubeModeler.elm
All the logic for creating a SNAP Cube from a set of TableInfos and ColumnInfos

#### CubeModelerView.elm
All of the user-facing logic

#### DatatableView.elm
A pure Elm implementation of searchable, sortable, selectable datatable.

#### BackendClient.elm
发送到/从服务器发送的消息的定义。
*tablenfo
*getalltablenfos
*columnifo
*getcolumnifos

后端:

包含连接到数据源和分析数据的逻辑,对多维数据集或建模一无所知。

对Modeler前端的StSts Modeler前端
*充当到HivethriftServer Bridge的http http








>开始Modeler启动Modeler



elm make main.elm--output=static/index.js
pip install-r requirements.txt
flask app=app.py flask run--host=0.0.0.0.0--port=88888



开发
使用elm reactor实时重新加载的elm源


使用flask调试器处理实时重新加载的python源


flask_debug=1 flask_app=app.py flask run--host=0.0.0--port=8888--debugger



不惜一切代价提供术语定义,尽可能避免冗长的内容和大量的细节。在用户探索功能并实际需要信息的同时,显示有关功能的越来越多的详细信息。
*对于显示给用户的每一条消息,请询问"用户是否真的需要知道这一点"
*用可扫描的小段写以便于发现。
*用少于30个单词的句子来描述操作(do"消息ent"而不是"消息已发送")
*不要将"我/我的"和"你/你的"
*不要:"更改**你在**我的**帐户中的**偏好"
*做:"更改我的帐户中的个人偏好"
*不要用文字表示数字("你有3条消息吗")
*关注用户可以使用应用程序做什么,而不是应用程序正在为用户做什么
*不要:"为了让你开始,我们在Facebook上向你展示流行的帖子。"
*做:"开始在Facebook上发布这些流行的帖子。"
*但是,当一个人确实为用户采取了行动,例如审查上诉或回应建议时,这条规则有一个例外。在这种情况下,使用"我们"是适当的。
*不要:"您的上诉将被审查,您将在几天内收到答复。"
*做:"我们将审查您的上诉,并在几天内作出答复。"
*对所有标题、标题、标签、菜单项使用句子式大写。
*不要:"搜索设置""
*做:"搜索设置"
*感叹号应该避免,因为它们可能会被认为是喊叫。
*不要:"了解应用程序的新功能!"
*do:"welcome"
*cut out the wordness.你应该使用简单,直接的语言,让用户容易理解。全部附加或COMmon介绍性短语,如"you must"(你必须),因为"order to"(为了)应该省略。
*不要:"是否保存更改?""
*do:"保存更改?"
*不要:"确定要删除此照片吗?"
*do:"删除此照片?"
*不要:"确定取消"
*做:"删除保留"
*错误信息是不可避免的。但是你应该让它们成为用户体验的无缝部分。
你的错误消息听起来像是为人类编写的,为了实现这一点,你的消息应该清楚地说明:
*出了什么问题,可能是为什么。
*下一步用户应该采取什么措施来修复错误。
*请编写消息,以免直接责怪用户。关注用户问题,而不是错误本身。
*不要:"您提供的电子邮件不正确。"
*不要:"此电子邮件地址无法使用。请确保拼写正确。"



credits
——



此包是使用Cookiecutter和"Audreyr/Cookiecutter Pypackage"项目模板创建的。

_ Cookiecutter:https://github.com/audreyr/Cookiecutter
。_` audreyr/cookiecutter pypackage`:https://github.com/audreyr/cookiecutter pypackage



=
=
=
=
=


<0.1.0(2017-12-15)
----

*pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使Eclipse在其控制台中显示最顶层的异常,而不是完整的堆栈跟踪   java如何为一个组件提供多个DropTargetListener?   在Eclipse包资源管理器中,有些文件不可见?   java在Spring Boot中使用@Bean配置设置类属性的默认值   在JTextPane中使用#链接的Java HTML?   java当应用程序打开时,如何将通知内容发送给活动?   java Android ROOM如何编写包含多个实体的查询,这是在哪里完成的?   Play Framework的java登录/注销问题?   java如何从安卓 Cordova/Phonegap调用javascript函数   JavaFX8如何在Java8中显示上次修改的LocalDateTime?   javabean验证中的多个约束注释   java使用JSTL设置请求属性   java在Android启动的服务中调用函数   用于检查xml是否包含键和值的java XPath表达式   在java游戏中使用斜坡因子挥杆   Java文件:尝试使用FileWriter将结果附加到已经存在的文件中   bootclasspath Java Xbootclasspath,相对路径   java我如何让这个“怪物战斗模拟器”工作?   swing使用动作侦听器隐藏和显示java桌面应用程序