<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LostCatDragon的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LostCatDragon</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LostCatDragon]]></copyright><item><title><![CDATA[深入理解计算机系统——信息的表示与处理(3.整数的运算、4.浮点数)]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/124981577</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/124981577</guid><author>LostCatDragon</author><pubDate>Thu, 26 May 2022 11:49:39 +0800</pubDate><description><![CDATA[这章书本的内容感觉很复杂，且推导较多。主要就是一些运算的溢出问题，而底层的运算规则又没怎么讲，下面的底层运算规则是自己推导的。
加法
无符号的加法就是二进制数的直接相加然后对位数取模，这比较好理解。如果溢出就是取模后的结果。
有符号的加法是数的补码直接进行加法运算，然后还是取模。溢出就是取模的结果。
非
补码的非就是每位取反。
乘法
在二进制位的层面，乘法运算和十进制的乘法运算的方法是一样的。如：123 = 11000011 = 0011000+001100 = 100100 = 36。
补码也是一样的运算]]></description><category></category></item><item><title><![CDATA[深入理解计算机系统——信息的表示与处理(2.整数的表示)]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/124365740</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/124365740</guid><author>LostCatDragon</author><pubDate>Sat, 23 Apr 2022 20:45:39 +0800</pubDate><description><![CDATA[本节描述两种整数的表示方式，一种只能表示非负数(无符号整数)，一种都能表示(有符号整数)。
## 整数类型和表示范围
| C数据类型 | 最大值 | 最小值 |
|--|--|--|
| char | -128/SCHAR_MIN | 127/SCHAR_MAX |
| unsigned char |0/CHAR_MIN |255/UCHAR_MAX |
| short| -32768 | 32767 |
| unsigned short |0  | 65535 |
| int |-2^31/INT_MIN]]></description><category></category></item><item><title><![CDATA[深入理解计算机系统——信息的表示与处理(1.信息的储存)]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/124300214</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/124300214</guid><author>LostCatDragon</author><pubDate>Wed, 20 Apr 2022 16:51:40 +0800</pubDate><description><![CDATA[本以为自己Java转C，C的基础不足，看这本书才有困难。结果去看了C Primer Plus后回来看这本书还是很难看下去。有时候甚至怀疑我一个小小程序员，编我的程序就行了，这上面写的这都是什么玩意，和我编程有什么关系。但我毕竟还是才疏学浅，甚至还没有开始工作，也许只有真正领悟了计算机的系统构造才能编写更好的代码，更好地发现问题吧。
信息的表示与处理
计算机中存储的所有信息都是以二进制的信号表示的。本章将研究最重要的三种数字表示：

无符号数：unsigned，表示大于等于0的数
补码：表示有符号数的最常见方]]></description><category></category></item><item><title><![CDATA[深入理解计算机系统——计算机系统漫游]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/123723345</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/123723345</guid><author>LostCatDragon</author><pubDate>Fri, 25 Mar 2022 21:49:04 +0800</pubDate><description><![CDATA[深入理解计算机系统的笔记——第一章：计算机系统漫游]]></description><category></category></item><item><title><![CDATA[pyinstaller 打包心酸历程]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/122327671</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/122327671</guid><author>LostCatDragon</author><pubDate>Wed, 05 Jan 2022 17:12:55 +0800</pubDate><description><![CDATA[pyinstaller打包tensorflow、gmsh]]></description><category></category></item><item><title><![CDATA[RocketMQ消息的发送与类别]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/119186258</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/119186258</guid><author>LostCatDragon</author><pubDate>Wed, 28 Jul 2021 18:08:19 +0800</pubDate><description><![CDATA[RocketMQ消息的发送与类别
本文主要内容为：
消息的发送：

一对一
一对多
多对多

消息的类别：

同步消息
异步消息
单向消息
延时消息
批量消息
后面还会讲到消息的过滤

消息的发送
消息的简单一对一的发生在上一篇的测试中就有写到，这里不再写。
一对多发送
一对多发送是一个生产者多个消费者的情况，而且每个消费者都需要得到生产者发送的消息。
这时有两种方案解决这个问题：

分组
在创建消费者的时候我们设置了分组、设置了监听的topic。

DefaultMQPushConsumer consum]]></description><category></category></item><item><title><![CDATA[RocketMQ简介与测试]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/119143543</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/119143543</guid><author>LostCatDragon</author><pubDate>Tue, 27 Jul 2021 15:25:04 +0800</pubDate><description><![CDATA[RocketMQ简介与hello world测试
简介
MQ（Message Queue）消息队列，是一种用来保存消息数据的队列。
之前的分布式系统都是服务器与服务器直接通信，来实现方法的调用与数据的回传。（我之前的小博客项目也是如此）这种方法虽然简单方便，在小型项目的性能上还不错。但是对于高峰期会处理每秒上亿级数据量的大项目来说显得有点不足，所以引入了消息队列来解决传统方法的不足。
消息队列顾名思义也就是一个队列而已。消息生产者产生消息推给MQ，生产者从MQ中获取到消息。（借用了下别人的图）

框架


]]></description><category></category></item><item><title><![CDATA[记录一次糟心的pyinstall安装经历]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/118655912</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/118655912</guid><author>LostCatDragon</author><pubDate>Sun, 11 Jul 2021 16:37:26 +0800</pubDate><description><![CDATA[记录一次糟心的pyinstall安装经历
在下载安装pyinstall的时候遇到了一个问题：

File "&lt;unknown&gt;", line 3789
        f'Export directory contains more than 10 repeated entries '

未知文件出现错误？
SyntaxError: invalid syntax
语法错误？
搜索了一下 “python setup.py egg_info” failed with error code？。有人说要]]></description><category></category></item><item><title><![CDATA[Java实现小型博客系统]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/118581440</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/118581440</guid><author>LostCatDragon</author><pubDate>Thu, 08 Jul 2021 21:53:31 +0800</pubDate><description><![CDATA[Java实现小型博客系统
本项目基于SpringBoot、Dubbo、Zookeeper、Redis、MySQL实现了一个分布式博客系统。功能包括账号的增删改查、文章的增删改查、文章评论的增删改查、热点文章的存取、文章的点赞等。
项目地址：https://github.com/ZhangHZ9802/MyLittleBlogSystem-Java-
（看过我之前文章的朋友们应该能看出这是我对之前项目的重构。主要改变有：优化了前端的界面、优化了前后端的交互、取消了数据库的外键由应用层实现数据库的逻辑关系、禁止]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——Redis和MySQL实现多级缓存]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/118082324</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/118082324</guid><author>LostCatDragon</author><pubDate>Mon, 21 Jun 2021 11:31:44 +0800</pubDate><description><![CDATA[Redis和MySQL实现多级缓存
多级缓存的存在可以有效的提高数据的读取性能，而且还能起到一定的数据丢失的风险防范。本文使用Redis和MySQL实现了微型博客系统中的文章主体内容的多级缓存（也就存了两个数据库）。
Redis接口和功能实现
为Redis接口加上三个函数，分别实现读取删的操作。
    String getUserArticleByAccountAndArticleName(String Account , String ArticleName);
    boolean setUserA]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——Redis实现防止重复登录和点赞的功能(SpringBoot+Redis)]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/117523284</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/117523284</guid><author>LostCatDragon</author><pubDate>Thu, 03 Jun 2021 16:18:14 +0800</pubDate><description><![CDATA[Redis实现防止重复登录和点赞的功能
久违地来更新一下项目。这次在之前的博客项目上加上了防止重复登录和文章的点赞功能。
Redis相关的代码写在一个新的provider中，模拟一个独立的服务器。同样将提供的服务注册在zookeeper中。该provider结构如下：

JedisUtils编写
JedisUtils是帮助获取redis连接的工具类。主要功能就是和redis建立连接。
package com.zhz.f.provider2.utils;

import redis.clients.jedis]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——评论功能的实现]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/116268000</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/116268000</guid><author>LostCatDragon</author><pubDate>Thu, 29 Apr 2021 14:48:54 +0800</pubDate><description><![CDATA[评论功能的实现
本章主要实现了博客的评论功能的实现，包括增删改查等功能。
1.数据库的建立
评论主要应该包括评论的作者、评论的内容、评论所在的文章id
数据库结构如下：
其中comment_id是自增的主键
article_id是与文章编号关联的外键（删改联动）
2.数据库对应的pojo
这里的int类型最好写成它的包装类Integer，不然可能会出现一些问题。
数据的命名是比较重要的，最好不要出现驼峰命名，而是用"_"来分开两个词。
package com.zhz.f.provider.pojo;

im]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——账号和文章的删改功能的实现]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/116208465</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/116208465</guid><author>LostCatDragon</author><pubDate>Tue, 27 Apr 2021 20:49:18 +0800</pubDate><description><![CDATA[账号和文章的删改功能的实现
实现了之前项目的账号和文章内容的删改。接下来计划实现评论功能的开发。
写在前面
由于文件越写越多，堆在一起实在不是很方便管理，所以将文件按照功能的类型给了分类。
以客户端为例：

这样分开的化会比较的清晰。（但是分层的知识我学的还不是很深，之后打算学一下其它优秀的分层，比如说dubbo的分层架构）
账号的修改
账号的修改主要是修改账号的账号、昵称、密码。
我们每次修改账号信息的时候当然不希望把账号所有的东西都改一边，而是需要修改什么则修改什么，基于这种修改的思想，我完成了账号的修]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——写入博客到数据库]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/115978976</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/115978976</guid><author>LostCatDragon</author><pubDate>Wed, 21 Apr 2021 21:15:25 +0800</pubDate><description><![CDATA[写入博客到数据库
想不到了一天更两章，其实这两章都是这两天完成的，内容有点多就拆成了两次。
这章实现了将博客写入数据库的功能，可以实现无字体样式，无图片的写入大段的文字和字符到数据库的功能。（听着就很low，没字体样式就算了，连图片都不能插）之后将进一步完善尝试可以插入图片。
1.写入博客的html页面设计
这里主要提供编写标题和内容的功能，通过form表单提交到后端，十分的简单。
&lt;!DOCTYPE html&gt;
&lt;html lang="en" xmlns:th="http://www.t]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——读取博客文章的实现]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/115975597</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/115975597</guid><author>LostCatDragon</author><pubDate>Wed, 21 Apr 2021 21:00:39 +0800</pubDate><description><![CDATA[读取博客的实现
本章主要完成了博客文字的数据库读取，以及公共首页的所有文章展示页面。完成通过点击文章标题进入博客的功能。
1.文章的数据库设计
id为主键，account为外键，content为内容。取名可能不太符合规范，做之前没有考虑好。content的类型为TEXT。
各种类型能存的数据大小如下：
TINYTEXT 256bytes
TEXT 64kb
MEDIUMTEXT 16Mb
LONGTEXT 4GB

2.公众页面的设计
公众页面可以看见所有文章的标题，通过点击想看的文章即可进入文章页面，显示]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——博客系统数据库的初步建立]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/115765789</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/115765789</guid><author>LostCatDragon</author><pubDate>Fri, 16 Apr 2021 17:04:10 +0800</pubDate><description><![CDATA[数据库的初步建立
出于对分布式的练习，数据库的调用放在另一个服务器中，在客户端服务器中从zookeeper拿到服务。
由于还有科研任务和其它的学习，项目的推进速度可能不是很快，请见谅（如果有人追更的话T.T）
步骤：
1.SpringBoot整合Mybatis
先放个项目文件分布，红色涂掉的是我用来测试Mybatis链接的，可以不用在意

导入maven的依赖：
依赖直接加在f-provider的pom.xml中（预计这个服务专门与数据库交互）
&lt;!--mybatis依赖--&gt;
&lt;depe]]></description><category></category></item><item><title><![CDATA[Java微型博客系统——博客系统登录界面设计]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/115709453</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/115709453</guid><author>LostCatDragon</author><pubDate>Wed, 14 Apr 2021 21:26:01 +0800</pubDate><description><![CDATA[登录界面设计
初步设计一个登录界面，之后可能会有改动
实现用户的登录和注册功能的页面
文件分布

步骤
0.导入依赖
这里需要导入thymeleaf依赖，便于前后端的交互
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt;
&lt;/dependency&gt;
]]></description><category></category></item><item><title><![CDATA[springboot整合netty]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/115699007</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/115699007</guid><author>LostCatDragon</author><pubDate>Wed, 14 Apr 2021 15:00:05 +0800</pubDate><description><![CDATA[springboot整合netty
后端：https://blog.youkuaiyun.com/zhangcongyi420/article/details/88585372
前端：https://blog.youkuaiyun.com/zhangcongyi420/article/details/88562178
前端的CHAT.socket = new WebSocket(“ws://192.168.111.1:8087/ws”);
ip地址改成运行服务器的地址，本地运行改成ws://localhost:8080/ws

.]]></description><category></category></item><item><title><![CDATA[SpringBoot+Dubbo+Zookeeper搭建分布式项目练习]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/115671860</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/115671860</guid><author>LostCatDragon</author><pubDate>Tue, 13 Apr 2021 18:33:06 +0800</pubDate><description><![CDATA[SpringBoot+Dubbo+Zookeeper分布式项目练习（1）
由于一台服务器的能力有限，所以越来越多的大型项目采用分布式的布置方式，多台服务器共同去完成一个大型的集成服务。对分布式的练习还是很有必要的。
这个项目练习主要是使用SpringBoot、Dubbo和Zookeeper来完成一个分布式的项目练习，目标是多个服务器提供一套服务的多个模块，客户端通过网页进行数据的读取等功能。本项目是个人设计的一个练习项目，不可能一蹴而就的，需要多次的迭代，每次增加一些小功能，最后完成一个大项目。本文主要是项]]></description><category></category></item><item><title><![CDATA[pix2pixHD尝试-安装相关内容]]></title><link>https://blog.youkuaiyun.com/LostCatDragon/article/details/114585731</link><guid>https://blog.youkuaiyun.com/LostCatDragon/article/details/114585731</guid><author>LostCatDragon</author><pubDate>Tue, 09 Mar 2021 15:59:52 +0800</pubDate><description><![CDATA[pix2pixHD尝试-安装相关内容
之前为了跑pix2pix，安装过python、cuda等相关内容（参见我之前的文章）
源代码：https://github.com/NVIDIA/pix2pixHD
环境配置
安装cuda和pytorch
安装dominate
安装/升级其他Python包
pytorch的安装和torchvision。注意需要对应python和cuda的版本下载，否则会出现版本的对应错误。
需要升级python的一些东西，比如pillow、numpy。
对应显卡的版本，cuda版本应该]]></description><category></category></item></channel></rss>