分类: web前端
日历callbackeventsfunctionjquerydate
目录
1、基本语法:
首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码。当然,这里的面向对象仅仅是指可以把整个fullcalendar理解为一个类,这个类里包括有很多的属性、方法、委托(函数回调)作为成员变量。通过为这些成员变量赋值,即可实例化出一个符合自己需求的fullcalendar实例出来,即最终在浏览器里渲染出的日历。换句话说,我们所做的绝大多数工作就是按照fullcalendar的语法约定去配置出一个符合我们需求的fullcalendar实例。除非对于极少的特殊需求,fullcalendar向我们提供的接口不足以满足,才会去修改fullcalendar本身的js文件。
作为一种JQUERY插件,可以把fullcalendar理解为向 jquery对象集里添加了一个日历相关的对象,这个对象里相关方法、属性、的调用方式,即为fullcalendar的基本语法。整个语法分为两种:
第一种和日历本身无关,仅仅是利用fullcalendar提供的方法来进行字符串和日期间的转换,形式如下:
$.fullCalendar.formatDate();
第二种则是与和配置fullcalendar实例相关的,这最终会影响到fullcalendar在浏览器里的渲染,形式如下$(‘#someId’) .fullCalendar(content);
$(‘#someId’)将得到一个jquery对象,其中someId为你希望渲染日历的元素id。重点是后面一部分.fullCalendar(content);
Content有三种形式:
①为属性赋值 {key:value,…}
$('#calendar').fullCalendar({
weekends: false // will hide Saturdays and Sundays
});
这里即得到一个fullcalendar实例,其中weekends属性为false,即月日历不会显示周末。
②方法调用'methodName','para'
$('#calendar').fullCalendar('next')
这里会调用fullcalendar实例的next方法,其结果是浏览器的日历向后翻一月(日)
③为方法回调赋值
$('#calendar').fullCalendar({
dayClick: function() { alert('a day has been clicked!'); }
});
这里是为日历控件的dayClick事件赋值为相应的匿名函数,其结果是日历的每日被点击时,会弹出对话框。
我想先有这样一种观念更便于后面的理解,需要渲染一个fullcalendar控件时,通常是直接在实例化一个fullcalendar时即完成它的绝大多数属性 和委托的赋值,如此即得到一个会被浏览器渲染成日历的fullcalendar对象(A),当这个对象已经被渲染后,如果需要动态的修改它的相关配置,可以通过$('#calendar').fullCalendar('option','aspectRatio', 1.8); 的形式去修改。
如果需要对象A发生某些变化,也可以调用A的某些方法,比如说翻页。
2、内容框架
整个fullcalendar由两部分组成
日历+事件
其中日历即为由js脚本在浏览器描绘出的日历控件,这一部分完全由js控制,和服务器无需相关联。
事件则是日历功能的扩展,可以把事件理解为一个个会议安排。这些会议安排通常是保存在服务器的,在每次页面加载时,fullcalendar得到会议安排的集合,然后按照其中的日期去把事件描绘到日历对应的地方。
3、知识点概要
余下详细的知识点均为fullcalendar官方文档的翻译和组合。每一部分均按照属性、方法、函数回调的顺序来组织。通常会有相关知识点的简介,对于比较复杂或者关键的点,会有相关联的代码作为事例。同样,这些事例也出之于fullcalendar官方文档。
以下是对这所有知识点的归纳和概览
日历部分:
视图:日历的不同的展现模式。当前共有5中视图
视图的通用配置:这一部分的配置通常可以对5中视图均有效。
视图对象:fullcalendar的视图Module
获取视图对象以及跳转到指定视图的方法
议程相关:即对议程视图模式下,相关细节的配置
日期相关:涉及到日历系统里日期的显示格式,日历加载的日期,以及获取相关日期或者日历改变日期的相关方法
时间和文本的自定义设置:涉及到自定义或者本地化的相关配置大多在这里完成
鼠标的相关事件捕获:比如鼠标单击到某个特殊地方(日历中的某一天等)等触发的方法在这里配置
选中元素的配置:这一部分是来配置当鼠标点击某一日历元素时,是否选中该元素以及与此相关的事件
事件部分如下:
事件Module包含的信息
事件的产生:包括事件源的管理和事件的管理
事件的描绘:把一个事件描绘到浏览器的整个过程包含在这里
拖拽事件:用鼠标拖拽以移动某个时间,这需要其他JQUERY ui插件的支持
从日历外拖拽事件到日历内以添加事件:对日历内拖拽事件的扩展
4、详细知识点
4.1、合法的视图
month - see example 月视图
basicWeek - see example 周视图(一周内事件和日期的集合)
basicDay - see example (一日内事件和日期的集合)
agendaWeek - see example (周日程表)
agendaDay - see example (日日程表)
4.2、视图的通用配置
header
头部显示的信息,分left , center, right三个部位
合法的属性值:title,prev,next,prevYear,nextYear,today, avaibleViewName
header: {
left: 'title',
center: 'prevYear,nextYear',
right: 'prev,today,next,agendaDay,month'
}
theme
当为true时,可以配合JQUERY-UI,配置日历的皮肤
buttonIcons:http://jqueryui.com/themeroller/
buttonIcons: {
prev: 'circle-triangle-w',
next: 'circle-triangle-e'
}
注意去掉.ui-icon-
firstDay:每周开始的日期:0为周日
isRTL:是否从右至左组织日历
weekends:是否显示周末
weekMode:周的显示模式:
fixed:每月始终显示6周
liquid:周数不定,每周的高度可变,整个日历高度不变
variable:周数不定,每周的高度固定,整个日历的高度可变
height整个日历的高度(包括header和content)
contentHeight内容高度:
aspectRatio宽和高的比例
$('#calendar').fullCalendar('option','aspectRatio', 1.8); 可以动态设置
viewDisplay (callback)函数回调,每次view显示时均会调用
function( view ) { }
View是view对象
windowResize (callback)函数回调,每次窗口大小改变时调用,
viewDisplay
render (method)立刻显示view
destroy (method)释放calendar,包括相关数据
defaultView:日历初始化时的视图,默认为month
4.3、视图对象viewObject
name
可用的5个视图名之一
title
视图部分的title 2012.9.1
start
当天view开始的第一天
end
visStart
Visible Start Day
visEnd
在相关方法回调中均会有次对象
4.4、获取视图对象
.fullCalendar( 'getView' )
切换视图
.fullCalendar( 'changeView', viewName )
4.5、议程相关——控制日程相关的视图的显示信息
allDaySlot是否显示全天日程
allDayText显示的文字
axisFormat日期显示的格式
slotMinutes间隔时间
defaultEventMinutes默认的事件持续事件
firstHour在日程view里可见的起始时间,可通过滚动条滚动到在此时间之前的时间
minTime整日日程的起始时间
maxTime整日日程的结束时间
4.6、日期相关
year日历加载时的年份
month日历加载时的月份(从0开始)
date日历加载时在月份的天数(对周视图和日视图有效)
prev (method)日历跳转到前一天
next (method)日历跳转到后一天
prevYear (method)日历跳转到前一年
nextYear (method)日历跳转到后一年
today (method)日历跳转到当前日期
gotoDate (method)日历跳转到指定日期
incrementDate (method)日历向前(向后)跳转一段时间
getDate (method)获取日历的当前日期 Date类型
4.7、时间和文本的自定义
timeFormat每个事件默认显示的时间格式
columnFormat每个视图列名显示的格式、
{ month: 'ddd', // Mon
week: 'ddd M/d', // Mon9/7
day: 'dddd M/d' // Monday9/7 }
titleFormat每个视图里title显示的格式
{ month: 'MMMM yyyy', // September 2009
week: "MMM d[ yyyy]{'—'[ MMM] d yyyy}", // Sep 7 - 13 2009
day: 'dddd, MMM d, yyyy'// Tuesday, Sep 8, 2009 }
buttonText视图里每个button显示的文字
{ prev: ' ◄ ', // left triangle
next:' ► ', // right triangle
prevYear:' << ', // <<
nextYear:' >> ', // >>
today: 'today',
month: 'month',
week: 'week',
day: 'day' }
monthNames月的全称
monthNamesShort月的简称
dayNames星期的全称
dayNamesShort星期的简称
4.8、相关点击事件
dayClick (callback)当某天被点击时触发
function( date, allDay, jsEvent, view ) { }
date:当前点击到的日期
allDay :是否是全天性的
jsEvent:底层的JS事件
view :当前的view对象
this关键字指代为
eventClick (callback)当一个事件给点击时触发
function( event, jsEvent, view ) { }
event :当前的event对象
jsEvent :底层的JS事件
view :当前的view
this:指代的 里的元素
eventMouseover (callback)鼠标滑动到事件上触发,同eventClick类似
eventMouseout (callback)鼠标离开到事件上触发,同eventClick类似
4.9、选中相关:当点击或者拖拽到相关位置时,非否选中对应元素
selectable是否选中对应元素
selectHelper
在日程表相关的view里,当选中对应时刻时,是否显示相关信息
unselectAuto
当点击页面日历以外的位置时,是否自动取消当前的选中
unselectCancel
指定哪些元素不会清空当前的选中,以JQUERY选择器的方式指定 '#someId'
select (callback)被选中时的函数回调
function( startDate, endDate, allDay, jsEvent, view )
unselect (callback)选中被取消时的回调
select (method)选中某个时间
.fullCalendar( 'select', startDate, endDate, allDay )
unselect (method)取消选中
.fullCalendar( 'unselect' )
4.10、Event相关
EventObject事件对象
id
可选,事件唯一标识,重复的事件具有相同的
title
必须,事件在日历上显示的title
allDay
可选,是否是整日事件
start
必须,事件的开始时间
end
可选,结束时间
url
可选,当指定后,事件被点击将打开对应url
className
指定事件的样式
editable
是否可拖拽
source
指向次event的eventsource对象
color
背景和边框颜色
backgroundColor
背景颜色
borderColor
边框颜色
textColor
文本颜色
EventSource Object
EVENTS:在日历界面里,参数event的对象:分array,json feed,function三种类型
Eventsource:
{
events: [
{ title: 'Event1',
start: '2011-04-04' },
{ title: 'Event2',
start: '2011-05-05' } // etc... ],
color: 'yellow', // anoption!
textColor: 'black' // an option!
}
eventsource可选的配置选项
className
指定事件的样式
editable
是否可拖拽
source
指向次event的eventsource对象
color
背景和边框颜色
backgroundColor
背景颜色
borderColor
边框颜色
textColor
文本颜色
events (asan array)数组形式组织的事件集
$('#calendar').fullCalendar({
events: [
{
title : 'event1',
start : '2010-01-01'
},
{
title : 'event2',
start : '2010-01-05',
end : '2010-01-07'
},
{
title : 'event3',
start : '2010-01-09 12:30:00',
allDay : false //will make the time show
}
]
});
events (asa json feed)JSON源方式获取的events
每次当view的时间改变时,均会获取json。其中start和end为对应view的start和end,插入_是默认不访问浏览器缓存。可通过cache:true来默认读取浏览器缓存
$('#calendar').fullCalendar({
events: '/myfeed.php'
});
会被转换为如下url请求
/myfeed.php?start=1262332800&end=1265011200&_=1263178646
events (asa function)
作为方法的形式获得event
$('#calendar').fullCalendar({
events: function(start,end, callback) {
$.ajax({
url:'myxmlfeed.php',
dataType: 'xml',
data: {
// ourhypothetical feed requires UNIX timestamps
start:Math.round(start.getTime() / 1000),
end: Math.round(end.getTime()/ 1000)
},
success:function(doc) {
var events =[];
$(doc).find('event').each(function() {
events.push({
title:$(this).attr('title'),
start:$(this).attr('start') // will be parsed
});
});
callback(events);
}
});
}
});
start和end同之前开始和结束时间(默认为-1970的毫秒)
callback为当获取到event后,会调用的改回调函数,把数据放入fullcalendar里的events里。
eventSources
可以放置多个eventSource(events)
$('#calendar').fullCalendar({
eventSources: [
'/feed1.php',
'/feed2.php'
]
});
allDayDefault
当event object里的allDay为指定时,其默认值
ignoreTimezone忽略timeZone
2008-11-05T08:15:30-05:00
startParam传递给服务器的start参数名
endParam同上
lazyFetching
当view改变时,是否从缓存信息获取event。比如从月视图切换到周视图,默认为是
loading (callback)function( isLoading, view )
当调用ajax获取event是触发。
updateEvent (method)
在客户端更新event并在页面上重新描绘
clientEvents (method)
获取客户端保存的所有events对象
.fullCalendar( 'clientEvents' [, idOrFilter ]) -> Array
removeEvents (method)
删除event并重新描绘
refetchEvents (method)
重新获取events并重新描绘
addEventSource (method)
添加eventSource,并立刻在页面上描绘
.fullCalendar( 'addEventSource', source )
removeEventSource (method)
同上
4.11、事件描绘(对应于整个callendar里的事件)
eventColor
eventBackgroundColor
eventBorderColor
eventTextColor
eventRender (callback)
当描绘事件时触发
function( event, element, view ) { }
event为改事件,element为用来渲染改事件的div元素
eventAfterRender (callback)
同上
renderEvent (method)
.fullCalendar( 'renderEvent', event [, stick ] )
rerenderEvents (method)
.fullCalendar( 'rerenderEvents' )
同refetchEvents
4.12、拖拽事件
需要添加JQUERY UIDraggable 插件,并把editable设置为true。相关属性和方法同事件类似
editable
Determines whether the events on the calendar can be modified.
disableDragging
Disables all event dragging, even when events are editable.
disableResizing
Disables all event resizing, even when events are editable.
dragRevertDuration
Time it takes for an event to revert to its original position afteran unsuccessful drag.
dragOpacity
The opacity of an event while it is being dragged.
eventDragStart (callback)
Triggered when event dragging begins.
eventDragStop (callback)
Triggered when event dragging stops.
eventDrop (callback)
Triggered when dragging stops and the event has moved to a differentday/time.
eventResizeStart (callback)
Triggered when event resizing begins.
eventResizeStop (callback)
Triggered when event resizing stops.
eventResize (callback)
Triggered when resizing stops and the event has changed in duration.
4.13、从日历外拖拽事件到日历中
额外需求:
①需要jquery-ui相关控件的支持jquery-ui-1.8.17.custom.min.js
②日历的dropple属性需设置为true
基本思路
①在日历胖构建好用来拖拽的元素
②设置相应div的drop操作
$('#external-events div.external-event').each(function() {
// create an Event Object
// it doesn't need to have a start or end
var eventObject = {
title: $.trim($(this).text()) // use the element's text as the eventtitle
};
// store the Event Object in the DOM element so we can get to itlater
$(this).data('eventObject', eventObject);
// make the event draggable using jQuery UI
$(this).draggable({
zIndex: 999,
revert: true, // willcause the event to go back to its
revertDuration: 0 // original position after the drag
});
});
③在日历中的drop回调中进行构造event并描绘
drop: function(date, allDay) { // this function is called whensomething is dropped
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
// we need to copy it, so that multiple events don't have areference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
// render the event on the calendar
// the last `true` argument determines if the event"sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events"list
$(this).remove();
}
}
4.14、日期转换工具
formatDate (function)
Formats a Date object into a string.
formatDates (function)
Formats a date range (two Date objects)into a string.
parseDate (function)
Parses a string into a Date object.
parseISO8601 (function)
Parses an ISO8601 string into a Dateobject.
你可能感兴趣的:(web前端,前台技术,fullcalendar,日历控件,框架,框架,前台技术,fullcalendar,日历控件,web前端)
Linux下QT开发的动态库界面弹出操作(SDL2)
13jjyao
QT类 qt 开发语言 sdl2 linux
需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口
DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理
STU学生网页设计
网页设计 期末网页作业 html静态网页 html5期末大作业 网页设计 web大作业
️精彩专栏推荐作者主页:【进入主页—获取更多源码】web前端期末大作业:【HTML5网页期末作业(1000套)】程序员有趣的告白方式:【HTML七夕情人节表白网页制作(110套)】文章目录二、网站介绍三、网站效果▶️1.视频演示2.图片演示四、网站代码HTML结构代码CSS样式代码五、更多源码二、网站介绍网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程
利用LangChain的StackExchange组件实现智能问答系统
nseejrukjhad
langchain microsoft 数据库 python
利用LangChain的StackExchange组件实现智能问答系统引言在当今的软件开发世界中,StackOverflow已经成为程序员解决问题的首选平台之一。而LangChain作为一个强大的AI应用开发框架,提供了StackExchange组件,使我们能够轻松地将StackOverflow的海量知识库集成到我们的应用中。本文将详细介绍如何使用LangChain的StackExchange组件
关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript
二挡起步
web前端期末大作业 javascript html css 旅游 风景
⛵源码获取文末联系✈Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业|游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作|HTML期末大学生网页设计作业,Web大学生网页HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScrip
HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动
二挡起步
web前端期末大作业 web设计网页规划与设计 html css javascript dreamweaver 前端
Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作HTML期末大学生网页设计作业HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScript:做与用户的交互行为文章目录前端学习路线
node.js学习
小猿L
node.js node.js 学习 vim
node.js学习实操及笔记温故node.js,node.js学习实操过程及笔记~node.js学习视频node.js官网node.js中文网实操笔记githubcsdn笔记为什么学node.js可以让别人访问我们编写的网页为后续的框架学习打下基础,三大框架vuereactangular离不开node.jsnode.js是什么官网:node.js是一个开源的、跨平台的运行JavaScript的运行
自我意识
徐立华
----读帕克.帕尔默《教学勇气》(P18----19)5.铸造我们的学科帕克.帕尔默说学科知识对我们的自身认同和外部世界有启发意义。学科会铸造我们。“在我们与学科的命题概念和学科的生活框架相遇之前,自我意识知识处于潜伏状态,通过回想学科是怎样唤醒自我意识,我们就可以找回教学心灵。”《教学勇气》(P18)我们的自我意识像冰山表面下无限延伸的冰层,常常处于潜伏状态。但是在我们对所教授的学科进行深入思
基于CODESYS的多轴运动控制程序框架:逻辑与运动控制分离,快速开发灵活操作
GPJnCrbBdl
python 开发语言
基于codesys开发的多轴运动控制程序框架,将逻辑与运动控制分离,将单轴控制封装成功能块,对该功能块的操作包含了所有的单轴控制(归零、点动、相对定位、绝对定位、设置当前位置、伺服模式切换等等)。程序框架由主程序按照状态调用分归零模式、手动模式、自动模式、故障模式,程序状态的跳转都已完成,只需要根据不同的工艺要求完成所需的动作即可。变量的声明、地址的规划都严格按照C++的标准定义,能帮助开发者快速
SpringBlade dict-biz/list 接口 SQL 注入漏洞
文章永久免费只为良心
oracle 数据库
SpringBladedict-biz/list接口SQL注入漏洞POC:构造请求包查看返回包你的网址/api/blade-system/dict-biz/list?updatexml(1,concat(0x7e,md5(1),0x7e),1)=1漏洞概述在SpringBlade框架中,如果dict-biz/list接口的后台处理逻辑没有正确地对用户输入进行过滤或参数化查询(PreparedSta
insert into select 主键自增_mybatis拦截器实现主键自动生成
weixin_39521651
insert into select 主键自增 mybatis delete返回值 mybatis insert返回主键 mybatis insert返回对象 mybatis plus insert返回主键 mybatis plus 插入生成id
前言前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键。于是我就问他,那你们数据库表设置主键自动递增不就得了。他的回答是他们项目目前的id都是采用雪花算法来生成,因此为了项目稳定性,不会切换id的生成方式。朋友问我有没有什么实现思路,他们公司的orm框架是mybatis,我就建议他说,不然让你老大把mybatis切换成mybatis-plus。mybat
ArrayList 源码解析
程序猿进阶
Java基础 ArrayList List java 面试 性能优化 架构设计 idea
ArrayList是Java集合框架中的一个动态数组实现,提供了可变大小的数组功能。它继承自AbstractList并实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量capacity,表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添
Java爬虫框架(一)--架构设计
狼图腾-狼之传说
java 框架 java 任务 html解析器 存储 电子商务
一、架构图那里搜网络爬虫框架主要针对电子商务网站进行数据爬取,分析,存储,索引。爬虫:爬虫负责爬取,解析,处理电子商务网站的网页的内容数据库:存储商品信息索引:商品的全文搜索索引Task队列:需要爬取的网页列表Visited表:已经爬取过的网页列表爬虫监控平台:web平台可以启动,停止爬虫,管理爬虫,task队列,visited表。二、爬虫1.流程1)Scheduler启动爬虫器,TaskMast
Java:爬虫框架
dingcho
Java java 爬虫
一、ApacheNutch2【参考地址】Nutch是一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch致力于让每个人能很容易,同时花费很少就可以配置世界一流的Web搜索引擎.为了完成这一宏伟的目标,Nutch必须能够做到:每个月取几十亿网页为这些网页维护一个索引对索引文件进行每秒上千次的搜索提供高质量的搜索结果简单来说Nutch支持分
Spring MVC 全面指南:从入门到精通的详细解析
一杯梅子酱
技术栈学习 spring mvc java
引言:SpringMVC,作为Spring框架的一个重要模块,为构建Web应用提供了强大的功能和灵活性。无论是初学者还是有一定经验的开发者,掌握SpringMVC都将显著提升你的Web开发技能。本文旨在为初学者提供一个全面且易于理解的学习路径,通过详细的知识点分析和实际案例,帮助你快速上手SpringMVC,让学习过程既深刻又高效。一、SpringMVC简介1.1什么是SpringMVC?Spri
WebMagic:强大的Java爬虫框架解析与实战
Aaron_945
Java java 爬虫 开发语言
文章目录引言官网链接WebMagic原理概述基础使用1.添加依赖2.编写PageProcessor高级使用1.自定义Pipeline2.分布式抓取优点结论引言在大数据时代,网络爬虫作为数据收集的重要工具,扮演着不可或缺的角色。Java作为一门广泛使用的编程语言,在爬虫开发领域也有其独特的优势。WebMagic是一个开源的Java爬虫框架,它提供了简单灵活的API,支持多线程、分布式抓取,以及丰富的
博客网站制作教程
2401_85194651
java maven
首先就是技术框架:后端:Java+SpringBoot数据库:MySQL前端:Vue.js数据库连接:JPA(JavaPersistenceAPI)1.项目结构blog-app/├──backend/│├──src/main/java/com/example/blogapp/││├──BlogApplication.java││├──config/│││└──DatabaseConfig.java
00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列 爬虫 java python
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
今天是总结
薛帅
今天来个最后一天的总结。为什么要学习写作技巧呢?就如同建房子,如果想要住的安全、舒服,我们要先打地基,建房子的框架,这样才能随意的装修。那么我们要怎么建好才能建好写作的地基呢?1走直路,少弯路01利他:能够给别人带来价值。02吸引:吸住读者的眼球。03打动:打动人心,引起共鸣。04说服:用数据说话。05刻意:通过有意识的训练。06修改:好的文章至上修改10遍。07模仿:10万+的文章必有成功的道理
Python 课程10-单元测试
可愛小吉
Python教學 python 单元测试 开发语言 TDD unittest
前言在现代软件开发中,单元测试已成为一种必不可少的实践。通过测试,我们可以确保每个功能模块在开发和修改过程中按预期工作,从而减少软件缺陷,提高代码质量。而测试驱动开发(TDD)则进一步将测试作为开发的核心部分,先编写测试,再编写代码,以测试为指导开发出更稳定、更可靠的代码。Python提供了强大的unittest模块,它是Python标准库的一部分,专门用于编写和执行单元测试。与其他测试框架相比,
MyBatis 详解
阿贾克斯的黎明
java mybatis
目录目录一、MyBatis是什么二、为什么使用MyBatis(一)灵活性高(二)性能优化(三)易于维护三、怎么用MyBatis(一)添加依赖(二)配置MyBatis(三)创建实体类和接口(四)使用MyBatis一、MyBatis是什么MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。它可以通过简
【自动化测试】UI自动化的分类、如何选择合适的自动化测试工具以及其中appium的设计理念、引擎和引擎如何工作
Lossya
ui 自动化 测试工具 自动化测试 appium
引言UI自动化测试主要针对软件的用户界面进行测试,以确保用户界面元素的交互和功能符合预期文章目录引言一、UI自动化的分类1.1基于代码的自动化测试1.2基于录制/回放的自动化测试1.3基于框架的自动化测试1.4按测试对象分类1.5按测试层次分类1.6按测试执行方式分类1.7按测试目的分类二、如何选择合适的自动化测试工具2.1项目需求分析2.2工具特性评估2.3成本考虑2.4团队技能2.5试用和评估
python爬取微信小程序数据,python爬取小程序数据
2301_81900439
前端
大家好,小编来为大家解答以下问题,python爬取微信小程序数据,python爬取小程序数据,现在让我们一起来看看吧!Python爬虫系列之微信小程序实战基于Scrapy爬虫框架实现对微信小程序数据的爬取首先,你得需要安装抓包工具,这里推荐使用Charles,至于怎么使用后期有时间我会出一个事例最重要的步骤之一就是分析接口,理清楚每一个接口功能,然后连接起来形成接口串思路,再通过Spider的回调
字节二面
Redstone Monstrosity
前端 面试
1.假设你是正在面试前端开发工程师的候选人,面试官让你详细说出你上一段实习过程的收获和感悟。在上一段实习过程中,我获得了宝贵的实践经验和深刻的行业洞察,以下是我的主要收获和感悟:一、专业技能提升框架应用熟练度:通过实际项目,我深入掌握了React、Vue等前端框架的使用,不仅提升了编码效率,还学会了如何根据项目需求选择合适的框架。问题解决能力:在实习期间,我遇到了许多预料之外的技术难题。通过查阅文
【Golang】实现 Excel 文件下载功能
RumIV
Golang golang excel 开发语言
在当今的网络应用开发中,提供数据导出功能是一项常见的需求。Excel作为一种广泛使用的电子表格格式,通常是数据导出的首选格式之一。在本教程中,我们将学习如何使用Go语言和GinWeb框架来创建一个Excel文件,并允许用户通过HTTP请求下载该文件。准备工作在开始之前,请确保您的开发环境中已经安装了Go语言和相关的开发工具。此外,您还需要安装GinWeb框架和excelize包,这两个包都将用于我
golang 实现文件上传下载
wangwei830
go
Gin框架上传下载上传(支持批量上传)httpRouter.POST("/upload",func(ctx*gin.Context){forms,err:=ctx.MultipartForm()iferr!=nil{fmt.Println("error",err)}files:=forms.File["fileName"]for_,v:=rangefiles{iferr:=ctx.SaveUplo
【Java】已解决:org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException
屿小夏
java 开发语言
文章目录一、分析问题背景问题背景描述出现问题的场景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项已解决:org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException在使用Spring框架进行开发时,数据源的配置和使用是非常关键的一环。然而,有时候我们可能会遇到org.springframewo
SpringBoot和SpringMVC是什么关系?SpringBoot替代SpringMVC了吗?
瑞金彭于晏
spring boot 后端 java MVC spring 数据库
SpringBoot和SpringMVC都是SpringFramework生态系统中的一部分,但它们各自扮演着不同的角色和提供不同的功能集。理解它们之间的关系,首先需要了解SpringFramework本身。SpringFrameworkSpringFramework是一个全面的、开源的应用程序开发框架,它提供了广泛的功能来支持企业应用开发的几乎所有方面。SpringFramework的核心特性之
探索Zebra4J:构建高效企业级Web应用的微服务框架
叶准鑫Natalie
探索Zebra4J:构建高效企业级Web应用的微服务框架ZebraZebra4J/Zebra4Js基于SpringBoot的JavaWeb/Nodejs框架项目地址:https://gitcode.com/gh_mirrors/zebra/Zebra项目介绍在当今快速发展的技术环境中,构建高效、可扩展的企业级Web应用是每个开发团队的追求。Zebra4J作为一款基于SpringBoot的全新微服务
Hadoop
傲雪凌霜,松柏长青
后端 大数据 hadoop 大数据 分布式
ApacheHadoop是一个开源的分布式计算框架,主要用于处理海量数据集。它具有高度的可扩展性、容错性和高效的分布式存储与计算能力。Hadoop核心由四个主要模块组成,分别是HDFS(分布式文件系统)、MapReduce(分布式计算框架)、YARN(资源管理)和HadoopCommon(公共工具和库)。1.HDFS(HadoopDistributedFileSystem)HDFS是Hadoop生
Python精选200Tips:121-125
AnFany
Python200+Tips python 开发语言
Spendyourtimeonself-improvement121Requests-简化的HTTP请求处理发送GET请求发送POST请求发送PUT请求发送DELETE请求会话管理处理超时文件上传122BeautifulSoup-网页解析和抓取解析HTML和XML文档查找单个标签查找多个标签使用CSS选择器查找标签提取文本修改文档内容删除标签处理XML文档123Scrapy-强大的网络爬虫框架示例
log4j对象改变日志级别
3213213333332132
java log4j level log4j对象名称 日志级别
log4j对象改变日志级别可批量的改变所有级别,或是根据条件改变日志级别。
log4j配置文件:
log4j.rootLogger=ERROR,FILE,CONSOLE,EXECPTION
#log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE=org.apache.l
elk+redis 搭建nginx日志分析平台
ronin47
elasticsearch kibana logstash
elk+redis 搭建nginx日志分析平台
logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队 列,redis的l
Yii2设置时区
dcj3sjt126com
PHP timezone yii2
时区这东西,在开发的时候,你说重要吧,也还好,毕竟没它也能正常运行,你说不重要吧,那就纠结了。特别是linux系统,都TMD差上几小时,你能不痛苦吗?win还好一点。有一些常规方法,是大家目前都在采用的1、php.ini中的设置,这个就不谈了,2、程序中公用文件里设置,date_default_timezone_set一下时区3、或者。。。自己写时间处理函数,在遇到时间的时候,用这个函数处理(比较
js实现前台动态添加文本框,后台获取文本框内容
171815164
文本框
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w
持续集成工具
g21121
持续集成
持续集成是什么?我们为什么需要持续集成?持续集成带来的好处是什么?什么样的项目需要持续集成?... 持续集成(Continuous integration ,简称CI),所谓集成可以理解为将互相依赖的工程或模块合并成一个能单独运行
数据结构哈希表(hash)总结
永夜-极光
数据结构
1.什么是hash
来源于百度百科:
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
乱七八糟
程序员是怎么炼成的
eclipse中的jvm字节码查看插件地址:
http://andrei.gmxhome.de/eclipse/
安装该地址的outline 插件 后重启,打开window下的view下的bytecode视图
http://andrei.gmxhome.de/eclipse/
jvm博客:
http://yunshen0909.iteye.com/blog/2
职场人伤害了“上司” 怎样弥补
aijuans
职场
由于工作中的失误,或者平时不注意自己的言行“伤害”、“得罪”了自己的上司,怎么办呢?
在职业生涯中这种问题尽量不要发生。下面提供了一些解决问题的建议:
一、利用一些轻松的场合表示对他的尊重
即使是开明的上司也很注重自己的权威,都希望得到下属的尊重,所以当你与上司冲突后,最好让不愉快成为过去,你不妨在一些轻松的场合,比如会餐、联谊活动等,向上司问个好,敬下酒,表示你对对方的尊重,
深入浅出url编码
antonyup_2006
应用服务器 浏览器 servlet weblogic IE
出处:http://blog.csdn.net/yzhz 杨争
http://blog.csdn.net/yzhz/archive/2007/07/03/1676796.aspx
一、问题:
编码问题是JAVA初学者在web开发过程中经常会遇到问题,网上也有大量相关的
建表后创建表的约束关系和增加表的字段
百合不是茶
标的约束关系 增加表的字段
下面所有的操作都是在表建立后操作的,主要目的就是熟悉sql的约束,约束语句的万能公式
1,增加字段(student表中增加 姓名字段)
alter table 增加字段的表名 add 增加的字段名 增加字段的数据类型
alter table student add name varchar2(10);
&nb
Uploadify 3.2 参数属性、事件、方法函数详解
bijian1013
JavaScript uploadify
一.属性
属性名称
默认值
说明
auto
true
设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传。
buttonClass
”
按钮样式
buttonCursor
‘hand’
鼠标指针悬停在按钮上的样子
buttonImage
null
浏览按钮的图片的路
精通Oracle10编程SQL(16)使用LOB对象
bijian1013
oracle 数据库 plsql
/*
*使用LOB对象
*/
--LOB(Large Object)是专门用于处理大对象的一种数据类型,其所存放的数据长度可以达到4G字节
--CLOB/NCLOB用于存储大批量字符数据,BLOB用于存储大批量二进制数据,而BFILE则存储着指向OS文件的指针
/*
*综合实例
*/
--建立表空间
--#指定区尺寸为128k,如不指定,区尺寸默认为64k
CR
【Resin一】Resin服务器部署web应用
bit1129
resin
工作中,在Resin服务器上部署web应用,通常有如下三种方式:
配置多个web-app
配置多个http id
为每个应用配置一个propeties、xml以及sh脚本文件
配置多个web-app
在resin.xml中,可以为一个host配置多个web-app
<cluster id="app&q
red5简介及基础知识
白糖_
基础
简介
Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、Remoting等功能。用Red5替换FMS后,客户端不用更改可正
angular.fromJson
boyitech
AngularJS AngularJS 官方API AngularJS API
angular.fromJson 描述: 把Json字符串转为对象 使用方法: angular.fromJson(json); 参数详解: Param Type Details json
string
JSON 字符串 返回值: 对象, 数组, 字符串 或者是一个数字 示例:
<!DOCTYPE HTML>
<h
java-颠倒一个句子中的词的顺序。比如: I am a student颠倒后变成:student a am I
bylijinnan
java
public class ReverseWords {
/**
* 题目:颠倒一个句子中的词的顺序。比如: I am a student颠倒后变成:student a am I.词以空格分隔。
* 要求:
* 1.实现速度最快,移动最少
* 2.不能使用String的方法如split,indexOf等等。
* 解答:两次翻转。
*/
publ
web实时通讯
Chen.H
Web 浏览器 socket 脚本
关于web实时通讯,做一些监控软件。
由web服务器组件从消息服务器订阅实时数据,并建立消息服务器到所述web服务器之间的连接,web浏览器利用从所述web服务器下载到web页面的客户端代理与web服务器组件之间的socket连接,建立web浏览器与web服务器之间的持久连接;利用所述客户端代理与web浏览器页面之间的信息交互实现页面本地更新,建立一条从消息服务器到web浏览器页面之间的消息通路
[基因与生物]远古生物的基因可以嫁接到现代生物基因组中吗?
comsci
生物
大家仅仅把我说的事情当作一个IT行业的笑话来听吧..没有其它更多的意思
如果我们把大自然看成是一位伟大的程序员,专门为地球上的生态系统编制基因代码,并创造出各种不同的生物来,那么6500万年前的程序员开发的代码,是否兼容现代派的程序员的代码和架构呢?
oracle 外部表
daizj
oracle 外部表 external tables
oracle外部表是只允许只读访问,不能进行DML操作,不能创建索引,可以对外部表进行的查询,连接,排序,创建视图和创建同义词操作。
you can select, join, or sort external table data. You can also create views and synonyms for external tables. Ho
aop相关的概念及配置
daysinsun
AOP
切面(Aspect):
通常在目标方法执行前后需要执行的方法(如事务、日志、权限),这些方法我们封装到一个类里面,这个类就叫切面。
连接点(joinpoint)
spring里面的连接点指需要切入的方法,通常这个joinpoint可以作为一个参数传入到切面的方法里面(非常有用的一个东西)。
通知(Advice)
通知就是切面里面方法的具体实现,分为前置、后置、最终、异常环
初一上学期难记忆单词背诵第二课
dcj3sjt126com
english word
middle 中间的,中级的
well 喔,那么;好吧
phone 电话,电话机
policeman 警察
ask 问
take 拿到;带到
address 地址
glad 高兴的,乐意的
why 为什么
China 中国
family 家庭
grandmother (外)祖母
grandfather (外)祖父
wife 妻子
husband 丈夫
da
Linux日志分析常用命令
dcj3sjt126com
linux log
1.查看文件内容
cat
-n 显示行号 2.分页显示
more
Enter 显示下一行
空格 显示下一页
F 显示下一屏
B 显示上一屏
less
/get 查询"get"字符串并高亮显示 3.显示文件尾
tail
-f 不退出持续显示
-n 显示文件最后n行 4.显示头文件
head
-n 显示文件开始n行 5.内容排序
sort
-n 按照
JSONP 原理分析
fantasy2005
JavaScript jsonp jsonp 跨域
转自 http://www.nowamagic.net/librarys/veda/detail/224
JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的
使用connect by进行级联查询
234390216
oracle 查询 父子 Connect by 级联
使用connect by进行级联查询
connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点。
来看一个示例,现假设我们拥有一个菜单表t_menu,其中只有三个字段:
一个不错的能将HTML表格导出为excel,pdf等的jquery插件
jackyrong
jquery插件
发现一个老外写的不错的jquery插件,可以实现将HTML
表格导出为excel,pdf等格式,
地址在:
https://github.com/kayalshri/
下面看个例子,实现导出表格到excel,pdf
<html>
<head>
<title>Export html table to excel an
UI设计中我们为什么需要设计动效
lampcy
UI UI设计
关于Unity3D中的Shader的知识
首先先解释下Unity3D的Shader,Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微软的FX文件或者NVIDIA的CgFX有些类似。传统意义上的vertex shader和pixel shader还是使用标准的Cg/HLSL 编程语言编写的。因此Unity文档里面的Shader,都是指用ShaderLab编写的代码,
如何禁止页面缓存
nannan408
html jsp cache
禁止页面使用缓存~
------------------------------------------------
jsp:页面no cache:
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cach
以代码的方式管理quartz定时任务的暂停、重启、删除、添加等
Everyday都不同
定时任务管理 spring-quartz
【前言】在项目的管理功能中,对定时任务的管理有时会很常见。因为我们不能指望只在配置文件中配置好定时任务就行了,因为如果要控制定时任务的 “暂停” 呢?暂停之后又要在某个时间点 “重启” 该定时任务呢?或者说直接 “删除” 该定时任务呢?要改变某定时任务的触发时间呢? “添加” 一个定时任务对于系统的使用者而言,是不太现实的,因为一个定时任务的处理逻辑他是不
EXT实例
tntxia
ext
(1) 增加一个按钮
JSP:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
Stri
数学学习在计算机研究领域的作用和重要性
xjnine
Math
最近一直有师弟师妹和朋友问我数学和研究的关系,研一要去学什么数学课。毕竟在清华,衡量一个研究生最重要的指标之一就是paper,而没有数学,是肯定上不了世界顶级的期刊和会议的,这在计算机学界尤其重要!你会发现,不论哪个领域有价值的东西,都一定离不开数学!在这样一个信息时代,当google已经让世界没有秘密的时候,一种卓越的数学思维,绝对可以成为你的核心竞争力. 无奈本人实在见地