自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 自学Python半年来的学习资源汇总整理,包含各阶段所需网站、项目

今天这篇文章,我花了一周的时间搜索、整理、调研、筛选,最后定稿。希望能够帮助到大家,减少在起步阶段的油耗,集中精神突破技术。我把链接一起贴出来,大家收藏后,可以去电脑上打开,比较方便。先给大家看一下我的学习路线,一条清晰的学习路线可以让你事半功倍,少走弯路~一、学习路线1、Python入门、环境搭建、变量、数据类型2、Python运算符、条件结构、循环结构3、Pyt...

2020-01-02 15:03:58 538 7

原创 Python—数据类型之集合(Set)

1.集合是一个无序的,且不重复元素的集合。它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。2.基本功能包括关系测试和消除重复元素。注意:集合存在的意义就是去重和关系运算。去重,把一个列表变成集合,就自动去重了。 关系测试,测试两组数据之前的交集、差集、并集等关系。3.集合中的三个特征确定性(元素必须是可hash) 互异性(去重) 无序性...

2019-12-31 14:37:22 270

原创 应用程序编程接口(API)

我为此应用程序构建的所有功能都只适用于特定类型的客户端:Web浏览器。 但其他类型的客户端呢? 例如,如果我想构建Android或iOS APP,有两种主流方法可以解决这个问题。 最简单的解决方案是构建一个简单的APP,仅使用一个Web视图组件并用Microblog网站填充整个屏幕,但相比在设备的Web浏览器中打开网站,这种方案几乎没有什么卖点。 一个更好的解决方案(尽管更费力)将是构建一个本地A...

2019-12-31 14:35:54 2204

原创 python邮箱发送

普通发送邮件使用email模块和stmplib模块,内容比较固定,配好了即可实现,代码如下一、普通邮箱发送# -*- coding:utf-8-*-import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText ## 邮件正文from emai...

2019-12-31 14:34:50 217

原创 Django下关于session的使用

一、Session的概念cookie是在浏览器端保存键值对数据,而session是在服务器端保存键值对数据 session的使用依赖cookie:在使用Session后,会在Cookie中存储一个sessionid的数据,每次请求时浏览器都会将这个数据发给服务器,服务器在接收到sessionid后,会根据这个值找出这个请求者的Session。二、Django中session的使用s...

2019-12-30 17:23:24 400

原创 理解vue数据驱动

vue是双向数据绑定的框架,数据驱动是他的灵魂,他的实现原理众所周知是Object.defineProperty方法实现的get、set重写,但是这样说太牵强外门了。本文将宏观介绍他的实现使用vue举个非常简单的栗子# html<div id="#app"> {{msg}}</div># script<script>new Vue(...

2019-12-30 17:22:58 307

原创 基于python的分治法和例题

分治法分治法的核心分:将一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题 治:最后的子问题,可以很容易的直接求解 合:所有子问题的解合并起来就是原问题的解分治法的特征问题的规模缩小到一定的程度就可以容易地解决 问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质 利用该问题分解出的子问题的解可以合并为该问题的解 该问题所分解出的各个...

2019-12-30 15:59:55 242

原创 Python简单爬虫

简单抓取网页的代码import requests#导入requests包from bs4 import BeautifulSoup#从bs4中导入BeauifulSoup包import re#导入正则表达式的包r = requests.get("http://baidu.com")r.encoding = 'utf-8'#就没有进行其他异常判断了,做个简单的HTML网页的爬虫so...

2019-12-30 15:59:09 167

原创 springboot-集成WebSockets广播消息

一 WebScoketS 简介RFC 6455 即 webSockets 协议提供了一种标准化的方式去建立全双工,双方面交流的通道在客户端和服务端甚至单一的TCP连接中进行通信; webSockets 协议其跟HTTP的tcp协议不同,但是其设计目的是通过HTTP协议进行工作,可以使用40或者443端口和重新使用现有的防火墙规则;GET /spring-websocket-portfol...

2019-12-30 13:34:01 154

原创 RESTful规范(建议)

一、最原始的接口开发这种方式虽然可以实现接口的开发,但是一个表的处理就需要4个url,当表单多的时候,需要写大量的url,这样不利于开发,并不是接口开发的最好方法#url路由分配urlpatterns = [ path('get_order/', views.get_order), path('add_order/', views.add_order), pat...

