<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[d1874的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/d1874</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; d1874]]></copyright><item><title><![CDATA[70个Python练手项目列表，得不到就毁掉~]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/117665548</link><guid>https://blog.youkuaiyun.com/d1874/article/details/117665548</guid><author>d1874</author><pubDate>Mon, 07 Jun 2021 16:15:01 +0800</pubDate><description><![CDATA[前言：
不管学习哪门语言都希望能做出实际的东西来，这个实际的东西当然就是项目啦，不用多说大家都知道学编程语言一定要做项目才行。
这里整理了70个Python实战项目列表，都有完整且详细的教程，你可以从中选择自己想做的项目进行参考学习练手，你也可以从中寻找灵感去做自己的项目。
70个Python项目列表：
1、【Python 图片转字符画】
2、【200行Python代码实现2048】
3、【Python3 实现火车票查询工具】
4、【高德API+Python解决租房问题 】
5、【Python3 色情图片识]]></description><category></category></item><item><title><![CDATA[神乎其神的Python到底能干什么？！]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/117469919</link><guid>https://blog.youkuaiyun.com/d1874/article/details/117469919</guid><author>d1874</author><pubDate>Wed, 02 Jun 2021 15:22:36 +0800</pubDate><description><![CDATA[1. 前言
最近几年 Python 被吹的神乎其神，很多同学都不清楚 Python 到底能干什么就盲目去学习 Python,今天小编就 Python 的应用领域来简单盘点一下，让想学习Python 的同学找对方向不迷茫。
2. Python 的特点
这里就谈谈自己的看法，首先 Python是跨平台语言，语法很简洁，很短的代码干更多的事。另外它是脚本语言，随时随地写一段脚本就可以处理数据，十分方便。同时它也是面向对象语言，对初学者十分友好。Python 在处理各个领域的类库也十分丰富，爬虫、机器学习、数据处理]]></description><category></category></item><item><title><![CDATA[内行人看笑话 外行人一脸懵逼]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/117450114</link><guid>https://blog.youkuaiyun.com/d1874/article/details/117450114</guid><author>d1874</author><pubDate>Tue, 01 Jun 2021 19:19:44 +0800</pubDate><description><![CDATA[前言
程序员可能是最喜欢自黑的职业了，为什么程序员这么喜欢自黑呢？因为黑程序员这个事儿门槛太高，外行人根本黑不到点子上，程序员们实在看不下去，只好撸起袖子自己上了。
也正因为如此，关于程序员的段子大多比较硬核，一般人难以get到点子上。
今天带大家一起来看看网上流传关于程序员的经典硬核段子，快来看看你是否能get到笑点。
段子1
昨天晚上下班回家，一民警迎面巡逻而来。突然对我大喊：站住！
民警：int 类型占几个字节？
我：4 个。
民警：你可以走了。
我感到很诧异。
我：为什么问这样的问题？
民警：深夜还]]></description><category></category></item><item><title><![CDATA[代码亦有归途：FlaskWeb开发：基于Python的Web应用开发实战]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/108148852</link><guid>https://blog.youkuaiyun.com/d1874/article/details/108148852</guid><author>d1874</author><pubDate>Fri, 21 Aug 2020 15:52:58 +0800</pubDate><description><![CDATA[#[点击获取书籍提取码：gvxz]




#内容提要
本书共分三部分，全面介绍如何基于Python微框架Flask进行Web开发。
第-部分是Flask 简介，介绍使用Flask框架及扩展开发Web程序的必备基础知识I
第二部分则给出一个实例，真 正带领大家-步步开发完整的博客和社交应用Flasky,从而将前述知识融会贯，付诸实践。
第三 部分介绍了发布应用之前必须考虑的事项，如单元测试策略,性能分析技术。Fak程序的部署方 式等。
本书适合熟悉Python编程，有意通过Fak全面掌控Web开发的程序员.]]></description><category></category></item><item><title><![CDATA[全方位指导采集心事网络中的各种数据类型：Python网络数据采集]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/108145419</link><guid>https://blog.youkuaiyun.com/d1874/article/details/108145419</guid><author>d1874</author><pubDate>Fri, 21 Aug 2020 13:36:38 +0800</pubDate><description><![CDATA[[点击获取资料提取码：qmy2 ]
#内容提要
本书采用简洁强大的Python语言，介绍了网络数据采集，并为采集新式网络中的各种数据类型提供了全面的指导。第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息，如何对服务器的响应进行基本处理，以及如何以自动化手段与网站进行交互。第二部分介绍如何用网络爬虫测试网站，自动化处理，以及如何通过更多的方式接入网络。本书适合需要采集Web数据的相关软件开发人员和研究人员阅读。
O'Reilly Media通过图书、杂志、在线服务、调查研究和会议]]></description><category></category></item><item><title><![CDATA[拒绝996，有哪些方法可以提高开发效率的奇技淫巧]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106840978</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106840978</guid><author>d1874</author><pubDate>Thu, 18 Jun 2020 18:45:37 +0800</pubDate><description><![CDATA[积极主动，行动起来改变自己
相信你也跟我有过相同的经历。成为一个高效程序员，最大的阻力不是来自于不知道方法，而是自己的消极心态。遇到进度延迟、效率低下之类的问题，你就会下意识觉得：
时间进度太紧了；
我已经尽力了；
最近加班太多了没精神；
产品经理太不靠谱了，需求没想清楚，害的我瞎忙活。
是的，你也知道这些答案都很消极负面，可是怎么控制自己不这么想呢？首先你要知道，无论这些事情的本质责任在于环境还是个人，抱怨排斥的心态对于实际工作的改进是没有任何帮助的。
当然，很多人也知道抱怨没用，但具体怎样才能做到不抱.]]></description><category></category></item><item><title><![CDATA[Python必会的12道面试题，看看你会几题？]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106837801</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106837801</guid><author>d1874</author><pubDate>Thu, 18 Jun 2020 16:33:46 +0800</pubDate><description><![CDATA[今天小编为大家收集了一些Python的面试题，最近好多小伙伴给我留言说在学习Python，希望可以多发一些Python的文章。小编非常欣慰有这么多好学的小伙伴，那大家加油，把Python学好，每天都进步一点点。接下来就把这12道面试题分享给大家。

1.单引号、双引号和三引号之间的区别
单引号和双引号主要是用来表示字符串
比如:
单引号:‘python’
双引号:“python”
区别:
若你的字符串里面本身包含单引号,必须用双引号包裹。
比如:“can’t find the log\n”
三引号
三单引号]]></description><category></category></item><item><title><![CDATA[Spring Cloud Gateway 扩展支持动态限流]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106641670</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106641670</guid><author>d1874</author><pubDate>Tue, 09 Jun 2020 14:52:39 +0800</pubDate><description><![CDATA[原生RequestRateLimiter 的不足
配置方式
spring:
  cloud:
    gateway:
      routes:
      - id: requestratelimiter_route
        uri: lb://pigx-upms
        order: 10000
        predicates:
        - Path=/admin/**
        filters:
        - name: RequestRateLimiter]]></description><category></category></item><item><title><![CDATA[JAVA concurrency 之ThreadLocal源码详解，80%人不会]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106627095</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106627095</guid><author>d1874</author><pubDate>Mon, 08 Jun 2020 19:42:19 +0800</pubDate><description><![CDATA[概述
1、在并发编程中，为了控制数据的正确性，我们往往需要使用锁来来保证代码块的执行隔离性。但是在很多时候锁的开销太大了，而在某些情况下，我们的局部变量是线程私有的，每个线程都会有自己的独自的变/量，这个时候我们可以不对这部分数据进行加锁操作。于是ThredLocal应运而生。
2、ThredLocal顾名思义，是线程持有的本地变量，存放在ThredLocal中的变量不会同步到其他线程以及主线程，所有线程对于其他的线程变量都是不可见的。那么我们来看下它是如何实现的吧。
3、注意：光理论是不够的。在此免费赠.]]></description><category></category></item><item><title><![CDATA[Spring Security OAuth 格式化 token 输出]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106616965</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106616965</guid><author>d1874</author><pubDate>Mon, 08 Jun 2020 13:26:22 +0800</pubDate><description><![CDATA[个性化token 背景
{  
    "access_token": "e6669cdf-b6cd-43fe-af5c-f91a65041382",  
    "token_type": "bearer",  
    "refresh_token": "da91294d-446c-4a89-bdcf-88aee15a75e8",  
    "expires_in": 43199,   
    "scope": "server"  
}  

{  
    "access_token":"a6f3]]></description><category></category></item><item><title><![CDATA[使用Git-Rebase合并多次提交]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106462270</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106462270</guid><author>d1874</author><pubDate>Sun, 31 May 2020 22:01:45 +0800</pubDate><description><![CDATA[在平时的软件开发中，我们每个team使用一个公共仓库（这里说的是Git仓库）。每当有一个新的需求，我们会拉出一个特性分支，然后在这个特性分支上做开发以及提交个人的代码。
我有个习惯就是：为了确保代码的安全性，每天下班前会把个人的本地仓库代码提交到公共仓库。由于每天开发过程中由于各种原因会提交几次代码到个人仓库，这样就导致下班提交代码到公共仓库时，一次提交好几个记录，这样就会是的公共仓库有各种乱七八糟的所有增量修改历史。为了避免太多的提交而造成版本控制的混乱，通常我们推荐将这些提交合并成一个。
使用rebas]]></description><category></category></item><item><title><![CDATA[更加灵活的参数校验，Spring-boot自定义参数校验注解]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106461998</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106461998</guid><author>d1874</author><pubDate>Sun, 31 May 2020 21:48:06 +0800</pubDate><description><![CDATA[元注解
在自定义注解之前我们有必要了解一些元注解，元注解就是在注解上的注解，可以对一个注解进行配置，元注解包括@Retention、@Target、@Document、@Inherited四种
@Retention，表示注解保留到什么时候，有以下三种模式
@Retention(RetentionPolicy.SOURCE) 表示注解仅存在于源码中，在class字节码文件中不包含
@Retention(RetentionPolicy.CLASS) 表示 默认的保留策略，注解会在class字节码文件中存在，但运]]></description><category></category></item><item><title><![CDATA[Java反射—Array类的使用]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106427771</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106427771</guid><author>d1874</author><pubDate>Fri, 29 May 2020 16:18:54 +0800</pubDate><description><![CDATA[让我们先看看java.util.Arrays
注意是Arrays，相信有些小伙伴已经用过很多次这个工具类了，提供了很多对数组操作的方法方便我们使用。
上面说了java.lang.Array是提供给我们静态方法来动态创建和访问数组。让我们来看看Arrays中的copyOf方式是怎么来动态操作数组的吧。
public static &lt;T&gt; T[] copyOf(T[] original, int newLength) {
    return (T[]) copyOf(original, newLe]]></description><category></category></item><item><title><![CDATA[MD5加密工具类]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106413583</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106413583</guid><author>d1874</author><pubDate>Thu, 28 May 2020 21:12:45 +0800</pubDate><description><![CDATA[public class Md5Test {
    /***
     * MD5加码 生成32位md5码
     */
    public static String string2MD5(String inStr) {
        MessageDigest md5 = null;
        try {
            md5 = MessageDigest.getInstance("MD5");
        } catch (Exception e) {
         ]]></description><category></category></item><item><title><![CDATA[还在羡慕别人高薪？这样读源码，想不升薪都难！]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106404836</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106404836</guid><author>d1874</author><pubDate>Thu, 28 May 2020 14:45:02 +0800</pubDate><description><![CDATA[程序员在工作过程中，会遇到很多需要阅读源码的场景，比如技术预研、选择技术框架、接手以前的项目、review他人的代码、维护老产品等等。可以说，阅读源代码是程序员的基本功，这项基本功是否扎实，会在很大程度上影响一个程序员在技术上的成长速度。
2014年的时候《Qt on Android核心编程》和《Qt Quick核心编程》时作者在编写时，很多内容都是通过分析Qt源码搞明白的。这阵子研究CEF和PPAPI，也主要靠研究源代码来搞明白用法。最近工作上要修改已有项目的一个子系统，也是得硬着头皮先读懂代码。
总之在]]></description><category></category></item><item><title><![CDATA[避免的常见JavaScript错误的9个编码指南]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106390331</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106390331</guid><author>d1874</author><pubDate>Wed, 27 May 2020 21:04:19 +0800</pubDate><description><![CDATA[有一些非常常见的编程错误是我们要避免的，以保持代码的干净和可读性。

在本文中，我将研究它们以及如何避免它们。
一个函数中的东西太多
一个函数应该只做一件事，这就是它自己所指示的。
如果有其他的东西，那么它应该被移动到它自己的函数中，在一个函数中有太多的东西会使阅读和理解变得困难。
例如，如果有一个既可以计算小计又可以计算税款的函数，则由于它们是不同的，因此应将其分为两个单独的函数。
注释掉的代码
注释掉的代码是不能运行的代码。因此，在我们完成代码的这一部分之后，它们不应该出现。
完成后，我们应该删除已注释]]></description><category></category></item><item><title><![CDATA[自定义用于Web开发的开源PHP框架Codeigniter]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106390304</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106390304</guid><author>d1874</author><pubDate>Wed, 27 May 2020 20:50:13 +0800</pubDate><description><![CDATA[Codeigniter 是一个 PHP 框架，可以使公司进行开发具有灵活性和便捷性的高性能网站。
PHP Codeigniter 是一个开源框架，为商业应用提供易于使用的 PHP 编程语言和强大的编码工具。它还提供商务智能、服务器监视、开发和应用集成功能。这是一个相对冷清的项目，你很少听到它，但它功能强大，许多刚接触的开发人员都对此感到惊讶和耳目一新。
我在新加坡的一家在线学习服务提供商处使用 Codeigniter。我们提供的服务并不算常见，没有可以作为模板的默认功能集或现有后台管理系统，所以我需要一个能]]></description><category></category></item><item><title><![CDATA[5个开源的Java项目快速开发脚手架，项目经验有了]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106365992</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106365992</guid><author>d1874</author><pubDate>Tue, 26 May 2020 21:56:03 +0800</pubDate><description><![CDATA[今天推荐几个 Java 项目快速开发脚手架，解放双手 ✋ 从现在开始。
以下推荐项目都是码云上的优质项目，并且都是项目快速开发脚手架，代码质量什么的无法保证能有多好，毕竟很多也是个人开发，或多或少也有个人色彩影响。
不过既然开源出来，这么多人参与，一般情况下项目整体质量可以说是非常不错的了。另外，下面推荐的项目几乎都是码云上面选出来的最有价值的开源项目。后面，可能会单独再推荐一期 Github 上的 Java 项目快速开发脚手架。
概览 ：
Guns
pig
RuoYi
Jeecg-boot
iBase4J]]></description><category></category></item><item><title><![CDATA[用了这么多年的 Java 泛型，你对它到底有多了解？]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106357097</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106357097</guid><author>d1874</author><pubDate>Tue, 26 May 2020 15:28:00 +0800</pubDate><description><![CDATA[作为一个 Java 程序员，日常编程早就离不开泛型。泛型自从 JDK1.5 引进之后，真的非常提高生产力。一个简单的泛型 T，寥寥几行代码， 就可以让我们在使用过程中动态替换成任何想要的类型，再也不用实现繁琐的类型转换方法。
虽然我们每天都在用，但是还有很多同学可能并不了解其中的实现原理。今天这篇我们从以下几点聊聊 Java 泛型：
Java 泛型实现方式
类型擦除带来的缺陷
Java 泛型发展史

Java 泛型实现方式
Java 采用**类型擦除(Type erasure generics)**的方式实]]></description><category></category></item><item><title><![CDATA[30分钟学会如何使用Shiro]]></title><link>https://blog.youkuaiyun.com/d1874/article/details/106333326</link><guid>https://blog.youkuaiyun.com/d1874/article/details/106333326</guid><author>d1874</author><pubDate>Mon, 25 May 2020 14:55:20 +0800</pubDate><description><![CDATA[30分钟学会如何使用Shiro
要学习如何使用Shiro必须先从它的架构谈起，作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器，它也可以在JavaSE下使用。
一、架构
要学习如何使用Shiro必须先从它的架构谈起，作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器，它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例：

1、使用用户的登录信息创建令牌
UsernamePasswordToken token = new Usern]]></description><category></category></item></channel></rss>