记一下使用nodejs更新windows server上的代码 项目依赖 主文件代码 工具使用 注意事项 有个项目是部署在阿里云Windows Server服务器上的,每次更新都需要远程或者ssh上去更新...,比较繁琐就搞了一个nodejs工具去更新代码了 # 项目依赖 项目基于koa开发,需要安装koa-router、node-cmd package.json文件 { "name": "code_upd...nodeCmd = require('node-cmd'); router.get('/', async (ctx, next) => { await next(); ctx.body = '更新代码...cmdTxt); }); } app.use(router.routes()); app.use(router.allowedMethods()); app.listen(7000); # 工具使用...可以用pm2启动server.js,然后就可以通过请求ip:7000/upd来更新代码了 # 注意事项 可能需要在阿里云后台的安全组放行项目使用的端口,不然无法请求到服务地址
预览数据 这次我们使用 Artworks.csv ,我们选取 100 行数据来完成本次内容。...统计日期数据 我们仔细观察一下 Date 列的数据,有一些数据是年的范围(1976-1977),而不是单独的一个年份。在我们使用年份数据画图时,就不能像单独的年份那样轻易的画出来。...首先,选择要统计的列,并调用 value_counts(): df['Date'].value_counts() ? 日期数据问题 Date 列数据,除了年份是范围外,还有三种非正常格式。...接下来我们会处理上面的每一个问题,使用 Pandas 将这些不规则的数据转换为统一格式的数据。 问题一和二是有数据的只是格式上欠妥当,问题三和四实际上不是有效数据。...为了简单起见,我们就使用开始的时间来替换这样问题的数据,因为这个时间是一个四位数的数字,如果要使用结束的年份,我们还要补齐前两位的数字。 首先,我们需要找到问题一的数据,这样我们才能将其更新。
图1 2 利用peewee在Dash中整合数据库 说起peewee,很多使用过ORM(Object Relational Mapping,对象关系映射)工具的朋友都听说过,它跟SQLAlchemy等框架从功能上看都大同小异...2.1 创建数据表 利用peewee构建数据表,需要定义相应的Model类,在类中构建的属性即对应表中的字段,并且在Meta类中定义其他的一些属性,譬如下面的例子我们就以最简单的SQLite数据库为例...2.2 向表中新增记录 在数据表创建完成之后,我们第一件事当然是要向表中插入数据,这在peewee中操作非常简单: 插入单条数据 在peewee中向表中插入单条记录可以使用create()方法:...图5 2.3 从表中删除数据 对于已存在数据的表,进行数据删除可以使用到delete()方法其后再链式上where()来声明判断条件,最后同样跟上execute()方法执行即可,如果要清空整张表则不用加...2.4 对表中数据进行更新 作为增删改查中非常重要的改,在peewee中实现也是非常的方便,基础的用法是配合update()与where()如下面的例子那样: # 修改username为张三的记录值
图1 2 利用peewee在Dash中整合数据库 说起peewee,很多使用过ORM(Object Relational Mapping,对象关系映射)工具的朋友都听说过,它跟SQLAlchemy等框架从功能上看都大同小异...2.1 创建数据表 利用peewee构建数据表,需要定义相应的Model类,在类中构建的属性即对应表中的字段,并且在Meta类中定义其他的一些属性,譬如下面的例子我们就以最简单的SQLite数据库为例:...2.2 向表中新增记录 在数据表创建完成之后,我们第一件事当然是要向表中插入数据,这在peewee中操作非常简单: 「插入单条数据」 在peewee中向表中插入单条记录可以使用create()方法: #...,进行数据删除可以使用到delete()方法其后再链式上where()来声明判断条件,最后同样跟上execute()方法执行即可,如果要清空整张表则不用加where(),譬如我们要删除level小于3的记录...2.4 对表中数据进行更新 作为「增删改查」中非常重要的「改」,在peewee中实现也是非常的方便,基础的用法是配合update()与where()如下面的例子那样: # 修改username为张三的记录值
,每隔一段时间就从后台获取最新的数据,无需我们手动刷新页面,其主要的参数/属性有: n_intervals,Interval()的核心属性,所谓的自动更新实际上就是自动对n_intervals的递增过程...图4 实际上是这样的: ?...,可以帮助我们创建进行日期选择功能的部件(其实dash-core_components中也有类似功能的DatePickerRange()部件,但是太丑了,而且对中文支持的不好)。 ...使用pip install dash_datetimepicker完成安装之后,默认的部件月份和星期的名称显示都是英文的,我通过对相关的js源码略加修改之后,便可以使用中文了,大家使用的时候把本期附件中的...DashDatetimepicker()使用起来非常简单,除了id之外,我们只需要在回调中获取它的startDate与endDate属性即可捕获到用户设置的日期时间范围(在回调中我们接收到的开始结束时间需要加上
,无需我们手动刷新页面,其主要的参数/属性有: n_intervals,Interval()的核心属性,所谓的自动更新实际上就是自动对n_intervals的递增过程; interval,数值型,用于设置每隔多少毫秒对...,可以帮助我们创建进行日期选择功能的部件(其实dash-core_components中也有类似功能的DatePickerRange()部件,但是太丑了,而且对中文支持的不好)。...使用pip install dash_datetimepicker完成安装之后,默认的部件月份和星期的名称显示都是英文的,我通过对相关的js源码略加修改之后,便可以使用中文了,大家使用的时候把本期附件中的...DashDatetimepicker()使用起来非常简单,除了id之外,我们只需要在回调中获取它的startDate与endDate属性即可捕获到用户设置的日期时间范围(在回调中我们接收到的开始结束时间需要加上...()的n_intervals触发Store()的data更新,从而实现这套从数据更新到图表更新的链式反应。
,适合数据量不大的情况,将数据存储压力转移到浏览器端。 ...图2 2.1.2 后端分页 虽然前端分页简单易用,但当我们的数据很大时,强行使用前端分页会给网络传输和浏览器端带来不小的延迟和内存压力,严重影响用户体验,因此Dash贴心地为我们准备了后端分页方式。...; page_count,int型,对应显示的总页数; 我们在使用后端分页时,实际上就是通过用户当前翻到的页码,以及设定的page_size,来动态地在翻页后加载对应批次的数据,并控制显示的总页数...图5 接下来我们就以创建好的tips表为例,开发一个Dash应用,进行数据的修改和更新到数据库: ?...图6 效果非常的不错,你可以在我这个简单示例的基础上,拓展更多新功能,也可以采取后端分页+条件修改的方式来应对大型数据表的修改,全部代码如下: app4.py import dash import
表格内所有页面的数据一次性加载完成,适合数据量不大的情况,将数据存储压力转移到浏览器端。...,强行使用前端分页会给「网络传输」和「浏览器端」带来不小的延迟和内存压力,严重影响用户体验,因此Dash贴心地为我们准备了「后端分页」方式。...page_count,int型,对应显示的总页数; 我们在使用「后端分页」时,实际上就是通过用户当前翻到的页码,以及设定的page_size,来动态地在翻页后加载对应批次的数据,并控制显示的总页数,参考下面这个简单的例子...应用,进行数据的修改和更新到数据库: 图6 效果非常的不错,你可以在我这个简单示例的基础上,拓展更多新功能,也可以采取后端分页+条件修改的方式来应对大型数据表的修改,全部代码如下: ❝app4.py...dbc.Col(dbc.Button('更新数据表', id='refresh-tables', style={'width': '100%'}), width=2),
网页开发相关组件库fac和fuc分别更新到了0.2.9版本和0.1.29版本,本文就将为大家介绍它们在各自新版本中的更新内容,使用下面的命令将它们快速更新至最新版本: pip install feffery-utils-components...,可以帮助我们在使用这些组件时,为其中涉及到的搜索框功能设置不同的搜索匹配方式。 ...,因为默认情况下selectedRows的更新时机在用户进行行选择行为后的瞬间。 ...而从0.2.9版本开始,通过为AntdTable组件设置参数selectedRowsSyncWithData=True,可以实现后续data更新后,自动同步对应key值的最新行记录数据: 具体使用请参考官网示例...:https://fac.feffery.tech/AntdTable-advanced#同步刷新selectedRows 1.5 日期范围选择、时间范围选择新增open参数 新版本中,日期范围选择组件
如果喜欢快捷键,Spectacle也是不错的选择。 LightShot 截屏软件。cmd+shift+9启动截屏,可以拖动选取范围,可复制到粘贴板,也可以保存为图片。...Dash 离线文档。可以在本地方便地查询各种语言的API,同时还能搜索StackOverflow上的问答,开发必备。结合Alfred,不能更方便地查询API。 ?...dash 系统工具 CleanMyMac 电脑空间清理。...当安装的软件越来越多,电脑上方图标会越来越多,而且很杂,Bartender可以把不常用的隐藏起来,对比开启使用Bartender前后。 没有使用Bartender: ?...Wunderlist,待办事项管理 Itsycal,日期小工具 Flux,护眼小工具 Macdown,markdown编辑器 SnippetsLab,代码片段管理 SourceTree,代码查看,可以看不同版本差异
这些可视化效果可以显示在 Jupyter 笔记本中,可以保存到独立的 HTML 文件中,也可以作为纯 Python 使用。其官方文档上提供了各种图标的接口说明。 3....感兴趣的童鞋可以去 Dash 的官方文档多多了解一下。Dash 是使用纯 Python 构建高度自定义用户界面的数据可视化应用程序的理想选择。它特别适合做数据分析、数据可视化以及仪表盘或者报告展示。...可以将 Dash 应用程序部署到服务器,然后通过 URL 共享它们,不受平台和环境的限制。 4. 安装 在画图之前,我们需要装一下 Dash、plotly 相关包。...API更新图层 4) Frames 帧幅轨迹,是在Animate中用到的渲染层,即每多少帧幅动画遍历的轨迹,与traces很像,都是列表形式,使用时需要在layout的updatemenus设置帧幅间隔等等...同时通过callback函数来捕捉日期更新从而画图事件。
网页开发相关组件库fac和fuc分别更新到了0.2.8版本和0.1.28版本,本文就将为大家介绍它们在各自新版本中的更新内容。... 针对AntdDropdown和AntdUpload,细化了对其各自按钮元素进行配置的参数buttonProps,支持了额外的style和className样式自定义: 1.6 日期选择、日期范围选择组件支持默认自动时间值...更多fac相关内容欢迎电脑端访问官网:https://fac.feffery.tech/ 2 fuc 0.1.28版本更新内容介绍 因为我没怎么宣传的缘故,各位dash应用开发者们可能对fuc不是很熟悉...,其实这是我的另一个dash组件库项目,不同于fac中的网页开发场景常用控件,fuc中更多的集中了诸多辅助性质的功能组件,可以帮助我们更好的“远离javascript拥抱python”,官网地址:https...', defaultValue='I~love~dash!'
表示完整的日期和时间信息,使用起来比较方便。...ENUM类型 ---- ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。 设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。...需要注意的是,在实际工作中,往往不会在MySQL数据库中使用BLOB类型存储大对象数据,通常会将图片、音频和视频文件存储到 服务器的磁盘上 ,并将图片、音频和视频的访问路径存储到MySQL中。...① BLOB和TEXT值也会引起自己的一些问题,特别是执行了大量的删除或更新操作的时候。删除这种值会在数据表中留下很大的" 空洞 ",以后填入这些"空洞"的记录可能长度不同。...它还使你在主数据表上运行 SELECT * 查询的时候不会通过网络传输大量的BLOB或TEXT值。
varchar类型和日期类型,使用单引号把值包起来,格式如下图所示即可。)...33:(第三,and:在where里面如果有多个条件,表示多个条件同时满足,可以是范围也可以是具体的) ? 34:(第四,得到区间范围的值,注意使用AND 和BETWEEN ......(上面是在创建数据表的时候创建索引,下面介绍一下在已存在的表上创建索引) 73:在已经创建好的数据表上面创建索引如下图所示 ?...更新视图时,只能更新权限范围内的数据,超出了范围,就不能更新 插入(INSERT), ? ? 更新(UPDATE), ? ? 删除(DELETE) ? ?...当数据库系统执行这些事件时,就会激活触发器执行相应的操作 88:创建与使用触发器 创建只有一个执行语句的触发器 (过度变量new或者old,就是刚刚插入的那条数据,具体的一条数据。) ?
通用视频编码标准(VVC)超高清验证测试已完成,一致性和参考软件标准达到了第一个里程碑 在本次MPEG会议上,完成了对新的通用视频编码(VVC)标准的验证评估,该标准针对具有标准动态范围的超高清(UHD...)内容,可以在更新的流媒体和广播电视应用中使用。...此更改定义了对DASH和CMAF的内容模型的约束,以便可以有效地一起使用这两种技术。...此外,该版本将OMAF规范的应用范围扩展到了360度视频之外。...通过使用固件,操作系统或浏览器支持,LCEVC可用于补充最初设计用于仅解码基本层比特流的设备。
图1 2 dash_table的更多实用功能 2.1 更多表格交互特性 上一期文章最后我们学习了通过设置参数editable=True,使得渲染出的表格可以通过鼠标双击进行编辑,而dash_table...图2 基于后端排序的多列排序 在DataTable()中设置sort_action='native'时,对应的是按列排序的前端模式,也即是数据一次性灌注到浏览器的前提下进行排序,这种方式不仅不适合大型数据集...我们在上一期的app2.py的基础上修改得到下面的例子: app2.py import dash import dash_bootstrap_components as dbc import dash_table...2.2 自带的数据表格下载功能 dash_table还自带了将当前所渲染的表格内容直接下载为csv或xlsx格式文件的简易功能,通过参数export_format设置导出的文件格式,但自带的下载按钮样式比较丑...app.layout = dbc.Container( [ dbc.Row( [ dbc.Col(dbc.Button('更新数据表
图1 2 dash_table的更多实用功能 2.1 更多表格交互特性 上一期文章最后我们学习了通过设置参数editable=True,使得渲染出的表格可以通过鼠标双击进行编辑,而dash_table除此之外...」 在DataTable()中设置sort_action='native'时,对应的是「按列排序」的前端模式,也即是数据一次性灌注到浏览器的前提下进行排序,这种方式不仅不适合大型数据集,而且只支持「单列排序...我们在上一期的app2.py的基础上修改得到下面的例子: ❝app2.py ❞ import dash import dash_bootstrap_components as dbc import dash_table...2.2 自带的数据表格下载功能 dash_table还自带了将当前所渲染的表格内容直接下载为csv或xlsx格式文件的简易功能,通过参数export_format设置导出的文件格式,但自带的下载按钮样式比较丑...app.layout = dbc.Container( [ dbc.Row( [ dbc.Col(dbc.Button('更新数据表
如今MPEG-DASH在Android上已经可原生使用,各品牌电视机皆已支持,如三星智能电视2012+、LG智能电视2012+、索尼电视2012+等等。...minimumUpdatePeriod(MPD最低限度更新时间):告诉播放器MPD内容更新间隔,播放器会根据此值来控制MPD轮询更新时间,其值过大会导致内容更新不及时导致卡顿。...当播放器根据分片下载耗时判断网络变好/变差时,会选取更高/更低的码率进行播放,并且重新下载其init分片。...低码率优先 大部分播放器默认是选取Manifest文件(MPD)排在第一位的视频流,如果多码率的视频流的码率从高到低排序,则会导致播放器默认选取最高码率的流进行播放。...DASH协议支持,在使用上更符合海外用户的习惯。
mysql和sqlite的区别 mysql是web世界中使用最广泛的数据库服务器。mysql是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。...mysql数据表管理 创建数据表使用create table语句,语法格式如下。...函数来选取一个数据库: 选择数据库 <?...,其取值范围为0到255,当保存char值时,在右边填充空格以达到指定的长度。...enum enum表示枚举类型,它的取值范围需要在创建表时通过枚举方式显式制定。enum是忽略大小写的。enum只允许从值集合中选取单个值,不能一次选取多个值。
使用 CURRENT_DATE() 或者 NOW() 函数,会插入当前系统的日期。 举例: 创建数据表,表中只包含一个DATE类型的字段f1。...因为这个数据类型包括了完整的日期和时间信息,取值范围也最大,使用起来比较方便。毕竟,如果日期时间信息分散在好几个字段,很不容易记,而且查询的时候,SQL 语句也会更加复杂。...8.ENUM类型 ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。...① BLOB和TEXT值也会引起自己的一些问题,特别是执行了大量的删除或更新操作的时候。删除这种值会在数据表中留下很大的” 空洞 “,以后填入这些”空洞”的记录可能长度不同。...它还使你在主数据表上运行 SELECT * 查询的时候不会通过网络传输大量的BLOB或TEXT值。
领取专属 10元无门槛券
手把手带您无忧上云