最新文章
铁路图(railroad diagram)规则: 1.从左边界开始沿着轨道去到右边界。2.沿途,你将在圆框中遇到的是字面量,在方块中遇到的是规则或者描述。3.任何沿着轨道能走通的序列都是合法的。4.任何不能沿着轨道走通的序列都是非法的。5.每个末端只有一个竖条的铁路图允许在任何一对标记中间插入空白。而在末端有两个竖条的铁路图是不允许的。语法图(Syntax diagrams )又叫铁路图(railroad diagrams)是描述形式文法的一种方式。它是巴科斯范式或扩展巴科斯范式的图形化表示。最早使用语法图的书包括Niklaus Wirth写的“Pascal User Manual”(语法
像素鱼丸 2016-10-13 开发技巧 2358
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。1、npm install moduleNames:安装Node模块安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。npm install koa 默认会安装 koa 的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install koa@2.0 将包安装到全局环境中npm install -g 但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。
像素鱼丸 2016-10-11 Node.js 1733
如果在httpd.conf设置, 将会是全局的,下面是如何在虚拟主机中设置. 如何使用rewrite步骤: 1. 配置apache,启用rewrite机制,修改httpd.conf 在httpd.conf中启用rewrite LoadModule rewrite_module modules/mod_rewrite.so #如果没有这一行则在配置文件中添加这一行 2. 配置虚拟主机 修改 hosts文件添加你的 ip和域名对应,如下事例 127.0.0.1 www.xxx.com 在 http.conf文件中启用虚拟主机 # Virt
像素鱼丸 2016-10-11 运维 1442
问题: div class='item' id='outer' onclick="alert('outer')" div class='item' id='inner' onclick="alert('inner');" div class='item' id='core' onclick="alert('core')" co
像素鱼丸 2016-10-07 JavaScript 1173
用vuejs脚手架vue-cli创建的项目,如果要引入外部文件(第三方插件)的时候,要在webpack的配置文件中设置externals:webpack.base.conf.js的设置externals中‘swiper‘是键,对应的值一定的是插件swiper.js所定义的变量Swiper:之后再在根目录下的index.html文件里引入文件: script src="static/lib/swiper.js" /script ,注意:外部文件放在src里是不能被index.html所访问到的,故我放到根目录下得static文件夹里。这样子就可以在需要用到swiper.
像素鱼丸 2016-10-03 JavaScript 1540
SELECT user_id, group_id, COUNT(status) - SUM(status) AS contract FROM tp_contract GROUP BY user_id HAVING group_id = 18 AND COUNT(status) - SUM(status) 0 LIMIT 0,10select name as name1 from table1 where name1='aaa';上面的运行有问题, 字段别名不能直接在谓词部分引用,表别名可以。有人解释为MySql中列的别名本来是返
像素鱼丸 2016-09-26 MySQL 1166
使用workbench,如果你要批量更新或删除数据,一般会报“Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column”错误,这是Workbench的安全设置导致的,通过设置就可以处理。快速设置,直接在workbench里面的查询窗口输入“SET SQL_SAFE_UPDATES = 0;”就可以了。如果你想要图形界面设置,请继续。在workbench的菜单栏点击“edit-- Preferences”,然后会弹出对
像素鱼丸 2016-09-26 MySQL 1280
Oren Eini(又名Ayende Rahien)建议开发者尽量避免数据库的软删除操作,读者可能因此认为硬删除是合理的选择。作为对Ayende文章的回应,Udi Dahan强烈建议完全避免数据删除。所谓软删除主张在表中增加一个IsDeleted列以保持数据完整。如果某一行设置了IsDeleted标志列,那么这一行就被认为是已删除的。Ayende觉得这种方法“简单、容易理解、容易实现、容易沟通”,但“往往是错的”。问题在于: 删除一行或一个实体几乎总不是简单的事件。它不仅影响模型中的数据,还会影响模型的外观。所以我们才要有外键去确保不会出现“订单行”没有对应的父“订单”的
像素鱼丸 2016-09-26 MySQL 1138
GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET请求在URL中传送的参数是有长度限制的,而POST么有。对参数的数据类型,GET只接受ASCII字符,而POST没有限制。GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。GET参数通过URL传递,POST放在Request body中
像素鱼丸 2016-09-23 JavaScript 1067
在网页中调用html播放器, 结果还是有些视频虽然是mp4的,但可能因为太大(有3G),所以无法播放, 解决办法是使用vlc插件,Chrome以前,默认不启用这种插件, chrome v45以后已经无法使用该插件了, 在ie和火狐上, 还可以使用。 embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" toolbar="true" id="vlc" /embed script function getQueryString(name) { var reg = new RegExp("(
像素鱼丸 2016-09-22 开发工具 1824
方法一:正则分析法 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }调用方法: alert(GetQueryString("参数名1"
像素鱼丸 2016-09-20 JavaScript 983
这是因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间。另外实际操作过程中还发现这个问题还存在两种情况。(1)当DELETE后面跟条件的时候,则就会出现这个问题。如:delete from table_name where 条件删除数据后,数据表占用的空间大小不会变。(2)不跟条件直接delete的时候。如:delete from table_name清除了数据,同时数据表的空间也会变为0。这就存在了一个问题,在网站的实际运行过程中。经常会存在这样的附带条件删除数据的操作行为。天长日久,这不就在数
像素鱼丸 2016-09-19 MySQL 1068
作者:phodal链接:https://zhuanlan.zhihu.com/p/20548041来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Web本身就是跨平台的,这意味着这中间存在着无限的可能性。我是一名Web Developer,对于我来能用Web开发的事情就用Web来完成就好了——不需要编译,不需要等它编译完。我想到哪我就可以写到哪,我改到哪我就可以发生哪发生了变化。最近我在写Growth——一个帮助开发人员成长的应用,在近一个月的业余时间里,完成了这个应用的:移动应用版:Android、Windows Phone、iOS(等账号和上线)Web版桌面版
像素鱼丸 2016-09-17 CSS 1157
(1)Android Studio菜单Build- Generate Signed APK (2)弹出窗口 (3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过) 点击“Create new...”按钮创建密钥库 Key store path:密钥库文件的地址 Password/Confirm:密钥库的密码 Key: Alias:密钥名称 Password/Confirm:密钥密码 Validity(years)
像素鱼丸 2016-09-12 开发工具 1206
安卓项目结构图 Android 应用程序组件 应用程序组件是一个Android应用程序的基本构建块。这些组件由应用清单文件松耦合的组织。AndroidManifest.xml描述了应用程序的每个组件,以及他们如何交互。 以下是可以在Android应用程序中使用的四个主要组件: Activities 一个活动标识一个具有用户界面的单一屏幕。举个例子,一个邮件应用程序可以包含一个活动用于显示新邮件列表,另一个活动用来编写邮件,再一个活动来阅读邮件。当应用程序拥有多于一个活动,其中的一个会被标记为当应用程序启动的时候显示。 public class MainActivit
像素鱼丸 2016-09-12 开发工具 1137
Git 的工作流程如下:克隆 Git 资源作为工作目录。在克隆的资源上添加或修改文件。如果其他人修改了,你可以更新资源。在提交前查看修改。提交修改。在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。下图展示了 Git 的工作流程:
像素鱼丸 2016-09-11 开发工具 1417
今天在做前台页面的时候,应用了两个网上找到的JS效果,其中一个效果不起作用,FF下也没有报错,运用排除法发现是window.onload = function(){...}重复造成冲突,Google了一下,遇到这个问题的人还不少,通过查找资料和自己的实践验证,提供思路如下:比如在一个页面中有两个JavaScript 分别都用到了window.onload一个是:window.onload=function(a){...},另一个是:window.onload=function(b){...}这样就造成了一个JavaScript 运行不了(一般是前一个)。写成这样就可以了window.onloa
像素鱼丸 2016-09-11 JavaScript 1087
下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法,调用非常简单定义函数removeByValue进行元素删除function removeByValue(arr, val) { for(var i=0; i arr.length; i++) { if(arr[i] == val) { arr.splice(i, 1); break; } } } var somearray = ["mon", "tue"
像素鱼丸 2016-09-08 JavaScript 1019
JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。要取得Array的长度,直接访问length属性:var arr = [1, 2, 3.14, 'Hello', null, true]; arr.length; // 6请注意,直接给Array的length赋一个新的值会导致Array大小的变化:var arr = [1, 2, 3]; arr.length; // 3 arr.length = 6; arr; // arr变为[1, 2, 3, undefined, undefined, undefined] arr.le
像素鱼丸 2016-09-08 JavaScript 998
要计算1+2+3,我们可以直接写表达式:1 + 2 + 3; // 6要计算1+2+3+...+10,勉强也能写出来。但是,要计算1+2+3+...+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。JavaScript的循环有两种,一种是for循环,通过初始条件、结束条件和递增条件来循环执行语句块:var x = 0; var i; for (i=1; i =10000; i++) { x = x + i; } x; // 50005000让我们来分析一下for循环的控制条件:i=1 这是初始条件,将变量i置为1;i =
像素鱼丸 2016-09-08 JavaScript 1051
随机推荐
WordPress 用户信息
Windows 服务命令 sc
WordPress 自定义文章类型
Wordpress 使用 tag 标签获取文章列表的方法
Node.js 简介
Node.js net 模块
Node.js url 模块
选择排序