Bootstrap系列之treeview实现菜单树
本博客,介绍通过Bootstrap的treeview插件实现菜单树的功能。 treeview链接:http://www.htmleaf.com/Demo/201502141380.html ORM框架是Mybatis的,这里其实就是单表查询而已,获取要做菜单树的信息表,这张表必须要有一个parentSeq,然后通过关联实现。 <sql id="groupDefin...
本博客,介绍通过Bootstrap的treeview插件实现菜单树的功能。 treeview链接:http://www.htmleaf.com/Demo/201502141380.html ORM框架是Mybatis的,这里其实就是单表查询而已,获取要做菜单树的信息表,这张表必须要有一个parentSeq,然后通过关联实现。 <sql id="groupDefin...
介绍Oracle的开窗函数之前先介绍一下分析函数,因为开窗函数也属于分析函数 分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。 上面是开窗函数的简单介绍。 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化 oracle开窗函数有很多,用的比较多...
本博客介绍一下一款开源的jquery右键菜单插件使用,github链接:https://github.com/swisnl/jQuery-contextMenu 样例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="jquery-3.1.1....
第一章 1.1 模式定义 代理模式:代理模式就是引入一个代理对象,通过代理对象实现对原对象的引用。代理模式是一种对象结构型。 1.2 代理模式包含如下角色 Subject:抽象主题角色Proxy:代理主题角色RealSubject:真实主题角色 1.3 模式例子 public class Proxy implements Subject { privat...
定义一个前端div <div class="site-search"> <div id="search"> <input type="text" name="s" class="text" placeholder="输入关键字搜索" /> <button type="button" onclick="javascript:doSearch();" class="sub...
文章目录 一、Oracle的优化器1.1 优化器简介1.2 SQL执行过程1.3 结果集 二、优化器优化方式2.1 优化器的优化方式2.2 基于规则的优化器2.2.1 RBO简介2.2.2 RBO缺陷2.2.3 RBO执行过程2.2.4 RBO特殊情况2.2.5 强制CBO的情况 2.3 基于成本的优化器2.3.1 CBO简介2.3.2 集的势2.3.3 可选择...
rollup函数 本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from scott.emp; 12 业务场景:求各部门的...
本篇博主带来的是producer(生产者)的数据可靠性保证。 目录 1. 高级API1.高级API优点2.高级API缺点 1. 低级API1.低级 API 优点2.低级API缺点 3. 消费者组4. 消费方式5. 分区分配策略1. roundrobin2. range kafka提供了两套consumer API:高级Consum...
本篇博主带来的是Kafka的Producer API操作。 目录 1. 消息发送流程2. 无回调参数的API3. 带回调函数的API4. 同步发送API / 只是比异步多了一个.get() 1. 消息发送流程 Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,...
这篇文章我们讲解的是如何自定义MySQLSource。 目录 1. 自定义Source说明2. 自定义MySQLSource组成3. 自定义MySQLSource步骤4. 代码实现5 测试1. jar包准备2. 配置文件准备3. mysql表准备4. 测试并查看结果 1. 自定义Source说明 实时监控MySQL,从MySQL中获取数...
本篇博主带来的是Kafka中如何自定义Interceptor及其原理。 目录 1. 拦截器(Interceptor)原理2. 自定义拦截器1. 需求2. 编写代码 3. 运行结果 1. 拦截器(Interceptor)原理 Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端...
这篇文章我们讲解的是如何自定义Source。 目录 1. Source的简单介绍2. 需求/分析3. 编码3.1 导入pom依赖3.2 编写代码 4. 测试 1. Source的简单介绍 Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、...
这篇文章我们讲解的是Flume常见的知识点进行总结,并将会不断进行更新。 目录 1. 如何实现Flume数据传输的监控的2. Flume的Source,Sink,Channel的作用?3. Flume的Channel Selectors4. Flume参数调优5. Flume的事务机制6. Flume采集数据会丢失吗? 1. 如何实现Flume数...
本篇博主带来的是Kafka的工作流程及文件存储机制。 目录 一. Kafka的工作流程二. Kafka文件的存储机制 一. Kafka的工作流程 1. Kafka开始部分 2. 创建topic 3.生产者往每一个partition-leader,其中所发数据为一批一批的发送(提高效率) follower为leader的备份,当leader...
本篇博主带来的是Kafka常用脚本介绍及简单的shell操作。 目录 一. Kafka常用脚本二. 简单的shell操作 一. Kafka常用脚本 至于怎样查看脚本,我们可以查看Kafka/bin目录,下图标记即为常用的脚本 1.kafka-topics.sh:对topic进行增删改查2.kafka-server-start.sh:启动...
本篇博主带来的是Kafka知识点总结。 目录 1.Kafka中的ISR、AR又代表什么?2.Kafka中的HW、LEO等分别代表什么?3.Kafka中是怎么体现消息顺序性的?4.Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?5.Kafka生产者客户端的整体结构是什么样子的?使用了几个线程来处理?分别是什么?6.“消费组中的消费者...
本篇博主带来的是Kafka的两种监控软件。 目录 一. Kafka Monitor二. Kafka Manager 一. Kafka Monitor 1. 上传jar包KafkaOffsetMonitor-assembly-0.4.6.jar到集群 2.在/opt/module/下创建kafka-offset-console文件夹 [bi...
这篇博文主要介绍了一种基于机器学习的分类方法,K-邻近(KNN),并且使用这种方法来完成了一个简单的手写数字识别系统。 KNN 概述 什么是 KNN KNN(K–nearest-neighbor),即 K-邻近算法, 所谓 K 邻近,就是 K 个最近邻居的意思,说的是每个样本都可以用与它最接近的K 个邻居来进行表示。 工作原理 存在一个样本数据集合,...
第三章:进程 进程概述 概念:执行中的程序进程状态:新的、运行、等待、就绪、终止 进程控制块(PCD) 是什么? process control block,包含与一个特定进程相关的信息。包含什么? 进程状态、程序计数器、CPU寄存器、CPU调度信息、内存管理信息、记账信息、I/O状态信息。 进程操作 创建:fork() pid进程标识符 创建过...
上两篇文章,【从头开始写操作系统系列】实现一个-GDT(1)、【从头开始写操作系统系列】实现一个-GDT(2),主要介绍了段描述符结构以及实现和选择子结构。这篇文章,我们结合之前所述,对 GDT 做一个总结。 全局描述符表(GDT) 全局描述符表是在保护模式下才用到的结构。在整个系统中,全局描述符表只有一张,可以放在内存的任何位置,但是CPU必须知道它的入...
刚刚接触QT,简单来一发 #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QLabel *label = new QLabel("Hello QT"); label->show(); return a.exec();} ...
1.1GTK+ 的简单程序HelloWorld #include /* 回调函数忽略了传递给程序的所有参数 */ void hello(GtkWidget *widget, gpointer data) { g_print("Hello World\n"); } gint delete_event(GtkWidget *widget, GdkEve...
第一个GTK程序 搭建好了开发环境和安装工具后,现在就可以开始进行开发了,下面贴上我的的一个GTK程序 //引入gtk头文件 #include int main( int argc, char *argv[] ) { GtkWidget *window; //所有的GTK应用程序都要调用该函数,...
Intel Galileo Gen 2入门 本文所介绍内容 Intel Galileo Gen 2简介在Ubuntu上搭建环境使用Arduino IDE刷入Sketch在Galileo Gen 2中刷入定制版Linux系统在Galileo Gen 2中刷入Debian系统在Galileo Gen 2中编译运行OpenCV Intel Galileo Ge...
分析Linux内核创建一个新进程的过程 进程描述 进程描述符(task_struct) 用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_struct进程控制块(PCB) 是操作系统核心中一种数据结构,主要表示进程状态。进程状态 fork() fork()在父...
分析Linux内核创建一个新进程的过程 进程描述 进程描述符(task_struct) 用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_struct进程控制块(PCB) 是操作系统核心中一种数据结构,主要表示进程状态。进程状态 fork() fork()在父...
跟踪分析Linux内核的启动过程 使用 gdb 跟踪调试内核 使用 qemu qemu -kernel linux-3.18.6 /arch/x86/boot/bzImage -initrd rootfs.img -s -S 1 参数: -s:在初始化时冻结 CPU-S: 为 gdb 分配1234端口 gdb 调试 另开 shell gdb (gdb) fil...
分析system_call中断处理过程 使用gdb跟踪分析一个系统调用内核函数(以 sys_chmod为例) 启动调试内核 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S gdb 调试 另开 shell gdb (gdb) file linux-3.18.6...
反汇编一个简单的C程序并分析 C 源码: int g(int x) { return x+1; } int f(int x) { return g(x); } int main(void) { return f(2) + 3; } 1234567891011121314 汇编源码: 1 g: 2 pushl %ebp 3 movl %esp, %...
Arduino初探:让 Arduino 闪起来 准备: 一台电脑(笔者使用的是 Mac)Arduino(笔者使用的是 Arduino UNO) 安装 Arduino IDE 在官网(www.arduino.cc)下载相应的 IDE,解压并安装。 打开IDE。 将 Arduino 连接至计算机 在 Mac 上会自动安装好驱动。 在 工具 -> 板 中找到所...