编程语言 掌握Maven项目管理工具 本文将在项目开发中常见的 Maven 需求总结成单个的小项,按照需求查阅目录即可。增加第三方Jar包到项目,参考:https://blog.51cto.com/u_12660945/5159508 ,首先在项目中新建lib目录,把第三方的jar包放在这个目录,比如 myproject/lib/ImpalaJDBC41-2.6.12.jar 新增pom依赖。 yuziyue 11 Jul 2023 · 12 min read
编程语言 Maven入门实战总结 一. 概要说明 Maven是一个Java项目管理和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。它的主要功能有: 提供了一套标准化的项目结构。 提供了一套标准化的构建流程(编译,测试,打包,发布……)。 提供了一套依赖管理机制。 yuziyue 11 Jul 2023 · 5 min read
编程语言 Java发送邮件完整示例 或者在官网下载 jar 包 https://javaee.github.io/javamail/ Properties properties = System.getProperties(); properties.put("mail.smtp.host", host); properties.put("mail.smtp.port", "465"); properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.auth", "true"); yuziyue 11 Jul 2023 · 2 min read
编程语言 Scala调用并执行外部Linux命令 Scala 执行命令非常简单,不需要额外的依赖。 val cmd = "cat /etc/profile | wc -l" val stdoutStr = new mutable.StringBuilder val stderrStr = new mutable.StringBuilder var exitCode = 0 var stdout = "" var stderr = "" yuziyue 11 Jul 2023 · 1 min read
编程语言 Java调用并执行外部Linux命令 一. pom依赖 commons-exec,// 接收正常结果流 ByteArrayOutputStream susStream = new ByteArrayOutputStream(); 四. 特殊情况 当执行的命令有参数时,构建 commandLine 要特殊处理,比如命令 impala-shell -q "REFRESH db.table",这种命令必须使用下面的方式创建。 yuziyue 11 Jul 2023 · 2 min read
编程语言 Python发送邮件完整示例 下面是以网易 yeah.net 邮箱为例子。from email.header import Header from email.mime.text import MIMEText import smtplib to = ['xxx@qq.com', 'xxx@163.com'] from_address = 'username@yeah.net' from_password = 'xxxxxx' smtp_server = 'smtp.yeah.net' # 纯文本邮件 # msg = MIMEText('我是正文啊。。', 'plain', 'utf-8') yuziyue 11 Jul 2023 · 1 min read
编程语言 Python调用并执行外部Linux命令 执行 bash 命令,调用 linux 命令,执行外部命令 cmd 出入的命令行,可以多个命令,可以管道 cwd 执行命令目录,默认是脚本所在目录 shell 为 True 通过 shell 执行 raise_error 遇到错误是否抛出错误,不抛出错误则通过标准错误返回错误信息 yuziyue 11 Jul 2023 · 1 min read
编程语言 巧用Python命名namedtuple namedtuple 避免了元组不知道每个索引的值代表的含义的尴尬, 给元组的每一个索引指定一个名称,调用时根据名称调用,同时也可以使用原来的下标方式访问,看例子。 yuziyue 8 Jul 2023 · 1 min read
编程语言 Python函数参数的五种形式 二. 函数参数组合使用,以上5中参数都可以随意组合,但是参数定义的顺序必须是:位置参数、默认参数、可变参数、命名关键字参数和关键字参数。注意: 参数的组合使用不建议太复杂,太复杂的话可读性很差。三. 函数参数类型检查,函数的参数可以使用 isinstance() 内置函数来检查。 yuziyue 8 Jul 2023 · 4 min read
编程语言 Python删除字符串中非法字符 有时需要对输入的字符串进行处理,最基本的就是去除非法字符,在Python中可以用如下方法简单实现。第一个参数表示被替换的字符 第二个参数表示用来替换的字符(第二个参数和第一个参数必须个数相同、一一对应) 第三个参数的字符串会被替换成空字符 yuziyue 7 Jul 2023 · 1 min read
编程语言 Python异步非阻塞多种实现方式 Python 回调函数,回调函数的原大概就是下面代码的样子,deal_with 函数是真正执行计算的函数,计算后需要通知调用者计算结果,通过传入的get_result 函数处理计算结果。Tornado 异步非阻塞,同步函数 from tornado.httpclient import HTTPClient yuziyue 7 Jul 2023 · 1 min read
编程语言 深入浅出 Python 异步并发原理 由于线程的线程的数据结构比进程更轻量级,并且同一个进程可以容纳多个线程,所以可以使用多线程解决并发问题。多线程也是有问题的,因为多线程有一个GIL锁:同一时刻一个进程中只有一个进程在运行,并且在线程切换时还资源消耗大,而协程的切换则是在线程内部,所以协程优于线程。 yuziyue 7 Jul 2023 · 13 min read
编程语言 Python 脚本实现 Menu 菜单 在操作系统上执行某些脚本时,会有一些 menu 选择菜单, 如果用 Python 来实现,可以尝试用下面的思路试试,毕竟Python的可读性比bash高的可不是一点点。 yuziyue 6 Jul 2023 · 1 min read
编程语言 Python生成素数算法 埃氏筛法(1)先把1删除(现今数学界1既不是质数也不是合数)(2)读取队列中当前最小的数2,然后把2的倍数删去(3)读取队列中当前最小的数3,然后把3的倍数删去(4)读取队列中当前最小的数5,然后把5的倍数删去(5)如上所述直到需求的范围内所有的数均删除或读取 yuziyue 6 Jul 2023 · 1 min read
编程语言 Python单例模式的六种实现 什么叫做单例模式,单例模式是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在,第一次创建实例时是真正的创建了一个实例,而后面创建的实例则是第一次创建的实例的一个引用,是同一个实例。单例模式多种实现,全局变量方式实现 class Singleton: yuziyue 6 Jul 2023 · 2 min read
编程语言 Python生成器 迭代器 可迭代对象 生成器是一种特殊的迭代器,它的返回值不是通过return, 而是用yield,生成器算得上是Python语言中最吸引人的特性之一,是一种特殊的迭代器,不过这种迭代器更加优雅。它不需要再像上面的类一样写__iter__()和__next__()方法了,只需要一个yiled关键字。生成器一定是迭代器, 反之不成立.,生成器有两种实现方法:生成器表达式、生成器函数 yuziyue 6 Jul 2023 · 2 min read
编程语言 Python函数 map() reduce() filter() zip() sort() sorted() map() 函数,将函数作用到序列的每个元素上,可以用列表生成式来实现同样的效果,map()是对列表的每一个元素做相同的操作,reduce() 函数把一个函数作用在一个序列[x1, x2, x3, x4]上, 这个函数必须接收两个参数,reduce() 把结果继续和序列的下一个元素做累积计算, Python3 中,reduce()函数已经被从全局函数中移除了,被放置在fucntools模块里 yuziyue 5 Jul 2023 · 4 min read
编程语言 Python面向对象从入门到精通 面向对象中的类和实例,类 是众多具有相似属性实例的一种抽象,比如老师、学生这是两个类,类是指抽象出的模板。实例 是类的一个个具体体现,比如我们学校有郑老师、张老师, 有小张同学、小余同学,实例是根据类创建出来的具体的对象。每个对象都拥有从类中继承的相同的方法,但各自的数据互相独立,互不影响。 yuziyue 5 Jul 2023 · 22 min read