http://edu.51cto.comhttp://www.dongwm.com/https://www.xiaomastack.com/http://renyudi.blog.51cto.com/通信,我的最爱昨夜星辰xiangcun168峰云,就她了。老徐的私房菜又耳笔记兰州linux运维贺磊Chocolee王伟Linux SA John大風Not Only Linuxlinux老男孩li
1. 基础布局<div id="l" class="easyui-layout" data-optiOns="width:500,height:250"> <div data-optiOns="region:'north',title:'north',height:50"></di
简单介绍:说明: ($.fn.layout)布局,依赖panel和resizable,默认分为5个区东east,西west,南south,北north,中center,中间的区域面板是必须的,边缘区域面板是可选的,每个边缘区域面板可通过拖拽边框调整尺寸,也可以通过点击折叠触发器来折叠面板.布局可嵌套,因此用户可建立复杂的布局.基础用法:<div id="l" class=
项目简介:说明: 主要用于集中化业务主动监控,支持任意自定义PY检测插件,适用于测试/正式环境业务联调检测,后端采用Python实现,具体实现代码请阅读代码.项目思路:项目结构:xmzoomeye-agent ├── app │ ├── conf │ │ ├── de
面试题目:1. 用PYTHON实现grep -A和-B功能,打印文本多位置匹配?解题思路:1. grep -A匹配连带后N行,要实现此功能,首先遍历每一行,如果发现匹配项设置记录标志位,后面循环的linenum行会被记录,但有可能下面linenum行中也存在匹配项,所以就需要不匹配和标志位是否被设置同时判断,一旦记录数到达linenum+1行就打印然后重置零时数组和标志位,但重置后的下一个遍历元素
1. 基础选项卡<div id="t" class="easyui-tabs" data-optiOns="width:500,height:300"> <div data-optiOns="title:'About',closable:true,bodyCls:'tabbody'">
具体需求:1. 让getElementsByClassName兼容IE和火狐浏览器,通过类名获取元素集合?实现思路:1. 由于IE和火狐都支持getElementsByTagName,所以可以通过它遍历所有元素找出className中包含指定类名的元素存到数组返回即可.具体代码:<!DOCTYPE html> <html lang="zh-cn"> &n
面试题目:1. 用PYTHON实现tail -f功能,默认显示最后15行,实时输出新增行?解题思路:1. 此需求在很多场景中都有遇到,而且在各大群中也被讨论过,虽然有现成的模版如pyinotify等模块实现,但面试更想通过你的解题思路来判断这场面试,具体到tail需要实现2个功能,一个实时输出新增内容,一个默认输出前15行,前者直接循环打开文件读取,全局变量中记录上次读取的位置,下一次循环seek
简单介绍:说明: ($fn.tabs)选项卡,依赖panel和linkbutton组件,常作为面板集合显示,但一次只能显示一个,每个Tab面板都拥有头部标题和一些工具按钮,包括关闭按钮和自定义按钮.基础用法:<div id="tt" class="easyui-tabs" style="width:500px;height:250px;"> &
项目简介:说明: 主要用于对接OA审批流程后自动下载固件生成更新后自动上传,具体实现代码请阅读代码项目思路:项目结构:firmwareupload/ ├── app │ ├── conf │ │ ├── config.py │ │&n
1. 基础的手风琴<div id="a" class="easyui-accordion" data-optiOns="width:500,height:300"> <div data-optiOns="iconCls:'icon-ok',title:'about',bodyCls:'acco
简单介绍:说明: Accordion折叠面板基于Panel面板,但允许同时显示一个或多个面板,每个面板都支持展开和折叠内容可通过Ajax加载,如果没有指定默认选中面板,则默认选中第一个面板.基础用法:<div id="a" class="easyui-accordion" data-optiOns="width:200,height:300">  
1. 基础面板<div id="p" class="easyui-panel" style="padding: 10px;" data-optiOns="width:700,height:250,title:'基础面板'"> <p>jQuery EasyUI 
项目简介:说明: 此项目属于医院电子病例系统,由于历史原因,整个系统后台基于Java开发,前端使用Html+CSS+原生Javascript,项目功能模块要求必须纯JS实现,而此次的任务是为住院病例页面编写一个客户端分页功能.实现思路:1. 基于客户端分页的前提是数据已经加载完毕,所以此功能模块必须等待数据加载完毕后再加载2. 基于客户端分页的首页只需要显示24个患者信息即可3. 上一页/当前页/
简单介绍: 说明: Panel面板常当作其它内容的容器,可用于创建包含Layout布局/Tabs选项卡/Accordion折叠面板等基础组件,还提供了内置的折叠/关闭/最大化/最小化的行为,你可以将它嵌入到网页的任何位置.基础用法:<div id="p" class="easyui-panel" title="面板-标题" data-optiOns="
简单介绍:说明: EasyUI是一种基于jQuery且完全支持HTML5的用户界面插件集合,大大节省您网页开发的时间和规模,只需通过编写一些简单HTML标记,就可以定义用户界面,使用简单但功能强大下载: http://www.jeasyui.com/download/index.php界面组件:模版代码:<!DOCTYPE html> <html lang="
任务管理:说明: 如上为运行任务后的标准输出,transport为消息代理,concurrency为默认进程池进程数,当所有子进程处于忙碌状态时必须等待空闲子进程处理,如果是IO密集型可尝试使用Eventlet/Gevent协程,具体可参考http://docs.jinkan.org/docs/celery/userguide/concurrency/index.html#concurrency,
子级任务:说明: 前面学习的任务调用基本上已够用,但有时业务场景可能需要任务关联,且子任务可能需要父任务为其传递一些必要参数,此时可通过func.subtask或简写func.s实现,子任务对象依然可以调用任务对象的API,delay和apply_async,但和常规调用不同的是子任务调用时传递的参数加生成子任务时初始化参数的才是最终任务的参数,所以子任务在调用时就不需要再重复传递子任务初始化时的
面试题目:1. 用PYTHON实现一个扁平化的字典,如{'a': {'b': '1'}}扁平化处理后变成{'a.b': 1}?解题思路:1. 由于字典可能是无限嵌套的,所以第一印象就想到采用递归函数完成,由于扁平化数据需要零时存储以及永久存储,而字典在递归中是非常方便的,递归函数中只需要遍历字典元素如果子元素不是字典则计算扁平化字典的key然后记录,否则就继续递归此子元素,依次类推.具体实现:#!
模块简介:说明: 此模块主要用于构建支持实时,双向基于事件的通信,将Websocket和Polling等其它实时通信方式封装成了通用接口,从而可在各个平台/浏览器/设备上稳定工作.快速安装:pip install flask-socketio <script src="https://cdn.socket.io/socket.io-1.4.5.js">&l
面试题目:1. 用PY实现求任意两个字符串最长的公共子串?解题思路:1. 先求出长度最小的字符串,然后遍历其索引,这样可以避免字符串索引溢出,然后判断对应索引的值是否相同,相同的话就加到目标字典,不同的话就更新目标字典索引,但不存储,最后再按照值长度逆向排序取出第一个元素即可.具体实现:#!/usr/bin/env python # -*- coding:
初始方式:说明: 在快速入门中使用KE.show({ .. .})来初始化了一个编辑器,具体进入js/kindeditor.js下可以看到KE对象下的show方法先调用了KE的init方法然后又调用了其event事件对象的ready方法,内部其实是调用的KE的create方法,传递的参数为args的id属性,所以可通过2种方式来初始化编辑器# 方式一 :# 方式二 :注意: 无论使用哪种方式初始化
简单介绍:说明: KindEditor是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用它把传统的多行文本输入框textarea替换为可视化富文本输入框,它使用Javascript编写,可无缝地与各种后台语言程序集成,常用于CMS/博客/商城/论坛/WiKi/电子邮件等互联网应用.初始环境:1. 引入此编辑器核心文件kindeditor.js,其它js/k
异常处理:1. 当装饰器@app.task添加bind=True时,被修饰的函数第一个参数被作为任务对象,通过self可获取任务的上下文,get_task_logger其实是调用的进线程安全的logging模块,用于终端打印调试.#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date&n
任务调度:1. Celery默认任务单元由任务生产者触发,但有时可能需要其自动触发,而Beat进程正是负责此类任务,能够自动触发定时/周期性任务.#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2016-12-24&nb
多个队列:1. Celery默认使用的队列名为celery默认绑定在direct交换机celery,可通过CELERY_DEFAULT_QUEUE/CELERY_DEFAULT_EXCHANGE/CELERY_DEFAULT_ROUTING_KEY等参数配置修改.#!/usr/bin/env python # -*- coding: utf-8 -
配置简介:说明: Celery的配置文件非常强大,支持在应用上设置,也可以使用一个独立的配置模块,具体需要调整的默认选项可通过http://docs.jinkan.org/docs/celery/configuration.html#configuration 获取.# 方式一 : 直接在应用上设置,通过app.conf.update可一次性设置多个选项,常用于小型项目#!/usr/bin/env
简单介绍:说明: 此模块是一个专注于分布式消息传递的异步任务队列,所谓任务就是消息,消息中的有效载荷中包含要执行的任务需要的全部数据几大特性:1. Celery易于使用和维护,且不需要配置文件,默认配置启动时自动写入消息代理.2. Celery高可用,连接丢失或失败时客户端或消费者会自动重试,并且可通过消息代理的双主/主从模式来提高高可用性3. Celery快速,单个进程每分钟可处理百万任务,且优
面试题目:解题思路:1. 总共8个位置,只要2个圈圈之差等于框框即可,注意倒数第3个数还要和第1个数字运算才算结束,所以可以先生成排列组合然后再通过分片偏移来获取符合条件的结果.具体实现:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date  
新版插件:说明: 从5.0开始,插件都独立拆分成gem包,每个插件可独立更新,无需等待Logstash自身整体更新,具体管理命令可参考./bin/logstash-plugin --help帮助信息../bin/logstash-plugin list其实所有的插件就位于本地./vendor/bundle/jruby/1.9/gems/目录下扩展: 如果GitHub上面(https://githu
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号