js代码规范
注释规范
函数说明注释:在函数声明上方键入 /** ,再按回车键:
/**
* @function 处理表格的行
* @description 合并Grid的行
* @param grid {Ext.Grid.Panel} 需要合并的Grid
* @param cols {Array} 需要合并列的Index(序号)数组;从0开始计数,序号也包含。
* @param isAllSome {Boolean} :是否2个tr的cols必须完成一样才能进行合并。true:完成一样;false(默认):不完全一样
* @return void
* @author polk6 2015/07/21
* @example
* _________________ _________________
* | 年龄 | 姓名 | | 年龄 | 姓名 |
* ----------------- mergeCells(grid,[0]) -----------------
* | 18 | 张三 | => | | 张三 |
* ----------------- - 18 ---------
* | 18 | 王五 | | | 王五 |
* ----------------- -----------------
*/
function mergeCells(grid: Ext.Grid.Panel, cols: Number[], isAllSome: boolean = false) {
// Do Something
}
javadoc参数说明:
@see
生成文档中的“参见xx 的条目”的超链接,后边可以加上:“类名”、“完整类名”、“完整类名#方法”。可用于:类、方法、变量注释。
@param
参数的说明。可用于:方法注释。
@return
返回值的说明。可用于:方法注释。
@exception
可能抛出异常的说明。可用于:方法注释。
@version
版本信息。可用于:类注释。
@author
作者名。可用于:类注释。
@deprecated
对类或方法的说明 该类或方法不建议使用,引起不推荐使用的警告
@note
表示注解,暴露给源码阅读者的文档
@remark
表示评论,暴露给客户程序员的文档
@since
表示从那个版本起开始有了这个函数
@see
表示交叉参考
jQuery
jQuery深拷贝
jQuery.extend( [deep ], target, object1 [, objectN ] )
$.extend(true, obj1, obj2)
将 obj2
的对象属性深拷贝给 obj1
js
substring()
与 substr()
的主要区别
substring()
方法的参数表示起始和结束索引,substr()
方法的参数表示起始索引和要包含在生成的字符串中的字符的长度,示例如下:
vartext = 'Mozilla';
console.log(text.substring(2,5)); // => "zil"console.log(text.substr(2,3)); // => "zil"
关于 padStart
padStart
可以在字符串的开头进行字符补全。 语法如下:
str.padStart(targetLength [, padString])
其中:
targetLength
指目标字符串长度。然后,根据我的测试,targetLength
参数缺省也不会报错,原本的字符串原封不动返回,不过代码没有任何意义,因此,基本上没有使用的理由。
还有,targetLength
参数的类型可以是数值类型或者弱数值类型。在JavaScript中,1 == '1'
,1
是数值,'1'
虽然本质上是字符串,但也可以看成是弱数值。在 padStart()
方法中,数值类型或者弱数值类型都是可以。例如:
'zhangxinxu'.padStart('5');
因此,我们实际使用的时候,没必要对targetLength参数进行强制的类型转换。
最后,如果 targetLength
设置的长度比字符串本身还要小,则原本的字符串原封不动返回,例如:
'zhangxinxu'.padStart(5);
// 结果还是'zhangxinxu'
padString
(可选)padString
表示用来补全长度的字符串。然而,虽然语义上是字符串,但是根据我的测试,任意类型的值都是可以的。无论是Chrome浏览器还是Firefox浏览器,都会尝试将这个参数转换成字符串进行补全。例如下面几个例子:
'zhangxinxu'.padStart(15, false);
// 结果是'falsezhangxinxu'
'zhangxinxu'.padStart(15, null);
// 结果是'nullnzhangxinxu'
'zhangxinxu'.padStart(15, []);
// 结果是'zhangxinxu',因为[]转换成字符串是空字符串
'zhangxinxu'.padStart(15, {});
// 结果是'[objezhangxinxu',只显示了'[object Object]'前5个字符
padString
参数默认值是普通空格' '
(U+0020),也就是敲Space空格键出现的空格。
从上面几个案例可以看出,如果补全字符串长度不足,则不断循环补全;如果长度超出,则从左侧开始依次补全,没有补到的字符串直接就忽略。 此方法返回值是补全后的字符串。
# 常用缩写 diff $\rightarrow$ 比较
patch $\rightarrow$ 修改/补丁
# vue命令的缩写或简写v-on
$\rightarrow$ @
v-bind
$\rightarrow$ :
v-slot
$\rightarrow$ #
Vue文档学习
# 可复用&组合 ## 混入 我们可以预先设定一套或多套组件设置,可以任意组件选项:data
,method
,watch
,钩子函数等等。如果任何组件想要使用某一套设置,就可以通过mixins选项来将它包含进来,为自己所用。我们称这套设置(对象)为混入对象 。
// define a mixin object
const myMixin = {
created() {
this.hello()
},
methods: {
hello() {
console.log('hello from mixin!')
}
}
}
// define an app that uses this mixin
const app = Vue.createApp({
mixins: [myMixin]
})
app.mount('#mixins-basic') // => "hello from mixin!"
如果混入对象的某一选项名与组件相同,则使用组件的选项。不过也可以自定义合并函数。
缺点:混入对象一旦定义就不能修改,缺少灵活性。在Vue3中可以使用组合式API来解决。
## 自定义指令 除了v-on
、v-bind
、v-slot
外,Vue支持自定义指令,方便我们操作DOM元素。在组件的directives
选项中可以自定义指令。注意在mounted
的参数el
是DOM元素而不是jquery元素。
全局注册指令
const app = Vue.createApp({})
// 注册一个全局自定义指令 `v-focus`
app.directive('focus', {
// 当被绑定的元素插入到 DOM 中时……
mounted(el) {
// Focus the element
el.focus()
}
})
局部注册指令
directives: {
focus: {
// 指令的定义
mounted(el) {
el.focus()
}
}
}
使用自定义指令,该指令使元素自动聚焦。
在上面的例子中,我们使用了mounted
的钩子函数,实际上,在一个指令定义对象还可以提供如下几个钩子函数:
beforeMount
:当指令第一次绑定到元素并且在挂载父组件之前调用。在这里你可以做一次性的初始化设置。
mounted
:在挂载绑定元素的父组件时调用。
beforeUpdate
:在更新包含组件的 VNode 之前调用。
updated
:在包含组件的VNode及其子组件的VNode更新后调用。
beforeUnmount
:在卸载绑定元素的父组件之前调用
unmounted
:当指令与元素解除绑定且父组件已卸载时,只调用一次。
除此之外,钩子函数还可以设置动态参数,在模板中以v-mydirective:[argument]="value"
形式使用,argument
为键,value
为值。
Scroll down inside this section ↓
I am pinned onto the page at 200px to the left.
const app = Vue.createApp({
data() {
return {
direction: 'right'
}
}
})
app.directive('pin', {
mounted(el, binding) {
el.style.position = 'fixed'
// binding.arg is an argument we pass to directive
const s = binding.arg || 'top'
el.style[s] = binding.value + 'px'
}
})
app.mount('#dynamic-arguments-example')
如果自定义指令只关注mounted
和updated
两个钩子函数且内容一样,可以使用箭头函数简写。
app.directive('pin', (el, binding) => {
el.style.position = 'fixed'
const s = binding.arg || 'top'
el.style[s] = binding.value + 'px'
})
### 注意 在具有多个根节点上使用自定义指令时可能出现问题,这与渲染函数有关,笔者不太了解,具体可查阅文档:自定义指令 | Vue3中文文档 。
## Teleport | 传送 在我们定义组件的模板的时候,有时候需要模板上的一部分逻辑上属于模板,但是页面上呈现出来的效果不像镶嵌在组件中。比如点击出现一个全屏信息,这需要我们把这一部分传送到合适的DOM节点下,在Vue中我们使用
标签来传送到父组件中的DOM节点。
app.component('modal-button', {
template: `
Open full screen modal! (With teleport!)
I'm a teleported modal!
(My parent is "body")
Close
`,
data() {
return {
modalOpen: false
}
}
})
## 渲染函数 h() 内容较多,此文章介绍的比Vue中文文档清楚一点 Vue render函数 | 简书 。
简单总结以下,渲染函数是Vue中模板等编译为DOM元素的函数。
Vue在渲染过程中,有三种渲染模式:自定义render
函数、模板、el
均可以渲染页面,对应三种写法如下:
自定义render
函数
Vue.component('anchored-heading', {
render: function (createElement) {
return createElement (
'h' + this.level, // tag name标签名称
this.$slots.default // 子组件中的阵列
)
},
props: {
level: {
type: Number,
required: true
}
}
})
template
写法
let app = new Vue({
template: `{{ msg }}
`,
data () {
return {
msg: ''
}
}
})
el写法
let app = new Vue({
el: '#app',
data () {
return {
msg: 'Hello Vue!'
}
}
})
而这三种渲染模式最终都是要得到render
函数。
接下来讲一下render
函数的三个参数:
(必选)标签tag,类型可以是{String | Object | Function}
三种之一;
Vue.component('custom-element', {
render: function (createElement) {
return createElement('div')
}
})
let app = new Vue({
el: '#app'
})
(可选)属性prop,类型是对象Object
;
Vue.component('custom-element', {
render: function (createElement) {
var self = this
// 第一个参数是一个简单的HTML标签字符 “必选”
// 第二个参数是一个包含模板相关属性的数据对象 “可选”
return createElement('div', {
'class': {
foo: true,
bar: false
},
style: {
color: 'red',
fontSize: '14px'
},
attrs: {
id: 'boo'
},
domProps: {
innerHTML: 'Hello Vue!'
}
})
}
})
let app = new Vue({
el: '#app'
})
(可选)子节点children,类型可以是{String | Array}
两种之一。
Vue.component('custom-element', {
render: function (createElement) {
var self = this
return createElement(
'div', // 第一个参数是一个简单的HTML标签字符 “必选”
{
class: {
title: true
},
style: {
border: '1px solid',
padding: '10px'
}
}, // 第二个参数是一个包含模板相关属性的数据对象 “可选”
[
createElement('h1', 'Hello Vue!'),
createElement('p', '开始学习Vue!')
] // 第三个参数是传了多个子元素的一个数组 “可选”
)
}
})
let app = new Vue({
el: '#app'
})
在模板写法中,v-if
、v-on
、v-model
等等指令或者自定义指令都会形成代码,Vue的渲染函数就不会提供专有的替代方法,但是我们也可以自己在渲染函数中实现一样的功能。这样做的优点是可以更加自如地定制指令的效果。具体的代码查看 使用 JavaScript 代替模板功能 | Vue3中文文档 。
## 插件插件 | Vue中文文档
你可能感兴趣的:(每周总结 函数方法注释规范/jQuery深拷贝/js补全函数/Vue文档学习)
Git入门与进阶:详细使用指南
向着开发进攻
git git
Git入门与进阶:详细使用指南Git是一款强大的分布式版本控制工具,广泛用于软件开发中的源代码管理。无论你是一个刚刚开始学习编程的新手,还是一个已经有经验的开发者,Git都是你日常工作中的必备工具。在这篇文章中,我将详细介绍Git的使用方法,帮助你从基础到进阶掌握Git。什么是Git?Git是一种分布式版本控制系统(VCS),它让多个开发者能够高效地协同开发,跟踪代码的历史版本,并且管理项目的不同
ES6模块化(对比commonjs模块化)
zvapour
javascript
ES6模块化common.js对比CommonJS运行时加载–>只有运行时才能得到这个对象(module.exports的对象)在第一次加载之后会被缓存,引入的是缓存中的值//若需要动态更新,使用gettercount=1;module.exports={getcount(){returncount;},plusCoun
uniapp邪门事件
岑梓铭
前端问题 uni-app
很久之前在这篇《THREEJS在uni-app中使用(微信小程序)》:THREEJS在uni-app中使用(微信小程序)_uni-app_帶刺的小葡萄-华为开发者空间中学到了如何在uniapp的微信小程序里接入three.js的3d模型由于小程序自身很多不兼容原因,博主建议去用GitHub一个大佬改写的js库来引入适合小程序的three.js,于是我去照搬模仿,然后手动检查了一下,确实可以正常运行
Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention
UnknownBody
LLM Daily LLM context 语言模型 人工智能
本文是LLM系列文章,针对《LeaveNoContextBehind:EfficientInfiniteContextTransformerswithInfini-attention》的翻译。不让任何上下文掉队:无限关注的高效无限上下文Transformer摘要1引言2方法3实验4相关工作5结论摘要这项工作介绍了一种将基于Transformer的大型语言模型(LLM)扩展到具有有限内存和计算的无限
Python 小练习 —— 统计字符串各类字符数量
奶香臭豆腐
python 开发语言 学习
需求允许用户不断输入一个字符串。写一个函数负责统计该字符串中的字符、数字、空格、特殊字符的个数。代码如下:#统计字符、数字、特殊字符的个数fromtypingimportTuple#使用类型注释所需的库#定义函数,用到了类型注释。defcount_characters(msg:str)->Tuple[int,int,int,int]:digit_count=0#数字计数器alpha_count=0
Python —— 深拷贝和浅拷贝
奶香臭豆腐
python 开发语言 学习
Python——深拷贝和浅拷贝浅拷贝——ShallowCopy深拷贝——DeepCopy总结常见的应用场景浅拷贝——ShallowCopy浅拷贝是指复制对象本身,但不会复制对象内部的嵌套对象。换句话说,浅拷贝会创建一个新的对象,但是新对象中的元素是原始对象元素的引用(即指向同一块内存地址)。因此,若原始对象中的元素是可变对象,修改这些元素会影响到原始对象和拷贝对象。s="abcdef123456"
vue3 + vite引入地址路径报错,以及无法点击跳转相应的文件
zmyalh
前端 javascript vue.js
vue3+vite引入地址路径报错,以及无法点击跳转相应的文件在项目中找到tsconfig.json,或者jsconfig.json文件,使用一下代码替换即可。如果两个文件都不存在,如果项目使用了ts,就创建tsconfig.json文件,复制下方代码。如果不是使用的ts,就创建jsconfig.json文件,复制下方代码。配置完成后关掉软件重启!!!{"compilerOptions":{"ba
vue播放m3u8视频
zmyalh
html视频video 前端
这里封装成组件先安装插件npmivue-video-player-S//版本"^5.0.2"npmivideojs-flash-S//播放rtmpnpmivideojs-contrib-hls-S//播放m3u8父页面://传入视频地址videoUrl页面引入importvideosfrom"../../../components/videos/videos.vue";components:{vi
AI外呼机器人:营销新利器还是骚扰电话的升级版?
yoloGina
客户管理 外呼系统 电话外呼 人工智能 机器人
"您好,这里是XX房产,最近有购房需求吗?""您好,您最近有种牙需求吗?"相信很多人都接到过类似的营销电话,而电话那头,很可能已经不是真人,而是AI外呼机器人。近年来,AI外呼系统凭借其高效率、低成本的优势,迅速在电销行业普及,成为企业营销的"新宠"。据统计,2022年中国AI外呼市场规模已达50亿元,预计2025年将突破100亿元。AI外呼系统的核心技术是语音识别和自然语言处理。通过深度学习海量
mongoDB 命令行操作
小胖_@
mongo mongodb 数据库 命令行
mongoDBmongo命令MongoDBshellversionv4.4.15usage:mongo[options][dbaddress][filenames(endingin.js)]dbaddresscanbe:foofoodatabaseonlocalmachine192.168.0.5/foofoodatabaseon192.168.0.5machine192.168.0.5:9999
CSS 修改 SVG图标的颜色
小达学徒
html css svg 图标颜色改变
方法1、利用filter中的drop-shadow给icon加样式(利用原图标的阴影区域,同时将原图标移动超过之前父元素范围)filter:drop-shadow(red80px0);transform:translateX(-80px);给父元素加样式(父元素超范围隐藏,正好把原图标的隐藏掉,显示阴影区域)overflow:hidden;filter的drop-shadow标准用法drop-sh
python ffmpeg直播_FFmpeg+Nginx+Rtmp+HLS+Videojs搭建直播网站(理论与实战)
weixin_39565300
python ffmpeg直播
第1章直播原理与架构28分钟2节1-1直播原理与架构直播原理与架构「仅限付费用户」点击下载“直播原理与架构.pdf”[14:53]开始学习1-2甜点:福优学苑--简历包装与面试技巧甜点:福优学苑--简历包装与面试技巧「仅限付费用户」点击下载“福优学苑--简历包装与面试技巧--51other.pdf”[13:36]开始学习第2章亲手搭建FFmpeg+Nginx直播网站1小时48分钟11节2-1直播引
MongoDB:掌握核心常用命令语句,精通数据操作
泰山AI
数据库技术 Docker入门到精通 mongodb 数据库
标题:MongoDB:掌握核心命令,精通数据操作前言:MongoDB是一种非关系型数据库,以文档为中心,使用JSON格式的BSON来存储数据。它具有高可用性、高性能和易于扩展的特点,被广泛应用于各种规模的项目中。本文将详细介绍MongoDB的常用命令,帮助你更好地理解和掌握MongoDB的数据操作。一、连接与断开数据库要开始使用MongoDB,首先需要连接到数据库。在命令行中输入以下命令:mong
Java零基础入门笔记:(3)程序控制
Sherlock Ma
Java Java入门 java 笔记 开发语言 程序人生 学习方法 改行学it 跳槽
前言本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibiliScanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。Scanner类是Java中的一个实用工具类,位于java.util包中,主要用于从用户输入、文件或其他输入源中读取数据。它提
Java零基础入门笔记:(4)方法
Sherlock Ma
Java Java入门 java 笔记 开发语言 学习方法 改行学it 跳槽 程序人生
前言本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客第3章:Java零基础入门笔记:(3)程序控制-CSDN博客--方法何谓方法Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象
腿足机器人之五- 粒子滤波
shichaog
腿足机器人 机器人
腿足机器人之五粒子滤波直方图滤波粒子滤波上一篇博客使用的是高斯分布结合贝叶斯准则来估计机器人状态,本篇是基于直方图和粒子滤波器这两种无参滤波器估计机器人状态。直方图方法将状态空间分解成有限多个区域,并用直方图表示后验概率。直方图为每个区域分配一个单独的累积概率;可以将其视为对连续密度函数的逐段常数近似。第二种技术通过有限多个样本来表示后验概率。由此产生的滤波器被称为粒子滤波器,在某些机器人问题中获
SQLServer两种导入数据方法
二刺螈杀手
数据库
一、电子表格数据存储转到SQLserver中,Excel数据存储:1、打开SQLserver新建一个数据库来存放该数据,数据库名称命名自定义2、这里使用作者大大自定义建好的数据库来示范:(操作步骤如下图所属:选择该数据库鼠标右键点击任务之后再选中导入数据)3、这里数据源就是需要导入的电子表格数据,选中然后点击下一步,如图所示4、Excel文件路径选择自己电脑磁盘存放该Excel表格数据的路径,Ex
第 4-2 课:MongoDB 常用命令
Java大联盟
案例上手 Spring 全家桶 Spring Spring Boot Spring Cloud Spring MVC Spring Spring Boot Spring
前言上节课我们已经成功搭建起来MongoDB服务器,本节课我们来介绍MongoDB数据库的常用命令。MongoDB的命令比传统SQL更加简便,使用起来更加方便,它的操作更贴近面向对象思想,这是因为MongoDB的存储结构是BSON格式,类似于JSON的一种数据格式,所以MongoDB操作起来非常灵活,不会像传统的关系型数据库那样有很多限制。我们要介绍的常用命令大致分为以下3种。对数据库的操作,包括
训练与优化
钰见梵星
小土堆PyTorch深度学习 深度学习 pytorch 人工智能
训练与优化损失函数与反向传播损失函数能够衡量神经网络输出与目标值之间的误差,同时为反向传播提供依据,计算梯度来优化网络中的参数。torch.nn.L1Loss计算所有预测值与真实值之间的绝对差。参数为reduction:'none':不对损失进行任何求和或平均,返回每个元素的损失。'mean':对损失进行平均,默认选项。'sum':对所有样本的损失进行求和。importtorchinput=tor
Linux sftp 使用详解
linux
简介SFTP(安全文件传输协议)是一种通过网络在计算机之间传输文件的安全方法。它是SSH协议的一部分,这意味着它在文件传输过程中提供加密通信。SFTP通常用于安全文件管理、远程文件访问和远程文件编辑。常用命令sftpuser@host:通过SFTP连接到远程服务器ls:列出当前远程目录中的文件cd:更改远程目录pwd:显示当前远程目录lcd:更改本地目录lpwd:显示当前本地目录put:将文件从本
vue中nextTick函数和react类似实现
向画
vue.js react.js 前端
Vue3基本用法:import{nextTick}from'vue';//全局调用nextTick(()=>{//在下一个DOM更新循环后执行的代码});//在组件内部调用setup(){asyncfunctionhandleUpdate(){//修改数据...awaitnextTick();//在数据引发的DOM更新完成后执行的代码}}nextTick函数现在作为vue包的一个导出成员,需要显式
层次分析法(AHP, Analytic Hierarchy Process)
时代的狂
读书摘要 笔记
层次分析法(AHP,AnalyticHierarchyProcess)是一种多层次、多因素的决策分析方法,用于解决复杂的决策问题。它通过将问题结构化,将决策目标分解为多个层次,并对不同的决策因素进行比较,进而得出各因素的相对重要性,并帮助决策者做出合理的决策。层次分析法的基本步骤建立层次结构模型首先将决策问题分解为多个层次,通常包括目标层、准则层(即影响决策的主要因素)、子准则层(即对准则进一步细
如何在Echarts渲染完成后再执行其他代码(如何等待回调函数执行完成后再进行其他操作)
时代的狂
echarts javascript
不知道如何描述,举个例子,echarts有finished事件,那么在setOption之后,如果渲染结束就会触发该事件,但是假如渲染时间很长,在setOption之后,我们有些紧随之后的代码需要在finished事件之后执行(实际上setOption之后的代码会立即执行,因为渲染并不会阻塞代码的执行),此时应该怎么做?如何知道finished事件被触发了?我希望有一个类似于其他语言线程waitt
Pytorch实现之利用特征分布的差异来指导GAN的训练
这张生成的图像能检测吗
优质GAN模型训练自己的数据集 GAN系列 pytorch 生成对抗网络 人工智能 神经网络 深度学习 计算机视觉 机器学习
简介简介:FIDGAN通过将FID损失引入GAN的训练过程,显著提升了生成图像的质量。其核心思想是利用特征分布的差异来指导生成器的训练,同时通过使用轻量级的MobileNet-v3提高了计算效率。这种方法在图像生成任务中具有广泛的应用前景。论文题目:FIDGAN:AGenerativeAdversarialNetworkwithAnInceptionDistance(FIDGAN:具有初始距离的生
Java Pjsip (Pjsua2 api ) 2.10 windows sip语音呼叫教程
java_lilin
pjsip pjsip sip pjsua2 java sip
1.安装swigwin-4.0.1下载地址http://www.swig.org/download.html注意是swigwinWindowsusersshoulddownloadswigwin-4.0.1whichincludesaprebuiltexecutable.配置目录到winpath2.下载pjproject-2.10.zip(如果有python错误请安装py2.7及环境path配置)
优化Java中锁的性能
BrchCpp
java 开发语言 编程
在Java编程中,锁(Lock)是一种用于控制多线程并发访问共享资源的重要机制。然而,使用不当或性能较差的锁实现可能会导致性能瓶颈和线程竞争。本文将介绍一些优化Java中锁性能的方法,并提供相应的源代码示例。减少锁的粒度:锁的粒度越小,允许并发执行的线程数量就越多。因此,在设计多线程应用程序时,应尽量将锁的范围限定在最小必要范围内。例如,如果只需要保护某个特定字段的访问,而不是整个对象,可以使用细
江科大51单片机学习笔记(1)
悠闲漫步者
51单片机 51单片机 学习 笔记
点亮一个LEDLED介绍中文名:发光二极管外文名:LightEmittingDiode简称:LED用途:照明、广告灯、指引灯、屏幕。如果想让LED发光,需要让发光二极管两端产生电位差。LED模块中串并联电阻是为了保护电路(限流)电阻的运算(上图电阻中所标注):102(1010^2=1000=1K)473(4710^3=47000=47K)1001(100*10^1=1000=1K)VCC:电源正极
使用 pjsua2 开发呼叫机器人,批量拨打号码并播放固定音频
滴水成川
VoIP 机器人 音视频
如何使用pjsua2开发呼叫机器人,批量拨打号码并播放固定音频声明该播客仅提供实现思路,并非实际的方案记录,不要盲目照搬。pjsua2库的安装会有较多问题,请参考本人之前的播客进行安装pjsua2。pjsua2库具体的api说明请参考开源库内的范例代码。引言在今天的播客中,我们将为你展示如何利用pjsua2库开发一个智能呼叫机器人,实现批量拨打号码并自动播放固定音频。这项技术可以应用于营销电话、客
信息管理与信息系统专业总结&不存在计算机专业歧视
WhyteHighmore
感悟与总结
所有边缘交叉学科的人,这篇文章都适用就像我的专业信息管理与信息系统那样!多而不精,而我也同样继承了我专业的特点,但计算机除外。但我很庆幸选报这个专业,也很推荐这个专业。它能让你在高考报考的迷茫期后有更多的选择余地,你可以通过专业了解三大行业,并作出对某一个喜欢行业的努力,不至于学习的不是喜欢的。比如本次vivo组织的篮球赛,上面有说。初次之外我参加过手球赛、羽毛球赛、排球赛。学过网球、游泳、乒乓球
前端面试题(HTML篇)
每天一点点~
html css javascript
1.网络中使用最多的图片格式有哪些?JPEG,GIF,PNG最流行的是JPEG格式,可以把文件压缩到最小在PS以JPEG格式存储时,提供11级压缩等级2.Doctype作用?严格模式与混杂模式如何区分?它们有何意义?声明文档类型声明位于位于HTML文档中的第一行,处于标签之前DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。标准模式(严格模式)浏览器按照W3C的标准解析执行代码标准模式(严
ztree异步加载
3213213333332132
JavaScript Ajax json Web ztree
相信新手用ztree的时候,对异步加载会有些困惑,我开始的时候也是看了API花了些时间才搞定了异步加载,在这里分享给大家。
我后台代码生成的是json格式的数据,数据大家按各自的需求生成,这里只给出前端的代码。
设置setting,这里只关注async属性的配置
var setting = {
//异步加载配置
thirft rpc 具体调用流程
BlueSkator
中间件 rpc thrift
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通信基础
白糖_
java jdk webservice 网络协议 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
Ajax yii
经常像你注册页面,你可能非常希望只需要Ajax去验证用户名和Email,而不需要使用Ajax再去验证密码,默认如果你使用Yii 内置的ajax验证Form,例如:
$form=$this->beginWidget('CActiveForm', array( 'id'=>'usuario-form',&
使用git同步网站代码
dcj3sjt126com
crontab git
转自:http://ued.ctrip.com/blog/?p=3646?tn=gongxinjun.com
管理一网站,最开始使用的虚拟空间,采用提供商支持的ftp上传网站文件,后换用vps,vps可以自己搭建ftp的,但是懒得搞,直接使用scp传输文件到服务器,现在需要更新文件到服务器,使用scp真的很烦。发现本人就职的公司,采用的git+rsync的方式来管理、同步代码,遂
sql基本操作
蕃薯耀
sql sql基本操作 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
JavaScript jquery Ajax cache 缓存
使用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,修