根据html代码生成word文件

需求是前端传css和body过来,后端通过字符串拼接将数据拼成html的字符串,然后需要将这个html字符串转换为word的doc文件,并交由前端进行下载。下载方式为手机(通常是微信)扫描二维码,访问后台API或者是文件的物理路径实现下载。

首先尝试的是通过POI的方式,将html转成doc,然后返回给前端一个流,实现下载功能。

继续阅读“根据html代码生成word文件”

如何摆脱工具类

无论是进行代码review还是紧急编码调整,你总会发现:你又搞出了一个帮助类(helper class)。代码运行一切正常,进度又必须跟上,发布任务一个接一个,因此那个帮助类逐渐变成了一个提供了很多静态(static)方法的“怪兽类”(monster class),在它的utils包内不受控制地增长。utils包长久以来就是一个技术争议的荒蛮之地,面向对象设计理念连半步都不敢踏入。“工具类是功能集中,并且逻辑毫不重复(Do not repeat yourself)” 一些开发人员会这样喊道 ,通常就是他们编写了这些工具类。因为所有都是静态的,所以它很快 - 团队里面的另外一些人这样说,也许就是是添加另外一些静态方法的人。它很容易使用,我们使这些代码很简洁 — 你可以在这个空间内听到这样的言论,但这又是另外一个对KISS的误解了。

继续阅读“如何摆脱工具类”

火星漫游车问题

一队机器人漫游车将被美国宇航局降落在火星高原上。漫游车将在这个奇怪的长方形高原上巡游,以便他们的机载摄像头可以获得周围地形的完整视图,并将其发送回地球。漫游者的坐标和位置由x和y坐标的组合以及代表四个方向(E, S, W, N)的字母表示。高原划分为网格以简化导航。比如位置0,0,N,表示漫游车位于左下角并面向北。为了控制漫游车,美国宇航局发送一串简单的字母。指令字母是’L’,’R’和’M’。 ‘L’和’R’使漫游车分别向左或向右旋转90度,而不会从当前地点移动。 ‘M’表示前进一个网格点,并保持相同的方向。

继续阅读“火星漫游车问题”

centos7下搭建ffmpeg+nginx

今天研究了在centos7下搭建ffmpeg和nginx 做一个备忘


ffmpeg官方搭建引导

https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

Get the Dependencies

Get the dependencies. These are required for compiling, but you can remove them when you are done if you prefer (except make; it should be installed by default and many things depend on it).

继续阅读“centos7下搭建ffmpeg+nginx”