2019-12-30 13:31:01 395

原创 高可用的本质: 复制

服务和数据的高可用性本质上是靠“复制”来解决的,比如服务通过集群部署多台机器来完成,数据通过冗余的多副本机制来完成。对于服务来说,只需要部署多个实例即可,特别是无状态服务,常见的微服务(dubbo/spring cloud)几乎都是通过集群部署对外提供服务能力,更进一步的还可使用k8s+docker技术自动管理服务的副本容量;对于数据来说,需要通过数据复制来保证数据节点的一致性,由于数据是有状态的...

2019-12-30 13:25:44 108

原创 Python学习:Tkinter布局、按钮以及属性详解

一、Tkinter​1.组件的大致使用步骤(1)创建总面板(2)创建面板上的各种组件;i.指定组件的父组件,即依附关系;ii.利用相应的属性对组件进行设置;iii.给组件安排布局。(3)同步骤2相似,创建好多个组件;(4)最后,启动总面板的消息循环import tkinter​base = tkinter.Tk()base.wm_title("Lab...

2019-12-30 12:19:29 4476 1

原创 js加密:hr.bibibi md5

1. 寻找加密js:2. 结果:3. execjs调用js即可。

2019-12-30 12:18:09 211

原创 Python3---常见函数---range()用法

0X01函数说明:python range() 函数可创建一个整数列表,一般用在 for 循环中。0X02函数语法:range(start,stop[,step])start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5); stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1,...

2019-12-30 12:17:36 291

原创 Java之String类常用API

ava之String类常用API public final class String,String类被final修饰,代表的是最终类。 字符串在内存中以字符数组的形式来存储private final char value[]; 字符串是常量,本身被存储在方法区的常量池中,只要字符串的实际值是一样的,那么用的就是同一个字符串,意思是可以被共享。 字符串都是Stri...

2019-12-29 17:58:10 139

原创 hadoop中 namenode的持久化

一、为什么namenode持久化  namenode通过内存存储hdfs集群的元数据(目录结构 文件信息 块对应关系),如果内存出现问题,那么会数据丢失,需要通过持久化,把内存中的数据定期的存储在硬盘中,进而保证namenode的数据安全。二、持久化的原理 1、FSImage (某一时刻 namenode镜像数据)    默认存储位置    /opt/insta...

2019-12-29 17:57:27 781

原创 算法题之字符串匹配问题

我最近复习一道困难程度的算法题,发现了许多有趣之处。在借鉴了他人解法后,发现从最简单的情况反推到原题是一种解锁新进阶的感觉。从递归到动态规划,思维上一步一步递进,如同一部跌宕起伏的小说,记录下来和诸君共赏之。题目如下:给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓...

2019-12-29 15:17:38 461

原创 Django框架之中间件MiddleWare

Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。中间件的原理其实就是定义了一个装饰器,但是这个装饰器可以对整个项目中的所有方法进行装饰;我们可以通过中间件,...

2019-12-29 15:17:13 148

原创 JVM垃圾回收

“垃圾”的定义对象是否为“垃圾”判断对象是否已成为“垃圾”的两种方法:引用计数法、可达性分析算法引用计数法如果一个对象被引用一次,则加1,如果没人引用则被回收;存在问题:如果两个对象循环引用,但是没有任何外部对象引用他们俩,则那两个对象无法被回收。可达性分析算法(主流JVM采用)没有被根对象(GC ROOT)直接或简介引用的对象则会被回收根对象--肯定不能对回收的对象...

2019-12-29 13:38:02 250

原创 深入浅出Lambda表达式(学习过程)

lambda表达式:我们为什么要用lambda表达式在JAVA中,我们无法将函数作为参数传递给一个方法,也无法声明返回一个函数的方法。 在JavaScript中,函数参数是一个函数,返回值是另一个函数的情况下非常常见的,JavaScript是一门非常典型的函数式编程语言,面向对象的语言//如,JS中的函数作为参数a.execute(callback(event){ even...

2019-12-29 13:37:26 191

原创 github 项目搜索技巧-让你更高效精准地搜索项目

