月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

区块链

发表于 2021-02-26 | 分类于 arch
简介 区块链(Blockchain):它是一种特殊的分布式数据库 ^1 区块链没有管理员,它是彻底无中心的 区块链由一个个区块(block)组成,区块由区块头(Head)和区块体(Body)组成 区块头保存当前区块的特征值:当前时间、上一个区块的Hash、当前区块体Hash、Nonce(随机项,工作量证明,计算正确hash值的次数)等 区块体保存实际数据,大小为1M 每个块类似链表进行连接(下一个区块记录了上一个区块的区块头Hash) 挖矿 通过大量计算,将数据成功写入到区块链中即是采矿。每次写入数据,就是创建一个区块 新的有效区块规则 目标值 = 一个常量 / 难度系数。难度系数越大,目标值就越小 只有小于目标值的哈希才是有效的,否则哈希无效,必须重算 通过改变Nonce值(一般只能用穷举,最大可以到21.47亿),从而时区块头数据改变,从而计算出不同的Hash,直到找到正确的Hash;如果穷举到Nonce到最大,协议允许矿工改变区块体,开始新的计算 难度系数的动态调节:中本聪设计了难度系数的动态调节机制,将产出速率趋于十分钟每个 区块链的分叉 新节点总是采用最长的那条区块链。如果区块链有分叉,将看哪个分支在分叉点后面,先达到6个新区块(称为”六次确认”)。按照10分钟一个区块计算,一小时就可以确认,因此比特币交易一般有1小时左右的延迟 比特币挖矿为什幺烧显卡: ...
阅读全文 »

OSGi —— Java动态模块化规范

发表于 2021-02-09 | 分类于 java
简介 Java其他插件化开发(OSGi文档较少,2021-02弃用) sofastack pf4j springboot-plugin-framework, 基于pf4j OSGi:Open Service Gateway Initiative 是一个Java模块化规范 官网:https://www.osgi.org/ Eclipse的插件机制就是基于OSGI规范实现 相关实现(运行时容器) Felix 是一个 OSGi 版本 4 规范的 Apache 实现 Apache Karaf:基于Felix实现,是一个运行基于OSGi的应用程序的平台,提供了如命令行界面将使我们能够与平台进行交互 ServiceMix:它将Apache ActiveMQ,Camel,CXF和Karaf的特性和功能统一到一个功能强大的运行时平台中,可用于构建自己的集成解决方案,它提供了由OSGi独家提供的完整的企业级ESB。最近更新2017年 Equinox 是 Eclipse对应的OSGi框架(容器),是AppFuse的一个轻量级版本。对web的默认支持Spring MVC、Hibernat等组件 Gemimi Blueprint 由Eclipse维护,部分代码由SpringSource捐献的Spring DM(Spring Dynamic Modules,前身为Spring OSGi)项目代码 ...
阅读全文 »

Velocity

发表于 2020-12-16 | 分类于 java
简介 官网、Doc-user、Doc-developer 依赖 12345<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.2</version></dependency> 使用12 变量取值1234567891011<!-- 根据变量从map中取值 -->$!{myMap.key}$!{myMap['key']}$!{myMap.get($!{relate.toEntityId})}<!-- 根据变量从list中取值和获取数组大小 -->$!{myList.get(0)}$!{myList.size()}<!-- 默认值 -->${name|'John Doe'} 控制语句循环12345678910111213141516## 循环map#foreach($item in $!softTypeMap.entrySet())< ...
阅读全文 »

GrapesJS可视化元素拖拽代码生成

发表于 2020-11-16 | 分类于 web
简介 github GrapesJS 是一个免费开源的 Web 模板编辑器,可进行元素拖拽,包括元素的常用属性设置,从而生成HTML页面 GrapesJS 引入了 backone.js,参考backone-underscore-js.md 初始化渲染源码解析12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219 ...
阅读全文 »

backone.js & underscore.js

