自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

you are sherlocked by me!

大家好,我是江湖狗哥!

  • 博客(422)
  • 收藏
  • 关注

原创 Python代码整洁之道勘误

Python代码整洁之道错误勘误

2022-05-04 23:45:00 880

原创 Python基本类型(一)

简介非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘basic data types in python (Python中的基本类型)python万物皆对象, 所以数据类型实际上是类对象, 而变量是类对象的实例基本数据类型Numeric(数字)Numeric(数字)Integer(整型) - 子类布尔类型BooleanFloat(浮点型)Complex Num

2022-03-24 08:47:08 661

原创 xmlrpc源码解读(一)

简介👾非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘将会分析一些源码的构思设计以及这些工具的使用方法一个简单的RPC实例👾一个完整的RPC架构里面包含了四个核心的组件,分别是Client,Client Stub,Server以及Server Stub,这个Stub可以理解为存根客户端(Client),服务的调用方客户端存根(Client Stub),存放服务端的地址消息,

2022-03-24 00:38:40 3964

原创 Python字节码分析(一)

简介👹非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘Pyc文件🐶简介🐶当在文件被当成模块导入时才会生成pyc文件, pyc文件是Python的字节码文件, Python文件在经过解释器解释后生成字节码对象PyCodeObject,然后持久化到pyc中作用🐶当多次运行程序时,不需要重新对导入的模块进行重新解释(检查pyc没有过期,即字节码文件的修改时间是否与脚本一

2022-03-08 12:10:39 1245

原创 Python彩蛋源码分析(二)

简介????非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘

2022-02-08 22:26:54 3172

原创 maven笔记小抄

settings.xmlsettings.xml位置标签指定本地下载的依赖在本地的保存位置${user.home}/.m2/repository表示C:\Users\username.m2\settings.xmlidea中File | Settings | Build, Execution, Deployment | Build Tools | Maven的local repository可以覆盖settings.xml内容<?xml version="1.0" enco

2021-12-17 23:00:00 241

原创 Python源码剖析专栏总览

简介????非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘将会分析一些源码的构思设计以及这些工具的使用方法彩蛋篇(Easter Egg)Python之禅(The Zen of Python)Hello World、Uncle Barry、Braces、Hash、Monty Python References抗引力篇幅(Antigravity)内置模块篇(Builtin

2021-12-05 15:42:56 800

原创 Python手写一个Base64编解码工具

python手写base64

2021-12-04 21:09:53 1226

原创 python开发中的常用命令

这是一些比较常用的命令, 大家可以复制后用typora做成pdf格式,方便快速查询后续不定期更新pip配置爬虫配置代理 特殊字符需要用urlencode编码可以使用这个模块进行编码from urllib.parse import quotehttp http://username:[email protected]:8080/https https://username:[email protected]:8080/documentation locatio.

2021-12-01 18:40:55 201

原创 git常用命令速查表

官方文档官方文档git配置默认存储路径全局配置 C:\Users\xxxx.gitconfig[user] name = xxxx email = xxxx[credential] helper = store[http] sslVerify = false[pull] ff = only[https] sslVerify = false[core] autocrlf = true[push] default = current[http] proxy =.

2021-12-01 18:25:30 225

原创 Linux常用命令速查表

常见的一些Linux命令

2021-12-01 17:12:57 2253

原创 Python之禅(The Zen of Python)源码分析

简介????非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘该从什么开始思来想去,我觉得作为一个Python初学者还是Python的成熟的开发者,都应该从The Zen of Python开始在这里非常感谢我们的龟叔(Guido van Rossum)于1989年圣诞节期间,创造出了Python这门语言Python名字的由来龟叔非常喜欢一部BBC电视剧(Monty Pyth

2021-11-28 21:17:25 955

原创 一次因修改Python编码规范而引起的“血案“

简单来说就是因为如下代码, 导致了ZipOutputPath的一个函数异常, 导致zip包不能正确下载有如下报错:UnboundLocalError: local variable 'val' referenced before assignment排查发现,错误发生点代码简化如下#!usr/bin/python# -*- coding:utf8 -*-import timedef print_time(): # import time time = time.ti.

2021-11-23 18:03:04 1216

原创 RMI的基础原理

背景上世纪90年代, 焦点转移到跨平台通信-一台计算机可以通过某种类型网络在另一台计算机上发起一个动作CORBA、DCOM、Java RMI 技术等等,到现在的grpc等Hellopackage example.hello;import java.rmi.Remote;import java.rmi.RemoteException;public interface Hello extends Remote { String sayHello() throws RemoteExcep

2021-10-27 18:30:34 244 1

原创 闭包详解(Python为例)

不能简单讲,这就要看一些底层的东西(堆栈结构等等,估计还和编译原理有关),我觉得重点在于延迟绑定怎么知道绑定的外层函数的局部变量python的闭包是延迟绑定什么是闭包?出现函数嵌套, 即外层函数嵌套内层函数, 这就意味着c没有闭包,因为函数不能嵌套定义, 我猜的, 这块打个flag内部函数引用外部函数的局部变量 一般我们知道,在栈中的局部变量在函数后退出后就销毁了, 那有什么办法可以不立即这么做?外部函数返回值必须是内嵌函数talk is cheap#!/usr/bin/python

2021-10-27 18:26:13 195

原创 一文讲清SSL协议

OSI七层模型计算机网络的OSI七层模型和TCP/IP四层模型想必大家都知道。其中SSL/TLS是一种介与于传输层(比如TCP/IP)和应用层(比如HTTP)的协议。它通过"握手协议(Handshake Protocol)"和"传输协议(Record Protocol)"来解决传输安全的问题。SSL/TLS是一个可选层,没有它,使用HTTP也可以通信,它存在的目的就是为了解决安全问题,这也就是HTTPS相对于HTTP的精髓所在SSL协议SSL(Secure Sockets Layer)最初由N

2021-10-15 17:57:43 4407 1

原创 ❤️Python是一个业余的编程语言吗?❤️

????前言作为一个在python国内还很小众的时候就开始玩Python了(我知道有大佬是2013年就玩的很溜了,麻烦让我装个逼)不过Python正渐渐退出了我的主力语言, golang,c,rust可能是未来我的场地。也就是说,我并不是一个纯粹的python开发者语言有两种: 没人用的,被人骂的。????‍????Python设计的目的代码容易阅读和理解,语法简洁适用于时间比较短的开发,日常任务open source这就决定了它的生态,它的用户群体,可以说,它具有普胜法的奥

2021-10-14 09:40:35 569

原创 顶级程序员都在用哪些网站?

前言在这里给大家分享一点非常高质量的学习资料和工具网站欢迎大家留下精彩的网站,也可以是生活的、商业的等等目录高质量免费在线书籍高质量算法网站开源社区网站在线工具源码查找容器化技术还有很多…以后再说吧高质量免费在线书籍`python code style docs` https://docs.python-guide.org/writing/style/`advanced go programming book` https://github.com/chai2010/a

2021-09-30 16:44:10 717

原创 开发中常用的快捷键

前言常见的快捷键可以帮助程序员脱离鼠标的束缚,提升效率当然,最重要的是可以装逼!

2021-09-15 11:50:38 630

原创 一文带你学会读写锁

import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWritePractice { private static final ReadWriteLock lock = new ReentrantReadWriteLock();

2021-08-26 18:13:50 237

原创 Leetcode动态规划详解(二)

接下来我们根据一个动态规划的中等题来讲解"""动态规划之国王和金矿有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同。参与挖矿工人的总数是10人。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要求用程序求解出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿?动态规划的三个重要概念:最优子结构、边界、状态转移公式f(8)和f(9)是f(10)的最优子结构(f(8) + f(9) = f(10))f(1)、f(2)是问题的边界,不需要计算的.f(n) =

2021-08-25 20:23:55 260

原创 Leetcode动态规划讲解(一)

有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。这是通过找规律看出是递归的.0 01 121 1231 1 1122141 1 1 11 1 21 2 12 1 12 20 1 2 3 40 1 2 3 5换种思路: 动态规划的思路我们要走上第10级台阶, 最后一步肯定是从第8级或.

2021-08-18 20:42:27 169

原创 OJ文件目录输出

/* * Copyright (c) Huawei Technologies Co., Ltd. 2021-2021. All rights reserved. */package corejava.v1ch05.practice;import java.nio.charset.StandardCharsets;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.u

2021-08-16 18:59:48 195

原创 OJ停车记录

/* * Copyright (c) Huawei Technologies Co., Ltd. 2021-2021. All rights reserved. */package corejava.v1ch05.practice;/* * Copyright(c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. * Note: 提供的缺省代码仅供参考,可自行根据答题需要进行使用、修改或删除。 */import

2021-08-16 18:59:21 101

原创 leetcode刷题Longest Substring Without Repeating Characters

leetcode address难度: 中等 额,怎么觉得中等题都是考智商,嘻嘻题目Given a string s, find the length of the longest substring without repeating characters.eg1:Input: s = “abcabcbb”Output: 3Explanation: The answer is “abc”, with the length of 3.eg2Input: s = “.

2021-08-16 18:58:29 139

原创 Leetcode之Add Two Numbers

leetcode address难度: 中等 我感觉是简单题目You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a link.

2021-08-16 18:57:53 125

原创 Leetcode单个展厅的最大参展人数优化与解说

nums = [1, 4, 2, 5, 5, 1, 6]cnt = 13nums数组表示的是每个展厅的目前参展人数,元素个数表示不同的展厅cnt表示所有展厅所有参展人数之和要满足的值给出一组nums,要判断是否参展总人数满足cnt,如果小于等于cnt,则返回-1不需要调整如果大于cnt,则需要调整参展人数,给定limit为每个展厅的参展人数,如果小于limit,则可以全部参展,如果大于等于limit,则此展厅需要参展limit个人,求最大的limit如上图,nums参展人数为.

2021-07-31 21:08:00 1193 4

原创 Leetcode字典序最小的字符串

给定一组只包含小写字母和’#‘的字符串, 求替换’#'之后字典序最小的字符串如给出"m#efy###am", 第一个’#‘可以用a代替,因为它和m与e都不重复, 第二个’#‘号可以用a代替,与y不重复,第三个’#'用b代替,因为前一个已经替换成了a.结果是maefyabcam#!/usr/bin/python# -*- coding:utf-8 -*-import stringclass Solution: @staticmethod def get_char(*.

2021-07-29 09:48:07 999

原创 leetcodepython实现栈

实现栈的push、pop、top(获取栈顶元素)、pop_min(弹出最小值)#!/usr/bin/python# -*- coding:utf-8 -*-class MinStack: def __init__(self): self.stack = [] def push(self, number: int) -> None: self.stack.append(number) def pop(self) -> i.

2021-07-29 09:45:08 102

原创 如何检测文件内容是否改变?

如:python解释器解释pyc文件是否过:在生成pyc文件的同时,写入了一个Long型的变量,用于记录最近修改的时间,每次载入都会检查py文件和pyc文件修改日期是否一致,不一致则生成新的文件校验:比如下载一些文件,包之类的会有md5或sha256校验值文件(文件名.sha256,文件名.md5等等),里面是校验值,我们可以将下载的文件用算法签名后与之对比来检测文件内容是否被篡改git status判断文件内容是否被改变:大概原理是先会比较文件的修改时间,文件大小等一些文件元数据

2021-07-09 11:47:19 2427

原创 linux source、sh、bash、./区别

sourcesource a.sh当前shell, a.sh不需要有"执行权限"可简写为:. a.shsource通常用于在当前shell执行环境变量,执行后可以在当前shell使用sh/bashsh a.shbash a.sh打开一个subshell,a.sh不需要有"执行权限"sh 遵循POSIX规范:“当某行代码出错时,不继续往下解释”。bash 就算出错,也会继续向下执行。sh是bash的一种特殊的模式,sh就是开启了POSIX标准的bash, /bin/sh 相当于 .

2021-07-02 17:20:45 157

原创 leetcode两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro.

2021-04-01 17:14:01 89

原创 leetcode早餐组合

小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格。小扣的计划选择一份主食和一款饮料,且花费不超过 x 元。请返回小扣共有多少种购买方案。注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1address#!/usr/bin/python# -*- coding:utf-8 -*-from typing import List.

2021-04-01 15:33:18 275

原创 leetcode非递减数列

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。提示:1 <= n <= 10 ^ 4- 10 ^ 5 <= nums[i] <=.

2021-04-01 11:25:26 162

原创 leetcode颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位进阶:如果多次调用这个函数,你将如何优化你的算法?address#!/usr/bin/python# -*- coding:utf-8 -*-# 方法1def reverseBits(n: int) -> int: result = 0 for i in range(32): # 此处+优先符高于& result = (result << 1) + (n &amp.

2021-03-31 10:21:30 131

原创 leetcode和为s的连续正整数序列

输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]addressfrom typing import Listclass Solution: def findContinuousSequence(self, target: int) -> List[List[int]]:.

2020-09-18 20:04:45 213

原创 leetcode找出给定方程的正整数解(1237)

给出一个函数 f(x, y) 和一个目标结果 z,请你计算方程 f(x,y) == z所有可能的正整数 数对 x 和 y。给定函数是严格单调的,也就是说:f(x, y) < f(x + 1, y)f(x, y) < f(x, y + 1)函数接口定义如下:interface CustomFunction {public:// Returns positive integer f(x, y) for any given positive integer x and y.i.

2020-09-18 19:48:51 270

原创 python爬取阳光问政

address使用了requests库以及lxml作为数据提取库这个网站似乎没有做前后端分离,但是没有做数据加密以及反爬措施,所以可以很简单的爬取#!usr/bin/python# -*- coding:utf8 -*-"""http://wz.sun0769.com/political/index/politicsNewest?id=1&page=1"""import timeimport jsonimport requestsfrom lxml import etre.

2020-09-16 09:18:22 356

原创 python爬取金色财经信息

这个爬虫比较简单,不需要用一些常用的数据提取库比如bs4(beautiful)以及lxml库或jsonpath需要注意的是下拉加载使用的是ajax异步请求局部刷新,返回的直接是json数据,里面拥有所有需要的数据,并且没有加密措施,这样我们直接使用requests库进行爬取就可以了.需要找到下拉加载刷新的规律,主要就看前一个响应的bottom_id,作为下一个请求的information_id的查询字符串参数.address#!usr/bin/python# -*- coding:utf8 .

2020-09-15 10:10:23 661

原创 python爬取小说信息(对于数字加密的反爬)

以起点为例, 爬取过程中需要注意的就是对于数字加密的反爬,我们需要找到加密的字体,找到0-9对应的映射关系,生成一个映射的字典,就可以方便的爬取了#!usr/bin/python# -*- coding:utf8 -*-"""url https://www.qidian.com/all?chanId=21&subCateId=8"""import reimport jsonimport requestsfrom lxml import etreefrom fontToo.

2020-09-14 20:45:56 805

空空如也

空空如也

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

TA关注的人

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