我的web学习日记 -- easyfly 2015年9月

easyfly 发布于 2015年09月02日
无人欣赏。

为了避免在一个帖子下内容过长,每月开新的帖子学习日记

打算开始系统的长久的学习web开发(偏后端)。

为了克服自己做一件事情不容易坚持的坏毛病,计划在 OurCoders上面记录学习日记,接受大家监督。

目标:

在年底前做出一个还算过的去的web产品并上线开始服务。(具体正在构思中)

方法:

因为本身有C++背景,同时学过点Python和Django,所以打算系统学习下php语言(毕竟php做东西更快,应用更广,而且未来工作机会也更多),以项目为驱动。

在每天工作之余坚持学习,每天打卡记录学习内容和学习感悟,至少每周有5天或者5天以上的记录,允许在两天内补交学习记录。

不贪大求全,每天有所进步就好。

以到今年年底2015年12月31号为期,到时再来撰写总结。

祝自己好运 :)



[2015-09-01]

学习内容

《PHP和MySQL web开发》第20章

使用网络函数 抄书上的代码实现了访问yahoo来获得股票的价格的功能

代码见于 https://github.com/easyfly007/practice_php/tree/master/chap20

打算放假期间做个天气预报的功能

学习总结

要开始做点东西出来了。 也开始感受到PHP的函数的命名的混乱了

共9条回复
easyfly 回复于 2015年09月02日

[2015-09-02]

学习内容

利用网络API获取天气预报信息

学习体会

我想着对于天气预报应该有比较成熟的接口,然后上网一查,找到这个 https://www.showapi.com/api/lookPoint/9/2

好在天气预报是免费的,赶紧申请了,上面给了PHP调用的示例,比较简单,于是很快就实现了。 确实能够获得我提交的地名的天气预报信息。

虽然界面有待美化,不过应该问题不大。周末进行修改下,争取上线。

代码见于:

https://github.com/easyfly007/practice_php/blob/master/chap20/weather/weather.php

运行之后就能跑出结果来了。

当然因为我还不懂json,所以需要继续格式一下这个输出的内容。

结果如下:



20150902232813

sorted para is:area杭州needHourData1needIndex1needMoreDay1showapiappid****showapitimestamp20150902232813****

md5 result is :****

http://route.showapi.com/9-2?showapiappid=****&area=%E6%9D%AD%E5%B7%9E&needMoreDay=1&needIndex=1&needHourData=1&showapitimestamp=20150902232813&showapi_sign=****

json is :0

stdClass Object ( [day] => 20150902 [dayairtemperature] => 32 [dayweather] => 多云 [dayweatherpic] => http://appimg.showapi.com/images/weather/icon/day/01.png [daywinddirection] => 无持续风向 [daywindpower] => 微风<10m/h [index] => stdClass Object ( [beauty] => stdClass Object ( [desc] => 请选用防脱水化妆品。 [title] => 防脱水 ) [clothes] => stdClass Object ( [desc] => 建议穿短衫、短裤等清凉夏季服装。 [title] => 炎热 ) [cold] => stdClass Object ( [desc] => 感冒机率较低,避免长期处于空调屋中。 [title] => 少发 ) [comfort] => stdClass Object ( [desc] => 多云,有些热。 [title] => 较不舒适 ) [glass] => stdClass Object ( [desc] => 建议佩戴透射比为1级的浅色太阳镜 [title] => 必要 ) [sports] => stdClass Object ( [desc] => 户外运动请注意防晒。 [title] => 较适宜 ) [travel] => stdClass Object ( [desc] => 微风,虽天气稍热,但不会影响心情。 [title] => 适宜 ) [uv] => stdClass Object ( [desc] => 涂擦SPF大于15、PA+防晒护肤品。 [title] => 中等 ) [washcar] => stdClass Object ( [desc] => 无雨且风力较小,易保持清洁度。 [title] => 较适宜 ) ) [nightairtemperature] => 22 [nightweather] => 多云 [nightweatherpic] => http://appimg.showapi.com/images/weather/icon/night/01.png [nightwinddirection] => 无持续风向 [nightwindpower] => 微风<10m/h [sunbegin_end] => 05:38|18:18 [weekday] => 3 )

easyfly 回复于 2015年09月06日

[2015-09-06]

学习内容

《TCP/IP详解 卷1协议 》第一章概述

看书,无代码提交。

学习体会

之前在看php网络相关的内容的时候,感觉有点费劲,于是就直接买了这本书来看,其目的并不在于学通这本书,而是在这本书看得一知半解的情况下,足够能够对php的相关内容有所理解。作为非科班人士面对这些理论基础,只有硬着头皮看了。

btw,前面三天放假,基本上没有怎么学习,惭愧惭愧,主要是在忙一件更加重要的事情,身心疲惫。

easyfly 回复于 2015年09月10日

[2015-09-09][2015-09-10]

学习内容

django基础

学习体会

因为周五要给同事们讲解python的django框架,这两天把 django book的内容,从第一章到第七章重新看了一遍,确保还记得内容。django book是我见过的差不多最好的学习django的资料了吧。

http://djangobook.py3k.cn/2.0/

easyfly 回复于 2015年09月12日

[2015-09-11]

学习内容

《PHP和MySQL Web开发》第22章图像处理

学习体会

代码见于

https://github.com/easyfly007/practice_php/tree/master/chap22

1. 安装

http://www.php.net/manual/zh/install.windows.extensions.php

在windows下gd2.dll 是自带安装的,只要在 php.ini文件中打开就可以了

1.1 确保 extension_dir = C:phpextensions 指向你的在php 在扩展包的目录

1.2 确保 ;extension=php_bz2.dll 前面的注释符号;去掉

2. 图像格式

JPEG 有损

PNG 无损

GIF 无损

3. 建立图像的基本流程

3.1 创建图像的背景

3.2 绘制图像轮廓,或者输入文字

3.3 输出最终的图像

3.4 清楚所有的资源

4. 创建图像

4.1 可以新建一个图像

调用函数

$im = imagecreatetruecolor($width, $height);

返回一个新图像的标识符,类似于文件句柄

4.2 从已有图像文件打开

$im = imagecreatefrompng('imagename.png');
$im = imagecreatefromjpeg('imagename.jpeg');
$im = imagecreatefromgif('imagename.gif');

5. 绘制图像

5.1 选择绘制的颜色

$black = imagecolorallocate($im, 0,0,0);
$white = imagecolorallocate($im, 255, 255, 255);
$blue =  imagecolorallocate($im, 0, 0, 255);
$red =  imagecolorallocate($im, 255, 0, 0);

5.2 绘图函数

imagefill($im, 0, 0, $blue);

绘图填充区域的起始坐标 0,0,用$blue 填充

画一条线

imagestring($im, 0, 0, $width, $height, $white);

起始点(0,0),终点($width, $height), 颜色为$white

添加字符串标签

imgetstring($im, 4, 50, 150, 'sales', $white);

字体为4, 位置为(50, 150), 内容为 ‘sales', 颜色为$white

添加字符标签

bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )

6. 输出图形

可以将这个图像直接输出到浏览器或者文件

6.1 Header('Content-type: image/png');

设置文件输出格式,可以用的包括:

超文本标记语言文本 .html,.html text/html

普通文本 .txt text/plain

RTF文本 .rtf application/rtf

GIF图形 .gif image/gif

JPEG图形 .ipeg,.jpg image/jpeg

au声音文件 .au audio/basic

MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

MPEG文件 .mpg,.mpeg video/mpeg

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

Header()也可以用来进行重定向,用于加载一个不同的页面

Header('Location: http://www.domain.com/new_homepage.html');

6.2 输出图像

imagepng($im);

不同的函数包括

imagejpeg($im);
imgetgif($im);

7. 清理

imagedestroy();
imagedestroy($im);
easyfly 回复于 2015年09月14日

[2015-09-13][2015-09-14]

学习内容

《PHP和MySQL Web开发》第22章 创建图像

学习体会

首先是利用树上的代码,写了一个关于投票的页面,能够在后台运行起来,通过MySQL的交互,显示投票结果

然后我就想写一个可以自定义投票内容的页面。

代码见于

https://github.com/easyfly007/practice_php/tree/master/chap22

easyfly 回复于 2015年09月15日

[2015-09-15]

学习内容

基于《PHP和MySQL Web开发》一书第22章的关于投票系统的内容,进一步开发成包含能够创建投票的一个功能

学习体会:

代码见于

https://github.com/easyfly007/practice_php/tree/master/chap22/vote2

改变了背后的SQL 表的结构,用一个表保存每个 投票的voteid, votename, 另一个表保存每个vote的选项,有 itemid, voteid, itemname, itemcnt.

大概花了半天时间吧,网上查阅了一些PHP MySQL函数的用法,基本实现了功能。

界面是丑了点。

easyfly 回复于 2015年09月16日

[2015-09-16]

学习内容

拓展《PHP和MySQL Web开发》一书第22章的关于投票系统的内容,增加删除投票的功能

学习体会
  1. 在创建投票的时候可以设置密码,利用该密码可以删除投票

  2. 密码在数据库里面用md5保存,为了安全性考虑是否应该进一步加盐?

  3. 下一步,准备在学习session之后增加防止刷票的功能,这就要增加用户或者判别ip或者邮箱了。

慢慢来吧。

easyfly 回复于 2015年09月18日

[2015-09-17]

学习内容

《SQL必知必会》

学习体会

晚上回家不想打开电脑,就在kindle上面看书,看的是《SQL必知必会》这本小册子。

基本上里面只讲怎么用SQL对数据库进行操作,没有啥理论的内容,属于实用型的手册。

之前翻过一遍,但是总归由于缺乏实际操作经验而泛泛。

现在通过PHP做过了几个MySQL操作的实践之后,看起来能够了解的更多了。

感觉这本书可以在不同的时候翻看,然后把所有的SQL语法熟记于心,免得临时写代码的时候又要去网上搜索。

easyfly 回复于 2015年09月22日

[2015-09-21] [2015-09-22]

学习内容

《SQL必知必会》

学习体会

周末又是忙忙碌碌看房子,没有时间来看书。

不过还是抽空把这本书全部看完。

后面一些部分,因为没有太多的实践操作,体会不够深刻啊。

另外写了《PHP和MySQL web开发》第23章的代码,关于 session 回话控制的,具体的代码见于:

https://github.com/easyfly007/practice_php/tree/master/chap23

登录 或者 注册