前情提要 「 话说上回说到!那WebSocket大侠,巧借http之内力,破了敌阵的双工鸳鸯锁,终于突出重围. 然而玄难未了,此时web森林中飞出一只银头红缨枪,划破夜色. "莫非!?" websocket大侠喃喃念道,"恐怖如斯,你莫不是就是那个手使单向追魂枪的..." "正是在下!",那人厉声喝道.只见那胸前的纹章铭刻着几个洋文—— 读作"EventSource"!」 上一篇文章请看这里:论一个低配版Web实时通信库是如何…
引论 simple-socket是我写的一个"低配版"的Web实时通信工具(相对于Socket.io),在参考了相关源码和资料的基础上,实现了前后端实时互通的基本功能 选用了WebSocket ->server-sent-event -> AJAX轮询这三种方式做降级兼容,分为simple-socket-client和simple-socket-server两套代码, 并实现了最简化的API: 前后端各自通过connect事件触发,获取各自的socket对象 前端通过soc…
在Spring中,我们可以通过 @Autowired注解的方式为一个方法中注入参数,那么这种方法背后到底发生了什么呢,这篇文章将讲述如何用Java的注解和反射实现一个“低配版”的依赖注入. 下面是我们要做的一些事情: 通过 @interface的方式定义一个注解 为某个希望杯被注入的方法添加这个注解 编写测试代码,通过反射获取添加了注解的方法对应的Method对象,将该方法对象设置为可访问的,通过反射创建对象并调用这个方法,同时注入依赖数据 如上所述,我们分为三个步骤, 去加工出这个低配版的依赖…
mock翻译过来是模仿的意思,Server是服务器.粗暴点直译就是模仿服务器. 写在前面 通过阅读本文,你将对Mock的使用有一定的了解,对前后端分离的概念有了更深一步的认识,对Koa的使用有一定的了解.本文先从背景出发去抛出"我们为什么要用Mock?"的灵魂拷问,紧接着我们通过Mock在前后端的使用来进行实战落地,最后我们再总结回顾,展望高配版的Mock Server. 本文不会像念经一样把官方文档的API抄一遍告诉读者这个怎么用,那个怎么用,更多地是提供一个思路或者想法以及项目的落…
导言 最近发掘了一个特别happy的网页小游戏--MikuTap.打开之后沉迷了一下午,导致开发工作没做完差点就要删库跑路了,还好boss瞥了我一眼就没下文了.于是第二天我就继续沉迷,随着一阵抽搐,这个游戏索然无味之后,冷静的我决定用canvas和web audio开发出一个低配版MikuTap. 先放上游戏的原链接: https://aidn.jp/mikutap/ 再放上我的高仿低配链接: http://weapp.zzuzsj.cn/zmiku 恬不知耻地再git库链接: https://…
随着项目的不断增多,最开始单体项目手动执行 docker build 命令,手动发布项目就不再适用了.一两个项目可能还吃得消,10 多个项目每天让你构建一次还是够呛.即便你的项目少,每次花费在发布上面的时间累计起来都够你改几个 BUG 了. 所以我们需要自动化这个流程,让项目的发布和测试不再这么繁琐.在这里我使用了 Jenkins 作为基础的 CI/CD Pipeline 工具,关于 Jenkins 的具体介绍这里就不再赘述.在版本管理.构建项目.单元测试.集成测试.环境部署我分别使用到了 Go…
react项目低配版,可作为react相关测试的基础环境,方便快速进行测试. git clone git@github.com:whosMeya/simple-react-app.git git checkout v1.0.0 GitHub地址: simple-react-app v1.0.0 项目搭建过程如下 项目初始化 # 新建文件夹 mkdir simple-react-app # 进入文件夹 cd ./simple-react-app # npm初始化 -y参数表示使用默认配置,执行后会…
package Thread;import javax.xml.bind.ValidationEvent;class snacks{    private int  SaledSnacks=0;    private int  TotalSnacksNum=10; //初始化小吃店开始有10个面包    private int  TOTALtimeOFSALE=0;    public synchronized boolean salesnacks() {        if (TotalSna…
根据我上个随笔的unittest框架优化得来,虽然对于smtp模块还是有点迷糊,不过还是勉强搭建运行成功了,还是先上代码: #login_test.py import requests class Login(): def test_login(self,username,password): url = "http://localhost:8080r/login" user_pwd = {} user_pwd["mobilephone"] = username u…
在各种内存CPU核心只有1/2核,内存只有512M/1G的vps下,内存.CPU.硬盘都不是太充裕.因此主要思路是,禁止吃内存大户innodb引擎,默认使用MyISAM.禁止吃硬盘大户log-bin,再调节一些参数到合适的数值. [mysql] # CLIENT # port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld] # GENERAL # user = mysql default-storage-engine = MyISAM d…
import java.util.*; public class Dome{ public static void addSname(String[] students){ Scanner sc = new Scanner(System.in); for(int i=0;i<students.length;i++){ System.out.println("存储第"+(i+1)+"个姓名:"); students[i] = sc.next(); } } pub…
先熟悉一下基本语法(运行环境是装git的时候一起装的那个windows下的bash): #!/bin/bash # 实现两个函数 # appendToFile()追加一行到文件 # readFile()把文件中所有内容逐行写到控制台 echo "welcome to bash!" echo 'welcome to bash!' printf '%-5s %-10s %-4s\n' No Name Mark printf Jack 20.012 # welcome to bash! #…
国内外最全面和主流的JS框架与WEB UI库...   当下对于网站前段开发人员来说,很少有人不使用一些JS框架或者WEB UI库,因此这些可以有效提高网站前段开发速度,并且能够统一开发环境,对于不同浏览器的兼容性也不需要程序员操心,有了这些优点,当然大家都会使用这些框架或库. 本文整理了国内外最全面和主流的JS框架与WEB UI库,里面有许多人已经十分熟悉,比如JQUERY.当然也有很多是陌生的,可以通过本文了解他们各自的优缺点,或许你能找到更好用的也说不定! 几乎所有的富 Web 应用都基于…
当下对于网站前段开发人员来说,很少有人不使用一些JS框架或者WEB UI库,因此这些可以有效提高网站前段开发速度,并且能够统一开发环境,对于不同浏览器的兼容性也不需要程序员操心,有了这些优点,当然大家都会使用这些框架或库. 本文整理了国内外最全面和主流的JS框架与WEB UI库,里面有许多人已经十分熟悉,比如JQUERY.当然也有很多是陌生的,可以通过本文了解他们各自的优缺点,或许你能找到更好用的也说不定! 几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架,这些 UI 库与框架…
最后,最容易忘记的是:在dao层中 调用xml里的删除sql语句 后面需要人为加上事务提交.一定要! sqlSession.commit();//jdbc是自动提交,但是mybatis中不是自动提交的 页面每个动作对应一个servlet. jsp中 需要向servlet传参,post或get post方式? 在没有表单的时候 jsp如何向servlet传参,很重要,传一个id ,判断删除哪个id 完成一个servlet 就要在web.xml里面配一个映射,这样就有一个路径供我们 使用????? …
在HTML 中使用JavaScript <script>元素 在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属性.然后,像下面这样把 JavaScript 代码直接放在元素内部即可: <script type="text/javascript"> function sayHi(){ alert("Hi!"); } </script> 包含在<scr…
JavaScript 风格指导(Airbnb版) 用更合理的方式写 JavaScript 原文 翻译自 Airbnb JavaScript Style Guide . 目录 类型 引用 对象 数组 解构 字符串 函数 箭头函数 构造函数 模块 Iterators & Generators 属性 变量 提升 比较运算符 & 等号 代码块 注释 空白 逗号 分号 类型转换 命名规则 存取器 事件 jQuery ECMAScript 5 兼容性 ECMAScript 6 编码规范 测试 性能 资…
转自 http://my.oschina.net/cart/blog/282477 做前端开发不短了,用过jQuery Mobile jqMobi 也纯手工写过.. 最后总结如下: jQuery Mobile:适合大而全,兼容性高,功能全,但是文件大,略显臃肿..如果你是网页版.手机版共用jquery库等 适合使用jQuery Mobile. jqMobi:适合单独就是手机版的站,体积小,速度快,但是兼容性没有jQuery Mobile好,功能没有jQuery Mobile全,但是一般也够用啦.…
译者注:原文作者研究了近2.4万篇 JavaScript 文章得出这篇总结,全文包含学习指南.新人上手.Webpack.性能.基础概念.函数式编程.面试.教程案例.Async Await.并发.V8.机器学习.数据可视化.调试.单元测试等章节,非常适合用于对自己 JavaScript 技术栈的比对,用于查漏补缺,适合收藏阅读.有删减.文中如有错误,欢迎评论指出. 在过去的一年间(2017年),我们对比了近24000篇 JavaScript 文章,并从中挑选出了最好的55篇.我们做了这个目录,认为…
前面两篇文章使用了Ajax long polling和WebSocket两种常用的Web实时通信方式构建了简单的聊天程序. 但是,由于浏览器的兼容问题,不是所有的环境都可以使用WebSocket这种比较好的方式.也就是说,根据浏览器或者环境的不同,客户端和服务端可能需要使用不同的通信方式. Socket.IO简介 为了解决上面的问题,Socket.IO就出现了. Socket.IO是一个基于Nodejs的,用于实时通信的一个软件包(包括client端和server端),Socket.IO完全由J…
从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言. JavaScript,尽管它的语法和编程风格与 Java 都很相似,但它却不是 Java 的“轻量级”版本,甚至与 Java 没有任何关系. JavaScript 是一种全新的动态语言,它植根于全球数亿网民都在使用的 Web 浏览器之中,致力于增强网站和 Web…
前面两篇文章使用了Ajax long polling和WebSocket两种常用的Web实时通信方式构建了简单的聊天程序. 但是,由于浏览器的兼容问题,不是所有的环境都可以使用WebSocket这种比较好的方式.也就是说,根据浏览器或者环境的不同,客户端和服务端可能需要使用不同的通信方式. Socket.IO简介 为了解决上面的问题,Socket.IO就出现了. Socket.IO是一个基于Nodejs的,用于实时通信的一个软件包(包括client端和server端),Socket.IO完全由J…
原文:bit.ly/2VJxjxQ 作者:Richard 翻译:精致码农-王亮 说明:文中有大量的超链接,这些链接在公众号文章中被自动剔除,一部分包含超链接列表的小段落被我删减了,如果你对此感兴趣,请参考阅读原文. 我们很高兴地发布了 .NET 6 预览版 7.这是我们进入(两个)候选发布版(RC)之前的最后一个预览版.在我们放慢发布速度之前,团队一直在萤窗雪案,以完成最后一组功能.在这个版本中,你将看到各功能的最后一次抛光,一次到位地整合整个版本的大型功能.从此时起,团队将专注于使所有的功能达…
RSuite http://rsuite.github.io RSuite 是一个基于 React.js 开发的 Web 组件库,参考 Bootstrap 设计,提供其中常用组件,支持响应式布局. 我们的目标就是让 WEB 开发更快捷,同时具有一定的灵活性和扩展性. 一个简单的例子: 通过 npm 安装 npm install rsuite CSS: 我们提供一些主题, 载入对应的 CSS 资源到你的页面中,同时你也可以直接引用 Bootstrap 的 CSS . Javascript: 比如在…
<JavaScript权威指南 第六版 中文版> 第二章 词法结构 2.1字符集 JavaScript是使用Unicode字符集编码写的. 2.1.1区分大小写 JavaScript是区分大小写的语言.也就是说,关键字.变量.函数名和所有的标识符都需要采用一致的大小写形式. 许多客户端JavaScript对象和属性与它们所表示的HTML标签和属性同名.在HTML中这些标签和属性名可以使用大写,而在JavaScript中则必须使用小写 2.1.2空格.换行符和格式控制符 JavaScript会忽…
在进行Web开发时,并非所有的库都适合你的项目,但你仍需要收藏一些Web UI设计相关的库或框架,以在你需要的时候,加快你的开发效率. 本文为你带来10款非常优秀的基于JavaScript的Web UI设计资源. 1.  XUI:JavaScript微型框架 这是一个“轻量级.非常简单.微型.超级模块化”的JavaScript框架,用于创建移动Web应用.该框架如此轻量级的原因是一些与浏览器兼容相关的代码被剥离. 2.  iUI:iPhone UI 框架 该框架由JavaScript库.CSS和…
基于gSOAP使用头文件的C语言版web service开发过程例子 一服务端 1 打开VS2005,创建一个工程,命名为calcServer. 2 添加一个头文件calc.h,编辑内容如下: 1//gsoap ns service name:   calc 2//gsoap ns  service port:  http://localhost/calc.wsdl 3//gsoap ns service location:   http://localhost 4//gsoap ns serv…
   JavaScript是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.JavaScript的语法源自Java,它的一等函数(first-class function)来自于Scheme,它的基于原型(prototype-based)的继承来自于Self.   JavaScript语言核心针对文本.数组.日期和正则表达式的操作定义了很少的API,但是这些API不包括输入输出功能.输入和输出功能(类似网络.存储和图形相关的复杂特性)是由JavaScript所属的"宿主…
为了让用户更好地了解您的产品功能,您在发布新产品或者升级产品功能的时候,不妨使用一个产品介绍的向导,引导用户熟悉产品功能和流程.本文将给您介绍一款优秀的用于产品介绍的WEB应用. 就像微博或邮箱这类WEB产品升级一样,使用Guiders.js构建的应用,用户将会看到一些列的弹出层,这些弹出层可以定位到页面上的任意位置,引导用户一步步浏览,最后退出向导.Guiders.js是一款基于jquery的web应用插件,作者是jeff-optimizely.下面我们来介绍如何在实际项目中应用. 准备 加入…
免费打工仔:一个完善的ActiveX Web控件教程 出自Ogre3D开放资源地带   跳转到: 导航, 搜索 原作者 David Marcionek. 翻译 免费打工仔 这个教程可以帮助你快速开发一个ActiveX控件.其中将要讲解关于ActiveX开发的一些基础概念,诸如方法(method).属性(propertiy)和事件(event),以及ActiveX控件和网页之间的通讯方法. 下载演示程序 - 231 Kb 目录 [隐藏] 1 介绍 2 创建一个ActiveX控件 3 加入对GIF动…