源码

docker安装redash服务

孤街浪徒 提交于 2019-12-17 16:45:06
在linux系统上使用 docker-compose 通过源码中的【docker-compose.yml】文件安装redash,使用的是官方提供的镜像文件。 一、从GitHub上下载源码。 https://github.com/getredash/redash 二、将下载好的redash-master.zip上传到opt路径下并解压 四、数据库初始化 docker-compose -f docker-compose .yml run --rm server create_db 五、启动容器,这个过程比较漫长,请耐心等待。 docker-compose -f docker-compose .production .yml up 六、访问http://youAddress:5000,设置用户名、邮箱等。 七、通过【docker ps】命令可以查看到运行Redash所需要的5个容器。 在linux系统上使用 docker-compose 通过源码中的【docker-compose.yml】文件安装redash,使用的是官方提供的镜像文件。 来源: CSDN 作者: wppwpp1 链接: https://blog.csdn.net/wppwpp1/article/details/103582132

HBase 源码-Invalid directory in dfs.data.dir: Incorrect permission

▼魔方 西西 提交于 2019-12-17 15:59:41
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 根据前文《 HBase 源码-Start Server 》 启好 Server 后, 茫然了, 不知接下来该做什么, 随便 run 几个 TestCase 吧. 结果没 run 几个就报出以下错误, 而且这个引发这个错误的 TestCase 还很多. 2013-12-04 10:45:57,823 WARN [main] datanode.DataNode(1707): Invalid directory in dfs.data.dir: Incorrect permission for /home/zf/src/EclipseWorkspace/hbase/hbase-server/target/test-data/06b243a4-b3d6-48a5-803a-a187b5b0efcf/dfscluster_cd8fe91f-a244-48f5-a411-f6108a0e8aba/dfs/data/data1, expected: rwxr-xr-x, while actual: rwxrwxr-x 2013-12-04 10:45:57,829 WARN [main] datanode.DataNode(1707): Invalid directory in dfs.data.dir: Incorrect

Winform文件下载之WinINet

随声附和 提交于 2019-12-17 14:15:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在C#中,除了webclient我们还可以使用一组WindowsAPI来完成下载任务。这就是Windows Internet,简称 WinINet。本文通过一个demo来介绍WinINet的基本用法和一些实用技巧。 系列文章 Winform文件下载之WebClient 接口介绍 相比WebClient的用法,Win32API在使用时可能会烦琐一些。所以先把用到的API简单介绍一下。 资源的初始化和释放 InternetOpen 这是需要调用的第一个方法,它会初始化内部数据结构,为后面的调用做准备。 InternetCloseHandle 这个方法用来关闭使用中打开的Internet句柄,释放资源。 建立到服务器的连接 InternetOpenUrl 这是一个通用的函数,应用程序可以用它来请求数据(只要是WinINet支持的协议就可以)。尤其是当我们仅仅想要通过一个URL获取数据,而不关心通信协议相关的内容时,这个接口就特别合适。该方法会解析参数中的URL字符串,然后建立到服务器的连接,并准备下载由RUL标识的数据。 检查响应信息 HttpQueryInfo 检索与HTTP请求相关的报头信息。主要是查看请求是否成功。 读取响应内容 InternetReadFile 从

安装包RPM包或源码包

自闭症网瘾萝莉.ら 提交于 2019-12-17 11:33:52
RPM工具 # mount /dev/cdrom /mnt 挂载光盘 # rpm 软件包管理器 -i 安装(需要安装包完整名称) -v 可视化 -h 显示安装进度 -U 表示升级 -q 查询包是否安装 -qa 查询当前系统已安装的所有包 -qi 查询已安装的包的相关信息 -ql 查询包的安装文件 -qf 某个文件属于哪个包(命令后跟绝对路径) -e 卸载(后跟软件包名称) --force 强制安装 --nodeps 依赖包没装也要安装这个包 yum工具 yum工具比rpm工具更方便,优势是可以联网下载所需要的安装包,还可以自动安装依赖包 # yum list 列出所有RPM包资源 search 搜索rpm包(后跟关键词) install -y 安装命令(回答yes) remove -y 卸载命令(回答yes) update -y 升级命令(回答yes) 使用本地光盘制作yum源 (不能联网时使用) # mount /dev/cdrom /mnt 挂载光盘 删除/etc/yum.repos.d目录下所有的repo文件(先备份) 创建新文件dvd.repo(加入内容) 刷新生成缓存 来源: https://www.cnblogs.com/tui463/p/12053424.html

C++(STL源码):17---序列式容器vector源码剖析