发表于 2020-11-15 | 分类于 web
简介 underscore.js 官网、中文网 提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象 Underscore提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定,JavaScript模板功能 backone.js 官网、中文网 引用了underscore.js库 为复杂WEB应用程序提供模型(models)、集合(collections)、视图(views)的结构 backone123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132(function(factory) { // Establish the root object, `wind ...
阅读全文 »

Mybatis源码解析

发表于 2020-11-13 | 分类于 java
简介 深入剖析 MyBatis 核心原理 类 org.apache.ibatis.session Configuration 全局配置类 SqlSession 数据库连接Session接口 DefaultSqlSession 包含部分方法如下 insert 基于update实现 update select delete commit rollback SqlSessionFactory 从流中读取mapper并初始化 SqlSessionFactoryBuilder 参考下文org.apache.ibatis.builder,主要是创建SqlSessionFactory SqlSessionManager 实现了 SqlSessionFactory 和 SqlSession builder XMLMapperBuilder 编译xml类型mapper,保存到Configuration MapperAnnotationBuilder 编译注解类型mapper,保存到Configuration executor BaseExecutor 抽象类 SimpleExecutor BaseStatementHandler 抽象的Statement处理器,有以下3中不同类型的执行器 SimpleStatementHandler PreparedStatementHand ...
阅读全文 »

Gradle

发表于 2020-11-08 | 分类于 java
简介 官网 Gradle 是一个通用的构建工具,它能构建任何基于你的构建脚本的东西。如果构建Java项目,引入构建java的插件(添加 task 到 project,如编译、打包、生成javadoc等)即可 在 Gradle 中两个顶级概念:project 项目和 task 任务 ^1 安装和命令 jar包下载的位置: /Users/你的用户名/.gradle/caches/modules-2/files-2.1 安装1234567# macbrew install gradle# 或者进行手动安装(下载xxx.bin.zip)# 和JDK版本的适配关系(否则只能使用gradle-wrapper) https://blog.csdn.net/Qhx20040819/article/details/131911031https://mirrors.cloud.tencent.com/gradle # https://gradle.org/releases/# 类似Maven配置GRADLE_HOME并将bin添加到Path gradle-wrapper 类似maven wrapper,idea需要配置使用wrapper的gradle版本(不能设置成使用本地gradle版本) 项目目录下,配置gradle/wrapper/gradle-wrapper.properties dist ...
阅读全文 »

TypeScript

发表于 2020-11-01 | 分类于 web
简介 官网、中文Doc 声明文件语法 示例 ^2 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283// 全局变量declare var count: number;// 全局函数declare function hello(greeting: string): void;// 函数重载declare function getPerson(id: number): Person;declare function getPerson(name: string): Person[];// 带属性的对象/*let result = myLib.hello("hello, world");*/declare namespace myLib { function hello(s: string): string; let num: number;}// 类/*const p = new Person("hello, world");p.hello = "hi~";p.showHello();cla ...
阅读全文 »

标记语言

发表于 2020-10-21 | 分类于 lang
yaml 参考 Yaml解析(基于jyaml)) json-yaml互转工具:https://www.bejson.com/json/json2yaml yaml多行配置规则参考:https://www.cnblogs.com/didispace/p/12524194.html 1234567891011121314151617181920212223# 配置与显示,都严格按段落展示## 直接使用\n来换行string: "Hello,\n\ World."# 配置按段落,显示不需要按段落string: 'Hello, World.'## 使用|(文中自动换行 + 文末新增一空行。测试可行)、|+(文中自动换行 + 文末新增两个空行)、|-(文中自动换行 + 文末不新增空行)string: | Hello, World.# 使用>(文中不自动换行 + 文末新增一空行)、>+、>-string: > Hello, World.# Java配置文件可以映射为 Mapmap: key: valmap2: '{"name": "test"}' jsonjson5 JSON5是JSON的扩展,Node支持 Npm库 支持注释、多行字符串等 json格式 json格式校验工具:https://qqe2.c ...
阅读全文 »

JS Tools

发表于 2020-10-09 | 分类于 web
Tag一下 Alibaba Fusion Design 基于 React技术栈实现设计师与工程师的协作平台 基础库sass/less sass相关变种说明: https://www.cnblogs.com/yyh1/p/15954139.html 目前sass官方主推的是 dart-sass sass 是由 ts调用 dart-sass实现的工具类,来编译 sass(以前是由单纯的 ts实现的) 只支持 ::v-deep dart-sass 是由 dart 实现的,通过 dart vm 运行 dart 是编译 sass(在 npm 可以看到该包已不被开放下载了) node-sass 是由 node 调用 底层 c++ 实现的 libsass 来编译 sass 支持/deep/和::v-deep lodash工具类 lodash、lodash中文网 Math 数学计算,类似mathjs add、subtract、multiply、divide 两个数的加减乘除 _.add(0.1, 0.2) // 0.30000000000000004 merge 可进行深度覆盖 1234567const a = {a: 1, b: {b1: 2}, c: [{c1: 3}]};const b = { ...
阅读全文 »
1234…17
smalle

smalle

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