最新发表

平凡之路

毕业那天,班长提议全班同学坐成一个圈, 每个人在纸条上写一个自己的秘密, 传给左边的人,这样每人分享一个自己秘密的同时也保守了一个别人的秘密。 我故意坐在她的左边。暗恋四年却没敢表白, 能知道一个她的秘密也好,我安慰自己。 传来的纸条上只有三个字:我爱你。

“再说,我理解的平凡也不是老婆孩子热炕头的那种平凡。当我写这两个字的时候,正好在看《佛陀传》,我心里想到的是佛陀。你说佛陀平凡不平凡?太平凡了,可他那么伟大。”所以朴树说的平凡是千帆历经后的淡然,不是你一步未行的自我楚怜!朴树是斗士,从来不是鸡汤师。

愿历经千帆,仍归来似少年;愿历经冷暖,仍心存炽热。

口算题

经常跟瑞瑞一起练习口算,比如一百以内的加减,个位数乘法…哦,还有乘法分解,比如我说“四十”,她就说“五八四十”!

于是昨天早上送她去上课,我看着时间还早,就顺口朝她来了一句“二十七”,她想都没想就回答我“二十七,宰公鸡”……恩,宰公鸡……

脑补:小孩小孩你别跑,过了二八就是年,二十三,糖罐粘,二十四,扫房子,二十五,磨豆腐,二十六,去买肉2,二十七,宰公鸡,二十八,把面发,二十九,蒸馒头,三十晚上闹一宿,大年初一扭一扭。

俺们的经典语录,聊作纪念

悟以往之段子,知来者之逗比。

是什么让他们上课睡不着觉要掺同桌耳屎?是解题方法让他们如此痴迷?又是什么遗传病只传男不传女?谁是豌豆先生?谁又是周记名头的来源?一切疑问的答案,尽在八班之”轶事”

时间未知 数…mT:“今天又遭媳妇儿欺负了。”s:“老师你可以欺负她一辈子。”mT指了指我们:“一个二个的都长大了……”

160919 物…pT:“我讲到第几点了?”s:“四点三十六了。”

160328晚自…鼻涕声*1,吸奶声*1如此重复n次,某人才醒悟过来,对着同桌:“你怎么不提醒我?”

160330 数…来自mT对自身职业最真诚的总结:“一天都是站台、吸粉、卖声。”

160331 G…晚自习下,住读生接着英语课上的Cast Away继续看,下面是我听见的基友对话:“我有情人梅,只有一个了。”“我们一起吃吧。”

160401 数…某同学课上来一句:“放屁!”mT激动得拿起一本笔记本就想掺人(这里是作者对老师情绪的文字化表达稍稍地夸大)。难道只有我注意到了本子上KEEP CLAM几个大写字母吗?

160401 数…ss:“祝T节日快乐!”mT:“清明还是愚人?”

160404 G…我们有这样难得的练字时光。s:“你这个拿笔姿势不对。”(偷笑)

160404 G…“这是哪个的字帖?田英章同学、庞中华同学……”

160405 (估计是数学课)mT:“当你们十几岁有儿子的时候……”(那是什么样子……∩__∩)

160406 音…正在观《放牛班的春天》,影片情节:“我们还是朋友吗?5+3等于几?”“53。”

160406 化…CT:“实行人造人……”下面同学的表情:^V^ CT:“人造机器人。”ss:“哦哦。”

160406 生…“我妈妈大学是学计算器的。”你比较6。

160407 数…“上课困了就掺同桌一耳屎。”mT又补充到:“他就会掺回来的。”嗦嘎(-.-)

160407 G…s1:“你做完哪些作业?”s2:“昨天的。”s3:“暑假的。”

160407 晚…语文晚自习正在放演讲的视频,字幕下面有这样一行字:“加空姐QQ*******,更多给力视频。”

160414 英…eT教案里面的一个例子:“The moment I saw him I knew he was my brother.”WHAT鬼?

160418 数…进了大学,大一说一定要追女神,大二说要追一个漂亮的,大三觉得只要是个女的就行了,到了大四就发现,其实室友也挺不错的。