干啥的?相当于给搜索结果添加过滤条件,看下下面的案例你就知道啦,过滤 github 的搜索结果,更精确搜索项目案例普通搜关键词:python搭配技巧搜搜索 github 中,项目描述(description)中有 python 并且 2019-12-20 号之后有更新过的项目in:description python pushed:>2019-12-20效果:...

2019-12-29 13:34:21 409

原创 程序写日志文件时该不该加锁

日志(log)为了让自己的思路更加清晰,下面我都会称日志为 log。因为日志这个词有两种含义,详情见百度百科释义或者维基百科释义。日记的另一种说法。“志”字本身为“记录”的意思,日志就为每日的记录(通常是跟作者有关的)。 服务器日志(server log),记录服务器等电脑设备或软件的运作。我们这里说的当然是服务器日志,也就是server log。写入 log一般写...

2019-12-29 13:08:22 554

原创 不一样的策略模式(设计模式五)

前言什么是设计模式?说白了就是套路,是经过历代程序员总结出来的。很多时候我们虽然学会了很多套路,但是啥时候使用,使用哪个合适,我想这才是问题的关键。知道怎么用不知道什么时候用,这时候看下代码风格也行用的上,策略模式是非常容易通过代码风格使用上的。策略模式,为什么叫策略模式呢?其实策略模式还有一个别名叫做政策(policy)模式,在古代,对不同的国家呢,实行不同的政策,对A呢,采取税务10%...

2019-12-29 13:06:12 175 1

原创 浅析 Nginx 网络事件

Nginx 是一个事件驱动的框架,所谓事件主要指的是网络事件,Nginx 每个网络连接会对应两个网络事件,一个读事件一个写事件。在深入了解 Nginx 各种原理及在极端场景下的一些错误场景处理时,需要首先理解什么是网络事件。1|0网络传输接下来看上面这张图,比如主机 A 就是一台家里的笔记本电脑,那么主机 B 就是一台服务器,上面跑着 Nginx 服务。从主机 A 发送一个 HT...

2019-12-29 13:05:40 85

原创 python爬取course课程的信息

这几天爬取了course动态网页的课程信息,有关数据分析,机器学习,还有概率论和数理统计课程,这里数据过多,只对数据分析的模块进行了详细爬取。为之后的数据分析以及机器学习情感处理进行数据获取,下面直接上代码和截图:1.大模块页面页面如下:爬取代码:# encoding: utf-8from selenium import webdriverimport csvclass G...

2019-12-28 19:02:00 502 1

原创 如何用python“优雅的”调用有道翻译?

其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js“斗争”的过程!分析对于一个网站,首先肯定要的就是分析,分析其中的网页规则分析url进入有道翻译你会发现它的url是没有变化的,也就是说它的请求是通过ajax异步交互的。点击F12,很容易在XH...

2019-12-28 19:01:26 878

原创 python记录点

文件编码Unicode使用最少2个字节(1个字节=1BYTE=8bit=一个长度为8的二进制数) 来表示字母和符号等,有时候是4个字节。UTF-8是对Unicode编码的压缩和优化,最大的特点是它采用了变长的编码方式,他不再是最少使用2个字节,而是将所有的字符进行分类。ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存… 不同编码之间的关系...

2019-12-28 18:59:57 96

原创 初识Scrapy、第一个案例

1.Scrapy框架Scrapy功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以应对所有反爬网站,是目前Python中使用最广泛的爬虫框架。1.1 Scrapy介绍1.1.1 架构介绍Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制...

2019-12-28 16:01:38 261

原创 django xadmin中logout页面在chrome浏览器中点击关闭页面无效

问题现象django xadmin中logout页面在chrome浏览器中点击关闭页面无效,无法关闭相应的页面问题原因高版本的chrome等浏览器不支持在window.colse()的写法问题源码在xadmin的templates的xadmin的views的logged_out.html中找到以下源码<a href=...

2019-12-28 16:00:58 429

原创 实现纸牌游戏的随机抽牌洗牌过程(item系列几个内置方法的实例)

1、namedtuple:命名元组,可以创建一个没有方法只有属性的类from collections import namedtuplecard = namedtuple('card',['rank','suit']) # rank 牌面大小,suit牌面的花色# card其实就是namedtuple创建的一个类,其属性就是rank和suitc1 = card(2,'红心 ')# ...

2019-12-28 16:00:15 437

原创 Python磁力获取器命令行工具 torrent-cli

