自定义博客皮肤VIP专享

    *博客头图:

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

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

    博客底图:

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

    栏目图:

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

    主标题颜色:

    RGB颜色,例如:#AFAFAF

    Hover:

    RGB颜色,例如:#AFAFAF

    副标题颜色:

    RGB颜色,例如:#AFAFAF

    自定义博客皮肤

    -+
    • 博客(219)
    • 问答 (4)
    • 收藏
    • 关注

    原创 vue cli更新遇到的问题(vue -V查询版本号不变的问题)

    将环境变量中的新版本vue cli安装目录置于旧版本vue cli安装目录之前即可 之后会将新版本vue cli当成默认vue cli。查询到的vue cli版本仍然是更新前的版本 那么原因就在于当前环境变量中旧版本目录置于新版本目录之前 因此优先会才有旧版本。但是注意 旧版本和新版本的安装目录可能会有所不同 由于是全局安装 所以他会将安装目录配置到环境变量中。通过该指令就可以将当前版本默认升级到最新版本 并且是全局安装(主机上任何地方都可以使用)

    2025-01-03 17:16:34 277

    原创 外键约束的应用层维护

    一般来说 对于不同表格之间的属性约束 我们通常直接使用数据库已经实现好的外键来完成 但是数据库底层实现的外键他的性能很差 这是因为在执行数据库修改操作时 他需要遍历其他所有的表来找出其中可能相关联的属性 一并进行数据库修改 也正是因为如此 造成他的遍历操作不够灵活 即不能控制遍历范围 当然 性能差还有其他很多的原因 这里就提供一个思路 所以要求我们可以通过应用层(业务层)来自行维护一个外键约束。

    2024-12-27 01:09:51 362

    原创 IDEA无法打开插件市场的解决

    我的IDEA版本号为2020.1.4 大家可以从IDEA的help->about进行版本号的查看。我们直接到jetbrains官网搜索你想要下载的插件 直接下载即可自动导入。

    2024-12-20 20:12:59 784

    原创 数据字典类型/条目表的设计目的

    这种行为很不妥当 如果对于不同业务情景下的相同下拉框来说 多个相同下拉框就会在数据库中产生多个表格 当某个下拉框的选项需要更新或者新增时 那么对应的需要同步更新相关的所有表 但总有遗漏的时机 因此的话 这种方式下就很难去管理表格字段的新增或者更新。但是如果是不同下拉框的话 可能存在相同的选项 为了区分不同下拉框中的相同选项 我们应该体现区分点 通过引入数据字典类型表实现这个差异性。对于下拉框选项储存的思路 我们以前是直接针对每一个下拉框都关联一个表格于数据库中。

    2024-12-20 11:25:51 206

    原创 MySQL数据库的建议

    当我们进行驼峰标识的自动映射(即下划线字段->驼峰属性)时 Java的数据类型不区分无符号和有符号 统一都是有符号 而数据库则区分无符号和有符号 这时候 我们就需要找到数据库字段类型对应合适的Java属性类型来储存了。对于固定长度的字符串而言 他最合适的数据库类型就是CHAR 而VARCHAR可以理解为variable char 即可变长度的char。我想说明的是我们在数据库中为某个字段选择数据类型时 尽量选择符合要求的最小数据类型。MySQL中的数字类型可以划分为有符号和无符号。

    2024-12-20 10:12:18 231

    原创 PowerDesigner软件的基本使用

    通过Physical Diagram->Table可以绘制出数据库中的一个表格 推动到绘图区域 双击这张表格 可以为表格设置Name(表格中显式给我们看的)、Code(包含于Preview中sql语句)、Comment(也是包含于Preview中的sql语句 只不过是对表格的注释 一般用中文解释一下表格名称)首先我们通过Physical Diagram->Reference在表格之间用线连接 接着双击线 选择其中的Joins 设置一下被引用表格中的字段以及引用表格中的字段 关联这两个字段。

    2024-12-17 20:11:26 227

    原创 Spring控制器方法参数未找到的解决方案

    我们可以修改idea的默认配置 打开setting->build, execution, deploymenet -> java compile 勾选其中的generate debugging info即可解决问题。idea的相关配置除了问题 导致控制器方法参数未保留从而无法使得请求参数赋值给方法参数。

    2024-12-13 08:36:15 178

    原创 better-scroll框架包裹内容无法点击问题

    对于better-scroll包裹内容无法点击触发点击事件的问题 是因为我们需要为该框架设置可点击 即在创建该框架实例时 传递options(click:true)

    2024-11-27 16:00:03 200

    原创 购物街项目TabBar的封装

    在购物街项目中 不论页面如何滚动 始终存在一个TabBar固定在该项目的底部 他在该项目中 扮演者选项卡栏的角色 内部存在若干选项 而选项中 固定存在两部分(图片+文本) 其中主要涉及到TabBar/TabBarItem这些和业务无关的共享组件(建议存放于components/common中)、MainTabBar这种和业务挂钩的共享组件(建议存放于components/content中)以及路由组件这种独立组件(建议存放于views中) 一些图片或者css资源则存放于assets中。

    2024-11-19 17:32:46 1252

    原创 dao层/service层面向接口编程的重要性

    在JavaEE项目中 我们通常会将项目分层开发 在不同的层级中 通常使得servlet层调用service层 service层调用dao层。在JavaEE项目中 我们通常会将dao层和service层设计为面向接口编程。

    2024-11-10 09:23:39 245

    原创 组件使用方式

    其余组件不直接依赖于目标组件 而是为目标组件封装一个插件 让其余组件依赖于插件对目标组件进行使用 这样没办法通过main.js中的$mount方式将目标组件挂载到index.html中 所以要求我们手动对目标组件进行挂载操作(需要包含$mount挂载方式 因为通过它才可以使用生命周期函数+document.body.appendChild挂载方式 将其追加到index.html的body元素中)②体现了良好的封装性 其余组件在使用目标组件时只需要关心如何使用 而不需要关心使用的细节。

    2024-11-03 00:26:24 267

    原创 vue中属性名/函数名的命名规范

    对于vue项目中标签内部的属性而言 他们的命名规范并不区分大小写 因此使用驼峰标识可能产生歧义 建议使用短横线标识来表示标签属性。而对于vue项目中标签内部的函数监听名称 他们对于命名规范的大小写区分是严格的 所以建议使用驼峰标识来表示标签函数名。

    2024-11-01 02:28:20 267

    原创 BScroll的refresh方法未定义/找不到的原因及修复

    ①home组件中监听事件总线中的事件的逻辑被内置于created生命周期方法 而该方法极有可能访问不到dom元素 因为该方法仅仅表示组件创建 并没有生成响应dom元素 而mounted才对应创建并挂载 因此的话 我们需要将监听事件总线的逻辑内置于mounted生命周期方法中。②在监听事件总线的具体逻辑中 我们将刷新方法封装到了scroll组件中 scroll组件中的方法直接调用了refresh方法进行刷新 并没有判断调用者本身是否非空 因此的话 我们需要并上一个非空判断。

    2024-10-25 16:11:10 196

    原创 supermall项目上拉加载bug分析

    这是因为better-scroll框架会根据局部区域的高度和页面高度计算出滚动区域的高度 如果你的页面存在图片的话 图片加载的时机有可能发生在计算之前 也有可能发生在计算之后 发生在计算之前的话 那么滚动区域的高度当然是准确的 但是如果发生在计算之后的话 那么就会出现上述的bug了。有时候 我们在加载某个类型某个页码中的数据时 可能会加载到一半就提示需要上拉加载 有时候则是准确的到达数据末尾才提示上拉加载。我们可以在图片加载以后再次刷新一下该框架 使得该框架重新计算滚动高度 即。

    2024-10-25 10:55:15 844

    原创 props父传子操作时的冒号作用

    没有冒号时 只能够将传递的值识别为字符串类型 而加上冒号以后 才能够将其识别为变量或者props具体指定的类型。

    2024-10-25 09:21:45 96

    原创 ref属性的作用对象类型

    当我们进行BScroll实例化的时候 需要我们传递dom元素 有多种渠道可以获取dom元素(①通过类选择器获取 ②通过ref获取) 其中前者由于class允许重复导致获取的不准确性 因此该方式不好 而后者则是强调属性的唯一而保证了获取的准确性。当然除了满足父组件访问子组件以外 通过ref属性也可以作用于当前组件中的普通元素 并且通过。如果作用对象是组件类型的话 那么该组件就是在当前组件中局部注册的组件 即子组件 通过。就可以实现父组件访问子组件的需求。

    2024-10-24 22:01:16 281

    原创 全局滚动和局部滚动

    比如div没有指定高度 他的高度默认由内容决定 当内容过多时 会超出可视区域 这时候 浏览器会提供默认的滚动条来上下查看过多的内容 但是他并不会内容溢出(溢出所在的元素) 所以overflow:hidden不会生效的。比如div指定了高度 并且设置了overflow:hidden来隐藏溢出的部分(不会提供滚动条) 那么就实现了在指定区域内通过滚动查看元素内容的需求。

    2024-10-24 21:39:45 464

    原创 父子元素中只有子元素设置margin-bottom的问题

    而且运行结果表明div2是基于原先的位置不变 然后向下进行外边距的扩展的 是div2的底边在div1底边的下方 而非div2上移使得div2底边在div1底边上方 然后扩展外边距为40px。由于div1并没有设置外边距 因此222是紧贴着div1进行展示的。上述代码中的运行结果是怎样的呢?div1的盒子模型范围如下所示。而div2的盒子模型则如下所示。通过开发者工具的盒子模型查看。

    2024-10-19 22:47:50 357

    原创 Vue项目无法重命名的解决方案

    Vue项目无法重命名的原因在于你通过控制台或者其他的一些方式选中了该项目 导致无法命名 你就可以避免选中项目来完成重命名操作。

    2024-10-19 13:54:53 159

    原创 Vue/组件的生命周期

    这篇文章借鉴了coderwhy大佬的在Vue实例化或者创建组件的过程中 内部涉及到一系列复杂的阶段 每一个阶段的前后时机都可能对应一个钩子函数 以下是我根据coderwhy大佬文章对于每一个阶段的一些看法。

    2024-10-06 23:15:47 885

    原创 history的pushState/replaceState理解

    在html5中 推出了history这种新的语法 其中 我们可以利用他来完成不同网页之间的跳转 并且通过不同的api调用可以完成同一个需求。

    2024-10-06 22:19:08 227

    原创 组件中$router/$route的由来(vue-router源码分析)

    返回值其实是通过上文中这个函数定义的 其中 他会先去判断一下Vue实例中是否传递了options对象($options对应的就是Vue实例中的options对象) 如果有的话 那么就执行里面的逻辑 其中 this指针表示mixin作用域中的this指针(他指向的是他的调用者 即Vue) 首先 他将Vue中的_routerRoot赋值为了本身 接着将Vue中的_router赋值为options对象中的router(挂载到Vue实例中的router对象 即导入的vue-router实例)

    2024-10-06 16:00:59 1431

    原创 webstorm的缩进设置(过度缩进解释)

    而continuation indent表示的是过度缩进 他控制的是一行显示不下的内容(元素属性等等)换行显示时的缩进效果 比如js代码函数调用换行显示参数时的参数的缩进效果。具体的话 我们将html/css/js操作界面中的tab/indent设置为2个空格即可 他们控制的是元素/元素内容/元素嵌套的子元素的缩进效果。在编写前端代码时 缩进规范一般被认为是2个空格 而非默认的4个空格。

    2024-10-06 08:46:18 1270

    原创 网站开发的发展(后端路由/前后端分离/前端路由)

    该阶段也可以被称之为SPA(single page application)阶段 即单页面富应用阶段(一套html+css+js 但是整合了多个网页 主要是分离js/vue组件 而复用html/css 因为一个vue文件对应一个网页 而多个网页会整合到js中) 可以理解为前后端分离阶段的基础上 内置了前端路由的阶段(前后端分离阶段的静态资源服务器中主要是一个网页对应一套html+css+js 而该阶段则是一个网站的所有网页对应一套html+css+js)该模式目前很多网站仍然在采用。

    2024-10-05 12:34:24 833

    原创 路由器的工作机制

    首先 数据包从公网传递给光猫(具有公网ip 平常说的具有唯一性的ip就是这个ip 用于标识唯一的内网) 光猫将数据包传送给路由器/内网 路由器中内置了一张映射表(格式大致为内网ip1: mac地址1 内网ip2: mac地址2……mac地址用于标识唯一的内网设备) 通过该映射表就可以找到最终的目标主机(数据包中附带公网ip和mac地址 通过映射表找到mac地址对应的内网ip 从而找到最终的目标主机)我们可以说 网络中的主机是由公网ip、内网ip和mac地址联合标识其唯一性的。

    2024-10-05 10:14:57 663

    原创 vue ui指令打不开图形化界面解决方案

    解决措施:我们可以降低node版本 或者提高脚手架版本 这里我选择降低node版本 有个工具很好使 方便切换node版本 即nvm(node version manager) 但是使用它之前 需要将已经安装的node写在干净 然后在下载nvm 通过。报错信息为TypeError: Function.prototype.apply was called on undefined, which is a undefined and not a function。从而打开图形化界面管理vue项目。

    2024-10-04 23:28:35 479

    原创 vue脚手架安装失败解决方案

    网上大多数的解决措施是通过npm clean cache -force指令去清空cache 实际上 清空的对象是C:\Users\19938\AppData\Roaming\npm cache这个文件。你可以尝试删除该文件 看看重新安装是否可行。

    2024-10-04 15:37:01 202

    原创 jetbrains ide重命名问题

    因此的话 我的建议是 通过ide中的rename project重命名项目名称 然后手动修改目录名称(show in explorer -> 修改目录名称 -> 同时修改.idea/iml文件名称为目录名称 -> 并且修改.idea/modules.xml中所有以前的目录名称为现有名称)因此的话 我们就会rename directory 可是当我们重命名目录名称 保证目录名称和项目名称一致时 在目录所在文件中 仍然存在之前的目录 而且我们如何删除也删除不掉。这样就可以彻底的完成重命名操作。

    2024-10-04 15:19:11 371

    原创 node依赖安装失败方法

    当我们通过npm指令去导入依赖时 如果你的npm版本大于7的话 那么就会内置版本检测机制 对于不兼容的依赖版本 就会安装失败。这个指令去忽略版本检测机制 从而避免安装失败问题。因此的话 我们就可以借助。

    2024-10-03 21:06:42 353

    原创 IDEA中查看接口的所有实现类和具体实现类

    我们选中要查看的接口 按住快捷键ctrl+h 在界面右侧可以看到该接口的所有可能实现类。

    2024-08-13 17:43:54 2767 1

    原创 Maven

    同样的条件下 如果是Maven项目的话 那么他就会将jar包抽取为单独的文件 由多个项目去引用依赖 这样的好处在于减小体积 并且我们在进行项目共享的时候 共享的是除开jar包的项目 到时候会根据依赖关系自动下载所依赖的jar包。假设存在多个项目的话 并且多个项目中所依赖的jar包都是相同的 那么从川传统的角度来看 硬盘中就会存在多个相同的jar包。主要用于自动化创建和管理Java项目。

    2024-06-03 13:00:43 857

    原创 jQuery_Bootstrap

    是前端开发中非常著名的开源框架

    2024-06-02 18:19:00 734

    原创 JavaScript

    常见的打印有两种:1.alert()(弹窗效果) 2.Console.log()(将打印内容输出到浏览器中的控制台处)(推荐)DOCTYPE html > < html lang = " en " > < head > < meta charset = " UTF-8 " > < title > Title < script > // 第一种打印方式就是弹窗 alert('HelloWorld!

    2024-06-01 12:30:48 662

    原创 JavaEE资源找不到问题

    此时 你可以对项目进行重新编译打包 但是如果这个做法失效的话 那么你就可以猜测是否是缓存的问题 缓存导致了网页源代码未能及时更新 因此我们需要及时清理浏览器的缓存 这时候 问题应该就能够得到解决。有些情况下 当我们启动Tomcat打开网页时 会发现提示文件无法找到的信息。

    2024-05-29 07:39:43 156

    原创 SpringJDBC

    可以帮助开发者节省大量开发工作 自动去处理一些低级细节 比如:异常处理、打开和关闭资源(Connection、PreparedStatement、Statement、ResultSet)

    2024-05-28 16:48:27 390

    原创 Dbs封装_连接池

    每一个数据库都对应着一个dao 每个dao势必存在公共部分 我们需要将公共部分抽取出来 封装成一个工具类 保留个性化代码即可。

    2024-05-26 17:20:04 667

    原创 引入Dao

    我们先前实现的crm项目的数据都是自定义的 而非数据库获取 因此现在我们应该实现crm和数据库的集成。

    2024-05-25 11:33:41 407

    原创 JDBC

    JDBC 即Java Database Connectivity的简称。

    2024-05-19 18:13:12 245

    原创 MySQL_SQL语句

    我们之前在将Servlet+JSP配合处理请求的过程中 数据库起到一个存取数据的作用 但是我们之前的案例中 数据是在Data类中临时定义的 并不是从数据库中获取的 这样做是不好的 因为每一次服务器关闭之后 那么部署在其上的类也会随着卸载 紧接着和类相挂钩的静态内存也会随着销毁 更别提实例内存了 所以说再次启动服务器 数据也就不能复原 所以说数据还是交由数据库保管 数据库中存放的数据是在硬盘之中 所以说不会因为服务器的开关而受到影响。

    2024-05-13 17:59:42 988

    原创 转发_重定向

    当我们用Servlet或者JSP单独处理请求的时候最合适的做法就是两者结合使用。

    2024-05-09 17:42:43 992

    空空如也

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

    TA关注的人

    提示
    确定要删除当前文章?
    取消 删除
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部