Welcome 微信登录

首页 / 操作系统 / Linux

Gulp自动化构建工具

Gulp自动化构建工具

gulp自动化构建工具,实时监控、代码合并、压缩...本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp。不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情。那就直接开始吧。第一步:安装Node首先,最基本也最重要的是,我们需要搭建node环境。访问http://nodejs.org,然后点击大大的绿色的install按钮,下载完成后直接运行程序,就一切准备就绪。npm会随着安装包一起...
Java定时器Timer简述

Java定时器Timer简述

概述主要用于Java线程里指定时间或周期运行任务。Timer是线程安全的,但不提供实时性(real-time)保证。构造函数Timer()默认构造函数。Timer(boolean)指定关联线程是否作为daemon线程。Timer(String)指定关联线程的名称。Timer(String, boolean)同时指定关联线程的名称和是否作为daemon。schdule方法schedule(TimerTask task, long delay)以当前时间为基准...
理解Javascript的状态容器Redux

理解Javascript的状态容器Redux

Redux要解决什么问题?随着 JavaScript 单页应用开发日趋复杂,JavaScript 需要管理比任何时候都要多的 state (状态)。 这些 state 可能包括服务器响应、缓存数据、本地生成尚未持久化到服务器的数据,也包括 UI 状态,如激活的路由,被选中的标签,是否显示加载动效或者分页器等等。管理不断变化的 state 非常困难。如果一个 model 的变化会引起另一个 model 变化,那么当 view 变化时,就可能引起对应 mode...
JVM工作原理

JVM工作原理

一、JVM生命周期Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main()方法的类名。 Main()方法是程序的起点,他被执行的线程初始化为程序的初始线程...
C语言递归回溯法迷宫求解

C语言递归回溯法迷宫求解

本例将随机产生一个10*10的迷宫输出后,在下面输出此迷宫的解法。解法为从坐标(1,1)处进入,从(8,8,)出去,优先线路为先右后下再上最后为左。不少人求解此题时运用的栈的相关知识,本例寻找线路的过程不运用进栈出栈,而是用回溯法“抹去”判断不行的线路。话不多说,上代码。#include <stdio.h>#include <stdlib.h>#include <time.h>//包括根据当前时间...
C++ 头文件系列(array)

C++ 头文件系列(array)

注意,该头文件仅在C++11中标准才开始出现。简介与语言内置的数组一样, array类模版支持几乎所有内置数组包含的特性:顺序的(sequence)内存连续的(contiguous storage)固定大小的(fixed-size)那既然与内置数组一样,为什么还要定义这样一个模版呢?C++委员会是想造轮子吗(-_-)?当然不是!为什么需要array?array模版类实际上是内置数组的聚合,外加一层封装。正是由于这层接口,才使得数组能与STL接轨,真正成为一...
C++类型引用浅析

C++类型引用浅析

引言从最早被Bjarne Stroustrup 发明,作为C语言的扩展,到广为人知C++98标准,再到最新的C++11、C++14和C++17标准,C++一直在不断地进步、演化。面向对象、泛型编程、模板、range based for、lamnda表达式,一个又一个强大的功能概念被不断地提出并最终采纳到标准当中。C++正在向着更加现代化的方向前进。然而,也许是因为C++包容的太多的缘故,它总有一些偏僻而生涩的角落,暗藏着陷阱,时常让用户迷惑。类型引用就是这...
Java枚举增强,提供更强的类型支持

Java枚举增强,提供更强的类型支持

在最新的JEP上显示,Java枚举将增强泛型支持,并能将方法添加到单个项目上去。这两个功能可以通过一次更改进行交付,原因是它们捆绑在了一起。更改仅仅会影响到Java编译器,因此不需要运行时更改。虽然没有目标版本,但可能会在Java 10中呈现更改。一开始这个更改没有得到很大的肯定,比如杰出的Java Champions Joshua Bloch就其实用性提出了质疑。然而,通过进一步的讨论和新用例的介绍帮助它逐步获得了支持。以防你没有看到我对@BrianGo...
jQuery验证表单格式

jQuery验证表单格式

工作之余整理一些工作中编写的代码,记录自己工作中的技术要点,便于自己记忆已经整合。以下是关于此jQuery验证的一些标记以及使用方法:整个js代码都放入jquery_validate_1.1.0.js中,通过一个匿名函数,jQuery的扩展方法,扩展方法为:initValidate函数,方法中带一个options配置参数,目前配置参数只有一个属性,{handlerUrl:""},提供是否需要后台请求验证的url地址。只需要对取验证的DOM绑定$("ID")...
Linux编程之定制带级别的log

Linux编程之定制带级别的log

我的开发组长曾经说过这么一段话“一个优秀的程序员不在于他写代码有多快,也不在于他能不能实现这个模块的功能,要实现业务实现功能谁不会啊,重要的是他的解决能力,也就说当程序出现错误时你能不能够快速定位到错误并解决它。”是的,我也非常赞同,代码不可能完美,也可能有千奇百怪的bug,尤其是新手,犯的错误就更多了,所以,我们写程序时应有自己的一套debug手段,有一套自己的LOG的方法,一旦程序发生错误,我们不需要再往程序中加繁琐的打印就可以...
Linux编程之给你的程序开后门

Linux编程之给你的程序开后门

这里说的“后门”并不是教你做坏事,而是让你做好事,搭建自己的调试工具更好地进行调试开发。我们都知道,当程序发生异常错误时,我们需要定位到错误,有时我们还想,我们在不修改程序的前提下,就能通过log来定位错误呢?有人会说,我在我的程序里加多点打印就好了,程序每做一步我就加一行打印,到时一查log就知道程序在哪一步死掉的了。这个方法在小程序里也许会行得通,但是,在一个大型系统,每秒的log达到几百条,那时我们怎么能在这繁多的log里找出...
<< 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 >>