首页 开发编程 正文

PHP基础不好怎么学

不着急去记命令比如新建文件、复制、重命名、压缩、解压、安装软件包、改ip地址等等一些比较常用,基本就会想起来这些命令具体参数怎么用。`man-kman`会列出更多命令的帮助信息:最好先理解一下这条命令要干什么再进行操作。...

PHP基础不好怎么学,零基础学Linux可以学会吗?

可以,很容易学会。我给大家四个方面的思路分享,算不上建议。

## 能用图形界面解决的,不着急去记命令

比如新建文件、复制、重命名、压缩、解压、安装软件包、改ip地址等等一些比较常用,在图形界面下就能很容易滴完成的操作,不用急着去记它们对应的命令。

为什么要这样说呢,因为现在的大多数linux都已经有很好的图形界面、软件商店这些支持了。安装起来之后,先用图形界面去熟悉,给自己一个大体的感受,会比较好。

先把自己安装的这个linux用起来,这里点点,那里看看,打打字,登个鹅聊聊天(如果有人会和你聊的话),上上网,听听歌,试试有哪些地方不适应,不得劲,想办法换一换,或者用头条搜索一下看看有没有什么办法可以解决一下子。先把系统玩起来,探索一番,用起来再说。

等到哪天,真正需要用远程SSH连接Linux,只能使用命令行进行操作的时候,这些命令反而会很快地学会。

这样才完全符合人的本能。不用被“我要学习Linux”这个大大的心理压力而把自己给吓跑。

其实你问我会不会linux,我回答会,但是我知道的命令却少得可怜。基本上全靠临场翻手机,给自己一些提示,看了提示,基本就会想起来这些命令具体参数怎么用。因为我看的是我自己整理过的,所以很容易理解。

说白了,我曾把完整的书籍撕碎,夜里的桌上全是瞌睡~

后来,我放弃了专门学习linux的念头,拿着书去查今天用到的命令,再理解一遍参数,再试一遍,然后将这个命令整理到自己的笔记中,效果反而还行。

## 多看帮助文档,多搜索

以deepin为例,在桌面上面右键,选择`在终端打开`,就打开了终端,输入`help`会列出一些命令:

`man -k man`会列出更多命令的帮助信息:

比如,我们要查看`cp`命令的帮助,输入`man cp`,会显示关于cp命令的帮助文件:

底部提示使用`q`键来退出,与Vim相同的用法。

如果不知道一些操作的命令是什么,可以直接在头条搜索`linux 重命名文件`,会有很多关于重命名的命令。

提醒,在尝试别人的命令之前,最好先理解一下这条命令要干什么再进行操作。

## 记笔记,养成记录的习惯

新建一篇叫做`linux常用命令积累`的笔记,这篇笔记不一般,一定要做到“时时勤拂拭,莫使惹尘埃”。一些遇到过的命令,一知半解的命令,弄清楚,整理好更新到这篇笔记里面。

随着使用linux的深入,命令也会越收集越多。并且,每次收集,也会不经意间回顾一下以前的一些命令,这样子就会形成一个很好的复习、学习、再复习、再学习的良性循环。

想起来很美好,做起来的话,最大的阻力来自于记录的习惯。习惯的养成,我的经验是在本该更新笔记而觉得自己已经记住了或者觉得没必要的时候,想象一下,在以后的某一天,自己飞舞的手指敲着键盘,旁边的小迷妹看的一脸崇拜~(快醒醒)

## 多用,在使用中学习

而不是在学习中使用,前面已经提到,学习是一种反本能的行为,当打着学习的旗号去接触linux的时候,我们会本能地觉得自己在付出着什么似的。

而当把linux做为一种工具来使用的时候,我们会本能地觉得我得到什么似的。

可以试着给自己一个挑战,我今天用一天的linux,而不使用windows。

最后推荐给大家一个国产linux系统:deepin,很符合我们平时操作电脑的习惯。

