<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[title_martin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/title_martin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; title_martin]]></copyright><item><title><![CDATA[Flutter绘制指南10-手势在绘制中的使用]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125407293</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125407293</guid><author>title_martin</author><pubDate>Wed, 22 Jun 2022 13:54:39 +0800</pubDate><description><![CDATA[3. 添加手势控制



4.监听器



二、绘制刻度尺

1. 组件介绍]]></description><category></category></item><item><title><![CDATA[Flutter绘制指南09-动画曲线和方法]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125401711</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125401711</guid><author>title_martin</author><pubDate>Wed, 22 Jun 2022 02:06:53 +0800</pubDate><description><![CDATA[代码实现

2. Flutter所有内置的曲线效果]]></description><category></category></item><item><title><![CDATA[Flutter绘制指南08-绘制中使用动画]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125389364</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125389364</guid><author>title_martin</author><pubDate>Tue, 21 Jun 2022 14:49:00 +0800</pubDate><description><![CDATA[二、为画布添加动画

1. 创建AnimationController对象




2.Tween的使用]]></description><category></category></item><item><title><![CDATA[Flutter绘制指南06-颜色的基本操作]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125353649</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125353649</guid><author>title_martin</author><pubDate>Sun, 19 Jun 2022 12:06:51 +0800</pubDate><description><![CDATA[2.关于颜色的ARGB表示

3.关于颜色与图片

二. 绘制颜色阵列


四、获取图片中的颜色]]></description><category></category></item><item><title><![CDATA[Flutter绘制系列03---绘制图片文字]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125081663</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125081663</guid><author>title_martin</author><pubDate>Sun, 19 Jun 2022 00:22:10 +0800</pubDate><description><![CDATA[好，这样我们就将一个画板创造出来了。并且上面会有一张我们drawImage出来的图片。

好的，这样的话我们的图片就成功的在画布上渲染出来了。然后我们再来思考一个问题，我们有没有可能将这个图片给他按照矩形裁剪出来呢？
这样，我们就可以将我们的图片做各种不同的裁剪绘制了。

5、绘制图集


定义每个Sprite类封装图片元素数据



绘制一张图片




图形的变换


5、绘制原始图集：


2、 文字绘制......]]></description><category></category></item><item><title><![CDATA[flutter绘制指南04-路径的操作方法]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125353031</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125353031</guid><author>title_martin</author><pubDate>Sun, 19 Jun 2022 00:17:49 +0800</pubDate><description><![CDATA[2. 和


3.:路径变换


4.:路径联合


二. 路径测量的使用

1.认识




2. 路径测量获取路径某个位置的信息


3.路径测量和动画相结合]]></description><category></category></item><item><title><![CDATA[Flutter绘制指南05-图形的路径添加]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125336613</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125336613</guid><author>title_martin</author><pubDate>Fri, 17 Jun 2022 17:50:21 +0800</pubDate><description><![CDATA[flutter 绘制芝兰]]></description><category></category></item><item><title><![CDATA[Flutter绘制系列02---画布的基础操作]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125070937</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125070937</guid><author>title_martin</author><pubDate>Tue, 31 May 2022 22:53:28 +0800</pubDate><description><![CDATA[画布变形和状态

画布变化主要通过一个4*4的变换矩阵，其中transform方法是最核心的,也是最难用的。
不过另外的四个方法都是为了简单使用，对transform的封装



注意，画布的变换是持久性的，变换之后的所有绘制都在变换后的画布上运行。
变换不是永久性的变换，需要使用状态的存储和恢复到之前画布的状态。

1.平移变换

如果想要屏幕的(0,0)点永远在屏幕的中心，可以将画布进行偏移
但是这样之后的绘制就会以中心为原点。


@override
  void paint(Canvas canva]]></description><category></category></item><item><title><![CDATA[Flutter绘制系列01---画笔的属性]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/125067341</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/125067341</guid><author>title_martin</author><pubDate>Tue, 31 May 2022 18:10:54 +0800</pubDate><description><![CDATA[认识画笔的属性




属性
介绍
方法
默认值




isAntiAlias
是否抗锯齿
bool
true


style
画笔类型
PaintingStyle
PaintingStyle.fill


color
画笔颜色
Color
Color(0xffffffff)


strokeWidth
线宽
double
0.0


颜色是color和是否抗锯齿

首先画两个圆，看一个是设置没有抗锯齿的，一个是设置抗锯齿的


void drawIsAntiAliasColor(Canvas canva]]></description><category></category></item><item><title><![CDATA[湖南成考网系统架构介绍]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/117677033</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/117677033</guid><author>title_martin</author><pubDate>Mon, 07 Jun 2021 23:56:33 +0800</pubDate><description><![CDATA[项目简介
一、简介

前后端分离是目前最火的开发模式，很多互联网企业早早地就开始了前后端分离的开发
本项目需要有一定的基础，除SpringBoot、Mybatis等必须技术外，其他前置技术已在下面标注

二、项目概述
基于SpringBoot+Vue前后端分离的湖南成人高考考试报名系统系统，分为后端项目、管理系统、用户前台三个项目。
项目分为五个部分。
第一部分：后台接口编写

第二部分：后台管理编写

第三部分：前台界面编写

第四部分：接口对接

第五部分：剩余模块及项目部署

三、技术选型
3.1 后]]></description><category></category></item><item><title><![CDATA[卓医通项目后端架构介绍]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116640544</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116640544</guid><author>title_martin</author><pubDate>Tue, 11 May 2021 09:22:00 +0800</pubDate><description><![CDATA[游医通项目后端架构介绍
项目简介
游医通是以完整的基层医疗机构-信息化解决方案为出发点，打造链接诊所、医生、患者、一站式互联网医疗服务系统，深度挖掘基层医疗机构需求，解决其真正痛点；全面提升医疗管理质量和可执行落地的综合性解决方案
以下这张图是我们系统pc端的后台首页图：

项目特色：

前后端分离，基于shiroAPI的权限验证
基于zookeeper+dubbo的分布式框架，扩展更容易
MYSQL、Redis、多种数据存储方式，只为更快
Mycat数据库分片技术，解决数据库实际扩容问题
ActiveMQ]]></description><category></category></item><item><title><![CDATA[角色与用户之间的关系springboot实战]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116398743</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116398743</guid><author>title_martin</author><pubDate>Tue, 04 May 2021 11:33:00 +0800</pubDate><description><![CDATA[首先，在我们真实的项目环境开发应用中，会有很多的用户，就比如一个医院的系统，可能会有医生用户，管理员用户，患者用户，这些不同的用户对应者不同的权限，然后系统通过判断这些用户是否拥有相应的权限，对其进行授权操作，授权之后用户可以操作一些只有他这个权限能够操作的功能。

这里我们主要着重讲权限与用户一对多的关系。下面直接上干货：

首先你得要有3张表：用户表，角色表，用户角色中间表。

用户表：



权限表：



用户角色中间表存两个字段，一个是角色ID，一个是用户ID：





好的，更具我上面的步骤.]]></description><category></category></item><item><title><![CDATA[leetcode螺旋矩阵问题]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116327767</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116327767</guid><author>title_martin</author><pubDate>Sat, 01 May 2021 11:38:49 +0800</pubDate><description><![CDATA[今天我们来研究leetcode的螺旋矩阵问题，下面请看原题：



然后先看简单一点的方法：


class Solution {
    public List&lt;Integer&gt; spiralOrder(int[][] matrix) {
        List&lt;Integer&gt; res = new LinkedList&lt;&gt;();
        if (matrix.length == 0) {
            return res;
        }
 ]]></description><category></category></item><item><title><![CDATA[leetcode算法POW(n,x)问题]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116308824</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116308824</guid><author>title_martin</author><pubDate>Fri, 30 Apr 2021 20:26:22 +0800</pubDate><description><![CDATA[原题如下：

以上题目，如果不考虑时间的话，那么这一题有个最简单的解决办法：
package medium.myPow;

public class Main {

  public static double myPow(double x,int n){
    double result=1.0;
    if(n==0){
      return 1;
    }
    if(n&lt;0){
      for (int i = 0; i &lt; -n; i++) {
        resu]]></description><category></category></item><item><title><![CDATA[动态递归【三数之和问题】]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116272084</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116272084</guid><author>title_martin</author><pubDate>Thu, 29 Apr 2021 16:57:30 +0800</pubDate><description><![CDATA[首先先看原题：




package medium.threeSum;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class Main {
  public static List&lt;List&lt;Integer&gt;&gt; threeSum(Integer[] nums){
    if(nums.length&lt;]]></description><category></category></item><item><title><![CDATA[最长回文子串java暴力解法]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116264701</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116264701</guid><author>title_martin</author><pubDate>Thu, 29 Apr 2021 11:46:51 +0800</pubDate><description><![CDATA[给定一个字符串s，找到s的最长回文子串，假设s的最大长度为1000.


实例：
输入:"babad"
输出:"bab"
注意:"aba"也是一个有效答案

示例2：
输入:"cbbd"
输出:"bb"

子串(subString):原始字符串的一个连续子集

子序列(subsequence):原始子串的一个子集



最简单的暴力破解方法：


package medium.longestPalindrome;

public class Main {
  public static String lo.]]></description><category></category></item><item><title><![CDATA[用滑动窗口思想解决无重复最长子串问题]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/116258037</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/116258037</guid><author>title_martin</author><pubDate>Thu, 29 Apr 2021 09:15:55 +0800</pubDate><description><![CDATA[什么是滑动窗口？

滑动窗口就是，有一个字符串，有个最左边界和一个最右边界，你要截取这个字符串中的一个无重复子串，那么现在吧你截取的字符串想象成一个窗口，这个窗口不断的往后面滑动，直到到达字符串末尾为止，在窗口滑动的过程中，你会一个一个字符往后面遍历，得到他的最大的无重复子串，这个过程就叫做滑动窗口。

下面我们看一段实例：


package medium.lengthOfLongestSubstring;

import java.util.HashSet;
import java.util.Set;.]]></description><category></category></item><item><title><![CDATA[2-3树原理+代码实现！超简单java入门版！]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/111603864</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/111603864</guid><author>title_martin</author><pubDate>Thu, 21 Jan 2021 13:30:25 +0800</pubDate><description><![CDATA[2-3查找树
为了保证树的平衡性，我们需要一些灵活性，因此在这里我们允许树中的一个结点保存多个键，确切的说，我们将一颗标准的二叉查找树的结点称为2-结点(含有一个键和两条链)。而现在我们引入3-结点，它含有两个键和3条链。2-和3-结点中的每条链对应着其中保存的键所产生的一个区间。
定义：
一颗2-3树要么为空，要么满足下面两个要求：


2-结点：
含有一个键，及其对应值得两条链，左链接指向2-3树中的键都小于该结点，右链接指向2-3树中的键都大于该结点


3-结点：
含有两个键(及其对应的值)和3条链]]></description><category></category></item><item><title><![CDATA[C语言结构体，超简单入门版！]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/110391777</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/110391777</guid><author>title_martin</author><pubDate>Mon, 30 Nov 2020 17:58:52 +0800</pubDate><description><![CDATA[同学们好啊，我是401郭明，这篇博文我将带大家好好分析C语言结构体，帮大家在C语言方面快速打好基础，本篇博文主要针对没有C语言基础或者C语言基础不好的同学。
为了方便大家理解，我这篇文章将会讲的十分之详细，基本上我把我对于C语言的理解全部倾述于这篇博文之上，大家都知道我郭某人的梦想是当老师，所以这篇文章我会写的非常方便大家理解。并且尽可能让大家没有阅读障碍！
首先第一步嘛，我们想写一个C语言代码，我们肯定要创建一个C语言的源文件：

上面这张图片展示了我们在DEV C++中创建一个C语言源文件。
然后我们在]]></description><category></category></item><item><title><![CDATA[二叉树遍历扩展]]></title><link>https://blog.youkuaiyun.com/title_martin/article/details/110007859</link><guid>https://blog.youkuaiyun.com/title_martin/article/details/110007859</guid><author>title_martin</author><pubDate>Sat, 28 Nov 2020 15:50:03 +0800</pubDate><description><![CDATA[在前面的一章中，我们知道了如何实现简单的二叉树，可以实现get查询，put插入，以及delete删除。
下面我们对二叉树的查询进行一定的扩展，查询二叉树中的最小值和最大值
查询二叉树中的最小键
在某些情况下，我们需要查找出树中存储的所有元素的键的最小值，比如我们树中存储的是学生的排名和姓名数据。那么我们需要查找出排名最低是多少名？这里我们设计以下两个方法来完成：




方法
作用




public Key min()
找出树中最小的键


private Node min(Node x)
找出指定树X]]></description><category></category></item></channel></rss>