一.特征 1.SqlContext默认大小写不敏感,如果DataFrame中有字段相同,大小写不同,在使用字段的时候不会引起歧义. 2.HiveContext提供更多的Hive预置函数,可以更高效的进行数据分析,默认大小写不敏感. 注意:在spark2.x中没有出现SqlContext大小写敏感问题! sqlContext.sql("select * from user").filter("age is not null").filter("age !=…
--移动360导出数据字典 -- --快速查看表结构(比较全面的) THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS 列名 , ISNULL(ep.[value], '') AS 列说明 , t.name AS 数据类型 , col.length AS 长度 , ) AS 小数位数 , THEN '√' ELSE '' END AS 标识 , FROM dbo.sysindexes si INNER JOIN db…
具体思路: 1->敏感词库,可从数据库读取,也可以从文件加载. 2->将敏感词转化为gbk编码,因为gbk严格按照字符一个字节,汉字两个字节的格式编码,便于容易切分文字段. 3->将所有敏感词以首个字符[英文一字节,汉字两字节]转换为一个整数,然后按照这个整数给所有敏感词建立索引,索引的value用list,因为考虑到同一个整数对应多个关键字. 4->检测一段内文字类容时,也实现转化为gbk,然后逐个字符[英文一字节,汉字两字节]检测是否有以该字符为首的敏感词. 代码.h #ifn…
我们开发的每个系统都离不开配置信息,例如数据库密码.Redis密码.邮件配置.各种第三方配置信息,这些信息都非常敏感,一旦泄露出去后果非常严重,被泄露的原因一般是程序员将配置信息和代码混在一起导致的. 判断一个系统是否正确地将配置排除在代码之外,一个简单的方法是看该系统的代码是否可以立刻开源,而不用担心会暴露任何敏感信息. 所以我们做的第一件事情就是将配置信息与代码解耦,根据不同的部署环境(开发环境.测试环境.预发布.生产环境)各使用一套配置文件,然后将配置信息集中到配置文件中. 例如在 dja…
前言 以前在 github 上自己开源了一些项目.碍于技术与精力,大部分项目都是 java 实现的. 这对于非 java 开发者而言很不友好,对于不会编程的用户更加不友好. 为了让更多的人可以使用到这些简单的小工具,周末抽时间将几个开源项目添加了 web 服务实现. 开源项目 中文繁简体转换 简介:支持中文繁简体的在线转换. 在线地址:https://houbb.github.io/opensource/opencc4j/ 开源地址:https://github.com/houbb/opencc…
周末空余时间撸了一个敏感词过滤功能,下边记录下实现过程. 敏感词,一方面是你懂的,另一方面是我们自己可能也要过滤一些人身攻击或者广告信息等,具体词库可以google下,有很多. 过滤敏感词,使用简单的循环str_replace是性能很低效的,还会随着词库的增加,性能指数下降,而且简单的替换,不能解决一些不是完全匹配的词.这时候就需要先构建一个字典树(trie),单纯的字典树占用空间较大,使用Double-Array Trie或者Ternary Search Tree可以在保证性能的同时节省一部分…
如何删除GIT仓库中的敏感信息 正常Git仓库中应该尽量不包含数据库连接/AWS帐号/巨大二进制文件,否则一旦泄漏到Github,这些非常敏感信息会影响客户的信息安全已经公司的信誉.公司可能其它还有相关规定,如禁止私人邮件加入GIT仓库.如果违反这些规定,可能会面临辞退.高额罚款.或牢狱之灾等非常严厉的惩罚. 由于Git的正常操作流程,导致敏感信息一旦进入主分支,再怎么在新的Pull Request中删除,也无能为力了.其它人都能在历史记录中查询到历史记录中的配置.所以这要求对Git的签名和签入…
提交的表单数据,常常要检查有没有敏感词汇,如果有,需要给出提示,或者替换为*. 检查.替换敏感词汇有3种常用的方式 (1)在Servlet中操作. (2)在Filter中先检查.如果要替换敏感词汇,request没有setParameter()方法重新设置请求参数,怎么向Servlet中传递替换后的请求参数?使用request.setAttribute()把这些修改后的请求参数放到request域中即可. (3)在Filter中创建request的代理,增强getParameter()方法,然后…
这是我从网上找的资料和最新版的相差不大,可以借鉴原文链接:http://ju.outofmemory.cn/entry/367224 项目的版本号取决于修复版本,不是影响版本 字段 我们已经知道如何在项目中建立问题类型和设置这些问题类型的工作流,但是这些问题的状态和内容如何清晰的展示给用户呢? 比如创建问题的时候,界面需要展示哪些内容来明确标识问题的相关信息?选择问题类型之后,如何表述问题的具体内容?所属模块.解决版本等信息都在哪体现呢?这些都需要通过界面和字段进行定义. 当我们创建界面时,需要…
public function getMin($content){//调用接口 $content_url ="http://www.ju1.cn/index.php/Index/add.html"; //curl post $content_arr = ['mgtype'=>1, 'mz_wj_type'=>1, 'ty_wj_type'=>1, 'text'=>$content, 'xw_wj_type'=>1]; $ch = curl_init();/…
基于Spark和SparkSQL的NetFlow流量的初步分析--scala语言 标签: NetFlow Spark SparkSQL 本文主要是介绍如何使用Spark做一些简单的NetFlow数据的处理,是基于 IntelliJ IDEA开发Spark 的Maven项目,本文会介绍一些简单的NetFlow基础知识,以及如何在 IntelliJ IDEA 上开发Maven项目,用Scala 写的一些简单的NetFlow字段分析统计的代码,包括 SparkCore和SparkSQL两个版本的. 初…
目录 一. SparkSQL简介 二. 数据模型 三. SparkSQL核心编程 1. IDEA开发SparkSQL 2. SparkSession 创建 关闭 获取SparkContext 3. DataFrame 3.1 入门案例 3.2 显示数据 3.3 创建DF 3.4 SQL查询语法 4. DataSet 4.1 创建DS 5. RDD.DataFrame.DataSet 三者的关系 相互转换 DataFrame Dataset 转化 DataFrame/Dataset转RDD RDD…
在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据.对于这种需求,我们可以使用保留历史数据或者使用版本来实现. 为了能够保留历史数据,在版本设计时有以下方案:   一.使用版本号 版本号是一种常见的版本设计方案,就是在要进行历史数据保留的表上面增加一个版本号字段,该字段可以是DateTime类型,也可以是int类型,每进行数据操作时,都是创建一个新的版本,版本是只增不减的,所以只需要拿到最大一个版本号,就能得到最新的业务数据.…
Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.plist文件实际上是苹果预定义schema的XML文件. 为了构建一个设备相关的健,你在健的后面要加上~iphone或者~ipad. 常用字段:   1.获取版本信息: NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary]; NSSt…
Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.plist文件实际上是苹果预定义schema的XML文件. 为了构建一个设备相关的健,你在健的后面要加上~iphone或者~ipad. 常用字段: 1.获取版本信息: NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary]; NSStri…
IP数据报的格式: IP 数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍. 对于IPv4 ,4位版本字段是4. (1)版本 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致.目前广泛使用的IP协议版本 号为4(即IPv4).关于IPv6,目前还处于草案阶段.   (2)首部长度 占4位,可表示的最大十进制数值是15.请注意,这个字段所表示数的单位是32位字长 (1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字 节.当I…
1.apache隐藏头部版本信息,编辑httpd.conf文件,找到: ServerTokens OS ServerSignature On 修改为: ServerTokens ProductOnly ServerSignature Off 2.上面的方法是默认情况下安装的Apache,如果是编译安装的,还可以用修改源码编译的方法: 进入Apache的源码目录下的include目录,然后编辑ap_release.h这个文件,你会看到有如下变量 #define AP_SERVER_BASEVEND…
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 今天是数据库脚本类的代码,所以不想过多阐述 如下数据表: create table Card( Id ,) primary key, CardNo ) unique not null, Status ) ) 上述表中有自增长字段Id,现在要求字段 CardNo 和自增长Id 相关联,譬如,当Id为1时,CardNo 应该为 Card00001,当Id为15时,CardNo应该为: Card00015 ,要求通过触发器或存储过程实现? 其中触发器…
Hbase是基于HDFS的NOsql数据库,它很多地方跟数据库差不多,也有很多不同的地方.这里就不一一列举了,不过Hbase有个版本控制的特性,这个特性在很多场景下都会发挥很大的作用.本篇就介绍下基于Shell和Java API的Hbase多版本的读写. 为了更好的理解多版本,我们可以把普通的数据存储理解成二维空间,提供了rowkey,列族,列几个存储的维度.那么版本则相当于二维空间升华到了三维空间,多了时间维度的概念.如果按照默认的操作,当前的时间戳就是版本号,每个数据都可以保留多个版本的数据…
Mysql的MVCC不能解决幻读的问题,但是Mysql还有间隙锁功能,Mysql的间隙锁工作在Repeatable Read隔离级别下面,可以防止幻读, 参考:Mysql 间隙锁原理,以及Repeatable Read隔离级别下可以防止幻读原理(百度) MySQL锁机制 读写锁 表锁 (MYISAM使用了表锁)行级锁 (InnoDB使用了行级锁) MVCC:Multi-Version Concurrency Control 多版本并发控制. 第一点: MVCC并不是MySql独有的,Oracle…
Swift获取应用版本号:version 1.获取本地版本号 /// 获取本地版本号 func getLocalVersion() -> String { var localVersion:String = "" //当前版本 if let v:String = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String{ localVersion = v…
有用户最近提出这个需求: 通过工作项定制,新增一个字段用以保存项目Bug的"影响版本"信息,但是需要从当前团队项目的服务器生成纪录中获取版本的选项,类似默认模板中的"发现版本"和"集成版本". 在使用TFS的工作项时,会看到两个这样的字段"发现版本"和"集成版本",这两个字段自动获取当前团队的服务器生成历史纪录,如下图: 按照TFS的系统设计,服务器生成的历史纪录是保存在全局列表(Global List)设…
常用字段: 1.获取版本信息: NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary]; NSString *localVersion = [infoDic objectForKey:@"CFBundleShortVersionString"]; 2.应用支持http网络请求: 在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary .    在 NSAppTranspo…
Nmap原理02 - 版本探测介绍(上) 1.介绍 本文将介绍如何通过修改或添加nmap-service-probes文件来实现对nmap中未知服务的探测,首先介绍服务和版本探测的相关信息,然后介绍服务和版本探测的原理以及nmap-service-probes的文件格式,最后通过一个例子演示修改nmap-service-probes文件识别自己的服务,本节介绍前半部分介绍+技术摘要. 转载请注明出处:http://www.cnblogs.com/liun1994/ 2. Service and…
四.Others部分 技术类 1.http状态码有哪些?分别代表是什么意思? (1).成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求,但没有返回任何内容.(2).重定向3×× 每次请求中使用重定向不要超过 5 次.301 请求的网页已永久移动到新位置.当URLs发生变化时,使用301代码. 搜索引擎索引中保存新的URL.302 请求的网页临时移动到新位置.搜索引擎索引中保存原来的URL.304 如果网页自请求者上次请求后没有更新…
约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l  双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l  “/*”和“*/”.这种类型的注释用来注释多行内容.所有在引号符“/*”和关闭符“*/”之间 的文字都会被 SQL 解析器忽略. 标识符 标识符用来表示 SQL 语句中的名字,包括表名.视图名.同义字.列名.索引名.函数名.存储过程名.用户名.角色名等等.有两种类型的标识符:未分隔标识符和分隔标识符…
Sql Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1,秒的精度是指使用多少位小数表示秒 DateTime数据类型秒的精度是3,DateTime2和Time可以控制秒的精度,语法是DateTime2(n)和time(n),n的取值范围是0-7,默认值是7. 2,DateTime数据类型存储日期和时间,需要8个字节的固定存储空间,默认的数据格式是yyyy-MM-dd hh:mm:ss.xxx,表示从1753年1月1日到9999年…
   关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) ./ runinstaller (对于Linux或UNIX)白桃花心木P6企业项目组合管理 物理介质或下载安装以下P6 EPPM应用程序: 请注意 :你不需要安装 应用程序,你可以选择你安装什么. 然而,您必须安装 P6运行其他P6 EPPM应用程序. 4 P6(和它的帮助和教程) 4 P6团队成员接…
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基.Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(…
[A Top-Down Approach][第二章 应用层] 标签(空格分隔): 未分类 网络应用是计算机网络存在的理由 首先从定义几个关键的应用层概念开始 应用程序所需要的网络服务,客户和服务器,进程和运输层接口. 然后详细考察几种网络应用程序. Web,电子邮件,DNS,和对等文件分发. 涉及开发运行在TCP和UDP上的应用程序. 学习套接字 API 浮光掠影的用Python写一些简单的客户-服务器应用程序. 2.1 应用层协议原理 2.1.1 网络应用程序体系结构 应用程序体系结构(app…