标签 知识 下的文章

AngularJS 动态参数传值问题

今天完整的练了个手,结果踩到不少坑,其中一个是传参数的问题,我希望用绑定好的msg去传参,结果就遇到问题了。

当时写的是app.addMessage({{msg}})结果一直报错,坑爹。查了一下才知道,如果使用{{ }}相当于转换为一个常量,而这里需要传入的是变量,所以直接这么写就行了:

app.addMessage(msg)

参考:https://cnodejs.org/topic/5305cb2e6c0325e50137797d

Rails 关于Rails那些奇奇怪怪的新手笔记

这两天属于北京填鸭式的给自己灌输了一堆Rails的知识,其实心挺累的,最后几乎看不进去了……

首先先说明,当Rails创建Controller\Model之类的同时,他会创建一堆方法!!!
首先先说明,当Rails创建Controller\Model之类的同时,他会创建一堆方法!!!
首先先说明,当Rails创建Controller\Model之类的同时,他会创建一堆方法!!!

因为很重要所以要说三遍。

这里也就是草稿的集合,具体请查询相关教程手册。

- 阅读剩余部分 -

Rails 实现用户登录存取Session思路总结

《Ruby On Rails Tutorial 中文版》中的第八章,把思路总结了一下,大概是Session构建的9个过程:

第一步:新建controller

执行:rails generate controller Sessions,同时会创建一个Helper,之后我们会反复使用

第二步:定义路由

在routes.rb中追加:resources :sessions, only: [:new, :create, :destroy]

追加完毕之后,我们还需要写一下match:

match '/signin',  to: 'sessions#new', via: 'get'
match '/signout', to: 'sessions#destroy', via: 'delete'

- 阅读剩余部分 -

Java 单例设计模式的两种实现

在看视频教程的时候看到的第一种设计模式,总体而言还是比较简单的,单例设计模式是限制实例化,只能有一个实例,就是所谓的单例。

实际上,只要做到三点就满足了单例设计模式:

  1. 构造函数私有化
  2. 类中创建一个实例对象
  3. 提供一个方法获取该对象

- 阅读剩余部分 -

CentOS PHP开启和关闭错误提示

为了避免各个不同的Linux/Unix系统的文件路径不一样,还是加了CentOS的前缀。

文件位置在\etc\php.ini打开之后找到display_errors = On改成Off关闭,On开启。

如果只是某一个文件需要关闭,那么只需要用error_reporting函数就可以了。


<?php

// 关闭所有PHP错误报告
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// 报告 E_NOTICE也挺好 (报告未初始化的变量
// 或者捕获变量名的错误拼写)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// 除了 E_NOTICE,报告其他所有错误
// 这是在 php.ini 里的默认设置
error_reporting(E_ALL ^ E_NOTICE);

// 报告所有 PHP 错误 (参见 changelog)
error_reporting(E_ALL);

// 报告所有 PHP 错误
error_reporting(-1);

// 和 error_reporting(E_ALL); 一样
ini_set('error_reporting', E_ALL);

?>

具体见官方文档

需要注意的是,如果全局没有打开display_errors,那么error_reporting函数就算设置了也是没有用的。

Mac OSX PHP安装mcrypt指南

在Laravel时我发现无法正常使用,于是开始折腾。
报错:

undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
类似于这样。

于是要查了一下,要安装这个模块:brew install mcrypt,成功,接下来根据PHP,当时我的是5.4的,运行了一下:brew install php54-mcrypt,失败。

查了一下先执行安装:

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

安装完毕后在此运行,然后重启apache,发现没用,phpinfo()里也没有显示,于是抱着试试看的心态运行了brew install php55-mcrypt,万万没想到!然后默默的就变成php5.5了……但是php -v仍然是5.4。运行brew link --overwrite php55,此时指向5.5了,但是仍然不行。

网上说,在php.ini里写入extension=mcrypt.so就行了。
但是关键是,php.ini和mcrypt.so的位置我都不知道。

再次抱着试试看的心态,我运行了:brew link php55-mcrypt,成功获得了mcrypt的地址。
然后:
sudo vim /etc/php.ini
写入:
extension=/usr/local/Cellar/php55-mcrypt/5.5.23/mcrypt.so

重启apache,搞定。

在OSX中,重启apache的命令是:sudo apachectl restart

jQuery 获取元素位置的两个方法

offset():
获取匹配元素在当前视口的相对偏移。
返回的对象包含两个整形属性:top 和 left。此方法只对可见元素有效。
position():
获取匹配元素相对父元素的偏移。
返回的对象包含两个整形属性:top 和 left。为精确计算结果,请在补白、边框和填充属性上使用像素单位。此方法只对可见元素有效。

well,方便计算偏差和定位有木有!

使用起来:$(element).offset().top,like that