一. xChart说明
xChart 是一个 c++/js/html 开发的数据可视化工具,通过SQL语句直接生成数据图表。xChart 通过对数据与图表间的关系建立相应的模型,
以求通过SQL直接查询数据并以图表形式展示,提供一个简单的方便的数据可视化平台。
xChart 在线测试地址:https://xchart.online/
xChart 是一个 c++/js/html 开发的数据可视化工具,通过SQL语句直接生成数据图表。xChart 通过对数据与图表间的关系建立相应的模型,
以求通过SQL直接查询数据并以图表形式展示,提供一个简单的方便的数据可视化平台。
xChart 在线测试地址:https://xchart.online/
mysql是常用数据库,这篇文章主要给大家介绍了关于mysql中数据统计技巧,对MySQL数据统计相关使用技巧进行归纳总结。
对于程序员来说,大多数人公司都有技术和管理两条发展路线,通常在同一家公司,管理路线的发展可能性,要相对广阔一些;但是技术路线也有技术路线的好处,比如相对而言更依赖于硬实力,因而工作机会丰富。我相信有不少程序员都和我一样,坚守着技术路线,无论是进还是退,都对管理者的岗位没有什么兴趣。
兴许大家都听到软实力和硬实力的概念。对于一个技术人来说,硬实力大致上可以认为是计算机和软件工程相关的技术能力,1 还是 0,是还是非,会不会算法,懂不懂设计,清清楚楚,明明白白; 而软实力则反过来,听起来挺抽象,挺模糊,比如沟通能力,自我管理能力,但是却扮演者重要的角色,甚至随着职业生涯的发展,它的影响力越来越大。而性格,是软实力中一个很特别的影响因素。
Matrix定义了一组用于分散通信的开放API,适用于通过全局开放式服务器联合安全发布,持久化和订阅数据,而无需单一控制点。用途包括即时消息(IM),IP语音(VoIP)信令,物联网(IoT)通信以及将现有通信孤岛联系在一起 - 为新的开放式实时通信生态系统提供基础。
运行环境:centos+mysql8.0.12
1.下载官方打包好的二进制安装包:
#wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
可以看到这个版本采用了tar.xz的打包压缩方式,文件只有350M左右,下载还是满方便的。
本文为 Git 学习参考手册。目的是为学习与记忆 Git 使用中最重要、最普遍的命令提供快速翻阅。 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以及参数。
本手册将从入门到精通指导大家。 首先,我们要从如何以 Git 的思维方式管理源代码开始。
如何以 GIT 的方式思考(这节可以不用看懂,接着看下面的内容,看完就全懂了。)
懂得 Git,第一件重要的事情就是要知道它与 Subversion、Perforce 或者任何你用过的版本控制工具都有着很大的差别。 通常,忘掉你预想的版本控制方式,改以 Git 的方式思考,能够帮助你更好地学习 Git。
让我们从头开始。假设你正在设计一个新的源代码管理系统。在你使用某个工具之前,是如何完成基本的源码版本控制工作的呢? 十有八九,你只是在项目到达某些阶段的时候,对项目做一份拷贝。
$ cp -R project project.bak
这样,你就可以在事情变得一团糟的时候很方便的返回到之前的状态,或者通过对比当前的项目与之前的拷贝,看看自己在之后的工作中,都做了哪些修改。
如果你有点偏执,你可能会经常作上面说的事情,或许还会给项目拷贝加个日期:
$ cp -R project project.2010-06-01.bak
如此,你就有了一堆项目在各个阶段的快照,来作比较、查看。使用这种模式,你还可以有效地与人分享项目变更。 如果你会在项目到达一定阶段的时候给它打个包,丢到自己的网站上,那其他的开发者们,就能很方便地下载它,做点改动,并给你补丁回馈。
$ wget http://example.com/project.2010-06-01.zip
$ unzip project.2010-06-01.zip
$ cp -R project.2010-06-01 project-my-copy
$ cd project-my-copy
$ (做了某些修改)
$ diff project-my-copy project.2010-06-01 > change.patch
$ (通过E-mail发送修改补丁)
以此方式,原先的开发者就能将其他人的改动应用到他的项目中去,其他开发者也能了解你做的变更。其实这便是许多开源项目采用过多年的协作方式。
这办法其实很好使,所以假设我们现在想要写个工具,让这个办法更快、更简单。 我们与其实现一个工具以记录每个文件的版本,可能不如去实现个工具以使创建、储存项目的快照更加方便,不用每次都去人肉作整个项目的拷贝。
这就是 Git 的精要所在。你通过 git commit告诉 Git 你想保存一份项目快照, Git 就会为你的项目中的各个文件的当前状态存一份记录。之后,绝大部分的 Git 命令都围绕这些记录展开。 比如查看它们的区别(diff),提取它们的内容,等等。
题外话:RISE 实验室的前身是赫赫有名的伯克利 AMP 实验室,该实验室曾开发出了一大批大获成功的分布式技术,这些技术对高性能计算产生了深远的影响,包括 Spark、Mesos、Tachyon 等。如今,原 AMP 实验室博士生,同时也是 Spark 和 Mesos 核心作者之一的 Matei 已经转身去了斯坦福,并于去年年底推出了以普及机器学习实践为目的的开源项目 DAWN(详见 AI 前线报道 ),而 RISE 实验室也在没多久后推出了志在取代 Spark 的新型分布式执行框架 Ray(详见 AI 前线报道)。
人类有吃吃喝喝的欲望,也有繁殖后代的欲望。而卡耐基梅隆大学的经济学与心理学教授乔治·勒文斯坦(George Loewenstein)指出,好奇心也是如此。我们对学习的无穷欲望,对发明、探索和不断求知的欲望,“理应和其它欲望具有相同的地位”。
但好奇心的奇特之处在于,它似乎不与任何特定奖励有关。勒文斯坦曾经写道:“好奇心的理论之谜在于,人们为何对那些不会带来任何外在利益的信息如此着迷呢?”人们会追求食物、水、性爱、庇护所、休息、财富、或任何让生命多姿多彩、增添兴味的东西。但分析引力的本质、或登上月球,又有什么好处呢?
随着计算机的日益普及,各种应用每天产生的数据量呈指数级增长。如何存储这些数据,有效处理分析这些数据,并从中提取有价值的信息,是当下迫切需要解决的问题。在过去的十年里,NoSQL在软件工程师阵营里越来越受欢迎,其中最重要的实现是MapReduce ,Bigtable,Cassandra,MongoDB,等产品。 它主要用于解决SQL的可扩展性问题。
改善程序与设计的55个具体做法(第3版) 的读书笔记
做成一件事儿不容易,而坑恒在。
鲍捷博士于5月10日在将门创投的线上 talk 中盘点了人工智能项目的大坑小坑,选出了看上去非常反常识的十个经典坑。
这是一篇大实话合集,但别绝望,最后将会放出从二十年踩坑经验中总结出的彩蛋,共勉。
作者介绍
鲍捷博士,文因互联 CEO。拥有20年学术界和工业界的相关经验。美国Iowa State University人工智能博士,RPI博士后,MIT访问研究员,W3C OWL(Web本体语言)工作组成员,前三星美国研发中心研究员,三星问答系统SVoice第二代系统核心设计师。主要研究领域涵盖人工智能的诸多分支,包括机器学习、神经网络、数据挖掘、自然语言处理、形式推理、语义网和本体工程等,发表了70多篇领域内相关论文。是中文信息学会语言与知识计算专委会委员,中国计算机协会会刊编委,W3C顾问会员会代表。2010年以来关注金融智能化的研究和应用,成果有XBRL语义模型,基于知识图谱的基本面分析、金融问答引擎、财务报告自动化提取、自动化监管等。
以下为演讲原文:
几年前redis官方的集群还没有成熟前,自己也尝试设计了一个REDIS集群方案,主要思想是通过添加代理层,对redis数据节点进行管理,并初步的实现了下相关的代码。
不过后来官方的集群出来以后,基于proxy的方案就没有太大优势了,所以就没有继续开发了。
刚好看到以前的文档,就贴出来跟大家分享下。
QUIC (Quick UDP Internet Connection,快速UDP互联网连接) 是一个新的基于UDP的多路复用且安全的传输协议,它从头开始设计,且为 HTTP/2 语义做了优化。尽管以 HTTP/2 作为主要的应用协议而构建,然而 QUIC 的构建是基于传输和安全领域数十年的经验的,且实现了使它成为有吸引力的现代通用传输协议的机制。QUIC提供了等价于 HTTP/2 的多路复用和流控,等价于 TLS 的安全机制,及等价于 TCP 的连接语义、可靠性和拥塞控制。
<!--more-->
QUIC完全运行于用户空间,它当前作为 Chromium 浏览器的一部分发布给用户,以便于快速的部署和实验。作为基于 UDP 的用户空间传输协议,QUIC 可以做一些由于遗留的客户端和中间设备,或旷日持久的操作系统开发和部署周期的阻碍,而被证明很难在现有的协议中部署的创新。
QUIC 的一个重要目标是通过快速的实验获得更好的传输设计相关的知识。作为结果,我们希望将其中的一些精华的改动迁移进 TCP 和 TLS,后者通常有着长得多的迭代周期。
这份文档描述标准化前 QUIC 协议的概念设计和协议规范。补充资料描述了加密和传输握手 [QUIC-CRYPTO],及丢失恢复和拥塞控制 [draft-iyengar-quic-loss-recovery]。其它资源,包括一份更详细的相关文档,可以在 Chromium 的 QUIC 主页 找到。
基于早期的部署的 QUIC 标准化建议为 [draft-hamilton-quic-transport-protocol],[draft-shade-quic-http2-mapping],[draft-iyengar-quic-loss-recovery],和 [draft-thomson-quic-tls]。
最近想通过R语言做一些数据统计分析的事情,数据主要在MYSQL里,因些需要使用RMySQL, 在安装RMySQL时遇到些问题,
通过网上搜索很多解决方案并不是很有用,很多只说明了操作,并没有说明原因。我最终在WIN7上安装好了RMySQL, 在此把过程记录下来.
首先,一般安装R语言包,都是通过命令 :
install.packages('RMySQL')
但是看网上说的,在WIN下现在好像没有编译好的包了; 因此, 需要通过源码编译安装了。
源码安装tmux2的时候,可能编译时会找不到 Libevent2的库
在编译前加上指定头文件和库文件目录就可以了:
./configure LIBEVENT_CFLAGS="-I/usr/local/include" LIBEVENT_LIBS="-L/usr/local/lib/ -levent"
平时一直在使用REDIS做为NOSQL数据库存储各种数据。
但在使用过程中, 感觉将REDIS做为数据库使用许多的不便, 缺少很多做为数据库
的基本功能,像没有表的概念,各种不同结构的数据存储在一个DB里没有明确的分类,
REDIS里类似功能需要通过自定义前缀来实现。
REDIS另一个不方便的地方,就是各种不同的结构操作采用不同的命令,这样就导致REDIS
的命令特别多,虽然这样可以使得对每个不同的数据结构进行比较细致的区分,在功能实现上也比较容易。
但带来的问题就是使用上不的便,使用中需要经常查询文档。
于是,我就开发了这个NOSQL:
使用REDIS的通信协议进行数据交互, 支持各种语言的CLIENT进行访问。
支持数据表概念,同结构的数据通过表进行管理,支持删除表。
类SQL的查询命令设计。
支持数据落地。
后台多线程。
测试地址:
./redis-cli -h 121.42.10.151 -p 6479
以前玩安全的时候写过一些文章,发表在黑客防线上,现在看到当年写的东西,虽然很简单,但满满的都是回忆。。。
这是2016年9月份才开源的一个优化网络拥堵的算法。
目前最新版本的Linux内核(4.9-rc8)中已经集成了该算法。
根据目前使用的情况反馈来看,能大幅度提升网速。
开源地址
https://github.com/google/bbr
HotDB是一款专注MySQL数据库服务的高可靠高吞吐量的分布式数据库产品,能在分布式数据环境下为应用提供集中式数据库的操作体验,为海量数据、海量用户、高可用、高性能和高并发的业务系统提供强有力的支撑,同时具备强分布式透明、易扩展、无学习成本等特点。让技术工程师专注应用程序编码实现,不必知道也不必关心数据的存放和操作位置等细节;让数据库运维人员更轻松地管理海量数据和大规模的数据库集群。
xRedis是我开源的一个redis 的c++ client,主要是对redis官方的hiredis库的C++封装。
对redis提供的命令基于简单易用方面的考虑,封装为C++接口,并提供了连接池,数据多节点分片存储,
主从节点读写分离等功能,也简单封装了一个支持REDIS CLUTSTER的客户端。
目前有以下的功能和特点:
摘 要: 互联网已成为现代社会的重要信息基础设施,然而网络环境的并发性使得传统程序设计方法在开发高质 量的网络程序时遇到了许多困难,严重影响了开发效率.并发问题对网络程序开发复杂度的影响可以类比多核处理 器带来的“软件并发危机”,然而其中的并发问题却远远没有得到应有的重视.网络并发问题目前并不存在普适的应 对方法,甚至在不同方法之间存在明显的争论.简要介绍了各种基本的并发模型及其常见的实现方法,并在此基础上 着重分析了现有方法的内在复杂性,对比各种方法的优势与劣势,最后展望可能的研究和发展方向.
关键词: 网络;并发;程序设计复杂性;事件驱动;stack-ripping;多线程;期货
中图法分类号: TP393 文献标识码: A