קורס PHP / Full Stack Developers

מק"ט: #4578 | משך קורס: 460 שעות אק'

המסלול בנוי בהתאם לצרכי השוק ומאפשר לבוגריו לשמש כ- Full Stack Developers במגוון העצום והגדל של החברות הנזקקות לפיתוח Web יעיל ומקצועי.
המסלול מתחיל בטכנולוגיות צד-לקוח. יצירת ממשקים בסיסיים ואחר כך גם מתקדמים, מעוצבים ודינאמיים. חלק זה מצריך ידע בתכנות אותו ירכשו הסטודנטים ויממשו בסביבת JavaScript.
לאחר מכן מתרכז המסלול בצד-שרת. בחלק זה נעבוד עם שתי סביבות ה-Back-End הפופולריות לפיתוח Web-Servers כיום: Java Script ו-PHP. גם נושא אחסון הנתונים נכלל בתפקידי השרת. במסגרת החלק הזה נתמקד בעבודה עם שני כלים מובילים – האחד, לעבודה עם מסדי נתונים מובנים – MySQL, והשני, MongoDB – המשמש לאחסון מידע לא-מובנה (לא עקבי) המאפיין את עולם האינטרנט וה- BIG-DATA.
לתאריכי פתיחה ולסילבוס בסניף חיפה הקלק כאן >

לפרטים נוספים, מלא את פרטיך או התקשר 03-7100779
*שדות חובה
PDF version

אודות

רקע


הפיתוח המסורתי בסביבת ה-WEB (אינטרנט) נחלק לשני "תפקידים" גדולים:

  1. פיתוח צד לקוח – אחראי, בין היתר, על ממשק המשתמש. עם השנים יכולות הצגת המידע בדפדפנים, טלפונים ומכשירים נוספים, השתכללה מאוד וכוללת היום אינספור טכנולוגיות, למגוון עצום של צרכים- החל ממילוי טפסים, אתרי מידע ושירות (אתרי בנקים או אתרי ממשלה) וכלה במפות אינטראקטיביות ועריכת תמונה בזמן אמת. ככל שהלקוח "חכם" יותר בהצגת המידע. כך, הוא חוסך עבודה לשרת העסוק ממילא.

  2. פיתוח צד שרת – מתרכז בחלק הלוגי, הנמצא "מאחורי" ממשק המשתמש. הממשק מתקשר עם השרת על מנת לשגר נתונים (בקשות) בשם הלקוח, לקבל תשובות ולהציגן. בהתחשב בעובדה שישנם לקוחות רבים (לפעמים עשויים להגיע לקצב תעבורה של יותר מ-10,000 פניות בשנייה !!), ניתן להניח שתכנות בצד-שרת עוסק בעיקר בצד ה"אפל", הכרוך בחישוב תשובות, אחסון וטעינת מידע – וכל זאת במהירות המרבית.

 

הפיתוח המסורתי התאפיין בשני תפקידים מסורתיים – מפתחים המתמחים בצד-לקוח ומפתחים המתמחים בצד שרת. מפתח Front-End ומפתח Back-End. חלוקה זו אילצה לפזר את הידע על פני מפתחים שונים בארגון וגרמה לבעיות תקשורת ותגובות איטיות.

אבל, לאורך השנים, הכלים העומדים לרשות מפתחים השתפרו והטכנולוגיות מאפשרות לייצר פתרונות מורכבים במהירות יחסית. הדבר נכון הן לצד-שרת והן לצד-לקוח.
אותם פתרונות וסביבות יעילים, הובילו לכך שבשנים האחרונות מסתמנת מגמה של "איחוי" הפיתוח של שני הצדדים – לקוח ושרת, לכדי תפקיד אחד: Full Stack Developers. מפתחי Full Stack שולטים במגוון אדיר של יכולות לצד הלקוח, ומאפשרים בניית מסכים אינטראקטיביים והצגה דינאמית וחכמה של מידע ותוכן מצד אחד, ומצד שני, הבנה עמוקה ויכולת פיתוח של תהליכים הנדרשים לעבד את הנתונים בצד השרת ולהנגישם בצורה יעילה ומסודרת לצד הלקוח.

עצם העובדה שניתן לרכז את כל הידע, מקצה (לקוח) לקצה (שרת), באדם אחד, אשר מבין את המורכבות שבשני הצדדים, אך גם מכיר את הפתרונות לכל צד, מובילה לשיפור בתהליך הפיתוח בארגון. לכן, הדרישה ל Full Stack Developers גדלה מאוד בתקופה האחרונה וצפויה רק להמשיך ולגדול

צוות של מפתחים בעלי יכולות וראיה רחבים כל כך יכול לעשות הרבה, מהר ובשימוש בטכנולוגיות העדכניות ביותר על מנת להתאים את הפתרון לכל משתמשי הקצה הקיימים ואף לאלו העתידים לבוא...
חברות המפתחות בסביבת האינטרנט זקוקות הן לפיתוח דינמי ומיידי והן ליכולת לתת מענה בצד הלקוח והשרת. העובדה שכיום ניתן לקבל מענה שכזה ממפתח Full Stack הופכת אותו לאטרקטיבי ביותר.
ככל שעוד ועוד פלטפורמות, ארגונים, שירותים ובילויים נעים לכיוון האינטרנט, כך יוסיפו הטכנולוגיות להשתפר ולהתייעל, ואיתן גם הצורך במפתחים בעלי יכולת לראות ולחבר את התמונה כולה בזמן אמת. 

 

יתרונות קורס PHP / Full Stack

  • מאפשר למפתחים להיקלט במגוון חברות החל ביזמות פרטית וחברות הזנק וכלה במוסדיים.
  • מכין את הבוגרים למקצועות המבוקשים והחמים בעולם פיתוח ה- WEB כיום.
  • מספק הבנה מעמיקה של הארכיטקטורות והתהליכים עליהם נשענות הטכנולוגיות בקורס.
  • מתרכז ביישום ובפרקטיקה על מנת להקנות ניסיון מעשי תוך כדי הלמידה.
  • מאפשר לבוגריו לתת מענה מקצה לקצה ולשמש כמפתחי Full Stack המבוקשים כיום מאוד בקרב חברות גדולות וקטנות.
  • מאפשר לבוגריו לפתח Rich Internet Applications ולהפוך ל- Web Developer תוך שימוש במילה האחרונה של טכנולוגיות צד-לקוח.
  • מספק ראייה רוחבית בצד השרת וזאת ע"י לימוד 2 טכנולוגיות חשובות ופופולאריות לפיתוח מודולי Web והן – Node.js ו- PHP.

קהל יעד

  • כל המעוניינים להתמקצע בתחום האינטרנט ותכנות בעולם ה- Web.
  • מועמדים ללא רקע או עם רקע בסיסי בתכנות ל- WEB.
  • בעלי תואר ראשון או הנדסאים מכל תחום.
  • למעוניינים בהבנה מעמיקה של Front End Development לבניית צד לקוח מתקדם ומשוכלל.
  • למעוניינים לספק פתרון End to End בסביבת Web ולהפוך ל- Full Stack Developer.

מטרות

  • פתיחת שער לעולם הפיתוח ולעולם האינטרנט.
  • הכשרת מפתחי אינטרנט מומחים ועצמאיים, המסוגלים להקים ולנהל אתרי אינטרנט מ-א' ועד ת'.
  • הכשרת מפתחים מקצועיים המסוגלים ללמוד לבד ולהרחיב את עולמם המקצועי.
  • הכשרת Web Developers לניהול והצגת תכנים באתרי אינטרנט בסיסיים ומתקדמים.
  • הכשרת Full Stack למתן מענה מקצועי וטכנולוגי הן בצד השרת והן בצד הלקוח, תוך הבנה מעמיקה של התהליכים והארכיטקטורה.
  • חשיפה לטכנולוגיות החשובות ביותר כיום וביניהן:
    HTML & HTML5, CSS & CSS3, Bootstrap, JavaScript & jQuery, PHP, Node.js, Angular

תנאי קדם

  • ראיון אישי / ייעוץ להכוונה מקצועית.
  • יכולת בסיסית של עבודה מול מחשב.
  • 12 שנות לימוד, מבחן פנימי באנגלית ובמתמטיקה.

משך וזכאות לתעודה

משך הקורס

  • 460 שעות (360 שעות לימוד פרונטאליות הכוללות הנחיית פרויקט + 100 שעות עבודת עצמית בבית).
  • לימודי ערב מ- 17:30- 21:45 (בימי שישי הלימודים בין 9:00 ל- 13:15) 2 מפגשים שבועיים.
  • לימודי בוקר בין השעות 9.00-16.30, מפגשים של 8 שעות אקדמיות.
  • הלימודים אינם מתקיימים בחגים ומועדים. לוח חופשות עדכני יחולק לסטודנטים.

 

דרישות מהסטודנט

לצורך ההצלחה במסלול יש לעמוד בדרישות הבאות:

  • נוכחות בכל השיעורים של הקורס.
  • השתתפות ומעבר בהצלחה של מבחנים ופרויקטים.
  • תרגול - בנוסף ללימודים הסדירים בכיתה, נדרשת מן הסטודנט יכולת תרגול עצמית בבית של כ-12 שעות שבועיות לטובת שיעורי בית והשלמת הפרויקט. 

 

זכאות לתעודת גמר

על מנת להיות זכאי לקבל תעודות גמר של המסלול יש לעמוד בדרישות הבאות:

  • נוכחות ב- 85% מן המפגשים לפחות.
  • הצלחה בפרויקטים.
  • הצלחה במבחנים פנימיים.

נושאי המסלול

נושא

תתי נושאים

מבוא טכנולוגי לעולם האינטרנט ומבוא ל Web Protocols

 

  • מושגי יסוד בתקשורת
  • פרוטוקול HTTP
  • אתרי Webו- FTP
  • סוגי דפדפנים
  • שרתי אינטרנט
  • ארגוני תקינה
  • טכנולוגיות צד שרת וצד לקוח
  • ארכיטקטורת אינטרנט
  • העברת מידע מובנה
    • XML: What is
    • Well-formed XML
    • Validation & XSD

HTML  &  HTML5

 

  • עקרונות HTML:
    • מבוא לשפת התגיות HTML
    • מבנה ועקרונות התחביר
    • תגיות נפוצות ומאפיינים
    • יצירת לינקים
    • הוספת תמונות
    • יצירת טבלאות
  • HTML5:
    • New Semantic  Elements and page structure

CSS

 

  • מבוא ל- CSS מבנה ותחביר
  • שילוב CSS ב- HTML
  • סלקטורים
  • מאפייני עיצוב נפוצים
  • Box model, Z-Index
  • Inline/block elements
  • Position relative/absolute/fixed
  • Floating elements

Advanced CSS &
CSS 3

 

  • New selectors
  • Pseudo elements/classes :hover :before :after more…
  • box-sizing
  • Shadow
  • Border
  • Column layout
  • Element resize
  • Gradient
  • Font Face
  • Media Queries, Responsive design
  • Transformations
  • Transitions

Bootstrap

  • Obtaining and Using Bootstrap
  • Bootstrap Grid System
  • CSS Techniques with Bootstrap
  • Typography - fonts and icons
  • Tables
  • Forms

מבוא לתכנות

 

  • תרשימי זרימה ופתרונות לוגיים לבעיות
  • משתנים
  • קלט\פלט
  • תנאים ותנאים מקוננים: if, else-if, else
  • לולאות ולולאות מכוננות: index, while, do-while, for-each

Basic Java Script

 

  • Introduction to Java Script
    • What is JavaScript
    • How to place script in a web page
  • Types
    • Understanding JavaScript types
    • Learning to check for type
    • Defending against Type mutation
  •  Flow of Control
    • If statements
    • Loops
    • Switch statements
  • Arrays
    • Arrays
    • What are arrays
    • Creating Arrays
    • Accessing Arrays
  • Functions
    • Functions
    • What are functions
    • Creating functions
    • Calling functions
    • Functions and scope
  • Simple non functional Objects
    • Creating Objects
    • Accessing Objects
  • Events
    • Creating inline tag events, addEventsListener
    • Anonymous functions
    • This object
  •  Forms
    • Understanding forms
    • What are forms
    • HTML hierarchy
    • Selecting form elements
    • Accessing form elements
    • Form events
    • Control Events
  • Timers and Asynchronous programming
    • setInterval
    • setTimeout
    • Common timer issues
    • Scope
  • Debugging
    • Console Firebug for Firefox
    • Developer Tools for Chrome
    • Console functionality
    • Running program with breakpoints
  • JSON
    • Syntax
    • Parse / Stringify
    • יתרונות כיום לעומת XML
  • Local Storage
    • Data as string
    • JSON Store and retrieve

PHP Basic

  • Start PHP Service
    • Installing PHP (WAMP, XAMPP)
    • Run PHP from CLI
    • Php.ini, error reporting, short php tag
  • PHP Basic
    • Variables & Operators & Expressions
    • String manipulation
    • Flow Control
    • Arrays sequential, associative
    • Looping through arrays
    • Debugging: pre tag, var_dump, var_export, print_r
    • Functions, default parameters, variable scope, global, DEFINE
    • $_SERVER
  • Serving HTML Page
    • Require, Include
    • Form posting $_REQUEST, $_GET, $_POST
    • Multi page site(blog) structure
    • File manipulation fopen, fclose, fwrite,file_get_contents,file_put_contents
  • More
    • Cookies + Sessions
    • Sending email
    • Uploading files

MYSQL

  • Environment
    • phpmyadmin
    • phpworkbench
  • Administration
    • היכרות עם MySQL
    • Create + delete database
  • Mysql
    • MySQL Data Types
    • Create, delete, duplicate  tables
    • Special column definition: Unique, Index, Auto increment, etc
    • Query syntax CRUD
    • Advanced queries: Join, Union
  • PHP PDO Mysql Connection
    • Difference PDO Mysqli
    • Connect to DB
    • Error Handling
    • Running mysql statements
    • Using php parameters by location and named
    • SQL Injection problem and fixes
  • Caching (if time permits)
    • Redis

מבוא לתכנות מונחה עצמים

 

  • Introduction
  • יתרונות
  • מבנה תוכנית
  • מחלקות ואובייקטים
  • מאפיינים, בנאים ומתודות (פונקציות)
  • עקרונות תכנות מונחה עצמים
    • Inheritance
    • Encapsulation
    • Polymorphism

Advanced PHP

 

  • Object Oriented PHP
    • Classes
    • Inheritance
    • Public, protected, private
    • Static, abstract
  • Design Patterns
    • Singleton
    • Factory
    • MVC
  • Frameworks (if time permits)
    • codeigniter

Going To Production

(if time permits)

  • Buying & setting domain
  • Buying server
  • Setting DNS
  • FTP Files

Security

(if time permits)

  • DDoS
  • XSS
  • SQL Injection
  • CSRF
  • Path Traversal
  • Man in the middle
  • Cloudfalre

סדנת קו"ח והכנה מקצועית

  • בשלב זה בקורס ניתן יהיה להתחיל לעבוד בארגוני הייטק, בתחומים שנלמדו. הסדנא תאפשר הבנייה נכונה ומותאמת של קורות החיים אותם תוכלו לשלוח, והכנה מקצועית לראיונות עבודה.

JQuery

  • jQuery Library Introduction
  • jQuery basics – document ready, callback functions
  • jQuery structure and components
  • jQuery Selectors
  • Traversing document elements
  • Modifying CSS attributes
  • Binding and unbinding events
  • jQuery Extensions (Plugins)

HTML5 APIs

  • Messaging
  • Web worker
  • Sockets
  • Canvas
  • Geolocation
  • Video/Audio

Web Services ,
REST & AJAX

  • הבנת תפקיד ה-Serverבעולם שירותי הרשת
  • IP structure, DNS
  • Request / Response mechanism
  • Headers
  • REST
  • Using jQuery’s AJAX Features

Advanced Java Script

 

  • Extending objects
    • Add methods to objects
    • this in object
    • private/public problem
  • Extending functions
    • Closure
    •   Module pattern – private/public solution
    • Self-executing functions
    • Init multiple module instances
  • Javascript Object Oriented
    • Creating your own objects
    • Constructors
    • Prototypes
    • Chaining objects
    • Overloading and overriding
    • With statements
    • Sealing objects
  • Async Javascript
    • HTMLHttpRequest
    • Promises
  • The Browser Object Model (if  time permits)
    • What is the BOM
    • Cross-browser issues
    • The ‘core’ BOM
    • The window object
    • Global scope variables
    • Other BOM objects
    • The location object
    • The history object
    • Document methods
    • Cookies
    • The Screen object
    • The viewport
    • Window objects
    • Dynamic views with <DIV> and <SPAN>
  • Event Handling (if  time permits)
    • Understanding JavaScript events
    • Subscription models
    • Inline
    • Programmatic
    • Event listeners
    • Event bubbling and capturing
    • The Event object
    • The ‘this’ keyword
    • Legacy browsers

AngularJS

 

Building Single Page Application

Introducing AngularJS

Controller

Scope

Template

Basic directives

Understanding AngularJS

Application bootstrapping

Module

Dependency Injection

Scope inheritance

Automatic DOM update

Dirty Checking

Services and other Injectables

  • Enhancing Views
    • Referencing Directives
    • Interpolation directive
    • Rendering HTML
    • Conditional Display
    • ngRepeat
    • DOM Event Handlers
    • Filters
    • Custom Filter
    • Validation
  • Routing
    • The Challenge
    • Hashbang technique
    • HTML5 History API
    • $location service
    • Using angular-route
    • Using UI-Router
  • Communicating with Back End Server
    • $http service
    • JSONP and CORS
    • What is a Promise?
    • $q service
    • What is Restful Service?
    • $resource service
  • Custom Directive
    • Directive lifecycle
    • Isolated Scope
    • Directive shortcuts @ = and &
    • Transclusion
    • Other Directive properties
    • Directive’s controller
    • Terminal property

Node.js

 

  • Introduction to Node.js
    • What is Node and what is it not
    • Node.js Features
    • Our first Node.js script: Hello World
    • Hello Server: Building a web server in Node.js
    • Debugging node applications
  • Building your Stack
    • Pulling in other libraries
    • Building custom libraries
    • A-synchronicity and callbacks
    • Blocking vs. non-blocking I/O
    • Working within the event loop
  • Modular JavaScript with Node.js
    • Writing Modular JavaScript with Node.js
    • Core Modules
    • Installing Packages
    • Publishing packages
    • Avoiding common pitfalls with Async.js
    • Introducing the Async problem
    • Async.js Library to the rescue
    • Collections
    • Flow Controllers
  • Working with the file system
    • Sync and Async operations
    • Files manipulations
    • Folder manipulations
    • Putting the file-system module together Async.js
  • Building Web applications with the Express Framework
    • Introduction to Express, installation and basic setup
    • Application configuration
    • Routing
    • Views and Templating options
    • Persistence with Cookies, In-Memory Sessions and session-stores.
    • Authenticating users with passport local
    • Social Auth with Passport.js
  •  Real-time communication
    • Introduction to real-time applications
    • Listen & emit
    • Readable streams – streaming chunked data
    • Piping Readable streams to Writable streams
    • Sockets on the Server and the Client
    • Build a chat application

MongoDB

 

  • Introduction to MongoDB
    • What is MongoDB and Why?
    • Core concepts
    • Environments
    • Documentation
    • Different deployment models
    • JSON
    • Installation
  • CRUD and the MongoDB Shell
    • Introduction to the MongoDB API and the core concepts of documents and collections
  • Indexing and Schema Design
    • Indexing, query profiling and the query optimizer
    • Some schema design case studies
    • Practice modeling various domains
    • Schemas for atomic operations
  • MongoDB and Node.js
    • Tooling up – installing mongo, clients and drivers.
    • Mongoose Schemas
    • CRUD operations
    • Single Page Applications with Express, Mongoose and Angular.js

Ongoing project

 

תגיות
קורס php   |   לימודי PHP   |   וובמאסטר   |   Full Stack Developers   |   קורס webmaster