![](https://img-blog.csdnimg.cn/20210903220756669.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机语言
文章平均质量分 62
主要是计算机python的后端语言的技术
庄小焱
我是庄小焱,阿里巴巴Java高级工程师、PMP项目管理专家、系统架构设计师(高级)、CSDN博文专家。 博主在微服务、虚拟化、系统架构、大数据、机器学习领域不断学习,同时在博客中分享自己学习知识和相关技术, 欢迎大家和我交流学习,欢迎大家关注我的博客。
展开
-
Java——异常处理
博文介绍java中的异常和异常处理机制。异常是大家在开发中常用问题,本文将详细的介绍JDK中使用try catch等处理异常的原理。原创 2021-11-23 08:52:40 · 394 阅读 · 0 评论 -
GO——wire(依赖注入)工具原理
wire是由 google 开源的一个供 Go 语言使用的依赖注入代码生成工具。它能够根据你的代码,生成相应的依赖注入 go 代码。除了wire,Go的依赖注入框架还有Uber的Dig和Facebook的Inject,它们都是使用反射机制来实现运行时依赖注入(runtime dependency injection),而wire则是采用代码生成的方式来达到编译时依赖注入(compile-time dependency injection)。原创 2022-11-10 19:53:17 · 2983 阅读 · 0 评论 -
Go——数据库的基本操作
摘要本博文主要是介绍go对数据库的基本的操作。这里以mysql为例子。介绍的数据库的连接与断开。数据的增删改查的相关基础操作。一、安装依赖go官方没有实现Mysql的数据库驱动,database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。本文章实用的数据库驱动是Go MysqlDriver。安装依赖code:go get -u github.com/go-sql-driver/mysql二、数据库的连接package main impor.原创 2022-01-04 11:13:35 · 2424 阅读 · 0 评论 -
Java——JDK8 新特性-Map对key和value分别排序实现
摘要在Java 8 中使用Stream 例子对一个 Map 进行按照keys或者values排序。一、快速入门在java 8中按照此步骤对map进行排序.将 Map 转换为 Stream 对其进行排序 Collect and return a new LinkedHashMap (保持顺序)Map result = map.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .collect(Collecto原创 2022-03-28 13:59:54 · 3659 阅读 · 0 评论 -
Java——日志框架学习(log4j,Slf4j,Logback)
摘要对于一个应用程序来说日志记录是必不可少的一部分。线上问题追踪,基于日志的业务逻辑统计分析等都离不日志。java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4 j2,Commons Logging,Slf4j,Logback,Jul。Java常用日志框架类别 Log4j:是一个基于Java的日志记录工具。以前经常使用Log4j作为系统日志框架。 Log4j 2:是一个Log4j的升级产品。 Commons LoggingApache基金会所属的项目...原创 2021-08-25 11:33:45 · 252 阅读 · 0 评论 -
Java——java服务调用python脚本服务
摘要在日常的开发过程中我们经常遇到的java调用python的脚本,所以在本博文中我将为大家展示java项目的dokcer调用python服务的docker项目,同样在java调用其他语言的时候也是同样的一个道理。以下的例子仅仅工大家参考。...原创 2021-09-29 23:28:04 · 449 阅读 · 0 评论 -
Java——Double 和Float的除法问题
摘要Java中的浮点数类型float和double不能够进行运算,因为大多数情况下是正常的,但是偶尔会出现如上所示的问题。这个问题其实不是JAVA的bug,因为计算机本身是二进制的,而浮点数实际上只是个近似值,所以从二进制转化为十进制浮点数时,精度容易丢失,导致精度下降。出现的问题解决方案...原创 2021-04-27 11:40:22 · 2820 阅读 · 0 评论 -
Java——如何判断整数溢出
问题:在之前刷题的时候遇见一个问题,需要解决int相加后怎么判断是否溢出,如果溢出就返回Integer.MAX_VALUE。解决方案:加法public static int addExact(int x, int y) { int r = x + y; // HD 2-12 Overflow iff both arguments have the opposite sign of the result if (((x ^ r) & (原创 2021-03-29 08:45:33 · 648 阅读 · 0 评论 -
Java——Java8 新特性原理与实践
摘要主要是的介绍一下JDK1.8的相关的新特性的知识,同时将JDK1.8新特性的代码开源在个人的github中,如果有需要参考的话请在:Senior-Architect/java语言基础 at master · 2462612540/Senior-Architect · GitHubJDK8的新特性博文参考:Java8 新特性教程 - 异常教程...原创 2021-09-11 18:50:35 · 281 阅读 · 0 评论 -
Java——java语言调用python脚本
摘要本文为大家介绍如何java调用python方法,在实际工程项目中可能会用到Java和python两种语言结合进行,这样就会涉及到一个问题,就是怎么用Java程序来调用已经写好的python脚本呢,一共有三种方法可以实现,具体方法分别为大家介绍:1. Jython方式调用Jython是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅原创 2021-08-11 18:53:43 · 1293 阅读 · 0 评论 -
Java——retry重试机制使用
重试机制在网络服务中非常的重要,由于网路可能存在延迟,网络抖动,网络不稳定的情况。同时在分布式服务中网络的请求的高度密集,有些服务不一定能在规定的时间内完成访问。应该请求服务需要重试几次。以保证服务请求成功。在spring中也有相关的重试依赖。原创 2022-05-14 17:47:09 · 3281 阅读 · 0 评论 -
python——相关error问题与解决方案
摘要本博文绍paramiko模块上传文件失败:paramiko.ssh_exception.SSHException: Channel closed.,主要包括paramiko模块上传文件失败:paramiko.ssh_exception.SSHException: Channel closed.一、问题aramiko模块上传文件失败,提示paramiko.ssh_exception.SSHException: Channel closed.使用python3 paramiko库实现向远程服原创 2022-03-25 08:39:53 · 4202 阅读 · 0 评论 -
Python——操作远程服务器
摘要本人最近遇到的一些有关于定期执行的服务器上的脚本的问题,于是本人通过的利用python中的paramiko架包来实现对远程的一个控制。执行需要制定的脚本的命令。一、paramiko的安装pip install paramiko二、paramiko的简单使用#!/usr/bin/env pythonimport socketimport paramikoparamiko.util.log_to_file('paramiko.log')hostname = '192.16原创 2022-05-18 21:46:32 · 987 阅读 · 2 评论 -
python——常见定时任务的错误实现
摘要有些时候我们需要每隔一段时间就要执行一段程序,或者是往复循环执行某一个任务。例如:磁盘的清理工作,垃圾文件的删除,同时对于过期镜像的管理等……都是需要使用定时任务的。本文介绍python中的常用的定时任务实现,帮助大家在在日常工作调用和学习。一、True: + sleep()实现定时任务import datetimeimport timedef time_printer(): """ 只能设定间隔,不能指定具体的时间,比如每天早上8:00 sleep 是一个阻原创 2022-05-18 22:12:10 · 1427 阅读 · 0 评论 -
Python——在不同层级目录import模块的方法
摘要编写python项目的时候,最麻烦的是在本地开发可能运行,但是在生产环境下出现导包的问题。整个项目都需要重新进行的导入包。使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不过如果是自己编写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用;为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用。原创 2022-05-22 13:32:05 · 2497 阅读 · 0 评论 -
python——重试机制函数
摘要为了避免由于一些网络或等其他不可控因素,而引起的功能性问题。比如在发送请求时,会因为网络不稳定,往往会有请求超时的问题。这种情况下,我们通常会在代码中加入重试的代码。重试的代码本身不难实现,但如何写得优雅、易用,是我们要考虑的问题。这里要给大家介绍的是一个第三方库 - Tenacity (pip install tenacity)(标题中的重试机制并并不准确,它不是 Python 的内置模块,因此并不能称之为机制),它实现了几乎我们可以使用到的所有重试场景,比如:在什么情况下才进行重试? 重试原创 2022-03-14 22:46:34 · 1307 阅读 · 2 评论 -
Python——Python多线程
摘要在python中并发编程中我们也需要在使用的多线程进行的处理。线程可以分为:内核线程:由操作系统内核创建和撤销。用户线程:不需要内核支持而在用户程序中实现的线程。空间中的内存。线程可以被抢占(中断)。在其他线程正在运行时,线程可以暂时搁置(也称为睡眠) -- 这就是线程的退让。Python多线程模块包_thread threading(推荐使用)python中使用线程有两种方式:函数或者用类来包装线程对象。_thread.start_new_thread ( function, a原创 2021-12-13 20:37:39 · 425 阅读 · 0 评论 -
python——获取参数方式
摘要python中经常会通过环境变量来进行参数传递和环境配置。一、通过读取环境变量来获取参数设置环境变量$ export ENV_PORT=3333$ echo $ENV_PORT3333方案一 os读取import osos.getenv('ENV_PORT')os.environ.get('ENV_PORT')os.environ['ENV_PORT']二、通过读取输入参数import argparseparser = argparse.Argu原创 2022-03-28 18:20:06 · 6271 阅读 · 0 评论 -
Python——利用多进程来进行多文件复制
摘要在我能的日常开发中,很多的时候需要用到多线进程文件的复制,这样可以缩短拷贝的时间,本博文将利用python的多线程进行文件的拷贝进行演示和分析。博文参考原创 2021-12-03 12:09:21 · 1133 阅读 · 5 评论 -
Python——利用commond line获取window操作系统位数
摘要利用python获取操作系统版本信息中的位数信息。遇到问题是我的系统是64bit,但是通过的python调用platform时候显示我的操作系统版本是32位的。问题原因:由于是platform这个包只能获取到python的是多少位数的,如果你是安装是32位,这个时候就是32bit,如果你的是的64bit的就你结果是64bit.这个不是你操作系统真正的位数。在互联网上有些人只喜欢复制粘贴,可能会误导大家。所以在复制的时候大家还需要去测试一下是否符合自己的需求。解决方法:利用的c原创 2021-10-28 21:40:02 · 412 阅读 · 0 评论 -
Python——正则表达式语法与实践
摘要在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉)。如果你在Windows操作系统中使用过文件查找并且在指定文件名时使用过通配符(\*和?),那么正则表达式也是与之类似的用来进行文本匹配的工具,只不过比起通配符正则表达式更强大,它能更精确地描述你的需求(当然你付出的代价是书写一个正则原创 2021-11-17 11:06:18 · 547 阅读 · 0 评论 -
python——获取当前目录,上级目录,上上级目录
摘要我们在日常的编码中进程遇到获取文件路径等问问题,有的时候不知道怎么获取文件路径。下面介绍python中获取文件的绝对路径的集中方式获取当前目录import osprint(os.getcwd())print(os.path.abspath(os.path.dirname(__file__)))获取上级目录import osprint(os.path.abspath(os.path.dirname(os.path.dirname(__file__)))) print原创 2021-11-05 15:42:18 · 5564 阅读 · 0 评论 -
Python——hashlib模块(MD5校验)
摘要主要是在python中使用MD5对下载后的文件是否完整进行校验。hashlib的基本概念如何产生hash值之三个阶段校验文件的一致性(如何保证下载的文件过程中不丢包,保证下载数据的完整性)import hashlib# 文件过大分步校验def big_md5_file(path): ret = hashlib.md5() with open(path, mode="rb")as f1: while 1: conten原创 2021-09-26 00:09:29 · 5945 阅读 · 0 评论 -
Python——下载目标URL的资源
#!/usr/bin/env python# -*- coding:utf-8 -*-# author:xjl# datetime:2019/12/30 19:39# software: PyCharm"""自己手动实现一个下载目标urld的自愿的代码 1 找到目标的网址 2 在本地新建文件夹 3 保存到文件夹中 存在的问题是下载下来的图片是打不开的什...原创 2019-12-30 21:13:49 · 423 阅读 · 0 评论 -
Python——实现文件夹下多级别多文件解压
摘要程序语言python——实现文件夹下的多级别多文件的解压源代码源代码#!/usr/bin/env python# -*- coding: utf-8 -*-"""@version: 1.0@author: xjl@file: unzip2.py@time: 2021/2/28 14:27@target :该文件的主要是用于的解压文件夹以及子文件下面的相关的zip 文件包并删除原来的文件zip"""import zipfileimport osimport.原创 2021-03-02 16:18:49 · 408 阅读 · 0 评论 -
Python——XML文件的操作
摘要通过对Python的内容进行相关的内容的操作原创 2021-09-18 16:59:02 · 245 阅读 · 0 评论 -
Python——多线程编程实现
摘要主要是讲述Python中的多线程的应用和实践。通过的博文能够熟悉掌握好多线程的使用和原理,同时能够实现多线程编程实践操作。threading:Thread类的使用Thread类表示在单独的控制线程中运行的活动。有两种方法可以指定这种活动:1、给构造函数传递回调对象mthread=threading.Thread(target=xxxx,args=(xxxx))mthread.start()2、在子类中重写run() 方法import threading, time.原创 2021-09-13 13:58:37 · 135 阅读 · 0 评论 -
Python——异步编程案例
摘要主要是讲解Python中的异步编程的下的实际的案例案例:异步操作redis案例:异步操作MySQL案例:FastAPl框架异步案例:异步爬虫课程总结原创 2021-09-13 00:09:34 · 374 阅读 · 0 评论 -
python——异步编程原理
摘要主要介绍python中相关的异步编程的原理协程函数在定义的时候使用async def 函数名():协程对象 执行协程函数()得到的协程对象#协程函数async def func(): pass#result 协程对象 内代码是不会执行的result=func()注意︰执行协程函数创建协程对象,函数内部代码不会执行。如果想要运行协程函数内部代码,必须要讲协程对象交给事件循环来处理。import asyncio#协程函数async def func():原创 2021-09-12 20:03:02 · 1090 阅读 · 1 评论 -
python——异步编程代码实战
摘要主要介绍python中相关的异步编程的原理和是代码的实战协程实现协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行。协程不是计算机提供,程序员人为创造。协程的优点:在一个线程中如果遇到IO等待时间,线程不会傻傻等,利用空闲的时候再去干点其他事。greenlet 实现协程from greenlet import greenletdef fun1(): print(1) gr2.s原创 2021-09-12 17:20:58 · 458 阅读 · 0 评论 -
Python——回调函数(callback)
摘要主要是介绍python 的回调函数callback。什么是回调函数当程序运行是,一般情况下,应用程序会时常通过API调用库里所预先备好的函数。但是有些库函数却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。例如:有一家旅馆提供叫醒服务,但是要求旅客自己决定叫醒的方法。可以是打客房电话,也可以是派服务员去敲门,睡得死怕耽误事的,还可以要求往自己头上浇盆水。这里,“叫醒”这个行为是旅馆提供的原创 2021-09-12 13:29:57 · 39793 阅读 · 7 评论 -
Python——Flask相关原理
摘要主要是介绍的Flask的原理和实现。原创 2021-09-08 10:22:45 · 1047 阅读 · 0 评论 -
Python——输出打印语法的方式
Python的打印三种不同方式1、%占位符格式化字符串输出age=18name='SuperBoy'height=1.75# 格式化整数print('My age is %d'%age)# 也可以格式化时进行转换print('My age is %s'%age)# 使用多个占位符print('name:%s,age:%d'%(name,age))# 对齐输出:name右对齐,站位20个字符,不足的补充空格。age 使用左对齐占位6个字符,不足的补充0print('name:%2原创 2021-08-03 22:24:10 · 1040 阅读 · 0 评论 -
Python——垃圾回收机制(3)
摘要主要是讲解的python中的垃圾回收机制原理,同时区分java中的垃圾回收机制的不同。Python的垃圾回收机制与Java还是存在着不小的差异的。首先在垃圾识别算法上,Python采用引用计数为主的操作方法。Python使用引用计数为主的垃圾识别算法最关键的原因,在于Python是解释执行的脚本式语言。解释型的语言最大的特点是边解释,便执行,因此进行同步的对象引用计数操作就是顺利成章的事情了,能将计算分摊到整个程序运行的生命周期中,一旦对象没有引用后进行直接回收,整个程序收到的压力便会小很多,很原创 2021-05-26 09:19:03 · 187 阅读 · 0 评论 -
Python——解释器的原理(2)
摘要Python的原理的解释。编程语言分为编译型语言和解释型语言,我们需要了解它们的区别,才能够更好的理解编译器和解释器的区别。python几个特点:面向对象:在本站的《Python3萌新入门笔记》中有专门的文章,简单来说是指在程序设计中能够采用封装、继承、多态的设计方法。 动态语言:是在运行时可以改变其结构的语言;例如,在程序运行过程中,给一个类的对象添加原本不存在的属性。 动态数据类型:变量不需要指定类型,但需要解释器执行代码时去辨别数据类型;这个特点让编程变得简单,但代码执行效率变低。原创 2021-05-25 16:28:12 · 1690 阅读 · 0 评论 -
Python——Flask基础学习
摘要由于公司的大家都是python来实现的项目的构建,因此本文也将来学习相关的python的相关的学习。本章将讲解的是Flask框架的学习。Flask是由python实现的一个web微框架,让我们可以使用Python语言快速实现一个网站或Web服务。而且有对应的python3及python2版本。1、安装Flaskpip install flask2、目录结构flask-demo/ ├ run.py # 应用启动程序 ├ config.py原创 2021-05-25 10:48:00 · 4493 阅读 · 0 评论