Browsed by
Month: November 2014

[转]编程进阶

[转]编程进阶

ACM队不是为了一场比赛而存在的,为的是队员的整体提高。 大学期间,ACM队队员必须要学好的课程有:   l C/C++两种语言 l 高等数学 l 线性代数 l 数据结构 l 离散数学 l 数据库原理 l 操作系统原理 l 计算机组成原理 l 人工智能 l 编译原理 l 算法设计与分析   除此之外,我希望你们能掌握一些其它的知识,因为知识都是相互联系,触类旁通的。   以下学习计划每学期中的内容不分先后顺序,虽说是为立志于学习ACM的同学列的知识清单,但内容不限于ACM的知识。英语之类与专业相距较远的课程请自行分配时间,这里不再列举。   大一上学期:   必学: 1. C语言基础语法必须全部学会 a) 推荐“语言入门”分类20道题以上 b) 提前完成C语言课程设计   2. 简单数学题(推荐“数学”分类20道以上) 需要掌握以下基本算法: a) 欧几里德算法求最大公约数 b) 筛法求素数 c) 康托展开 d) 逆康托展开 e) 同余定理 f) 次方求模   3. 计算几何初步 a) 三角形面积 b) 三点顺序 4. 学会简单计算程序的时间复杂度与空间复杂度 5. 二分查找法 6. 简单的排序算法 a) 冒泡排序法 b) 插入排序法 7. 贪心算法经典题目   8. 高等数学   以下为选修:   9. 学会使用简单的DOS命令(较重要) a) color/dir/copy/shutdown/mkdir(md)/rmdir(rd)/attrib/cd/ b) 知道什么是绝对路径与相对路径 c) 学会使用C语言调用DOS命令 d) 学会在命令提示符下调用你自己用C语言编写的程序,并使用命令行参数给自己的程序传参(比如自己制作一个copyfile.exe实现与copy命令基本功能一致的功能) e) 学会编写bat批处理文件 10. 学会Windows系统的一些小知识,如设置隐藏文件,autoRun.inf的设置等。 11. 学会编辑注册表(包括使用注册表编辑器regedit和使用DOS命令编辑注册表) 12. 学会使用组策略管理器管理(gpedit.msc)组策略。   大一下学期: 1. 掌握C++部分语法,如引用类型,函数重载等,基本明白什么是类。 2. 学会BFS与DFS a) 迷宫求解(最少步数) b) 水池数目(NYOJ27) c) 图像有用区域(NYOJ92) d) 树的前序中序后序遍历 3. 动态规划(15题以上),要学会使用循环的方法写动态规划,同时也要学会使用记忆化搜索的方法。 a) 最大子串和 b) 最长公共子序列 c) 最长单调递增子序列(O(n)与O(n log n)算法都需要掌握) d) 01背包 e) RMQ算法 4. 学会分析与计算复杂程序的时间复杂度 5. 学会使用栈与队列等线性存储结构 6. 学会分治策略 7. 排序算法 a) 归并排序 b) 快速排序 c) 计数排序 8. 数论…

Read More Read More

[转]How-to-learn-PHP-the-best-way

[转]How-to-learn-PHP-the-best-way