160420 G…几个同学在一起吃饭,一同学发现旁边人的菜分量跟自己的不一样,便吐槽道:“你的肉为什么比我多?”“因为我长得比较乖。”众人反应过来以后,旁边一个傻妞笑到起问:“你刚才是不是说的当然?”

160525 数…mT:“之前有个同学考试太紧张然后吐了,我刚好监考,就说:‘这次的题把你恶心到了迈?’”

160526 数…mT:“老师们就是奉旨来奉献的(ง •_•)ง。”(台下掌声)

160526 英…教案里单词的中文释义“自传”打成了“自别”。s1:“老师你字打错了。”eT转过去核对了一下再回答:“不要在意这些细节。”s2:“可是考试不得分啊!”

160530 语…(有个题的题目是:“用四个字给你的家乡做标语”)cT:“.这是哪个同学写的‘最终归宿——丰都名山’?”(丰都素有“鬼城”的称号)

WordPress 发布/更新文章、提交/审核评论自动清理腾讯云CDN缓存

本站使用WordPress 博客系统,腾讯云CDN+云解析 ,为追求速度,全站静态缓存。

但在发布和更新文章、提交及审核评论后,CDN缓存导致首页不能及时显示更新,在张戈博客发现了这段“自动清理腾讯云CDN缓存”的代码,马上用上——网络高手们确实多啊。

完整的 php 代码如下:

/**
* WordPress 发布/更新文章、提交/审核评论自动清理腾讯云CDN缓存(首页和当前文章) By 张戈博客
* 文章地址:https://zhangge.net/5089.html
* 转载请保留出处,谢谢合作!
**/

/* 需要填写你的密钥,访问 https://console.qcloud.com/capi 获取 SecretId 及 $secretKey */
$secretKey = '此处填写SECRET_KEY';
$secretId  = '此处填写SECRET_ID';

//更新或发布文章清理本文和首页CDN缓存
add_action('publish_post', 'Clean_By_Publish', 0);

//提交评论更新本文CDN缓存
add_action('comment_post', 'Clean_By_Comments',0);

//评论被审核更新本文CDN缓存
add_action('comment_unapproved_to_approved', 'Clean_By_Approved',0);

//发布文章更新CDN缓存函数
function Clean_By_Publish($post_ID){
    global $secretKey,$secretId;
    $url = get_permalink($post_ID);
    $action='RefreshCdnUrl';
    /*要清理的页面,默认包含首页和文章页面,需要清理其他页面请自行发挥*/
    $PRIVATE_PARAMS = array(
                    'urls.0' => home_url(),
                    'urls.1' => $url ,
                    );
    $HttpUrl="cdn.api.qcloud.com";
    /*除非有特殊说明,如MultipartUploadVodFile,其它接口都支持GET及POST*/
    $HttpMethod="POST";
    /*是否https协议,大部分接口都必须为https,只有少部分接口除外(如MultipartUploadVodFile)*/
    $isHttps =true;
    /*下面这五个参数为所有接口的 公共参数;对于某些接口没有地域概念,则不用传递Region(如DescribeDeals)*/
    $COMMON_PARAMS = array(
                    'Nonce' => rand(),
                    'Timestamp' =>time(NULL),
                    'Action' =>$action,
                    'SecretId' => $secretId,
                    );
    /***********************************************************************************/
    CreateRequest($HttpUrl,$HttpMethod,$COMMON_PARAMS,$secretKey, $PRIVATE_PARAMS, $isHttps);
}

