<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[用心读书]]></title><description><![CDATA[书到用时方恨少，事非经过不知难。]]></description><link>https://blog.youkuaiyun.com/cruiser_ysw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cruiser_ysw]]></copyright><item><title><![CDATA[一行代码实现整个网页的动态缩放]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/116086139</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/116086139</guid><author>cruiser_ysw</author><pubDate>Sat, 24 Apr 2021 12:05:54 +0800</pubDate><description><![CDATA[一行代码实现整个网页的动态缩放
function scaleContent(factor){
    document.getElementsByTagName("body")[0].style.transform = `scale(${factor})`
}


]]></description><category></category></item><item><title><![CDATA[从MemoryStream生成ImageSource的最佳实践]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/115433654</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/115433654</guid><author>cruiser_ysw</author><pubDate>Sun, 04 Apr 2021 21:47:33 +0800</pubDate><description><![CDATA[从MemoryStream生成ImageSource的最佳实践需求思路实现小结参考
好久没有写博客了，今天刚好清明节假期，闲来无事，把最近项目中优化的一个点总结一下。
需求
最近做的项目，需要增加表情功能，需要加载近4000张表情图，供用户使用。项目使用的是WPF框架和MVVM设计模式。
浏览图片功能使用的是ListBox控件，每个ListBoxItem使用Image重写的ControlTemplate。
Image的Source属性是ImageSource类型，通常在图片少的时候通过绑定图片的路径来加载并]]></description><category></category></item><item><title><![CDATA[软件侵入式设计和非侵入式的区别]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/108545511</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/108545511</guid><author>cruiser_ysw</author><pubDate>Sat, 12 Sep 2020 09:47:46 +0800</pubDate><description><![CDATA[在看书的时候经常看到"非侵入式设计"，这样的名称，不太明白什么意思，特意百度了一番，记录一下，方便查阅，以防忘记。
设计理念不同

侵入式设计，就是设计者将框架功能“推”给客户端。
非侵入式设计，则是设计者将客户端的功能“拿”到框架中用。

设计表现不同

侵入式设计有时候表现为客户端需要继承框架中的类。
非侵入式设计则表现为客户端实现框架提供的接口。

依赖性不同

侵入式让用户代码产生对框架的依赖，这些代码不能在框架外使用，不利于代码的复用。但侵入式可以使用户跟框架更好的结合，更容易更充分的利用框架提供]]></description><category></category></item><item><title><![CDATA[【 MYSQL 】 统计7天内每天的数量（按年、季、月、周、日、时统计）]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/107088165</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/107088165</guid><author>cruiser_ysw</author><pubDate>Wed, 08 Jul 2020 09:09:40 +0800</pubDate><description><![CDATA[本文章 mysql 统计使用到的函数说明
DATE_FORMAT（日期时间，格式） 
FROM_UNIXTIME（时间戳，格式）

格式	说明
%a	缩写星期名
%b	缩写月名
%c	月，数值
%D	带有英文前缀的月中的天
%d	月的天，数值 (00-31)
%e	月的天，数值 (0-31)
%f	微秒
%H	小时 (00-23)
%h	小时 (01-12)
%I	小时 (01-12)
%i	分钟，数值 (00-59)
%j	年的天 (001-366)
%k	小时 (0-23)
%l	小时 (1-12)
%]]></description><category></category></item><item><title><![CDATA[如何在UWP应用程序退出时能做一些额外事情？]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106944831</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106944831</guid><author>cruiser_ysw</author><pubDate>Wed, 24 Jun 2020 22:47:54 +0800</pubDate><description><![CDATA[UWP 如何在应用关闭前处理一些事情欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学]]></description><category></category></item><item><title><![CDATA[在Ubuntu20.04上安装MySQL8.0及正确配置[已验证]]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106934570</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106934570</guid><author>cruiser_ysw</author><pubDate>Wed, 24 Jun 2020 00:08:51 +0800</pubDate><description><![CDATA[在Ubuntu20.04上安装MySQL8.0及正确配置[已验证]安装MySQL验证登陆MySQL创建db解决workbench连接的问题小结常用操作如何新增用户对新增的用户更改加密方式和密码卸载MySQL参考

Ubuntu在20.04版本中，源仓库中MySQL的默认版本已经更新到8.0。因此可以直接安装。

安装MySQL
sudo apt-get update  #更新源
sudo apt-get install mysql-server #安装

验证
安装完成后，可以通过下面的命令来查看时候安装成]]></description><category></category></item><item><title><![CDATA[golang如何对自定义类型的slice进行排序？]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106824313</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106824313</guid><author>cruiser_ysw</author><pubDate>Fri, 19 Jun 2020 22:29:07 +0800</pubDate><description><![CDATA[前言
在golang的sort包里，可以对int类型、float64类型和string类型这三种类型的slice排序。如果我们相对其他类型比如int64或者自定义类型的slice进行排序该如何做呢？
实现
其实在sort包里，golang已经把排序使用的接口都以及定义好了
// A type, typically a collection, that satisfies sort.Interface can be
// sorted by the routines in this package. The.]]></description><category></category></item><item><title><![CDATA[golang计算任意两个时间点之间所覆盖的天数]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106819632</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106819632</guid><author>cruiser_ysw</author><pubDate>Wed, 17 Jun 2020 22:57:01 +0800</pubDate><description><![CDATA[golang计算任意两个时间点之前所在的天数前言例子思路实现验证小结
前言
有时候我们需要统计某个东西的日平均使用时长，我们就需要将一大段的使用时长拆分到天。
例子


例子1

From: 2020-6-16 22:55:50
To:   2020-6-16 23:55:50

答案：天数应该是1天，duration是1小时。

例子2

From: 2020-6-16 22:55:50
To:   2020-6-17 00:01:56

答案：天数应该是2天，第一天的duration是4分10秒，第二天]]></description><category></category></item><item><title><![CDATA[ubuntu下一款相当不错的且免费的代码比较工具meld]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106785970</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106785970</guid><author>cruiser_ysw</author><pubDate>Tue, 16 Jun 2020 21:24:26 +0800</pubDate><description><![CDATA[Meld可以允许用户进行目录比较、工程比较、文件内容比较。
安装
sudo apt install meld

命令执行完毕，可以在命令行中输入meld进行启动。也可以在sf的Activities的搜索框中输入meld, meld的应用程序图标就会出现，在图标上右键选择Add to Favoriates.

...]]></description><category></category></item><item><title><![CDATA[解决cookiecutter在ubuntu上出现的问题“No module named functools_lru_cache”]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106722844</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106722844</guid><author>cruiser_ysw</author><pubDate>Fri, 12 Jun 2020 22:47:58 +0800</pubDate><description><![CDATA[解决cookiecutter在ubuntu上遇到的问题

]]></description><category></category></item><item><title><![CDATA[golang中如何获取文件的扩展名？]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106564007</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106564007</guid><author>cruiser_ysw</author><pubDate>Fri, 05 Jun 2020 10:01:01 +0800</pubDate><description><![CDATA[golang中如何获取文件的扩展名？
在go的path包里，有*func Ext(path string) string*方法，这个方法可以获取文件的扩展名，他的返回值是带点.的，比如文件名称是test.txt, 使用这个函数后，返回值是.txt。如果文件没有扩展名，这个方法返回空字符。详情查看源码。
// Ext returns the file name extension used by path.
// The extension is the suffix beginning at the fin]]></description><category></category></item><item><title><![CDATA[通过form-data上传文件后，后台service从哪里可以获取其文件名？]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106560851</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106560851</guid><author>cruiser_ysw</author><pubDate>Fri, 05 Jun 2020 00:15:36 +0800</pubDate><description><![CDATA[通过form-data上传文件后，后台service从哪里可以获取其文件名?背景开始探索验证阶段参考
背景

之前都是做桌面软件和嵌入式软件开发的。最近刚入门后端开发，对很多后端的知识不太了解。项目中有这样一个需求，需要向后端发送一组信息，其中包括文件资料，如图片。其他都是这些资料的元数据信息。如下图所示。请求发送后，后端service怎样从请求中获知文件名信息?

当然，我可以在发送情况的时候，在元数据里添加文件名字段，这也是一个办法。但从http请求中能否获得呢？我们一起来看看。

开始探索
经同事指引]]></description><category></category></item><item><title><![CDATA[Go语言中的代码重用 - 继承还是组合？]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106509271</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/106509271</guid><author>cruiser_ysw</author><pubDate>Tue, 02 Jun 2020 23:35:58 +0800</pubDate><description><![CDATA[故事要从我在一个项目中，想要假装的专业一点而遇到的一个陷阱说起。

代码重用
在这个项目中，我们已经有了类似如下的代码：

package main

import (
  "fmt"
)

func main() {
  user := &amp;User{name: "Chris"}
  user.sayHi()
}

type User struct {
  name string
}

func (u *User) sayHi() {
  u.sayName()
  ...]]></description><category></category></item><item><title><![CDATA[如何快速制作gif图片]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/51864329</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/51864329</guid><author>cruiser_ysw</author><pubDate>Fri, 08 Jul 2016 22:35:14 +0800</pubDate><description><![CDATA[阅读别人的博客的时候，经常看到他们使用动态图来演示，达到的效果非常好。顿时心中产生疑问，如果我自己需要用到gif图的时候，那我该怎么办？]]></description><category></category></item><item><title><![CDATA[自定义Android Studio主题风格--基于sublime3修改而来的]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/51858258</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/51858258</guid><author>cruiser_ysw</author><pubDate>Fri, 08 Jul 2016 09:32:38 +0800</pubDate><description><![CDATA[非常好用的Android Studio的自定义主题。]]></description><category></category></item><item><title><![CDATA[隐藏wmware到系统托盘]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/9750361</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/9750361</guid><author>cruiser_ysw</author><pubDate>Sun, 04 Aug 2013 21:42:15 +0800</pubDate><description><![CDATA[【此方法是百度到的，经整理放在这里以防忘记。】
1、打开VMware Authorization Service服务。控制面板－－管理工具－－服务，在里面找到VMware Authorization Service服务，启动它。默认是手动，你想要每次开机都启动，可以选择自动。
2、打开虚拟机后，Edit--->Preferences---->workspace，勾选“Keep WMs runn]]></description><category></category></item><item><title><![CDATA[Fedora9下解决无ifconfig指令]]></title><link>https://blog.youkuaiyun.com/cruiser_ysw/article/details/9749887</link><guid>https://blog.youkuaiyun.com/cruiser_ysw/article/details/9749887</guid><author>cruiser_ysw</author><pubDate>Sun, 04 Aug 2013 21:12:40 +0800</pubDate><description><![CDATA[问题：在VM6.5上装了Fedora9，但是当输入ifconfig指令的时候，提示不存在。
原因：是PATH环境变量设置不对。PATH环境变量里少了几个目录：/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin，而ifconfig指令就是在/sbin目录里面。
解决方法：1、root用户权限下面，运行vim /etc/profile，在最后加入e]]></description><category></category></item></channel></rss>