- 使用nginx+rtmp+ffmpeg实现桌面直播
handsomestWei
后端nginxffmpegrtmplive直播推流拉流
使用nginx+rtmp+ffmpeg实现桌面直播流媒体服务器搭建dockerrundocker镜像基于添加了rtmp模块的nginx,和ffmpegdockerpullalfg/nginx-rtmpdockerrun-d-p1935:1935-p8080:80--name=nginx-rtmpalfg/nginx-rtmprtmp模块说明进入容器内部查看dockerps|grepalfg/ngi
- [总结] 音视频开发工程师之路
二进制怪兽
音视频音视频
前言音视频开发是一个涉及多个技术领域的复杂方向,涵盖了音频处理、视频渲染、编解码技术、流媒体传输等多个方面。以下是一个简要的学习路线指南,帮助你逐步掌握音视频开发的核心技能。基础知识计算机科学基础:掌握操作系统、计算机网络、数据结构和算法等基础知识。数学基础:了解傅里叶变换、线性代数、信号处理等数学知识,这些是音视频编-解码和处理的基石。编程语言:熟练掌握C/C++,这是音视频开发中最常用的语言;
- 如何自建obs服务器,使用 Nginx+OBS 搭建rmtp直播服务器并进行直播
卓相
如何自建obs服务器
目录简介和安装配置OBS推流运行拉流完成简介和安装Nginx本身是一个非常出色的HTTP服务器,OBS(OpenBroadcasterSoftware)是一个免费且开源的,全平台支持的视频录制和直播软件。这两个东西通过一个nginx的模块nginx-rtmp-module组合在一起,即可以搭建一个功能流媒体服务器。这个流媒体服务器可以支持RTMP和HLS(LiveHttpStream)。FFmpe
- 【一文读懂】什么是RTSP协议?
Bl_a_ck
通讯协议udptcp/ip网络网络协议rtsp
RTSP协议(Real-TimeStreamingProtocol)RTSP(Real-TimeStreamingProtocol)是一个网络控制协议,用于在实时流媒体传输中管理多媒体数据的传输。RTSP并不传输数据本身,而是用于控制流媒体服务器,类似于HTTP协议,但它主要用于多媒体流的控制,比如音视频流的播放、暂停、停止等操作。工作原理RTSP协议本质上是一个客户端-服务器协议。客户端发起请求
- 什么是RTMP 和 RTSP?它们之间有什么区别?
wljslmz
网络技术RTMPRTSP
你好,这里是网络技术联盟站。视频盛行的时代,流媒体技术越来越重要,在本文中,我们将讨论两种流行的流媒体协议:RTMP和RTSP。什么是流协议?简单地说,流协议就是在两个通信系统之间传输多媒体文件的一套规则,它定义了视频文件将如何分解为小数据包以及它们在互联网上传输的顺序,RTMP与RTSP是比较常见的流媒体协议。RTMP英文全称:Real-TimeMessagingProtocol中文意思:实时消
- webrtc-stream和m7s可以实现thingsboard加载视频的功能,还有其其他网页的方法也可以实现如flask
鼾声鼾语
自动驾驶云平台音视频python开发语言ubuntugithub
方法1,推荐参考的案例:去学习webrtc-stream下载地址:去下载方法2,推荐:m7s下载地址:去下载m7s流媒体服务搭建方法方法3不推荐,不能够直接迁入到thingsboard中flask实现网页读取rtsp视频流创建app.py在app.py同级目录下创建文件夹和htmltemplates/index.html启动app.py,然后在地址中就可以看到视频了
- 流媒体传输的基本原理
学习嵌入式的小羊~
音视频
•实时播放:流媒体通过网络传输多媒体数据(如音频、视频),允许用户在数据传输过程中就开始播放,而不是等到所有数据都下载完毕。这依赖于以下几个关键因素:•网络控制协议:例如RTSP(Real-TimeStreamingProtocol)用于控制流媒体会话,RTP(Real-timeTransportProtocol)用于数据传输,而RTCP(RTPControlProtocol)用于监控质量和提供反
- RTP协议详解
dusk0825
流媒体
RTP协议负责对流媒体数据进行封包并实现媒体流的实时传输,即它按照RPT数据包格式来封装流媒体数据,并利用与它绑定的协议进行数据包的传输;RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。一、RTP数据包格式RTP码流由多个RTP包组成,每个RTP包,由RTP头标准字段(固定12字节)、RTP头扩展字段、RTP负载、
- FFmpeg 命令规则与参数详解:输入/输出 YUV 文件的要求与分析
陈皮话梅糖@
FFmpeg音视频高阶技术讲解ffmpeg
FFmpeg命令规则与参数详解:输入/输出YUV文件的要求与分析FFmpeg是一个强大的多媒体处理工具,支持视频、音频的编解码、格式转换、流媒体处理等功能。使用FFmpeg时,命令行参数的配置非常重要,尤其是处理YUV文件时,需要明确指定输入/输出的格式、分辨率、帧率等参数。本文将详细分析FFmpeg命令的规则和要求,特别是针对YUV文件的输入和输出。1.FFmpeg命令的基本结构FFmpeg命令
- 音视频流媒体中的实 时 流式 传 输 (Realtime (progressive streaming)。streaming )和 顺 序 流式 传 输
学习嵌入式的小羊~
音视频ffmpeg
实时流式传输(RealtimeStreaming)和顺序流式传输(ProgressiveStreaming)是两种不同的视频传输方式,它们各自有不同的特点和应用场景:实时流式传输(RealtimeStreaming)定义:实时流式传输是指视频内容在被创建或捕获的同时进行传输。观众可以立即看到正在进行的直播内容。特点:实时性:内容几乎没有延迟地到达观众,这对于直播、体育赛事、新闻报道等场景非常重要。
- EasyNVR平台现已支持AAC、G711A及G711U音频编码格式
EasyNVR
EasyNVR问题解决aacg711音视频数据库视频监控安全
在视频监控和流媒体传输领域,音频与视频的质量和同步性是用户体验的关键因素。EasyNVR平台一直以来致力于为用户提供稳定、高效的音视频解决方案。然而,随着技术的发展和用户需求的多样化,平台在音频编码格式的支持上遇到了一些挑战。之前有客户反馈,在使用EasyNVR平台播放云端录像时没有声音。经排查发现,问题源于设备使用的是G711A音频编码格式,而当时EasyNVR平台仅支持AAC格式的云端录像音频
- 实现使用Python和OpenCV播放RTMP视频流媒体的WebRTC
FdviAutoit
pythonopencv媒体WebRTC
WebRTC(Web实时通信)是一种用于浏览器之间实时通信的开放标准。它可以在Web浏览器中实现音频、视频和数据的传输,为实时通信应用程序提供了强大的功能。本文将介绍如何使用Python和OpenCV库来实现通过RTMP(实时媒体传输协议)播放视频流,并结合WebRTC实现实时的视频通信。在开始之前,确保你已经安装了Python和相应的库。你可以使用pip命令来安装OpenCV和其他所需的库:pi
- NGINX-RTMP 框架详解及与SRS对比
Ryan-S
webrtcnginxffmpeg运维音视频
NGINX-RTMP框架详解及与SRS对比1.概述NGINX-RTMP是基于Nginx的第三方模块(由社区开发维护),专注于RTMP协议的流媒体处理,适用于直播推流、点播分发等场景。它通过扩展Nginx的能力,支持RTMP流接收、转码、录制及多协议输出(如HLS)。核心特点如下:2.核心功能推流与拉流:支持RTMP协议推流(如OBS推流)和拉流播放。转码与录制:集成FFmpeg进行实时转码(分辨率
- 【QT】- QUdpSocket
追心嵌入式
QTqt开发语言
QUdpSocket是Qt自带的一个类,属于Qt网络模块,用于进行UDP(用户数据报协议)通信。它提供了简便的接口来发送和接收UDP数据报(datagrams)。UDP是一种无连接的协议,适用于那些不需要确保数据可靠性和顺序的应用场景,比如实时游戏、流媒体、DNS请求等。QUdpSocket概述QUdpSocket继承自QAbstractSocket,可以用于进行基于UDP协议的数据发送和接收。它
- Licode简介及与SRS对比
Ryan-S
webrtcLicode
Licode是一个开源的WebRTC通信框架,专注于多人实时音视频互动(如视频会议),而SRS是一个通用的流媒体服务器,支持直播、低延迟流分发等场景。以下是两者的详细对比和Licode的核心解析:一、Licode核心解析1.定位与设计目标核心功能:基于WebRTC的多人实时音视频通信(SFU/MCU混合架构)。设计思想:分布式架构:支持横向扩展(多个节点组成集群)。房间管理:以“房间(Room)”
- NVR管理平台EasyNVR深度解析:RTSP协议应用及摄像机集成
EasyGBS
EasyNVR音视频安全视频监控
随着信息技术的飞速发展,智慧视频监控平台已成为现代社会安全管理与智能化建设的重要基石。在众多视频监控平台中,NVR管理平台EasyNVR凭借其高效性、兼容性和灵活性,赢得了广泛的赞誉和应用。RTSP协议主要用于控制声音或影像的多媒体串流。它允许客户端与服务器进行交互,从而控制流媒体的播放、暂停、停止、倒放、快进等操作。RTSP协议应用及原理1、应用场景:共装了几台网络摄像机,想要实现多台录像机同时
- 使用国标流媒体服务器查看监控摄像头视频流如何正确使用UDP及TCP协议?
EasyGBS
EasyGBSTCP协议国标流媒体服务器国标GB28181安防摄像头视频直播
用过国标流媒体服务器的朋友们应该都知道,GB28181协议是由公安部提出来的,能够对接公安部的网络系统,给安防带来了很大的便利性,我们的国标流媒体服务器就支持集成接入自己的平台,也能够对视频进行录像。使用国标流媒体服务器会有很多二次开发的可能,因为我们会提供丰富的二次开发接口。近期也有不少用户用https接入国标流媒体服务器,是一种十分实用的视频监控网页直播。有位开发者为了进行测试,在自己的现场环
- SRS分析及低延迟实现机制
Ryan-S
webrtc音视频
本文是关于SRS(SimpleRealtimeServer)的架构解析、性能优势以及低延迟实现机制的详细说明:一、SRS的核心架构SRS的架构设计以模块化、高性能、低延迟为核心目标,主要分为以下几个层次:1.进程模型单进程多线程:SRS默认采用单进程模型,通过多线程处理网络I/O、流媒体协议解析、转码等任务,减少进程间切换开销。多进程集群:支持通过--workers参数启动多个进程,充分利用多核C
- 音视频开发成长之路与音视频知识点总结
Linux服务器开发
音视频开发webrtcffmpeg音视频开发流媒体服务器开发webrtcFFmpeg嵌入式音视频开发
音视频涉及语音信号处理、数字图像处理、信息论、封装格式、编解码、流媒体协议、网络传输、渲染、算法等。在现实生活中,音视频发挥着越来越重要的作用,如视频会议、直播、短视频、播放器、语音聊天等。所以从事音视频开发是一件有意义的事情,机遇和挑战并存。本文将从:音视频开发基础、音视频高级成长、音视频工作方向、音视频开源库、音视频相关书籍,配套的学习资源等几个方面来进行介绍。那么我们该如何系统的学习音视频开
- FFmpeg:多媒体处理的瑞士军刀
我码玄黄
开源后端运维ffmpeg多媒体处理开源
FFmpeg:多媒体处理的瑞士军刀前言FFmpeg是一个功能强大且跨平台的开源多媒体框架,广泛应用于音视频处理领域。它由多个库和工具组成,能够处理各种音视频格式,涵盖编码、解码、转码、流处理等多种操作。无论是专业视频编辑软件,还是流媒体服务,FFmpeg都扮演着重要角色。本文将从其核心组件、常用命令、应用场景以及优势与挑战等方面,深入探讨FFmpeg的功能与价值。核心组件解析FFmpeg的强大功能
- 改善体验,降低成本,Akamai如何帮助球迷和平台实现双赢
Akamai中国
云计算网络服务器云服务云计算云原生akamai
Bitmovin是一家领先的视频基础设施供应商,主要服务于全球数字媒体公司和服务商。Bitmovin总部位于美国加利福尼亚州旧金山,在奥地利维也纳和克拉根福、伦敦、柏林、丹佛设有办事处。该公司在全球拥有超过400个客户,包括ClassPass、BBC、FuboTV、Hulu和Discovery等。Bitmovin一直身处行业创新和发展的前沿,曾经构建了全球首个商业化的自适应流媒体播放器,并部署了首
- 高并发架构设计漫谈
北雨南萍
音视频高并发
商业系统的架构设计知易行难,少有一蹴而就的。它往往是业务、技术、人员、时间的四重平衡与取舍。架构如下棋,如是见棋走子,不做提前两三步的预测和判断,通常难胜。当业务已经在系统上跑起来后,想要再改架构,积重难返。业务不等人,竞争对手进攻,决策层耐心有限,项目成员精力疲惫信心不在,何去何从?本文讨论的是面向商业的高并发系统,介绍了一种面向高并发的流媒体传输系统的架构设计,它和具体的业务关系不大。和自下而
- 流媒体娱乐服务平台在AWS上使用Presto作为大数据的交互式查询引擎的具体流程和代码
weixin_30777913
aws大数据python音视频
一家流媒体娱乐服务平台拥有庞大的用户群体和海量的数据。为了高效处理和分析这些数据,它选择了Presto作为其在AWSEMR上的大数据查询引擎。在AWSEMR上使用Presto取得了显著的成果和收获。这些成果不仅提升了数据查询效率,降低了运维成本,还促进了业务的创新与发展。实施过程:Presto集群部署:在AWSEMR上部署了Presto集群,该集群与HiveMetastore和AmazonS3集成
- python实现webrtc通过whep拉取实时音频流
眉梢i
webrtc音视频
需求背景:通过whep的方式从流媒体服务器平台(基于srs服务器改造的平台)拉取实时音频流,数据传递采用48khz、16bit、双声道音频流,接收到数据后,转换成16khz、16bit、单声道音频流,并将其以base64加密字节流方式通过websocket传递给第三方;1:通道及轨道的建立classAudioTrack(MediaStreamTrack):kind="audio"def__init
- pytthon实现webrtc通过whip推送实时流式音频流
眉梢i
webrtc音视频
需求背景:通过whip的方式推送流式的实时音频流到流媒体服务器平台(基于srs服务器改造的平台)数据传递采用48khz、16bit、双声道音频流,将需要发送的数据,从16khz、16bit、单声道音频流转换成所需传递的格式,并对源音频流进行大小切割,阻塞限速,按照实际播放器的一倍速进行推送;核心代码:1:将音频流转换成可传递的音频帧asyncdefbytes_to_audio_frames(sel
- prebuilt-ffmpeg-android: 为Android设备预先构建的FFmpeg支持多架构
古斯塔夫歼星炮
本文还有配套的精品资源,点击获取简介:FFmpeg是一个开源的多媒体处理框架,用于处理音频和视频的编码、解码、转换和流媒体操作。在Android平台上,由于多种硬件架构的存在,如armv7,armv7-neon,和x86,为应用集成FFmpeg通常需要复杂的交叉编译过程。prebuilt-ffmpeg-android项目预先为这些架构构建了FFmpeg库,简化了开发者的集成过程,从而避免了自己编译
- 【ffmpeg命令】RTMP推流
人才程序员
音视频基础大合集ffmpeg视频编解码实时音视频语音识别计算机视觉音视频视觉检测
文章目录前言推流是什么RTMP协议简介RTMP的基本概念RTMP的工作原理RTMP的优缺点ffmpegRTMP推流推流命令综合解释ffplay播放RTMP流总结前言在现代的视频直播中,RTMP(Real-TimeMessagingProtocol)是一种广泛使用的流媒体传输协议。它允许高效的实时视频和音频传输,是许多直播平台和应用的首选协议。FFmpeg是一个强大的多媒体处理工具,可以实现视频录制
- 不了解Sora?看完这篇文章你就懂了
KuaFuAI
人工智能AIGCchatgptDALL·E2agigptprompt
一、Sora的概念介绍2024年2月16日,OpenAI发布了“文生视频”(text-to-video)的大模型工具,Sora(利用自然语言描述,生成视频)。这个消息一经发出,全球社交主流媒体平台以及整个世界都再次被OpenAI震撼了。AI视频的高度一下子被Sora拉高了,要知道RunwayPika等文生视频工具,都还在突破几秒内的连贯性,而Sora已经可以直接生成长达60s的一镜到底视频,要知道
- freeswtch目录下modules.conf各个模块的介绍【freeswitch版本1.6.8】
狂爱代码的码农
VOIP那些事freeswitch
应用模块(applications)mod_abstraction:为其他模块提供抽象层,有助于简化模块开发,让开发者能在统一框架下开发新功能,减少与底层系统的直接交互,提高代码可移植性和可维护性。mod_av:处理音频和视频相关操作,可用于音视频会议、流媒体播放等场景,支持多种音视频编解码格式,实现音视频数据的采集、处理和传输。mod_avmd:主要用于音频和视频元数据处理,能提取、分析和管理音
- 基于dlib/face recognition人脸识别推拉流实现
#北极星star
人脸识别opencv计算机视觉人工智能
目录一.环境搭建二.推拉流代码三.人脸检测推拉流一.环境搭建1.下载RTSP服务器MediaMTX与FFmpegFFmpeg是一款功能强大的开源多媒体处理工具,而MediaMTX则是一个轻量级的流媒体服务器。两者结合,可以实现将本地视频或者实时摄像头画面推送到RTSP流,从而实现视频直播、监控等功能。FFmpeg:负责将本地视频或实时摄像头画面编码成RTSP流所需要的格式,并发送给MediaMTX
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,