月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

webpack

发表于 2019-05-29 | 分类于 web
简介 webpack中文网 webpack Chunk:webpack打包的过程种,生成的JS文件,每一个JS文件我们都把它叫做Chunk。如main.js的chunk Name是main chunks默认值是async,异步代码才进行分割;如果我们想同步和异步的都进行代码分割,需要改为all 配置webpack.config.js123456789101112131415161718192021222324const path = require('path');module.exports = { mode: 'development', // JavaScript 执行入口文件 entry: './src/main.js', // webpack打包后的输出配置 output: { // 把所有依赖的模块合并输出到一个 bundle.js 文件 filename: 'bundle.js', // 输出文件都放到 dist 目录下 path: path.resolve(__dirname, './dist'), // 默认webpack打包出来的js无法被其他模块引用。设置此参数后,入口模块返回的 module.exports 设置到环境中 ...
阅读全文 »

微服务组件

发表于 2019-05-28 | 分类于 arch
微服务基本介绍 架构演进 单体架构:复杂度逐渐变高、部署速度慢、阻碍技术创新、无法按需伸缩 SOA(Service Oriented Architecture) ^1 面向服务的架构,他是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能,各个服务之间通过网络调用 SOA中的ESB(企业服务总线),简单 来说 ESB 就是一根管道,用来连接各个服务节点。为了集成不同系统,不同协议的服务,ESB 做了消息的转化解释和路由工作,让不同的服务互联互通 微服务(架构选型说明见下文) 其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一个重点是”业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成 微服务特点 微服务可独立运行在自己的进程里 一系列独立运行的微服务构成整个系统 每个服务独立开发维护 微服务之间通过REST API或RPC等方式通信 去中心化:每个微服务有自己私有的数据库持久化业务数据;每个微服务只能访问自己的数据库,而不能访问其它服务的数据库;某些业务场景下,需要在一个事务中更新多个数据库。这种情况也不能直接访问其它微服务的数据库,而是通过对于微服务进行操作 优点:易于开发和维护,启动快,技术栈不受限制,按需伸缩,DevOps 挑战: 最终 ...
阅读全文 »

ELK

发表于 2019-05-26 | 分类于 bigdata
ELK简介 官网、官方中文文档、docs ELK平台主要有由ElasticSearch、Logstash和Kiabana三个开源免费工具组成 Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等 Logstash 可以对日志进行收集、过滤,并将其存储供以后使用 Kibana Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志 elasticsearch-curator,主要用于管理elasticsearch索引和快照 Curator是有python开发的,之后被elasticsearch合并 Elasticsearch Elasticsearch文档 基础概念 Lucence:一个Jar包,主要用做分词。其集群实现较难维护 ES的正排索引和倒排索引 正排索引是从文档到关键字的映射(已知文档求关键字:doc_id, terms),倒排索引是从关键字到文档的映射(已知关键字求文档:term, doc_ids) 二者都是在索引创建的时候生成的,会保存在磁盘,如果内存足够大也会保存在内存中 倒排索引以字词为关键字进行索引,可查询到这个字词的所有文档,它记录该文档的ID和字符在 ...
阅读全文 »

FTP

发表于 2019-03-19 | 分类于 devops
FTP简介 ftp/sftp是协议 vsftpd/pure-ftpd是ftp服务器(只支持ftp协议) xftp/ftp(yum install ftp)是ftp客户端 sftp localhost 输入密码后登录ftp exit退出(无需安装vsftp,一般服务器都默认支持,相当于windows用xftp以sftp形式登录ftp服务器) FTP客户端 xftp(仅支持Window) WinSCP(仅支持Window) 官网 支持脚本化操作. 有时候Windows的ftp命令不行可考虑使用此脚本123456789101112131415161718192021@echo offset FTP_HOST=192.168.1.100set FTP_PORT=211set FTP_USER=administratorset FTP_PASSWORD=111111set FTP_REMOTE_PATH=/set LOCAL_PATH=D:\test\*set UPLOAD_PATH=D:\test\demo.txtset REMOTE_UPLOAD_PATH=/testREM 使用WinSCP软件连接FTP服务器,先"put" 命令上传指定路径文件后,再 "get" 命令,下载 FTP 服务器根目录的所有文件,同时将日志记录到指定文件中 (echo option batch abo ...
阅读全文 »

并发编程

发表于 2018-12-05 | 分类于 java
简介 Java 的并行 API 演变历程 1.0-1.4 中的 java.lang.Thread 5.0 中的 java.util.concurrent(JUC) 6.0 中的 Phasers 等 7.0 中的 Fork/Join 框架 8.0 中的 Lambda(如Stream) https://www.cnblogs.com/dolphin0520/category/1426288.html 源码阅读技巧 跑不起来不读 解决问题即可 理解别人的思路 一条线索到底 无关细节略过 一般不读静态 数据结构基础,设计模式基础 串行、并发、并行 串行是完成了A任务之后才能开始B任务 并发的关键是你有处理多个任务的能力,不一定要同时 并行的关键是你有同时处理多个任务的能力 多线程与高并发 https://github.com/bjmashibing/JUC 线程基础线程基础 创建线程 new (T1 extends Thread).start() new Thread(new MyRunnable()).start(),或者JDK8:new Thread(()->{…}).start(); 线程的相关方法(sleep/yield/join) Thread.sleep() ^4 sleep是Thread类的本地final方法,无法被重写 sleep和wait都会暂 ...
阅读全文 »

access

发表于 2018-11-20 | 分类于 db
access数据简介 Access 2000-2003文件格式*.mdb,数据加密容易被破解 Access > 2007文件格式为*.accdb 特殊语法 仅查询10条数据:select top 10 * from my_table order by id java连接(基于springboot)基于UcanAccess驱动连接 参考项目:https://github.com/oldinaction/springboot/tree/master/z-exe4j-accessdb 官网 内部基于HSQLDB实现。无需ODBC支持 缺点 UcanAccess默认是(memory=true),将先access数据加载到内存,以HSQLDB形式保存在内存。当数据文件较大时,需要设置JVM参数调整堆内存(350M的access测试时需要1G堆内存)。 可以通过设置memory=false,并设置keepmirror,即将access数据以HSQLDB形式保存到硬盘,这种情况下次连接可以继续使用。但是第一次解析非常慢(5-10分钟),而且解析时也需要耗费一定的内存(400M堆内存左右),并且不支持有密码的access数据文件 mirrorFolder:当memory=falses时,生成的数据文件保存路径,会在此路径生成一个类似Ucanaccess_net.ucanaccess. ...
阅读全文 »

C#

发表于 2018-11-19 | 分类于 lang
简介 .NET Microsoft Docs、.NET Docs .NET Download .NET、C#、ASP.NET ^1 微软在2002年推出了Visual Studio .NET 1.0版本的开发者平台。微软还在2002年宣布推出一个特性强大并且与.NET平台无缝集成的编程语言,即C# 1.0正式版 C#(C sharp)就是为宣传.NET而创立的,它直接集成于Visual Studio .NET中,VB也在.NET 1.0发布后对其进行支持。只要是.NET支持的编程语言,开发者就可以通过.NET平台提供的工具服务和框架支持便捷的开发应用程序 跨语言:即只要是面向.NET平台的编程语言(C#、Visual Basic、C++/CLI、Eiffel、F#、IronPython、IronRuby、PowerBuilder、Visual COBOL 以及 Windows PowerShell),用其中一种语言编写的类型可以无缝地用在另一种语言编写的应用程序中的互操作性 .NET 实现包括 .NET Framework、.NET Core 和 Mono。 .NET 的所有实现都有一个名为 .NET Standard 的通用 API 规范。版本对应 .NET Core 是 .NET 的跨平台实现,可在 Windows、macOS 和 Linux 上运行。JAVA和.NET不同 ...
阅读全文 »

nwjs

发表于 2018-11-18 | 分类于 web
介绍 官网。其他教程:https://nwjs.org.cn/ 、 https://wizardforcel.gitbooks.io/nwjs-doc/content/wiki/index.html NW.js,之前为node-webkit,是一个结合了 Chromium 和 node.js 的应用运行时,通过它可以用 HTML 和 JavaScript 编写原生应用程序。可基于html、css、js写桌面系统。打包后可运行的环境包括32位和64位的Window(windows xp及以上)、Linux和Mac OS 建议下载SDK,开发时才可进行debug,nwjs-sdk-v0.34.4-win-x64.zip下载。支持windows xp最终版本为v0.14.7。下载完成后解压SDK,可将SDK目录加入到path环境变量中,从此可直接执行nw 可使用nw-builder进行打包。打包后大概200M,再压成安装包大概80M 相同的框架如Electron 案例helloworld package.json 1234{ "name": "helloworld", "main": "index.html"} index.html 12345678910111213141516171819202122232425262728293031323334353 ...
阅读全文 »

加密解密

发表于 2018-10-23 | 分类于 linux
算法名称 AES、DES 对称加密算法(密文可通过秘钥还原成原始数据) RSA、DSA、ECC 非对称加密 CRC32、MD5、SHA1 摘要算法(加签) CRC32 Cyclic Redundancy Check,又称循环冗余校验,类似还有CRC64(出现碰撞的概率小),常用于校验网络上传输的文件 MD5 Message-Digest Algorithm 5,又叫摘要算法和哈希算法 SHA1 Secure Hash Algorithm,又叫安全散列算法 区别 CRC的计算效率很高;MD5和SHA1比较慢 CRC一般用作通信数据的校验(毕竟效率高适用于通信数据校验)或数据库索引;MD5和SHA1用于安全(Security)领域,比如文件校验、数字签名等 加密相关的概念 对称加密 这是加密文件常用的方式,加密的时候输入一个密码,解密的时候也用这个密码,加密和解密都用同一个密码,所以叫对称加密。常见的算法有AES、3DES 非对称加密 非对称加密有两个不一样的密码,一个叫私钥,另一个叫公钥,用其中一个加密的数据只能用另一个密码解开,用自己的都解不了,也就是说用公钥加密的数据只能由私钥解开,反之亦然 私钥一般自己保存,而公钥是公开的,同等加密强度下,非对称加密算法的速度比不上对称加密算法的速度,所以非对称加密一般用于数字签名和密码(对称加密算法的密码)的交换。常见的算法有R ...
阅读全文 »

Jenkins

发表于 2018-10-09 | 分类于 devops
简介 jenkins Jenkins CI,用Jenkins来进行持续集成,需要自己架设服务器 Travis CI是在线托管的CI服务,用Travis来进行持续集成,不需要自己搭服务器,使用方便,对开源项目是免费的,支持多数主流语言 https://travis-ci.org/ 非盈利的,为GitHub上Public的repository提供免费服务;对应的也有收费服务 Travis 要求项目的根目录下面,必须有一个.travis.yml文件。这是配置文件,指定了 Travis 的行为 安装编译及运行 本文基于Jenkins ver. 2.181、Jenkins ver. 2.164.3 直接安装运行直接 docker 命令启动 docker volume create jenkins-data 创建 jenkins-data 容器卷,专门存放 jenkins 数据 启动 1234567891011121314151617# 创建镜像并运行(\后不能有空格)docker run \ -u root \ -d \ -p 2081:8080 \ -p 50080:50000 \ -v jenkins-data:/var/jenkins_home \ # 映射主机的docker到容器里面,这样在容器里面就可以使用主机安装的 docker了(可以在Jenkins容器里 ...
阅读全文 »
1…678…17
smalle

smalle

162 日志
14 分类
150 标签
RSS
欢迎关注公众号:阿壹族 欢迎关注公众号:阿壹族
© 2016 - 2024 smalle    
由 Hexo 强力驱动
主题 - NexT.Mist
站长统计
AD    
阿里云大礼包
©AEZO.CN    
圣骑科技
【One能抽屉】小程序
杂货铺(省钱小助手)