niecprea

niecprea 查看完整档案

临夏编辑  |  填写毕业院校  |  填写所在公司/组织 segmentfault.com/u/9900 编辑
编辑

Hello world!

个人动态

niecprea 发布了文章 · 2016-10-14

Java|序列化异常StreamCorruptedException的解决方法

参考:http://tristan1.iteye.com/blo...

    public void testDeserialize() throws IOException, ClassNotFoundException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        BigInteger bi = new BigInteger("0");
        oos.writeObject(bi);
        byte[] str = baos.toByteArray();
        ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new ByteArrayInputStream(str)));
        Object obj = ois.readObject();
        assertNotNull(obj);
        assertEquals(obj.getClass().getName(),"java.math.BigInteger");
        assertEquals(((BigInteger)obj).intValue(), 0);
    }

关键处理

byte[] str = baos.toByteArray();

查看原文

赞 0 收藏 0 评论 0

niecprea 发布了文章 · 2016-08-05

PHP|Yii2下通过插件进行图片处理(亲测可用)

开源的力量!

Step by step,可以安装好Yii2的图片处理插件。

亲测可用。

参考

http://www.yiichina.com/tutor...

查看原文

赞 0 收藏 3 评论 0

niecprea 发布了文章 · 2016-07-25

MySQL | Specified key was too long; max key length is 767 bytes

赞 0 收藏 0 评论 0

niecprea 发布了文章 · 2016-07-09

Linux|Ctrl + c/d 的区别 & 信号

赞 0 收藏 0 评论 0

niecprea 发布了文章 · 2016-07-04

XForms - 更强大的Form

赞 0 收藏 0 评论 0

niecprea 发布了文章 · 2016-07-04

PHP|一段PHP实现HTTP认证的代码

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
查看原文

赞 3 收藏 10 评论 0

niecprea 发布了文章 · 2016-07-03

学习|学习的奥秘

转自:

http://blog.jobbole.com/103173/

我五岁的儿子刚刚开始学习阅读。每天晚上,我们躺在床上,由他来读一段书给我听。不可避免的是,他常常碰到不理解的单词:昨天晚上这个单词是“gratefully”。经过一番相当痛苦的努力之后,他终于搞明白了这个单词的意思。然后他对我说,“爸爸,你是不是对我费这么大劲才弄懂这个单词感到不高兴呀?我认为我能感觉到我的大脑正在成长。” 我笑了:我儿子正向我描述“成长型思维模式”中的一个(坊间传说中的)标志性现象。这不是一个偶然事件。

最近,我已将过去几年的学习研究付诸实践:在我儿子已经擅长的事情上,我决定不再表扬他,但在一些对他而言极其艰难,必须经过努力才能完成的事情上,我会给予他积极的鼓励。我特意向他强调,你只要努力和坚持,你的大脑就能不断成长。结合深入研究学习型思维模式和我个人的实际生活经历,我越来越确信,一个人对学习的思维模式(学习心态)比任何我们希望传授的知识和技巧都重要。

You Can Learn Anything
研究人员早已发现,人类的大脑和肌肉组织非常相像。你使用得越多,大脑就成长得越快。他们还发现,当我们身处困境不断犯错,而不是轻易成功时,大脑中神经连接的形成和强化程度最高。

上述意思就是说,我们的智力不是固定不变的,促进我们大脑发育成长的最好办法就是:接受和适应那些在我们看来非常困难而且可能失败的任务和事情。

事实上,不是每个人都能认识这一点。斯坦福大学的卡罗尔·德韦克博士从事学习型思维模式研究已经几十年了。她发现人们在面对学习时,一般有两种思维模式:固定模式和成长模式,大多数人属于其中一种。一般情况下,持有固定型思维模式的人错误地相信,一个人要么聪明,要么不聪明,智力水平由基因决定,呈固定不变状态。持有成长型思维模式的人相信,一个人的能力和智力水平可以通过努力、尝试以及失败获得提升和成长。

德韦克发现那些具有固定型思维模式的人,更愿意把精力集中在那些在他们看来最容易成功的事情上,从而刻意规避那些看似限制他们学习的困难事项。具有成长型思维模式的人,情愿接受挑战,他们知道坚持和努力能够改变他们的最终学习结果。正如你所知,后一种人更倾向于主动推进自己向更高智力水平发展。

好消息是,思维模式是可以学习的,它具有很强的可塑性。德韦克和其他一些人已经开发出一套非常有趣的技巧,他们称之为“成长型思维模式介入疗法(interventions)”。实验结果显示,在日常交流或者看似无关紧要的评价中,即使极其微小的变化也能给一个人的思维模式带来持续性的影响。

例如,称赞一个人的做事过程,而不是他(她)与生俱来的特质或天分,就是一种强化成长型思维模式的有效方法。针对过程的赞扬是对努力的认同和认可;针对天分的赞扬,则在很大程度上强化了一种错误观念:一个人的成功必须依赖某些固定不变的特质。我们已经在可汗学院(Khan Academy)见证了这类现象:当我们通过表扬学生们的韧性和毅力,向他们强调大脑就像肌肉一样,需要不断磨练才能得以成长的时候,学生们就会在可汗学院花费更多的时间。

