<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gf_lvah的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gf_lvah</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gf_lvah]]></copyright><item><title><![CDATA[Testing Spring MVC Web Controller]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/131017418</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/131017418</guid><author>gf_lvah</author><pubDate>Sun, 04 Jun 2023 08:36:50 +0800</pubDate><description><![CDATA[Overview
Problem

How can we test Spring MVC Web Controllers？
How can we create HTTP requests and send to the controller?
How can we verify the response? status_code, view_name, model_attributes.

Spring Testing support

Mock object support for web, REST A]]></description><category></category></item><item><title><![CDATA[Exploring Spring Boot Testing 2 - TDD(Test Driver Development)]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130908871</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130908871</guid><author>gf_lvah</author><pubDate>Sun, 28 May 2023 07:15:56 +0800</pubDate><description><![CDATA[Exploring Spring Boot Testing 2 - TDD

]]></description><category></category></item><item><title><![CDATA[Exploring Spring Boot Testing 1 - Unit Test using Junit]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130896025</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130896025</guid><author>gf_lvah</author><pubDate>Sat, 27 May 2023 07:20:27 +0800</pubDate><description><![CDATA[【代码】Exploring Spring Boot Testing 1: Junit Review。]]></description><category></category></item><item><title><![CDATA[03_Exploring the Exciting New Features in Java 8]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130757284</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130757284</guid><author>gf_lvah</author><pubDate>Fri, 19 May 2023 05:06:42 +0800</pubDate><description><![CDATA[【代码】New Feature in Java8。]]></description><category></category></item><item><title><![CDATA[Advanced Data Structures in Java]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130736938</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130736938</guid><author>gf_lvah</author><pubDate>Thu, 18 May 2023 00:33:46 +0800</pubDate><description><![CDATA[ArrayList implemented as a dynamic array based on arrays.
advanced features and usage of ArrayList in Java:]]></description><category></category></item><item><title><![CDATA[Testing Spring Boot Application with JUnit and Mockito]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130717407</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130717407</guid><author>gf_lvah</author><pubDate>Wed, 17 May 2023 08:35:02 +0800</pubDate><description><![CDATA[Testing Spring Boot ApplicationTesting Spring Boot Application with JUnit and MockitoBest pratices for unittesting in JavaREST API integration testing using TestcontainersIntegration testing Data access or Repository layer using testcontainers
Testing Spri]]></description><category></category></item><item><title><![CDATA[Design a video sharing platform]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130715493</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130715493</guid><author>gf_lvah</author><pubDate>Tue, 16 May 2023 23:04:11 +0800</pubDate><description><![CDATA[【代码】Design a video sharing platform。]]></description><category></category></item><item><title><![CDATA[Event-Driven MicroServices using SpringBoot and RabbitMQ]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130634371</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130634371</guid><author>gf_lvah</author><pubDate>Fri, 12 May 2023 12:39:43 +0800</pubDate><description><![CDATA[Event-Driven MicroServices using SpringBoot and RabbitMQProject AchitectureCreate and Setup MicroservicesOrder ServiceStocker ServiceEmail ServiceCreate RabbitMQ ProducerCreate RabbitMQ Consumer
Project Achitecture

RabbitMQ Producer: Order service
RabbitM]]></description><category></category></item><item><title><![CDATA[Learn RabbitMQ with SpringBoot]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130633954</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130633954</guid><author>gf_lvah</author><pubDate>Fri, 12 May 2023 05:40:02 +0800</pubDate><description><![CDATA[【代码】Learn RabbitMQ with SpringBoot。]]></description><category></category></item><item><title><![CDATA[打造高性能的视频和弹幕系统(一): 对象存储服务]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/130378198</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/130378198</guid><author>gf_lvah</author><pubDate>Wed, 26 Apr 2023 08:49:16 +0800</pubDate><description><![CDATA[你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章，了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持，除了标准的Markdown编辑器功能，我们增加了如下几点新功能，帮助你用它写博客：撤销：Ctrl/Command + Z
重做：Ctrl/Command + Y
加粗：Ctrl/Command + B
斜体：Ctrl/Command + I
标题：Ctrl/Command + S]]></description><category></category></item><item><title><![CDATA[【Python正则表达式】12小时时间格式验证]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/124625889</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/124625889</guid><author>gf_lvah</author><pubDate>Sat, 07 May 2022 11:06:14 +0800</pubDate><description><![CDATA[12小时时间格式验证
实现一个函数check_time用于检测12小时制的时间。


小时的范围是1～12, 比如: 1, 2, 3, 11是正确的小时,01,02,03是错误的小时格式


小时和分钟之间冒号分割


分钟的范围是00-59


后面是可选的空格


空格后跟AM或者PM, 大小写不敏感,am和pm均可
代码实现


import re
def check_time(text):
  # 小时的判断: (1[012]|[1-9])  # 10, 11, 12 或者 1-9 均可
  # 分]]></description><category></category></item><item><title><![CDATA[【Python正则表达式】网址合法性检测]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/124625324</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/124625324</guid><author>gf_lvah</author><pubDate>Sat, 07 May 2022 10:35:27 +0800</pubDate><description><![CDATA[网址合法性检测规则
实现一个函数heck_web_address用于检测网址是否是一个顶级域名。规则如下:

网址名包括字母，数字，下划线，横杠(-),  点号(.) 和 加号(+);
后面紧跟着 .和顶级域名， eg: .com, .info, .edu, .US等
请使用正则表达式实现该函数。

代码实现
import re
def check_web_address(text):
  pattern = r'[\w|.|-|+]+\.(com|info|edu|US|org)$'
  result =]]></description><category></category></item><item><title><![CDATA[Python selenium操作浏览器全屏截图]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/121421020</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/121421020</guid><author>gf_lvah</author><pubDate>Fri, 19 Nov 2021 14:00:36 +0800</pubDate><description><![CDATA[最近完成一个需求，需要对监控页面全屏截图，并存储成图片上传到oss。
网上找了很多资料，全屏截图的确可以，但是如果有代码小scroll的页面无法成功全屏截图，解决方式是：
execute_script = """
            (function () {
              var y = 0;
              var step = 100;
              window.scroll(0, 0);

              function f() {
  ]]></description><category></category></item><item><title><![CDATA[流行软件的汇总学习笔记]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/120800527</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/120800527</guid><author>gf_lvah</author><pubDate>Sat, 16 Oct 2021 16:32:13 +0800</pubDate><description><![CDATA[hadoop
postgresql
prestodb
zookeeper
hbase
spark
nginx
elasticsearch
clickhouse
hbase-phoenix-server
mysql
redis

]]></description><category></category></item><item><title><![CDATA[Django项目数据库优化总结]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/120141516</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/120141516</guid><author>gf_lvah</author><pubDate>Mon, 06 Sep 2021 18:26:41 +0800</pubDate><description><![CDATA[参考网址:Django官方数据库优化
使用 QuerySet.explain() 来了解你的数据库是如何执行特定的 QuerySet 的。你可能还想使用一个外部项目，比如 django-debug-toolbar ，或者一个直接监控数据库的工具。
合理的创建索引
索引可能有助于加快查询速度，但是也要注意索引会占用磁盘空间，创建不必要的索引只会形成浪费。数据库表中的主键、外键、唯一键默认会创建索引。
那么哪些字段需要创建索引呢？这是一个好的且令人疑惑的问题，下面列出的几条可以作为参照意见:

频繁出现在WHE]]></description><category></category></item><item><title><![CDATA[Java注释功能]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/119029970</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/119029970</guid><author>gf_lvah</author><pubDate>Fri, 23 Jul 2021 12:30:48 +0800</pubDate><description><![CDATA[注释是程序的解释说明，是提高可读性的一种手段。Java注释有多种实现方式：

单行注释：//
多行注释: /* 多行注释，不支持嵌套   */
文档注释: /** 文档注释，可以通过JDK提供的javadoc命令生成程序的API文档 */


...]]></description><category></category></item><item><title><![CDATA[深度学习之缺失值处理笔记]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/115602758</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/115602758</guid><author>gf_lvah</author><pubDate>Sun, 11 Apr 2021 17:26:39 +0800</pubDate><description><![CDATA[在机器学习、深度学习中， 训练模型之前必须有足够的数据， 但遗憾的是数据可能存在缺失值，缺失值可能是数值，也可能是字符串，对于这些缺失值该如何处理呢，是经常困惑我的问题，故将学习的内容总结到该博客中。
学习视频链接： 李沐：动手学深度学习视频

...]]></description><category></category></item><item><title><![CDATA[pytorch的张量转换:Numpy张量和Python标量]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/115601393</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/115601393</guid><author>gf_lvah</author><pubDate>Sun, 11 Apr 2021 16:34:39 +0800</pubDate><description><![CDATA[在深度学习里面最常用的数据类型不是torch，也不是tensorflow，而是numpy。那么如何进行数值转换呢？
其实很简单， 直接用封装的方法即可。

转换为Numpy张量

将大小为1的张量转换为 Python 标量，我们可以调用 item 函数或 Python 的内置函数。



...]]></description><category></category></item><item><title><![CDATA[pytorch广播机制的理解]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/115600923</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/115600923</guid><author>gf_lvah</author><pubDate>Sun, 11 Apr 2021 16:08:01 +0800</pubDate><description><![CDATA[想要了解数组维度不同是否可以做数值运算？我们写的数值运算是否真的按照我们想的方式在运作？那么为了避免这些不易察觉的错误，一定要了解下广播机制。

众所周知， == 维度相同，形状相同的数组可以进行数值运算。==
图中a是2行3列的二维数组，b是2行3列的数组。维度相同，都是二维数组。 形状相同，都是2行3列(shape=(2,3))。因此可以直接进行+，-，*，/等数值运算。



...]]></description><category></category></item><item><title><![CDATA[pytorch维度的理解]]></title><link>https://blog.youkuaiyun.com/gf_lvah/article/details/115600660</link><guid>https://blog.youkuaiyun.com/gf_lvah/article/details/115600660</guid><author>gf_lvah</author><pubDate>Sun, 11 Apr 2021 15:56:44 +0800</pubDate><description><![CDATA[在学习pytorch实现合并和求和运算时，经常会用到维度的概念，我在第一次接触时还是有点混乱的，在实践操作过程中，总结出一套自己的理解思路，故记录总结到博客上。
此处dim代表维度， 和numpy模块中的axis一样。
对于二维数组而言， dim=0代表行， dim=1代表列。

数组合并操作

数组求和操作

dim=0代表行相加， 可以理解为所有行相加之和
dim=1代表列相加，可以理解为所有列相加之和





...]]></description><category></category></item></channel></rss>