面向对象设计里的设计模式之Proxy(代理)模式,相信很多朋友已经很熟悉了.比如我之前写过代理模式在Java中实现的两篇文章: Java代理设计模式(Proxy)的四种具体实现:静态代理和动态代理 Java动态代理之InvocationHandler最简单的入门教程 其实和Java一样,JavaScript从语言层面来讲,也提供了对代理这个设计模式的原生支持.我们用一个不到100行代码的例子来看看吧. 下面的代码创建了一个名叫Jerry的Employee对象,然后用函数hireEmployee雇…
  原文:http://www.html-js.com/article/JavaScript-version-100-lines-of-code-to-achieve-a-modern-version-of-Router 当前到处可见单页应用,而对于单页应用来说我们必须有一个有效的路由机制.像Emberjs就是建立在一个Router类上的框架.虽然我不是太确信这个是不是我喜欢的东东,但是肯定的是AbsurdJS必须有一个内置的Router.和这个框架中的其他功能一样,这个Router应该非常小巧…
FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手.我刚接触FFMPEG的时候也感觉不知从何学起. 因此我把自己做项目过程中实现的一个非常简单的视频播放器(大约100行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG. 该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频. 并且支持流媒体等多种视频输入,处于简单考虑,没有音频部分,同时视频播放采用直接延时40ms的方式 平台使用VC…
FFMPEG的文档少,JavaCV的文档就更少了.从网上找到这篇100行代码实现最简单的基于FFMPEG+SDL的视频播放器.地址是http://blog.csdn.net/leixiaohua1020/article/details/8652605. 用JavaCV重新实现并使用opencv_highgui进行显示. import com.googlecode.javacpp.IntPointer; import com.googlecode.javacpp.Pointer; import c…
转自:http://blog.csdn.net/leixiaohua1020/article/details/8652605 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 简介 流程图 simplest_ffmpeg_player标准版代码 simplest_ffmpeg_player_suSU版代码 结果 FFMPEG相关学习资料 补充问题   ===================================================== 最简单的基于…
经过开发群的长期验证,我们发现:即使代码只有5千多行,也不意味着能够轻松弄懂代码意图.痛定思痛,我们发现:虽然每个函数都很简单(平均长度约为30行),可以逐个击破:但各个函数之间如何协作,却很难说明清楚!由于Host Monitor太注重UI效果,技巧过于复杂,因而丢失了最简单,最核心的使用原理.为了帮助初学者理解GuiLite的核心使用原理,我们开发了Hello GuiLite程序,希望通过这100+行代码来揭示:GuiLite的初始化,界面元素Layout,及消息映射的过程.为了让界面生动有…
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引擎用的是 Python 的一个游戏库:pgzero.它是对 pygame 的一个封装,让你不需要写多余的套路代码,只要配置游戏的内容逻辑即可. 我们这个游戏用它来写,一共只需要100行代码. 首先需要安装 python 环境.这一步没搞定的同学,可以参考我们 python 入门教程:http://python…
本期我们给大家带来的是"画图"应用开发者Rick的分享,希望能给你的HarmonyOS开发之旅带来启发~ 介绍 2021年的华为开发者大会(HDC2021)上,HarmonyOS 发布了新一代的声明式UI框架--方舟开发框架(ArkUI).ArkUI框架引入了基于TS扩展的声明式开发范式,让开发变得更加简洁.高效! 已经有很多开发者在使用eTS(extended TypeScript)语言,基于声明式开发范式开发应用了.本期我们要介绍的就是eTS开发先行者Rick的分享--100行代码…
介绍 使用过 JavaScript框架(如 AngularJS, Backbone 或者Ember)的人都很熟悉在UI(用户界面,前端)中mvc的工作机理.这些框架实现了MVC,使得在一个单页面中实现根据需要变化视图时更加轻松,而模型-视图-控制器(mvc)的核心概念就是:处理传入请求的控制器.显示信息的视图.表示业务规则和数据访问的模型. 因此,当需要创建这样一个需要在单个页面中实现切换出不同内容的应用时,我们通常选择使用上述框架之一.但是,如果我们仅仅需要一个在一个url中实现视图切换的框架…
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由视频咖 发表于云+社区专栏 本文作者,shengcui,腾讯云高级开发工程师,负责移动客户端开发 最近抖音最近又带了一波合唱的节奏,老板看到后果然又是要尽快跟进,希望隔壁公司加薪的时候他也能作出如此反应. 功能看起来不复杂,就是把一个视频播放出来放一边,另一边显示摄像头的画面和源视频一起录制.单独录制和播放都还比较简单,但是左右合成就有点头大.网上搜了一圈都是些直播相关的文章,看了下没什么头绪.无奈之余翻翻SDK碰运气.之前做本地…
1.点击登录跳转到SSO登录页面并带上当前应用的callback地址2.登录成功后生成COOKIE并将COOKIE传给callback地址3.callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录4.再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态   <?php //index.php 应用程序页面 header('Content-Type:text/html; charset=utf-8'); $sso_address = 'http://2s…
1. 摘要 本文将基于RISC-V架构和qemu仿真器实现一个简单的多线程调度和管理框架, 旨在通过简单的代码阐明如何实现线程的上下文保存和切换, 线程的调度并非本文的重点, 故线程调度模块只是简单地采用了轮询的方式. 2. 上下文是什么 对于一个运行中的程序, 我们可以把它看作一个状态机, CPU每次执行一条指令会导致这个状态机从一个状态转换到另一个状态, 而这里的状态就是CPU的寄存器值和当前时刻内存的状态, 即state = (Regs, Mem). 一个程序的执行过程就是状态机状态迁移的…
转自:https://my.oschina.net/yaohonv/blog/1610096 本文为实现分布式任务调度系统中用到的一些关键技术点分享——Consistent Hashing算法原理和Java实现,以及效果测试. 背景介绍 一致性Hashing在分布式系统中经常会被用到, 用于尽可能地降低节点变动带来的数据迁移开销.Consistent Hashing算法在1997年就在论文Consistenthashing and random trees中被提出. 先来简单理解下Hash是解决…
经常使用爬虫的朋友对代理ip应该比较熟悉,代理ip就是可以模拟一个ip地址去访问某个网站.我们有时候需要爬取某个网站的大量信息时,可能由于我们爬的次数太多导致我们的ip被对方的服务器暂时屏蔽(也就是所谓的防爬虫防洪水的一种措施),这个时候就需要我们的代理ip出场了 思路分析(写爬虫前大家都必须要分析一下) https://www.xicidaili.com/ 上图就是我们的西刺代理网站,今天我们就是来拿它的数据,老司机一看这个界面就会自动右击鼠标->查看源代码, 我们会发现数据都在<tr>…
用过Spring框架的人一定都知道Spring的依赖注入控制反转;通俗的讲就是负责实例化对象 和 管理对象间的依赖 实现解耦. 我们来对比两段代码: UserController{ UserService userService = new UserService(); userService.insert(user); } UserController{ @Autowwired UserService userService; userService.insert(user); } 乍一看好像…
下载source - 32.3 KB 下载latest version from GituHub 介绍 在我 在关于CodeProject的前一篇文章中,我展示了一个简单的EPUB查看器 Android.从那时起,我收到了获取EPUB查看器的请求 显示嵌入在EPUB中的MPEG-4视频,这是EPUB 3.0的一个特性 规范.本文描述了如何使用一些 的局限性. 这篇文章将涵盖: 获得WebView的问题 控件显示视频.构建一个基本的Web服务器 在EPUB主持. Android的问题/限制 Med…
如果你构建过Web引用程序,你可能处理过很多DOM操作.访问和操作DOM元素几乎是每一个Web应用程序的通用需求.我们我们经常从不同的控件收集信息,我们需要设置value值,修改div或span标签的内容.当然有许多库能帮助处理这些行为,其中最流行的当属jQuery,已经成为事实上的标准.有事你并不需要jQuery提供每一样东西,所以在这篇文章中,我们将看看如何创建自己的类库来操作DOM元素. API 身为开发者的我们每天都要做决定.我相信在测试驱动开发中,我真的非常喜欢的一个事实是它迫使你在开…
备注:这个文章讲容器,讲的比较的浅显易懂.推荐,前期入行者看. 转: http://www.infoq.com/cn/articles/build-a-container-golang?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_news_clk Docker在2013年三月实现了开源发布,它的出现让软件开发行业对于现代化应用的打包以及部署方式发生了巨大的变化.紧随着Docker的…
蒲公英 · JELLY技术周刊 Vol.24 理解一个轮子最好的方法就是仿造一个轮子,很多框架都因此应运而生,比如面向 JS 开发者的 AI 工具 Danfo.js:参考 qiankun 的微前端框架 microcosmos:又比如 recoil-clone 这个库,只用百来行代码实现 recoil.青出于蓝而胜于蓝,才是推动轮子向前的不绝的动力源. 登高远眺 天高地迥,觉宇宙之无穷 基础技术 TC39: proposal-decorators 装饰器提案 TC39 对装饰器方案的研究已经有超过…
文章转自开源中国社区,编译自:Quora Quora上有个有趣的问题:Google工程师们每天写多少行代码? Google 的 AdMob 全栈工程师 Raymond Farias 在 Quora 发表评论表示:"我的同事最近和我分享了一组调查研究数据,一名高效的工程师每天能写100-150 行代码,我嘲笑了他,并表示这项预估值绝对要比实际值低很多." Raymond Farias 为了证明上述估计值的错误,决定以他在谷歌工作效率最高的一个月为例,并使用了 Google 的一个内部工具…
近期Github开源了一款基于Python开发.名为 Textshot 的截图工具,刚开源不到半个月已经500+Star. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:1097524789 这两天抽空看了一下Textshot的源码,的确是一个值得介绍的项目. 相对于大多数OCR…
最近看<CLR via C#(第4版)> 读到第五章末尾dynamic基元类型时,看了下作者的一个利用dynamic动态调用string类型的Contains方法(静态方法)的实现,突然发现这个不就是Ruby的method missing么!虽然当时已经夜深,仍忍不住起来试试,写了个利用Dynamic构建Xml的小Demo,非常有趣.于是有了本文. 所以,我当时想处理什么问题呢? Ruby的method missing机制,会ruby,用过ror框架(Ruby on Rails)的肯定见识过.…
提升程序员工作效率的工具/技巧推荐系列 推荐一个功能强大的文件搜索工具SearchMyFiles 介绍一个好用的免费流程图和UML绘制软件-Diagram Designer 介绍Windows任务管理器的替代者-Process Explorer 介绍一个强大的磁盘空间检测工具Space Sniffer 如何在电脑上比较两个相似文件的差异 程序员工作效率提升系列-推荐一个JSON文件查看和修改的小工具 将Chrome调试器里的JavaScript变量保存成本地JSON文件 这可能是史上最简单易用的…
快速排序有三大要素 分别是 第一:找基准值--key 第二:分区 第三:比较数字大小 先来看下快速排序流程: 基准值key选取了第一个元素78 基准值是可以任意一个元素 因为选择了最左边的数据,那么就从右边开始遍历 经过上一轮变化key变成了78 位置也变了,开始从key的左边遍历,当 i=j的时候,结束遍历,开始分区 分区后,每个区再进行上面的比较 继续分区,直到分区里面只有两个或者3个元素,分区后,每个分区继续比较 现在每个分区已经最小了,获得最后排列的值 Python实现过程(正序),一共…
一.前言 什么是模板引擎,说的简单点,就是一个字符串中有几个变量待定.比如: var tpl = 'Hei, my name is <%name%>, and I\'m <%age%> years old.'; 通过模板引擎函数把数据塞进去, var data = { "name": "Barret Lee", "age": "20" }; var result = tplEngine(tpl, dat…
Web SQL数据库API是一个独立的规范,在浏览器层面提供了本地对结构化数据的存储,已经被很多现代浏览器支持了. 我们通过一个简单的例子来了解下如何使用Web SQL API在浏览器端创建数据库表并存储数据. <!doctype html> <html> <head> <script> var end; function setupDB() { return this.createDatabase().then(createTable).then(inse…
目录 点亮LED灯 硬件连接 代码 闪烁的LED灯 呼吸灯 其他 点亮LED灯 硬件连接 找一个LED灯,连接如上图,注意长短引脚,经过这些年的狂轰乱炸,大家对于这个应该不漠视,毕竟Arduino都进教材了. 代码 我们先来看图形化的版本: from gpiozero import LED led = LED(17) led.on() 是的你没有看错,树莓派点亮LED只需要3行代码.只需要像Python的turtle编程一样导入需要用到的LED类,然后生成一个表示连接在17号GPIO引脚的LED…
从一行代码里面学点JavaScript 现如今,JavaScript无处不在,因此关于JavaScript的新知识也是层出不穷.JavaScript的特点在于,要学习它的语法入门简简单,但是要精通使用它的方式却是一件不容易的事. 来看看下面的这段代码,它来自于谷歌“名猿”Addy Osmani在几天前贴出的一段代码,它的作用是用来调试你的CSS层.全部代码只有三行,但是你绝对可以把它放在一行里面完成: [].forEach.call($$("*"),function(a){ a.sty…
js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型,多次想尝试提交个小游戏但总无法写出让自己满意还能控制在这么小的字节范围. 自己写不出来,站在巨人肩膀总是有机会吧,想起<基于HTML5的电信网管3D机房监控应用>这篇提到的threejs,babylonjs和Hightopo的几种基于WebGL的3D引擎,突然想挑战下自己实现个100行JS的3D小…
发发牢骚 移动web端里摸爬滚打这么久踩了不少坑,有一定移动web端经验的同学一定被click困扰过.我也不列外.一路走来被虐的不行,fastclick.touchend.iscroll什么的都用过,各有优劣,都不能一步到位.最后实在是被逼无奈,翻阅了不少资料,自定义了一个tap. 效果预览 废话不多说先上效果 移动端预览 一探真假 真的只有10行 插件是基于jQuery的,上代码. //自定义tap $(document).on("touchstart", function(e) {…