<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[夏2同学的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xia_yanbing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xia_yanbing]]></copyright><item><title><![CDATA[Vue超简单的全局状态管理 - Pinia的最佳实践]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/125044805</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/125044805</guid><author>xia_yanbing</author><pubDate>Mon, 30 May 2022 13:24:10 +0800</pubDate><description><![CDATA[1. 安装
yarn add pinia
# or with npm
npm install pinia

// vue3中

import { createPinia } from 'pinia'
app.use(createPinia())

2.store
2.1 创建文件

import { defineStore } from 'pinia'

export const useCounterStore = defineStore({
  id: 'count',
  state: () =&gt;]]></description><category></category></item><item><title><![CDATA[React学习笔记]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/125022439</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/125022439</guid><author>xia_yanbing</author><pubDate>Sat, 28 May 2022 20:11:15 +0800</pubDate><description><![CDATA[1. 起步
# 创建项目
npx create-react-app project-name

Vscode - React插件安装

添加该依赖后：
rcc 和 rfc可以创建组件的方法

# 快速启动的代码块
rcc - react class component
rfc - react fucntion component

1.1 Hello world
// index.js

import react from 'react'
import ReactDOM from 'react-dom'
i]]></description><category></category></item><item><title><![CDATA[【实用技能】如何复制项目文件不包括node_modules]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/124862169</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/124862169</guid><author>xia_yanbing</author><pubDate>Thu, 19 May 2022 14:13:46 +0800</pubDate><description><![CDATA[1. 前言
在将项目代码分享给别人的时候，很多时候我们会先手动移除node_modules。因为一个node_modules很多时候会占几百兆，此前我每次想要分享代码给别人，首先得加个.gitignore，然后把代码上传到Github，通过Github进行代码的分享，此时因为配置ignore node_modules, 别人下载下来的项目是不带node_modules。
但是这个过程操作起来耗时比较久，我就想为什么我不自己开发一个脚本，实现复制项目，但是不复制里面的node_modules，然后直接将该项目]]></description><category></category></item><item><title><![CDATA[postman代码没有问题，但是文件上传失败]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/123054780</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/123054780</guid><author>xia_yanbing</author><pubDate>Mon, 21 Feb 2022 20:06:37 +0800</pubDate><description><![CDATA[1. 问题分析
postman临时上传非工作区的文件是可以的，但是当你关掉postman再重启，postman会帮你记住选择的文件，但是永远没办法成功上传上去，原因是因为该文件不在工作区内。
2. 解决办法
2.1 File-&gt;setting-&gt;Location


修改成一个目录，上传文件，建议只用该文件夹里面的。

...]]></description><category></category></item><item><title><![CDATA[干死该死的横向滚动条]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/122436982</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/122436982</guid><author>xia_yanbing</author><pubDate>Tue, 11 Jan 2022 17:07:43 +0800</pubDate><description><![CDATA[一、情景描述
开发者小蒋按照1920*1080的分辨率进行开发，他写的所有元素的宽度都没有超过1920，但是却出现横向滚动条，小蒋百思不得其解，最终求教程序员大尤。

可能的问题原因：

任务栏左置，实际横向宽度只有1918
浏览器的竖向滚动条占了20px，横向宽度实际只有1900

二、解决办法
问题1：任务栏左置，实际横向宽度只有1918
当任务栏居左时，横向只有1918px。
2px被操作系统拿去做侧边栏感应了。
所以少了2px。


实践解决
右键—&gt;任务栏设置-----&gt; 调整至底部
]]></description><category></category></item><item><title><![CDATA[Vue3入门笔记—2022年1月9日]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/122399033</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/122399033</guid><author>xia_yanbing</author><pubDate>Sun, 09 Jan 2022 20:54:19 +0800</pubDate><description><![CDATA[1. 响应式值（ref和reactive）
一般：
1、ref用于单个值，
2、reactive用于对象类型的数据。
例如:
const name = ref("zhangsan")
const user = reactive({
    'name': 'zhangsan',
    'age': 18
})
// 当用ref去封装对象类型的数据时，数据发生变化，watch函数监听不到，
// 而reactive函数可以监控的到

watch(user,(newVal)=&gt;{
    // 输出新的]]></description><category></category></item><item><title><![CDATA[【C语言】二维数组遍历的3种方式]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/119281776</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/119281776</guid><author>xia_yanbing</author><pubDate>Sat, 31 Jul 2021 21:31:30 +0800</pubDate><description><![CDATA[#include &lt;math.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

#define ROW 2
#define COL 2

int main() {
  int arr[ROW][COL] = {{1, 2}, {3, 4}};

  // 遍历一个二维数组的三种方式

  printf("\n方法1：\n");
  // 1. 最简单的
  for (int i = 0; i &lt; ROW; i++) {
    f]]></description><category></category></item><item><title><![CDATA[【计算机密码学基础】对称加密算法 && 非对称加密算法]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/119151042</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/119151042</guid><author>xia_yanbing</author><pubDate>Tue, 27 Jul 2021 19:35:43 +0800</pubDate><description><![CDATA[1. 对称加密算法
远古时期大家使用的加密算法。
两个要素

明文（原始数据）
加密密钥

例如：
信息发送方
加密秘钥，我规定，每个英文字母对应的字母+1，a变成b
传输信息, how are you
加密后，就变成了 ipx bsf zpv（为了方便看，转码时候忽略了空格）
信息接收方：
依次将字母向前移动一位就可以还原成原来的信息how are you
这就引出了对称式加密的显著特点，双方必须事先知道加密秘钥是什么。两方都得知道。
基于“对称密钥”的加密算法主要有DES、TripleDES、RC2、R]]></description><category></category></item><item><title><![CDATA[【2021年】通过vue-cli创建electron项目]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/119117050</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/119117050</guid><author>xia_yanbing</author><pubDate>Mon, 26 Jul 2021 19:49:51 +0800</pubDate><description><![CDATA[1. 创建项目
vue create your-project-name

2. vue-cli添加electron-builder依赖
// 切换工作目录
cd vue3-electron/
// 添加依赖
vue add electron-builder

// !!! 请保证node版本&gt;=14.0.0 否则会报错


其官网地址：Vue CLI Plugin Electron Builder (nklayman.github.io)
3. 添加UI依赖
// 这里选择使用的是bootstrap]]></description><category></category></item><item><title><![CDATA[springboot下使用mybatis配置]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/118579648</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/118579648</guid><author>xia_yanbing</author><pubDate>Thu, 08 Jul 2021 18:22:58 +0800</pubDate><description><![CDATA[springboot下使用mybatis配置
1. 依赖安装
pom.xml文件
&lt;dependency&gt;
    &lt;groupId&gt;org.mybatis.spring.boot&lt;/groupId&gt;
    &lt;artifactId&gt;mybatis-spring-boot-starter&lt;/artifactId&gt;
    &lt;version&gt;2.1.4&lt;/version&gt;
&lt;/dependency&gt;

&lt;de]]></description><category></category></item><item><title><![CDATA[Springboot整合swagger指南]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/118577275</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/118577275</guid><author>xia_yanbing</author><pubDate>Thu, 08 Jul 2021 16:49:20 +0800</pubDate><description><![CDATA[Springboot整合swagger指南
1. 安装使用
1.1 下载依赖
&lt;dependency&gt;
    &lt;groupId&gt;io.springfox&lt;/groupId&gt;
    &lt;artifactId&gt;springfox-swagger2&lt;/artifactId&gt;
    &lt;version&gt;2.9.2&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;gr]]></description><category></category></item><item><title><![CDATA[Linux服务器配置PHP文件下载，出现中文乱码问题，下载出错]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/118399975</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/118399975</guid><author>xia_yanbing</author><pubDate>Thu, 01 Jul 2021 22:57:09 +0800</pubDate><description><![CDATA[俩个坑点
1. 操作系统的编码问题
windows上的默认编码是gbk，所以如果文件名采用的是中文，那么上传到Linux上面，由于默认编码是utf-8就会出现文件名乱码！

解决办法，手动重命名
2. PHP.ini 配置文件中默认编码是 ISO-8859-1
sudo vi /etc/php5/apache2/php.ini

打开文件后，按下“/default_charset”进行搜索，
按下回车键，找到default_charset的位置，进行修改。
把注释去掉，即是把“；”去掉，把iso-8859-]]></description><category></category></item><item><title><![CDATA[PHP进行图片下载的时候，出现图片损坏，无法打开（实质原因，多输出了一个空白字符ZWNBSP ）]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/118034391</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/118034391</guid><author>xia_yanbing</author><pubDate>Fri, 18 Jun 2021 21:50:25 +0800</pubDate><description><![CDATA[解决办法
// 非常重要， 必须加入下面两行代码，
// 否则会出现 ZWNBSP （图片下载，显示文件已损坏）
    ob_clean();
    flush();

参考代码：

function my_download($file_dir, $file_name)
{
    $filePath = $file_dir . $file_name;
    //检查文件是否可读
    if (!is_file($filePath)) exit('Can not access file, ' . $]]></description><category></category></item><item><title><![CDATA[Navicat数据库非常实用的技巧 （create_time、edit_time 设置默认值和自动更新）]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/117906974</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/117906974</guid><author>xia_yanbing</author><pubDate>Mon, 14 Jun 2021 16:17:57 +0800</pubDate><description><![CDATA[SQL代码版本:
CREATE TABLE `log`  (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
  `edit_time` datet.]]></description><category></category></item><item><title><![CDATA[【最简单的例子】Editor.md的初步使用]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/116770030</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/116770030</guid><author>xia_yanbing</author><pubDate>Thu, 13 May 2021 22:54:39 +0800</pubDate><description><![CDATA[前言
这个Demo的文件，我帮大家准备了。直接下载就可以了。
蓝奏云 ： https://jww.lanzoui.com/iKV13p3qqwh

运行效果如下：

1. 导入所需文件

其实就这三个包。
2. 编写下面的代码
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;
    &lt;meta charset="UTF-8" /&gt;
    &lt;meta name="viewport" content="width=dev]]></description><category></category></item><item><title><![CDATA[Mysql动态数据多条件查询]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/116706429</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/116706429</guid><author>xia_yanbing</author><pubDate>Wed, 12 May 2021 14:16:37 +0800</pubDate><description><![CDATA[Mysql动态数据多条件查询
前言
有的时候，我们进行数据的数据查询的时候，我们会加入筛选条件。
例如：
select * from user where username = ?
// ? 指的是自己输入的过滤条件

但是有的时候，我们又不想查询这个username的关键词。
select * from user 
# 只想上面语句效果

怎么办呢？
原理解析
# 首先我们知道下面两条语句的效果是一样的。
select * from user

select * from user where usern]]></description><category></category></item><item><title><![CDATA[【小坑】Android 实现对话框会报错 （You need to use a Theme.AppCompat theme (or descendant) with this activity）]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/116674534</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/116674534</guid><author>xia_yanbing</author><pubDate>Tue, 11 May 2021 23:01:18 +0800</pubDate><description><![CDATA[效果演示
有的时候，我们想Activity以小窗口的形式展示。

其实只需要添加上这么一行就可以了。
android:theme="@style/Theme.AppCompat.Light.Dialog"


但是有的地方会看到有人采用，下面这种写法。
android:theme="@android:style/Theme.Dialog"

其实也是对的，但是运行的时候，代码会直接报错。

必须把Activity 继承的类修改掉。否则会报错。


...]]></description><category></category></item><item><title><![CDATA[【安卓】基于SharedPreferences实现用户登录信息的存储]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/116497934</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/116497934</guid><author>xia_yanbing</author><pubDate>Fri, 07 May 2021 17:11:48 +0800</pubDate><description><![CDATA[1. 设计登录页面

比较简单，重要的点就一个，有一个记住密码的按钮。
代码实现
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
 ]]></description><category></category></item><item><title><![CDATA[ViewPager实现翻页效果&导航点]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/116398518</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/116398518</guid><author>xia_yanbing</author><pubDate>Tue, 04 May 2021 10:59:34 +0800</pubDate><description><![CDATA[ViewPager实现翻页效果&amp;导航点
0. 效果演示

1. 基础实现
三步走：
0.新建ViewPager
1.创建适配器
2.设置数据适配器

1.1 新建ViewPager视图

1.2 创建适配器
private class myAdapter extends PagerAdapter {

    // 这四个方法需要被重写
    @Override
    public int getCount() {
        return wxs.length;
    }

    @O]]></description><category></category></item><item><title><![CDATA[【Python】 1055 集体照 (25 分)]]></title><link>https://blog.youkuaiyun.com/xia_yanbing/article/details/116379376</link><guid>https://blog.youkuaiyun.com/xia_yanbing/article/details/116379376</guid><author>xia_yanbing</author><pubDate>Mon, 03 May 2021 18:42:38 +0800</pubDate><description><![CDATA[1. 题目：
题目地址： https://pintia.cn/problem-sets/994805260223102976/problems/994805272021680128
1055 集体照 (25 分)
拍集体照时队形很重要，这里对给定的 N 个人 K 排的队形设计排队规则如下：

每排人数为 N/K（向下取整），多出来的人全部站在最后一排；

后排所有人的个子都不比前排任何人矮；

每排中最高者站中间（中间位置为 m/2+1，其中 m 为该排人数，除法向下取整）；

每排其他人以中间人为轴，按身]]></description><category></category></item></channel></rss>