Markdown写文档最不方便的地方在于无法将图片嵌入到文档中。解决这个痛点通常的做法是将图片先上传到图床,然后引用url。我早期的博文就是这么做的。
sublime text 下babel插件好像优化不好,有一些性能问题。特别是在创建文件的时候,即便没有打开,插件也会尝试把文件树里的js类文件重新渲染一遍。因为js项目所用组件繁多,导致sublime text经常卡死。因此尝试用atom。
通常后端程序响应文件下载请求时,可以通过设定响应头和文件类型,读取文件内容加载到内容,然后在响应内容中输出文件流的方式实现。例如python
self.set_header("Content-Type", 'application/dat; charset="utf-8"')
self.set_header("Content-Disposition", "attachment; filename=%s" % filename)
self.set_status(200)
with open(File, 'r') as f:
content = f.read()
self.write(content)
return
日前在跟进一个提供ip查询的内部项目,主数据库用的ipip,在查询页面同时提供一些第三方提供查询结果,收集了部分api
git忠实记录自己提交的每一次修改,修改历史记录不是一个好习惯。不过在日常使用中,偶尔也有遇到需要修改过去提交记录的情况,比如,commit之后发现message少写了一些功能说明(如果想撤回整个commit修改,请自行搜索*git revert*哈),有时候甚至是在十几次提交之后才发现某次提交说明有误。又比如,因为某个功能比较复杂,作者想通过多次commit来记录修改以便方便回退,但是在推到项目仓库,发出合并请求的时候,意识到主仓库不需要记录太多commit时,就有了将请求合并的需求。
时间对比的错位问题
如果某个数据系列以某个时间为固定周期波动变化,我们通常会对其进行纵向的时间对比,比如某个生产服务器的带宽数据等等。
用echarts可以简单地实现多条数据系列同时显示,进行横向对比。但是在用其实现时间对比的时候遇到了麻烦,比如下图
windows物理机与linux虚拟机间可以通过共享文件的方式互传文件.vmware和vbox虚拟机软件提供了这一特性.另外,我们可以通过简单的设置进行两机之间的文件共享,从而避免了诸如安装vmvare tools这些繁琐的操作.
sublime text有很多内置的快捷键, 比如ctrl+n是新建一个标签,ctrl-f是页内搜索等等.
但是有些时候,这些快捷键的设置和我们的使用习惯格格不入.比如,sublime text有个toggle sidebar的快捷键ctrl+k,ctrl+b,用于显示/隐藏侧边栏.当开两栏编辑的时候,我想隐藏侧边栏,需要先按一次ctrl+k,再按一次ctrl+b,有没有办法让我们自定义快捷键呢?
使用tornado编程,有上传文件需求时一般有两种方案,一种是tornado自带的方法,一种是借助反向代理,比如nginx的上传模块.在业务需求简单的时候,用tornado自带的方法不失为一种高效的选择.
下面的代码实现了简单的文件上传,将上传的文件保存在配置文件规定的静态文件存放目录的子目录img下.
html5提供了新的表单类型<input type="file" />
,用于上传文件.一般我们用诸如fileinput控件独立上传文件,与表单内的其他内容分开上传.
图片标记
Echarts中markPoint用于标记特定的数据,比如地图上的描点,折线图的最值点等.第二版的Echarts支持用图片做为标记样式,例如
markPoint : {
symbol: 'image:///assets/admin/images/details.png',
itemStyle:{normal:{label:{show:true,textStyle:{fontSize:'20'}}},emphasis:{label:{show:false}}},
data : [
{name : '详情', x:'10%', y:50, symbolSize:25}
]
}
markPoint 二级元素,在series内部