ScalaPie's Blog

以梦为马 诗酒趁年华

由归纳演绎法向工作思维方式漫谈开去

————决定你能走多远的,永远是你的思维方式

最近在钻研函数式编程(Functional Programming),可以说是对我的思维方式和对事物的看法产生了很大的影响。函数式编程将编程理解为纯函数式操作,将世界解构为操作对象和操作符(输入、输出和函数),它的设计理念从最开始就是将事物从最开始进行原子化解剖,用函数来连接原子进行操作,然后将这些原子一层层累加,最后筑成自己想要的高楼大厦。一个形象的说法是,面向对象(Object Oriente

从零开始部署个人网站上线之2

————jekyll + Hux Blog Theme + Tomcat

5. 在本地电脑和服务器间传输数据/文件 关于在服务器和本地之间传输数据或文件,网上资料很多,比如借助第三方软件等。这里介绍的方法不使用软件,而是直接使用 来实现连接和传输。 如果需要将文件传输到指定文件夹下,可以先用命令 并输入密码来远程登录服务器,并使用 来创建目标文件夹。 5.1 使用 来传输单个文件(本地上传到服务器) 语法为 也就是 的模式,将文件传输至服务器目录下,例如: 5.2 使用

从零开始部署个人网站上线之1

————jekyll + Hux Blog Theme + Tomcat

本文旨在从零开始手把手教你部署个人博客网站,即使你没有任何技术背景。因为是部署博客网站,那么目的是方便自己写博文,技术实现手段上越简单越好,尽可能的使用现成的技术框架。这里使用的是 来部署,接下来会引导你一步一步从零开始,直到能打开自己的网站为止。 <!-- 基本的部署流程可以概括为: --> 1. 购买阿里云ESC服务器 这个比较简单,就是百度搜阿里云然后打开官网首页,产品-云服务ESC点击进

Python Dash十讲之10 - 数据缓存及信号发送

————flask cache & redis

上面(第9讲)提到的解决方案可以更进一步: 将需要进行复杂计算的数据缓存起来(比如一个下拉框有多个选项,每个下拉框对应着一个复杂图形和数据IO,如果重复选择下拉框来控制图形变化,会涉及到重复IO和数据计算) 只要每个图形被加载过一次,那么不同用户打开同样的内容不需要再进行二次计算,直接读取缓存即可;这样任何需要重复加载的内容只要首次加载后,在此加载的速度均会显著提升 基本缓存流程为: 代码示例如下

Python Dash十讲之9 - 元素间数据交换

————用hidden div来存储中间数据

设想如下1个需求: 从数据库读取数据,数据量较大;然后将数据以Excel表格形式呈现在网页上 数据表格可下载原始数据 将其中部分数据或者全部数据以可视化图形方式呈现在网页上,需要呈现多个图形 要求所有图形和表格按照一定频率定时自动刷新,下载的原始数据也必须是最新的数据 需求分析:因为需要定时刷新,所以需要用到上面讲的监听 来实现(如果不监听 元素的 属性的话,那么读取数据并存为变量,只会在app启

Python Dash十讲之8 - 多页DASH APP

————页面间切换跳转、工程结构、代码示例

上面提到的APP都是单一页面的,即不存在页面之间的跳转,下面看一下多个页面的APP是如何实现的。 多页面APP的实现原理 dash app的页面间切换,其实可以理解为文件路径的切换 一个 文件为一个页面,每个 文件有自己独立的内容 通过回调函数,将文件的 url 地址作为输入,将文件的内容(layout)作为输出,即可实现页面跳转 多页面APP的文件结构 文件内代码放置app的实例,以及和app相

Python Dash十讲之7 - 实时刷新页面元素

————控制页面元素刷新频率

dash app的实时刷新功能主要依赖于 , 将 元素作为回调函数的输入,需要实时刷新的元素的相关属性值作为输出,通过监听 元素的 属性从而实现APP的动态自动更新。 元素的 属性可以控制刷新频率,该属性单位为毫秒,取整数值。例如需要APP每分钟刷新一次,可以设置 。 下面为一个每一分钟读取远程数据并提供数据下载功能的APP代码示例: import dash import pandas as pd

Python Dash十讲之6 - 在DASH APP中添加静态元素

————添加.html/.png等格式静态文件

在dash app中添加静态元素非常简单——将静态元素放在某个目录下并引入dash app中即可。 一般来说,需要在 所在文件夹中新建一个文件夹命名为 ,也就是说 文件和 文件夹在同一目录下(前面dash元素排版中已经提到过, 文件也在此文件夹下)。当然,也可以遵从自己的个人喜好建立一个文件夹,然后在dash app代码中引入文件的绝对路径即可。 引入html文件或图片文件示例如下: import

Python Dash十讲之5 - 交互式表格dash_table.DataTable

————排序、筛选、单元格控制

是dash中近来发布的独立的表格元素,功能极其强悍。上面提到的 中的table可以理解为是一种图形,而 是纯天然的html表格,由 、 组成,可以对表格的单元格、元素等实现高度控制,因而能够实现更为复杂的表格格式和交互式体验。 可以实现的功能如下: 表头/表标题格式控制/多行表头 单元格格式控制:对齐、颜色、背景色、按照条件格式着色、缩进、按行控制格式、按列控制格式等 可编辑表格 数据排序 数据筛

Python Dash十讲之4 — Dash交互式图表

————回调函数、Input、Output

所谓交互式是指,用户对APP施加行为能够影响或改变APP的外观或内容,行为能够得到反馈。比如,鼠标hover时候数据闪现、点击按钮生成新的数据和图表等,都属于交互。 dash中实现交互的逻辑非常简单,即调用回调函数 ,在回调函数中 为被施加行为的元素, 为被影响的元素,也就是说Input是因,Output是果,对Input传入的值一番操作后,将值(回调函数返回值)传给Output进行输出。同一个元