一个PHP菜鸟的自学规划 作者:PHP100_Zeroing  来源:PHP100  日期:2014-11-12 23:36:00        我看了关于这方面的很多资料,我几乎没有看到过一个满意的答案,我该构建一个什么样的体系,如何构建,从哪开始? 我是经济专业的,没有参加过任何编程相关的课程,所以我是零基础开始学习,下面就是我学习网站开发(使用PHP)的过程,如果你有基础或已经了解一些,你可以跳过相关步骤。建议你看完整篇文章,确保你认同这份计划,你再开始你的学习之旅。 一个人独立学习PHP可能有点难,但是这也未尝不可。学习PHP,大概只需要1-2个月的时间,这还是算上了你有几天没有学习。如果你是一个上班族,你只是在空余时间学习,可能时间还要长一点。 我用了几乎一年的时间才到达我现在的水平,中间走了很多弯路,我看了很多后来发现根本没用的视频和教材,因为我从没有看到过一个好的学习向导。这篇文章就是为了帮助大家少走弯路,减少找资料和学习方法的时间。   Step1:2-4天 学习HTML/CSS的入门知识,了解这些代码,对于初学者来说最简单的第一步,并且让你学习的内容立马看到成效。相反,一上来就学习语法,编写这样的代码实在无聊,因为你都可以用计算器得出结果。   Step2:1-2天 利用视频教程,PDF文档,学习PHP头几门课程,知道构建网站的一些基本工具,下面你就要学习更多PHP提供的功能了。另外,在这一阶段你要找到一款你喜欢的代码编辑器。   Step3:2-4天 这一步对于有一定编程基础的人来说很容易,但对于那些零基础的人就比前阶段的入门步骤难一些了。回到你之前学习的PHP课程,完成整个课程的内容,这一步虽然有些难,但不要灰心和放弃,因为在下一步我们会有大量的更酷的内容。   Step4:6-9天 学习完这些课程并完成相应的练习,你就基本已经是一个Web开发者了,如果你能做到这些你就应该很自豪了。你要培养这方面的兴趣,基本上所有人都足够聪明,可以学会Web开发,关键是兴趣和激情。在这个时候,你希望可以有一个更高级的代码编辑器,比如Netbeans。   Step5:1天 现在可以学习一些AJAX的知识了,现在不知道这是什么都没关系。   Step6:1天 这时候应该学习面向对象的知识,让你的代码更整洁。它会增强代码的复用,把代码模块化。   Step7:2-3天 用PHP做一个CMS系统,一旦你完成了它,再返回头,用面向对象的方式实现它。如果这个对你有困难,没有关系,随着你的学习一直做它,不要过分纠结于一个难点,然后就放弃了。   Step8:7-9天 学习做一个登录系统,可以参考YouTube上的PHPAcademy课程。   Step9:2-3天 利用JQuery把你的网站做的更有趣,互动性更强一些,JQuery是一个简单但非常重要的库,可以让你的网站更棒。所以,学习一些JQuery的指导课程,它是JavaScript的一个库,我这里没有让大家学习整个JavaScript,因为JavaScript和PHP很相似,在一开始你不会用到完整的JavaScript。   Step10:3-5天 学习MVC框架的工作原理,我推荐CodeIgniter,它对于新手是很好的框架。   Step11:视情况而定 构建你的网站,这个需要看你想做的网站的复杂程度。记得你要使用面向对象的方法,使用MVC框架。   Step12:2-3天 完成了网站之后,你要试着将它发布到网上。对于这点,你可以看看如何创建一个云服务器,我没有做过这个,但PHPAcademy上有这方面很好的指导,一定会帮到你。   Step13:永远 学习永无止境,经常复习之前学习的内容,你依然可以从中学到新技巧,回忆起你忘记的内容。 原文:http://www.quora.com/What-is-the-best-way-to-learn-PHP-1/answer/Evan-Gow 译文:http://www.php100.com/html/it/focus/2014/1112/7791.html 翻译:PHP100_Zeroing

Ubuntu 下用 phpstorm IDE 和 XDEBUG 在XAMPP的服务器下配置 调试运行环境

Ubuntu 下用 phpstorm IDE 和 XDEBUG 在XAMPP的服务器下配置 调试运行环境

折腾了两天总算折腾好了,其实很多地方都很简单只有一个地方有些困难 那就是 使用 Zero-Configuration Debugger来调试PHP代码 首先说前面的步骤 本人系统环境Ubuntu14.04LTS XAMPP版本 1.8.3-5 安装PHPSTORM 在官网上下载对应的版本 我的是 Phpstorm8 然后运行目录下的bin/phpstorm.sh 即可进行安装 不用root权限安装即可  然后 这里提供一个序列号LICENSE USER:EMBRACE LICENSE ===== LICENSE BEGIN ===== 43136-12042010 00002UsvSON704l”dILe1PVx3y4″B3 49AU6oSDJrsjE8nMOQh”8HTDJHIUUh gd1BebYc5U”6OxDbVsALB4Eb10PW8″ ===== LICENSE END ===== 安装后新建一个PHP Project即可 工程根目录放在本地的服务器 DocumentRoot里即可 安装并配置 xdebug for php 首先 在你的服务器目录下新建一个php脚本 里面输入 <?php phpinfo(); 然后在网页上访问它,把所有信息拷贝下来 复制到这里 http://xdebug.org/wizard.php 然后点击 Analyze my phpinfo() output 就可以获得安装xdebug所需要你做的所有事项 follow下去即可 如果没法访问那个网站 ,你可以执行下面的脚本 把xdebug-your-version换成适合你的php版本的xdebug即可 我的是2.2.6 #GET XDEBUG cd ~ wget wget http://xdebug.org/files/xdebug-your-version.tgz tar xzvf xdebug-your-version.tgz cd xdebug-your-version.tgz #Install Xdebug /opt/lampp/bin/phpize ./configure –enable-xdebug –with-php-config=/opt/lampp/bin/php-config make sudo cp…