//提交评论清理文章CDN函数
function Clean_By_Comments($comment_id) 
{
    global $secretKey,$secretId;
    $comment = get_comment($comment_id);
    $url = get_permalink($comment->comment_post_ID);
    $action='RefreshCdnUrl';
    /*参数*/
    $PRIVATE_PARAMS = array(
                    'urls.0' => $url,
                    );
    $HttpUrl="cdn.api.qcloud.com";
    /*除非有特殊说明,如MultipartUploadVodFile,其它接口都支持GET及POST*/
    $HttpMethod="POST";
    /*是否https协议,大部分接口都必须为https,只有少部分接口除外(如MultipartUploadVodFile)*/
    $isHttps =true;
    /*下面这五个参数为所有接口的 公共参数;对于某些接口没有地域概念,则不用传递Region(如DescribeDeals)*/
    $COMMON_PARAMS = array(
                    'Nonce' => rand(),
                    'Timestamp' =>time(NULL),
                    'Action' =>$action,
                    'SecretId' => $secretId,
                    );
    /***********************************************************************************/
    CreateRequest($HttpUrl,$HttpMethod,$COMMON_PARAMS,$secretKey, $PRIVATE_PARAMS, $isHttps);
}

//评论被审核清理CDN缓存函数
function Clean_By_Approved($comment)
{
    global $secretKey,$secretId;
    $url = get_permalink($comment->comment_post_ID);
    $action='RefreshCdnUrl';
    /*参数*/
    $PRIVATE_PARAMS = array(
                    'urls.0' => $url,
                    );
    $HttpUrl="cdn.api.qcloud.com";
    /*除非有特殊说明,如MultipartUploadVodFile,其它接口都支持GET及POST*/
    $HttpMethod="POST";
    /*是否https协议,大部分接口都必须为https,只有少部分接口除外(如MultipartUploadVodFile)*/
    $isHttps =true;
    /*下面这五个参数为所有接口的 公共参数;对于某些接口没有地域概念,则不用传递Region(如DescribeDeals)*/
    $COMMON_PARAMS = array(
                    'Nonce' => rand(),
                    'Timestamp' =>time(NULL),
                    'Action' =>$action,
                    'SecretId' => $secretId,
                    );
    /***********************************************************************************/
    CreateRequest($HttpUrl,$HttpMethod,$COMMON_PARAMS,$secretKey, $PRIVATE_PARAMS, $isHttps);
}

//请求主函数,无需改动
function CreateRequest($HttpUrl,$HttpMethod,$COMMON_PARAMS,$secretKey, $PRIVATE_PARAMS, $isHttps)
{
        $FullHttpUrl = $HttpUrl."/v2/index.php";
        /***************对请求参数 按参数名 做字典序升序排列,注意此排序区分大小写*************/
        $ReqParaArray = array_merge($COMMON_PARAMS, $PRIVATE_PARAMS);
        ksort($ReqParaArray);
        /**********************************生成签名原文**********************************
         * 将 请求方法, URI地址,及排序好的请求参数  按照下面格式  拼接在一起, 生成签名原文,此请求中的原文为 
         * GETcvm.api.qcloud.com/v2/index.php?Action=DescribeInstances&Nonce=345122&Region=gz
         * &SecretId=AKIDz8krbsJ5yKBZQ    ·1pn74WFkmLPx3gnPhESA&Timestamp=1408704141
         * &instanceIds.0=qcvm12345&instanceIds.1=qcvm56789
         * ****************************************************************************/
        $SigTxt = $HttpMethod.$FullHttpUrl."?";
        $isFirst = true;
        foreach ($ReqParaArray as $key => $value)
        {
                if (!$isFirst) 
                {
                        $SigTxt = $SigTxt."&";
                }
                $isFirst= false;
                /*拼接签名原文时,如果参数名称中携带_,需要替换成.*/
                if(strpos($key, '_'))
                {
                        $key = str_replace('_', '.', $key);
                }
                $SigTxt=$SigTxt.$key."=".$value;
        }
        /*********************根据签名原文字符串 $SigTxt,生成签名 Signature******************/
        $Signature = base64_encode(hash_hmac('sha1', $SigTxt, $secretKey, true));
        /***************拼接请求串,对于请求参数及签名,需要进行urlencode编码********************/
        $Req = "Signature=".urlencode($Signature);
        foreach ($ReqParaArray as $key => $value)
        {
                $Req=$Req."&".$key."=".urlencode($value);
        }
        /*********************************发送请求********************************/
        if($HttpMethod === 'GET')
        {
                if($isHttps === true)
                {
                        $Req="https://".$FullHttpUrl."?".$Req;
                }
                else
                {
                        $Req="http://".$FullHttpUrl."?".$Req;
                }
                $Rsp = file_get_contents($Req);
        }
        else
        {
                if($isHttps === true)
                {
                        $Rsp= SendPost("https://".$FullHttpUrl,$Req,$isHttps);
                }
                else
                {
                        $Rsp= SendPost("http://".$FullHttpUrl,$Req,$isHttps);
                }
        }
        //var_export(json_decode($Rsp,true));
        return json_decode($Rsp,true);
}
function SendPost($FullHttpUrl, $Req, $isHttps)
{
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $Req);
        curl_setopt($ch, CURLOPT_URL, $FullHttpUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 1 );
        if ($isHttps === true) {
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,  false);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  false);
        }
        $result = curl_exec($ch);
        return $result;

