-
C++实现公司人事管理系统
本文实例为大家分享了C++实现公司人事管理系统的具体代码,供大家参考,具体内容如下 一.问题描述 一个小公司包含四类人员:经理,技术人员,销售人员和销售经理,各类人员的工资计算方法如下:经理:固定月薪(8000):技术人员:月薪按技术等级(1~8)(1600+等级*300):销售人员:按提成(4%*销售额):销售经理:底薪+提成(1500+0.2%*总销售额):设计一个管理程序,实现对各类人员的信息输入,修改和显示. 二 .基本要求 (1)使用面向对象编程思想编写开发过程中需要用到的类,比如:设
-
C#实现全局快捷键功能
在c#中使用全局快捷键 由于.net并没有提供快捷键的库,所以要使用该功能得通过api实现. 在winapi中,注册和注销全局快捷键分别是通过RegisterHotKey和UnregisterHotKey函数实现.在c#中直接使用该api显得不够简洁,这里我提供了一个友好点的封装. 代码如下: static class Hotkey { #region 系统api [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bo
-
@Column映射不一致的解决
@Column映射不一致 问题复现 @Column(name = "userName", nullable = true, length = 20) private String userName; 但是在mysql中生成的表字段为 user_name 解决方法 jpa: hibernate: ddl-auto: update naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrateg
-
Android利用Java优雅消除复杂条件表达式的方法
目录 实际例子 使用方法 表驱动 使用枚举 策略模式 前言: 在复杂的实际业务中,往往会出现各种嵌套的条件判断逻辑.我们需要考虑所有可能的情况.随着需求的增加,条件逻辑会变得越来越复杂,判断函数会变的相当长,而且也不能轻易修改这些代码.每次改需求的时候,都要保证所有分支逻辑判断的情况都改了. 面对这种情况,简化判断逻辑就是不得不做的事情,下面介绍几种方法 实际例子 @GetMapping("/exportOrderRecords") public void downloadFile(U
-
nginx之queue的具体使用
目录 一.简介 二.数据结构 三.相关API 3.1 初始化一个队列 3.2 判断队列是否为空 3.3 队头插入节点 3.4 队尾插入节点 3.5 从队列中移除某个节点 3.6 将队列从某个节点拆分成两个队列 3.7 将两个队列合并成一个队列 3.8 队列排序 3.9 获取队列中间节点 3.10 获取原始数据 一.简介 nginx队列和linux内核中的链表有一样的结构,只有一个连接头(只有两个指针),任何包含这个结构的数据都可以连接在一起.有点像物联网,万物互联,只要能上网都可以连接.
-
Java之一文详解String字符串的用法
目录 一. String字符串简介 1. 概述 2. 与字符的区别 3. 定义方式 3.1 构造方法定义 3.2 直接赋值定义 二. 字符串实用方法 1. 字符串的比较方法 2. 判断字符串是否为空 3. 判断相关的方法 4. 获取相关的方法 5. 拼接.替换.截取.分割.去空格等方法 6. 大小写转换的方法 7. 字符串转数组的方法 8. 其他类型转字符串的方式 9. 格式化字符串的方法 三. 结语 一. String字符串简介 1. 概述 String是Java里的一个类,属于引用类型,遵循
-
mysql创建外键报错的原因及解决(can't not create table)
目录 mysql创建外键不成功的原因及处理方法 第一种情况 第二种情况 第三种情况 第四种情况 第五种情况 第六种情况 第七种情况 第八种情况 第九种情况 最近在玩数据库的时候,偶尔会有外键创建不成功的时候,于是上网查阅资料,整合自己的理解有了以下这篇文章: mysql创建外键不成功的原因及处理方法 第一种情况 外键的字段与关联的字段的类型不匹配(包括编码格式的不匹配): 两个不同的表格(一个是record(借书记录表),一个是reader(读者信息表)):然后关联的两个readerid 字段要
-
关于Jar包部署命令全面解析
目录 一.nohup xxx & 二.-Djava.security.egd=file:/dev/./urandom 三.-Duser.timezone=Asia/Shanghai 四.-XX:+UseG1GC 五.--spring.profiles.active=test nohup java -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -jar example.jar -XX:+UseG1GC -
-
JavaScript WebGL 图片透明处理的方式
目录 引子 关于透明 α 混合 参考资料 引子 JavaScript WebGL 使用图片疑惑点中提到两张图片叠加,默认情况下,即使有透明的区域也不会透过看到.现在就来看这个透明的处理. Origin My GitHub 关于透明 说到透明,在颜色编码中由 Alpha 通道负责,透明度存储方式有: Premultiplied Alpha :表示颜色信息在存储的时候会将透明信息与 RGB 相乘,比如 RGB 是 (1, 1, 1),透明度为 0.5 ,那么存储时为:(0.5, 0.5, 0.5,
-
Python实现动态绘图的示例详解
目录 示例 FuncAnimation 三维情况 示例 matplotlib中的animation提供了动态绘图功能,下面列举一个最简单的动态绘制三角函数的例子,来初步演示一下. import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig, ax = plt.subplots(figsize=(5,3)) line, = ax.plot([], [], lw=1)
-
如何通过eclipse web项目导入itellij idea并启动
概述 主要分为项目配置和tomcat配置两大步骤. 一.项目配置 打开idea,选择导入项 选择将要打开的项目路径后,继续选择项目的原本类型(后续引导设置会根据原本的项目类型更新成idea的项目),此例中选中Eclipse,然后一直next到底即可 File->Project Structure打开项目配置窗口 在Project项中配置JDK版本和编译等级 在Modules项的Sources标签页中配置项目结构(主要配置需编译的Java文件和配置文件 在Modules项的Paths标签页中配置编
-
Python-GUI wxPython之自动化数据生成器的项目实战
目录 学习目标 界面原型设计 使用技术: 学习目标 根据原型设计编译自动化数据生成器,熟悉wxPython的基本用法. 界面原型设计 界面原型设计分析 输入参数: 最大长度 最小长度 组成规则 多少组数据 是否生成文件 文件名及路径设置 处理方式: 确定 重置 输出结果: 显示运行结果 相关提示信息 控件选择: 文本框 复选框 按钮 消息对话框 文本框复选框按钮消息对话框 分析设计过程及涉及技术 使用面向对象的思想实现: 创建类初始化方法---定义创建所需要用到的GUI控件(app.window
-
Java中lock和tryLock及lockInterruptibly的区别
目录 1.lock 方法 2.lockInterruptibly 方法 3.tryLock 方法 4.tryLock(long,TimeUnit) 方法 5.总结 在 Lock 接口中,获取锁的方法有 4 个:lock().tryLock().tryLock(long,TimeUnit).lockInterruptibly(),为什么需要这么多方法?这些方法都有什么区别?接下来我们一起来看. 1.lock 方法 lock 方法是 Lock 接口中最基础的获取锁的方法,当有可用锁时会直接得到锁并立
-
解决Oracle账户被锁定的问题
目录 为什么会被锁定呢? 方法一 oracle登录身份有三种 方法二 当用PLSQL登录Oracle时提示ORA-28000: the account is locked: 这个提示就是当前用户被锁定: 为什么会被锁定呢? 用户登录十次没有成功的,当前用户会被锁定:安装时没有解锁的: 下面我们用两种比较常用的方法解决这个问题: 方法一 首先我们需要以系统管理员的身份登陆,比如:sys,system: oracle登录身份有三种 normal 普通身份. sysdba 系统管理员身份. sysop
-
python之如何实现延迟操作
目录 python实现延迟操作 Python延迟加载问题 总结 python实现延迟操作 python 想实现延迟的操作是需要应用time ,然后在使用time的sleep 方法 比如我想写一个延迟1秒打印一次的操作 import time for i in range(0, 10): time.sleep(1) print(i) Python延迟加载问题 Python里面的延迟加载用得非常多,其主要思想是延迟所要引入类的实例化,节省一些初始化所需要的时间和空间. 这种思想在Django中应用得
-
一文了解Vue实例挂载的过程
目录 newVue()这个过程中究竟做了些什么? 初始化数据initState(vm) 看下initData 再看下挂载方法是调用vm.$mount render的作用主要是生成vnode 总结 new Vue()这个过程中究竟做了些什么? function Vue (options) { if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue) ) { warn('Vue is a constructor an
-
springboot中如何替换class文件
目录 背景 原始jar包解压 替换需要替换的class文件,在BOOT-INF下面 将替换后的文件打成jar包 如下图就完成了替换 总结 背景 线上项目需要替换jar包中的class文件以支持正常部分代码改动 原始jar包解压 jar -xvf ***.jar 解压后的文件目录如上图 替换需要替换的class文件,在BOOT-INF下面 发现需要替换的是lib中一个jar包中的class 然后找到这个jar包,再执行解压步骤 将替换后的文件打成jar包 jar -cfM0 XX.jar ./ 将
-
C#8.0默认接口实现的详细实例
Intro C# 8.0 开始引入了默认接口实现,也就是可以在接口里写方法实现. 在之前的版本中接口上是没有办法定义实现的,方法也都是 public 的,除了接口和属性之外是不能定义其他数据的,这也意味着,接口从一开始就要设计得比较好,否则在已有接口里增加新方法的时候其实现就必须要修改,否则就会编译失败,默认接口实现使得可以不造成破坏性变更的前提下在接口中新增加方法,只需要在接口中提供一个默认的实现即可. Sample 下面我们来看一个示例吧: internal interface IFly {
-
java8使用filter()取出自己所需数据
目录 使用filter()取出自己所需数据 java8 filter使用心得 使用filter()取出自己所需数据 java8的filter()方法是取出自己所需的数据,返回满足条件里的数据 person.java package com.it.pojo; import java.util.Comparator; import java.util.Objects; @Data @NoArgsConstructor @ToString public class Person { pr
-
API处理Android安全距离详情
目录 前言 描述 系统栏适配 其他适配 前言 在Android屏幕的空间中,大部分的区域我们都是可以随意绘制,只有一部分区域是显示的固定内容: 状态栏 标题栏(ActionBar) 页面内容(Content) 导航栏 其中标题栏是可选的,除了Material风格的应用应用的并不多,页面内容就是android.R.id.content是Activity的主要内容. 而我们主要需要讨论的就是 状态栏和导航栏,因为这两个区域在不同设备类型,不同的Android版本和不同的厂商下大小和效果是不同的,等等