1.页面的跳转携带参数的问题
我的页面很多都会进行页面的跳转,而下一个页面的信息都是跟上页面相关联的,及时我跳转的页面所需要的信息,在跳转前的页面都是存在的,所以我第一个想的方法就是在跳转路由的时候,通过传参的方式,进行数据的传递,所以我是用了location中的state来存储我传的数据.
const data=record;
const path = {
pathname:'/person/releaseDetial',
state:{data},
这样传递的数据,我直接在新的页面通过this.props.history.location中把他取出来,这样传递数据,虽然确实可以在新的页面拿到并且进行渲染,但是问题是,如果进行刷新,我的数据将会丢失,只能返回上一页,重新进入.所以这里的修改,采用拼接URL的方式.因为刷新不会改变的是路由的地址,所以我们采用跳转路由通过拼接URL的方式,然后通过解析路由,在新页面进行数据的请求.
const {id}=record;
than.props.dispatch(routerRedux.push({
pathname:`/person/druginfo/edit/${id}`,
}))
router.js里面配置路由使这么写
'/person/druginfo/:type/:id':{
component:dynamicWrapper(app, ['personrelease'], ()=>import('../routes/Person/PersonRelease/ReleaseInfo')), },
在新的页面进行解析路由,拿到我们需要的id,然后在本页面进行数据请求
const pathToRegexp=require('path-to-regexp');
const match=pathToRegexp('/person/druginfo/:type/:id').exec(this.props.history.location.pathname)
this.props.dispatch({
type:'persondrug/getBase',
payload:{idCard:match[2],
},
});
2.父子组件之间的信息交流
子调父
父组件一般是向子组件传递数据,然后子组件拿到数据进行自己页面的一个渲染,但是更多时候,我们需要将一些函数一起传给子组件,比如:弹出一个Modal进行数据的填写,然后关闭Model的这个操作我们需要父组件来控制,但是这个确定按钮又是在子组件里面.这时候我们就需要将此类的函数向子组件传递.还有一种函数叫做回调函数,父组件什么时候需要传递回调函数给子组件呢,当父组件需要子组件的一些数据的时候,比如我们填好数据,点击确定的时候将填写好的数据返回给父组件,最终由父组件向后台发送请求.
父控子
首先得明确一个问题,作为子组件一般我们不会再给他绑定model,因为我们遵守React的一个思想,就是一个Container,其余都是用作展示组件的component。而所谓的展示组件,就是他只接受数据和函数,而不进行相关的处理
① 父组件如何给子组件传值和函数
②子组件如何返回数据给父组件
③如果我需要通过父组件来控制子组件的某些功能,怎么才能使用子组件的函数
父传子代码如下
在父组件我们要给子组件传递一个函数,用ref来绑定子组件
parentprops:{
title:'新增其他人员',
isVisible:false,
list:{},
name:'',
handleCancel:()=>
{
this.props.dispatch({
type:'otherpeople/changeVisibal',
payload:{isVisible:false},
})
},
onRef:(ref)=>{
this.ModalForm=ref
},
seachIdCard:(idCard)=>
{
this.props.dispatch({
type:'otherpeople/getBase',
payload:{
idCard,
},
});
},
onRef :(ref) => {
this.ModalForm = ref
},
然后在子组建的componentDidMount里面绑定this
componentDidMount(){
this.props.parentprops.onRef(this)
}
然后就在父组件里调用子组件的函数
用法如下:
this.ModalForm.check()
3异步加载的antd Tree组件,设置了 defaultExpandAll 为true但是不起作用
应该是类似value和defaultValue的相似问题,而这个里defaultExpandAllRows
就是像defaultValue那样 只在第一次渲染的时候起作用
而很多时候我们的数据初始是空的
4.DatePick
// 限制可选日期范围为,今天以前的日期不可选(今天仍可选)
disabledDate={
function disabledDate(current) {
// Can not select days before today
return current && current.isBefore(moment(Date.now()).add(-1,'day'));
}
}
开始日期,结束日期
style={{width:'100%' }} format="YYYY-MM-DD"
disabledDate={currentDate =>
getFieldValue('validToDate') &&
moment(getFieldValue('validToDate')).isBefore(currentDate,'day')
}/>
style={{width:'100%' }} format={dateFormat} disabledDate={currentDate =>
getFieldValue('validFromDate') &&
moment(getFieldValue('validFromDate')).isAfter(currentDate,'day')
}/>
5.关于回传数据(lov,select等等组件)
const {form } =this.props;
从lov的点击事件获取数据后如要放到表单中,某些字段需要初始化一下(getFieldDecorator)再setFieldsValue,否则会报警告
setFieldsValue
if (data) {
form.getFieldDecorator('materialId');
form.setFieldsValue({
nameZh: data.nameZh,
nameEn: data.nameEn,
materialTypeCode: data.materialTypeCode,
materialId: data.materialId,
});
}
6.Modal中的 initialValue
1.当我们第一次点开Modal的时候, FormItem会得到一个initialValue,但是这个值只在组件挂载的时候执行了一次, 当我们再次打开Modal窗口的时候并不会更新。
好了发现问题所在了, 接下来就是解决了~
解决方法:
Modal窗口我们都有应用一个Visible来控制是否显示, 我们只要利用这个值得变化就可以实现Modal组件的重新挂载了。
{
Visible&&
}
7.Table组件rowSelection方法
在
组件中有 rowSelection={rowSelection} 方法,可以让Table的第一列成为联动的选择框。
API中说到通过 rowSelection.selectedRowKeys 来控制选中项。比较坑的是,selectedRowKeys 控制的只是dataSource当前的顺序编号。
一定要加上rowKey={record => record.id},唯一标识每一行的字段(可组合),且 selectedRowKeys 存的就是id才能正常显示勾选状态。后来经过多次调试发现很多BUG都跟一个参数有关,不然会导致联动的选择框状态异常。
onSelectChange(selectedRowKeys,selectedRows) {
const {handelSelectRow}=this.props;
handelSelectRow(selectedRows);
this.setState({
selectedRowKeys:selectedRows.map(r=>r.num),
});
}
rowSelection={{
selectedRowKeys,
onChange:this.onSelectChange,
}}
columns={columns}
dataSource={dataSource}
bordered
loading={loading}
scroll={{x:1600}}
pagination={pagination}
onChange={page=>onSearch(page)}
rowKey="num"
8.select下拉选择器点击时带出多个数据
通常的select选择器会点击函数onSelect上只会带出key和value,当是由于客户需求,点击时需要带出其他数据。
我用dataRef={数据集合}把数据放到节点上。很多其他类似的情况都可以这么干。
queryFuzzyData({requestUrl,data}).then(result=>{
if(currentValue===value&&result) {
constres=[];
result.content.forEach(r=>{
res.push({
materialId:r.materialId,
nameZh:r.nameZh,
materialTypeCode:r.materialTypeCode,
salesUnit:r.packSize,
});
});
callback(res);
}
});
const options=data.map(d=>{d.nameZh});
showSearch
value={value}
defaultActiveFirstOption={false}
showArrow={showArrow}
filterOption={filterOption}
onSearch={this.handleSearch}
onChange={this.handleChange}
onSelect={onSelect}
notFoundContent={null}
>
{options}
handelSelect(data,option) {
const{form}=this.props;
const{dataref}=option.props;
if(dataref) {
form.getFieldDecorator('materialId');
form.setFieldsValue({
nameZh:dataref.nameZh,
materialTypeCode:dataref.materialTypeCode,
materialId:dataref.materialId,
salesUnit:dataref.salesUnit,
skuNum:dataref.skuNum,
});
}
}
9.正确使用setState
react官方文档中这样介绍setState的
setState() does not immediately mutate this.state but creates a pending state transition. Accessing this.state after calling this method can potentially return the existing value.
setState不会立即修改this.state,也就是说我们在调用setState的后,立即访问this.state是不能取得最新的this.state的值的。这样在一些特殊需求的时候可能会出现问题。但是我们可以通过使用setState回调函数的形式来使下面的代码拿到最新的this.state的值。
updateState({target}) {
this.setState(prevState=>{
const updatedUser={...prevState.user, [target.name]:target.value};// 使用先前的state来构建新的state的值
doSomething(updatedUser);
return{user:updatedUser};
});
}
10.React-router-dom 路由切换时,如何触发 componentDidMount?
描述:
在react 项目中我们获取远程数据总是会放在 componentDidMount 里面做的。但是这样的话只有在组件初始化的时候才会调用。
而有些路由类似于:
然后我们有一些 用于跳转的
。。。componentDidMount(){const{ match,handleAjaxItem } =this.props; handleAjaxItem(match.params.id); } render(){const{ item } =this.props;return(
) }
首次进入页面例如 detail/123 的时候是没问题,但往后切换到 detail/456 ,就不再走componentDidMount 了
解决方案有两个:
1.componentWillReceiveProps,每次在这个函数做this.props和nextProps的相等判断然后就可以调用想要调用的方法啦,但是(好像官网不推荐这么干了)
2.问题的本质是为我们这两个路由页面对应的都是一个detail组件,只要用key将组件加以区分,这样react 就会知道这不是‘同一个组件’,于是会重新初始化,componentDidMount当然会再走一遍。我的方法是用函数把组件包装一下
例如
// 这是正常的导出组件
exportdefaultDetail;
// 用函数包装一下变成这样
exportdefaultfunction(props) {
return
}
你可能感兴趣的:(使用react开发的经验总结(持续更新))
TCP/IP协议族
dlz0836
网络 tcp/ip 网络协议
理解常见的网络协议,特别是TCP/IP协议族,对于网络通信的深入学习至关重要。TCP/IP协议族是支撑互联网通信的基础,涉及一系列协议来保证数据在网络上的正确传输。下面,我将对TCP/IP协议的工作原理进行深入浅出的讲解,分为多个部分来解释它的主要协议及其作用。一、TCP/IP协议族概述TCP/IP(TransmissionControlProtocol/InternetProtocol)是一个协
openwrt配置strongswan对接hillstone ipsec的笔记
d9394952
openwrt openwrt ipsec strongswan
一、主要参考资料:https://openwrt.org/docs/guide-user/services//ipsec/strongswan/roadwarriorhttps://openwrt.org/docs/guide-user/services//ipsec/strongswan/basichttps://openwrt.org/docs/guide-user/services//ips
Linux 自旋锁
不悔哥
linux 网络 tcp/ip c语言 智能路由器
当内核发生访问资源冲突的时候,可以有两种锁解决方案:1.原地等待2.挂起当前进程,调度其它进程执行spinklock是内核中提供的一种比较常见的锁机制,自旋锁是“原地等待”的方式解决资源冲突的,即,一个线城获取看一个自旋锁后,另外一个线程期望获取该自旋锁,获取不到,只能够原地“打转”(忙等待)。由于自旋锁的这个忙等待的特性,注定了它的使用场景的限制-------自旋锁不应该被长时间的持有(消耗CP
Java web 富文本内容生成转为word格式并导出下载
摘星喵Pro
java web 编程技巧 java 前端 servlet
Javaweb富文本内容生成转为word格式并导出下载最近思路,按标签逐一解析,实现复杂一点但是完美解决问题:https://blog.csdn.net/a2272062968/article/details/126227076思路:Word是完全支持html标签的,但是富文本内容并不是完整的html代码,需要先补全html标签,然后转码输出问题:虽然导出worddoc但是事件内容流还是htm,只
Vue学习第31天——编程式路由导航5种方法详解及案例练习(与声明式路由导航对比)
离奇6厘米
vue 学习 javascript vue
目录一、编程式路由导航1、概念2、理解3、用法二、编程式路由导航的5种方法1、push2、replace3、forward4、back5、go三、案例练习四、编程式路由导航与声明式路由导航对比一、编程式路由导航1、概念除了使用创建a标签来定义导航链接,我们还可以借助router的实例方法,通过编写代码来实现。2、理解不借助实现路由跳转3、用法在vue组件中,可以通过$router访问路由实例,因此
【计算机网络】NAT应用
酱学编程
计算机网络 计算机网络 网络 智能路由器
NAT(NetworkAddressTranslation)的定义:NAT(NetworkAddressTranslation)的定义:NAT是一种网络技术,用于在IP数据包通过路由器或防火墙时修改其源IP地址或目的IP地址。主要目的是解决IP地址短缺问题,同时也能为网络提供一定程度的安全保护。NAT的主要功能和作用:地址转换源地址转换****(SNAT):iptables-tnat-APOSTR
《Buildozer打包实战指南》第五节 在安卓模拟器和真机上运行apk文件并查看日志
la_vie_est_belle
buildozer python打包apk python打包安卓 安卓模拟器夜神 python
目录5.1在安卓模拟器上运行apk文件并查看日志5.2在真机上运行并查看日志5.3查看apk包内日志成功打包出apk文件并不代表真正成功,只有apk文件成功运行没有报错才算是。在本节,笔者会带大家了解如何将apk文件运行于安卓模拟器和真机上并查看运行日志。5.1在安卓模拟器上运行apk文件并查看日志笔者用的是夜神模拟器,读者可以去官网上下载。安装步骤很简单,笔者这里就不再赘述。安装完毕后打开模拟器
自定义数据集使用scikit-learn中的包实现线性回归方法对其进行拟合
灵封~
scikit-learn 线性回归 python
一、导入必要的库importpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimportmean_squared_error,r2_score二、加载自定义数据集#创建自定义数据集#假设我们有一个简单
使用scikit-learn中的KNN包实现对鸢尾花数据集的预测。
灵封~
scikit-learn 机器学习 人工智能
导入必要的库和数据集#导入鸢尾花数据集fromsklearn.datasetsimportload_iris#数据化可视包importpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportMinMaxScaler,StandardScalerfromsklearn.neig
vue3底层原理和性能优化
Vue3在底层原理和性能优化方面做了许多改进,以下是一些主要的优化点和原理:虚拟DOM的改进静态树提升:Vue3能够检测到静态组件(即不依赖响应式数据的组件)并将其提升到渲染函数之外,从而减少不必要的重渲染。静态属性提升:对于静态属性,Vue3也会将其提升,避免每次渲染时重新创建这些属性。响应式系统的重构Proxy-based响应式:Vue3使用了ES6的Proxy对象来实现响应式系统,相比Vue
HTML+CSS初学 (day3)
灵封~
html 前端 css
HTML,全称为超文本标记语言(HyperTextMarkupLanguage),是一种用于创建网页的标准标记语言。HTML是构建Web页面的基础,它使用一系列称为标签的关键字来定义页面的结构。一、HTML的基本概念定义:HTML通过标签来描述网页中的各个元素,如标题、段落、图片、链接等。这些标签告诉浏览器如何显示内容,包括文字、图片、视频等。作用:定义网页的结构和内容,使网页内容能够按照预定的格
编程式路由导航的三种方法
小野晨曦
前端 javascript 开发语言
什么是编程式路由导航?编程式路由导航其实就是脱离实现路由跳转。//创建一个路由器,并暴露出去//第一步:引入createRouterimport{createRouter,createWebHistory,createWebHashHistory}from'vue-router';//引入一个一个可能要呈现的组件importHomefrom'@/pages/Home.vue'importNewsf
赚不到钱的回测都是耍流氓!
金融
小谢是高频交易圈的传奇新秀,他的策略回测报告看得人眼花缭乱:“胜率95%!月收益翻倍!”小谢自信满满,觉得自己就是下一位“交易天才”。可惜,实盘操作两个月后,他的账户余额早已见底。“回测根本没用!”小谢气愤地拍桌子。可事实是,问题并不在回测本身,而在于他的回测逻辑没能反映真实的市场行为。特别是在数字货币这种高波动市场中,tick级别的高频策略回测就像一场“智力游戏”,你不仅要应对海量数据,还得处理
【如何获取股票数据01】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深A股实时交易数据获取实例演示及接口API说明文档
Eumenides_max
python java 开发语言
最近一两年内,股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步,就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任务是从这些数据中提炼出有价值的信息,为我们的投资策略提供有力的指导。在数据探索的旅途中,我尝试了多种方法,包括自编网易股票页面爬虫、申万行业数据爬虫,以及同花顺问财的爬虫,甚
TCP/IP协议:构建互联网的基石
亿林数据
tcp/ip 网络协议 网络
TCP/IP协议,(TransmissionControlProtocol/lntemetProtocol)即传输控制协议/网际协议,是互联网通信的基础协议。它由一系列协议组成,共同构建了一个可靠、高效的网络通信体系。TCP/IP协议不仅实现了计算机之间的数据传输,还确保了数据的完整性和可靠性,为互联网的各种应用提供了坚实的基础。TCP和IP协议不仅仅是两个协议,而是指一个由FTP、TCP、UDP
编程式导航
云水舟
javascript 前端 vue.js vue
在vue中,页面有两种导航方式,分别是声明式导航和编程式导航。其中,使用标签定义导航链接的方式属于声明式导航;编程式导航是先通过userRouter()函数获取全局路由实例,然后通过调用全局路由实力实现导航。VueRouter提供了userRouter()函数,使用它可以获取全局路由实例,示例如下:import{useRouter}from'vue-router'constrouter=useRo
VUE之路由Props、replace、编程式路由导航、重定向
三日沐水
vue vue.js 智能路由器 前端
目录1、路由_props的配置2、路由_replaces属性3、编程式路由导航4、路由重定向1、路由_props的配置1)第一种写法,将路由收到的所有params参数作为props传给路由组件只能适用于params参数//创建一个路由器,并暴露出去//第一步:引入createRouterimport{createRouter,createWebHistory,createWebHashHistor
练习题 - Django 4.x File 文件上传使用示例和配置方法
Mr数据杨
Python Web开发 django sqlite 数据库
在现代的web应用开发中,文件上传是一个常见的功能,无论是用户上传头像、上传文档,还是其他类型的文件,处理文件上传都是开发者必须掌握的技能之一。Django作为一个流行的Pythonweb框架,提供了便捷的文件上传功能和配置方法。学习如何在Django中实现文件上传,不仅有助于提升编程技能,还能帮助我们更好地理解web应用的开发流程。本次练习题的设计目的是通过真实的生活实例帮助自学编程的用户掌握D
第30章 测试驱动开发中的设计模式解析(Python 版)
Tester_孙大壮
测试驱动开发 驱动开发 设计模式 python
写在前面这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间Cursor软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让AI工具更好地辅助自己写代码,或许优质的单元测试是一个切入点。就我个人而言,这本书确实很有帮助。第一次读的时候,很多细节我都不太懂,但将书中内容应用到工作中后,我受益匪浅。比如面对一些让人抓狂的代码设计时,书里的方法能让我逐步深入理解
高可用架构,高性能架构和高并发架构
架构随笔录
超级架构师 架构 kafka 分布式 hbase 大数据 hdfs
胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,SpringCloudAlibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电子工业出版技术成长领路人称号,荣获2024年电子工业出版社博文视点20周年荣誉专
TCP/IP 协议:互联网通信的基石
froginwe11
开发语言
TCP/IP协议:互联网通信的基石引言TCP/IP协议,全称为传输控制协议/互联网协议,是互联网上应用最为广泛的通信协议。它定义了数据如何在网络上传输,是构建现代互联网的基础。本文将深入探讨TCP/IP协议的原理、结构、应用以及其在互联网通信中的重要性。TCP/IP协议概述定义TCP/IP协议是一套用于数据通信的协议集合,它包括了传输控制协议(TCP)和互联网协议(IP)等多个协议。这些协议共同构
Python中opencv的一些函数及应用
灵封~
python opencv 开发语言
Sobel算子函数功能:Sobel算子用于计算图像的梯度(变化率),常用于边缘检测。它通过对图像应用一个基于一阶导数的滤波器来强调图像中的边缘部分,特别是水平和垂直方向上的边缘。通过计算图像的梯度,可以获得图像中亮度变化较大的地方,这些地方通常是物体的边界。Sobel算子有两个方向的变体:SobelX:计算水平方向的梯度。SobelY:计算垂直方向的梯度。Sobel算子函数:cv2.Sobel()
【代码随想录:数组】python3
zzzmy159
代码随想录 leetcode
数组Day1704.二分查找,27.移除元素704二分查找35搜索插入位置34在排序数组中查找元素的第一个和最后一个位置27移除元素:双指针977.有序数组的平方209.长度最小的子数组:最小滑窗904.水果成篮:最大滑窗59.螺旋矩阵IIDay1704.二分查找,27.移除元素704二分查找时间复杂度为O(logn)O(logn)O(logn),空间复杂度为O(1)O(1)O(1)leetcod
未来趋势系列 篇三:低空经济题材解析和股票梳理
李小白杂货铺
股票技术杂谈 低空经济 题材解析 股票梳理
文章目录系列文章低空经济题材解析空域管理设备起降设施雷达导航飞行员培训无人机直升机eVTOL(含垂直起降型飞行汽车)低空物流低空交通环境检测消防支援气象探测股票梳理系列文章未来趋势系列篇一:AI题材解析和股票梳理未来趋势系列篇二:HBM题材解析和股票梳理低空经济低空经济是政策、技术和自主可控三者共振的新晋的新质生产力代表。低空经济是指以民用有人驾驶和无人驾驶航空器为主导,涵盖载人、载货及其他作业等
一文大白话讲清楚webpack进阶——1——SourceMap
16年上任的CTO
webpack webpack 前端 node.js sourcemap
文章目录一文大白话讲清楚webpack进阶——1——SourceMap1.啥是SourceMap2.SourceMap的结构3.SourceMap触发时机4.SourceMap怎么配置4.1devtool配置4.1.1devtool属性4.1.1.1eval4.1.1.2source-map4.1.1.3cheap4.1.1.4module4.1.1.5nosources4.1.1.6hidden
一文大白话讲清楚webpack进阶——3——Loader的执行顺序(pre,normal,inline,post)
16年上任的CTO
webpack webpack 前端 node.js loader执行顺序
文章目录一文大白话讲清楚webpack进阶——3——Loader的执行顺序(pre,normal,inline,post)1.loader的分类和执行顺序1.1pre1.2normal1.3inline1.4post1.5相同优先级2.如何制定分类2.1非inline2.2inline2.2.1禁用普通loader2.2.2禁用所有loader2.2.3禁用非post类型loader一文大白话讲清
Thymeleaf基础知识语法
沐暖沐
thymeleaf 开发语言
1、简介Thymeleaf是⾯向Web和独⽴环境的现代服务器端Java模板引擎,能够处理HTML、XML、JavaScript、CSS、TEXT、RAW这六种模板。这六种模版模式包含两种标记模板模式(HTML和XML),三种⽂本模板模式(TEXT,JAVASCRIPT和CSS)和⼀个⽆操作模板模式(RAW)。①简单表达式变量表达式:${…}选择变量表达式:*{…}消息表达:#{…}链接URL表达式
华为机试HJ16:购物单 系统的动态规划设计思路 剖析Java最优解代码
_JC_Chris
华为 动态规划 java 算法 数据结构
0.写在前面“华为机试HJ16:购物单”是一道“物品间有依赖关系”的【01背包问题】,属于经典dp问题的变形。对于基础薄弱的同学来说,本题的思维难度不低,建议先了解“普通01背包问题”的基本求解思路——bilibili辅助学习视频(预计学习时间15min)1.题目描述王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印
阿里、字节:一套高效的iOS面试题(修正版)
侃侃而谈。句句是你
八卦及经验分享 面试 java android python ios
简述笔者最近收集梳理了一些iOS相关的问题,其中大部分都是大厂面试或者面试其他人用到的,能命中大部分的面试和日常工作,更希望你可以用它来检验自己由于问题量太大,本文只是给了问题,希望发挥圈友的动手能力,自己去探索下,也可以在下方进行评论回复你的答案或者提出更高质量的问题!!!runtime相关问题runtime是iOS开发最核心的知识了,如果下面的问题都解决了,那么对runtime的理解已经很深了
机器学习入门——机器学习基本概念
四月是你的
机器学习
@机器学习什么是机器学习机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎简单来说机器学习就是机
解读Servlet原理篇二---GenericServlet与HttpServlet
周凡杨
java HttpServlet 源理 GenericService 源码
在上一篇《解读Servlet原理篇一》中提到,要实现javax.servlet.Servlet接口(即写自己的Servlet应用),你可以写一个继承自javax.servlet.GenericServletr的generic Servlet ,也可以写一个继承自java.servlet.http.HttpServlet的HTTP Servlet(这就是为什么我们自定义的Servlet通常是exte
MySQL性能优化
bijian1013
数据库 mysql
性能优化是通过某些有效的方法来提高MySQL的运行速度,减少占用的磁盘空间。性能优化包含很多方面,例如优化查询速度,优化更新速度和优化MySQL服务器等。本文介绍方法的主要有:
a.优化查询
b.优化数据库结构
ThreadPool定时重试
dai_lm
java ThreadPool thread timer timertask
项目需要当某事件触发时,执行http请求任务,失败时需要有重试机制,并根据失败次数的增加,重试间隔也相应增加,任务可能并发。
由于是耗时任务,首先考虑的就是用线程来实现,并且为了节约资源,因而选择线程池。
为了解决不定间隔的重试,选择Timer和TimerTask来完成
package threadpool;
public class ThreadPoolTest {
Oracle 查看数据库的连接情况
周凡杨
sql oracle 连接
首先要说的是,不同版本数据库提供的系统表会有不同,你可以根据数据字典查看该版本数据库所提供的表。
select * from dict where table_name like '%SESSION%';
就可以查出一些表,然后根据这些表就可以获得会话信息
select sid,serial#,status,username,schemaname,osuser,terminal,ma
类的继承
朱辉辉33
java
类的继承可以提高代码的重用行,减少冗余代码;还能提高代码的扩展性。Java继承的关键字是extends
格式:public class 类名(子类)extends 类名(父类){ }
子类可以继承到父类所有的属性和普通方法,但不能继承构造方法。且子类可以直接使用父类的public和
protected属性,但要使用private属性仍需通过调用。
子类的方法可以重写,但必须和父类的返回值类
android 悬浮窗特效
肆无忌惮_
android
最近在开发项目的时候需要做一个悬浮层的动画,类似于支付宝掉钱动画。但是区别在于,需求是浮出一个窗口,之后边缩放边位移至屏幕右下角标签处。效果图如下:
一开始考虑用自定义View来做。后来发现开线程让其移动很卡,ListView+动画也没法精确定位到目标点。
后来想利用Dialog的dismiss动画来完成。
自定义一个Dialog后,在styl
hadoop伪分布式搭建
林鹤霄
hadoop
要修改4个文件 1: vim hadoop-env.sh 第九行 2: vim core-site.xml <configuration> &n
gdb调试命令
aigo
gdb
原文:http://blog.csdn.net/hanchaoman/article/details/5517362
一、GDB常用命令简介
r run 运行.程序还没有运行前使用 c cuntinue 
Socket编程的HelloWorld实例
alleni123
socket
public class Client
{
public static void main(String[] args)
{
Client c=new Client();
c.receiveMessage();
}
public void receiveMessage(){
Socket s=null;
BufferedRea
线程同步和异步
百合不是茶
线程同步 异步
多线程和同步 : 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法
多线程和异步:多线程可以做不同的事情,涉及到线程通知
&
JSP中文乱码分析
bijian1013
java jsp 中文乱码
在JSP的开发过程中,经常出现中文乱码的问题。
首先了解一下Java中文问题的由来:
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,
js实现页面跳转重定向的几种方式
bijian1013
JavaScript 重定向
js实现页面跳转重定向有如下几种方式:
一.window.location.href
<script language="javascript"type="text/javascript">
window.location.href="http://www.baidu.c
【Struts2三】Struts2 Action转发类型
bit1129
struts2
在【Struts2一】 Struts Hello World http://bit1129.iteye.com/blog/2109365中配置了一个简单的Action,配置如下
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configurat
【HBase十一】Java API操作HBase
bit1129
hbase
Admin类的主要方法注释:
1. 创建表
/**
* Creates a new table. Synchronous operation.
*
* @param desc table descriptor for table
* @throws IllegalArgumentException if the table name is res
nginx gzip
ronin47
nginx gzip
Nginx GZip 压缩
Nginx GZip 模块文档详见:http://wiki.nginx.org/HttpGzipModule
常用配置片段如下:
gzip on; gzip_comp_level 2; # 压缩比例,比例越大,压缩时间越长。默认是1 gzip_types text/css text/javascript; # 哪些文件可以被压缩 gzip_disable &q
java-7.微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如 h1 , h2 ,判断这俩个链表是否相交
bylijinnan
java
public class LinkListTest {
/**
* we deal with two main missions:
*
* A.
* 1.we create two joined-List(both have no loop)
* 2.whether list1 and list2 join
* 3.print the join
Spring源码学习-JdbcTemplate batchUpdate批量操作
bylijinnan
java spring
Spring JdbcTemplate的batch操作最后还是利用了JDBC提供的方法,Spring只是做了一下改造和封装
JDBC的batch操作:
String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";
[JWFD开源工作流]大规模拓扑矩阵存储结构最新进展
comsci
工作流
生成和创建类已经完成,构造一个100万个元素的矩阵模型,存储空间只有11M大,请大家参考我在博客园上面的文档"构造下一代工作流存储结构的尝试",更加相信的设计和代码将陆续推出.........
竞争对手的能力也很强.......,我相信..你们一定能够先于我们推出大规模拓扑扫描和分析系统的....
base64编码和url编码
cuityang
base64 url
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
web应用集群Session保持
dalan_123
session
关于使用 memcached 或redis 存储 session ,以及使用 terracotta 服务器共享。建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,不只是缓存 session,还可以做其他用途,一举几得啊。1、使用 filter 方法存储这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于tomcat ,而且实现的原理比较简
Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
dcj3sjt126com
数据库
public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCo
solr StatsComponent(聚合统计)
eksliang
solr聚合查询 solr stats
StatsComponent
转载请出自出处:http://eksliang.iteye.com/blog/2169134
http://eksliang.iteye.com/ 一、概述
Solr可以利用StatsComponent 实现数据库的聚合统计查询,也就是min、max、avg、count、sum的功能
二、参数
百度一道面试题
greemranqq
位运算 百度面试 寻找奇数算法 bitmap 算法
那天看朋友提了一个百度面试的题目:怎么找出{1,1,2,3,3,4,4,4,5,5,5,5} 找出出现次数为奇数的数字.
我这里复制的是原话,当然顺序是不一定的,很多拿到题目第一反应就是用map,当然可以解决,但是效率不高。
还有人觉得应该用算法xxx,我是没想到用啥算法好...!
还有觉得应该先排序...
还有觉
Spring之在开发中使用SpringJDBC
ihuning
spring
在实际开发中使用SpringJDBC有两种方式:
1. 在Dao中添加属性JdbcTemplate并用Spring注入;
JdbcTemplate类被设计成为线程安全的,所以可以在IOC 容器中声明它的单个实例,并将这个实例注入到所有的 DAO 实例中。JdbcTemplate也利用了Java 1.5 的特定(自动装箱,泛型,可变长度
JSON API 1.0 核心开发者自述 | 你所不知道的那些技术细节
justjavac
json
2013年5月,Yehuda Katz 完成了JSON API(英文,中文) 技术规范的初稿。事情就发生在 RailsConf 之后,在那次会议上他和 Steve Klabnik 就 JSON 雏形的技术细节相聊甚欢。在沟通单一 Rails 服务器库—— ActiveModel::Serializers 和单一 JavaScript 客户端库——&
网站项目建设流程概述
macroli
工作
一.概念
网站项目管理就是根据特定的规范、在预算范围内、按时完成的网站开发任务。
二.需求分析
项目立项
我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。
客户的需求说明书
第一步是需
AngularJs 三目运算 表达式判断
qiaolevip
每天进步一点点 学习永无止境 众观千象 AngularJS
事件回顾:由于需要修改同一个模板,里面包含2个不同的内容,第一个里面使用的时间差和第二个里面名称不一样,其他过滤器,内容都大同小异。希望杜绝If这样比较傻的来判断if-show or not,继续追究其源码。
var b = "{{",
a = "}}";
this.startSymbol = function(a) {
Spark算子:统计RDD分区中的元素及数量
superlxw1234
spark spark算子 Spark RDD分区元素
关键字:Spark算子、Spark RDD分区、Spark RDD分区元素数量
Spark RDD是被分区的,在生成RDD时候,一般可以指定分区的数量,如果不指定分区数量,当RDD从集合创建时候,则默认为该程序所分配到的资源的CPU核数,如果是从HDFS文件创建,默认为文件的Block数。
可以利用RDD的mapPartitionsWithInd
Spring 3.2.x将于2016年12月31日停止支持
wiselyman
Spring 3
Spring 团队公布在2016年12月31日停止对Spring Framework 3.2.x(包含tomcat 6.x)的支持。在此之前spring团队将持续发布3.2.x的维护版本。
请大家及时准备及时升级到Spring
fis纯前端解决方案fis-pure
zccst
JavaScript
作者:zccst
FIS通过插件扩展可以完美的支持模块化的前端开发方案,我们通过FIS的二次封装能力,封装了一个功能完备的纯前端模块化方案pure。
1,fis-pure的安装
$ fis install -g fis-pure
$ pure -v
0.1.4
2,下载demo到本地
git clone https://github.com/hefangshi/f