国人开发维护的软件商店,很多东西都是那么自然。

以上。

正在看这些字的你,如果觉得我码的这些字对你有一点帮助的话,请点赞、收藏、转发。

我是学边成,关注我,我们一起学编程。

作为一个拥有7年开发经验的PHP程序员?

作为一个PHP的老人,我的意见有一些参考价值。我先介绍一下我的从业背景,2001年开始用php,一直做电商系统,有两次中大型项目经验。目前负责公司经营,cto是用java的,15年金融系统经验。

既然你提到了内功,那就意味着不是短期可以具备的能力。但我们还是得圈住一个范围,你要解决什么问题?编程能力的内功和做好某类系统的内功显然只有重叠部分,而不是完全相同。

所以,我暂时认定你是想提高编程能力或技术疑难杂症的综合解决问题能力。

编程有两个大方向,一个是工程学,另一个是算法相关的(可以说是科学的范畴),但一般来说,很多软件都是两者兼而有之,但大多数业务系统还是工程学比较重要,算法都是用现成的,基本上不用设计或发明。

所以,我重点聊聊工程学,这个也是我的专业领域。

软件工程是指一定规模代码量的开发、管理、维护的相关方法论总称。当然,10万行以内的系统工程学的知识起的作用还不明显,但一万上以上的代码基本上都牵涉到工程学的知识。你平时遇到的系统一些奇怪的bug,代码的复制粘贴,代码的规范等等问题都是属于工程学需要考量的问题。java不同,java是有成熟的工程学规范体系。php的情况比较混乱。

所以,内功就可以概括出来了。

1. 代码的规范和质量,逻辑的清晰和简单。

2. 模块分包和类包的划分和设计。

3. 目录的组织和划分。

4. 质量保障工具的使用,如单元测试。

以上四点既和基本知识有关,也和你的工程经验有关。

所以,早期要增强内功就包括,培养良好的编程习惯,形成自己面对复杂度较高的代码段的逻辑清晰和简单化;其次、大量阅读和解剖优秀的工程开源项目;然后,争取较大规模的系统开发机会。

另外呢,编程内功跟一个人的性格也是息息相关的,一个能看清楚自己的人和一个自以为是、自我封闭的人,成长的速度也是很大区别的。不懂就问,海纳百川,虚心和同行请教,注重实事求是,这也是非常重要的内功。

最后才是计算机的基础知识,包括各种能提高你编程能力的方法论,如《编程珠玑》《代码大全》…各类技术书籍,比如我本人常年保持阅读大量技术书籍的习惯。意思是,技术书籍的阅读量多多益善。

另外,也要适当补充关于《哲学》和《文学》《历史》你很快就会发现,编程需要的内功已经和一个人的基本素质息息相关了,包括思维习惯等等,哪些编程厉害的人,做管理和经营也是一把好手。

因为你问的问题没有界定范围,所以只能这样帮你概括。一次性打字写完的,有部分错别字,另外水平也有限,多多见谅,希望对你有帮助。

没基础可以转行学HTML5开发吗?

首先html(h5是最新版本)是网页文件,它可以在线或离线工作,兼容性好,可以运行在任何平台,包括手机、平板和电脑。

虽然html是网页的基石,但要美观和特效,还需css的支持,若需要与用户互动,则要js编程语言的配合。若运行在网站上,可能还需要php等服务器端编程语言的支持。如果需要数据库,那就要mysql等数据库查询语言了。

故只单独学习html5显然是不够的,必须再了解或掌握css,js,php,mysql等。

对于编程零基础的人?

我是学物联网工程专业的,嵌入式作为核心技术,门槛虽然较高,但也跟其他事物一样,并不是牢不可破。首先介绍一下嵌入式,再大致谈下学习方法与心得~

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常嵌入式Web技术嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。

学习嵌入式之前,必须学习其他课程,所谓0基础是不可能的!

1、C语言

