一.写在前面 视频点播,是一个曾经很热,现如今依然很热的一项视频服务技术.本人最近致力于研究将各种视频格式应用于点播系统中,现已研究成功FLV, F4V, MP4, TS格式的视频点播解决方案,完全支持以上格式中存放H.264编码视频的情况,并将继续研究其他格式. 这里有一点需要说明的是,F4V本来指的是Adobe基于ISO/IEC 14496-12标准推出来的视频格式,与MP4格式相同,但因为国内许多的视频网站,均把存放H.264编码视频的FLV文件标注为.f4v格式,而这种文件的点播实现方式…
公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网络库的使用.其设计与实现将有另文解说. 文件夹 由来 1 下载与编译 2 样例 2 基本结构 3 公开接口 4 内部实现 4 线程模型 5 结语 5 由来 半年前我写了一篇<学之者生,用之者死——ACE历史与简评>,当中提到“我心目中理想的网络库”的样子: 线程安全,支持多核多线程 不考虑可移植性…
SYNOPSIS CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ] DESCRIPTION 描述 CREATE SCHEMA 将在当前数据库里输入一个新的模式. 该模式名将在当前数据库里现存的所有模式名中唯一. 模式实际上是一个名字空间: 它包含命名对象(表,数据…
自己实现一个 DFA 串模式识别器 前言 这是我编译原理课程的实验.希望读完这篇文章的人即便不知道 NFA,DFA 和正规表达式是什么,也能够对它们有一个简单的理解,并能自己去实现一个能够识别特定模式的串模式识别器.它可能会像是这样: 输入一个正规表达式:(s.f.l*.e)|(a*.b*) 输入:"sfe" 输出:matched! 输入:"sflea" 输出:failed! 注:'.' (点字符)表示连接运算 ​ 文章分为两部分,理论背景:介绍相关概念和原理:程序…
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR分区,哪些分区是必要的,删除是否会影响系统运行. 建议初级读者先了解什么是BIOS+MBR和UEFI+GPT,再阅读以下内容,因为涉及的内容太多,这些知识点不作为本文的讨论内容,建议百度搜索:"BIOS+MBR"."UEFI+GPT"."BIOS+MBR UE…
在一个大型的分布式系统中,消息队列是不可缺少的中间件,能很好的解决异步消息.应用解耦.均衡并发等问题.在.net中,偶然发现一个效率不错.安全可靠.功能齐全的消息组件,忍不住翻译过来,供大家快速预览. 注:原作者用windows服务启动消息队列服务,但是本人在win10上测试出错,可自行改成控制台启动消息队列服务,然后用第三方工具注册服务(如:SrvanyUI) 原文:http://www.codeproject.com/Articles/193611/DotNetMQ-A-Complete-M…
Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看视频时肯定不流畅, 而且用户不能向前拖放, 用户体验很不好. 如果视频限速的速率很大或者不限速, 服务器是承受不了的, 特别是在某个热门视频高并发访问的情况下, 而且客户端浏览器也在快速的从服务器接收数据, 同样会造成客户端视频播放不流畅的问题, 对服务器的性能和网络带宽都是很大的挑战. 所以很有必…
IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定” 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令行工具,因为只有命令行才是最佳的人机交互工具.其实IDE也是底层也是调用命令行工具而已,只不过给普通开发者呈现一个更友好的开发界面.这里可不是宣扬让大家放弃IDE都改命令行,只是每种事物都有他存在的理由,无论是编程语言还是工具都是一个原则 “没有最好的,只有最合适的”. 前一段时间做一个人产品,发布…
1 什么是工厂模式? 工厂模式是用来创建对象的一种最常用的设计模式.我们不暴露创建对象的具体逻辑,而是将将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂.工厂模式根据抽象程度的不同可以分为:简单工厂,工厂方法和抽象工厂. 如果只接触过JavaScript这门语言的的人可能会对抽象这个词的概念有点模糊,因为JavaScript一直将abstract作为保留字而没有去实现它.如果不能很好的理解抽象的概念,那么就很难理解工厂模式中的三种方法的异同.所以,我们先以一个场景去简单的讲述一下抽象和工…
正规表达式的实现原理 ​ 上文讨论了串的模式的表达,即正规表达式.那么这一小节将讨论我们实现一个正规表达式的方法和原理.因为我们知道,一个正规表达式对应着一个串模式,而一个串模式又对应着一些列符合该模式描述的规则的串.那么,我们是否可以通过实现出正规表达式,从而实现对一个给定串的判别呢?答案是肯定的. 状态转换图 ​ 首先介绍,状态转换图. ​ 状态转换图是一个有向图,由节点和边组成.每个节点代表一个状态,状态之间用箭头连接,称为边.边上的字符表示从该边的出发节点读取一个该边上的字符后,可以抵达…
目录 1 场景引入 2 代码优化 2.1 解决增加粉丝问题 2.2 解决添加作品问题 3 观察者模式 4 经纪人登场 5 发布订阅模式 6 观察者模式和发布订阅模式的对比 什么是发布订阅模式?能手写实现一下吗?它和观察者模式有区别吗?... 1 场景引入 我们先来看这么一个场景: 假设现在有一个社交平台,平台上有一个大V叫Nami Nami很牛,多才多艺,目前她有2个技能:会写歌.会拍视频 她会把这些作品发布到平台上.关注她的粉丝就会接收到这些内容 现在他已经有3个粉丝了,分别是:Luffy.Z…
1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响应的MIME类型:pageEncoding:jsp页面的字符编码: include指令<%@ include file="path"%>静态包含,先包含,后编译处理: <jsp:include page="要包含的文件">  动态包含,先编译处理…
使用android studio开发程序时,有时会出现 waiting for debugger 卡住界面,软件无法正常debug运行的情况,很多网友分享了一些解决办法,比如: 1 打开cmd进入命令行,进入adb所在目录先后执行adb kill-server,adb start-server. 2 打开cmd进入命令行,输入netstat -ano|findstr "5037",找到除adb.exe以及Android Studio的PID,将其删除 3 重启电脑,重启手机. 然而上面…
func wrapCtx(handler func(ctx *gin.Context)) gin.HandlerFunc { return func(c *gin.Context) { //获取请求的url log.Info("当前请求url:%s", c.Request.RequestURI) token := c.GetHeader("token") log.Info("当前请求token:%s", token) //获取请求的body内容…
    一般的P2P系统,至少包含PC站点的前端和后端.前端系统的功能.能够參考"P2P系统哪家强,功能事实上都一样" http://blog.csdn.net/fansunion/article/details/46817473.后端系统.之前我都把它看作是一个普通的"Web管理系统". 后来接触到北京专门做"类金融"系统的公司,他们的P2P后端,号称"ERP".      就总体功能而言,非常不错.支持4种业务模式.能够參…
    一般的P2P系统,至少包括PC网站的前端和后端.前端系统的功能,可以参考"P2P系统哪家强,功能其实都一样" http://blog.csdn.net/fansunion/article/details/46817473.后端系统,之前我都把它看作是一个普通的"Web管理系统". 后来接触到北京专门做"类金融"系统的公司,他们的P2P后端,号称"ERP".      就整体功能而言,很不错,支持4种业务模式.可以参考&…
电子商务平台,是一个历史悠久而又充满挑战的行业,他和社交一起成为中国互联网市场的两极.电子商务系统是一个非常复杂的系统,他实现了人与物.人与人的链接,同时也需要大量的技术来支撑,实现系统的高可用.这些技术包括DevOPS.容器技术.领域驱动设计.物联网.微服务.全文检索等.电商涉及的技术体系非常庞大,对开发者来说是一个充满挑战的宝库,可以说电商业务的技术学习可以贯穿职业生涯的非常漫长的时间.不过在此之前,我们先实现一个最简单的理想模型 ,只考虑最简单的实现模式,下面这个项目是从一个典型的电商项目…
1.制作CentOS7安装盘 还是老套路,开局先制作安装盘,UltraISO软碟通,上图   (1) 打开UltraISO软件,选择"文件"-> "打开"选择linux系统镜像(iso文件)并"打开".   (2) 插入U盘,选择"启动"-> "写入硬盘镜像",硬盘驱动器选择做为系统盘的U盘,其他选项不需要改动.   (3) 点击"写入",等待刻录完成即可. 2.启动信息修改…
SimpleSSO 关于OAuth 2.0介绍: http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 系统效果: 登录界面: 首页: 应用界面: 编辑弹出框: 测试OAuth 2.0界面: 第三方授权界面(Demo演示的是implicit grant type): 说明: 初始化: 第一次运行,需要在SimpleSSO/Config/connectionStrings.config配置数据库连接,会自动生成数据库及测试数据(admin/12…
事实上在大部分互联网web产品中,我们一般会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便能够在这些统计系统中看到自己站点页面详细的訪问情况.可是有些时候,因为一些特殊情况,我们须要自己来设计统计系统.因为前段时间公司的业务需求,我也是自己尝试了下,本文提供的是一个基本思路,统计系统也比較简单.   几个基本统计需求: 1.统计web每一个页面用户訪问量 2.统计用户訪问者的和IP地址信息 3.页面之间的跳转情况 4.訪问高峰时间段   server结构: 数据库表设计:…
其实这个问题很简单,我用最简单的语言给大家描述一下,学习一样东西就要了解这样东西学完了要干什么事情,有什么作用.然后就是应该学习哪些必要的内容,该如何运用得当的方法进行有效率的学习不至于自己摸不着头脑,然后就是一直坚持下去,直到学成的那一天.思路屡清楚后,我们就开始说零基础如何自学Java开发. 首先,了解Java是干什么用的,简单来说就是做网站后台开发的企业级应用开发 .网站开发,如新BOS物流管理系统.企业协同OA项目.国家电力监测中心设 计资源管理系统.杰信商贸项目,那么现在企业都需要什么…
小白弄完代码版本管理和接口文档后,兴奋的找到老菜. 小白:老大,我已经按你讲的要求,将代码版本管理和接口文档都搞好了.从项目开始到现在,除了代码编写,感觉学会好多东西啊. 老菜:嗯嗯,实战确实需要掌握很多代码以外的东西.如果你只是想安静的做一位码农,别人安排什么你就做什么,其他事情别人搞定,那你只会写代码并没有什么问题.但是,如果你不安于现状,想要做的更好,熟悉开发整流程,从需求.产品.原型.文档.架构.数据库.编码.测试.服务器部署.调优......都有所了解,遇到问题都能信手拈来,那你就得多…
我 强调一点, 程序员 应该对 程序 有 控制感 . 过多的 控制反转 使 程序员 丧失了 对 程序 的 控制感 . 过多的 依赖注入 束缚了 程序员 的 创造力 . 过度复杂的 架构设计 束缚了 程序员 的 战斗力 . 我 提出一个 库 的 观念 .  按需 取用 库, 即插即用, 即拔即无 . 而不是像 框架 那样,   一来就给你 整一个 框架 套起来 . WebEasy     由 以下 库 组成 : 前端 :     jWebForm       https://www.cnblogs…
你是一个程序员,被派去管理公司500台计算机.这些机器可能需要执行一些自动化任务,一台台手动操作会把你累死.重复性的工作还是交给电脑处理,怎么解决这个问题呢?一个自动化的运维系统是必须的.自己实现的好处是直观,可以掌握运维的每一个环节. 思路 可以在这些电脑上安装一个程序,此程序定期执行一个请求,去我们的中心服务器上获取指令,然后执行这些指令就可以了.这些指令可以是一个脚本文件,但最通用的应该是一个包含指令的压缩包.大体的步骤就是:下载->解压->运行. 实现 客户端开发,C#开发一个wind…
背景 软件测试的最后有一道比较繁琐的工作,就是编写测试报告.手写测试报告在数据统计和分析上面要耗费比较大的事件和精力.之前工作室使用mantis管理bug缺陷.公司有内部有个系统,可以直接从mantis上面获取数据并进行统计,生成一份测试报告.后来换了一个工作室,bug缺陷管理平台也从原来的mantis 换成了redmine (http://www.redmine.org/ ). 然后走上了一条手写测试报告的不归路(测试人员前期还是推荐手写测试报告的).搞游戏的都知道,平时加班加点压力就够大的.…
1,Hexo如何在线可视化写博客:   可以试试这款插件 hexo-admin. 2,马克飞象:   一个非常好的 markdown 编辑器. 3,Hexo博客文章设置密码的方法: 首先,在Hexo中Markdown语言和html是混用的,因此可以直接在Markdown中直接插入script. 这里用到了windows对象的alert()方法和prompt()方法.prompt()方法的作用即是显示一个可提示用户输入的对话框(即“请输入密码”),而其本身的返回值就是你输入的那个字符串(即代码行里…
很长时间没有更新博客了,前一阵时间在做项目,里面有一个爬虫系统,然后就从里面整理了一点代码做成了一个简易的爬虫系统,还挺实用的. 简单说来,这个爬虫系统的功能就是:给定初始的链接池,然后设定一些参数,它就会自动开始抓取. 抓取采用的是宽度优先搜索,可以设定最大抓取深度.最多抓取的网页个数.站内抓取还是全网抓取. github地址:https://github.com/1049451037/my_simple_crawler/…
Cinema.cs类 [Serializable] // 电影院类 public class Cinema { public Cinema() { //二进制 SoldTickets = new List<Ticket>(); //时间表 Schedule = new Schedule(); //座位 Seats = new Dictionary<string, Seat>(); } public Schedule Schedule { get; set; } public Dic…
前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别).刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(GMM+HMM+NGRAM)概述).一段时间后老板就布置了具体任务:在我们公司自己的ARM芯片上基于kaldi搭建一个在线语音识别系统,三个人花三个月左右的时间完成.由于我们都是语音识别领域的小白,要求可以低些,就用传统的GMM-HMM来实现.说实话接到这个任务我们心里是有点没底的,不知道能不能按时完…
项目简介 novel 是一套基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离的学习型小说项目,配备详细的项目教程手把手教你从零开始开发上线一个生产级别的 Java 系统,由小说门户系统.作家后台管理系统.平台后台管理系统等多个子系统构成.包括小说推荐.作品检索.小说排行榜.小说阅读.小说评论.会员中心.作家专区.充值订阅.新闻发布等功能. 项目地址 后端项目(更新中):GitHub| 码云 后端微服务版本项目(待更新):GitHub |码云 前端项目(…