自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

原创 ansible使用教程

Ansible是一款无代理开源自动化工具,通过YAML语法实现配置管理和应用部署。核心概念包括控制节点、受管节点、主机清单、模块和Playbook。安装Ansible后需配置SSH免密登录并创建主机清单文件。基础使用包括运行Ad-Hoc命令测试连通性,以及编写Playbook执行任务(如安装Nginx)。常用模块有package、copy、template等,支持变量和条件判断。复杂场景可使用角色(role)组织代码,示例展示了系统更新与安全重启的Playbook实现。

2025-11-11 10:48:47 688

原创 Brog对比Kubernets

Google 的 Borg 系统是其内部大规模集群管理平台,为 Kubernetes 提供了核心设计理念。Borg 通过 Borgmaster 和 Borglet 组件管理系统资源,采用 Job/Task 抽象运行应用,实现了高资源利用率、应用自愈和滚动更新等特性。Kubernetes 继承了 Borg 的架构思想但进行了现代化重构,使用 Go 语言开发并避免技术债务,最终形成开源生态。Borg 是 Kubernetes 的前身和验证平台,Kubernetes 则使这些先进技术民主化,让全球企业都能获得 G

2025-10-26 10:56:20 291

原创 Kubernetes起源

Kubernetes起源于Google内部的大规模集群管理系统Borg,该系统自2003年起支撑了Google众多核心服务。2014年,Google将Borg的经验开源为Kubernetes项目,名称源自希腊语"舵手"。2015年,Kubernetes被捐赠给云原生计算基金会(CNCF),迅速发展成为容器编排的事实标准。其设计理念源于Google十余年的大规模集群管理经验,通过开源生态成长为云原生时代的基石技术。

2025-10-26 10:41:44 341

原创 Flask 学习路线图

Flask是一个轻量级Python Web框架,学习路线可分为五个阶段:1)核心基础(路由、请求响应);2)动态页面(Jinja2模板);3)数据持久化(SQLAlchemy);4)用户认证(Flask-Login);5)部署与现代化开发。建议通过实际项目(如博客系统)实践,结合官方文档和经典教程(Miguel Grinberg教程)学习。Flask提供高度灵活性但需要开发者自行选择扩展(如Flask-WTF、Flask-SQLAlchemy等),适合希望深入理解Web开发的学习者。

2025-10-25 22:47:11 585 1

原创 Django 学习路线图

Django 的学习曲线前期稍陡,但一旦掌握了其核心设计哲学,开发效率会非常高。记住 “不要重复你自己” 是 Django 的理念。多动手、多查阅官方文档,你一定能掌握它。祝你学习顺利!

2025-10-25 22:28:26 1187

原创 Git工作流

Git工作流程摘要 本文详细介绍了Git的基本工作流程和分支管理方法。主要内容包括:1) 从本地文件创建到推送远程仓库的完整步骤(添加、提交、推送);2) 解决推送冲突的方法;3) 分支创建与管理的两种场景(从零创建和基于master创建);4) 常用分支操作命令;5) 团队协作最佳实践;6) 理解origin/HEAD的含义及设置方法。文章提供了清晰的命令行示例,特别适合初学者掌握Git核心操作,包括处理合并冲突、跨分支协作等常见问题。

2025-10-25 11:21:15 692

原创 CICD学习指南

CI/CD学习指南摘要: CI/CD(持续集成/持续交付部署)通过自动化流程提升软件开发效率。CI要求频繁合并代码并自动测试,确保代码质量;CD进一步实现自动化部署,使发布更可靠。核心组件包括版本控制、构建工具、测试框架和部署环境。主流工具有Jenkins、GitLab CI和GitHub Actions等。学习路径分为四个阶段:掌握Git基础→搭建CI流水线→实现CD部署→优化最佳实践。实战示例展示了Node.js项目的GitHub Actions配置。CI/CD能加速发布周期、提高质量并降低风险,是现代

2025-10-24 19:49:49 1040

原创 Kubernets 完整学习指南

Kubernetes学习指南摘要: 核心概念:介绍Kubernetes基础组件如Pod、Node、Cluster、Deployment等 环境搭建:提供Minikube、Kind和Docker Desktop三种本地开发环境配置方法 基本操作:涵盖命名空间管理、Pod/Deployment/Service的创建与维护命令 配置文件:展示完整的YAML配置示例,包含资源请求、健康检查等关键参数 实战项目:演示Web应用从Docker镜像构建到K8S部署的全流程 (字数:149)

