


From HTML novice to PHP, I felt that building a website in PHP was quite simple at first, but later I felt that the knowledge I learned was not enough. The website is far from a message board, as simple as logging in and registering.
Currently I don’t know much about these technologies:
Server operation and maintenance, website deployment, technical architecture
php advanced technology, scheduled tasks, queues (I have always used php as a "static" language, it will die if no one accesses it) composer docker Ionic phonegap
mysql transaction, advanced
Other databases nosql memcached redis mongodb
css3 html5 html5 new features html5 website angularjs framework React framework requirejs CommonJS
nodejs npm Grunt tool git github
Knowledge of e-commerce website system design, large concurrency, flash sale system design
Search technology, I need to solve my current sql word link '%$q%'
Linux php environment deployment and optimization. Linux lamp environment optimization, common web software environment configuration, installation
Design patterns, algorithms
The above is what I desperately want to learn.
I want to learn everything about web development, front-end and back-end. Some people say that if you feel that you have reached a bottleneck, it’s time to read a book. I hope the master can tell me and recommend some books. Both front-end and back-end, as well as practical basics are acceptable. Thanks!
Reply content:
From HTML novice to PHP, I felt that building a website in PHP was quite simple at first, but later I felt that the knowledge I learned was not enough. The website is far from a message board, as simple as logging in and registering.
Currently I don’t know much about these technologies:
Server operation and maintenance, website deployment, technical architecture
php advanced technology, scheduled tasks, queues (I have always used php as a "static" language, it will die if no one accesses it) composer docker Ionic phonegap
mysql transaction, advanced
Other databases nosql memcached redis mongodb
css3 html5 html5 new features html5 website angularjs framework React framework requirejs CommonJS
nodejs npm Grunt tool git github
Knowledge of e-commerce website system design, large concurrency, flash sale system design
Search technology, I need to solve my current sql word link '%$q%'
Linux php environment deployment and optimization. Linux lamp environment optimization, common web software environment configuration, installation
Design patterns, algorithms
The above is what I desperately want to learn.
I want to learn everything about web development, front-end and back-end. Some people say that if you feel that you have reached a bottleneck, it’s time to read a book. I hope the master can tell me and recommend some books. Both front-end and back-end, as well as practical basics are acceptable. Thanks!
The list you made is great and the knowledge is very complete, but I personally think that the bottleneck you are facing now cannot be solved by books. In other words, it is difficult to solve it with books alone.
Think clearly about the purpose of learning and avoid learning for the sake of learning
For example, high concurrency, flash sales, architecture, these are often things that are not accessible to existing businesses. There are generally two purposes for learning: either to cope with interviews, or for future business development, so that you can top up when needed (knowledge reserve). Different purposes have different learning means and target levels. For example, if you are going for an interview, just have a certain understanding of the scenarios and common solutions. You don’t need to make up anything during the interview. Just say that you haven’t had the opportunity to contact the person but you know how to do it. That is a good answer. If it is for business development, and if the current company will develop to that level soon, then it has to be put into practice, and you can communicate with the boss. The boss may be worried.
But if your company is far away from any scene and you don’t plan to change jobs, then don’t waste your precious time and learn something else
Practice, practice, practice!
Whether you are used to reading books, videos, or like me, you are used to learning from Google and StackOverflow, the only constant end point of learning is always practice. No matter what your purpose of learning is, always give yourself the opportunity to practice before you start. The company needs to communicate with the boss. The company does not need to start small projects on the side. If it is inconvenient, then stop learning to the extent of "understanding the problems and common solutions"
You already have a good knowledge base, so it shouldn’t be difficult to find a breakthrough based on the company’s current/future needs. Trying to learn based on the company’s development needs is the most efficient and profitable. Believe me, the boss will always like that the most. Employees who can jump up and say "I've seen this thing before and there are three options. I think option B is currently the most suitable for our company's situation. I can take the lead in making this happen"
Scene is king
In the above two points, I have been talking about scenes repeatedly. In fact, it is very similar to English. The core ability of English is not the tens of thousands of words, nor the advanced grammar, but the "sense of language", or in other words, from the scene The ability to relate to appropriate expressions and in turn understand the scene from other people's expressions.
Most of the books and videos, including online searches, can only solve the problem of "how", but I always think that "how" is almost the least important thing, at least for Internet technology, except for extreme scenarios, In 99% of cases, "how" is not a problem. Just find the most suitable class library, read the documentation, and call and debug it. The key to the question is always "when" and "what", and occasionally "why"
how: How to achieve something (such as how to support large concurrency), this is really not important
when: When is it necessary to introduce a solution to support concurrency? How many concurrent users can a common single-core 8G server support? How to monitor concurrency to confirm whether expansion is needed? How much concurrency can be improved by common concurrency optimizations? This determines to what extent the business needs to consider introducing corresponding solutions . Premature optimization is the first of all evils
what: What is the core problem of concurrency problem? For example, one direction is horizontal expansion/automatic expansion, the other direction is data consistency (transactions and distributed transactions) under high concurrency, and of course there is also single-machine concurrency optimization. If you understand it, you will find that stand-alone optimization is indeed important and fundamental, but most of the time it is far less effective than the first two. If you are ignorant and just rush to the word "high concurrency" and learn a lot of single-machine optimization things, you may not be able to use them in the end
why: Why does the company need this technology? Where is the intersection between business and technology? Does your company's business model determine that it needs to support a large number of concurrency to make profits? Is the company's business data too precious to be lost, so it needs powerful off-site disaster recovery? Or is it because the company's business cannot accept long downtimes, so it needs disaster recovery and flexibility and high availability? Of course, the slightly depressing reason "high-level executives like this technology" cannot be ruled out.
Taken together, the problems other than how are simply scene problems. It is really important to think about this. Only by thinking about this can your study be purposeful, organized, planned, and final. ResultsEffective Learning
Finally, the only book I recommend to those who hate reading books to study is the best study list. There are many important points that you need to learn/focus on that are not listed, "The Pragmatic Programmer", translated name "The Way of Programmer Training" is a bit vulgar, but it would be a pity to miss it
Attached is another answer "How can programmers practice their skills in combination with the projects they usually work on?"
When a programmer encounters a bottleneck, reading books or whatever is of no use. The best way is to change jobs
Go step by step, buy books, do project exercises, and be proficient in using at least two PHP frameworks
Start learning from the basics, PHP basics, HTML basics, find some small projects to look at, and then you can get in touch with frameworks, such as Codeigniter, which is easier for novices to understand. The key is to make something by yourself.
You can check out more PHP technology blogs:
http://blog.tanteng.me
1 Recommend the book first
Server operation and maintenance
《Brother Bird’s Linux Private Cooking》
git
githug - a small game for learning git using git
Similar ones include vimtutor
Knowledge of website system design, large concurrency, flash sale system design:
Read the technical blogs of several big companies and learn what front-line developers are doing, that’s about it
Tencent Lecture Hall
Tencent Full-Terminal AlloyTeam Team
Comment on Meituan Technology Team
Mogujie Technology Blog
Design patterns, algorithms
《Dahua Design Patterns》
《Code Encyclopedia》
I know little about other aspects, please add more
2 Let’s talk about what to do if you encounter a bottleneck
First of all, don’t feel that you are too weak. Feeling that you have encountered a bottleneck means that you still realize that you are insufficient in some aspects, but don’t start learning blindly. My suggestion is:
It should be thereBreadthIt should be there. If you start from PHP, then you should have some understanding of Web, database, operation and maintenance, and architecture
Think about what you will do in the next five years. Will you always be a programmer? What position does a programmer occupy in a team?
After thinking about 2, you should have a continuous and deep understanding
of what you will do in the future.
Learn Linux scripts, learn full-stack frameworks such as symfony or yii, and become familiar with using cloud products for large-scale application scenarios.
What you have to think about when you reach the bottleneck is actually very simple, that is, don’t think about anything, do what you need to do in a down-to-earth manner, and accumulate more knowledge. The reason for the bottleneck is that you cannot meet the standards of Bofa. Improve your understanding of technology. If you have the opportunity, get exposed to a wider technology stack. Try not to use one language until you are old. However, this does not mean that you can use all languages or abandon PHP. To learn some ideas in other languages. Then when using some third-party technologies or frameworks, try to learn some underlying knowledge in depth without affecting the project process.

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
