
编程与应用开发
文章平均质量分 82
编程与应用开发
夏天又到了
微信号 magicHawaii
展开
-
【图书推荐】《MongoDB基础、运维与性能优化》
MongoDB数据库与传统的关系型数据库不同,是一种面向文档的、介于非关系型和关系型之间的数据库。本书帮助读者掌握MongoDB 8数据库及其相关技术栈的开发知识,全书内容详实、重点突出、通俗易懂,涵盖MongoDB 8数据库应用开发的要点。本书配套PPT课件。本书共分15章,内容包括MongoDB数据库基础知识、系统安装与环境搭建、可视化工具使用、Shell工具使用、基础操作、聚合、数据模型、时间序列、事务、索引、副本集、分片、存储、安全以及性能优化。原创 2025-04-11 15:37:45 · 575 阅读 · 0 评论 -
快速了解一下低代码平台
低代码平台(Low-Code Platform)是一种软件开发能力,它允许平台用户(包含研发外的角色)通过图形化界面和预构建的功能或者模块,支持用户快速搭建业务功能,实现高效投产上线。当然,在定制化场景下可能需要辅助代码开发。这种平台降低了编程的复杂性,使开发者能够专注于业务逻辑和用户体验,而无需关注底层的编程细节。下面来看一下作者在日常工作中经常会被问及的三个关于低代码平台相关的疑问。原创 2025-03-24 15:07:03 · 890 阅读 · 0 评论 -
【图书推荐】《构建低代码开发平台》
本书作为低代码平台开发的入门指南,深入浅出地阐述低代码开发的核心基础知识和架构原理,旨在帮助读者迅速掌握低代码平台编程技术。通过本书的学习,读者将系统掌握低代码开发的理论和实践,能够熟练设计高效、稳定的低代码架构,为企业的数字化转型提供有力支持。本书配套示例源码、PPT课件与作者微信群答疑服务。本书共分为16章。第1章和第2章为低代码平台概述和入门指引;第3~6章讲解低代码平台的基本技术,包含常用技术和解决方案;第7章讲解低代码平台架构知识;原创 2025-03-18 12:48:54 · 778 阅读 · 0 评论 -
Windows下安装MongoDB 8
要查看MongoDB服务的状态,可以打开系统服务界面,按 Ctrl + Shfit + Esc,打开任务管理器,切换到服务选项卡,或者直接通过Windows系统的搜索找到服务界面,在服务界面中找到MongoDB服务,查看服务是否正在运行。在Windows平台下,MongoDB提供两种安装形式,直接运行MSI安装包和msiexec.exe命令行工具,默认的是直接安装MSI安装包的形式,msiexec.exe命令行形式更倾向于使用自动化无人值守形式部署的系统管理员。这里为可选项,即可安装可不安装。原创 2025-03-15 18:44:17 · 1286 阅读 · 0 评论 -
UML顺序图的建模方法及应用示例
在图书管理系统中,图书管理员处理还书时,首先是借阅者向图书管理员发出还书请求,图书管理员将读者的信息和所要归还的图书信息发送到数据库,由系统检查用户的合法性,当借阅者的信息和图书的信息都得到确认后,图书管理员修改图书信息和借阅者信息,将结果显示处理,完成还书操作。图书管理员收到借阅者的借书申请时,首先验明借阅者的身份,如果没有问题,则查找借阅书目,如果借阅者没有超出最大借阅数量,则开始借阅并更新图书列表信息,借阅成功。在图书管理系统中,如果有新的借阅者,则由系统管理员登录后台页面,添加借阅者信息。原创 2025-02-18 19:34:47 · 739 阅读 · 0 评论 -
UML类图分析实例
下面以学生管理系统为例,从用例图的角度来进行系统类图的建模。通过从用例中识别类,得到的学生成绩管理系统的用例图如图5.23所示。图5.23 学生成绩管理系统的用例图根据用例图进行类图的建模主要是确定系统需要的类以及类之间的关联和主要类的属性的描述。原创 2025-02-17 17:36:33 · 1045 阅读 · 0 评论 -
ThinkPHP8视图赋值与渲染
上面配置文件中,注意“'view_suffix' => 'php',”,表示视图文件后缀名为“.php”,我们可以把这个后缀名改为“.html”,表示视图文件的后缀名为“.html”,具体格式读者可自行研究。为了统一和方便掌握,本书的视图文件后缀名统一配置成“php”进行讲解。需要注意的是,默认情况下生成的应用会采用Think模板驱动,ThinkPHP 8并不内置该驱动类,因此建议使用PHP语法进行模板渲染,而不是私有的ThinkPHP语法。原创 2025-02-12 17:33:41 · 647 阅读 · 0 评论 -
PHP的JIT编译器
PHP是一种广泛使用的脚本语言,被用于构建各种规模的Web应用程序。然而,由于其解释执行的本质,PHP在处理大量计算密集型任务时可能会遇到性能瓶颈。为了解决这个问题,PHP 8引入了一个令人激动的新特性—JIT(即时编译)编译器。JIT(Just-In-Time)编译器是一种在运行时将解释的代码转换为机器码的技术。这种转换可以显著提高代码的执行速度,使得PHP在处理复杂算法和大数据集时表现更出色。本节将深入探索PHP 8的JIT编译器,了解其工作原理、优势和使用技巧。原创 2025-02-11 11:05:21 · 632 阅读 · 0 评论 -
ThinkPHP 8 操作JSON数据
上例中,$jsonAssoc属性是用来控制JSON字段的返回类型,其默认值为false,返回对象形式,我们可以将$jsonAssoc属性设置为true,使其通过数组方式操作JSON字段。$jsonType字段和$type字段类似,用来指定JSON子字段的数据类型,在不指定的情况下,默认都视为STRING。在示例中,$user->address['code']中的“->”是访问模型的address属性,['code']是使用数组形式访问address这个JSON属性的code字段。原创 2025-01-24 13:20:53 · 747 阅读 · 0 评论 -
ThinkPHP 8模型与数据的插入、更新、删除
模型的数据字段和对应数据表的字段是对应的,默认会自动获取(包括字段类型),但自动获取会导致增加一次查询(可以开启字段缓存功能),因此需要在模型中明确定义字段信息以避免多一次查询的开销。模型字段用来指定模型属性的数据类型,推荐每个模型类都进行定义,ThinkPHP 8默认会自动获取数据表的字段类型(需要查询一次数据库)。使用模型插入数据和查询构造器插入数据,最大的不同是模型会执行修改器、自动完成等逻辑,而数据库操作只是单纯的数据插入。默认情况下,模型类名是去除表前缀的数据表名称,采用大驼峰命名法。原创 2025-01-23 17:01:58 · 1334 阅读 · 0 评论 -
ThinkPHP 8请求处理-获取请求对象与请求上下文
ThinkPHP 8提供了Request对象用于封装HTTP请求。下面我们一起来学习如何在ThinkPHP 8中进行请求处理,比如获取请求参数、校验请求参数等。原创 2025-01-22 17:05:13 · 1060 阅读 · 0 评论 -
Linux C\C++编程-文件位置指针与读写文件数据块
先复习一下C语言中的文件指针定位函数fseek(),其声明如下:;其中,fp是文件指针;offset是相对于origin规定的偏移位置量;当offset是向文件末尾方向偏移的时候,无论偏移量是否超出文件末尾,fseek都返回0,当偏移量没有超出文件末尾的时候,文件指针指向正常的偏移地址;当偏移量超出文件末尾的时候,文件指针指向文件末尾,并不会返回表示偏移出错的-1值。当offset向文件头方向偏移的时候,如果偏移量没有超出文件头,就是正常偏移,文件指针指向正确的偏移地址,fseek返回值为0;原创 2025-01-21 14:02:48 · 1331 阅读 · 0 评论 -
Linux C\C++方式下的文件I/O编程
在旧头文件里的fstream.h,如果使用ifstreamfile的默认参数声明一个输入文件流,当这个要读的file文件不存在时,会自动创建一个空文件,从而给判断文件是否存在造成了很多麻烦。因为C++兼容C,所以C中的输入输出函数依然可以在C++中使用,但是很显然,直接把C的那套输入输出搬到C++中肯定无法满足C++的需求,更重要的一点是,C中的输入输出有类型要求,只支持基本类型,因此C++设计了易于使用的并且多种输入输出流接口统一的I/O类库,并且支持多种格式化操作,还可以自定义格式化操作。原创 2025-01-20 13:23:42 · 3075 阅读 · 0 评论 -
ThinkPHP 8的多对多关联
多对多关联属于比较复杂的关联,需要借助一个中间表实现,在模型中使用belongsToMany定义。在介绍ThinkPHP8的多对多语法之间,我们先来看一个例子,以加深对多对多关联的理解。比如我们开发一个博客系统,每篇文章可以关联多个标签,每个标签可以关联多篇文章,涉及的数据表如表8-1~表8-3所示。如果我们需要查询ThinkPHP教程这篇文章关联了哪些标签,可以用文章ID从文章标签关联表获得标签ID列表[1,2],再从标签表查询[1,2]的标签得到PHP和ThinkPHP。原创 2025-01-20 13:15:43 · 730 阅读 · 0 评论 -
ThinkPHP 8的一对多关联
每个主模型都有多个关联模型,一般在关联模型添加一个外键实现,在模型中使用hasMany定义。上面2个模型1个控制器完成后,运行服务器,在浏览器中访问http://localthost:8000/user/one2many,可以关联查询出id为1的用户所有游玩过的省份。由于只有同一个数据库的数据表可以与表相连,因此在分库分表的场景下,笔者建议使用with查询两次的方法。和一对一关联相同,一对多关联也使用together方法删除关联数据。使用关联模型的saveAll方法保存关联数据。原创 2025-01-17 16:55:25 · 579 阅读 · 0 评论 -
Spring MVC拦截器完成用户登录权限验证的示例
从图14.5所示的流程图可以看出,只有登录后的用户才能访问管理主页,如果没有登录而直接访问页面,拦截器就会将请求拦截,并转发到登录页面,同时在登录页面中给出提示信息。当已登录的用户在管理主页中单击“退出”链接时,同样会回到登录页面。从图14.6所示的结果可以看出,当用户未登录而直接访问主页面时,访问请求会被登录拦截器拦截,从而跳转到登录页面,并提示用户未登录信息。如果在“登录名”输入框中输入“zhangsan”,“密码”输入框中输入“123456”,当单击“登录”按钮后,浏览器的显示结果如图14.7所示。原创 2025-01-16 10:09:40 · 1179 阅读 · 0 评论 -
Spring MVC复杂数据绑定-绑定集合
将图12.10所示页面中的用户名zhangsan改为tom,lisi改为rose,并勾选两项数据前面的复选框,然后单击“修改”按钮后,浏览器会跳转到success.jsp页面中。此时控制台的打印信息如图12.11所示。针对这种情况,可以使用集合数据绑定,即在包装类中定义一个包含对象类的集合,然后在接收方法中将参数类型定义为该包装类的集合。注意:在使用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定,所以需要使用包装POJO作为参数,然后在包装POJO中包装一个集合属性。原创 2025-01-15 11:00:54 · 993 阅读 · 0 评论 -
ThinkPHP 8的一对一关联
每个主模型有一个关联模型,可以选择在主模型添加外键或者在关联模型添加外键,在模型中使用hasOne方法定义。比如下面的示例中,如果有10个$users,将产生11条查询(1条查询主模型列表,10条查询用户资料),这就是著名的数据库N+1问题。上面2个模型1个控制器完成后,运行服务器,在浏览器中访问http://localthost:8000/user/one2one,可以查询出id为1的用户的电子邮箱。上面的示例中,我们是基于主模型进行查询的,那么也可以根据关联模型进行查询。4. 根据关联数据查询。原创 2025-01-14 16:25:09 · 724 阅读 · 0 评论 -
Spring MVC复杂数据绑定-绑定数组
在实际项目开发中,除简单数据类型外,还会经常遇到一些比较复杂的数据绑定问题,比如数组的绑定、集合的绑定,本节将具体讲解数组绑定和集合绑定的使用。原创 2025-01-14 16:17:15 · 787 阅读 · 0 评论 -
Spring MVC数据绑定POJO类型
这样所有的请求信息都会以UTF-8的编码格式进行解析。注意:在前端请求中,难免会有中文信息传递,例如,在图12.4所示的用户名和密码输入框中输入用户名“张三”和密码“123”时,虽然浏览器可以正确跳转到结果页面,但是在控制台中输出的中文信息会出现乱码。在使用简单数据类型绑定时,可以很容易地根据具体需求来定义方法中的形参类型和个数,然而在实际应用中,客户端请求可能会传递多个不同类型的参数数据,如果还使用简单数据类型进行绑定,就需要手动编写多个不同类型的参数,这种操作显然比较烦琐。图12.5 运行结果。原创 2025-01-13 11:35:05 · 1270 阅读 · 0 评论 -
《Spring Boot企业级开发实战(视频教学版)》简介
#好书推荐##好书奇遇季#《Spring Boot企业级开发实战(视频教学版)》,京东当当天猫都有发售。书非常厚,定价119元,网店打折销售其实没多少钱。本书配套PPT课件、示例源码与同步教学视频。本书各章节按照Spring框架组件的出现时间来设计,先讲解Spring核心组件IoC和AOP,然后是Spring MVC,最后展开讲解Spring Boot。本书主要针对Spring Boot,采用由浅入深的方式,将讲解和案例练习相结合,符合读者的学习曲线。从初体验、基本源码分析、Web应用、数据访问这些基本原创 2022-04-08 12:02:17 · 268 阅读 · 0 评论 -
《Spring Boot整合开发案例实战》简介
《Spring Boot整合开发案例实战》,案例书,介绍实战项目(包括员工管理系统、二手房管理系统、购物车管理、用户权限管理系统、小程序上报用户信息、模拟聊天室)开发。定价89元。本书配套配套示例源代码、PPT课件,作者是资深Web应用开发工程师。 本书内容随着JavaWeb项目的发展,各种开发框架与组件层出不穷,项目的配置越来越烦琐,项目部署也需耗费大量时间,给开发人员带来了诸多不便。Spring Boot的出现将开发人员从烦琐的项目配置中解放出来,让开发人员更专注于业务的实现,提高了开发效率。本书从Sp原创 2023-03-21 16:53:29 · 167 阅读 · 0 评论 -
Spring Boot上传文件功能的开发
Spring Boot使用Servlet 3的API javax.servlet.http.Part来支持文件上传。Spring Boot在类MultipartAutoConfiguration中定义文件上传组件的自动配置,这个自动配置在使用Spring MVC框架时默认开启。3.3.1 POM文件配置在开启Web模块时,文件上传功能自动开启,所以pom.xml中只需配置spring-boot-starter- web,配置代码如下:<dependency> <grou..原创 2022-02-17 12:16:19 · 445 阅读 · 0 评论 -
《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》前后端分离架构示例源码免费下载
#好书推荐##好书奇遇季#《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》当当京东天猫均有发售。本书讲解前后端分离架构,为广大开发者量身打造,从项目实践出发,选用当前各种主流的技术,手把手、心贴心地带着读者从零开始,一步一步地实现一个完整的后台权限管理系统。通过整个管理系统的开发和实践,让读者在学成之后能够熟悉和掌握当前的一些主流技术和方向,且在后续的工作中拥有自主搭建开发环境和完成整个系统开发的能力。关于本书后台权限管原创 2021-12-03 08:56:50 · 2719 阅读 · 0 评论 -
《Spring Boot从零开始学(视频教学版)》快速入门书
#好书推荐##好书奇遇季#《Spring Boot从零开始学(视频教学版)》,目前为止较好的一本Spring Boot入门书。京东当当天猫都有发售。本书配套示例代码、课件与教学视频。定价75元。本书配套示例源码、PPT课件与同步教学视频。Spring是Java开发必不可少的框架,是一个庞大的生态系统,Spring Boot正是在Spring这一片肥沃的土壤中生长出来的快速应用开发框架。Spring Boot定义了大量的自动配置,能够根据环境、条件自动配置项目的组件,使用Spring Boot来开发可原创 2022-01-27 15:03:47 · 567 阅读 · 0 评论 -
三本书带您快速深入掌握Spring Boot应用开发
#好书推荐##好书奇遇季#三本书带您快速深入掌握Spring Boot应用开发《Spring Boot从零开始学(视频教学版)》《Spring Boot应用开发实战》《深入浅出Spring Security》,京东当当天猫都有发售。《Spring Boot从零开始学(视频教学版)》配套源码、PPT课件与同步教学视频,带领读者快速入门。《Spring Boot应用开发实战》解析博客系统、聊天服务、在线商城、个人云盘四个实战项目,巩固Spring Boot应用开发。《深入浅出Spring Sec原创 2022-01-26 09:27:30 · 1884 阅读 · 1 评论 -
最近一些Spring技术书的代码资源下载
《Spring+Spring MVC+MyBatis从零开始学》https://pan.baidu.com/s/1-Cv_Q7zEz_RpLDN27_0dyA 提取码:nwp2《Spring Boot+Vue全栈开发实战》https://pan.baidu.com/s/1SYxcHPFe2HfhlVoHklcB1w《Spring Boot+Spring Cloud+Vue+Eleme...原创 2019-06-13 17:18:01 · 1113 阅读 · 3 评论 -
松哥写的《深入浅出Spring Security》真不错
安全管理是Java应用开发中无法避免的问题,目前主流的安全管理框架就是SpringSecurity和Shiro,其中Shiro一直以使用简单和轻量级著称。然而,随着SpringBoot和微服务的流行,SpringSecurity受到越来越多开发者的重视,因为SpringSecurity在和SpringBoot整合时具有先天优势。目前市面上缺少系统介绍SpringSecurity的书籍,网上的博客内容又比较零散,这为很多初次接触SpringSecurity的Java工程师学习这门技术带来诸多...转载 2021-10-25 17:06:44 · 1129 阅读 · 0 评论 -
《SSM+Vue.js 3全栈开发实战》简介
本书共分18章,内容包括Spring基础、Spring中的Bean、Spring AOP、Spring的数据库开发、Spring的事务管理、初识MyBatis、MyBatis的核心配置、动态SQL、MyBatis的关联映射、MyBatis与Spring的整合、Vue.js 3入门、Spring MVC入门、Spring MVC数据绑定、JSON数据交互和RESTful支持、拦截器、SSM框架整合、新闻发布管理系统实战、图书管理系统实战。本书配套示例源码、PPT课件、作者答疑服务。原创 2023-03-21 16:31:43 · 355 阅读 · 0 评论 -
Spring MVC简单数据绑定
为了方便查看结果,将获取的参数进行输出打印,最后返回一个名为success的视图,Spring MVC会通过视图解析器在WEB-INF/jsp路径下寻找success.jsp文件。例如,如果要编写一个对用户操作的控制器类,可以将控制器类命名为UserController,然后在该控制器类中就可以编写任何有关用户操作的方法。在WEB-INF目录下创建一个名为jsp的文件夹,然后在该文件夹中创建页面文件success.jsp,该页面只作为正确执行操作后的响应页面,没有其他业务逻辑,如文件12.4所示。原创 2025-01-10 11:41:19 · 850 阅读 · 0 评论 -
PHP与ThinkPHP连接数据库示例
连接数据库PHP支持的数据库类型非常广泛,包括MySQL、Oracle、SQL Server、MongoDB、Redis、PostgreSQL、SQLite等。以连接MySQL数据库为例,通常使用mysqli扩展或PDO(PHP Data Objects)扩展,这两个扩展需要在PHP安装目录下的php.ini中进行配置。首先打开php.ini,找到“;extension=php_mysqli”和“;extension=pdo_mysql”语句,去掉这两条语句前的分号“;原创 2025-01-09 17:35:08 · 1341 阅读 · 0 评论 -
ThinkPHP 8高效构建Web应用-响应处理
在ThinkPHP框架中,Response是一个用于处理HTTP响应的类。它提供了一系列的工具方法,这些方法可以方便我们创建和修改响应内容。一般情况下,我们可以通过表6-4所示的工具方法生成Response对象,这样可以在不直接实例化Response类的情况下返回响应。下面是工具方法的一些使用示例。原创 2025-01-08 09:27:53 · 499 阅读 · 0 评论 -
第一个Spring MVC 6入门示例
本文通过一个简单的入门示例来演示Spring MVC的使用。原创 2025-01-07 08:22:48 · 1136 阅读 · 0 评论 -
ThinkPHP 8高效构建Web应用-获取请求对象
Request对象由ThinkPHP 框架实例化,开发者需要手动实例化Request对象。ThinkPHP 框架提供了4种方法来获取Request对象,读者可以根据自己的项目要求或者个人习惯,固定使用一种获取方式,并保持一致性以提高开发效率。原创 2025-01-07 08:14:53 · 991 阅读 · 0 评论 -
ThinkPHP 8高效构建Web应用-控制器
在上面的示例中定义了一个User控制器,当用户访问http://localhost:8000/user/login或者http://localhost:8000/index.php/user/login时,就会执行User控制器中的login方法后返回login字符串。在某些场景下,控制器名称可能和模型名称冲突,比如已经有一个User的模型类,而控制器名称也为User,那么就会产生冲突,此时我们可以打开config目录下route.php中的控制器名称后缀开关。,输出login字符串。原创 2025-01-02 10:34:19 · 665 阅读 · 0 评论 -
使用Composer初始化ThinkPHP 8应用
Composer是PHP用来管理依赖关系的工具。它使用JSON格式的配置文件来描述项目的依赖关系,然后根据配置文件自动下载并安装所需的依赖。Composer工具的使用可以大大提高PHP项目的开发效率,并确保项目的依赖关系始终保持一致。原创 2024-12-31 17:23:31 · 1011 阅读 · 0 评论 -
ThinkPHP 8高效构建Web应用-第一个简单的MVC应用示例
再次访问http://localhost:8000/test/show,结果如图3-2所示。注意,在这两个url链接中,test为控制器名,get和show为控制器类中的方法名;这个示例虽然简单,但是基本上可以看出,MVC模式是怎么分层处理数据、业务逻辑并展示视图的。本示例使用第1章搭建环境时创建的tp项目。在tp根目录执行php think run命令启动服务器,打开浏览器访问http://localhost:8000/test/get,结果如图3-1所示,说明我们第一个MVC应用示例已经成功实现。原创 2024-12-30 11:20:46 · 916 阅读 · 0 评论 -
使用VS Code开发ThinkPHP项目
安装完Visual Studio Code后,需要再浏览器中打开https://www.devsense.com/en链接,在页面上单击“Install”按钮,可自动在Visual Studio Code中安装PHP扩展,如图1-2、图1-3所示。然而,需要注意的是,PHP内置的Web服务器仅适用于开发和测试环境。PHPStorm是一个专为PHP开发者设计的集成开发环境,提供了许多针对PHP开发的高级功能和工具,如代码自动完成、调试器、版本控制等(注意,PHPStorm需要付费使用)。原创 2024-12-27 08:19:15 · 1405 阅读 · 0 评论 -
ThinkPHP 8开发环境安装
在Windows系统中安装composer,打开下载网址https://getcomposer.org/Composer-Setup.exe,选择需要下载的文件Composer-Setup.exe,下载完成后,在当前用户根目录下执行,之后会打开安装向导,读者可按照向导提示一步一步进行操作即可,最后将生成3个文件,结果如图1-5所示。我们在浏览器中输入地址http://localhost:8000/,将会看到欢迎页面,如图1-9所示,说明ThinkPHP可以正确运行了。命令执行结果如图1-8所示。原创 2024-12-26 14:44:55 · 921 阅读 · 0 评论 -
Spring事务管理概述
Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。原创 2024-12-26 08:43:48 · 1086 阅读 · 0 评论