- 【HarmonyOS NEXT】使用Canvas实现手写签名
9级浪
鸿蒙harmonyos鸿蒙
封装SignatureBoard组件import{image}from'@kit.ImageKit';@ComponentexportstructSignatureBoard{privateboardWidth:number=300privateboardHeight:number=200privatelastX:number=0privatelastY:number=0privateisDown
- RTOS实现Try-Catch机制,支持CM3/4/7
蒙塔基的钢蛋儿
单片机stm32嵌入式硬件arm
背景:我用的S32K3系列单片机,这芯片的RAM有ECC,就是说上电后如果你不写RAM,直接去读,就会触发ECC故障,然后进入hardfault.于是我就想实现TryCatch,想办法从Hardfault中跳出来。理论上支持CM系列,我只实现了FreeRTOS的.裸机也可以的。。包括STM32...实现代码:核心汇编部分:#if(configNumberOfExceptionStacks>0)in
- Java 计算矩形中的正方形数量(Count number of squares in a rectangle)
csdn_aspnet
javajava
给定一个amxn矩形,其中有多少个正方形?例如:输入:m=2,n=2输出:5有4个尺寸为1x1的正方形+1个尺寸为2x2的正方形。输入:m=4,n=3输出:20有12个尺寸为1x1的正方形+6个尺寸为2x2的正方形+2个尺寸为3x3的正方形。我们先针对m=n即正方形解决这个问题:对于m=n=1,输出:1对于m=n=2,输出:4+1[4个大小为1×1+1个大小为2×2]对于m=n=3,输出:9+4+
- 处理Long类型长度超长导致前端精度丢失问题
天狼1222
javaLong超长
1,问题场景后端返回的Long类型的数据,超10000000000000000,前端处理的时候,数据被截断了。比如tchId:11073477511443988481,前端根据tchId获取下一环节信息的时候,传的tchId变成了11073477511443988400,导致报错。主要是因为JavaScript中的Number类型无法精确表示超过其安全整数范围(即-9007199254740991
- ESP8266温度计项目
SeasonedDriverDG
嵌入式硬件c语言
首先安装CH340驱动下载地址:https://ukers.lanzoum.com/iHH0916x2agj安装DHT11库代码:#defineBLINKER_WIFI#includecharauth[]="";//blinker密钥charssid[]="";//WIFIcharpswd[]="";//WIFI密码BlinkerNumberHUMI("humi");BlinkerNumberTE
- Nano编辑器的配置文件指南
binary思维
编辑器
基础配置(创建或编辑~/.nanorc文件)##---------------------------##基础设置##---------------------------setautoindent#自动缩进setmouse#启用鼠标支持(滚动/选择)setlinenumbers#显示行号settabsize4#Tab宽度为4空格settabstospaces#将Tab转换为空格setsoftwr
- 《Uniapp-Vue 3-TS 实战开发》TypeScript 泛型详解
尔嵘
《Uniapp-Vue3-TS实战开发:从入门到精通》vue.jstypescriptuni-app
泛型(Generics)是TypeScript中非常重要的特性,它允许我们创建可重用的组件,这些组件可以支持多种类型,而不会丢失类型安全性。一、泛型基础1.基本概念泛型允许我们在定义函数、接口或类时不预先指定具体类型,而是在使用时再指定类型。//不使用泛型functionidentity(arg:number):number{returnarg;}//使用泛型functionidentity(ar
- 安卓逆向(Xposed-Hook)
奶龙牛牛
android前端javascript
关于参数问题如果方法是这样publicintaddNumbers(inta,intb){returna+b;}Hook代码XposedHelpers.findAndHookMethod("com.example.app.Calculator",lpparam.classLoader,"addNumbers",int.class,int.class,//两个参数,都是intnewXC_MethodH
- JS金额保留两位小数
我即将远走丶或许也能高飞
javascript前端java
//handlePrice(0)输出0.00//handlePrice(1.9898)输出1.98//handlePrice(123456798)输出123,456,798.00handlePrice(value){console.log("value",value)if(value){varintPart=Number(value)|0;//获取整数部分varintPartFormat=intP
- Python之Numpy(1)
Pandoroda
Python学习笔记python开发语言机器学习
1NUMPY的基本属性importnumpyasnparray=np.array([[1,2,3],[4,5,6]])print(array)#打印数组print('numberofdim:',array.ndim)#数组的维数print('shape:',array.shape)#打印数组的形状行数多少列数多少print('size:',array.size)#打印数组的大小运行结果:D:\Py
- Kotlin 学习--数组
安小牛
kotlin学习javascript
一、关于数组的基础知识和常用方式/***kotlin数组*使用arrayOf创建数组,必须指定数组的元素,可以是任意类型**/valarrayNumber=arrayOf(1,2,3,4)/***集合中的元素可以是任意类型*kotlin中的Any等价于java中的Object对象的意思**/valarrayObjects=arrayOf(1,true,"2")/***使用arrayOfNulls创
- Redis实现短信登录
描绘一抹色
Redis必知会redisjavaspring
发送验证码前端请求后,校验手机号后使用UUID等工具生成6位随机数,将其保存到redis中//生成验证码Stringcode=RandomUtil.randomNumbers(6);//保存验证码到redis(String)stringRedisTemplate.opsForValue().set("login:code:"+phone,code,5,TimeUnit.MINUTES);验证验证
- Kotlin 学习-方法和参数类型
安小牛
kotlin学习androidstudioandroid
/***kotlin的方法有三种**/funmain(){/***方法一*1.普通类的成员方法申明与调用*(1)需要先构建出实例对象,才能访问成员方法*(2)实例对象的构建只需要在类名后面加上()**/Person().test()/***方法二:静态类里的方法都是静态方法*静态类里的方法都是静态方法*不需要构建出实例对象,可以通过类名直接访问静态方法**/valnum=NumberUtil.do
- 值得收藏的25道Python练手题
我算是程序猿
python开发语言
题目1:水仙花数水仙花数(Narcissisticnumber)也被称为超完全数字不变数(pluperfectdigitalinvariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrongnumber)水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3+5^3+3^3=153。foriinrange(100,1000):i1=i//100#取
- 探索 HTML5 新的 Input 类型:提升表单交互与验证体验
烂蜻蜓
HTML5html5交互前端
在现代网页开发中,表单是用户与网站进行数据交互的重要工具。HTML5引入了多个新的表单输入类型,这些类型不仅提供了更好的输入控制,还能实现自动验证,大大提升了用户体验和开发效率。一、HTML5新Input类型概述HTML5新增的输入类型包括color、date、datetime、datetime-local、email、month、number、range、search、tel、time、url和
- Mime-Detective:项目的核心功能/场景
张亭齐Crown
Mime-Detective:项目的核心功能/场景Mime-Detective项目地址:https://gitcode.com/gh_mirrors/mim/Mime-Detective快速准确的文件类型检测工具。项目介绍Mime-Detective是一个针对.NET平台的快速、低内存消耗的文件类型检测器。它使用Magic-Number和Magic-Word签名来准确识别超过14,000种不同的文
- 【码上爬】第 4 题解题
流漓客
js逆向码上爬码上爬第4题js逆向
第四题第四题关注点个人觉得应该是在sign和_ts两个参数上全局搜索sign,搜索到的文件排除css、请求,就剩下pagination4.js文件点击进去可以看到sign——>window.token——>window.md5("tuling"+timestamp+pageNumber)_ts——>timestamp——>newDate().getTime()方法1-抠代码根据以上规则可以提取js
- 数论基础 (Foundation of Number Theory)
nuo534202
学习笔记算法矩阵c++c语言
一、高精度定义:支持更大整数间的运算的算法结构实现核心:模拟竖式运算反转存储:高精度数字一般用字符串表示,我们希望将其按位储存于数组中。注意到,我们进行竖式运算时希望按位对齐,而默认输入的字符串是按头对齐的。因此我们往往“反转储存”。1、预处理constintN=105;//根据题目要求灵活设置数组长度inta[N],b[N],c[N],d[N];voidclear(){memset(a,0,si
- JAVA题目笔记(七)
DDDiccc
1024程序员节
//转换罗马数字:键盘录入一个字符串要求1:长度小于等于9要求2:只能是数字将内容变成罗马数字://1-I2-II3-III4-IV5-V6-VI7-VII8-VIII9-IX如果录入数字为0则变成""(长度为0的字符串)Romannumber();publicstaticvoidRomannumber(){Stringroman[]=newString[]{"","I","II","III","
- leetcode刷题日记——有效的数独
许_安
刷题日记面试经典150题leetcode算法职场和发展
[题目描述]:[思路]:题目要求求一个数独题目是否有效,即每行,每列,每个九宫格都不能出现相同的数字暴力求解:对每行,每列,以及九宫格进行检查是否存在相同数字运行如下boolisValidSudoku(char**board,intboardSize,int*boardColSize){introw,column,number;for(inti=0;i1)returnfalse;}}for(int
- 題解/算法 {10034. 统计强大整数的数目}
「已注销」
题解算法
題解/算法{10034.统计强大整数的数目}@LINK:https://leetcode.cn/problems/count-the-number-of-powerful-integers/;令Suf:題目給定的後綴字符串這題非常考驗你對數位DP的理解裡,分析數位DP的定義:+:DP[i][j]:[i0...0,i9...9]這個區間裡的合法字符串個數,也就是形如...Suf的個數;(注意我們不關
- LeetCode.2999. 统计强大整数的数目
WangRuaRua
LeetCodelinux运维leetcode算法数据结构链表
统计强大整数的数目题目整体思路Code代码详细解释`calculate`函数`numberOfPowerfulInt`函数复杂度分析题目2999.统计强大整数的数目给你三个整数start,finish和limit。同时给你一个下标从0开始的字符串s,表示一个正整数。如果一个正整数x末尾部分是s(换句话说,s是x的后缀),且x中的每个数位至多是limit,那么我们称x是强大的。请你返回区间[star
- Java Stream流中的filter()使用方法-详解
Ben_F
java
filter()是JavaStreamAPI中的一个中间操作,用于根据给定的条件筛选流中的元素。它接收一个Predicate(断言,即返回boolean的函数)作为参数,筛选出满足条件的元素,并将它们收集到一个新的流中。1.基本用法filter()允许你基于某些条件筛选流中的元素。例如,如果你有一个整数流,并且只想保留其中的偶数,可以使用filter()来实现:Listnumbers=Arrays
- typescript 实现一个大根堆
cocos的神
typescriptubuntulinux
大根堆是一个用数组实现的二叉树结构,根节点一定比子节点大,稳定弹出根节点来实现从大到小排序classMaxHeap{privateheapSize:number=0;constructor(publicheap:number[]){this.buildHeap(this.heap,this.heapSize)}//初始化堆publicbuildHeap(heap:number[],heapSize
- leetcode 204. Count Primes
洞阳
leetcodeleetcode算法素数
题目描述这是道纯数学类问题。先回忆一下,素数的定义。质数(英文名:Primenumber)又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。可以用简单好理解的Eratosthenes筛法,时间复杂度是O(nloglogn)。算法从小到大枚举所有
- leetcode 264. Ugly Number II
洞阳
leetcodeleetcode算法动态规划
动态规划解决。关键是理解如何生成新的丑数。这道题和经典的斐波那契数列问题其实是一样的。求第n个数,需要用第n个数前面的数来求。不同的是,斐波那契数列不会重复。而本题的丑数,会重复出现。classSolution{public:intnthUglyNumber(intn){//dp[i]表示第i个丑数,dp[0]无意义vectordp(n+1);dp[1]=1;intp2=1;intp3=1;int
- 【在Node.js项目中引入TypeScript:提高开发效率及框架选型指南】
小怪兽9699
node.jstypescriptjavascript
一、TypeScript在Node.js中的核心价值1.1静态类型检测//错误示例:TypeScript会报错functionadd(a:number,b:string){returna+b}1.2工具链增强#安装必要依赖npminstall--save-devtypescript@types/nodets-nodetsconfig.json1.3代码维护性提升//接口约束示例interfaceU
- Python实现将数字转换成中文
qq_39605374
python开发语言算法Python
在本文中,我们将介绍如何使用Python编程语言将数字转换成中文表示。无论是将阿拉伯数字转换成中文数字,还是将整数或浮点数转换成中文大写金额,我们都将提供相应的源代码示例。将阿拉伯数字转换成中文数字首先,让我们看一下如何将阿拉伯数字转换成中文数字。我们可以使用一个字典来映射阿拉伯数字和中文数字之间的对应关系。下面是一个示例代码:defnumber_to_chinese(num):chinese_n
- maximum number (256) of shader keywords exceeded unity的报错解决方法
阿拉丁的梦
https://bitbucket.org/ArtIsDarkGames/shader-keywords-tool-unity3d/src/master/https://eternity429.wordpress.com/2017/12/06/unity-shader-variant-system%E6%BD%9B%E8%97%8F%E9%9A%B1%E6%86%82/其中,multi_compi
- 学习笔记《Python编程快速上手-让繁琐工作自动化》第七章
☆Eric☆
学习python自动化
7.18.1强口令检测importredefpwdcheck(pwd):strpc="你的密码"pwdn=5numbercheck=re.compile(r'\d').search(pwd)uppercheck=re.compile(r'[A-Z]').search(pwd)lowercheck=re.compile(r'[a-z]').search(pwd)othercheck=re.compi
- ztree异步加载
3213213333332132
JavaScriptAjaxjsonWebztree
相信新手用ztree的时候,对异步加载会有些困惑,我开始的时候也是看了API花了些时间才搞定了异步加载,在这里分享给大家。
我后台代码生成的是json格式的数据,数据大家按各自的需求生成,这里只给出前端的代码。
设置setting,这里只关注async属性的配置
var setting = {
//异步加载配置
- thirft rpc 具体调用流程
BlueSkator
中间件rpcthrift
Thrift调用过程中,Thrift客户端和服务器之间主要用到传输层类、协议层类和处理类三个主要的核心类,这三个类的相互协作共同完成rpc的整个调用过程。在调用过程中将按照以下顺序进行协同工作:
(1) 将客户端程序调用的函数名和参数传递给协议层(TProtocol),协议
- 异或运算推导, 交换数据
dcj3sjt126com
PHP异或^
/*
* 5 0101
* 9 1010
*
* 5 ^ 5
* 0101
* 0101
* -----
* 0000
* 得出第一个规律: 相同的数进行异或, 结果是0
*
* 9 ^ 5 ^ 6
* 1010
* 0101
* ----
* 1111
*
* 1111
* 0110
* ----
* 1001
- 事件源对象
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- MySql配置及相关命令
g21121
mysql
MySQL安装完毕后我们需要对它进行一些设置及性能优化,主要包括字符集设置,启动设置,连接优化,表优化,分区优化等等。
一 修改MySQL密码及用户
- [简单]poi删除excel 2007超链接
53873039oycg
Excel
采用解析sheet.xml方式删除超链接,缺点是要打开文件2次,代码如下:
public void removeExcel2007AllHyperLink(String filePath) throws Exception {
OPCPackage ocPkg = OPCPac
- Struts2添加 open flash chart
云端月影
准备以下开源项目:
1. Struts 2.1.6
2. Open Flash Chart 2 Version 2 Lug Wyrm Charmer (28th, July 2009)
3. jofc2,这东西不知道是没做好还是什么意思,好像和ofc2不怎么匹配,最好下源码,有什么问题直接改。
4. log4j
用eclipse新建动态网站,取名OFC2Demo,将Struts2 l
- spring包详解
aijuans
spring
下载的spring包中文件及各种包众多,在项目中往往只有部分是我们必须的,如果不清楚什么时候需要什么包的话,看看下面就知道了。 aspectj目录下是在Spring框架下使用aspectj的源代码和测试程序文件。Aspectj是java最早的提供AOP的应用框架。 dist 目录下是Spring 的发布包,关于发布包下面会详细进行说明。 docs&nb
- 网站推广之seo概念
antonyup_2006
算法Web应用服务器搜索引擎Google
持续开发一年多的b2c网站终于在08年10月23日上线了。作为开发人员的我在修改bug的同时,准备了解下网站的推广分析策略。
所谓网站推广,目的在于让尽可能多的潜在用户了解并访问网站,通过网站获得有关产品和服务等信息,为最终形成购买决策提供支持。
网站推广策略有很多,seo,email,adv
- 单例模式,sql注入,序列
百合不是茶
单例模式序列sql注入预编译
序列在前面写过有关的博客,也有过总结,但是今天在做一个JDBC操作数据库的相关内容时 需要使用序列创建一个自增长的字段 居然不会了,所以将序列写在本篇的前面
1,序列是一个保存数据连续的增长的一种方式;
序列的创建;
CREATE SEQUENCE seq_pro
2 INCREMENT BY 1 -- 每次加几个
3
- Mockito单元测试实例
bijian1013
单元测试mockito
Mockito单元测试实例:
public class SettingServiceTest {
private List<PersonDTO> personList = new ArrayList<PersonDTO>();
@InjectMocks
private SettingPojoService settin
- 精通Oracle10编程SQL(9)使用游标
bijian1013
oracle数据库plsql
/*
*使用游标
*/
--显示游标
--在显式游标中使用FETCH...INTO语句
DECLARE
CURSOR emp_cursor is
select ename,sal from emp where deptno=1;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
begin
ope
- 【Java语言】动态代理
bit1129
java语言
JDK接口动态代理
JDK自带的动态代理通过动态的根据接口生成字节码(实现接口的一个具体类)的方式,为接口的实现类提供代理。被代理的对象和代理对象通过InvocationHandler建立关联
package com.tom;
import com.tom.model.User;
import com.tom.service.IUserService;
- Java通信之URL通信基础
白糖_
javajdkwebservice网络协议ITeye
java对网络通信以及提供了比较全面的jdk支持,java.net包能让程序员直接在程序中实现网络通信。
在技术日新月异的现在,我们能通过很多方式实现数据通信,比如webservice、url通信、socket通信等等,今天简单介绍下URL通信。
学习准备:建议首先学习java的IO基础知识
URL是统一资源定位器的简写,URL可以访问Internet和www,可以通过url
- 博弈Java讲义 - Java线程同步 (1)
boyitech
java多线程同步锁
在并发编程中经常会碰到多个执行线程共享资源的问题。例如多个线程同时读写文件,共用数据库连接,全局的计数器等。如果不处理好多线程之间的同步问题很容易引起状态不一致或者其他的错误。
同步不仅可以阻止一个线程看到对象处于不一致的状态,它还可以保证进入同步方法或者块的每个线程,都看到由同一锁保护的之前所有的修改结果。处理同步的关键就是要正确的识别临界条件(cri
- java-给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。
bylijinnan
java
public class DeleteExtraSpace {
/**
* 题目:给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。
* 方法1.用已有的String类的trim和replaceAll方法
* 方法2.全部用正则表达式,这个我不熟
* 方法3.“重新发明轮子”,从头遍历一次
*/
public static v
- An error has occurred.See the log file错误解决!
Kai_Ge
MyEclipse
今天早上打开MyEclipse时,自动关闭!弹出An error has occurred.See the log file错误提示!
很郁闷昨天启动和关闭还好着!!!打开几次依然报此错误,确定不是眼花了!
打开日志文件!找到当日错误文件内容:
--------------------------------------------------------------------------
- [矿业与工业]修建一个空间矿床开采站要多少钱?
comsci
地球上的钛金属矿藏已经接近枯竭...........
我们在冥王星的一颗卫星上面发现一些具有开采价值的矿床.....
那么,现在要编制一个预算,提交给财政部门..
- 解析Google Map Routes
dai_lm
google api
为了获得从A点到B点的路劲,经常会使用Google提供的API,例如
[url]
http://maps.googleapis.com/maps/api/directions/json?origin=40.7144,-74.0060&destination=47.6063,-122.3204&sensor=false
[/url]
从返回的结果上,大致可以了解应该怎么走,但
- SQL还有多少“理所应当”?
datamachine
sql
转贴存档,原帖地址:http://blog.chinaunix.net/uid-29242841-id-3968998.html、http://blog.chinaunix.net/uid-29242841-id-3971046.html!
------------------------------------华丽的分割线--------------------------------
- Yii使用Ajax验证时,如何设置某些字段不需要验证
dcj3sjt126com
Ajaxyii
经常像你注册页面,你可能非常希望只需要Ajax去验证用户名和Email,而不需要使用Ajax再去验证密码,默认如果你使用Yii 内置的ajax验证Form,例如:
$form=$this->beginWidget('CActiveForm', array( 'id'=>'usuario-form',&
- 使用git同步网站代码
dcj3sjt126com
crontabgit
转自:http://ued.ctrip.com/blog/?p=3646?tn=gongxinjun.com
管理一网站,最开始使用的虚拟空间,采用提供商支持的ftp上传网站文件,后换用vps,vps可以自己搭建ftp的,但是懒得搞,直接使用scp传输文件到服务器,现在需要更新文件到服务器,使用scp真的很烦。发现本人就职的公司,采用的git+rsync的方式来管理、同步代码,遂
- sql基本操作
蕃薯耀
sqlsql基本操作sql常用操作
sql基本操作
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:30:33 星期一
&
- Spring4+Hibernate4+Atomikos3.3多数据源事务管理
hanqunfeng
Hibernate4
Spring3+后不再对JTOM提供支持,所以可以改用Atomikos管理多数据源事务。Spring2.5+Hibernate3+JTOM参考:http://hanqunfeng.iteye.com/blog/1554251Atomikos官网网站:http://www.atomikos.com/ 一.pom.xml
<dependency>
<
- jquery中两个值得注意的方法one()和trigger()方法
jackyrong
trigger
在jquery中,有两个值得注意但容易忽视的方法,分别是one()方法和trigger()方法,这是从国内作者<<jquery权威指南》一书中看到不错的介绍
1) one方法
one方法的功能是让所选定的元素绑定一个仅触发一次的处理函数,格式为
one(type,${data},fn)
&nb
- 拿工资不仅仅是让你写代码的
lampcy
工作面试咨询
这是我对团队每个新进员工说的第一件事情。这句话的意思是,我并不关心你是如何快速完成任务的,哪怕代码很差,只要它像救生艇通气门一样管用就行。这句话也是我最喜欢的座右铭之一。
这个说法其实很合理:我们的工作是思考客户提出的问题,然后制定解决方案。思考第一,代码第二,公司请我们的最终目的不是写代码,而是想出解决方案。
话粗理不粗。
付你薪水不是让你来思考的,也不是让你来写代码的,你的目的是交付产品
- 架构师之对象操作----------对象的效率复制和判断是否全为空
nannan408
架构师
1.前言。
如题。
2.代码。
(1)对象的复制,比spring的beanCopier在大并发下效率要高,利用net.sf.cglib.beans.BeanCopier
Src src=new Src();
BeanCopier beanCopier = BeanCopier.create(Src.class, Des.class, false);
- ajax 被缓存的解决方案
Rainbow702
JavaScriptjqueryAjaxcache缓存
使用jquery的ajax来发送请求进行局部刷新画面,各位可能都做过。
今天碰到一个奇怪的现象,就是,同一个ajax请求,在chrome中,不论发送多少次,都可以发送至服务器端,而不会被缓存。但是,换成在IE下的时候,发现,同一个ajax请求,会发生被缓存的情况,只有第一次才会被发送至服务器端,之后的不会再被发送。郁闷。
解决方法如下:
① 直接使用 JQuery提供的 “cache”参数,
- 修改date.toLocaleString()的警告
tntxia
String
我们在写程序的时候,经常要查看时间,所以我们经常会用到date.toLocaleString(),但是date.toLocaleString()是一个过时 的API,代替的方法如下:
package com.tntxia.htmlmaker.util;
import java.text.SimpleDateFormat;
import java.util.
- 项目完成后的小总结
xiaomiya
js总结项目
项目完成了,突然想做个总结但是有点无从下手了。
做之前对于客户端给的接口很模式。然而定义好了格式要求就如此的愉快了。
先说说项目主要实现的功能吧
1,按键精灵
2,获取行情数据
3,各种input输入条件判断
4,发送数据(有json格式和string格式)
5,获取预警条件列表和预警结果列表,
6,排序,
7,预警结果分页获取
8,导出文件(excel,text等)
9,修