先访问 腾讯云的 API 密钥 创建或获取你在腾讯云的 API 密钥:

然后正确替换上述代码中的8,9行的 secretKey 和 secretId 值,比如:

/* 需要填写你的密钥,访问 https://console.qcloud.com/capi 获取 SecretId 及 $secretKey */
$secretKey = 'ABCD123CSDFSBSDFDSF';
$secretId  = 'CDAABBBSDFA683N23423N4';

部署后,博客发布或更新文章、评论的提交或审核都会调用 API 去清理 CDN 缓存,其中文章和评论的提交可能会比没有部署略微卡一点,评论的审核是异步提交,所以感知不到什么。

一行js代码破解百度云大文件下载限制

技术博主“凤凰山笔记”做的一个直接在下载百度云大文件、而不用启动百度云客户端的chrome插件,插件核心代码只有一行,分享一下。

大家知道,百度网盘里面的小文件,直接用浏览器和下载工具就行,但是大文件、还有文件夹就只能使用客户端了。因为百度云的PC页面会默认要求你使用客户端进行下载…

这个很烦:
1.百度云客户端下载很慢,而且故意限速
2.我使用的chrome浏览器,经常启动不了百度云客户端

看到一篇文章,里面有人通过开发人员工具(按F12),在console里面输入:Object.defineProperty(this , ‘navigator’ , {value: { platform: “” }}) ;就可以直接使用浏览器下载百度云的大文件以及文件夹了,于是我想这个直接做成chrome插件就行了,直接在百度云PC端界面注入这段js即可。

插件使用效果

一番捣腾之后,这个插件终于做出来了,实际运行效果如图:
插件使用效果1

很大的一个文件夹直接就获取了下载地址….,把这个链接复制到迅雷就可以很快的把文件下载下来了。

插件已开源:
https://github.com/cloudroc/baidu-nolimit

插件下载地址:
链接: https://pan.baidu.com/s/1eSDTUDW 密码: tehm
(crx文件安装方法请自行百度)

WordPress 500错误的原因和解决方法

WordPress前台不显示,一般的错误都是没有主题,可以直接从后台切换下主题,然后再换回去就可以了。如果后台都不显示了,并500报错解决办法,则错误可能有两点(咱就是第二个错误,花了几天时间才解决):

