<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[animalcoder]]></title><description><![CDATA[工作工作！]]></description><link>https://blog.youkuaiyun.com/animalcoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; animalcoder]]></copyright><item><title><![CDATA[[vue] 11. pixiJS整合vue初体验]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/113846248</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/113846248</guid><author>animalcoder</author><pubDate>Thu, 18 Feb 2021 14:39:06 +0800</pubDate><description><![CDATA[1.官方文档地址：

https://pixijs.io/examples/#/demos-basic/container.js

2.安装方法：

npm install --save pixi.js

3.示例代码：(pixi 5.1.2)


&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;div id="pixi" style="z-index:-1;"&gt;  &lt;/div&gt;
  &lt;/div&gt;
&lt;/template&gt]]></description><category></category></item><item><title><![CDATA[[springboot]奇奇怪怪的经验（待更）]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/111191401</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/111191401</guid><author>animalcoder</author><pubDate>Tue, 15 Dec 2020 09:37:37 +0800</pubDate><description><![CDATA[一、post请求获取header


@ResponseBody
@RequestMapping(value = "/login",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public AjaxResult Login(@RequestBody JSONObject json){

        String callguid=java.util.UUID.randomUUID().toString(]]></description><category></category></item><item><title><![CDATA[springboot 整合 kettle 坑点]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/110390394</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/110390394</guid><author>animalcoder</author><pubDate>Mon, 30 Nov 2020 16:09:21 +0800</pubDate><description><![CDATA[需要引入的jar:缺其中一个就会报一堆奇奇怪怪的错



1.注意放到lib的位置，后面会用上。

2.jar从kettle客户端里扒拉来

3.我这边是用kettle从oracle转到mySQL做增量同步，所以要ojdbc8,mysql5.1.49，用5.1.49注意mysql数据库mysql配置要用driver-class-name: com.mysql.jdbc.Driver



pom的写法：注意&lt;build&gt;里面的写法,这样后面打包后的外部jar包才会跟着过去，不然就会部署后运行报.]]></description><category></category></item><item><title><![CDATA[[期望]   看完一维随机游走想到的题目]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/108593395</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/108593395</guid><author>animalcoder</author><pubDate>Tue, 15 Sep 2020 10:59:56 +0800</pubDate><description><![CDATA[题目：

一开始在数轴0位置，有P概率往右走，Q概率往左走，问第一次到达位置n的期望步数

特别的，在0位置有100%几率到达1。(有点像装备强化的事件)

思路：

用模拟与数学推导分别算一次结果对拍

假设P=0.75 模拟10000000次的均值如下（大数定理，但肯定有误差）

n
			ans
		1
			1
		2
			2.6662
		3
			4.55596
		4
			6.51928
		
设E(x)为从x开始，第一次到n的期望步数，答案就是E(0)

方程为



解释就是有P...]]></description><category></category></item><item><title><![CDATA[[Vue] 10.  奇奇怪怪的经验(待更)]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/108529522</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/108529522</guid><author>animalcoder</author><pubDate>Fri, 11 Sep 2020 10:39:46 +0800</pubDate><description><![CDATA[一、获取当前时间


    getTime:function(){
      var _this = this;
      let yy = new Date().getFullYear();
      let mm = new Date().getMonth()+1;
      let dd = new Date().getDate();
      let hh = new Date().getHours();
      let mf = new Date().getMinutes()&lt]]></description><category></category></item><item><title><![CDATA[[Vue] 9. vue-amap高德地图初体验]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/108528330</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/108528330</guid><author>animalcoder</author><pubDate>Fri, 11 Sep 2020 10:17:16 +0800</pubDate><description><![CDATA[效果：

就是get请求在URL后面输入名称，请求后台返回经纬度坐标后在地图上显示出来



实现：

1.main.js配置路由与引入高德地图配置

2.主界面 map.vue，实例化地图，调用api方法

3.api文件夹里的api.js 包括坐标转换函数，请求后台的函数 (略)

4.axios封装(略)



1.main.js


首先要npm  install  vue-amap --save 安装

import VueAMap from 'vue-amap';
Vue.use(Vu...]]></description><category></category></item><item><title><![CDATA[[Vue]8.  循环里带有异步的多种写法分析]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/108357511</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/108357511</guid><author>animalcoder</author><pubDate>Wed, 02 Sep 2020 11:37:40 +0800</pubDate><description><![CDATA[1.预备工作：

首先定义getData()函数,请求后台的数据（随机卡1~4秒后返回），这个request是axios封装，返回一个Promise变量

由于有axios，这个函数显然是异步的，其实也不用管，只要知道这个是异步请求函数就行了


import request from '@/utils/request'
export function getData(x) {
    
    const data = {
       x:x
    }
    return request({
   ]]></description><category></category></item><item><title><![CDATA[[Vue] 7. 使用axios调用后端接口 （跨域问题解决+415错误解决）]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/107954700</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/107954700</guid><author>animalcoder</author><pubDate>Wed, 12 Aug 2020 12:45:06 +0800</pubDate><description><![CDATA[1.安装axios:npm install axios



2.如何调用后端接口？

后台接口写法如下：


@ResponseBody
@RequestMapping(value = "/selShip", method = RequestMethod.POST, produces = "application/json")
    public MyResult selShip(@RequestBody JSONObject jsonParam){

        SHIP ship=JSONUt.]]></description><category></category></item><item><title><![CDATA[[springboot] 汉字转拼音（包括繁体字）]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/107905062</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/107905062</guid><author>animalcoder</author><pubDate>Mon, 10 Aug 2020 09:31:32 +0800</pubDate><description><![CDATA[pom.xml
&lt;dependency&gt;
            &lt;groupId&gt;com.belerweb&lt;/groupId&gt;
            &lt;artifactId&gt;pinyin4j&lt;/artifactId&gt;
            &lt;version&gt;2.5.0&lt;/version&gt;
&lt;/dependency&gt;


import net.sourceforge.pinyin4j.PinyinHelpe.]]></description><category></category></item><item><title><![CDATA[[Codeforce] Codeforce 1367E. Necklace Assembly *1900 数论+贪心]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/107684895</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/107684895</guid><author>animalcoder</author><pubDate>Thu, 30 Jul 2020 11:48:34 +0800</pubDate><description><![CDATA[题意：给n个字母，跟一个k

你可以选择n个字母中的任意字母，并任意排列成环状项链，要求项链是k--循环，现在想选择尽量多的字母，求出这个数。

其中k--循环是指 项链旋转k步跟原来一样，1&lt;=n,k&lt;=2000



思路：

由于任意排列，首先先用map统计各个字母的数目

贪心，从大往小一个个判x

判断选哪几个字母（一共选x个）能否形成k循环

举个例子： 15个字母能形成10循环，需满足 迭代(x+10)%15=x ，

只要x,x+5,x+10的位置各放一个相同的字母即可（...]]></description><category></category></item><item><title><![CDATA[[springboot] 部署项目到阿里云服务器]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/107401743</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/107401743</guid><author>animalcoder</author><pubDate>Fri, 17 Jul 2020 10:47:02 +0800</pubDate><description><![CDATA[记录坑点。。。



首先买回来之后要重置密码




]]></description><category></category></item><item><title><![CDATA[[微信小程序] 3.  奇奇怪怪的经验（待更）]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/106712537</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/106712537</guid><author>animalcoder</author><pubDate>Fri, 12 Jun 2020 11:38:34 +0800</pubDate><description><![CDATA[一 不同于浏览器的flex布局

效果：

实现：


&lt;!--pages/mine/mine.wxml--&gt;

&lt;view class="flex"&gt;
    &lt;view class="flexhead"&gt;top&lt;/view&gt;
    &lt;view class="flexitempre"&gt;
        &lt;scroll-view scroll-y="true" class="flexitem" &gt;
            &lt;..]]></description><category></category></item><item><title><![CDATA[[python] 5. pyqt5小技巧(待更)]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/105976036</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/105976036</guid><author>animalcoder</author><pubDate>Thu, 07 May 2020 17:18:51 +0800</pubDate><description><![CDATA[一、Qlabel字体换行


a=QLabel("123")
a.setWordWrap(True)

二、窗口之间传值


]]></description><category></category></item><item><title><![CDATA[[python] 4.比心]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/105768678</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/105768678</guid><author>animalcoder</author><pubDate>Sun, 26 Apr 2020 14:40:17 +0800</pubDate><description><![CDATA[效果：



实现：


import numpy as np
import matplotlib.pyplot as bear
x = y = np.arange(-4, 4, 0.01)
x, y = np.meshgrid(x,y)
bear.contour(x, y, (x**2 + y**2-8.88)**3-x**2*y**3,[0])
bear.axis('scaled')
bear...]]></description><category></category></item><item><title><![CDATA[[python] 2. pyqt5 装环境，试试打包pyqt]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/105489408</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/105489408</guid><author>animalcoder</author><pubDate>Mon, 13 Apr 2020 15:37:50 +0800</pubDate><description><![CDATA[安装

官网安装anaconda+pycharm即可

注意安装的时候把环境变量的值勾上



绑定anaconda环境

然后pycharm的python环境绑定anaconda下的python.exe就好，环境啥都有，稳了，还自带qt，qtdesigner

设置在左上角File-settings





qtdesigner 配置



tools里面打开qtdesigner


...]]></description><category></category></item><item><title><![CDATA[[python] 3.  pyqt5乱搞，试试子鲜橙，左右布局]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/105488793</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/105488793</guid><author>animalcoder</author><pubDate>Mon, 13 Apr 2020 15:00:38 +0800</pubDate><description><![CDATA[版本：

pyqt 5.9 pycharm+anaconda win10

效果：



思路：

总体使用网格布局，左侧用垂直布局，右侧用栈布局

按钮绑定切换事件，根据按钮id决定切哪个

子界面1创建子线程，激活自定义信号刷新事件



实现：

其实就两个.py 具体看注释

主界面的py


from PyQt5.QtCore import QThread ,  pyqtSignal...]]></description><category></category></item><item><title><![CDATA[[springboot] 异步＋定时任务的坑]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/105379068</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/105379068</guid><author>animalcoder</author><pubDate>Wed, 08 Apr 2020 09:47:05 +0800</pubDate><description><![CDATA[逻辑：

每6s扫描一遍文件夹A，将文件夹A里的所有文件异步复制到文件夹B

坑点：由于文件数目很多，多线程12345678，线程1结束后就会刷新定时任务进入下一周期，而此时线程678还在里面复制，就会出现重复复制找不到文件报错的问题

需要用Future 等所有线程搞完再一起return;



思路：

异步：Async 定时任务：Scheduled 文件操作：hutool



实...]]></description><category></category></item><item><title><![CDATA[[Vue]6. 动态路由 模拟新增文章功能]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/105041347</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/105041347</guid><author>animalcoder</author><pubDate>Mon, 23 Mar 2020 10:16:48 +0800</pubDate><description><![CDATA[Demo:https://gitee.com/animalcoder/Vue/tree/master/vue6

版本：Vue-cli:4.2.9

效果：



可以新建文章 ↓



然后每个文章对应不同的动态url，对应不同title content







添加动态路由思路：

1.Vuex维护List，List里是每个文章的 title , id, content

...]]></description><category></category></item><item><title><![CDATA[[Vue] 5. 试试Vuex]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/104923966</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/104923966</guid><author>animalcoder</author><pubDate>Tue, 17 Mar 2020 16:46:32 +0800</pubDate><description><![CDATA[Vue-cli：4.2.3

demo地址：https://gitee.com/animalcoder/Vue

效果：维护监听List的内容(title,content )，显示到页面Son1 中，Son2 点提交，添加List







实现思路：

引入Vuex 依赖

  npm install xxxx -save ,

新建store.js ： 

  state:...]]></description><category></category></item><item><title><![CDATA[[Vue] 4. vue4打包并发布到springboot里面]]></title><link>https://blog.youkuaiyun.com/animalcoder/article/details/104900561</link><guid>https://blog.youkuaiyun.com/animalcoder/article/details/104900561</guid><author>animalcoder</author><pubDate>Mon, 16 Mar 2020 15:56:53 +0800</pubDate><description><![CDATA[Vue-cli版本:4.0

1.配置vue.config.js


const path = require('path')
module.exports = {
  // 基本路径   整个文件夹在哪
  //publicPath: process.env.NODE_ENV === 'production' ? '/static/' : './',
  publicPath: './',
  ...]]></description><category></category></item></channel></rss>