JAVA 开发

Jpackage-制作无需预装Java环境的Jar可执行程序

如何将Java JAR 转化为 win/mac/linux 独立可执行程序?不需要预装 JRE 运行? JAR 包要在预装 JRE 环境的系统上执行。如果没有预先安装 JRE 环境,又想直接运行 Java 程序,该怎么办呢? 这篇文章我们会先学习如何将 Java 程序打包成一个可执行的 »

【深度思考】一线开发大头兵对于工作的感悟分享

笔者目前有两段工作经历,都是在一线当开发大头兵,职级倒是随着跳槽而有所上升。做过从0-1的SaaS、PaaS的自研项目,也做过多租户的定制化开发项目,还有过半年的 PM 的经历...这些都让我有了一些关于工作上的感悟。现在简单总结一下,拿出来和大家做分享交流。 目录 前言 一、工 »

wasm+pygbag让你在网页上也能运行Python代码:【贪吃蛇游戏】

最近小伙伴告诉我一种新的方法,可以使用wasm来使浏览器网页能够运行Python代码。这一下子激起了我的兴趣,因为这意味着用户无需安装Python环境就能直接运行我的demo,这真是太方便了。所以,我们的主要目标今天就是让网页能够直接运行我的贪吃蛇游戏。贪吃蛇游戏其实很简单,因为Python有一个很 »

基于源码去理解Iterator迭代器的Fail-Fast与Fail-Safe机制

原创/朱季谦 在Java编程当中,Iterator迭代器是一种用于遍历如List、Set、Map等集合的工具。这类集合部分存在线程安全的问题,例如ArrayList,若在多线程环境下,迭代遍历过程中存在其他线程对这类集合进行修改的话,就可能导致不一致或者修改异常问题,因此,针对这种情况,迭代器提供了 »

手把手教你用python做一个年会抽奖系统

本文介绍了使用Python和fastapi框架构建一个简易的抽奖系统。通过编写前端界面和后端逻辑代码,读者可以了解如何实现一个功能完善的抽奖系统,并从中获得经验和收益。 引言 马上就要举行年会抽奖了,我们都不知道是否有人能够中奖。我觉得无聊的时候可以尝试自己写一个抽奖系统,主要是为了娱乐 »

Java开发者的Python快速实战指南:实用工具之PDF转DOCX文档(可视化界面)

pdf转docx文档是一个非常实用的功能,我只是简单地实现了一个可视化界面供用户操作。我这么做的目的之一是想更多地掌握gradio的使用方法,同时也加强对Python流行第三方包的熟悉程度,因为这些第三方包是快速开发的关键。我也希望你能从中有所收获,我已经公布了本期的源码地址,如果你觉得还不错,或者 »

【解决方案】MySQL5.7 百万数据迁移到 ElasticSearch7.x 的思考

在日常项目开发中,可能会遇到使用 ES 做关键词搜索的场景,但是一般来说业务数据是不会直接通过 CRUD 写进 ES 的。 因为这可能违背了 ES 是用来查询的初衷,数据持久化的事情可以交给数据库来做。那么,这里就有一个显而易见的问题:ES 里的数据从哪里来? 本文介绍的就是如何将 MySQL »

Java开发者的Python快速实战指南:探索向量数据库之图像相似搜索-文字版

在开始讲解之前,我想给大家介绍一个很有用的第三方包,它就是gradio。如果你想与他人共享你的机器学习模型、API或数据科学工作流的最佳方式之一,可以创建一个交互式应用,让用户或同事可以在浏览器中试用你的演示。而gradio正是可以帮助你在Python中构建这样的演示,并且只需要几行代码即可完成! »

Java开发者的Python快速实战指南:探索向量数据库之文本搜索

如果说Python是跟随我的步伐学习的话,我觉得我在日常开发方面已经没有太大的问题了。然而,由于我没有Python开发经验,我思考着应该写些什么内容。我回想起学习Java时的学习路线,直接操作数据库是其中一项重要内容,无论使用哪种编程语言,与数据库的交互都是不可避免的。然而,直接操作MySQL数据库 »

Java开发者的Python快速进修指南:实战之跳表pro版本

