Category name:白历史

[Web/Database/Backend] FlightSearch@concur

07/13/2014 / No Comments

开个坑记录一下在concur学到的东西吧, Web方面的准备单开一帖, 这里主要记录一下关于FlightSearch这个项目本身学到的东西. (这个项目并不是concur任何现有产品的组成部分, 可以说是一个experiment, 所以在这post一下我的总结应该没有什么大问题)

在concur的intern program还是比较轻松的, manager各种nice, team里的人也不错. 跟另外2个uw cse的本科生一起在travel组, 分到了这么个项目: 做一个web service, 响应http call, 输入参数为航班的出发/到达机场, 要求的出发或到达时间范围, 以及其他一些参数例如最多几个stop等等, 然后要以xml/json格式输出符合条件的航班, 并且合理排序.

以上就是整个项目的需求了, 第一眼看还觉得诶我去这肯定特别简单啊! 但接着往下读需求就发现了问题: 数据来源是一个大约有50 million 行的表, 每行是一个具体的flight, 50 million 大约是一整年多一点的flight数据. 找一个地方到另外一个地方的航班, 如果只是nonstop的, 那很简单的query就找出来了. 然而问题是我们可能需要找1stop, 2stops 甚至3stops 的时候, 如果直接self join, 那基本是没有希望看到这个query run完了.

Manager想让我们寻找一种新的解决思路, 用一些新工具等等, 并且提示了我们graph database可能有用, 不过他也不确定. 我们之后的工作也很长一段时间去研究了graph database, 但固执如我还是觉得在sql里可以进行一些优化的. 于是我就开始寻找纯sql解决方案. 以下是我进行的一些尝试:

1. query optimization
2. separate subqueries
3. index

(TBD)

web

06/16/2014 / 1 Comment

最近在做一个淘宝开放平台(TOP)的第三方开发,学了一些关于Web的知识,总体感觉web开发涵盖的知识面太多了,要学的东西也太多了,于是决定好好的制定一个学习计划,顺便也借此机会做一个这个系列的教程。
开发计划:
1.基于open1688提供的java SDK开发一套web app
2.和玉琪一起参考open1688 java SDK开发Python版本的SDK
3.基于Python版本的SDK开发web app 2.0
博客计划
1.php及jsp开发平台搭建
2.MVC框架介绍,JavaBean + JSP + Servlet
3.各大平台(京东 阿里 百度 新浪)app engine介绍,这个是通用的,所以打算只拿出一个作为例子讲一下。
4.各大开放平台(阿里 微博 微信 京东 当当)OAuth2.0登陆验证
5.to be continued…

Apache + PHP + MySQL

06/01/2014 / 3 Comments

伤感啊,好久没更新了,紧紧追随绳子强大神的脚步,也学了一把web开发。
搭环境浪费了好久的时间,作为一个有轻微强迫症的人,我表示不能忍受xampp这种集成环境,所以自己动手搭了一下,在这过程中又被网上的各种教程坑的一愣一愣的,于是写下这篇总结。
我是按照Apache->PHP->MySQL这样搭的,这样的话可以装完一个测试一步,及时找出问题。
建议的版本是都用最新版:Apache 2.4.9 + PHP 5.5.13 + MySQL 5.6.19
Apache
下载地址,windows下的话就选binary这个,下载之后是一个msi的安装文件,傻瓜式安装,不用多说了。Linux就下载tar.gz,tar.bz2这些。目前比较常用的有三个版本:2.4.x 2.2.x 2.0.x,我本来是打算下最新的2.4.x,不过不知道为什么手抖选成了2.2.x,导致我后面浪费了很长时间找错误,一失足成千古恨啊!
不过要注意的是有一步要填server information的时候把network domain和下面的server name都填成localhost,方便调试。
安装好了就可以测试一下安装成功了没,打开浏览器输入http://localhost/,如果显示It works!说明已经安装好Apache了,记得测试之前看一下Apache是否已经start。
然后先看一下安装目录的结构,我的安装目录如下:
Apache
值得我们注意的主要是两个东西,一个是conf,另外一个是htdocs。先说一下htdocs吧,这个是Apache服务器的工作目录,里面初始的有一个index.html文件,打开之后你可以发现这个就是之前输入localhost显示的那个页面。从这可以看出来,我们在浏览器输入localhost的时候,其实就是在访问这个文件夹里面的内容。如果我们把所有编写的php文件都放在这个目录下,那这个Apache安装目录就会变得很大,而且每次都要找这个目录也很烦,所以最好把这个工作目录改一下。这个时候我们就要用到conf文件夹,里面有一个叫做httpd.conf的东西。打开这个东西,找到DocumentRoot,把这一行改成DocumentRoot “E:/php workspace”,注意前面没有#号。然后找到# This should be changed to whatever you set DocumentRoot to.,将下面的Directory这行改成。说明一下,”E:/php workspace”就是新的工作目录了,根据实际情况填写。接下来在”E:/php workspace”新建一个html页面,添加

