- Spark任务提交流程
尘世壹俗人
大数据Spark技术大数据
当包含在applicationmaster中的spark-driver启动后,会与资源调度平台交互获取其他执行器资源,并通过反向注册通知对应的node节点启动执行容器。此外,还会根据程序的执行规划生成两个非常重要的东西,一个是根据spark任务执行计划生成n个ADG有向无环图,另一个是根据有向无环图生成对应的taskset,也可以统称为stage,ADG和taskset由于宽窄依赖以及程序的复杂度
- 系统信息性能模块psutil
浅水鲤鱼
linux运维服务器
psutil是一个跨平台库(第三方库/模块),能够获取系统进程进程及CPU,内存,磁盘、网络使用率等信息;主要用于监控系统,分析和限制系统资源及进程的管理它实现了n多个同等命令行工具实现的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等命
- Linux 性能调优技巧
云夏之末
运维linux运维服务器
1理解Linux性能的基本组成CPU使用率:衡量CPU在单位时间内被占用的程度。内存使用:关注的是活跃内存与缓存内存的比例,以及是否有过多的交换。I/O性能:磁盘读写速度直接影响应用程序的响应时间和吞吐量。网络性能:数据包的丢失率、延迟和带宽都是衡量标准。内核与进程管理:内核如何调度进程、管理内存、处理中断等都会影响性能。2.CPU性能调优处理器亲和性:taskset命令用于将进程固定到特定的CP
- spark streaming优点和缺点
scott_alpha
优点:sparkstreaming会被转化为spark作业执行,由于spark作业依赖DAGScheduler和RDD,所以是粗粒度方式而不是细粒度方式,可以快速处理小批量数据,获得准实时的特性;以spark作业提交和执行,很方便的实现容错机制;DStreaming是在RDD上的抽象,更容易与RDD进行交互操作。需要将流式数据与批数据结合分析的情况下,非常方便。缺点:不可避免的延迟
- Linux 系统性能调优 1
Wade_Crab
linux
Linux系统性能调优涉及多个方面,包括CPU、内存、I/O子系统、网络等。以下是一些常见的Linux系统性能调优技巧,可以帮助提升系统的整体性能。###1.**CPU调优**-**CPU绑定(CPUAffinity)**:通过`taskset`或`cgroups`设置进程或线程与特定CPU核心绑定,减少上下文切换带来的开销。-**CPU频率调节**:利用`cpufreq`工具,选择适当的CPU调
- objective-c中调用shell命令
maricoliu
macobjective-c
Launchingatask[permalink]Herearethebasicstolaunch"ls-l-a-t"inthecurrentdirectory,andthenreadtheresultintoanNSString:NSTask*task;task=[[NSTaskalloc]init];[tasksetLaunchPath:@"/bin/ls"];NSArray*argument
- 【Spark重点难点】你以为的Shuffle和真正的Shuffle
王知无(import_bigdata)
大数据sparkjavapython数据库
我们的【Spark重点难点】系列继续更新。以往的系列:我们在学习Spark的时候,到底在学习什么?我在B站读大学,大数据专业【Spark重点难点01】你从未深入理解的RDD和关键角色通俗解释上节课我们讲了DAGScheduler划分Stage的原理:DAGScheduler调度时会根据是否需要经过Shuffle过程将Job划分为多个Stage。Shuffle就这么重要?正是由于Shuffle的计算
- Spark程序执行逻辑迷你版
{BOOLEAN}
Sparkspark大数据java
Driver就是自己写的程序,里面有一个main方法,main方法划分DAG,形成Task,再把Task发出去DAGScheduler的功能,将rdd转换逻辑切分stage,生成taskset然后模拟taskScheduler的功能,将这些task发到Executor上去执行(真正的发送逻辑sparksubmit进程启动Driver,然后Driver会找Executor,将Executor启动起来
- 【Spark】Spark作业执行原理--提交任务
w1992wishes
本篇结构:创建Task创建TaskSetManager并向DriverEndpoint发送消息分配资源发送消息告诉Executor去执行Task一、创建Task当调度阶段运行后,在DAGScheduler的submitMissingTasks方法中会根据调度阶段Partition数量拆分对应个数任务。对于ResultStage,生成ResultTask,对于ShuffleMapStage生成Shu
- locust--python实现的分布式性能测试工具
chuntian_tester
python开发语言
1.locust特点:1.1支持Python编写测试用例方案;1.2使用requests发送http请求;1.3使用协程实现,高并发时消耗更低;1.4使用Flask提供WebUI;1.5有第三方插件支持扩展;2.创建locust性能测试用例步骤:2.1创建locust.TaskSet的子类;2.2为用例加上@locust.task()装饰器;2.3使用self.client发送请求;2.4制定aw
- 【Spark系列4】Task的执行
周润发的弟弟
从零开始搞大数据java服务器开发语言
一、Task的执行流程1.1、Task执行流程DAGScheduler将Stage生成TaskSet之后,会将Task交给TaskScheduler进行处理,TaskScheduler负责将Task提交到集群中运行,并负责失败重试,为DAGScheduler返回事件信息等,整体如流程如下:当任务提交到TaskScheduler时,TaskScheduler会通知SchedulerBackend分配
- Gradle for Androider
leap_
本文参考:深入理解Android之Gradle写给Android开发者的Gradle系列AndroidStudio自定义GradlePlugingradle是用于构建项目的,在安卓项目中,gradle构建主要是针对.gradle文件,一个安卓项目中的.gradle文件有三种:根目录下的build.gradle:进行全局配置每一个子Moudle下的build.gradle:执行各个构建Taskset
- Spark作业执行原理
垫路的石头
spark
Spark的作业和任务调度系统是Spark的核心,它能够有效地进行调度根本原因是对任务划分DAG和容错,使得它对低层到顶层的各个模块之间的调用和处理显得游刃有余。下面介绍一些相关术语。作业(Job):RDD中由行动操作所生成的一个或多个调度阶段。调度阶段(Stage):每个Job作业会因为RDD之间的依赖关系拆分成多组任务集合,称为调度阶段,简称阶段,也叫做任务集(TaskSet)。调度阶段的划分
- Spark详解(五):Spark作业执行原理
MasterT-J
Spark框架Spark框架Spark框架
Spark的作业和任务调度系统是其核心,它能够有效地进行调度的根本原因是对任务的划分DGG和容错。下面我们介绍一下相关术语:作业(Job):RDD中由行动操作所生成的一个或者多个调度阶段调度阶段(Stage):每个作业会因为RDD之间的依赖关系拆分成多组任务集合,称为调度阶段,也叫做任务集合(TaskSet)。调度阶段的划分是由DAGScheduler俩划分的,调度阶段由ShuffleMapSta
- 【Spark系列1】Spark作业执行原理
周润发的弟弟
从零开始搞大数据servlet
本文字数在7800字左右,预计时间在15分钟一、整体流程每个Aciton操作会创建一个JOB,JOB会提交给DAGScheduler,DAGScheduler根据RDD依赖的关系划分为多个Stage,每个Stage又会创建多个TaskSet,每个TaskSet包含多个Task,这个Task就是每个分区的并行计算的任务。DAGScheduler将TaskSet按照顺序提交给TaskScheduler
- Spark学习笔记五:Spark资源调度和任务调度
开发者连小超
一、StageSpark任务会根据RDD之间的依赖关系,形成一个DAG有向无环图,DAG会提交给DAGScheduler,DAGScheduler会把DAG划分相互依赖的多个stage,划分stage的依据就是RDD之间的宽窄依赖。遇到宽依赖就划分stage,每个stage包含一个或多个task任务。然后将这些task以taskSet的形式提交给TaskScheduler运行。stage切割规则切
- Locust参数化之queue实战
$团长$
python开发语言
需求:用4000用户随机登录调用接口性能压测思路1、随机取用户函数2、将随机取用户函数放到队列中3、使用的时候从队列依次取出fromlocustimportHttpUser,task,between,TaskSetfromgevent._semaphoreimportSemaphoreimportqueuefromcloudDataFactory.publicCenter.excle_dataim
- (转)Spark Streaming遇到问题分析
达微
parkStreaming遇到问题分析1、Spark2.0之后搞了个StructuredStreaming还没仔细了解,可参考:https://github.com/lw-lin/Coo...2、Spark的Job与Streaming的Job有区别及StreamingJob并发控制:先看看SparkStreaming的JobSet,Job,与SparkCore的Job,Stage,TaskSet,
- 深入理解 Spark(二)SparkApplication 提交和运行源码分析
我很ruo
大数据服务器servlet运维
spark核心流程yarn-clientyarn-clusterspark任务调度sparkstage级别调度sparktask级别调度失败重试和白名单对于运行失败的Task,TaskSetManager会记录它失败的次数,如果失败次数还没有超过最大重试次数,那么就把它放回待调度的Task池子中等待重新执行,当重试次数过允许的最大次数,整个Application失败。在记录Task失败次数过程中,
- RDD算子——概念及部分操作
我像影子一样
Spark大数据spark大数据
RDD的算子分类特点Spark中所有的Transformations是Lazy(惰性)的,它们不会立即执行获得结果,相反,它们只会记录在数据集上要应用的操作.只有当需要返回结果给Driver时,才会执行这些操作,通过DAGScheduler和TaskScheduler分发到集群中运行,这个特性叫做惰性求值默认情况下,每一个Action运行的时候,其所关联的所有TransformationRDD都会
- 【linux C】绑定任务到特定CPU(CPU亲和性)
tyrocjl
#linuxCcpu亲和性linuxC语言cpu_set_tCPU_SET
绑定任务到特定CPU(CPU亲和性)1相关概念及工具1.1CPU亲和性1.2查看cpu有几个核1.2.1命令查看1.2.2代码查看1.3taskset命令2代码讲解2.1cpu集(cpu_set_t)2.1.1cpu_set_t的使用2.1.1.1非动态分配cpu_set_t2.1.1.2动态分配cpu_set_t2.1.2glibc源码粗讲解(无兴趣可跳过)2.2绑定任务到指定CPU2.2.1s
- Spark源码分析之:Shuffle
你说个der
Sparkspark大数据
这一篇我们来分析Spark2.1的Shuffle流程。其实ShuffleDependency从SparkContext初始化就已经被DAGScheduler划分好了,本文主要探讨在Task运行过程中的ShufleWrite和ShuffleRead。要从Task运行开始说起,就要知道Task在哪里运行的。我们普遍认为Executor是负责执行Task的,但是我们发现Executor其实就是一个类pr
- 【大数据面试知识点】Spark的DAGScheduler
话数Science
大数据SparkSpark精讲spark大数据面试
Spark数据本地化是在哪个阶段计算首选位置的?先看一下DAGScheduler的注释,可以看到DAGScheduler除了Stage和Task的划分外,还做了缓存的跟踪和首选运行位置的计算。DAGScheduler注释:Thehigh-levelschedulinglayerthatimplementsstage-orientedscheduling.ItcomputesaDAGofstages
- locust 分布式大全
御剑天涯
locust提高篇pythonlocust分布式性能分布式性能测试locust
准备测脚本locustfile.pyfromlocustimportTaskSet,HttpUserlocust_data={'environment':'http://127.0.0.1:8000','task_name':'压测一号','task':[{'path':'/test1/books/read_book/','method':'GET','task':'1','header':{},
- Hadoop集群找不到native-hadoop
tuoluzhe8521
Hadoophadoop大数据分布式
1.问题描述========hive运行中的问题,需要把把native复制进去/usr/lib2023-02-1519:59:42,165WARNscheduler.TaskSetManager:Losttask11.0instage1.0(TID3,common4,executor2):java.lang.RuntimeException:HiveRuntimeErrorwhileclosing
- 为什么Spark比MapReduce快?
tracy_668
MapReduce慢是因为模型很呆板,频繁的Io操作Spark快的话不仅是因为它是内存迭代计算吧?具体什么是内存迭代计算?Answer1Spark计算比MapReduce快的根本原因在于DAG计算模型。一般而言,DAG相比Hadoop的MapReduce在大多数情况下可以减少shuffle次数(怎么体现?)。Spark的DAGScheduler相当于一个改进版的MapReduce,如果计算不涉及与
- cpu亲和力总结taskset和setcpu及其他相关
ttyttytty12
c开发工具使用技巧linux
一:taskset--获取或指定进程运行的CPU.mantaskset出现CPUaffinityisaschedulerpropertythat"bonds"aprocesstoagivensetofCPUsonthesystem.TheLinuxschedulerwillhonorthegivenCPUaffinityandtheprocesswillnotrunonanyotherCPUs.N
- 从零开始学Spark系列(1)——Spark概览
xiaoziHZP
Sparkspark大数据
目录1.Spark简介2.Spark的相关术语2.1master和worker节点2.2Application2.3driver和executor进程2.4ClusterManager2.5Task2.6Job2.7Stage2.8DAGScheduler2.9TASKScheduler3.运行原理4.任务提交4.1使用sparksubmit启动应用程序4.1.1参数详解4.2使用sparkLau
- spark在standalone模式下提交任务流程
程序媛啊
1、application(自己编写的应用程序),拷贝到用来提交spark应用的机器上,用spark-summit来提交这个application,在standalone模式下,会在本机客户端直接启动一个driver进程。2、在driver里面首先干的第一件事就是构造sparkcontext,构造的时候会初始化DAGScheduler和TaskScheduler,构造完TaskScheduler后
- spark源码:SparkContext初始化需要启动的组件
weixin_38842855
spark
spark源码分析之SparkContext1.SparkContext简介2初始化SparkContext需要启动的组件2.0SparkContext私有的可变成员变量2.1SpaekEnv2.2LiveListenerBus2.3SparkUI2.4SparkStatusTracker2.5ConsoleProgressBar2.6DAGScheduler2.7TaskScheduler2.8
- 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,修