这是我的长篇记录。
今天是2014-8-2,本来应该是昨天来写的,结果昨天下班太早了。
(说是下班早,其实这是我的第一份IT相关的职业,也才上班不到一个月,加班也才三四天。刚开始本来是很抵触加班的,可是一想到我是编程的人,加班也是一件正常的事。)
今天是情人节,其实和我没有什么关系的,我一直都是一个没有什么情趣的人。
(祝大家找到自己的爱情。)
昨天和今天上半天我在IIS7.5上弄了一下URL Rewrite。刚开始是一点也不懂,看的帖子多了也就懂了一点。
通过在IIS7.5上的URL Rewrite的Add Rule里面写正则表达式,可以让一个不存在的静态页面来装一个动态网页,就像这个地址http://write.blog.youkuaiyun.com/postedit/38335413一样可能这个地址在服务器上是不存在的只是通过重写URL把带有?的动态网页地址变成了静态的地址,可能这个地址就是http://write.blog.youkuaiyun.com/posted/id=38335413(我自己猜的,这个地方应该是POST传值,不会是GET传值。我只是举一个列子。)
可是在IIS7.5里面配置URL重写是有点烦的,不如下载一个DLL在config里面配置重写,在config里面的重写更加自由。在动态页面传递参数的时候就可以这样写<a href="news/1">点我呀</a>,通过在config里面重写URL可以让这个链接实际加载的页面是news.aspx?id=1,而且在浏览器的地址栏里面是news/1
重写的好处就不说了。反正是一件挺炫酷的技术。
我是个刚工作的菜鸟,没有什么开发经验。我手头是有一个活的,现在还在开发着呢。对于我之前的开发,我不满意。
这个活包括一个手机站点的开发,我根本没有做过手机站点的开发。之前几天就在网上一直找,终于有了一点理解,其实也和电脑网站没有区别。
用FIDDLER代理了手机的端口(网上找的教程)调出了QQ新闻和淘宝手机站的HTML代码(其实在电脑上应该也可以办得到)。
下面是QQ新闻的HTML代码。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml SYSTEM "http://www.wapforum.org/DTD/wml_1.dtd" PUBLIC "-//WAPFORUM//DTD WML 1.1//EN">
-<wml>
-<head>
<meta content="手机腾讯网(3g.qq.com)是国内最大的移动互联网门户,面向用户免费提供24小时实时新闻资讯报道,覆盖新闻、体育、娱乐、财经、科技等众多领域;" name="description"/>
</head>
-<card title="腾讯新闻中心" id="Card">
-<p>
<a href="http://m.sogou.com/?&pid=sogou-wsse-16fc18d787294ad5-0001&e=1403&rfrom=3gqq_logout_direct">搜狗</a>
<input name="qbar_key1406882811871" value="传古巨基车祸身亡" type="text"/>
-<anchor>
-<go href="http://m.sogou.com/web/searchList.jsp?">
<postfield name="rfrom" value="3gqq_logout_direct"/>
<postfield name="pid" value="sogou-wsse-16fc18d787294ad5-0001"/>
<postfield name="e" value="1403"/>
<postfield name="keyword" value="$qbar_key1406882811871"/>
</go>
搜网页
</anchor>
<br/>
</p>
</card>
</wml>
这里是用wml语法写入的,我不想用这种方法。
下面是淘宝的HTML。
<!DOCTYPE html>
<html><head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <meta charset="utf-8" /> <title>天猫触屏版</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" /> <meta content="yes" name="apple-mobile-web-app-capable" /> <meta content="black" name="apple-mobile-web-app-status-bar-style" /> <meta content="telephone=no" name="format-detection" /> <link href="http://a.tbcdn.cn/mw/s/hi/tbtouch/images/touch-icon.png" rel="apple-touch-icon-precomposed" /> <link href="http://a.tbcdn.cn/p/mall/base/favicon2.ico" rel="shortcut icon" type="image/x-icon" /> <link href="http://a.tbcdn.cn/apps/tmm/s/hi/tmall/h5v3/css/index/1.0.1/index.css?20130902" rel="stylesheet" type="text/css" /> <script>
var today = 20140801;
},1000);
}
}
})();
</script> <script>
// 用于Cookie中强制访问触屏版本
</script> <footer class="region"> <section class="user-panel"> <p class="member"> <a class="user-name" href="http://my.m.taobao.com/myTaobao.htm?v=0&ttid=51uc0003&sid=1f94dc340b65e62e3de07ac4d1d5ac3c">zzx11235</a> <a class="logout" href="http://login.m.taobao.com/logout.htm?v=0&ttid=51uc0003&sid=1f94dc340b65e62e3de07ac4d1d5ac3c&pds=logout%23h">退出</a> </p> <a class="fb-top" href="javascript:scroll(0,0)"><!--回到顶部--></a> </section> <p class="version"> <a href="http://m.tmall.com/?ttid=51uc0003&sid=1f94dc340b65e62e3de07ac4d1d5ac3c&v=1&pds=stedition%23h" style="display:none">标准版</a> <a href="http://www.tmall.com/?ttid=51uc0003&sid=1f94dc340b65e62e3de07ac4d1d5ac3c&force_use_pc=true&from=wap&pds=pcedition%23h&sprefer=pmm30" id="btn_go_pc">电脑版</a> <script>document.getElementById("btn_go_pc").href='http://www.tmall.com/go/act/is-desktop.php?r='+document.getElementById("btn_go_pc").href;</script> </p> <p class="copyright">Copyright ©2014 浙B2-20080224</p> </footer> </div> <script src="http://a.tbcdn.cn/apps/tmm/base/libs/seajs/1.2.0/sea.js?v=2504262289_10051" ></script> <script>
seajs.use("http://a.tbcdn.cn/apps/tmm/s/hi/tmall/h5v2/js/index.js?v=2516761719_465");
</script> </body></html>
淘宝的这个网页就不是用wml写的了,很高大上。
通过浏览这两段代码,我发现其实手机站也没有什么不同的。
手机站先告一段落。
我觉得我自己在学习编程上有很多不足:
1不懂底层
2代码都能网上搜到就用
3对于难弄的东西有一点抵触
还有一些其他的不足就不说了。
以后的时间还很长,我还可以一直编程。
今天是2014-08-04,昨天是废了。今天写下昨天的事。
今天基本完成了网站的首页部分的工作(把静态的HTML变成动态的模板+ASPX),没有多少技术含量。
在调试的时候发现自己有的地方是不够细心,因为一个“,”,就可以废20mins。还有自己的工作经验和后台设计功能也没有完善,主要是经验太少了。
还是说下今天的主要的工作内容:
1拼接各种字符串
2读取各种表,写简单的SQL语句
3好像没有了
好了,今天是个愉快的一天。
今天是2014-08-05,开始了有点糟糕的一天。
先是在上班时的分享时间被批了一顿,后来又开始改网站,中午帮别人买东西(不算糟糕),可是在买东西的时候我发现我就还有200大洋了,怎么办,怎么办,怎么办。唉,过一天是一天呗。
下午继续改网站,又说了一句讨人烦的话。
在技术上今天没有做什么实质性的东西,只是修改了几个Bug,把URL重写给配置好了。
今天快点过去吧。
今天是2014-8-6,昨天晚上打地铺睡得觉,不舒服。
今天还是在该那个网站,其实这个网站没有什么太难的技术,只是我业务逻辑混乱和这个网页的静态页面一直没有出来就一直被搁着。
有种想自己做一个小网站的冲动。
今天是2014-8-7,今天修改了一天的IIS7.5。
原本以为在IIS7.5上是可以带有2个config文件的,结果带是可以带,可是其中一个有Forms验证,就一直报错,在网上找了很长时间才知道去设置IIS,在IIS里去设置虚拟目录和应用程序才行,我的天。就这么一点东西,不知道就要玩好长时间,知道就几分钟的事。
不知道的事被解决了之后要记住是怎么解决的。
今天是2014-8-8,开始没有实际效果的一天。
今天我想做点手机站点的功能模块,然后我就去做去掉在线编译器的行内样式和传到在线编译器中的图片的大小。
去掉行内样式用正则表达式的Replace做的。
改变图片大小是用正则提取出在线编译器上传到指定目录的图片的URL(在线编译器只要上传图片就存在了指定文件下,我用是Kindeditor+ASP.NET的插件),然后用Bitmap得到那个URL的Bitmap实例,在用图片处理类进行缩放。在缩放后的图片存在另一个指定的位置,最后使用正则表达式的Replace替换掉那个原来的图片URL。
最后问了另一个学哥,说不用这么做的,直接用原来存储的HTML就行。
蛋疼。
今天是2014年8月10日,本来应该是昨天公司开完会来写这个blog的,结果打开这个blog,不知道什么原因被封了。今天打开想找管理员问问,奇迹般的发现没有问题了,不知道是什么原因,希望有人能给我答复。
说下昨天的工作吧,昨天上午在看一写数据库基础,EF相关的东西,没有什么收获。
下午公司组织开会,讲了一些干货,当时是有一点收获的,可以以后能不能做到就不好说了(原谅我耿直吧)。
今天是8月12日,昨天有点忙,忘记写了。
从昨天到今天我终于能开始做那个WEB前端了,妈蛋,15号要交付,就这几天时间啊。
对于我来说是个大case,说起难度是没有什么难度的,就是前端设计的逻辑乱七八糟。
好吧,就这样,还要加班。
今天是2014年8月13日。
今天的主要工作是修改总部基地WEB。
1在和黄迎秋商量之后,确定了需要修改的内容:要把部分一级导航的链接直接链接到该一级导航下的第一个二级导航。
2修改了分页内容的BUG。
3还在继续中。。。
可是我对css不是很溜,给客户添加内容也就很慢。这又是一件蛋疼的事。
现在在向laravel的方向转,其实我内心现在还是有点抵触的。
今天看到新版windows的一点介绍,有点茫然,不知道自己要往哪走。
之前设计了DB,昨天开会去商量一下。
其实也不能算是远吧。
昨天,同事知道了.apk这样的路由也是会进入laravel的。
我原本以为服务器会新查找资源文件,如果没有才会进入到路由。看来,我是错了。
今天完成的任务不多,对于前端的布局我还是很头疼的。
之前的一个项目,我放弃了,交个另外一个同事去做。
我要开始做一个小商城的项目。
想想有点艰巨,有点兴奋。
今天没有搞定flash插件播放器,有点恼火。
又花了两个小时的时间配置了一下memcache和memcached,在网上搜了很多的帖子,最终也只配置好了memcache。
看了一小会<<head first html5>>,挺有意思的一本书。
今天使用了redis的部分,把session放入redis中,开始以为过期时间不能确定,后来实验知道redis中session的过期时间就是session的过期时间。
关于php的session的过期时间,我觉的是有点坑的。有一定的几率启动GC(好像是过期部分session,回头在查查),这个我之前做的asp.net的机制不一样啊。
使用mysql的source命令把70w+的INSERTsql装入我的机器中,妈的用了10个小时。
最近一两天自己接触了oop的设计模式,今天用了fac模式,挺好用的。
在一个PDF中看到了这段话,觉得自己是这样。
昨天搞定了session和redis的关系,session放在redis之后,其生命周期由session和redis共同维护。(其实,我觉得session也是通过redis来维护session的)。
session的使用是很重要的事情。能做到很多事情。
jq+ajax+Css3+html5很叼。
今天要自己去维护session的过期时间,放在redis的中session会被redis维护(这样过期时间就一定了),当然也会被php的session机制维护。
今天想要每一次都修改session的过期时间,那么就得在session中存放一个最终过期的日期,在每次请求时都判断服务器时间和session过期时间还有session最终过期时间,修改session的过期时间。
用到了php的date time strtotime三个常见的函数,date函数的参数不一样返回结果也不一样。
例如下面的参数会返回不一样的时间date('y-m-d h-i-s');date('Y-m-d H-i-s');date('y-m-d H:i:s);date('y-m-d h:i:s');这个样的四个函数要返回不一样的内容,我也是醉了。
尽量用date('Y-m-d H:i:s');这种形式的参数。这样的参数应该是标准的。(我猜的,因为外国人写的东西只能是以外国人的标准)
这种方式去维护session的话,是有点费劲的。不知道会不会造成性能上的损失。
还有一种维护session的方式是在session的value中存放一个最终过期时间,每一次请求只会比较一个当前服务器时间和session的中的最终时间,大于的话就把session给过期掉。这样的维护方式的缺点很明显:session会多存在一段不一定的时间,最多做存在的时间为一个session的周期。
这样的方式我也不知道会不会造成服务器压力。
头疼。
其实,也不能算是过期,因为我就没有在redis中找到sessiojn。
我等下去看下别人的帖子,看看加session_start();和没有session_star();的区别。
我早上从电话里得知我姥爷不在了,我姥爷对我很好的,我现在拿了工资还没有去孝敬他,我有点难过,心情阴郁了一整天,不过人总会死去。我姥爷也算是高寿了。
我也在想人这一生匆匆几十年,真是短暂。
那时候,我大二上半学期快结束,我觉得好失败,学习自己不行,个人生活不行,追别人不行,打游戏不行。
大二的寒假,我在家里打了一个假期的游戏,真是荒唐。
大二下半学期学校里的教编程的老师去外面学习,我们一个班级的学习是在一个学校外面的企业的leader下带领下进行的,当初是教基础c语言,编程规范,我觉得我不错,可是在他走的时候没有带走我,而是带走了其他很多人,我得承认其他人一样很优秀,可是我还是不爽了一阵子,我还要假装不在意的样子,我不知道他们那些同学在干什么,我特别想知道他们在干什么,我只能在那些同学每天回到住宿的时候交流一些。
期间有一个软件大赛的项目,是做一个小爬虫的东西,winfrom。当时做了很久,觉得也是还可以。最后也是不了了之。
后来,老师想起了我,带我来到现在的公司,当时是一点东西都不会。开始学习android开发,当时一共有四五个同班同学,后来又来了一两个人,可以我依然没有安全感,我对我那些同班同学很清楚,他们不是做这一行的料,他们也不准备干这一行。对了,在我来到公司之前,还有一个同班同学在我之前三四个月就在这里干的,做一些简单的活。
学习androud开发是跟着若水的视频学习,搭环境,学java语法,学layout布局,学Intent。四五个人学习了大概三周的时间,老师要离开公司回到学校,于是我们的android学习也被搁置下来,公司里面有两个外派到深圳去学习的程序员也回来了,于是公司安排我们去仿写做一个ASP.NET网站的后台,当时很久没有弄ASP.NET了,之前对于CSS的那一块就不是很熟,那一周的时间都是回到学校干到很晚的时间,每天早上6点多一点起床去叫大家一起去吃早餐上班,坐公交车是一个不合适的词,我一般都是站着到公司门口,公交车上和大家一起吹NB,一起聊天也是很高兴的。
一周的时间很快过去,只有我和之前待了很久的同学被留了下来。他们都回去学校里面去了,他们在学校里面干什么呢?大概是玩耍吧。
这个时候也快到了大二的结束,我们在公司里面又学了一阵子的网页,就回去学校去。在学校里面收拾放假要放置的东西时,从深圳回来的两个程序员其中一个给我打电话说你们可以留在公司,给一点工资,这两个人都是我的学哥,是11级的学生,在他们俩大三的时候一前一后来带公司。我是相信他们两个的,于是我就说你帮我弄吧。
另外一个人正好家里有点事情就会家里去了,假期里他也没有回来,后来公司就和他没有什么关系了。
假期里学校是不让住宿的,我只能去找房子,可是我决定假期在这里干活的时候太晚了,临近放假,房源当然少,最后我是和一个隔壁宿舍的哥们一起住在一个10+平的小房子里面,只有一张床。一般。我们早上去一个小摊点去吃点油条之类的,中午我在公司吃,他在他公司吃,晚上大概是吃面条。
日子很艰苦,工资都不够我一个月的基本开销,可以我那是就是觉得能多学点就是好的。当时,现在也是。
毕竟,自己太菜了。
之后那个女同学也是家里有些事,就回到家里去处理事情去了,在之后就没有她什么事情了。
我是一个不会交流的人,那时候公司是四个办公室,我们那个办公室是一些程序员,美工,项目的人,我对我们办公室的人还算熟悉,对其他办公室的人都不熟悉。
后来知道在整个集团公司,还是有很多我们学校的人的。
公司是集团公司下面的子公司,一个刚刚成立的子公司。
之前是有三个技术,一个技术是写PHP的,挺厉害,和我关系也挺好,经常一起去学校里面吃点东西,现在离开公司有一个月了;
总监要求我们学习PHP,当时心情很差,不想学习。想了很多,这个时候已经开学了,我还住在租的房子里面,因为房子离得近一些。
再后来就到了十月份,我要交付项目了。十一整个假期在学校里面都是打游戏度过,放假归来我准备里面公司。一个学哥给我说,他可以给我找到一个.NET技术的公司,一个学个给我说,你要留在这里,你要是这一点活都干不了那就什么都干不了了。
我最后选择留在这里,开始正经的学习laravel和做项目,花了大概三四天时间做了一个项目,当时也是很辛苦,每天弄到很晚。
项目交付了后,我就继续学习laravel框架,我之前是不懂PHP的,我就请教了很多次那个之前做了很久的PHP的学个,他教了我很多,他挺不错的。
laravel项目的维护花了很多时间,这个项目是公司的网站,我觉得很坑,这次改版是公司网站半年左右的时间的第二次改版,后来,技术团队越来越大,有一些做Laravel有一些做android还有一些其他的。
我做laravel算是比较早了的。
我是个热心的人,也经常给别人解决问题,我觉得这种感觉挺好。
后来,公司里面又有一个项目,让我去和另外一个做。后来这个项目,因为需求一直不能确定下来,就被无限期延后了。
我就离开了那个项目,在一边维护项目,一边学习laravel,这个项目一直被修改。
后来,公司想要在这个项目上面继续开发新的功能,我觉得这个应该启用新域名,总监说不要用新域名,于是我就很苦逼的,一边去维护原来的网站,一边去开发新功能,这里不得不提GIT,GIT让我又喜又黑。
整个公司的网站是有两个人维护的,一个是我,一个是之前做静态的学哥,当时让现在也做laravel,学哥做了静态页面,我做动态页面。ok,没问题,可是新功能的页面却不愿意给我做,因为他现在有项目,我没有说服他,只是心里有点不爽。大家都是一起干活的,一起拿钱的,做静态页面拿的钱都比我多,现在做第一版本就不愿意做了。
后来,我和总监交流到这个问题,总监也是和学哥一个意思,后来学哥就一点静态都不做了。我特别不爽。
现在我做静态也做动态,如果当初只是我一个人来维护的话,是OK的。可是,大家一起干活的。现在,这种不爽的感觉没有多少了。
一年不到改版两次,这次改版的任务也是我,当然是我。
leader之前对公司网站的排名不满意,可是我之前我那个新人交流过了,他说他要给leader交流,我以为他交流过了,结果他还没有。于是我被坑了。
现在我在leader眼中是一个菜鸟,一个没有产出的人,来到公司很久才做那么一两个项目。
我只能做新功能的确定下来的东西。
好了,2014年就完了,过去了,学了东西是很多,可是还不够多。
我是菜鸟,我还要努力。
最近这几天写了很多关于js的代码,js作用在客户端上形成了web2.0的一些特性,交互性最好。
写js代码也可以很享受的。
看来一篇apache配置虚拟域名的帖子,http://blog.youkuaiyun.com/small_rice_/article/details/21029595觉得不错,反正我之前也没有看过apache服务器的东西。
今天看了一点安全方面的东西:sql注入,xss,csrf。
sql注入就是把一些sql代码片段加入到http请求的参数里面,如果你没有过滤参数,那么可能就存在漏洞;
这三种方式都是很常见的,很严重的漏洞。
明天我要修改自己的代码了。
我就开始用phpstrom,下面使用phpstrom的时候发生了一件诡异的事情,我chrome里面输入一个路由的一部分,phpstrom就执行了在路由之前的过滤器。很诡异啊。
今天又遇到了那个问题,在TEST中证实了浏览器的预加载是不会执行js的,在server的setcookie函数执行结果是1,但是在client里面的cookie却没有改变。
现在还是没有处理好页面的预加载cookie的写入问题。
今天实现了一个基于bootstarp的弹出层效果,还是挺不错的。
现在在xml的内容里面设置了一些key value 实现存放一些逻辑。例如一些用户的操作习惯。
写了一个脚本用来unset一些过期时间到的session。这段代码的位置不应该是在每次运行时进行,应该是在对应的操作人员的不同而选择执行。
c#的开源是不是会带来点什么东西呢?
因为我觉得高科技让我兴奋,这将改变人们的生活,我们可以通过技术而成为一个神一般的存在。
以后的生活不敢想象。
今天是2015年2月3日。
这几天还在写新版的网站。
做到一个图片大小的缩放的功能很难实现。本来是想要是用GD的imagepng类似这样的函数的去做的,结果不行。大致原因是调用imagepng的时候被压缩的图片没有生成。
后来想用imagick库来做的,出现语法错误,应该是imagick软件没有安装好的原因吧。今天在群里有人告诉我用了laravel的一个扩展包实现的。其实使用了save函数, 和GD的imagepng函数差不多, 不过运行的时候图片是出现的。这样就好使用递归去实现了。
今天想要实现php的cookie跨域没有实现。
今天是2015年2月5日, 今天和好哥们交流很多,发现他改变了很多。现在也改变了很多。
一个人要经历什么才能 达到 想要的 生活?
一个人应该是要有什么样的生活?
一个人应该对谁负责?
环境对一个人的三观的影响是巨大的,三观是一个人存在的基本。
人和人是不同的, 这样是好。
为了真理, 为了正义。
今天是2015年2月12日, 就快放假了,就快回家了。
对于laravel的学习是愉快的。可是, 我对于这个在包 框架 库的基础上进行二次开发是有点抵触的。
可是,高级语言就是这样, 不是吗?
C# PHP的一个类的实现不就是使用了很多我不知道 很复杂的操作吗?
回家, 回家。
有一个方面一直没有去做, 就是去看laravel的源代码, 我觉得是时候,争取在两个月内看一边laravel5的源代码。这样就可以去laravel有深入一点了解了。
发现现在框架是越来越多的。
今天是2015年3月10日, 今天完成的任务不算大。
看了点discuz的东西, 上百张表。
刚刚又去看看下门户网站, 估计要有上千张表吧。
一个网站不只要有功能还还有易用性(就是交互)。
就目前来说, 我觉得这几本书是可以提升我的技术水平的。
今天又在修改bug, 其中有一些不能算是BUG, 只能算是功能上的修改。
对于DZ的运行理念有了一点认识。
一切都是从url触发, 进入不同的PHP文件, 利用C类和不同PHP文件里面定义的一些变量来动态的取数据, 利用require 来加载不懂的module,在module里面选择解析某V文件, 利用解析模板类, 把V解析成纯PHP文件, 在V中或者说是被解析的PHP文件中定义了JS CSS DOM。
接下来是laravel的开发, 之前说的要读laravel的源代码的工作也没有进行。
今天在慕课上面看了PHP的SPL, 觉得挺有意思的, 我要买一本数据结构的书。
不过, 我现在的设想是一个SITE对应一个DBtable, Asite的DBtable里面的信息不能经过Bsite的验证, 但是可以实现在A上登陆之后, Bsite也是登录状态。