2025-10-23 21:23:38 395

原创 Docker 学习手册

本文是Docker用户手册,包含安装指南、基础概念和使用命令。手册详细介绍了镜像管理、容器操作、Dockerfile编写、数据/网络管理、安全配置等内容,并提供了Docker Compose示例和生产环境最佳实践。还包含故障排除方法、性能优化建议和学习资源,帮助用户从入门到精通掌握Docker技术。手册涵盖Windows/Linux平台的安装方式,以及桌面版特有功能,适用于不同水平的Docker用户。

2025-10-23 20:37:05 551

原创 在本地windwos主机搭建mysql主从

本文详细介绍了在Windows系统上搭建MySQL主从复制的完整流程。通过在同一台机器上配置两个MySQL实例(主库3306端口,从库3307端口),实现数据库复制功能。内容包括:环境准备、目录结构创建、主从库配置文件设置、服务初始化与启动、复制用户配置、主从同步设置以及验证测试等步骤。重点讲解了如何通过修改my.ini配置文件设置server-id、端口和数据目录,并使用mysqld命令初始化服务。最后提供了复制状态检查方法和常见问题解决方案,适用于本地测试和学习MySQL复制机制。

2025-10-23 10:52:42 728

原创 Sprng5新特性

核心特性访问Resource时提供getFile或isFile防御式抽象有效的方法参数访问基于java8反射增强在spring核心接口中增加了声明default方法的支持一贯使用jdk7, charset和standardcharset的增强兼容jdk9自带了通用的日志封装(1) 已经移除了log4jConfigListener,官方建议使用log4j2(2) Spring5框架整合了log4j(3) 第一步引入jar包(4) 第二部创建log4j2.xml配置文件(5)持续实例化v

2020-07-27 09:44:02 308

原创 spring5-事务