Read More Read More

Laravel 学习笔记 #3 First Laravel PHP Application

Laravel 学习笔记 #3 First Laravel PHP Application

前两篇文章我们已经设置好了PHP的环境 和 laravel搭建的必备环境,下面就正式进入laravelPHP的学习了~~ 首先是我们的第一个laravel工程 Cat Application 截图如下 上面是效果图,下面就开始coding~ 建立 laravel工程 首先 我们用laravel installer 建立一个laravel工程 ,注意此过程由于需要联网下载相关代码文件,需要科学上网 不然可能会导致建立失败。 输入如下指令 建立工程 laravel install cat 工程建立好之后 切换到工程的目录下, 然后运行这个指令 php artisan serve 在经过了前两篇文章的配置后,你应该能正常运行这个指令了 ,如果不能运行 出现报错信息,参见我上面几个教程 ,修复你的PHP环境 刚刚的指令给我们提供了一个不用开apache Or Nigix服务器程序就可以运行PHP网页的能力,在浏览器里输入 localhost:8000就可以打开了 最初的页面是一个laravel的logo 和 一句话 You have arrived 看到这样的页面说明你的laravel工程建立好了 下面就是代码的编写 第一个Helloworld 工程 Laravel采用的coding方式 也是 MVC的方式 即 Model View Controller 首先 我们从路由开始研究 ,这里路由最初我也不理解是什么意思 不过现在就当作是用户访问相应网址的时候会触发的响应即可 ,我们先写一个最简单的 访问根目录就会输出一个字符串的代码 打开 route.php j将原来的代码全部注释掉 然后添加如下的代码  这段代码的意思十分的简单 就不做解释了 这个理解了就可以继续往下看了 Route::get(‘/’, function() { return “hello”; }); 首先看一下代码的格式 理解这个代码应该没有困难 ,主要是把这个格式记住即可 下面 看一个动态应用的实例 要求显示 用户访问该网站根目录下的 /cat/$ID 会输出…

Read More Read More

[Ubuntu] 解决各种问题导致Apache PHP失常 完全卸载 并 重装

[Ubuntu] 解决各种问题导致Apache PHP失常 完全卸载 并 重装

系统版本 Ubuntu 14.04 LTS Desktop   今天晚上 ,,在学习Laravel的时候 我又去尝试 如何解决 PDOnot defined的问题 ,,结果 ,,就错误的安装了一个 名为 libapache2-mpm-prefork的模块,,然后我的apt-get 就不好用了 ,,报错是 dpkg configure 出问题 于是乎 ,,我就手动的remove了 /etc/apache2/目录下所有代 mpm_prefork的东西 ,也许这里的操作除了问题,,我随后无论如何 都没法启动apache 了 ,,  显示的错误是   Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. ****   于是乎就各种查找该如何解决这个问题,,百度 google stackOF都查了 没找到如何解决,, 只有Windows下如何解决的办法 于是乎 ,我直接卸载了apache想要重装 我用的是这个卸载指令   sudo apt-get remove apache2 然后 再次安装 ,发现卸载不完全,再次运行apache的时候 报错与上面一样 ,,于是 ,。。。我就卸载了 php5 用这个指令: sudo apt-get remove php5* 结果,,再次安装的时候  当安装 libapache2-mod-php5时最后配置PHP5的时候出现这个问题 apache2_switch_mpm: MPM prefork not…

Read More Read More