,然后在浏览器中输入http://localhost/进行测试。

PHP
windows版下载地址Linux版下载地址。这个又是个坑爹的,不过这个也是怪我自己开始没看说明。windows版本最新版本有四种zip,两个变量,NTS(Non Thread Safe)还是TS(Thread Safe),x86还是x64,x86 x64这个按照pc的系统下就行了。但是NTS TS到底下载哪种,开始我以为随便下,结果坑爹了,其实下哪种是有说明的。
php
总结一下就是IIS的就用NTS,Apache就用TS。还有一点要注意的是PHP 5.5只支持Apache 2.4,所以如果你下载的是Apache 2.2的话,就只能用PHP 5.4(同时支持Apache 2.2和2.4)了。下载完成后解压到D盘,然后将文件夹改名为php5。现在就到了测试php安装是否成功的时候了。再次打开httpd.conf,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so这一行,在下一行添加LoadModule php5_module “D:/php5/php5apache2_4.dll”。这边说明一下”D:/php5″为PHP的解压目录,apache2_4代表的是apache的版本是2.4,与2.0 2.2对应的分别是后缀为apache2和apache2_2。在php5.5里面只有后缀是2_4的dll,在php5.4里面有后缀为2_2和2_4的dll。然后再在下一行添加PHPIniDir “D:/php5″,找到AddType application/x-gzip .gz .tgz,在下一行添加AddType application/x-httpd-php .php .html。重命名php目录下的php.ini-development为php.ini。重启Apache(这个很重要,每次做和Apache相关的修改都要重启一下。我刚才改了一个错误,结果忘了重启,然后又傻傻的找了半天问题,最后才发现原来是忘了重启),最后在Apache的工作目录下新建一个test.php文件,输入以下内容

然后在浏览器中输入http://localhost/test.php,如果运气还行的话,会出现This is a PHP Application!这几个字。

MySQL
下载地址,下载完了之后傻瓜式安装,要记下端口号和设置的密码,然后开始进行连接了,找到前面重命名后的php.ini文件,用记事本打开,找到On windows:这一行,然后将他下面一行的; extension_dir = “ext” 改为extension_dir = “D:/php5/ext”,我的php目录为”D:/php5″,大家根据自己的情况进行修改。找到extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_xmlrpc.dll这几行,将前面的;号去掉,重启Apache。修改Apache工作目录下的test.php代码为以下内容

3306是MySQL的端口号,root是用户名,1023是密码。然后在浏览器中输入http://localhost/test.php进行测试。
总结下来就是先安装Apache->测试Apache->安装PHP->用Apache连接PHP(修改httpd.conf)->安装MySQL->通过PHP连接MySQL(修改php.ini)。

mysql+php!

04/07/2014 / No Comments

也来学习一把web知识哈哈哈哈,已连接mysql数据库,要一个星期学会一样儿!

Opencv:thin

03/28/2014 / No Comments

图像细化算法,grassfire燃烧吧
识别各种牛马羊猪狗等动物的预处理

出门在外,还是得靠同胞

02/24/2014 / 4 Comments

~~~~~~中文电面有感而发~~~~~~

Haircut

01/19/2014 / 1 Comment

Photo Jan 17, 22 23 01

通过理发得到的人生真理:

1,发型决定成败

2,医者不能自医

#Gohawks !!!

Hello world!

01/12/2014 / 8 Comments

带着正能量上路!

  • Recent Posts
  • Recent Comments
  • Categories