月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

HBase

发表于 2021-07-18 | 分类于 bigdata
简介 Use Apache HBase™ when you need random, realtime read/write access to your Big Data. This project’s goal is the hosting of very large tables – billions of rows X millions of columns – atop clusters of commodity hardware. Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google’s Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, Apache HBase provides Bigtable-like capabilities on top of Hadoop and HDFS. 官网、wiki v2.3、hbase相关配置说明 HBa ...
阅读全文 »

Visual Basic Script

发表于 2021-07-11 | 分类于 lang
简介 VBScript是 Visual Basic Script 的简称,即 Visual Basic 脚本语言,有时也被缩写为 VBS VBScript 是微软开发的一种脚本语言。使用 VBScript,可通过 Windows 脚本宿主调用 COM,所以可以使用 Windows 操作系统中可被使用的程序库 VBScript 一般被用在以下个方面 VBScript 经常被用来完成重复性的Windows 操作系统任务 用来指挥客户方的网页浏览器。在这一方面,VBS 与JavaScript 是竞争者 VBS相关脚本参考:https://www.jb51.net/list/list_114_1.htm 基本语法 '表示注释 不区分大小写 变量 变量声明:可以使用 Dim、Public 或 Private 语句来声明变量 123456789101112'简单变量dim namename=some value'数组变量:创建了一个包含2个元素的数组dim names(2)names(0)="George"names(1)="John"father=names(0)'多维数组dim table(4, 6) 程序123456789101112131415'子程序(无返回值)Sub mysub(argument1,argument2) some statementsEnd Sub ...
阅读全文 »

Hive

发表于 2021-06-01 | 分类于 bigdata
简介 The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive. Hive官网、下载、源码 Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制 hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行 hive基于hdfs做存储,基于mr进行计算(将sql语句转成mr程序) Hive产生的原因 方便对文件及数据的元数据进行管理,提供统一的元数据管理方式 提供更加简单的方式来访问大规模的数据集,使用SQL语言进行数据分析(无需写MapReduce程序,降低数据分析门槛) 架构图 用户访问接口 CLI(Command Li ...
阅读全文 »

SOFAStack源码分析

发表于 2021-04-13 | 分类于 java
isle-sofa-boot模块隔离初始化 初始化SOFABoot模块:主要是初始化各模块的SpringContext上下文 如基于多Ark Biz启动,一般不会包含此包,各Biz间通信基于runtime-sofa-boot包完成 Spring启动完成后广播事件 Spring相关 12345678910111213141516171819202122232425// AbstractApplicationContext.java,参考[spring-ioc-src.md#refresh方法概览](/_posts/java/java-src/spring-ioc-src.md#refresh方法概览)public void refresh() throws BeansException, IllegalStateException { // ... this.finishRefresh();}// ServletWebServerApplicationContext.javaprotected void finishRefresh() { // 调用父类 super.finishRefresh(); WebServer webServer = this.startWebServer(); if (webServer ...
阅读全文 »

SOFAStack

发表于 2021-04-11 | 分类于 java
简介 官网、蚂蚁产品说明 SOFAStack技术栈 包含SOFABoot、SOFAArk、SOFARPC等子项目 其中SOFABoot是基于Springboot开发,可和SOFAArk结合使用 SOFABoot模块隔离 maven模块隔离的基础上,增加对Spring 上下文隔离 SOFAArk类隔离 每个模块都有独立的 ClassLoader,消除不同类版本冲突问题 Java模块化开发对比 参考文章 https://www.sofastack.tech/projects/sofa-boot/modular-development/ 基于代码组织上的模块化,如使用Maven 这是最常见的形式,在开发期,将不同功能的代码放在不同 Java 工程下,在编译期被打进不同 jar 包,在运行期,所有 Java 类都在一个 classpath 下,没做任何隔离 基于 Spring 上下文隔离的模块化,SOFABoot使用此方式 借用 Spring 上下文来做不同功能模块的隔离,在开发期和编译期,代码和配置也会分在不同 Java 工程中,但在运行期,不同模块间的 Spring Bean 相互不可见 但是所有的 Java 类还是在同一个 ClassLoader 下 类隔离,基于 ClassLoader 隔离的模块化,SOFAArk使用此方式 借用 ClassLoader 来做 ...
阅读全文 »

springboot-plugin-framework —— 插件化

发表于 2021-04-06 | 分类于 java
简介 2021-04转向sofastack springboot-plugin-framework、文档 基于pf4j springboot-plugin-framework扩展 对mybatis和mybatis-plus进行了支持,插件中可使用mybatis 对resources进行了支持,插件中可使用资源文件,从而显示视图层返回模板页面 开发时,开发时需要提前将插件编译出jar,再启动主程序 从而可让 idea 启动主程序时,自动编译插件包的配置。为了在每次启动主程序的时候,能够动态编译插件包,保证插件包的target是最新的 选择 File->Project Structure->Project Settings->Artifacts->点击+号->JAR->From modules whith dependencies->选择对应的插件包->确认OK 启动配置: 在Before launch 下-> 点击小+号 -> Build -> Artifacts -> 选择上一步新增的>Artifacts 之后启动时会产生一个out/artifacts的目录保存编译好的插件jar包 使用 新建插件时,需要继承BasePlugin类,并将其放在插件src根目录(插件只能扫描到当前类同级目录或其子目 ...
阅读全文 »

微前端

发表于 2021-03-03 | 分类于 web
简介 微前端: 由微服务衍生而来 微前端架构中一般会有个容器应用(container application)将各子应用(Bundle)集成起来 ^1 多 Bundle 集成方式 服务端集成:如服务端渲染SSR 构建时集成:如Code Splitting 常见的构建时集成方式是将子应用发布成独立的 npm 包,共同作为主应用的依赖项,构建生成一个供部署的 JS Bundle。然而,构建时集成最大的问题是会在发布阶段造成耦合,任何一个子应用有变更,都要整个重新编译 运行时集成:如通过 iframe、JS、Web Components 等方式 iframe实现缺点:https://www.yuque.com/kuitos/gky7yw/gesexv SPA(SinglePage Web Application)单页应用和MPA(MultiPage Application)多页应用区别参考:https://juejin.cn/post/6844903512107663368 相关资源 vue动态组件和异步组件说明 使用http-vue-loader可在非单页应用中引入.vue组件 可插拔式系统讨论 TODO 父子应用数据同步:https://blog.csdn.net/weixin_42234168/article/details/112180703 相关框架 qia ...
阅读全文 »

区块链

发表于 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())< ...
阅读全文 »
123…17
smalle

smalle

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