我们实现的跳表有许多优化的方面需要考虑。例如,我们可以避免每次都重新规划索引,因为这是不必要的。另外,我们也可以探索不同的步长绑定方法,不一定要按照我目前的方式进行。今天先说到这里,因为我认为跳表的实现逻辑相当复杂。我们可以在跳表这个领域暂时告一段落。 之前我们讲解了简易版的跳表,我希望 »

Java开发者的Python快速进修指南:实战之简易跳表

通过实现一个简易版本的跳表,可以加深了对Python编程的理解。跳表是一种跳跃式的数据结构,通过索引层提供快速查找的能力,提高了查找的效率。在实现跳表的过程中,会更加熟悉了Python的语法和特性,并且可以更加灵活地运用它来解决实际问题。 前言 之前我已经将Python的基本语法与Jav »

Java开发者的Python快速进修指南:网络编程及并发编程

今天我们学习了网络编程和多线程技术的写法区别。我们主要关注了在Java中使用socket和多线程结合实现服务器处理多个客户端连接的阻塞IO的方法,以及在Python中使用multiprocessing模块创建多线程的方式。通过一个实例来说明了这些概念,并指出了需要注意的问题。其实了解了这些基本用法后 »

Java开发者的Python快速进修指南:自定义模块及常用模块

在导入包方面,两者都使用import语句,但是Python没有类路径的概念,直接使用文件名来导入模块。我们还讨论了自定义模块的创建和使用,以及在不同目录下如何组织代码结构。此外,我们介绍了一些常用的Python模块,包括time、datetime、json、os和sys,它们在开发中非常实用。希望今 »

Java开发者的Python快速进修指南:面向对象--高级篇

在今天的课上,我们深入讨论了封装、反射和单例模式这几个重要的概念。我不想过多地赘述它们的细节,但是请大家务必记住它们的基本语法规则,因为这也是面向对象章节的结束。我希望大家能够牢牢掌握这些知识点,为未来的学习打下坚实的基础。 首先,让我来介绍一下今天的主题。今天我们将讨论封装、反射以及单 »

Java开发者的Python快速进修指南:面向对象进阶

在本期文章中,我们深入探讨了Python的对象继承、组合以及多态这三个核心概念。从继承的灵活性,如Python的多重继承和super关键字的使用,到组合中的动态属性添加,我们逐一解析了Python与Java在这些方面的相似之处和差异。通过具体的例子,我们展示了Python中多态的直观表现,强调了它与 »

Java开发者的Python快速进修指南:面向对象基础

作为一名有着Java背景的开发者,你无疑已经习惯了Java那严格的类型系统和细致的访问控制机制。转向Python,你会发现一个截然不同的编程世界。Python的面向对象编程(OOP)方式为代码组织提供了更高的自由度和灵活性,这种变化可能会给你带来新鲜感,同时也是一个挑战。需要注意的是,Python的 »

Java开发者的Python快速进修指南:迭代器(Iterator)与生成器

这一篇内容可能相对较少,但是迭代器在Java中是有用处的。因此,我想介绍一下Python中迭代器的使用方法。除了写法简单之外,Python的迭代器还有一个最大的不同之处,就是无法直接判断是否还有下一个元素。我们只能通过捕获异常或使用for循环来退出迭代,这点让我感到十分惊讶。 这一篇内容 »

Java开发者的Python快速进修指南:文件操作

Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。 Python提供的文件操作相对于Java来说,确实简单 »

Java开发者的Python快速进修指南:异常捕获

在本篇文章中,我们总结了Python中的异常捕获的重要性以及如何进行优化。异常捕获是一种处理程序在执行过程中出现错误的机制,对于程序的稳定性和可靠性至关重要。我们详细学习了Python中的基本异常捕获语法,包括try、except、else和finally块,并举例了常见的异常类型,总之,阅读本文只 »

Java开发者的Python快速进修指南:函数进阶

在这篇文章中,我们介绍了函数的两种不常用的特殊用法:匿名函数和装饰器函数。匿名函数是一种没有名称的函数,通常用于定义简单的功能。我们可以使用lambda关键字来创建匿名函数,并在需要时直接调用它们。装饰器函数是一种特殊的函数,可以接受一个函数作为参数,并返回一个新的函数。装饰器函数通常用于在不改变原 »