空扰寡人 提交于 2019-12-17 09:28:13
vector的使用语法可以参考文章: https://blog.csdn.net/qq_41453285/article/details/86624816 一、vector概述 总的来说: vector是 可变大小数组 特点: 支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 元素保存在 连续的内存空间 中,因此通过下标取值非常快 在容器中间位置添加或删除元素 非常耗时 一旦vector内存不足,重新申请内存之后,和原vector相关的指针,引用,迭代器都失效。内存重分配耗时很长 通常,使用vector是最好的选择,如果没有什么特殊要求,最好使用vector 与其他容器的比较: vector 可变大小数组 。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 deque 双端队列 。支持快速随机访问。在头尾插入/删除速度很快 list 双向链表 。只支持双向顺序访问。在list中任何位置进行插入和删除的速度都很快 forward_list 单向链表 。只支持单向顺序访问。在链表任何位置进行插入和删除操作速度都很快 array 固定大小数组 。支持快速随机访问。不能添加或删除元素 string 与vector相似的容器 ,但专门用于保存字符。随机访问快。在尾部插入或删除速度快 二、vector定义摘要 vector定于与<stl_vector.h>头文件中 /

关闭线程池的正确姿势,shutdown(), shutdownNow()和awaitTermination() 该怎么用?

走远了吗. 提交于 2019-12-17 04:27:15
ExecutorService 接口提供了三个方法用于手动关闭线程池,分别是 shutdown() , shutdownNow() 和 awaitTermination() 。我们最经常使用的 ThreadPoolExecutor 正是 ExecutorService 的实现类,自然也实现了这些方法。相信有很多小伙伴都没搞明白这些方法的区别,也不清楚在不同的情况下应该使用哪个方法。本文将通过 ThreadPoolExecutor 源码分析和简单用例向你展示这些方法的区别联系和使用场景,很多重点都在代码块的注释中,注意看哦!话不多说,上源码。 一、源码分析 1.1 线程池运行状态 ThreadPoolExecutor 使用 runState (运行状态)这个变量对线程池的生命周期进行控制,线程池关闭过程会有频繁的运行状态转化,所以我们首先需要了解线程池的各种运行状态及其之间的转化关系, runState 一共有以下5种取值: RUNNING:接收新的任务并对任务队列里的任务进行处理; SHUTDOWN:不再接收新的任务,但是会对任务队列中的任务进行处理; STOP:不接收新任务,也不再对任务队列中的任务进行处理,并中断正在处理的任务; TIDYING:所有任务都已终止,线程数为0,在转向 TIDYING 状态的过程中,线程会执行 terminated() 钩子方法

如何阅读Java源码 阅读java的真实体会

回眸只為那壹抹淺笑 提交于 2019-12-17 02:58:28
原文链接: http://www.163ns.com/zixun/post/4771.html 刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感( 1 ),不禁又有一种激动。 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。 说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。 虽然Tomcat的源码很漂亮,但我绝不建议你一开始就读它。我文中会专门谈到这个,暂时不展开。 强烈的求知欲,我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦): 1、只关注项目本身,不懂就baidu一下。 2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。 3、除了阅读和项目相关的书外,还会阅读IT行业的书,比如学Java时,还会去了解函数语言,如LISP。 4、找一些开源项目看看,大量试用第三方框架,还会写写demo。 5、阅读基础框架、J2EE规范、Debug 服务器 内核。 大多数程序都是第1种,到第5种不光需要浓厚的兴趣,还需要勇气:我能读懂吗?其实,你能够读懂的。 耐心,真的很重要。因为你极少看到阅读源码的指导性文章或书籍

源码学习之设计模式(单例模式)

烂漫一生 提交于 2019-12-17 02:11:22
众所周知,单例模式分为饿汉式和懒汉式,昨天在看了《spring5核心原理与30个类手写实战》之后才知道饿汉式有很多种写法,分别适用于不同场景,避免反射,线程不安全问题。下面就各种场景、采用的方式及其优缺点介绍。 饿汉式 (绝对的线程安全) 代码示例 1.第一种写法 ( 定义即初始化) public class Singleton{ private static final Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } } 第二种写法 (静态代码块) public class Singleton{ private static final Singleton instance = null; static { instance = new Singleton(); } private Singleton() {} public static Singleton getInstance() { return instance; } } 饿汉式基本上就这两种写法。在spring框架中IoC的 ApplicantsContext 就是使用的饿汉式单例,保证了全局只有一个

mysql-5.5 for linux源码安装

五迷三道 提交于 2019-12-17 01:55:05
mysql-5.5 for linux 源码安装 1. 使用 Yum 安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison zlib* fiex* \ libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* 2. 安装 cmake # yum install -y cmake 3. 解压缩并编译安装 MySQL 源码包 # tar xzvf mysql-5.5.27.tar.gz # mv mysql-5.5.27 mysql # cd mysql # 配置编译(参考 :http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html ) # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/usrl/local/mysql/etc \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_USER=mysql \ -DDEFAULT