互联网是很多具有成长型思维模式人的一个梦想。在可汗学院、MOOCs(慕课)以及其他类型的网站上,有着前所未有的无边无际的内容,它们都能够帮助你开发你的大脑。但是目前看来,如果成长型思维模式在我们这个社会不能获得大范围认同的话,我们没有办法充分利用这些丰富的资源。因此,如果我们行动起来,积极地改变这种现状,将会发生什么呢?如果我们尽最大努力把成长型思维模式介入疗法应用到每一位我们关心的人身上,又将会发生什么呢?

这是一个意义深远程度远比可汗学院或者代数大得多的事情 – 它可以适用于你与你孩子如何沟通交流,你如何管理你的团队,你如何学习新的语言或者乐器。如果我们这个社会能从整体上开始接受这种基于成长型思维模式的学习观念,我们整个人类的潜力和潜能将无法估量。

而且,我这里还有一份让你惊喜的意外礼物。凭借阅读这篇文章,你已经学习了成长型思维模式介入疗法的前半部分。这项研究表明,一旦你了解了这项研究本身(例如,知道了我们大脑的成长发育,在很大程度上依赖犯错或失败,而不是成功),你的思维模式就会发生改变。这套介入疗法的后半部分,对你而言,就是将这项研究成果分享给他人。我们制作了一个视频,可以帮助你加速这一“疗程”。最后,当我的儿子、我关心的人,甚至任何人向我咨询学习的时候,我只需让他们了解一件事情。只要他们敢于拥抱困难和错误,他们可以学会任何事情。

查看原文

赞 0 收藏 4 评论 0

niecprea 发布了文章 · 2016-07-02

PHP|PHP引用的简单解释

引用

PHP的引用意味着我们可以用不同的名字来访问同样的内容。

指针也是一样的,可以有不同名字的指针,访问同样的内容。

但是,PHP的引用并不是指针。引用并不能访问内存。

实际上,我们可以把引用理解为Unix系统的硬链接

使用

<?php

$a = 'Hello world';
$b = &$a;

$a$b在这里是完全相同的,这并不是$a指向了$b或者相反,而是$a$b指向了同一个地方。

如果具有引用的数组被拷贝,其值不会解除引用。对于数组传值给函数也是如此。

如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。但是值会是null

除此之外,引用还可以用来做两件事:

  • 引用传递变量

  • 引用返回

引用返回

引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。

<?php
class foo {
    public $value = 42;

    public function &getValue() {
        return $this->value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue is a reference to $obj->value, which is 42.
$obj->value = 2;
echo $myValue;                // prints the new value of $obj->value, i.e. 2.
?>

Note: 和参数传递不同,这里必须在两个地方都用 & 符号——指出返回的是一个引用,而不是通常的一个拷贝,同样也指出 $myValue 是作为引用的绑定,而不是通常的赋值。

定位

许多 PHP 的语法结构是通过引用机制实现的.

  • global 引用

  • $this

当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。

<?php
    $var =& $GLOBALS["var"];
?>
查看原文

赞 0 收藏 5 评论 0

niecprea 发布了文章 · 2016-06-27

PHP|生成器方法替代原生range

关于生成器

当一个生成器被调用的时候,它返回一个可以被遍历的对象.当你遍历这个对象的时候(例如通过一个foreach循环),PHP 将会在每次需要值的时候调用生成器函数,并在产生一个值之后保存生成器的状态,这样它就可以在需要产生下一个值的时候恢复调用状态。

一旦不再需要产生更多的值,生成器函数可以简单退出,而调用生成器的代码还可以继续执行,就像一个数组已经被遍历完了。

Demo

标准的 range() 函数需要在内存中生成一个数组包含每一个在它范围内的值,然后返回该数组, 结果就是会产生多个很大的数组。 比如,调用 range(0, 1000000) 将导致内存占用超过 100 MB。

下面来用PHP的生成器,代替原生range,实现range的方法。

function xrange($start, $limit, $step = 1) {
    if ($start < $limit) {
        if ($step <= 0) {
            throw new LogicException('Step must be +ve');
        }

        for ($i = $start; $i <= $limit; $i += $step) {
            yield $i;
        }
    } else {
        if ($step >= 0) {
            throw new LogicException('Step must be -ve');
        }

        for ($i = $start; $i >= $limit; $i += $step) {
            yield $i;
        }
    }
}

Demo

echo 'Single digit odd numbers from range():  ';
foreach (range(1, 9, 2) as $number) {
    echo "$number ";
}
echo "\n";

echo 'Single digit odd numbers from xrange(): ';
foreach (xrange(1, 9, 2) as $number) {
    echo "$number ";
}

关闭一个生成器的注意事项:

https://wiki.php.net/rfc/generators#closing_a_generator

查看原文

赞 2 收藏 2 评论 2

niecprea 发布了文章 · 2016-06-23

PHP|一段Code

function getTotal($products_costs, $tax)
{
    $total = 0.00;
    
    $callback =
        function ($pricePerItem) use ($tax, &$total)
        {
            
            $total += $pricePerItem * ($tax + 1.0);
        };
    
    array_walk($products_costs, $callback);
    return round($total, 2);
}
查看原文

赞 0 收藏 0 评论 0

认证与成就

  • 获得 104 次点赞
  • 获得 3 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 3 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2015-08-07
个人主页被 1k 人浏览