《C程序设计语言》第二版,徐宝文译,机械工业出版社。你能区分开指针数组和数组指针吗?你知道函数指针吗? 你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?

2、数据结构

《数据结构》C语言版,黄国愉、叶乃青编,清华大学出版社。你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?

3、C++

《实用C++程序设计》第二版,中国电力出版社,Steve_Oualline著 。此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。

4、单片机

《51单片机》你能用51单片机做出一样实际的东西吗?即使它再简单!要注意加深对中断的理解。

5、ARM单片机

细读《ARM微控制器基础与实战》周立工编写,即使你不用书中的开发板);

细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_1.2.pdf 。6、uCOS!!操作系统

细读《嵌入式实时操作系统uC/OS-!!》第二版,召贝贝译,你能把uCOS!!移植到自己的平台上吗?

能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序 。

7、Linux

熟悉Linux环境,学习Linux环境编程,学习交叉编程:

细读《linux命令大全.pdf》 ;

细读《GNU Make 使用手册(中译版).pdf》 ; 学习创建交叉编程环境。 8、Linux操作系统

《UNIX环境高级编程》 ;

细读“joyfire 笔记”,可在“www.qianrushi.com”网站的好书下载栏目获取 ;

细读《linux内核完全注释》 ;

细读《understanding the linux kernel 2》 ;

利用源代码阅读利器工具"Source Insight"进行真正的linux内核原码刨析 ;

最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序 。

9、Linux设备驱动编写

可参考《Linux设备驱动程序》

10、复习C++

学习用QT进行图形界面编程:

细读《QT编程宝典》;

学会通过查看QT电子文档进行QT GUI实地编程 ;

学习交叉编程(其实就是把命令qmake变为tmake)。

11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)

嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?

学PHP该怎样做好职业规划?

首先来说,PHP作为一门脚本语言,上手的确很快,项目开效率也高,但随之而来的就是PHP同行业的竞争越来越大(同质化严重),很多PHPer很快就能触碰到天花板。

那PHPer该如何持久发展呢?这里我给的建议就是不要把自己局限在PHP上面。因为PHP上手快,很多开发人员其实计算机基础掌握并不牢固,很多计算机原理是不知道的,再者一些开发上的高级概念了解不够透彻。我建议你掌握一门更高级的语言,如:Java、C++都是可以去考虑的。

PHP职业路线如何走呢?作为从事PHP 近10年的开发者,我是这样规划的:

* Step1、深耕技术,成为领域“高手”,这里不敢说成为“专家”,但你需要成为团队的技术骨干,要求掌握知识也不少,具体如下:

计算机基础知识

计算机网络知识(特别是网络协议这块)

前端知识:DIV+CSS、JS/JQ/VUE、Ajax、H5

数据库知识:SQL、主从同步、读写分离、安全、调优

PHP知识:先学会主流框架,同时也要了解框架的实现原因

其它高级语言掌握

* Step2、了解公司业务,要非常了解你当前公司的业务,如果你对公司业务不清楚,你做出来的项目品质这块肯定是有问题的,业务驱动技术架构;

* Step3、业务驱动:项目负责人、项目经理

当你的能力及业务能力比一般人要强时,相信你能胜任项目经理岗了,此时你不需要专精去写代码了,但你需要对任务进行合理拆分,让项目成员去做,你更多的是做沟通、协调、技术攻关相关的工作;

* Step4、技术驱动:架构师

上面第3步是基于业务驱动的,可以做项目经理,但如果你一心痴迷技术,那你可以偏架构一点,架构师是技术驱动的,对技术领域要求很多,需要有前瞻性;

* Step5、CTO级别

CTO级别一般很难达到,当然小公司还是比较容易的,CTO分两种:写代码的、不写代码的,看你个人定位;

以上是PHPer的规划,其实开发人员的路子很多,不要把自己局限住。如果对技术有兴趣,我的头条号里基本都是技术原创,可以看一下哦,希望对你有帮助。

本文转载自互联网,如有侵权,联系删除