- 理解Gunicorn:Python WSGI服务器的基石
范范0825
ipythonlinux运维
理解Gunicorn:PythonWSGI服务器的基石介绍Gunicorn,全称GreenUnicorn,是一个为PythonWSGI(WebServerGatewayInterface)应用设计的高效、轻量级HTTP服务器。作为PythonWeb应用部署的常用工具,Gunicorn以其高性能和易用性著称。本文将介绍Gunicorn的基本概念、安装和配置,帮助初学者快速上手。1.什么是Gunico
- swagger访问路径
igotyback
swagger
Swagger2.x版本访问地址:http://{ip}:{port}/{context-path}/swagger-ui.html{ip}是你的服务器IP地址。{port}是你的应用服务端口,通常为8080。{context-path}是你的应用上下文路径,如果应用部署在根路径下,则为空。Swagger3.x版本对于Swagger3.x版本(也称为OpenAPI3)访问地址:http://{ip
- mysql禁用远程登录
igotyback
mysql
去mysql库中的user表里,将host都改成localhost之后刷新权限FLUSHPRIVILEGES;
- 高级编程--XML+socket练习题
masa010
java开发语言
1.北京华北2114.8万人上海华东2,500万人广州华南1292.68万人成都华西1417万人(1)使用dom4j将信息存入xml中(2)读取信息,并打印控制台(3)添加一个city节点与子节点(4)使用socketTCP协议编写服务端与客户端,客户端输入城市ID,服务器响应相应城市信息(5)使用socketTCP协议编写服务端与客户端,客户端要求用户输入city对象,服务端接收并使用dom4j
- Google earth studio 简介
陟彼高冈yu
旅游
GoogleEarthStudio是一个基于Web的动画工具,专为创作使用GoogleEarth数据的动画和视频而设计。它利用了GoogleEarth强大的三维地图和卫星影像数据库,使用户能够轻松地创建逼真的地球动画、航拍视频和动态地图可视化。网址为https://www.google.com/earth/studio/。GoogleEarthStudio是一个基于Web的动画工具,专为创作使用G
- PHP环境搭建详细教程
好看资源平台
前端php
PHP是一个流行的服务器端脚本语言,广泛用于Web开发。为了使PHP能够在本地或服务器上运行,我们需要搭建一个合适的PHP环境。本教程将结合最新资料,介绍在不同操作系统上搭建PHP开发环境的多种方法,包括Windows、macOS和Linux系统的安装步骤,以及本地和Docker环境的配置。1.PHP环境搭建概述PHP环境的搭建主要分为以下几类:集成开发环境:例如XAMPP、WAMP、MAMP,这
- 使用 FinalShell 进行远程连接(ssh 远程连接 Linux 服务器)
编程经验分享
开发工具服务器sshlinux
目录前言基本使用教程新建远程连接连接主机自定义命令路由追踪前言后端开发,必然需要和服务器打交道,部署应用,排查问题,查看运行日志等等。一般服务器都是集中部署在机房中,也有一些直接是云服务器,总而言之,程序员不可能直接和服务器直接操作,一般都是通过ssh连接来登录服务器。刚接触远程连接时,使用的是XSHELL来远程连接服务器,连接上就能够操作远程服务器了,但是仅用XSHELL并没有上传下载文件的功能
- 关于提高复杂业务逻辑代码可读性的思考
编程经验分享
开发经验java数据库开发语言
目录前言需求场景常规写法拆分方法领域对象总结前言实际工作中大部分时间都是在写业务逻辑,一般都是三层架构,表示层(Controller)接收客户端请求,并对入参做检验,业务逻辑层(Service)负责处理业务逻辑,一般开发都是在这一层中写具体的业务逻辑。数据访问层(Dao)是直接和数据库交互的,用于查数据给业务逻辑层,或者是将业务逻辑层处理后的数据写入数据库。简单的增删改查接口不用多说,基本上写好一
- SQL Server_查询某一数据库中的所有表的内容
qq_42772833
SQLServer数据库sqlserver
1.查看所有表的表名要列出CrabFarmDB数据库中的所有表(名),可以使用以下SQL语句:USECrabFarmDB;--切换到目标数据库GOSELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_TYPE='BASETABLE';对这段SQL脚本的解释:SELECTTABLE_NAME:这个语句的作用是从查询结果中选择TABLE_NAM
- 深入理解 MultiQueryRetriever:提升向量数据库检索效果的强大工具
nseejrukjhad
数据库python
深入理解MultiQueryRetriever:提升向量数据库检索效果的强大工具引言在人工智能和自然语言处理领域,高效准确的信息检索一直是一个关键挑战。传统的基于距离的向量数据库检索方法虽然广泛应用,但仍存在一些局限性。本文将介绍一种创新的解决方案:MultiQueryRetriever,它通过自动生成多个查询视角来增强检索效果,提高结果的相关性和多样性。MultiQueryRetriever的工
- git - Webhook让部署自动化
大猪大猪
我们现在有一个需求,将项目打包上传到gitlab或者github后,程序能自动部署,不用手动地去服务器中进行项目更新并运行,如何做到?这里我们可以使用gitlab与github的挂钩,挂钩的原理就是,每当我们有请求到gitlab与github服务器时,这时他俩会根据我们配置的挂钩地扯进行访问,webhook挂钩程序会一直监听着某个端口请求,一但收到他们发过来的请求,这时就知道用户有请求提交了,这时
- MYSQL面试系列-04
king01299
面试mysql面试
MYSQL面试系列-0417.关于redolog和binlog的刷盘机制、redolog、undolog作用、GTID是做什么的?innodb_flush_log_at_trx_commit及sync_binlog参数意义双117.1innodb_flush_log_at_trx_commit该变量定义了InnoDB在每次事务提交时,如何处理未刷入(flush)的重做日志信息(redolog)。它
- MongoDB Oplog 窗口
喝醉酒的小白
MongoDB运维
在MongoDB中,oplog(操作日志)是一个特殊的日志系统,用于记录对数据库的所有写操作。oplog允许副本集成员(通常是从节点)应用主节点上已经执行的操作,从而保持数据的一致性。它是MongoDB副本集实现数据复制的基础。MongoDBOplog窗口oplog窗口是指在MongoDB副本集中,从节点可以用来同步数据的时间范围。这个窗口通常由以下因素决定:Oplog大小:oplog的大小是有限
- 数据仓库——维度表一致性
墨染丶eye
背诵数据仓库
数据仓库基础笔记思维导图已经整理完毕,完整连接为:数据仓库基础知识笔记思维导图维度一致性问题从逻辑层面来看,当一系列星型模型共享一组公共维度时,所涉及的维度称为一致性维度。当维度表存在不一致时,短期的成功难以弥补长期的错误。维度时确保不同过程中信息集成起来实现横向钻取货活动的关键。造成横向钻取失败的原因维度结构的差别,因为维度的差别,分析工作涉及的领域从简单到复杂,但是都是通过复杂的报表来弥补设计
- python os 环境变量
CV矿工
python开发语言numpy
环境变量:环境变量是程序和操作系统之间的通信方式。有些字符不宜明文写进代码里,比如数据库密码,个人账户密码,如果写进自己本机的环境变量里,程序用的时候通过os.environ.get()取出来就行了。os.environ是一个环境变量的字典。环境变量的相关操作importos"""设置/修改环境变量:os.environ[‘环境变量名称’]=‘环境变量值’#其中key和value均为string类
- 【PG】常见数据库、表属性设置
江无羡
数据库
PG的常见属性配置方法数据库复制、备份相关表的复制标识单表操作批量表操作链接数据库复制、备份相关表的复制标识单表操作通过ALTER语句单独更改一张表的复制标识。ALTERTABLE[tablename]REPLICAIDENTITYFULL;批量表操作通过代码块的方式,对某个schema中的所有表一起更新其复制标识。SELECTtablename,CASErelreplidentWHEN'd'TH
- nosql数据库技术与应用知识点
皆过客,揽星河
NoSQLnosql数据库大数据数据分析数据结构非关系型数据库
Nosql知识回顾大数据处理流程数据采集(flume、爬虫、传感器)数据存储(本门课程NoSQL所处的阶段)Hdfs、MongoDB、HBase等数据清洗(入仓)Hive等数据处理、分析(Spark、Flink等)数据可视化数据挖掘、机器学习应用(Python、SparkMLlib等)大数据时代存储的挑战(三高)高并发(同一时间很多人访问)高扩展(要求随时根据需求扩展存储)高效率(要求读写速度快)
- SpringBlade dict-biz/list 接口 SQL 注入漏洞
文章永久免费只为良心
oracle数据库
SpringBladedict-biz/list接口SQL注入漏洞POC:构造请求包查看返回包你的网址/api/blade-system/dict-biz/list?updatexml(1,concat(0x7e,md5(1),0x7e),1)=1漏洞概述在SpringBlade框架中,如果dict-biz/list接口的后台处理逻辑没有正确地对用户输入进行过滤或参数化查询(PreparedSta
- Linux MariaDB使用OpenSSL安装SSL证书
Meta39
MySQLOracleMariaDBLinuxWindowsssllinuxmariadb
进入到证书存放目录,批量删除.pem证书警告:确保已经进入到证书存放目录find.-typef-iname\*.pem-delete查看是否安装OpenSSLopensslversion没有则安装yuminstallopensslopenssl-devel开启SSL编辑/etc/my.cnf文件(没有的话就创建,但是要注意,在/etc/my.cnf.d/server.cnf配置了datadir的,
- insert into select 主键自增_mybatis拦截器实现主键自动生成
weixin_39521651
insertintoselect主键自增mybatisdelete返回值mybatisinsert返回主键mybatisinsert返回对象mybatisplusinsert返回主键mybatisplus插入生成id
前言前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键。于是我就问他,那你们数据库表设置主键自动递增不就得了。他的回答是他们项目目前的id都是采用雪花算法来生成,因此为了项目稳定性,不会切换id的生成方式。朋友问我有没有什么实现思路,他们公司的orm框架是mybatis,我就建议他说,不然让你老大把mybatis切换成mybatis-plus。mybat
- 网络编程基础
记得开心一点啊
网络
目录♫什么是网络编程♫Socket套接字♪什么是Socket套接字♪数据报套接字♪流套接字♫数据报套接字通信模型♪数据报套接字通讯模型♪DatagramSocket♪DatagramPacket♪实现UDP的服务端代码♪实现UDP的客户端代码♫流套接字通信模型♪流套接字通讯模型♪ServerSocket♪Socket♪实现TCP的服务端代码♪实现TCP的客户端代码♫什么是网络编程网络编程,指网络上
- 关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
秋刀prince
mysqlmysql数据库
提示:啰嗦一嘴,数据库的任何操作和验证前,一定要记得先备份!!!不会有错;文章目录问题发现一、问题导致的可能原因1、页大小2、行格式2.1compact格式2.2Redundant格式2.3Dynamic格式2.4Compressed格式3、BLOB和TEXT列二、解决办法1、修改页大小(不推荐)2、修改行格式3、修改数据类型为BLOB和TEXT列4、其他优化方式(可以参考使用)4.1合理设置数据
- Java爬虫框架(一)--架构设计
狼图腾-狼之传说
java框架java任务html解析器存储电子商务
一、架构图那里搜网络爬虫框架主要针对电子商务网站进行数据爬取,分析,存储,索引。爬虫:爬虫负责爬取,解析,处理电子商务网站的网页的内容数据库:存储商品信息索引:商品的全文搜索索引Task队列:需要爬取的网页列表Visited表:已经爬取过的网页列表爬虫监控平台:web平台可以启动,停止爬虫,管理爬虫,task队列,visited表。二、爬虫1.流程1)Scheduler启动爬虫器,TaskMast
- Linux查看服务器日志
TPBoreas
运维linux运维
一、tail这个是我最常用的一种查看方式用法如下:tail-n10test.log查询日志尾部最后10行的日志;tail-n+10test.log查询10行之后的所有日志;tail-fn10test.log循环实时查看最后1000行记录(最常用的)一般还会配合着grep用,(实时抓包)例如:tail-fn1000test.log|grep'关键字'(动态抓包)tail-fn1000test.log
- MongoDB知识概括
GeorgeLin98
持久层mongodb
MongoDB知识概括MongoDB相关概念单机部署基本常用命令索引-IndexSpirngDataMongoDB集成副本集分片集群安全认证MongoDB相关概念业务应用场景:传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:①Highperformance-对数据库高并发读写的需求。②HugeStorage-对海量数
- Mongodb Error: queryTxt ETIMEOUT xxxx.wwwdz.mongodb.net
佛一脚
errorreactmongodb数据库
背景每天都能遇到奇怪的问题,做个记录,以便有缘人能得到帮助!换了一台电脑开发nextjs程序。需要连接mongodb数据,对数据进行增删改查。上一台电脑好好的程序,新电脑死活连不上mongodb数据库。同一套代码,没任何修改,搞得我怀疑人生了,打开浏览器进入mongodb官网毫无问题,也能进入线上系统查看数据,网络应该是没问题。于是我尝试了一下手机热点,这次代码能正常跑起来,连接数据库了!!!是不
- Python多线程实现大规模数据集高效转移
sand&wich
网络python服务器
背景在处理大规模数据集时,通常需要在不同存储设备、不同服务器或文件夹之间高效地传输数据。如果采用单线程传输方式,当数据量非常大时,整个过程会非常耗时。因此,通过多线程并行处理可以大幅提升数据传输效率。本文将分享一个基于Python多线程实现的高效数据传输工具,通过遍历源文件夹中的所有文件,将它们移动到目标文件夹。工具和库这个数据集转移工具主要依赖于以下Python标准库:os:用于文件系统操作,如
- JAVA·一个简单的登录窗口
MortalTom
java开发语言学习
文章目录概要整体架构流程技术名词解释技术细节资源概要JavaSwing是Java基础类库的一部分,主要用于开发图形用户界面(GUI)程序整体架构流程新建项目,导入sql.jar包(链接放在了文末),编译项目并运行技术名词解释一、特点丰富的组件提供了多种可视化组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、下拉列表(JComboBox)等,可以满足不同的界面设计
- 笋丁网页自动回复机器人V3.0.0免授权版源码
希希分享
软希网58soho_cn源码资源笋丁网页自动回复机器人
笋丁网页机器人一款可设置自动回复,默认消息,调用自定义api接口的网页机器人。此程序后端语言使用Golang,内存占用最高不超过30MB,1H1G服务器流畅运行。仅支持Linux服务器部署,不支持虚拟主机,请悉知!使用自定义api功能需要有一定的建站基础。源码下载:https://download.csdn.net/download/m0_66047725/89754250更多资源下载:关注我。安
- 入门MySQL——查询语法练习
K_un
前言:前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法。其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用的员工示例数据库为准,详细介绍各自常用的查询语法。1.员工示例数据库导入官方文档员工示例数据库介绍及下载链接:https://dev.mysql.com/doc/employee/en/employees-installation.h
- 辗转相处求最大公约数
沐刃青蛟
C++漏洞
无言面对”江东父老“了,接触编程一年了,今天发现还不会辗转相除法求最大公约数。惭愧惭愧!
为此,总结一下以方便日后忘了好查找。
1.输入要比较的两个数a,b
忽略:2.比较大小(因为后面要的是大的数对小的数做%操作)
3.辗转相除(用循环不停的取余,如a%b,直至b=0)
4.最后的a为两数的最大公约数
&
- F5负载均衡会话保持技术及原理技术白皮书
bijian1013
F5负载均衡
一.什么是会话保持? 在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下
- Object.equals方法:重载还是覆盖
Cwind
javagenericsoverrideoverload
本文译自StackOverflow上对此问题的讨论。
原问题链接
在阅读Joshua Bloch的《Effective Java(第二版)》第8条“覆盖equals时请遵守通用约定”时对如下论述有疑问:
“不要将equals声明中的Object对象替换为其他的类型。程序员编写出下面这样的equals方法并不鲜见,这会使程序员花上数个小时都搞不清它为什么不能正常工作:”
pu
- 初始线程
15700786134
暑假学习的第一课是讲线程,任务是是界面上的一条线运动起来。
既然是在界面上,那必定得先有一个界面,所以第一步就是,自己的类继承JAVA中的JFrame,在新建的类中写一个界面,代码如下:
public class ShapeFr
- Linux的tcpdump
被触发
tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
- 安卓程序listview优化后还是卡顿
肆无忌惮_
ListView
最近用eclipse开发一个安卓app,listview使用baseadapter,里面有一个ImageView和两个TextView。使用了Holder内部类进行优化了还是很卡顿。后来发现是图片资源的问题。把一张分辨率高的图片放在了drawable-mdpi文件夹下,当我在每个item中显示,他都要进行缩放,导致很卡顿。解决办法是把这个高分辨率图片放到drawable-xxhdpi下。
&nb
- 扩展easyUI tab控件,添加加载遮罩效果
知了ing
jquery
(function () {
$.extend($.fn.tabs.methods, {
//显示遮罩
loading: function (jq, msg) {
return jq.each(function () {
var panel = $(this).tabs(&
- gradle上传jar到nexus
矮蛋蛋
gradle
原文地址:
https://docs.gradle.org/current/userguide/maven_plugin.html
configurations {
deployerJars
}
dependencies {
deployerJars "org.apache.maven.wagon
- 千万条数据外网导入数据库的解决方案。
alleni123
sqlmysql
从某网上爬了数千万的数据,存在文本中。
然后要导入mysql数据库。
悲剧的是数据库和我存数据的服务器不在一个内网里面。。
ping了一下, 19ms的延迟。
于是下面的代码是没用的。
ps = con.prepareStatement(sql);
ps.setString(1, info.getYear())............;
ps.exec
- JAVA IO InputStreamReader和OutputStreamReader
百合不是茶
JAVA.io操作 字符流
这是第三篇关于java.io的文章了,从开始对io的不了解-->熟悉--->模糊,是这几天来对文件操作中最大的感受,本来自己认为的熟悉了的,刚刚在回想起前面学的好像又不是很清晰了,模糊对我现在或许是最好的鼓励 我会更加的去学 加油!:
JAVA的API提供了另外一种数据保存途径,使用字符流来保存的,字符流只能保存字符形式的流
字节流和字符的难点:a,怎么将读到的数据
- MO、MT解读
bijian1013
GSM
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
- 五个JavaScript基础问题
bijian1013
JavaScriptcallapplythisHoisting
下面是五个关于前端相关的基础问题,但却很能体现JavaScript的基本功底。
问题1:Scope作用范围
考虑下面的代码:
(function() {
var a = b = 5;
})();
console.log(b);
什么会被打印在控制台上?
回答:
上面的代码会打印 5。
&nbs
- 【Thrift二】Thrift Hello World
bit1129
Hello world
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程
1. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错
<dependency>
- 【Avro一】Avro入门
bit1129
入门
本文的目的主要是总结下基于Avro Schema代码生成,然后进行序列化和反序列化开发的基本流程。需要指出的是,Avro并不要求一定得根据Schema文件生成代码,这对于动态类型语言很有用。
1. 添加Maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<proj
- 安装nginx+ngx_lua支持WAF防护功能
ronin47
需要的软件:LuaJIT-2.0.0.tar.gz nginx-1.4.4.tar.gz &nb
- java-5.查找最小的K个元素-使用最大堆
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
- TCP的TIME-WAIT
bylijinnan
socket
原文连接:
http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html
以下为对原文的阅读笔记
说明:
主动关闭的一方称为local end,被动关闭的一方称为remote end
本地IP、本地端口、远端IP、远端端口这一“四元组”称为quadruplet,也称为socket
1、TIME_WA
- jquery ajax 序列化表单
coder_xpf
Jquery ajax 序列化
checkbox 如果不设定值,默认选中值为on;设定值之后,选中则为设定的值
<input type="checkbox" name="favor" id="favor" checked="checked"/>
$("#favor&quo
- Apache集群乱码和最高并发控制
cuisuqiang
apachetomcat并发集群乱码
都知道如果使用Http访问,那么在Connector中增加URIEncoding即可,其实使用AJP时也一样,增加useBodyEncodingForURI和URIEncoding即可。
最大连接数也是一样的,增加maxThreads属性即可,如下,配置如下:
<Connector maxThreads="300" port="8019" prot
- websocket
dalan_123
websocket
一、低延迟的客户端-服务器 和 服务器-客户端的连接
很多时候所谓的http的请求、响应的模式,都是客户端加载一个网页,直到用户在进行下一次点击的时候,什么都不会发生。并且所有的http的通信都是客户端控制的,这时候就需要用户的互动或定期轮训的,以便从服务器端加载新的数据。
通常采用的技术比如推送和comet(使用http长连接、无需安装浏览器安装插件的两种方式:基于ajax的长
- 菜鸟分析网络执法官
dcj3sjt126com
网络
最近在论坛上看到很多贴子在讨论网络执法官的问题。菜鸟我正好知道这回事情.人道"人之患好为人师" 手里忍不住,就写点东西吧. 我也很忙.又没有MM,又没有MONEY....晕倒有点跑题.
OK,闲话少说,切如正题. 要了解网络执法官的原理. 就要先了解局域网的通信的原理.
前面我们看到了.在以太网上传输的都是具有以太网头的数据包. 
- Android相对布局属性全集
dcj3sjt126com
android
RelativeLayout布局android:layout_marginTop="25dip" //顶部距离android:gravity="left" //空间布局位置android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的
- Tomcat内存设置详解
eksliang
jvmtomcattomcat内存设置
Java内存溢出详解
一、常见的Java内存溢出有以下三种:
1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
可以利用JVM提
- Java6 JVM参数选项
greatwqs
javaHotSpotjvmjvm参数JVM Options
Java 6 JVM参数选项大全(中文版)
作者:Ken Wu
Email:
[email protected]
转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Opt
- weblogic创建JMC
i5land
weblogicjms
进入 weblogic控制太
1.创建持久化存储
--Services--Persistant Stores--new--Create FileStores--name随便起--target默认--Directory写入在本机建立的文件夹的路径--ok
2.创建JMS服务器
--Services--Messaging--JMS Servers--new--name随便起--Pers
- 基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
justjavac
DHT
上周开发了一个磁力链接和 BT 种子的搜索引擎 {Magnet & Torrent},本文简单介绍一下主要的系统功能和用到的技术。
系统包括几个独立的部分:
使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子;
使用 PHP CI 框架开发的简易网站;
搜索引擎目前直接使用的 MySQL,将来可以考虑使
- sql添加、删除表中的列
macroli
sql
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
- PHP中二维数组的排序方法
abc123456789cba
排序二维数组PHP
<?php/*** @package BugFree* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $*** Sort an two-dimension array by some level
- hive优化之------控制hive任务中的map数和reduce数
superlxw1234
hivehive优化
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 
- Spring Boot 1.2.4 发布
wiselyman
spring boot
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多
三、关系型数据仓库
SQL Server 2005 关系数据库引擎包含一些对数据仓库样式应用程序设计和维护大有帮助的功能。这些功能包括:
• 对于超大型的表而言,表分区可快速数据的加载速度,并简化维护过程。
• 轻松创建报告服务器
• Transact-SQL 方面的改进包括新增的数据类型和新增的分析功能
• 联机索引操作
• 细化备份/还原操作
• 快速初始化文件
报告服务器
要想将关系操作报告从事务处理数据库中分离出来,经常采用的一项技术便是维护一台报告服务器。报告服务器对事务处理数据库映像的维护一般都有一定的时间延迟,通常截止到前一天。报告服务器多用于报告功能和数据仓库提取。
Microsoft SQL Server 2005 新增了两项功能,使报告服务器的创建和维护过程变得更加简单。SQL Server 报告服务器的延迟时间与以前相比大大缩短。同时,报告服务器被设计为充当事务处理系统的备选系统。
要创建报告服务器,先要创建一个数据库镜像,这是 SQL Server 2005 的新增功能,它为系统的高可用性提供了一个紧急备用系统。更多信息,请阅读联机丛书的“数据库镜像概念”主题。数据库镜像不能够直接查询,这时第二个新增功能就能派上用场了。
在镜像上创建一个数据库视图。数据库视图是数据库在某个时点的只读副本。数据库视图并非数据库的完整副本;极为节省空间。多个数据库视图还是可以同时共存,虽然维护数据库视图会对数据库视图所基于的事务处理数据库产生一定的影响。更多信息,请阅读联机丛书的“了解数据库视图”主题。
通过在数据库镜像上创建数据库视图,您可轻松为系统的高可用性创建备用服务器,此服务器还可用作报告服务器,起着双重作用。
表分区
分区表和分区索引将数据分割到多个水平单元中,以便于将行组映射到单独的分区中。而对数据执行操作(如查询)时,又可以将整个表或索引作为一个整体来执行。
分区可以:
• 改善数据表和索引的可管理性。
• 改善多 CPU 机器上的查询性能。
在关系型数据仓库中,事实数据表比较适合应用表分区,而按日期范围分区又是最常见的分区策略。
正如联机从书的“创建分区表和索引”主题中所描述的,定义分区表可分为三个步骤:
1.
创建一个分区函数,指定使用此函数的表如何分区。
2.
创建一个分区方案,指定应用此分区函数的分区在文件组上的位置。
3.
使用此分区方案创建一个表或索引。
多个表可以使用同一个分区方案。
本文讨论了事实数据表的“范围”分区,但其目的并非是针对表分区的完整讨论或教程。有兴趣的读者请参阅 SQL Server 联机丛书。
最常用的分区方案是按日期范围(如年、季、月或甚至天)对事实数据表进行分区。在大多数情况下,对大型事实数据表进行日期分区可以提供良好的可管理性收益。为了改善查询性能,应尽量使用相同的分区方案对时间维度表进行分区。
• 分区表和未分区表的行为方式相同。
• 针对表的查询能够得到正确解析。
• 针对表的直接插入、更新和删除会被自动解析到适当的分区。
使用数据表分区快速加载数据
许多数据仓库应用程序都力求在越来越小的加载窗口中加载越来越多的数据量。典型的流程是这样的,先从几个源系统中提取数据开始,接下来便是在这些系统间清理、转换、合成和合理化数据。数据管理应用程序被限制为在加载窗口中完成整个提取、转换和加载流程。通常,系统的业务用户都强烈要求将数据仓库查询时的不可用时间降至最低。在设计时,数据管理应用程序的“写入”步骤(即将新数据插入到现有数据仓库的步骤)必须在短时间内完成,且要最小化对用户造成的影响。
为了非常快速地加载数据,数据库恢复模型必须为“批量记录”恢复模式或“简单”恢复模式,而数据表必须为空,或是包含数据但不包含索引。如果满足这些条件,不作记录的加载便成为可能。在 SQL Server 2000 中,分区表出现以前,这些条件通常只在初始历史数据仓库加载中才能满足。一些具有大型数据仓库的客户已通过在分散的物理表上搭建 UNION ALL 视图,构建了一个准分区结构;这些数据表都使用不记录技术填充每个加载周期。这一方法并不尽如人意,而 SQL Server 2005 分区表则提供了更为优秀的功能。
在 SQL Server 2005 中,您不能直接在分区中执行不记录加载。但是,却可以将数据加载到将调用伪分区的单独表中。在特定条件下,您可以用执行速度极快的元数据操作将伪分区切换到分区表中。此技术可满足我们的两个要求:
• 最小化整体加载时间:在不作记录的情况下执行伪分区加载,以及
• 最小化对最终用户的影响,并确保数据仓库的完整性:伪分区可以在用户查询数据仓库时被加载。在执行分区切换之前,数据管理应用程序会等到所有事实数据表全部加载完毕为止。分区切换的执行速度非常快,反应时间通常不到一秒。
此外,伪分区还可作为单独的表进行备份,从而改善系统的可管理性。
使用表分区快速删除数据
许多数据仓库在数据仓库中保留了一个详细活动数据的滑动窗口。例如,事实数据表可能包含三年、五年或十年的数据。每到一个时间周期,便从数据表中删除最旧的数据。持续删除数据的主要原因在于要提高查询性能并最小化存储成本。
SQL Server 2005 分区使大型分区事实数据表中旧数据的删除倍加轻松。如上所述,简单地创建一个空白伪分区,然后将其切换到分区表中。分区表在其曾植入分区的地方有一个空白分区;伪分区在其曾为空白的地方包含数据。用户可以根据需要对伪分区进行适当的备份、截断或删除。
或者,您还可以选择重新定义分区函数,将所有空白分区合并到一个分区中。
Transact-SQL 方面的改进
新的数据类型
SQL Server 2005 中有一些很重要的新类型,这些类型对数据仓库大有裨益:
• Varchar(max)、nvarchar(max) 和 varbinary(max) 支持 2GB 的数据,对于 text、ntext 和 image 数据类型非常有用。这些扩展的字符类型可能对在数据仓库中保存扩展的元数据和其他说明性信息非常有用。
新的分析功能
许多新分析功能都提供了 Transact-SQL 中的基本分析功能。这些功能在那些允许用户查询关系数据库,而不是通过 Analysis Services 排他查询数据的数据仓库中非常有用。另外,在数据中转过程中,这些复杂的计算常被用来开发有价值的数据属性。
ROW_NUMBER。返回结果集的连续行号。
RANK。返回行在结果集中的等级。在通常情况下,RANK 值与有序数据集上的 ROW_NUMBER 值相同。但对于那些彼此之间有关联的行来说,则是所有具有相同排序值的行都有相同的等级。而下一个等级则又与 ROW_NUMBER 值相同。换句话说,如果在第一个位置存在双向关联,那么行 1 和行 2 的 RANK 就都为 1,而行 3 的 RANK 则为 3。不存在 RANK 为 2 的行。
DENSE_RANK。返回行在结果集中的等级。DENSE_RANK 函数与 RANK 相似,只是去除了 RANK 函数所留下的空隙。在上面的示例中,行 1 和行 2 的 RANK 为 1,而行 3 的 RANK 则为 2。
NTILE。将有序集分成指定数量、大小近似相等的组。
在 SQL Server 2005 Beta 2 中还不能使用这些函数。
PIVOT 和 UNPIVOT 操作符
PIVOT 操作符可以按查询中的中断值旋转结果集,从而使您可以生成交叉数据报告。例如,如果表中在两个不同的行中包含 "Actuals" 和 "Budgets" 数据,则使用 PIVOT 操作符将可以生成带有 [Actuals] 和 [Budgets] 列的交叉数据报告。
与之相似,UNPIVOT 操作符可以将一行拆分为若干行。在此示例中,带有 [Actuals] 和 [Budgets] 列的行集可以被转换为包含这些值的多个行。
在以前的 SQL Server 版本中,用户能够编写复杂的 Transact-SQL SELECT 语句来旋转数据。PIVOT 和 UNPIVOT 操作符则为数据旋转提供了更为简单的机制。
递归查询
在许多方案中,“递归查询”都是非常有用的。SQL Server 2005 中的新增功能令递归查询成为可能,虽然此项功能还不是十分简单易用。
递归查询是针对自联接表的查询。自联接表的两个常见示例有保存员工及其经理信息的数据表,和保存材料清单的数据表。在 AdventureWorks 数据库的 Employee 表中对自联接数据表进行了说明。
查询自联接表的直接关系通常十分简单,如查询直接向经理报告的员工数量。但是,如果要回答“经理的组织中有多少名员工?”这样一个问题却十分困难。
SQL Server 2005 中的关系数据库功能解决了这一问题,这一功能被称为“递归通用表表达式”。“附录”中包含一个递归查询的示例,该示例回答了以上定义的问题。联机丛书的 "WITH
四、提取、转换和加载 (ETL)
数据转换服务 (DTS) 对于 SQL Server 2005 而言,是一项全新的技术。DTS 是 SQL Server 2000 中很受欢迎的一项功能,但 DTS 2005 已被重新设计成企业 ETL 平台。DTS 为构建企业级 ETL 应用程序提供了大量必需的功能,以及非常高的扩展性能。DTS 是完全可编程的、嵌入式的、可扩展的——所有这些特性都使它成为理想的 ETL 平台。
下表总结了 DTS 2005 的这些功能。有关 ETL 系统开发 DTS 适用性更加完整的讨论,请参阅 SQL Server 联机丛书。
包开发
SQL Server 2005 的 DTS 功能 企业 ETL 开发 ETL 平台
使用 Business Intelligence Development Studio 图形用户界面设计数据管理应用程序的 DTS 包。DTS 包的设计、开发和调试均在 Business Intelligence Development Studio 中完成,您只需从工具栏拖动任务、为其设置属性并将任务与优先约束相连接便可完成这一切。
•
使用 SQL Server Management Studio 向导开发执行常规任务(如“复制数据库”)的简单 DTS 包。
•
软件供应商将在其产品中嵌入 DTS 功能,构建按需生成自定义包的向导。
•
将控制流从数据流中分离出来。大多数的 DTS 包都包含多个控制流任务,以及循环任务或顺序任务,这些任务都被放置在控制流窗格中。控制任务(管道任务)是包的工作动力,它拥有自己的设计表面,可用于布置数据流。控制流和数据流的分离使得程序更加容易读取。
•
包变量是经过定义且可见的。变量是受限制的,如受包、循环或任务的限制。
•
复杂的 ETLM 系统可以通过构建包网络实现,其中包含一个调用其他包的包。子包可以很好地重新使用逻辑、变量和上下文。DTS 2005 与 DTS 2000 相比,对嵌套数据包的需求有所减少。
•
包配置框架是可扩展的系统,可用于自定义包在不同环境中的运行方式。
•
DTS 程序以 XML 格式存储在文件系统或 SQL Server 中。DTS XML 文件可受源代码管理。
• •
DTS 2000 包迁移向导可以帮助您将包迁移至 DTS 2005,它还可以在出现升级问题的地方提供警告。
•
DTS 2000 运行时包含在 SQL Server 2005 中,在不升级 DTS 2000 包的情况下,仍可运行。
•
包的操作和结果会以多种形式被记录下来,分发给广泛的提供程序。
• •
事件处理程序逻辑只需定义一次,便可多次使用。
• •
与 WMI 的集成表明包可以对外部事件(例如文件复制的完成)作出响应,或抛出可供其他进程使用的 WMI 事件。
• •
包可重启性与事务控制和故障检查点一起,可以帮助管理员管理复杂的包,移动大量数据。
•
控制流
SQL Server 2005 的 DTS 功能 企业 ETL 开发 ETL 平台
优先约束:您可以设计一个包,以在任务成功、失败或完成时将控制传递给这些不同的任务。
•
循环任务包括 For、ForEach 和 Sequence 循环。包开发人员可以在数据的所有(或一组)表上、目录中的文件上或是 Analysis Services 多维数据集分区上轻松执行一组操作。
•
Analysis Services 集成是无缝的,它与自动执行 Analysis Services DDL 的控制任务一起处理 Analysis Services 对象,或执行数据挖掘查询。正如下面所讨论的,DTS 管理还集成了 Analysis Services。
•
VB.NET 脚本可与“脚本任务”一起使用。被称为“ActiveX 脚本任务”的第二个脚本任务主要用于向后兼容 DTS 2000。
•
通信任务包括:
• 消息队列
• 发送邮件
•
其他控制流任务包括:
• 大容量插入
• 执行包
• 执行进程
• 执行 SQL
• 文件系统
• FTP
•
其他任务可以使用 DTS 对象模型轻松开发。
•
数据流
SQL Server 2005 的 DTS 功能 企业 ETL 开发 ETL 平台
在数据流管道中存在多个源、转换和目的。只有在转换完成时,数据才能被读取、合并和操作,然后才能写入。中转表所需的多次写入被削弱或消除;转换性能得到极大提高。
•
“DTS 管道”任务使用来自多个异类数据源和本机的数据。可扩展的“数据源”体系结构支持来自平面文件、OLEDB 源(包括 DB2 和 Oracle)和原始文件的数据。其他源,包括使用特殊结构化数据的源都在计划之内。
• •
其他数据源可以由 Microsoft 及其合作伙伴轻松开发。
•
来自多个源的数据可以与联接、查找和联合操作符相联接。这些操作都在内存中执行,不需要对数据库或文件执行写入操作。
•
数据流可以使用条件分离和多播转换。类似编译器的 DTS 引擎确定了可以平行操作哪些数据流。
•
大量基于行的数据转换都是由字符映射、复制映射、数据转换和派生列转换所提供的。这些操作符更像是向导,而非转换,它们提供了用户所需的大部分数据转换。
•
有些数据转换任务需要对多个行中的数据进行比较。排序和聚合转换可以在数据流中以极高的性能执行这些操作,其性能远非数据库聚合可及。
•
有些数据转换任务需要复杂逻辑,例如模糊匹配、模糊分组、时间维度生成以及旋转或反旋转。其他常见任务(例如维度键管理)则需要多个步骤。特殊技术和向导使这些复杂技术可供所有用户使用。
•
转换后的数据可以写入异类目标,其中包括 SQL Server 表、OLEDB 数据库表、平面文件以及原始文件。
• •
转换后的数据可以与 Microsoft BI 解决方案的其他组件集成,其中包括 Analysis Services 数据库和数据挖掘模型。
•
由转换步骤所导致的错误流可以以多种方式进行管理:
• 进程内转换可以“修复”数据并重新提交主要流。
• 错误流可以被记录到表或文件中,以备脱机研究和重新提交。
• •
其他转换和目的可以由 Microsoft 及其合作伙伴轻松开发。
•
开发和调试
SQL Server 2005 的 DTS 功能 企业 ETL 开发 ETL 平台
包开发商可以在每个控制流任务中定义控制流断点。在调试过程中,断点可以定义在某些任务执行点之前、之后,或定义在这些任务执行点。
•
包开发商可以为数据流中的每个转换附加一个数据查看器。在调试过程中,数据查看器会显示在该点的转换后数据流内容。
•
Business Intelligence Development Studio 寄宿在 Visual Studio 中。脚本及其他编程任务可以充分利用该企业开发环境的优点。
• •
包开发可以帮助用户将所有包组件(包括自定义脚本和可执行程序)捆绑在一起,以用于发行测试、生产或其他客户系统。
•
可供 DTS 2000 开发人员使用的 DTS 2005
DTS 2000 用户已经开发出了一套执行复杂操作的技巧。这些技巧,尤其是编写自修改包,在 DTS 2005 中不再有用武之地。在 DTS 2005 中要使用变量和配置基础结构来编写动态包、不要再试图编写自修改包。
配置良好的变量和配置基础结构还可以减少创建复杂子包系统的需求。如果设计完善,单一包便可满足多种需求;例如,单一包可以在多种不同配置中重复使用,以用来在维度数据仓库中加载许多维度表。在 DTS 2000 中,一个复杂的 DTS 包网络可能包括 50-100 个包;而在 DTS 2005 中,一个复杂的网络可能只包含 10 个包。