<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ajun4的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ajun4</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ajun4]]></copyright><item><title><![CDATA[Python 虚拟环境]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/120390238</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/120390238</guid><author>ajun4</author><pubDate>Mon, 20 Sep 2021 13:00:46 +0800</pubDate><description><![CDATA[安装虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper

创建时不指定python版本，默认安装的是python2的虚拟环境
mkvirtualenv 虚拟环境名称
mkvirtualenv -p python3 虚拟环境名称

查看虚拟环境
workon

使用虚拟环境
workon 虚拟环境名称

退出虚拟环境
deactivate

删除虚拟环境
rmvirtualenv 虚拟环境名称

查看虚拟环境中安装的包
pip]]></description><category></category></item><item><title><![CDATA[Python连接数据库生成Excel]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/120348652</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/120348652</guid><author>ajun4</author><pubDate>Fri, 17 Sep 2021 14:41:31 +0800</pubDate><description><![CDATA[python连接数据库生产Excel
网上翻到的 测试下可用 修改对应数据库的账号密码表名即可
# --*-- coding:utf8 --*--
import pymysql, xlwt

def export_excel(xxx): # 此处自行修改
    # 连接数据库，查询数据
    host, user, passwd, db = 'XXX', 'XXX', 'XXX', 'XXX' # 此处自行修改
    conn = pymysql.connect(user=user, host=hos]]></description><category></category></item><item><title><![CDATA[转发和重定向的区别]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/110311955</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/110311955</guid><author>ajun4</author><pubDate>Sun, 29 Nov 2020 14:26:25 +0800</pubDate><description><![CDATA[转发：客户端向服务器发送请求，服务器直接给客户端作出响应
	request.getRequestDispatcher("目标地址").forward(request, response);

重定向：客户端发送请求给服务器，服务给浏览器发送302状态码，告诉浏览器去访问新的地址
response.sendRedirect("目标地址");


...]]></description><category></category></item><item><title><![CDATA[Swagger基础运用模板笔记]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/110213795</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/110213795</guid><author>ajun4</author><pubDate>Fri, 27 Nov 2020 01:39:28 +0800</pubDate><description><![CDATA[新建SpringBoot-web项目
访问地址：http://localhost:8080/swagger-ui.html
需要的依赖
&lt;!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;io.springfox&lt;/groupId&gt;
            &lt;artifac]]></description><category></category></item><item><title><![CDATA[SpringMVC拦截器]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/110139385</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/110139385</guid><author>ajun4</author><pubDate>Wed, 25 Nov 2020 18:26:17 +0800</pubDate><description><![CDATA[新建拦截器
package com.ujiuye.utils;


import com.ujiuye.pojo.Employee;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginHandlerIntercepto]]></description><category></category></item><item><title><![CDATA[免费让别人访问到自己本地项目 Ngork内网穿透]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/109567857</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/109567857</guid><author>ajun4</author><pubDate>Mon, 09 Nov 2020 00:29:53 +0800</pubDate><description><![CDATA[这篇是参考狂神说视频的学习笔记 感兴趣的可以去B站狂神老师的视频频道学习

百度搜索Ngrok

进入链接后注册登录

注册登录成功后 选择左边隧道管理–&gt;开通隧道 选择右边免费服务器 点击购买

购买成功后选择开通隧道 编辑隧道信息 隧道名称和前置域名自定义即可

确定添加后进入左边隧道管理 查看隧道信息 点击中间服务器类型进行客户端下载

选择合适自己电脑的版本

下载成功后进行解压

选择启动工具

进入启动工具 粘贴之前页面的隧道ID 粘贴后按回车

左边的是外网地址 就是别人访问的地址。右.]]></description><category></category></item><item><title><![CDATA[前端数据显示乱码 注解解决方法]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/109417590</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/109417590</guid><author>ajun4</author><pubDate>Sun, 01 Nov 2020 12:27:57 +0800</pubDate><description><![CDATA[传中文字符串到前端时，在 @RequestMapping() 里配置produces属性
@RequestMapping(value="/list",produces = "text/plain;charset=utf-8")


]]></description><category></category></item><item><title><![CDATA[SSM整合 分页模板笔记]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/109324378</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/109324378</guid><author>ajun4</author><pubDate>Wed, 28 Oct 2020 00:35:08 +0800</pubDate><description><![CDATA[Controller层
@Controller
@RequestMapping
public class IndexController {
    @Autowired
    private EmployeeService employeeService;
    @RequestMapping
    public String list(Model model, String name,
                       @RequestParam(value = "pageNum",r]]></description><category></category></item><item><title><![CDATA[引入c标签库]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/109315653</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/109315653</guid><author>ajun4</author><pubDate>Tue, 27 Oct 2020 17:19:52 +0800</pubDate><description><![CDATA[&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;


]]></description><category></category></item><item><title><![CDATA[angular双向绑定事件demo]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/109134847</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/109134847</guid><author>ajun4</author><pubDate>Sat, 17 Oct 2020 16:35:59 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;!--引入angular.min.js--&gt;
    &lt;script src="js/angular.min.js"&gt;&lt;/script&gt;
    &lt;script&gt;
        /*初始化模块*/]]></description><category></category></item><item><title><![CDATA[linux目录介绍 常用命令]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/108958067</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/108958067</guid><author>ajun4</author><pubDate>Thu, 08 Oct 2020 00:48:25 +0800</pubDate><description><![CDATA[linux目录介绍
/bin：
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot：(不要动)
这里存放的是启动Linux时使用的一些核心文件，包括一些连接文件以及镜像文件。
/etc：
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home：
用户的主目录，在Linux中，每个用户都有一个自己的目录，一般该目录名是以用户的账号命名的。
/opt：(安装软件)
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/r]]></description><category></category></item><item><title><![CDATA[Redis常用命令与持久化]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/108940617</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/108940617</guid><author>ajun4</author><pubDate>Tue, 06 Oct 2020 16:26:40 +0800</pubDate><description><![CDATA[字符串类型 String
储存：set key v
获取：get key v
删除：del key
哈希类型 hash（map格式）
储存：hset key field v
获取：hget key field v    hgetall key
删除：hdel key field
127.0.0.1:6379&gt; set age 12
OK
127.0.0.1:6379&gt; get age
"12"
127.0.0.1:6379&gt; hset a1 name ajun
(integer) 1
12]]></description><category></category></item><item><title><![CDATA[ajax json用户名密码验证简易案例]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/108934949</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/108934949</guid><author>ajun4</author><pubDate>Tue, 06 Oct 2020 00:36:47 +0800</pubDate><description><![CDATA[Controller：
	@RequestMapping(value="/a3",produces = "text/plain;charset=utf-8")//解决中文乱码问题
    @ResponseBody
    public String ajax3(String name,String pwd){
        String msg="";//验证用户名和密码
        if (name!=null){
            if ("admin".equals(name)){
  ]]></description><category></category></item><item><title><![CDATA[Json中返回时间为时间戳的问题 通过制作工具类解决]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/108927553</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/108927553</guid><author>ajun4</author><pubDate>Mon, 05 Oct 2020 12:27:34 +0800</pubDate><description><![CDATA[@RequestMapping("/time1")
    @ResponseBody
    public String Json2() throws JsonProcessingException {
        Date date = new Date();
        System.out.println(date);
        return new ObjectMapper().writeValueAsString(date);
    }

这样运行后json返回的是时间戳

可以]]></description><category></category></item><item><title><![CDATA[JAVA8 新特性 接口中的静态方法和默认方法]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/107477529</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/107477529</guid><author>ajun4</author><pubDate>Mon, 20 Jul 2020 23:26:29 +0800</pubDate><description><![CDATA[JAVA8中关于接口的新特性，之后还有关于Lambda表达式的函数式接口

接口中的静态方法和默认方法
Java8接口新增默认方法与静态方法
java8之前接口中属性是静态常量，方法都是抽象方法
package Chating;
public class Jie {
	public static void main(String[] args) {
	}
}
interface AA{
	int a = 1;//静态常量
	void show();//抽象方法
	//在接口中可以定义静态方法和默认方法
	.]]></description><category></category></item><item><title><![CDATA[JAVA IO 字节流 字符流 高效缓冲流 close()flush()区别]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/107433748</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/107433748</guid><author>ajun4</author><pubDate>Sat, 18 Jul 2020 19:13:12 +0800</pubDate><description><![CDATA[IO 字节流 字符流 高效缓冲流 close()flush()区别

这篇也是纯课堂笔记，没做什么总结和编辑，都是理解性的内容，直接流的概念和怎么用就行

IO
input和output  输入和输出, 用于设备与设备进行交互,数据从其他设备进入到内存就是输入，从内存把数据写到其他设备中称之为输出

IO的分类

四类都是抽象类，定义字节流和字符流操作的公共方法
IO程序书写流程


导包： IO包


操作流对象时会有异常，需处理


操作完流对象要关闭流资源


InputStream
字节输入流的顶层]]></description><category></category></item><item><title><![CDATA[JAVA取100个0-100以内的随机数，计算其中不重复数值的元素数量]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/107430406</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/107430406</guid><author>ajun4</author><pubDate>Sat, 18 Jul 2020 15:59:50 +0800</pubDate><description><![CDATA[题目
取100个0-100以内的随机数，计算其中不重复数值的元素数量
重点方法：
removeAll(Collection c)：删除调用者集合中所有c中元素
List集合允许元素存入重复，set集合则是不能重复，所以只要把List的重复的元素放入set集合中，再调用List的removeAll（set）方法，把在List集合内与set集合中相同的元素全部删除，List内剩下的便是不重复的元素，再获取长度即可。
package Chating;

import java.util.ArrayList;
im]]></description><category></category></item><item><title><![CDATA[JAVA线程经典案例 多线程买票 详细解析]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/107429421</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/107429421</guid><author>ajun4</author><pubDate>Sat, 18 Jul 2020 15:14:55 +0800</pubDate><description><![CDATA[很经典的多线程题目，根据自己的理解得出的解析过程和结论，有不对的地方希望指出。

需求：
建立购票系统，分别让多个窗口（多线程）同时去卖票


创建个Runnable接口的实现类


重写其中的run（）方法，变成购票方法


创建多个接口类对象（即多个窗口）放入线程中多个执行


package Chating;

public class Maipiao {
	public static void main(String[] args) {
		per per = new per();//创建线程实现.]]></description><category></category></item><item><title><![CDATA[JAVA异常 try..catch方法 throw和throws 自定义异常]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/107371581</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/107371581</guid><author>ajun4</author><pubDate>Wed, 15 Jul 2020 22:12:20 +0800</pubDate><description><![CDATA[异常 try…catch方法 throw和throws 自定义异常

这部分的笔记几乎是没做任何整理，直接把课上的笔记和教材照搬进来，可做的练习也很少。只要会try…catch方法，明白异常和异常抛出是个怎么回事就行…

异常
在java程序，出现了不正常或错误的情况，称为异常
异常就是一个对象，描述一些不正常的情况信息：异常的原因，位置，类型
异常也是一种处理机制，我们可以对异常进行捕获处理，或者结束程序
出现了错误，必须修改源代码，出现了异常，可以捕获
异常的体系


Throwable: 可以抛出，是]]></description><category></category></item><item><title><![CDATA[JAVA制作一幅扑克牌，完成制牌，洗牌，发牌，看牌的过程]]></title><link>https://blog.youkuaiyun.com/ajun4/article/details/107348737</link><guid>https://blog.youkuaiyun.com/ajun4/article/details/107348737</guid><author>ajun4</author><pubDate>Tue, 14 Jul 2020 22:00:55 +0800</pubDate><description><![CDATA[JAVA制作一幅扑克牌，完成制牌，洗牌，发牌，看牌的过程
扑克牌组成：一副54张，52张是正牌，另2张是副牌（大小王）。四种类型：红桃，黑桃，梅花，方块，每组花色的牌包括从1-10及J、Q、K标示的13张牌。
思路：
制牌：


创建两个字符串数组分别储存花色和数字


创建一个HashMap通过其中k，v保存牌（花色+类型）和牌的下标（之后通过get（k）方法引出牌）使之相对应


创建一个ArrayList储存牌的下标


通过嵌套循环使花色与数字完成字符串的拼接，变成每张完整的牌


字符串每拼接成功]]></description><category></category></item></channel></rss>