- 博客(99)
- 收藏
- 关注
原创 WORD文档转换成HTML
背景最近接到一个需求,将word文档,转换成网页中能直接使用的帮助文档。网上有很多的工具可以将WORD(.docx)文档转成HTML文件,最简单的方式就是文件另存为 .html 的文件。直接另存为存在以下缺陷:冗余信息过多,部分需要手动处理;不能进修拓展操作(例如:重新配置样式主题;不能进行导航配置);图片资源文件的额外处理解决思路有很多开源的工具可以处理word文档,支持各种语言,本文使用 Node.js(身为前端当然的啦)来解决。为了增加前端展示时的灵活性,基本思路就是:.docx
2021-04-22 17:52:04
2563
原创 GeoServer macOS环境从零开始搭建
虽然官方有安装教程,做一个笔记记录1.环境安装;需要环境 Java8 (JDK 1.8.*)2.下载GeoServer;GeoServer mac 环境下在了 Binary;3. 安装运行解压后目录如下:NOTICE.md VERSION.txt etc logs start.iniREADME.txt bin lib modules start.jarRUNNING.txt data_dir license
2021-01-27 16:24:43
1628
原创 webpack动态多页配置
首先本文是基于webpack5 配置一般但也配置一般webpack 配置中,单页应用需要 一个 entry和一个 output一般多页配置entry部分:需要有多个 enter 配置;output部分:相应的需要 output 配置;html部分:多页应用需要 使用tml-webpack-plugin具体参考如下:{ entry: { a: "a.js", b: "b.js" }, output: { // webpack 如何输出结果的相关选项 path: p
2021-01-10 11:16:21
368
原创 web换肤功能多主题/配色样式决方案
前言:web主题切换算是一个常规需求,我趁这公司有该需求的情况下,做一个整理,后续会给出各种具体实现方案/方式解决方案(一)服务端渲染时加载不同的资源;(二)客户端动态加载不同的css资源;(三)客户端样式 根节点dom, class 名,动态切换;(四)客户端js 处理css 样式进行 style 重写;(五) css variable(一)服务端渲染编译多套css 主题,通过cookie 等的方式在服务端动态加载主题 css优点:相较于客户端动态切换,重新加载的方式,不.
2020-11-08 21:23:16
777
1
原创 Emscripten 编译器(emcc) 命令总结
Emscripten 编译器(emcc) 命令总结emsdk 相关命令命令参数说明备注emsdk帮助详情emsdk helphelp帮助详情emsdk --help–help帮助详情emsdk list [–old][–uses]–old --usesc 查询 Emscripten SDK 和 工具 列表1.–old 返回所有版...
2020-03-30 10:03:11
3046
原创 WebAssembly安装环境配置
安装安装环境Mac OS Xmac 下默认有git python(2.7.x);只需要安装cmakecmake安装cmake 安装可以使用1.brew 2.安装包下载地址安装完后打开应用Tools >> Tools–>How to install Fow Command Line Use可以看见相关提示三种路径配置方法在.bash_profile 添加 PAT...
2019-12-24 15:40:12
1875
原创 mongodb.conf配置文件
本文基于MongoDB 4.2配置文件mongod.conf或mongos.confsystemLogsystemLog: verbosity: <int> quiet: <boolean> traceAllExceptions: <boolean> syslogFacility: <string> path: &...
2019-12-05 18:01:15
1856
原创 vue h5分享"微信节日头像合成”
9月24日,微信头像合成爆红,公司为了趁热点,也要做一个类似的功能,于是利用canvas也做了一个 ,其实很简单直接上代码
2019-10-15 13:27:01
739
原创 小米手机浏览器的input、textarea底被遮挡
问题描述在部分小米的手机浏览器中,input/textarea 聚焦后,弹出输入键盘,会遮挡页面底部input元素显示;一般来说,最简单的处理方案在最外层加一个margin-bottom,就不会音响正常使用,但因项目需要一屏幕展示 或者底部刚好有重要元素fixed, 就会音响正常使用.最近刚好遇到,因为项目需要类聊天会话页面,采用flex布局;input正好在底部.问题分析因为各家厂商浏...
2019-10-12 18:09:21
2110
6
原创 Taro 小程序 使用
简介各个平台的小程序 如雨后春笋,疯狂的折磨前端,最近做百度小程序,出于复用性考虑最终选择的Taro ,官方是这么骗你入坑的:使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码是引用是不是立马就觉得是神器,相信你就太天真了,由于是用Taro 主要是做 小程...
2019-04-03 17:13:18
962
原创 安卓模拟器 Genymotion 使用过程中遇到的一些问题
ARM 无法安装添加 ARM 架构,Genymotion 默认采用 X86 架构的 CPU,并且不能修改。这样的话,我们无法安装一些含有支持 ARM CPU 第三方库的应用,Genymotion 会弹出错误提示:解决办法如下:ARM_Translation_Marshmallow => Android 6.0的模拟器 ARM_Translation_Lollipop =>...
2018-08-28 14:44:25
922
转载 详解python的super()的作用和原理
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this,比如:C#),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递。今天我们介绍的主角是super(), 在类的继承里面super()非常常用, 它解决了子类调用父类方法的一些问题, 父类多次被调用时只执行一次, 优化了执行逻辑,下面我们就来详细看一下。举一个例子:class F...
2018-07-20 18:03:16
1081
转载 python中的MRO与多继承
相关概念:MRO:Method Resolution Order,即方法解析顺序,是python中用于处理二义性问题的算法二义性:python支持多继承,多继承的语言往往会遇到以下两类二义性的问题:有两个基类A和B,A和B都定义了方法f(),C继承A和B,那么调用C的f()方法时会出现不确定。 有一个基类A,定义了方法f(),B类和C类继承了A类(的f()方法),D类继承了B和C...
2018-07-20 18:02:46
308
原创 vue template 中 slot-scope/scope 的使用
在vue 2.5.0+ 中slot-scope替代了 scope template 的使用情形为,我们已经封装好一个组建,预留了插槽,使用 的插槽首先 我们的创建一个组建 组建很简单有一个 slot,slot有两个属性 a=123,b=msg&amp;lt;template&amp;gt; &amp;lt;div&amp;gt; &amp;lt;div&amp;gt;下面是一个
2018-06-05 18:41:16
132224
4
原创 Mongodb 模仿事务
背景数据库事务四要素:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 虽然Mongodb 4.0 已经支持事务,但是之前的版本并不支持;由于Mngodb的特性不允许多文档原子事务,为了有效避免该问题,就需要采取有效的方法替代。(mongodb 4.0的文档现在还在更新中,对4.0性能、灵活表示忧虑) ...
2018-05-22 17:59:58
855
原创 Mongodb 聚合命令
aggregation 命令 除了已经介绍过的 aggregate mapReduce 还有 count 、 distinct、group;在大多数情况下这三个已经被聚合框架取代了, 操作 意义 实例 备注 count 返回文档数量 db.c.count({})runCommand({ count: collection or view,query: document
2018-05-03 14:14:01
298
原创 Mongodb MapReduce
MapReduce 在问题过于复杂,aggregate 无法表达的时候,可以使用MapReduce ;MapReduce 使用 JavaScript ,可以表达处理复杂的逻辑,但是速度较慢,不适用于实时的数据分析 mapReduce 流程图 该图是官网截图,显示的简单流程使用runCommand:db.runCommand( {
2018-05-03 10:39:17
173
原创 Mongodb Aggregation
聚合 聚合操作处理数据记录并返回计算结果。聚合操作组将来自多个文档的值组合在一起,并且可以对分组数据执行各种操作以返回单个结果。聚合的三种方法:the aggregation pipeline, the map-reduce function, the single purpose aggregation methods管道Aggregation Pipeline Stages: 操作
2018-04-28 17:48:56
521
原创 GridFS 存储文件
GridFS 是Mongo 的一种存储机制,用来存储大型二进制文件。 1. GridFS是用于存储和检索超过16MB的BSON文档大小限制的文件的解决方案。 2.GridFS是MongoDB用来存储大型二进制文件的一种存储机制。 3.GridFS 不是将文件存储在单个文档中,而是将文件分为块,并将每个块作为单独的文档存储,默认情况下,GridFS使用的块大小为256kb。 4
2018-04-27 18:11:38
2625
原创 MongoDB 2dsphere and 2d
Mongo 支持 地理空间索引 和 2d 索引2dsphere 2dsphere 支持 GeoJSON格式 GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合 相关链接:开源中国 GeoJSON ,Mongodb GeoJSON常使用的点、线、面 如下:{ type: "Point", coordinates: [ 40, 5 ] }{ type: "Lin
2018-04-26 18:17:49
2672
转载 Mongodb 全文搜索
有时候需要对字段里面的字符串进行索引,比如查找评论,搜索引擎等需求。全文搜索2.4以后默认开启,还在用以前版本的请自行百度Google开启全文搜索。全文索引的建立比较慢,实操中需要等服务器闲时或者离线进行(否则会阻塞读写,当然也可以放在后台运行)。使用现在tesla集合有几条歌词文档数据如下:{ "_id" : ObjectId("5a5b56b80f12feec77a93a86"), "song...
2018-04-26 14:35:13
1398
原创 Mongobd 索引
意义 索引可以 高效的提高 查询速度,但是会增加 其他操作(insert/update/delete ) 的消耗时间,因为数据发变动时,不仅要更新文档,还要更新集合伤的所有索引 所有的MongoDB集合默认都有一个唯一索引在字段“_id”上,如果应用程序没有为 “_id”列定义一个值,MongoDB将创建一个带有ObjectId值的列。(ObjectId是基于 时间、计算机ID、进程I
2018-04-25 14:28:20
203
原创 Mongodb 查询
基本方法 操作 方法 实例 备注 读取匹配文档 find/findOne db.c.findOne() 读取匹配的第一个文档 findOne db.c.findOne() 拓展查询 操作 方法 实例 备注 指定需要返回的键/值 find/findOne({},{‘key’:1})) find/findOne 第二个参数
2018-04-18 18:30:24
541
原创 Mongodb update 修改器
修改器(update modifier) 通常文档只需要有一部分要更新 更新修改 键名 实例 说明 备注 $set db.c.update({},{“$set”:{“key”:”newString”}}) 修改值,键没有则创建 可以修改键值的类型 $inc db.c.update({},{“$inc”:{“key”:1}}) 修改增加/减少已有键的值
2018-04-16 18:20:54
221
原创 MongoDB shell
shell 链接数据库使用 mongo启动shell,指定主机名,端口,数据库;缺省时默认本地test数据库mongo localhost:27017/admin通过 –nodb启动 不会连接数据库 进入shell后 通过new Mongo 可以连接到mongodb$ mongo --nodbMongoDB shell version v3.4.4> com =new Mongo('local
2018-04-04 17:37:31
273
原创 Mongobd 基础知识
文档文档是键值对的一个有序集合文档的键是字符串 – 键不能含有 \0(空字节);用于表示键的结尾 – . 和$ 具有特殊意义,在特点环境下使用 ,默认被保留 区分大小写,区分类型 – {“test”:6,”test”:”6”,”Test”:6} 是不同的文档中的键/值对是有序的 – {‘x’:1,’y’:2}与{‘y’:2,’x’:1}是不同的 集合
2018-04-03 18:03:44
387
转载 JavaScript 之 ArrayBuffer 转载存档
JavaScript 之 ArrayBufferJS里的ArrayBuffer还记得某个晚上在做 canvas 像素级操作,发现存储像素的数据格式并不是Array类型,而是ArrayBuffer,心想这是什么鬼?后来查了一些资料,发现自己这半年来的JS是白学了,竟然才知道还有这么个东东。首先,这个 ArrayBuffer 类型化数组,类型化数组是JavaSc
2018-03-19 09:51:27
1158
原创 Electron 开始
因公司发展需要,“可能需要“桌面应用,所以只能默默先了解一下当前学习版本 Electron v1.8.3背景知识Electron是由Github开发,主要竞争nw.js;然而nw和electron 出自同一个人之手。与nw.js的主要差异1. 程序的入口在NW.js中,应用的主入口是网页或者JS脚本。 你需要在package.json中指定一个html或者js文件,一旦应用的主窗口(在html作为主
2018-03-13 16:21:43
1601
原创 React Native 开发调试问题
问题描述 react-native run-android ,模拟器正常运行 真机华为,出现异常com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallExceptionFAILURE: Build failed with an exception.* What went wrong:Tas
2018-01-05 16:39:30
842
转载 html-webpack-plugin详解
html-webpack-plugin详解引言最近在react项目中初次用到了html-webapck-plugin插件,用到该插件的两个主要作用:为html文件中引入的外部资源如script、link动态添加每次compile后的hash,防止引用缓存的外部文件问题可以生成创建html入口文件,比如单页面可以生成一个html文件入口,配置N个htm
2017-12-18 09:53:45
1245
原创 canvas 小技巧
1.开启禁用 阴影效果 canvas规范 绘制阴影条件指定了一个非全透明的 shadowColorshadowBulr、shadowOffsetX、shadowOffsetY之中,至少有一个属性不为零2.Canvas图层的概念以及save()和restore() 对当前canvas的状态进行保存,其实Canvas为 我们提供了图层(Layer)的支持,而这些Layer(图层)是按”栈结构
2017-12-08 15:37:52
377
转载 http://www.cnblogs.com/coco1s/p/4833199.html
理解JS中的call、apply、bind方法(*****************************************************************)在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。call、apply、bind方法的共同点和区别:
2017-12-06 11:35:03
412
转载 react-native 屏幕尺寸和文字大小适配
转载存档现在的手机品牌和型号越来越多,导致我们平时写布局的时候会在个不同的移动设备上显示的效果不同,比如我们的设计稿一个View的大小是300px,如果直接写300px,可能在当前设备显示正常,但到了其他设备可能就会偏小或者偏大,这就需要我们对屏幕进行适配。安卓原生的话有自己的适配规则,可以根据不同的尺寸建立不同的文件夹,系统会根据当前的设备尺寸取对应的大小的布局。而RN本
2017-10-30 15:01:30
2163
原创 react-native 布局
1.flexboxReact Native中的Flexbox的工作原理和web上的CSS基本一致,有部分不同根级不用写 display:flex(直接flex:number)flexDirection 的默认值是 column (web css 为row)flex 只能指定一个值不支持属性:align-content,flex-basis,order,flex-basis,flex-flow
2017-10-30 15:00:17
310
原创 e2e 模拟用户行为的测试
nightwatch.jsNightwatch.js是一种易于使用的基于浏览器的应用程序和网站的基于Node.js的端到端(E2E)测试解决方案。它使用强大的W3C WebDriver API来对DOM元素执行命令和断言。需要安装的npm包selenium-server:webdriver测试服务器的nodejs搭建 nightwatch:对selenium-server的包装,简化其配置 ch
2017-10-24 16:20:38
4899
原创 Mocha 使用实例
MochaMocha 是JavaScript 测试框架之一 使用环境 浏览器和 Node环境1.基本测试脚本通常,测试脚本 以同名的 .test.js 或者 .spec.js来命名 实例如下://本文件名 app.spec.jsvar app = require('app.js');var expect = require('chai').expect;describe('test ap
2017-10-23 11:13:19
553
原创 karma 基础配置
1. karma.conf.js配置文件module.exports = function(config){ config.set({ //基础路径:表示karma从哪个位置开始找文件 basePath:'', //测试环境 browsers:true, //框架 jasmine mocha都可以 f
2017-10-19 18:27:29
1171
转载 APK签名之keytool生成keystore和jarsigner签名apk
http://www.tttabc.com/android/keytool-keystore-jarsigner-apk.htmAPK签名之keytool生成keystore和jarsigner签名apkandroid程序的签名和Symbian类似都可以自签名(Self-signed),但是在android平台中证书初期还显得形同虚设,平时开发时通过ADB接口上
2017-10-10 11:38:12
1502
原创 MongoDB基本命令用
mongodb 启动##启动命令: 1. service mongod start 2. chkconfig mongod on 3. mongod -f ./etc/mongod.conf ##关闭 1. service mongod stop 强制关闭MongoDB 2. 从MongoDB的admin中关闭 ··· use admin switched to
2017-08-02 09:58:15
269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人