项目:掌上作业管理平台

一些闲话

上个月,也就是3月十几号,我这个伪WEB前端大佬(我才想起来我是WEB前端,小半年没写前端了)与另外三位大佬和一位未来大佬组队参加了“中国大学生计算机设计大赛”,具体内容为“服务外包项目——掌上作业管理平台开发”。奋战一个月,终于在本月13日基本完成了项目并挂在了服务器上。这是我第一次看到自己的成果能够实际在服务器上运行,倍感欣慰。

小说片段-《此心安处》烟花易冷第八节

(八)D+11日 罗向明
“唉唉?你要回华南省了?”我拎着两袋行李楞在校门口。
昨晚庆典刚结束,今早我们就搭乘协会那燃烧纳税人血汗钱的豪华商务机飞回滨城,再从机场到达学校已经是下午两点。本以为不会再有大事了,结果……
“是啊是啊。我就来这儿做一个学期的交换生,也该回去了。”小雪倒是一脸淡然。

Linux入门书籍

RT。因为很多项目在WINDOWS下跑不起来,本拖延症+懒癌晚期终于装了VMware,开始在虚拟机里学习Linux。现在把搜集到的一些好书和资料汇总在这里。暂时只有两本(这就够我学了),以后再更新。

  1. 《TLCL》。简洁明了的Linux命令行入门书籍。这并不是一本Linux命令行大全,但讲解了常用的几个命令并提供了丰富的操作样例。只要按这本书讲的把命令敲下来就算是熟悉Linux命令行了。
  2. 《鸟哥的Linux私房菜》。鸟哥真是新时代活雷锋啊。这本书有点厚,我打算看完第一本再来看这本查缺补漏。
  3. 待更新

数据结构-图

数据结构的上机真是太没人性了,最近一周关于图的题更是恼人。代码量600+还在其次,主要是算法这东西真的很费脑子啊。
拼了老命终于在周末两天写出来这玩意儿。写完这玩意儿我就生病了。
直接把代码贴上来吧,注释应该够详细了。
代码里包含图的邻接表写法、DFS、BFS、Prim算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、寻找回路算法。

表白墙项目中其它一些零碎经验

闲话

这部分内容非常零散。我打算分成js、CSS、HTML5、bootstrap、node几个部分,用列表列出。可能没啥看头,只是为了自己以后方便回顾。


js

  • Chrome浏览器的console功能太好用了!一些怀疑有问题的js代码可以输进去直接运行,很方便查BUG。
  • event.textContent才是文本内容而不是直接event就好了
  • jQuery选择器里的eq(),括号里只能填具体数字,想填一个字母然后for循环什么的行不通。遍历得用each(都是C++敲太多的惯性)
  • jQuery的hasClass(“”)等方法,括号内填的类名不包含“.”(说到底就是不够熟练)

前端小技巧:利用cookie完成换肤功能/使用在线字体库

这两项内容不多,干脆并在一起写吧。
w3cshool上有关于js如何使用cookie的介绍
我直接使用了其中的setCookie和getCookie函数,具体说明请点击链接。导航栏里留了个“style-change”换肤按钮(暂时只有两套皮肤)。

$(function () {
    var style = getCookie('style');
    if (style == null) {
        setCookie('style', 0, 30);
    }
    if( style == 0){
        $("#style").attr("href","/stylesheets/style.css");
        ………………
    }else{
        $("#style").attr("href","/stylesheets/style1.css"         );
     ……………………}

    $('#style-change').click(function () {
        if(style == 1)
            style = 0;
        else
           ………………
        setCookie('style', style, 30);
        window.location.reload();
    })
});

小议防XSS跨站脚本攻击

闲话

本来我以为“防XSS跨站脚本攻击”离我这个渣渣还有很远的距离,没想到做“表白墙”这个项目时具体接触了。在此感谢EDA实验室的大神学长给予的教导。

正题

本来ejs模板引擎自带XSS过滤功能,字符串输出时默认是经过escape转义编码的:

// 用=号输出,就会被escapge转义编码 
<%= VARIABLE_NAME %>

表白墙

一些闲话

本学期初的科技文化艺术节有“网页设计大赛”和各种创业创新比赛,最初我只打算用先前按《Node.js开发指南》做的微博,带我的小儿子去水一水。然而创业创新比赛的各种文档我根本不会写, 于是拉了个同班懂得产品和运营的妹子进来。妹子给了个好点子:把微博改成表白墙,这样既避免抄袭之嫌,又显得更有新意,能吸引眼球。
出于种种原因,最终只参加网页设计大赛。结果还没出来。
获奖不是目的,能锻炼技术才是实实在在的。
开始说正事。

数据结构上机题

这个学期的数据结构真心有点难……不过程序写出来后还是挺有成就感的。
贴两个程序上来吧,分别是简易计算器和银行叫号系统。简易计算器重点考察对栈的应用(中缀表达式转后缀表达式、后缀表达式计算),银行叫号系统考察对队列的应用。
银行叫号系统的user的多态有点小问题。
源代码在codeblocks下编译通过。