学习笔记

04 python之函数详解

一、函数初识 函数的产生:函数就是封装一个功能的代码片段。 复制代码 li = ['spring', 'summer', 'autumn', 'winter'] def function(): count = 0 for j in li: count += 1 print(count) function()        # 4 复制代码 def 关键字,定义一个函数 function 函数名的书写规则与变量一样。 括号是用来传参的。 函数体,就是函数里面的逻辑代码 ...

深入理解 ThreadLocal

 前言上篇文章 深入理解 Handler 消息机制 中提到了获取线程的 Looper 是通过 ThreadLocal 来实现的:...

讲解开源项目:用 Python 生成有“灵魂”的二维码

本文作者:HelloGitHub-LITTLECHIEH 这是 HelloGitHub 推出的《讲解开源项目》系列,今天给大家推荐一个 Python 开源生成二维码的项目——qrcode 一、介绍 1.1 二维码 二维码又称二维条码,常见的二维码为 QR Code,QR 全称 Quick Response。是一个近几年来移动设备上超流行的一种编码方式,在现在的生活中二维码随处可见。我们可以用它支付、浏览网站等,为什么他会这么流行?下面说几个特点: 可存储的信息量大:可容纳多达 1850 个大写字母或 2710 个数字或 1108 个字节或 500 多个汉字。 ...

爬虫总结

目录 爬取网站的思路 常见的反爬总结   基于User-Agent反爬   响应内容前端JS做处理反爬   动态生成 请求模块总结 解析模块总结   正则解析re模块   lxml解析库   json   Chrome浏览器安装插件 爬取网站的思路 先确定是否为动态加载网站 找URL规律 正则表达式或xpath 定义程序框架,补全并测试代码 多级页面数据抓取 1、爬取一级页面,提取所需数据+链接,继续跟进 2、爬取二级页面,提取所需数据+链接,继续跟进 3、... 爬虫代码规范书写: ...

Flink中TaskManager端执行用户逻辑过程(源码分析)

 TaskManager接收到来自JobManager的jobGraph转换得到的TDD对象,启动了任务,在StreamInputProcessor类的processInput()方法中通过一个while(true)中不停的拉取上游的数据,然后调用streamOperator.processElement(record)调用用户实现的方法去处理数据拉取的数据...

带你深入了解NPM——NPM初学者指南

前段时间,我们邀请了我们“城内”(葡萄城)资深开发工程师刘涛为大家分享了一次干货满满的关于Electron线上公开课,在课程过程中有不少同学对于NPM的概念和用法有一些疑问,所以这次我们希望通过这篇文章来解答各位同学的问题。另外在介绍的基础上,我们还会适当的深入介绍下,如何在npm上发布第一个属于自己的包。那么,让我们马上开始吧! 得益于Node.js的模块化生态系统,我们基本上可以把NPM认为是任何Node项目的基础组成的一部分。但实际上,我们甚至可以说NPM是Node.js开发人员在开发者社区中最重要的工具之一。毕竟,他们每天都使用它来管理他们的项目使用的包。 ...

结合生活案例实现rabbitmq消息通信

 ps : 这篇文章比较长,读者还是需要耐心的阅读的。干货多多。在分布式项目中为了提高性能,也为了实现项目规范,我们都会在处理消息队列的时候引入消息中间件。中间件的作用一个是为了解耦,还有一个是性能提升。消息中间件我们每个人每天都在接触,相信大家都用过美团或者是听过美团。从程序员的角度看美团外卖涉及三方角色。【商家】【骑手】【顾客】。这三者的关系简单理解如下...

Java 调式、热部署、JVM 背后的支持者 Java Agent

我们平时写 Java Agent 的机会确实不多,也可以说几乎用不着。但其实我们一直在用它,而且接触的机会非常多。下面这些技术都使用了 Java Agent 技术,看一下你就知道为什么了。 -各个 Java IDE 的调试功能,例如 eclipse、IntelliJ ; -热部署功能,例如 JRebel、XRebel、 spring-loaded; -各种线上诊断工具,例如 Btrace、Greys,还有阿里的 Arthas; -各种性能分析工具,例如 Visual VM、JConsole 等; ...

ASP.NET Core 2.2 : 二十. Action的多种数据返回格式处理机制

上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。(ASP.NET Core 系列目录) 一、常见的返回类型 以系统模板默认生成的Home/Index这个Action来说,为什么当请求它的时候回返回一个Html页面呢?除了这之外,还有JSON、文本等类型,系统是如何处理这些不同的类型的呢? 首先来说几种常见的返回类型的例子,并用Fiddler请求这几个例子看一下结果,涉及到的一个名为Book的类,代码为: ...

实现 Java 本地缓存,该从这几点开始

缓存,我相信大家对它一定不陌生,在项目中,缓存肯定是必不可少的。市面上有非常多的缓存工具,比如 Redis、Guava Cache 或者 EHcache。对于这些工具,我想大家肯定都非常熟悉,所以今天我们不聊它们,我们来聊一聊如何实现本地缓存。参考上面几种工具,要实现一个较好的本地缓存,平头哥认为要从以下三个方面开始。 1、存储集合的选择 实现本地缓存,存储容器肯定是 key/value 形式的数据结构,在 Java 中,也就是我们常用的 Map 集合。Map 中有 HashMap、Hashtable、ConcurrentHashMap 几种供我们选择,如果不考虑高并发情况下数据安全问题,我们可以选择HashMap,如果考虑高并发情况下数据安全问题,我们可以选择 Hashtable、ConcurrentHashMap 中的一种集合,但是我们优先选择 ConcurrentHashMap,因为 ConcurrentHashMap 的性能比 Hashtable 要好。 ...

通俗易懂设计模式解析——享元模式

前言   今天我们继续讲述设计模式,今天提及的是享元模式,享——共享。之前不是出现了一系列共享的东西吗?为啥呀,还不就是有些东西每个人都需要,但是每个人都去买一个又有点浪费。所以出现共享。话费一定的经济可以使用,使用完成之后又归还。这就是享。分享共享。今天讲的享元模式跟这相类似。享元模式——通俗来说也就是共享最小单元的一种模式。我们就一起看看到底啥是这享元模式吧。 回到顶部 享元模式介绍 一、来由   在软件系统开发中,我们肯定会出现重复使用同一个对象的情况,每次使用都new一个对象出来。这样的话对于内存来说就需要多次反复的申请内存了。这样使用内存也就越来越多,这会出现大问题的。那么能不能创建new一个对象。然后使用的时候就共同使用一个就好了。这也就是享元模式的含义所在了——共享一个对象。 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程