1、伪静态错误。如果可以直接操作数据库的话,就把数据库里面的伪静态规则的内容给删除了。具体数据库表位wp_options(wp_为数据表前缀,不一样的请自行替换,修改地点为下图红框内的),删除option_value的值(我的是自定义规则,默认的是http://域名/?p=123),删除值后便可以恢复到初始的伪静态(固定链接)http://域名/?p=123了。现在就可以尝试打开后台了。如果还不可以打开的话,请再做第二步。【可以显示的话,那么就恭喜你了,现在可以重新改会原来的伪静态而不会不显示了】

2、插件不兼容。同样,操作数据库,就把数据库里面的已启用插件全部取消了。具体数据库表位wp_options(wp_为数据表前缀,不一样的请自行替换,具体修改内容为下图红框内的),删除option_value的值。现在就可以尝试打开后台了。然后尝试启用插件,看看到底是哪个插件不兼容,然后禁用或者升级插件。

GeoGebra在农村初中数学教学中的应用研究

河南大学研究生高竞男同学论文《GeoGebra在农村初中数学教学中的应用研究 》

GeoGebra概况:

GeoGebra软件是一个结合几何、代数与微积分的动态数学软件,取名于单词 geometry(几何)与 algebra(代数)的结合,因此 GeoGebra 同时具有处理代数与几何的功能。一方面它是一个动态的几何软件,你可以绘制并修改点、向量、线段、直线、多边形、圆锥曲线及函数,另一方面它也有处理变数的能力,并对函数作微分与积分。在初中数学课堂中运用 GeoGebra,不仅可以减少教师展示教学内容的负担、提高展示内容的精确度,使数学课堂教学收到事半功倍的效果,还可以提高学生的学习兴趣,增强学生解决问题的动手能力,促进学生抽象思维能力的发展。

谁开发的GeoGebra:

GeoGebra软件由美国佛罗里达州亚特兰大学的数学教授 Markus Hohenwarter 于2001 年在萨尔滋堡大学设计开发,凭借着免费、开源、可脱机和跨平台使用的优势,在瑞士、奥地利、德国、西班牙、芬兰、挪威等欧洲国家得到了广泛的推广和应用。该项目于 2008 年以后在美国弗罗里达州立大学继续维护,继而在北美地区得到了推广。目前,中国台湾地区已有多名教授和数千名教师投入到对该软件的研究,并将它应用于实际的课堂教学中。2009 年底,台湾师范大学物理系的黄福坤教授与数学系的左台益副教授及其数学系的硕士博士团队将 GeoGebra3.2 版教程汉化完成(繁体版),使得该软件为广大中国用户所知。但与已经得到广泛研究应用的几何画板等软件相比,我国内陆地区对 GeoGebra 的应用研究目前几乎刚刚起步,笔者通过在万方数据库与 ScienceDirect 搜索的相关英文文献数量上看,涉及到 GeoGebra 应用的英文文献 2008 年发表了 1 篇,2009 年 8 篇,到 2010 年9 月为止有 12 篇,可以看出其受关注的程度在不断增加,发展的速度也是非常快的。但是通过中国学术期刊数据库搜索相关中文文献,目前仅有北京航空航天大学的左晓明博士的一篇论文《基于 GeoGebra 的数学教学全过程优化研究》,发表于《数学教育学报》2010 年第 2 期。由此可见,国内对此的研究还十分缺乏。

GeoGebra在世界上推广情况:

GeoGebra 是一个在 GPL 协议下发布的动态数学软件。该项目于 2001 年由Markus Hohenwarter 在萨尔茨堡大学创建,现在在佛罗里达州立大学进行维护。GeoGebra 由 Java 写成,因此可以跨平台使用。其绘图的基本元素包括点、直线、线段、多边形、向量、圆锥曲线和函数,3.2 及以后的版本还加入了电子表格和正在不断完善的数据处理功能。GeoGebra 可以完成大量初高等数学中的绘图工作,如绘制圆锥曲线,对函数求导数,积分,对多项式函数求极值等。GeoGebra同时具有处理代数与几何的功能,视窗左边是“代数区”,右边是“几何区”,也称为“绘图区”,如图 2-1。GeoGebra 在欧洲及北美地区已得到广泛的推广并广受好评,自 2002年开始,曾获欧洲学术软件奖(European Academic Software Award,2002)、奥地利教育软件奖(Austrian Educational Software Award,2003)、德国教育软件奖(German Educational Software Award,2004)、德国教育媒体奖(GermanEducational Media Award,2004)、国际免费软件奖(International Free Software Award,,category Education,2005)、由教育传播与技术颁发的发展奖(AECT 2008: Development award by the Association for Educational Communications and Technology)、人文科学技术奖(Award for technology benefiting humanity, category education,2009)等多项国际奖励.

GeoGebra 与几何画、超级画板等软件的对比:

(1)在立体几何与圆规曲线演示的操作中更加简便

几何画板设计的本意是用于平面几何的教学,因此其绝大多数功能都是基于尺规作图完成,这固然有助于广大教师和平几爱好者更好地领会尺规作图的精髓,但是对于绝大多数只是抱着应用于实际课堂目的的广大教师来说,利用尺规作图来实现解析几何甚至物理、化学方面的演示实在是一件非常痛苦的事情,在这方面,通过几位平面几何专家叶中豪、陈殿林等老师的努力,基本实现了绝大多数尺规作图问题在几何画板中的演示,其过程极为复杂,用到了很多高等几何方面的知识,而几何画板中圆锥曲线的作图乃至求作切线问题一直是一大难题。

超级画板则提供了允许用户利用复制粘贴的数学表达式进行计算和作图的功能,使曲线作图和表达式测量方便了许多。而在 GeoGebra 中,用户可以直接通过点选钮实现非标准椭圆的作图及作切线等操作,非常简单、方便。

(2)数形结合几何画板中仅有形的动态变化,这对于揭示图形的精微性质,特别是解析几何和函数部分的学习,是一个很大的缺点。而 GeoGebra 则融合了代数与几何两大学科,做到了图形与代数方程的同步变化,实现了真正的动态演示.可以通过在下方的命令输入框直接输入圆锥曲线方程的方式(如输入“X2/4+Y2=1”)直接画出图形,甚至可以用向量运算的方式输入(A+B+C)/3 来直接显示△ABC 的重心点.

(3)完全免费,易二次开发

我们曾使用过众多的作图软件,除了专业的大型制图软件之外,小型的作图软件中要么不能实现动态演示,要么输出效果欠佳、难以升级及二次开发、收费昂贵等,均存在诸多问题。GeoGebra 作为一款基于 Java 语言的软件,易于编写和二次开发。

GeoGebra在台湾的普及

台湾是我国 GeoGebra 研究的热门地区,三年前台湾师范大学物理系的黄福坤教授开始接触到该软件,后来与数学系的左台益教授合作进行推广。短短几年内他们带领台湾师范大学数学系的硕士博士团队对 GeoGebra 的软件和教程进行汉化,和台北市几所中学的数学教师联合推广,建立了一系列的学习网站。左台益教授主持的“TaiwanGGB 论坛”与“GeoGebea 工作坊”是两个很好的 GeoGebra学习网站,2010 年暑假还开设了 GeoGebra 培训班,对广大中学数学教师进行免费培训。台湾师范大学数学系的陈创义教授主持的 GeoGebra 网站页面十分简单,网页文档中利用超链接的方式对常用的操作步骤进行讲解。中学应用GeoGebra 较为成熟的学校在台湾也有很多,比较知名的是宜兰县罗东高中的官长寿老师主持的“阿寿工作坊 GeoGebra 工作室”,该网站上传了很多 GeoGebra的应用案例,对其他人的应用有着很好的借鉴作用。

GeoGebra的参考资源:

[1] GeoGebra 官方网站.http://www.GeoGebra.org

[2] GeoGebra.陈创义,台湾师范大学数学系.

http://140.122.140.4/~cyc/_private/geogebra/index.htm

[3] GeoGebea 工作坊.左台益.台湾师范大学数学系.

http://science.math.ntnu.edu.tw/ELME/workshop.htm

[4] WIKI 中文站.黄福坤.台湾师范大学物理系.

http://www.GeoGebra.org/en/wiki/index.php/中文

[5] 阿寿工坊 GeoGebra 工作室.官长寿.宜兰县罗东高中.

http://140.111.115.8/longlife/GeoGebra/index.htm

[6] 美国数学学会.http://www.ams.org

[7] Mr. L’s Math(Tools & Techniques for Math Teachers and Students)

http://www.mrlsmath.com/category/geogebra/

 
  • Sitemap-google
  • 渝ICP备17004070号-1
  • 渝公网安备 50010502000526号

  •