Being Web Developer you need to know ........ Some people may - TopicsExpress



          

Being Web Developer you need to know ........ Some people may say: My job is creating forms in WordPress, why would I learn things that have no direct connection to my job and that I won’t ever need in real life. And my answer is that if you don’t learn them, then making those WordPress forms will be your job for your entire life. General programming awareness Understanding the “big O notation”, what it means and why it matters Array data structures as they are defined, not as they are implemented in PHP. How is the n-th element of an array accessed in memory At least one other fundamental data structure (linked list, queue, stack) Being able to implement at least one O(NlogN) sorting algorithm Understanding recursion. This really goes without saying OOP Encapsulation, Inheritance, Polymorphism Difference between interfaces and abstract classes. As an added bonus some knowledge on how PHP traits might be used when implementing multiple interfaces Understanding of at least 2 patters of each kind (Creational, Structural and Behavioral) The DRY principle Why are Singletons evil Architectural Difference between MVC, VC and MVP architectures. Why can’t microframeworks like Slim be classified as MVC, and which architecture type are they actually. Why all PHP MVC frameworks aren’t actually truly MVC What is Separation of Concerns Understanding ORM and Activerecord Networking IP address structure What is a port, a protocol and a socket Being able to construct an HTTP request and response payloads manually Pros and cons of using cookies vs sessions. Knowing when to use which Being able to perform a basic configuration of an HTTP server (apache, nginx, whatever) Using AJAX SQL Designing normalized tables. Knowledge of the first 3 normal forms Understanding of indexes. What is a full table scan and why it should be avoided Understanding how to use EXPLAIN to analyze queries Different types of joins Why are foreign keys needed in the database MyIsam vs InnoDB pros and cons Awareness of the existence of NoSQL databases HTML, CSS and markup This one heavily relies on actual experience, so I’ll only concentrate on theory: At least one template engine, or using PHP as a template engine CSS preprocessor awareness Feeling comfortable with supporting multiple browsers At least some nice CSS effects, like shadows, gradients, rounded corners, etc Understanding the importance of semantic markup Document object model Javascript Yes, this gets its own section How come javascript is an object oriented language without classes How to emulate classes in javascript In what ways is the prototype approach to OOP superior to class based approach JQuery, though I guess nowadays people learn JQuery before they learn javascript Being able to write well structured code without callback hell Techniques of loading js faster (uglifying, requirejs) Security Approaches to authorization and authentication OAuth Preventing SQL attacks Preventing XSS attacks DDOS mitigation Hash functions, and why md5 is not cool anymore Development process Why do we need testing? Being able to use any testing framework, bonus points for PHPUnit Mocks vs Stubs Different kinds of testing: Unit, Integration, Behavioral, Smoke, Black box… Any VCS system, bonus points for Git. Being able to undo commits, rebase, branch etc. Optimization Caching Profiling Understanding of load balancing approaches PHP Finally =) (Server side sCripting and programming language) I am describng about PHP PHP data types Error handling Exception inheritance and multiple catch statements Classes, interfaces, traits Handling file uploads Magic methods Being productive in at least one framework AND one cms Autoloading Late static binding
Posted on: Mon, 05 Jan 2015 14:52:12 +0000

Trending Topics



Recently Viewed Topics




© 2015