事务概念什么叫事务(1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果一个失败,操作都失败事务特性ACID(1) 原子性:(2) 隔离性(3) 一致性(4) 持久性事务操作(搭建事务操作环境)创建数据库表,添加记录创建service,搭建dao,完成对象创建和注入关系(1) service注入dao,在dao注入jdbcTemplate,在jdbcTemplate注入datasource(2) 在dao创建两个方法,多钱和少钱的方法,(

2020-07-26 22:35:56 274

原创 Spring5-JdbcTemplate

JDBCTemplate(概念和准备)什么是jdbcTemplate(1)Spring框架对jdbc进行封装,使用jdbcTemplate方便对数据库进行操作准备工作引入jdbc(2)在spring配置文件中配置数据库连接池3. 配置jdbcTemplate对象,注入Datasource4. 创建service类,创建dao类,.在dao注入jdbcTemplate4. JdbcTemplate操作数据库5. 编写一个bean6. 编写service和dao(1) 在dao

2020-07-26 22:29:40 320

原创 spring5-AOP

AOP(概述)(1) 面向切面编程,利用AOP可以对业务逻辑的各个部分进行分离,从而使业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率(2) 示例不通过修改源代码方式,在主干功能里面添加新功能2. AOP底层原理AOP底层使用动态代理(1) 有两种情况动态代理第一种情况:有接口情况,使用jdk动态代理第二种:没有接口情况,使用CGLIB动态代理创建之类的代理的对象,增强子类的方法3. AOP(JDK动态代理)使用jdknewProxyInstanc

2020-07-26 22:22:59 337

原创 Spring框架概述,IOC容器

Spring是轻量级的开源的javaee框架Spring可以解决企业应用开放的复杂性Spring有两个核心部分:IOC和AOPIOC:控制反转,把创建对象的过程交给spring进行管理AOP:面向切面,不修改源代码进行功能增强Spring特点方便解耦,简化开发,AOP编程支持方便程序测试方便和其他框架进行整合,方便进行事务操作降低api开发难度IOC容器Ioc概念和原理(1) 控制反转,把对象创建和对象之间调度过程,交给spring管理,(2) 使用ioc目的:为了耦合度降.

2020-07-26 21:54:24 334

原创 04-linux-nginx虚拟主机配置

目录虚拟主机与nginx.conf基于端口号配置虚拟主机基于IP配置Nginx虚拟主机基于域名配置虚拟主机设置目录列表子配置文件的引入Nginx默认配置文件中指令详解:配置文件中,以“#”开始的注释行,Nginx并不会对其进行解析,该注释行的作用仅用于解释和说明;Nginx的指令由指令名称和参数组成。例如,第1行worker_processes指令的参数为“1”,第3行worker_connections指令的参数为“1024”等;当一个指令中含有多个子指令作为参数时,需要使用大括号“

2020-07-23 07:33:45 441

原创 03-linux-http

目录1.http概述2.http消息3.http响应消息1.http概述概念:http(HyperText Transfer Protocol),超文本传输协议)是浏览器与web服务器之间数据交付需要遵循的一种规范,作用:w3c组织推出的,专门用于定义浏览器与web服务器之间数据交换的格式版本:目前互联网中应用最多的是http1.0和HTTP1.1版本http1.0的交互过程建立连接发送消息回送响应消息关闭连接http1.0方式每次建立tcp连接后,只能处理一个http请求,这种通

2020-07-22 11:12:58 138

原创 03-linux-正则表达式

正则表达式概述概念:正则表达式(Regular Expression ,简称regexp)是一中描述字符串的语法规则,用于验证各种字符串是否匹配(Match)这个特征,进而实现高级的文本查找,替换,截取内容等操作,适用范围:操作系统(Unix、Linux等)、编程语言(C、C++、Java、PHP、Python、JavaScript等)、服务器软件(Apache、Nginx)等。2.正则表达式入门全称:grep命令是global search a regular expression and .

2020-07-22 10:49:04 214

原创 03-linux运行级别,用户和权限

1.Linux运行级别运行级别是指当前操作系统正在运行的功能级别,通过数字0-6表示7个级别,每个级别具有不同的功能存储文件目录:这些级别定义在/etc/inittab文件中,每个级别运行的服务程序存放在/etc/rc.d目录中2.用户和权限直接创建新用户bxg[root@localhost ~]# useradd bxg创建新用户bxg2,指定其备注信息和所属组[root@localhost ~]# useradd -c bxg1234 -g itheima bxg2创建新用户bx

2020-07-22 08:17:52 251

原创 02-linux-nginx的工作模式

nginx的工作模式nginx是一个多进程/多线程高性能的web服务器,再Linux系统中,nginx启动后会以后台守护进程(daemon)的方式去运行,后台进程包含一个master进程和多个worker进程Master主进程主要管理worker进程主要作用:读取并验证配置信息,管理真正服务的worker进程,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程,master进程不会对用户请求提供服务,而用户的请求

2020-07-22 07:40:23 286

原创 基于linux的nginx安装

Nginx安装1 官网:www.nginx.org1.3 下载nginx-1.16.1.tar.gz[root@localhost ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz1.4 解压nginx-1.16.1.tar.gz[root@localhost ~]# tar -zxvf nginx-1.16.1.tar.gznginx目录auto目录:存放大量的脚本文件,和configure脚本程序相关configure

2020-07-22 07:28:20 185

原创 实验07-android-基站定位

基本概念MCC,Mobile Country Code,移动国家代码(中国的为460);MNC,Mobile Network Code,移动网络号码(中国移动为0,中国联通为1,中国电信为2)LAC,Location Area Code,位置区域码;CID,Cell Identity,基站编号。3、基站定位基本流程基站定位方法:通过手机信号获取基站信息(API编程),然后调用第三方服务(将基站信息以参数形式发送到第三方服务),第三方服务根据基站信息查找基站的经纬度值,返回给用户(json.

2020-07-21 18:27:00 507

原创 07-android-基站定位

基站定位基础知识基站定位原理:通过手机信号获取基站信息,然后调用第三方服务,根据基站信息找基站的经纬度(地理位置信息),MCC,Mobile Country Code,移动国家代码(中国为460)MNC Mobile Network Code移动网络号码(中国为0,中国联通为1,中国电信为2)LAC,LocationArea Code,位置区域码:CID,Cell Identity 基站编号BSSS,Base station signal strength,基站信号强度Android基站信.

2020-07-21 18:19:39 740

原创 实验06-android-传感器与定位

1、调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorManager对象。2、调用SensorManager的getDefaultSensor(int type)方法来获取指定类型的传感器。3、一般在Activity的onResume()方法中调用SensorManager的registerListener()为指定传感器注册监听器。程序可以通过实现监听器获取传感器传回来的数据。4、一般在Activity的onStop()方法中调.

2020-07-21 17:46:09 375

原创 06-android-传感器与定位

Android传感器的开发在Android平台上开发传感器的步骤如下:1、调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorManager对象。2、调用SensorManager的getDefaultSensor(int type)方法来获取指定类型的传感器。3、一般在Activity的onResume()方法中调用SensorManager的registerListener()为指定传感器注册监听器。程序可以通过实现监听器获取传

2020-07-21 17:34:50 411

原创 实验05-android-广播定位

实验目的1).静态注册:直接在AndroidManifest.xml文件中进行注册。2).动态注册:动态注册时,无须在AndroidManifest中注册组件。直接在代码中通过调用Context的registerReceiver函数动态注册广播。静态广播与动态广播的区别动态注册的广播永远要快于静态注册的广播,不管静态注册优先级设置的多高,不管动态注册的优先级有多低,在同一个优先级下,谁先启动的快,谁将先接收到广播动态注册广播不是常驻型广播,也就是广播跟随activity的省命周期

2020-07-21 17:22:29 336

原创 05-android-广播定位

广播Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcasttReceiver指的就是广播接收者(广播接收器),广播作为Android主件间的通信方式,可以使用的场景如下:1. 同一app内部的同一组件内的消息通信(单个或多个线程之间),2. 同一app内部的不同组件之间的消息通信(单个进程);3. 同一app具有多个进程的不同组件之间的消息通信,4. 不同app之间的组件之间消息通信5. android系统在特定情况下与APP之间的消息通信,BroadcastR

2020-07-21 17:06:01 503

原创 实验04-android-ip定位

实验目的掌握再移动设备上获取ip的方法掌握通过连接URL,再返回字符串中解析出外网ip并获取地址和经纬度的方法移动设备获取ip分两种情况通过wifi的方式(只能获取内网ip)通过移动网络方式,Manifest.xml文件添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permiss

2020-07-21 16:21:56 364

原创 04-android-ip定位

IP定位方法目前常用ip地理位置定位方法有:1. 基于whois查询ip信息,通过查询ICANN的WHOIS数据库,从而判断出对应ip的地理位置2. 基于whois查询域名信息,通过域名反向解析协议来判断ip是否对应一个域名,如果对应一个域名就可以根据whois数据库查询其域名信息,从而定位ip的地理位置3. 基于DNS-LOC记录的信息,通过查询DNS中的LOC记录确定主机的地理位置4. 基于用户或应用程序提交的信息,通过挖掘用户注册时填写的地理位置来得到5. 基于网页数据挖掘,通过挖掘网站上

2020-07-21 16:11:46 1235 1

原创 实验02-android-原生定位

package com.example.yuansheng;import java.io.IOException;import java.util.List;import java.util.Locale;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import andro.

2020-07-21 10:19:39 233

原创 02-Android-原生定位

大纲:Anroid原生定位有缺点,原生定位的常用类与接口原生定位例子Android系统提供了地理位置服务相关的API方便开发者去获得当前地理位置,位于android.location包中,接口:类:LocationManager该类提供了访问地理位置的服务,可以获取上一次最新的地理位置信息,也可以注册监听事件来周期性的获得设备更新的地理位置信息。LocationManager lm = (LocationManager) getSystemService(Context.LOCATI

2020-07-21 10:09:45 1093

原创 01-算法概述

程序=算法+数据结构理解算法的概念。理解什么是程序,程序与算法的区别和内在联系。掌握算法最好、最坏、平均计算复杂性概念。掌握算法渐近复杂性的数学表述。掌握用C++语言描述算法的方法。算法教课书式定义:算法式解决问题的一种方法或一个过程算法式若干指令的有穷序列,满足性质:输入,有外部提供的量作为算法的输入,输出:算法产生至少一个量作为输出确定性:组成双发的每一条指令是清晰的,无歧义的有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的,程序程序是算法用某种程序

2020-07-20 08:17:52 575

原创 06-OOD设计原则与 敏捷设计综合实例 07sprint演示与总结

主要内容LSP:Liskov替换原则OCP:开放-封闭原则SRP:单一职责原则ISP:接口隔离原则DIP:依赖倒置原则敏捷设计综合示例总结设计质量:坏的设计什么是坏的设计?僵硬性(Rigidity):刚性,难以扩展脆弱性(Fragility):易碎,难以修改牢固性(Immobility):无法分解成可移植的组件不必要的复杂性(Needless Repetition):Ctrl C + Ctrl V晦涩性(Opacity):不透明,很难看清设计者的真实意图设计质量:好的设计什么

2020-07-19 18:36:32 319

原创 05-重构

重构Refactoring是对软件内部结构的一种调整,目的是在不改变外部行为的前提下,提高其可理解性,降低其修改成本。改进软件的设计提高代码质量,更易被理解Refactoring帮助尽早的发现错(Bugs)Refactoring可以提高开发速度重构的两顶帽子[重构]与[添加新功能]之间的关系添加新功能时,不应该修改既有代码,只管添加新功能。重构时你就不能再添加功能,只管改进程序结构。此外你不应该添加任何测试(除非发现有先前遗漏的东西)重构(Refactoring)的流程流程1读懂代码

2020-07-19 18:06:28 191

原创 04-敏捷开发之测试驱动开发

Test-Driven Development(TDD)Test-Driven Development是一种开发风格,它要求程序员做到:在写产品代码之前,先写它的单元测试(Unit Tests)没有单元测试的Class不允许作为产品代码单元测试例子决定了如何写产品代码不断地成功运行所有的单元测试例子不断地完善单元测试例子What is TDD?Test Driven Development(测试驱动开发)测试先行。持续重构。测试驱动开发是一种在极限编程(XP)中处于核心地位的技术。W

2020-07-19 17:51:28 716

原创 03-用户故事估算和sprint计划

主要内容产品backlog的组成怎样准备sprint计划sprint计划会议用户故事的估算总结XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2020-07-19 12:45:39 259

原创 02-Scrum初步与产品backlog

Scrum理论Scrum是以经验过程控制理论为依据,简单,但高度的纪律性;采用迭代、增量的方法来提高产品开发的可预见性并控制风险。Scrum的三大支柱支撑起每个经验过程控制的实现。Scrum 是一种工作管理的方法,不仅仅限于软件开发, 可以用来管理其它活动。 Scrum 不包含技术方法或实践。第一大支柱是高透明度第二大支柱是检验第三大支柱是适应Scrum的backlog 在XP(极限编程)中叫用户故事(user story),在Scrum中叫backlog(条目)。Sprint中

2020-07-19 12:41:13 848

原创 01敏捷概述

敏捷宣言个体交互胜过流程和工具可工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划敏捷实践站立会议+排序的工作列表+持续集成迭代开发+持续集成+重构站立会议+排序的工作列表+结对编程聚焦客户价值标识和消除软件开发中的浪费交付刚刚好的系统随时构建质量,不容忍缺陷及时消除技术债务,持续保持快速响应激发团队管理者需要转变:团队成员需要转变适应变化认清客户时逐步发现真正的需求小批量是交付的关键通过迭代计划不断调整以适应需求变化应持续保持良好的软件架构

2020-07-19 12:22:03 177

原创 09-微信公众平台使用天气预报接口实现天气查询功能

提供的天气接口有:中国天气网的气象数据接口;百度API 接口;其他第三方接口,如聚合数据等;https://www.jianshu.com/p/e3e04cf3fc0f开发步骤:登录百度ak申请地址,成为开发者,创建应用,获取ak和sk编写baiduWeather.phpsvn提交代码到SAE测试号接入index.php测试<?phpheader('Content-type:text');define("TOKEN", "weixin");$wechatObj = ne

2020-07-19 09:28:41 1565

原创 08-使用百度地图接口实现附近搜索

用户关注公众号并确认允许公众号使用其地理位置后就不会再弹框用户同意上报地理位置时,每次进入公众号都会上报地理位置,上报地理位置以推送xml数据包到开发者填写的url来实现,存储用户地理位置消息使用缓存的方式来存储用户的地理位置坐标记录SAE为开发者提供Memcache服务Memcache是一个高性能,分布式内存对象缓存系统,通过再内存里维护一个统一的巨大的hash表,它能够用来存储各种格式数据,包括图像,视频,文件以及数据库检索结果等简单的说就是将数据调用到内存中,然后从内存中读取,从而大

2020-07-19 09:12:53 548 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除