作为一个搞代码的,找资源这种事肯定不能像普通人一样打开百度盲目查找,你需要写个爬虫工具来帮你完成这件事情啦!兼容环境Windows/Linux/MacOs安装pip 安装$ pip install torrent-cli源码安装 $ git clone https://github.com/chenjiandongx/torrent-cli.git $ cd to...

2019-12-28 14:56:40 783

原创 国外电商网站snapdeal爬取流程

首页爬取1.首页获取各个目录的url 如所有优惠all_offers的其中urlhttps://www.snapdeal.com/products/men-apparel-shirts?sort=plrty2.访问他的url获取bcrumbLabelId是由于js简单渲染出来的在id="labelId" value="(.*?) 中,如果取不到值该页面为一个优惠卷页面或者其他页面3.u...

2019-12-28 14:25:46 538

原创 tornado框架的简单实用

一.安装模块pip3 install tornado二.简单的起服务的方法import json, datetimefrom tornado.web import RequestHandler, Applicationfrom tornado.ioloop import IOLoopfrom tornado.httpserver import HTTPServerfrom t...

2019-12-28 14:24:32 114

原创 这么多数组方法,你掌握了么?

今天总结一下常用的JS数组方法,以免搞忘了或者记混了,大家觉得还有哪些数组方法在项目里用的特别多我没提到的可以补充。。1.map:遍历数组的每一项并对其进行操作。有返回值且不改变原数组。 var arr = [1, 2, 3, 4, 5, 6]; var res = arr.map(item => { return item * 2...

2019-12-28 14:23:49 81

原创 深入JAVA注解-Annotation(学习过程)

本文目的:项目开发过程中遇到自定义注解,想要弄清楚其原理,但是自己的基础知识不足以支撑自己去探索此问题,所以先记录问题,然后补充基础知识,然后解决其问题。记录此学习过程。项目中遇到的注解://使用注解的地方@ServiceScan({"com.sinosoft.lis.pubfun"})public class CodeQuerySQL {}//注解类 ServiceScan...

2019-12-27 21:55:32 232

原创 Delta Lake源码分析

Delta Lake源码分析Delta Lake元数据delta lake 包含Protocol、Metadata、FileAction(AddFile、RemoveFile)、CommitInfo和SetTransaction这几种元数据action。Protocol:这是delta lake自身的版本管理,一般只出现在第一次的commit日志里(之后版本升级应该也会有); Met...

2019-12-27 21:46:20 339

原创 APK签名替换检测

APK二次打包的危害APK二次打包是Android应用安全风险中的一部分, 一般是通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场、论坛发布。打包党对移动App带来的危害有以下几种:插入自己广告或者删除原来广告; 恶意代码, 恶意扣费、木马等; 修改原来支付逻辑;上述恶意行为严重危害移动产品和用户利益,同时也影响企业口碑。APK的签名机制Google设计...

2019-12-27 20:34:50 620

原创 ConnectionState的管理与监听

看看Curator框架 为实现对 连接状态ConnectionState的监听,都是怎么构造框架的。后面我们也可以应用到业务的各种监听中。Curator2.13实现接口 ListenerListener接口,给用户实现stateChange()传入新的状态,用户实现对这新的状态要做什么逻辑处理。public interface ConnectionStateListener{...

2019-12-27 20:34:04 2206

原创 oracle 包 简单使用

理解PL/SQL包简介包(package)的主要作用是用于逻辑组合相关的PL/SQL类型比如记录类型或者集合类型,PL/SQL游标或游标声明以及PL/SQL子程序还可以包含任何可以在块的声明区中定义的变量或者说是将功能或业务相似的存储过程,函数以及类型等进行一个封装包的组成一个PL/SQL包由如下两部分组成 包规范(包声明) 包规范: 主要是包的一些定义信...

2019-12-27 19:32:52 163

原创 自动化测试的根本:通过元素定位,准确操作测试对象

一、基本元素操作方法(1)获取网页title,输出结果:getTitle();(2)获取URL,输出结果:getCurrentUrl()(3)获取文本信息,输出结果:getText();(4)获取输入框长度,输出结果:getSize();(5)判断是否被选中,输出结果:isSelected();(6)判断是否可见,输出结果:isDisplayed();(7)判断是否可编...

2019-12-27 18:45:03 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除