Zookeeper使用
Zookeeper使用Zookeeper概述
Zookeeper是apache Hadoop项目下的一个子项目,是一个树形目录服务
Zookeeper是一个分布式、开源的分布式应用程序的协调服务
Zookeeper提供的主要功能
配置管理
分布式锁
集群管理
注册中心
Zookeeper安装参考博客
Zookeeper命令操作我们可以通过命令行或者Java API的方式对Zookeeper进行操作
Zookeeper数据模型
zookeeper是一个树形目录服务,其数据模型和Unix文件系统目录树很类似,拥有一个层次化结构
里面的每一个节点都被称为ZNode,每个节点上都会保存自己的数据和节点信息(比如节点创建时间、节点有多少个子节点等信息)
节点可以拥有子节点,同时允许少量数据(1M)存储在该节点之下
里面的节点可以分为四大类
PERSISTENT持久化节点
EPHEMERAL临时节点,-e
临时的意思就是节点只在当前会话有效,客户端关闭节点就会消失
PERSISTENT_SEQUENTIAL持久化顺序节点,-s
顺序的意思就是创建节点的时候会在节点名后面加上数字序 ...
Java Stream流
Java Stream流
创建不可变集合
Stream流
方法引用
创建不可变集合所谓的不可变集合是指不可以被修改的集合,即长度不可修改、内容也不可修改
不可变集合应用场景:
不想让别人修改集合里的内容
如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践
当集合对象被不可信的库调用时,不可变形式是安全的
比如:
扑克牌集合,一共4*13=52张牌,不允许添加新的牌
出牌游戏规则
电脑里的硬件信息,这些信息电脑开机获取,开机之后不允许其他程序修改
如何创建不可变的集合:
在List、Set、Map 接口中,都存在静态的of方法,可以获取一个不可变的集合,这个集合不能添加,不能删除,也不能修改
注意:of方法在JDK9里面才有
12345678910111213141516package com.example;import java.util.List;public class UnMutableDemo { public static void main(String[] args) { List<String ...
ssm web项目的开发流程及规范
ssm web项目的整体开发流程技术栈springboot+mybatis
后端api的测试:knife4j,knife4j参考资料
整理一套开发规范
文件目录
项目背景创建一个简单数据库表user
执行简单的增删改查业务逻辑
开发过程domain层开发定义一个Java实体类com.example.domain.User与数据库表user相对应
1234567891011121314package com.example.domain;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private int id; private String userName; private String passWord;}
dao层开发dao层我们采用mybatis框架
step1 在application.yml配 ...
前端快速工程化
前端快速工程化前端 vs 后端
ES6
ECMAScript(ES) 是规范、 JavaScript 是 ES 的实现
ES6 的第一个版本 在 2015 年 6 月发布,正式名称是《ECMAScript 2015 标准》(简称 ES2015)
ES6 指是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等
let推荐使用let关键字替代 var关键字声明变量,因为 var存在诸多问题,比如:
跨域123456{ var a = 1; let b = 2;}console.log(a); // 1console.log(b); // ReferenceError: b is not defined
只会打印a,而b无法引用,所以a可以跨域,不安全
重复申明12345678// var 可以声明多次// let 只能声明一次var m = 1var m = 2let n = 3let n = 4console.log(m) // 2console.log(n) // Identifier & ...
Kafka的安装与快速使用
Kafka的安装与快速使用Kafka官网
kafa是一个基于zookeeper的分布式消息系统,具有高吞吐率、高性能、实时以及高可靠的特点
Kafka安装Kafka下载地址 zookeeper下载地址
环境需求:以下操作在: VMware+Centos7环境下进行
前置依赖:JDK8
安装版本:kafka_2.11-2.0.0、zookeeper-3.4.12
下载kafka和zookeeper对应安装包,上传至虚拟机
文件上传我们可以采用第三方工具WinSCP,也可以文件传输的命令行工具rz、sz
安装lrzszrz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具,rz 可以很方便的从客户端传文件到服务器,sz也可以很方便的从服务器传文件到客户端
yum方式安装:yum install -y lrzsz
从客户端上传文件
直接在ssh连接工具某个路径下命令行输入rz,则会弹出文件选择按钮,
从服务器端下载文件
直接在ssh连接工具中输入sz xxx,会弹出选择框,将服务器端文件xxx下载到客户端本地的某个位置
安装zookeeper我们将下 ...
pycharm快捷键
pycharm快捷键可以通过安装插件形式,使用其他软件快捷键,比如Eclipse或者VSCode快捷键
下面介绍的是安装Eclipse快捷键形式
Alt+鼠标:可以查看指定函数的源码
Alt+右键:切换到下一步代码位置
Alt+左键:切换到上一步代码位置
Alt+上建:当前行代码与其上一行代码位置互换
Alt+下键:当前代码与其下一行代码位置互换
Ctrl+d:删除当前行代码
ctrl+f:全局搜索
ctrl+h:所有当前项目所有文件目录包括第三方库
home:光标跳到当前行行首
end:光标跳到当前行行尾
ctrl+o:查看当前文件里有哪些方法
爬虫概述
爬虫概述爬虫的作用
采集网络数据
自动化测试
实现一些脱离手动的操作,比如帮人投票、12306抢票、微信聊天助手
灰产,比如薅羊毛、网络攻击、做水军、刷单等
为什么要爬取数据(数据能做什么?)
聚合产品,比如新闻网站或者今日头条
搜索引擎,比如谷歌、百度
数据分析、人工智能的源数据
特定领域的数据服务,比如二手车估价、天气预报、去哪儿网等
爬虫的前置知识
计算机网络协议,比如http/https协议、tcp/ip协议、socket编程
一定的前端基础,不用太深入
正则表达式,主要是用来进行数据分析的
数据存储技术,比如分布式存储
并发处理技术,多线程、多进程、线程池等技术
图像识别(解决验证码反爬),机器学习算法(验证码、数据分析等后续操作)
爬虫中的难点问题
爬虫的采集以及更新策略
解决反爬
数据解析
海量数据存储
模拟登录(验证码识别)
爬虫的监控和部署
数据的去重,比如url去重、内容去重
爬虫中需要的网络知识
问题一:为什么服务器不会随便封禁ip或者ip段
原因主要有以下两点:
DHCP,动态ip,我们日常的ip地址基本都是动态ip(静态ip需要花钱去买),同一台及其 ...
爬虫进阶
爬虫进阶爬虫一定要找最新的教程,因为网站更新速度很快,老版教程很可能会过时,一些案例基本无法复现
爬虫概述
静态页面抓取:
获取构造需要抓取的所有url列表
遍历这个列表,使用request等抓取页面数据
使用xpath+Scrapy Selector或者Xpath+lxml的方式对抓取的页面内容进行解析
xpath的编写可以借助浏览器来完成,选中对应元素右键点击copy as xpath
request构造请求:
get请求:
方式一:url+参数拼接方式
方式二:url+params形参的方式
post请求
许多登陆页面,需要通过构造post请求,提交信息,破除限制
可以通过form-data或者json的形式提交数据
模拟登陆场景:许多网站必须登陆之后才能访问里面其他的页面
通过抓包,找到登陆接口
编写代码请求登陆接口,传入正确的账号、密码等信息
即使登陆之后,仍然可以访问其他页面吗?不一定,这时我们要关注后台的鉴权方式
后台的鉴权方式一般有两种:
基于cookie+sessio ...
Ollama的使用
OllamaOllama简介随着各个公司发布开源大模型,大模型管理工具越来越重要。Ollama就是一款优秀的开源大模型管理工具。利用Ollma开发者们可以自由的创建,训练模型,并且搭建本地化chatbot。同时Ollama还支持OpenAI同样形式的REST API以提升开发者效率。本质上讲Ollama是一个集成的本地大模型运行框架,它的出现极大地简化了AI模型的开发和使用过程。它支持Linux、Mac、Windows等系统,其内部不仅提供了丰富的AI模型库,而且提供了强大的API接口,可以方便将AI功能整合到用户自己具体的应用中。
Ollama的特点:
一键式安装,无需繁琐的环境配置,简单易用
性能强大,可以充分利用本地的计算资源,可以仅仅利用CPU或者充分调用本地GPU来运行模型
功能丰富,提供了丰富的模型库,支持多种大语言模型并且支持多模态模型
提供了丰富的API接口,便于开发者结合自身需求灵活进行功能扩展和开发
相关资料:Ollama官网 GitHub 支持的模型列表
Ollama在Windows系统上的使用Ollama安装直接在官网下载Windows平台的安装包
安装 ...
Baidu Comate
Baidu ComateBaidu Comate基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,为你生成更符合实际研发场景的优质代码,提升编码效率
可以在VS Code或者IDEA中以插件的形式集成使用
Idea中集成点击【Plugins】,进入 Marketplace 选项卡,搜索框输入【Comate】,找到 Baidu Comate 后点击安装
重启 IntelliJ IDE,重启成功后登录百度账号,即可使用
点击代码旁边按钮,可以使用对应的功能,比如代码检查,代码调优等
生成代码比如我们需要编写一个功能的前端代码,其会自动给我们生成html代码、ccs代码和javascript代码
我们直接运行其给出的代码,展示的页面如下图所示: