Szkolenia Node.js

Szkolenia Node.js

Node.js® platform courses

Opinie uczestników

Building Web Apps using the MEAN stack

Podobał mi się sposób prowadzenia zajęć oraz wykonywane ćwiczenia. Idealny podział teorii i praktyki. Dużym plusem było rzeczowe tłumaczenie niejasności i odpowiadanie na każde pytanie.

Node.js for JavaScript Developers

all the in code examples

Node.js for JavaScript Developers

The code exercises were good and engaging.

Node.js for JavaScript Developers

Hands-on. Lots of help. Lots of space for asking questions and getting answers.

Abdul Zaheer

Node.js for JavaScript Developers

Examples were relateable

Yongching Tee

Node.js for JavaScript Developers

I felt it was the right mix of lecture and practical application.

David Jaggie

Node.js for JavaScript Developers

I liked that through this training Joey was able to cover different levels of knowledge and he made this course very interesting and understandable for the beginners and for more experienced developers.

Tetyana Myronova - SSENSE

Node.js for JavaScript Developers

Joey was great and really adapted the training to our needs and the skill level of the audience.

Alain Lormil - SSENSE

Node.js for JavaScript Developers

The slides provided by NobleProg gave a good outline of the sections to cover in my personal exploration of the subject.

Joe Flynn - Deloitte Digital

Building Web Apps using the MEAN stack

The labs were interesting and probably the most useful learning tool to me. Anything I missed or forgot about was relearned or reinforced in the labs.

Joseph Fuerst - The Aerospace Corporation

Plany Szkoleń Node.js

Kod Nazwa Czas trwania Charakterystyka kursu
nodejs Node.js 14 godz. Szkolenie skierowane jest do developerów aplikacji internetowych pracujących z technologiami server-side oraz client-side. Tematy omawiane w czasie szkolenia mają zaznajomić uczestników z możliwością programowania aplikacji pisanych w języku JavaScript a wykonywanych po stronie serwera. Podczas szkolenia szeroko omówiona jest platforma Node.js - jej architektura, instalacja i konfiguacja, zarządzanie bibliotekami i tworzenie własnych aplikacji. Idea Node.js Czym jest Node.js Charakterystyka i możliwości ECMAScript ECMAScript 5 i plany rozwoju Architektura Client - Server oraz Request - Response ECMAScript po stronie serwera i klienta Licencja Node.js Architektura Silnik V8 Pętla zdarzeń Asynchroniczność Continuation-passing style Struktura platformy Node.js Możliwości Node.js Bezpieczeństwo Instalacja i podstawy pracy z konsolą Node.js Wspierane systemy operacyjne Możliwe sposoby instalacji Proces instalacji na wybranym systemie Wstępna konfiguracja Konsola Node.js i dostępne polecenia Struniemie, argumenty oraz moduł sf Uruchamianie serwera na platformie Node.js Protokół HTTP Metody GET/POST/PUT/DELETE Rządania i odpowiedzi, nagłówki wykorzystywane w protokole HTTP Obsługa metod HTTP za pomocą Node.js Wyświetlanie zawartości stron internetowych Obsługa formularzy Tworzenie aplikacji internetowych w oparciu o framework Express Dostępne frameworki Podstawy architektury MVC Aplikacja internetowa z Express Obsługa baz danych Dostępne biblioteki do obsługi baz danych Omówienie DAO i ORM Wybór DBMS, różnice pomiędzy relacyjnymi i nierelacyjnymi bazami danych SQLite, MySQL, MongoDB, Redis NPM - zarządzanie pakietami Wtęp do menadżera pakietów NPM Wyszukiwanie i instalacja pakietów Omówienie wybranych/najpopularniejszych pakietów Tworzenie i publikowanie własnych pakietów Testowanie aplikacji, zagadnienia związane z jakością aplikacji Wsperane metody testowania Tesy jednostkowe i behawioralne z Node.js Standardy kodowania Dostępne narzędzia wspomagające zapewnienie jakości aplikacji Wsparcie i rozwój Node.js Kierunki rozwoju Wsparcie dla Node.js Dostępne edytor programistyczne (wsparcie ze strony IDE) Developerzy Node.js i support ze strony społeczności
nodejsdev Node.js for JavaScript Developers 21 godz. Overview Node.js is a platform for easily building fast, scalable network applications. Learn how to use the event-driven, non-blocking I/O model to build data-intensive real-time applications that run across distributed devices. We will explore the design choices that make Node.js unique, how this changes the way applications are built and how systems of applications work most effectively in this model. Learn how to create modular code that’s robust, expressive and clear. Understand when to use callbacks, event emitters and streams. Use streams to easily manipulate data that would be impossible to fit in application memory. Gain confidence in handling errors effectively to ensure runtime reliability. The course has extensive lab exercises to reinforce the concepts and techniques covered. Objectives On completion of this course, students will be able to: Clearly understand the platform design choices that led to Node.js choosing an event loop and what this means for applications built on that foundation. Understand the unique trade-offs present in event-driven programming. Create Node.js modules and express code modularity in an application. Understand the core flow control patterns in Node.js and know when it is appropriate to use callbacks, event emitters or streams. Create and manipulate buffers efficiently. Understand how to manage error state and know when a process should exit due to an error. Build network applications with Node.js. Intro to Node.js RAM vs. I/O latency Blocking vs. Non-Blocking Event-driven Programming Event Loop Blocking The Event Loop Node.js Philosophy Node.js Platform Setup Download and Install Node REPL First Hello World Modules and npm Anatomy of a module Private code Accessing and using modules npm commands package.json The Callback Pattern What are callbacks Callback-last Error-first Events When to use Event Emitters Binding Functions to Events Event Requests Event Listening Error Handling Callbacks: Error-first Errors in Event Emitters Uncaught Exceptions Using Domains Buffers Why Buffers exist Creating Buffers Reading and Writing Buffers Manipulating Buffers Streams What are streams Read and Write Stream API Flow Control Piping Duplex Stream Transform Stream Express.js Intro and Installing Express.js Building a Hello Express application Creating routes Rendering Layouts Using templates Adding partials Using locals and conditional templates Modularizing routes Socket.io Listening for Broadcasting Answering questions Connecting to Databases No SQL and Document Stores Relational DBs Configuration and platform setup CRUD Operations
mean1 Building Web Apps using the MEAN stack 35 godz. Course Objective: MEAN stack is a full-stack JavaScript solution that helps you write scalable, robust, and maintainable web applications quickly and easily using MongoDB, express, AngularJS, and Node.js. By the end of this hands-on intensive training course, the students will be able to: Store the data in NoSQL, document-oriented MongoDB database that brings performance and scalability. Use Node.js, the server-side platform built on Google V8’s runtime for building fast, scalable network applications. Use Express, a simple yet powerful web application development HTTP server framework built on top of Node.js. Use AngularJS framework that offers declarative, two-way data binding for web applications. Take advantage of the ‘full-stack JavaScript’ paradigm i.e. store documents in JSON-like format in MongoDB, author JSON queries in Node.js/Express.js, and forward these JSON documents back to an Angular-based frontend. Get acquainted with the latest web application development trends in the IT industry. Node.js Getting started with Node.js Node Package Manager Modules Asynchronous Programming Callbacks Events Streams Web Sockets Angular.js Angular Architecture Modules, Controllers and Scope Views Two-way Binding Built-in and Custom Directives Event Directives Expressions Built-in and Custom Filters Understanding the Digest Loop Forms and Validation AngularJS Service Types Factories, Providers, Decorators, DI Creating Custom Services Consuming Ajax Web Services via $http and $resource Routing, Redirects, and Promises Express.js MVC Pattern Introduction to Express Routing HTTP Interaction Handling Form Data Handling Query Parameters Cookies and Sessions User Authentication Error Handling Creating and Consuming RESTful Services Using Templates MongoDB Understanding NoSQL MongoDB Finding Documents Update, Insert, and Upsert Indexing Data Modeling Aggregation
protojsbs Prototyping using JavaScript and Bootstrap 21 godz. Day 1: Frontend with JavaScript and Bootstrap Take a detailed look at HTML/CSS/JavaScript and the Bootstrap framework from Twitter. Create small applications that run all in the browser without any backend code. Day 2: Backend with node.js and MongoDB Write a full featured web applications where multiple users can communicate and store state using a backend system. One way to do that with JavaScript is to use MongoDB and node.js. Cover the REST pattern and implement and test simple REST components in JavaScript with node.js using the MongoDB database system as storage. Day 3: Example On day 3, we would put everything together and implement a real application in a workshop fashion, also looking into more topics around a full example: github + git, docker for building and shipping of code, amazon ec2 for hosting.
nodejspm2web Node.js Working with PM2 & WebStorm 14 godz. Objectives This course has been created with the following objectives: Explore and apprehend all the features and functionalities of the webstorm platform for Node.js Explore and apprehend all the features and functionalities of the pm2 production process manager Explore and apprehend logging with Winston.js Audience The typical attendee for this course include project manager, analyst, developer or any profile that needs To have a good understanding of an application’s structure and deployment mechanisms To carry out Installation / production environment / architecture tasks and configuration To be able to assess code quality, perform debugging, monitoring To implement advanced production like Logging Delivery This course is a mixture of presentations and hands on practice. Most of the concepts are discovered through code readings, exercises and labs. WebStorm Getting started Smart Features Package Managers WebStrom & Node, Angular, Express Code inspection, quality tools, profiling Debugging Unit testing PM2 Application packaging and deployments Nodejs+pm2 runtime packaging and deployment Nodejs scripts package Checking and switching nodejs version Filesystem locations and standards Logging Init scripts SSL/TLS certificates Monitoring Stop, start, delete, resurrect applications Stop, start, resurrect PM2 process Logging with Winston.js Logging with winston Transports Loggers Log levels Profiling Streaming logs Querying logs Filters, Rewriters
nodejspm2 Node.js and PM2 14 godz. Audience: Anyone involved in IT Service Delivery and Production Support application packaging and deployments nodejs+pm2 runtime packaging and deployment nodejs scripts package checking and switching nodejs version filesystem locations and standards log rotation init scripts SSL/TLS certificates monitoring stop, start, delete, resurrect applications stop, start, resurrect PM2 process
jsjqan JavaScript, jQuery, NodeJS & AngularJS 56 godz. This course is intended to bring a beginner in JavaScript to a level where she or he is able to enter the market as a JavaScript developer. The course is intensive and entirely 'hands on' The basics and the advanced patterns of JavaScript (2 days) Literals and constructors Functions Object Creation Patterns Code reuse Patterns DOM and Browser Patterns The client side JavaScript is addressed with both plain JavaScript and JQuery  (2 days) Interaction with the DOM (Document Object Model) & CSS Interaction with the BOM (Browser Object Model) Handling of events Forms Server Side JavaScript (NodeJS) is introduced and depended (2 days) Design Fundamentals Module system Flow Control Patterns Coding with Streaming Design Patterns Wiring Modules Recipes and Scalability Architectural Patterns Data Serialization and Streams Network Paradigms ExpressJS AngularJS (2 days) Directives and Controllers Filters Routing Services & Forms Testing your code Server communication
nodejsadmin Node.js concepts & administration, Express.js, V8 engine, monitoring, pm2 14 godz. This course has been created with the following objectives: Node.js fundamental concepts V8 engine internals Administration of Express.js applications Performance & Monitoring Process management  This course is aimed at apprehending the tools and concepts required to administer Node.js/Expres.js applications, understand and monitor performance in a V8 engine environment. Express.js Installation of Express.js Directory structure of a Express.js application Creation of a server Rooting & Middleware functions Error handling server side Logging … Server side modules: HTTP, HTTPS, URL, SSL/TLS, Cluster, DNS, Process & child process, REPL, Zlib Load balancing in association with nginx Node.js - the foundation (Concepts and architecture only) Node.js, V8 & Server side development Blocking vs. Non-Blocking Event-driven Programming Event Loop & the single threaded demultiplexer npm as a package manager Dependency mechanisms The package.json file Version migrations V8 engine internals Performance V8 as a compiler Memory schemes Garbage collection Memory leaks Monitoring Monitoring with sematext Monitoring with ruxit … 1.5    PM2 Application packaging and deployments Nodejs+pm2 runtime packaging and deployment Nodejs scripts package Checking and switching nodejs version Filesystem locations and standards Logging Init scripts SSL/TLS certificates Monitoring Stop, start, delete, resurrect applications Stop, start, resurrect PM2 process
nodejswebstorm Node.js & Express.js Basics, working with PM2 & WebStorm 21 godz. Audience: Typically a Project Manager,Aanalyst, Developer or anyone who needs: Explore the node.js framework and architecture Explore Express.js as a solution for web development Assess Node.js & Express.js as solutions for web development Advantages and disadvantages over Java To have a good understanding of an application’s structure and deployment mechanisms To carry out Installation / production environment / architecture tasks and configuration To be able to assess code quality, perform debugging, monitoring To implement advanced production like Logging Objectives: Explore the advantages and characteristics of Node.js (In comparison with Java) Explore Express.js: Architecture, administration (In comparison with Java EE) Explore and apprehend all the features and functionalities of the webstorm platform for Node.js Explore and apprehend all the features and functionalities of the pm2 production process manager Explore and apprehend advanced logging with Winston.js Description: The course is normally 3 days (7 hours a day) and has a heavy emphasis on hands on practice. Most of the concepts are discovered through code readings, exercises and labs. Node.js characteristics & Fundamentals (In comparison with Java) Node.js, V8 & Server side development (why use Node.js ?) Blocking vs. Non-Blocking Event-driven Programming Event Loop & the Callback pattern Node.js Architecture Module & Sandbox Pattern Npm Dependency mechanisms The package.json file V8 engine internals Memory schemes Garbage collection Memory leaks Monitoring memory and CPU Logging with Node.js Node.js Middleware SSL & TLS Node.js versions & migrations Express.js characteristics & Fundamentals (In comparison with the Java EE specification (Websphere, Tomcat))) Application configuration & settings Template engines Routing HTTP Request and Response Objects SSL & TLS Error handling Multithreading JSON WebStorm Getting started Smart Features Package Managers WebStrom & Node, Angular, Express Code inspection, quality tools, profiling Debugging Unit testing PM2 Application packaging and deployments Nodejs+pm2 runtime packaging and deployment Nodejs scripts package Checking and switching nodejs version Filesystem locations and standards Logging Init scripts SSL/TLS certificates Monitoring Stop, start, delete, resurrect applications Stop, start, resurrect PM2 process Logging with Winston.js Logging with winston Transports Loggers Log levels Profiling Streaming logs Querying logs Filters, Rewriters
meanangular2 Angular 2: Building Web Apps using the MEAN stack 35 godz. Course Objective: MEAN stack is a full-stack JavaScript solution that helps you write scalable, robust, and maintainable web applications quickly and easily using MongoDB, Express, Angular, and Node.js. By the end of this hands-on intensive training course, the students will be able to: Store the data in NoSQL, document-oriented MongoDB database that brings performance and scalability. Use Node.js, the server-side platform built on Google V8’s runtime for building fast, scalable network applications. Use Express, a simple yet powerful web application development HTTP server framework built on top of Node.js. Use Angular 2 framework that offers declarative, two-way data binding for web applications. Take advantage of the ‘full-stack JavaScript’ paradigm i.e. store documents in JSON-like format in MongoDB, author JSON queries in Node.js/Express.js, and forward these JSON documents back to an Angular-based frontend. Get acquainted with the latest web application development trends in the IT industry. Notes: Angular is available in different versions, for example: AngularJS ( a.k.a. Angular.js, AngularJS 1, and Angular 1) Angular 2 Angular 4 etc. This training covers Angular 2. For all other components (Node.js, Express, MongDB) we cover the latest stable version. If you wish to customize the versions taught in this training, please contact us to arrange.   Node.js Getting started with Node.js Node Package Manager Modules Asynchronous Programming Callbacks Events Streams Web Sockets Angular 2 Overview of Typescript Angular Architecture Modules, Controllers and Scope Views Two-way Binding Built-in and Custom Directives Event Directives Expressions Built-in and Custom Filters Understanding the Digest Loop Forms and Validation Angular 2 Service Types Factories, Providers, Decorators, DI Creating Custom Services Consuming Ajax Web Services via $http and $resource Routing, Redirects, and Promises Express.js MVC Pattern Introduction to Express Routing HTTP Interaction Handling Form Data Handling Query Parameters Cookies and Sessions User Authentication Error Handling Creating and Consuming RESTful Services Using Templates MongoDB Understanding NoSQL MongoDB Finding Documents Update, Insert, and Upsert Indexing Data Modeling Aggregation

Najbliższe szkolenia

SzkolenieData KursuCena szkolenia [Zdalne / Stacjonarne]
Prototyping using JavaScript and Bootstrap - Olsztyn, ul. Kajki 3/1pon., 2017-10-09 09:0017050PLN / 5917PLN
Angular 2: Building Web Apps using the MEAN stack - Gdańsk, ul. Powstańców Warszawskich 45pon., 2017-10-09 09:0026630PLN / 9320PLN
Node.js Working with PM2 & WebStorm - Gdynia, ul. Ejsmonda 2wt., 2017-10-10 09:0010260PLN / 3609PLN
Node.js concepts & administration, Express.js, V8 engine, monitoring, pm2 - Kielce, ul. Warszawska 19czw., 2017-10-12 09:009100PLN / 3158PLN
Building Web Apps using the MEAN stack - Białystok, ul. Malmeda 1pon., 2017-10-16 09:0014800PLN / 6235PLN

Other regions

Szkolenie Node.js, Node.js boot camp, Szkolenia Zdalne Node.js, szkolenie wieczorowe Node.js, szkolenie weekendowe Node.js , kurs zdalny Node.js, wykładowca Node.js , Trener Node.js, kurs online Node.js, edukacja zdalna Node.js, instruktor Node.js, e-learning Node.js, nauka przez internet Node.js, nauczanie wirtualne Node.js,Kurs Node.js,Kursy Node.js

Kursy w promocyjnej cenie

Szkolenie Miejscowość Data Kursu Cena szkolenia [Zdalne / Stacjonarne]
Visual Basic for Applications (VBA) w Excel - poziom zaawansowany Warszawa, ul. Złota 3/11 pon., 2017-09-25 09:00 3069PLN / 1623PLN
Programowanie w języku C++ Wrocław, ul.Ludwika Rydygiera 2a/22 pon., 2017-09-25 09:00 5445PLN / 2815PLN
Java Performance Tuning Wrocław, ul.Ludwika Rydygiera 2a/22 pon., 2017-09-25 09:00 9801PLN / 3000PLN
Tworzenie i zarządzanie stronami WWW Poznań, Garbary 100/63 pon., 2017-09-25 09:00 5841PLN / 2298PLN
Techniki DTP (InDesign, Photoshop, Illustrator, Acrobat) Katowice ul. Opolska 22 pon., 2017-09-25 09:00 5940PLN / 3730PLN
SQL in Microsoft Access Kraków, ul. Rzemieślnicza 1 wt., 2017-09-26 09:00 10266PLN / 3911PLN
Visual Basic for Applications (VBA) w Excel dla analityków Poznań, Garbary 100/63 śr., 2017-09-27 09:00 2970PLN / 1590PLN
Certyfikacja OCUP2 UML 2.5 - Przygotowanie do egzaminu OCUP2 Foundation Kraków, ul. Rzemieślnicza 1 śr., 2017-09-27 09:00 6930PLN / 3510PLN
Adobe InDesign Katowice ul. Opolska 22 czw., 2017-09-28 09:00 1881PLN / 1327PLN
Wzorce projektowe w C# Rzeszów, Plac Wolności 13 czw., 2017-09-28 09:00 3861PLN / 2331PLN
Tworzenie aplikacji na platformie Android Łódź, ul. Tatrzańska 11 pon., 2017-10-02 09:00 4455PLN / 3128PLN
Statistical and Econometric Modelling Warszawa, ul. Złota 3/11 pon., 2017-10-02 09:00 20483PLN / 6807PLN
Efektywna komunikacja interpersonalna z elementami asertywności Kraków, ul. Rzemieślnicza 1 wt., 2017-10-03 09:00 5148PLN / 1830PLN
Visual Basic for Applications (VBA) w Excel - wstęp do programowania Szczecin, ul. Sienna 9 pon., 2017-10-09 09:00 3564PLN / 1891PLN
Web Development with Symfony3 Kielce, ul. Warszawska 19 pon., 2017-10-09 09:00 5554PLN / 2483PLN
Access - podstawy Szczecin, ul. Sienna 9 wt., 2017-10-10 09:00 3465PLN / 1550PLN
Analiza biznesowa i systemowa z użyciem notacji UML - warsztat praktyczny dla PO w metodyce Scrum Łódź, ul. Tatrzańska 11 wt., 2017-10-10 09:00 7722PLN / 3474PLN
MS-40361 Software Development Fundamentals MTA Exam 98-361 Gdynia, ul. Ejsmonda 2 śr., 2017-10-11 09:00 6138PLN / 2610PLN
UML Analysis and Design Kraków, ul. Rzemieślnicza 1 śr., 2017-10-11 09:00 8910PLN / 4170PLN
PostgreSQL for Administrators Gdynia, ul. Ejsmonda 2 śr., 2017-10-11 09:00 12326PLN / 4235PLN
Programowanie w języku C++ Łódź, ul. Tatrzańska 11 pon., 2017-10-16 09:00 5445PLN / 3315PLN
Agile w projektach zdalnych Katowice ul. Opolska 22 pon., 2017-10-16 09:00 5049PLN / 1962PLN
Programowanie w języku C++ Bielsko-Biała, Al. Armii Krajowej 220 pon., 2017-10-16 09:00 5445PLN / 3565PLN
PostgreSQL Administration Łódź, ul. Tatrzańska 11 wt., 2017-10-17 09:00 7821PLN / 3807PLN
Business Analysis Kraków, ul. Rzemieślnicza 1 śr., 2017-10-18 09:00 7722PLN / 3774PLN
Nginx konfiguracja i Administracja Wrocław, ul.Ludwika Rydygiera 2a/22 śr., 2017-10-18 09:00 6930PLN / 2700PLN
Programowanie w C# Wrocław, ul.Ludwika Rydygiera 2a/22 śr., 2017-10-18 09:00 4851PLN / 1870PLN
Trening radzenie sobie ze stresem Gdynia, ul. Ejsmonda 2 śr., 2017-10-18 09:00 5148PLN / 1530PLN
Projektowanie stron na urządzenia mobilne Kielce, ul. Warszawska 19 czw., 2017-10-19 09:00 2624PLN / 1305PLN
Adobe InDesign Wrocław, ul.Ludwika Rydygiera 2a/22 pon., 2017-10-23 09:00 1881PLN / 1027PLN
Adobe Premiere Pro Gdynia, ul. Ejsmonda 2 pon., 2017-10-23 09:00 3960PLN / 2480PLN
Administracja systemu Linux Gdynia, ul. Ejsmonda 2 wt., 2017-10-24 09:00 4950PLN / 3225PLN
Microsoft Office Excel - efektywna praca z arkuszem Warszawa, ul. Złota 3/11 czw., 2017-10-26 09:00 2475PLN / 1225PLN
Node.js Olsztyn, ul. Kajki 3/1 czw., 2017-10-26 09:00 3861PLN / 2431PLN
SQL Advanced in MySQL Warszawa, ul. Złota 3/11 czw., 2017-11-02 09:00 1881PLN / 1141PLN
Microsoft Office Excel - analiza statystyczna Warszawa, ul. Złota 3/11 czw., 2017-11-02 09:00 2673PLN / 1291PLN
Android - Podstawy Wrocław, ul.Ludwika Rydygiera 2a/22 pon., 2017-11-06 09:00 9801PLN / 4180PLN
Java Spring Wrocław, ul.Ludwika Rydygiera 2a/22 pon., 2017-11-06 09:00 14414PLN / 5970PLN
Kontrola jakości i ciągła integracja Wrocław, ul.Ludwika Rydygiera 2a/22 wt., 2017-11-07 09:00 2673PLN / 1737PLN
Nagios Core Gdańsk, ul. Powstańców Warszawskich 45 pon., 2017-11-13 09:00 13919PLN / 4968PLN
Oracle 11g - Analiza danych - warsztaty Gdynia, ul. Ejsmonda 2 pon., 2017-11-13 09:00 9900PLN / 4664PLN
ADO.NET 4.0 Development Warszawa, ul. Złota 3/11 wt., 2017-11-14 09:00 20176PLN / 6914PLN

Newsletter z promocjami

Zapisz się na nasz newsletter i otrzymuj informacje o aktualnych zniżkach na kursy otwarte.
Szanujemy Twoją prywatność, dlatego Twój e-mail będzie wykorzystywany jedynie w celu wysyłki naszego newslettera, nie będzie udostępniony ani sprzedany osobom trzecim.
W dowolnej chwili możesz zmienić swoje preferencje co do otrzymywanego newslettera bądź całkowicie się z niego wypisać.

Zaufali nam