دوره برنامه نویسی (Java EE1 (Enterprise Edition

جاوا JAVA یکی از محبوب‌ترین زبان‌های برنامه‌نویسی دنیا است و بدون اغراق می‌توان آن‌را جزو کارآمد‌ترین زبان‌های برنامه‌نویسی سطح بالا دانست. ماشین مجازی جاوا (JVM) برنامه‌ای است که بایت‌کدهای زبان جاوا را مطابق با سیستم‌عاملی خاص کامپایل کرده و آن‌ها را برای اجرا در سطح سیستم‌عامل آماده می‌کند شعار اصلی جاوا این است: "یک بار بنویس، همه جا اجرا کن". در حقیقت شما یکبار برنامه را می‌نویسید و به کمک ماشین مجازی جاوا (JVM)  آن‌را در سایر پلتفرم‌ها نیز اجرا می‌کنید. به همین دلیل است که می‌گوییم جاوا یک زبان چند‌سکویی (Cross Platform)  است. همچنین از آنجا که در برنامه‌نویسی اپلیکشین‌های اندروید نیز از این زبان استفاده می شود می‌توان یکی از  دلایل محبوبیت آن را، به خصوص در میان برنامه‌نویسان، همین مورد دانست، بسیاری از افراد برای نوشتن برنامه‌های اندرویدی به سراغ یادگیری جاوا می‌روند. از ویژگیهای JAVA شئ‌گرایی, (OOP) قابل حمل بود (اجرا روی هر پلتفرم)، بستر مستقل و امن، پویا و عملکرد بالا می باشد که باعث شده در بسیاری از دستگاهها همچون برنامه های کاربردی تحت وب و برنامه های کاربردی سازمانی نظیر برنامه های کاربردی بانک ها، موبایل، رباتیک و ... مورد استفاده قرار بگیرد.

Java EE (Enterprise Editon) از پلتفرم Java SE بزرگتر بوده و روی آن سوار است. این پلتفرم برای انجام پروژه ها در مقیاس وسیع و به صورت شبکه ای، چند لایه ای، مقایسه پذیر و یا در مقیاس اینترنت مورد استفاده قرار می گیرد. در Java EE از API ها و کتابخانه های خاصی به منظور ایجاد ارتباط با دیتابیس در دیتاسنتر، قابلیت ارسال پیام یا JMS، پردازش XML و JSON و .... استفاده می شود. با کمک این پلتفرم که J2EE هم گفته می شود، می‌توان مولفه‌های سمت سروری ایجاد کرد که به درخواست پاسخ مبتنی بر وب پاسخ بدهد. بنابراین، می‌توان برنامه‌هایی تولید کرد که بتواند با کلاینت‌های مبتنی بر اینترنت شامل مرورگرهای وب، کلاینت‌های مبتنی بر CORBA و حتی سرویس‌های وب مبتنی بر REST و SOAPتعامل داشته باشد.

 علاقه مندان و متخصصان این حوزه، می توانند در این دوره ی تخصصی شرکت نموده، پس از اخذ آموزش های تخصصی و تجربه عملی، مدرک معتبر دریافت نمایند.

 

هدف : کسب دانش و توانایی تولید برنامه های تحت وب و سازمانی به زبان جاوا

مدت دوره : ۶۰ ساعت

پیش نیاز: علاقه به تولید برنامه های تحت وب

زمان برگزاری: لطفا به تقویم آموزشی مراجعه فرمایید.

 

سرفصل دوره: 

Servlet  • 
o Servlet Tutorial – Overview
(o Common Gateway Interface (CGI
o CGI vs Servlet
o Servlet API Hierarchy
o Servlet Interface
o ServletConfig Interface
o ServletContext interface
o ServletRequest interface
o ServletResponse interface
o RequestDispatcher interface
o GenericServlet class
o HTTPServlet class
o Servlet Attributes
o Annotations in Servlet
o Servlet Session Management
o Servlet Filter
o Servlet and session Listener
o Cookies in Servlet
o Servlet Exception Handling
o Database Access
o Configuration and Context
(o Servlet configure (xml & annotation
o Servlet Upload Download File Example
o Servlet 3 File Upload using MultipartConfig annotation and Part interface
o Java Servlet Login Example
o Async Servlet
o JNDI and Resources


Log4j • 
o Installation
o Architecture
o Configuration
o Type of logs
o log patterns
o Sample Program
o Logging Methods
o Logging Levels
o Log Formatting
o Logging in Files
o Logging in Database


Sl4j  • 
o Overview
o SLF4J Vs Log4j
o Environment Setup
o Referenced API
o Error Messages
o Parameterized logging
o Migrator
o Profiling

 

JSP  • 
o Architecture
o Lifecycle
o Syntax
o Actions
o Client Request
o Server Response
o Http Status Codes
o Form Processing
o Filters
o Cookies Handling
o Session Tracking
o File Uploading
o Handling Date
o Page Redirecting and dispatch
o Hits Counter
o Auto Refresh
o Standard Tag Library (JSTL) Tutorial
o Database Access
o XML Data
o JavaBeans
o Custom Tags
o Example for Beginners
o Implicit Objects
o Directives
(o JSP Expression Language (EL
o Exception Handling
o Debugging
o Security
o Internationalization| i18n| l10n
o JSP Action Tags

 

Hibernate • 
o Architecture
o Hibernate Tutorial For Beginners
o Hibernate Architecture
(o Hibernate and Java Persistence API (JPA
o Database Table Setup
o Hibernate Project Dependencies
o Domain Model Classes
o Hibernate Mapping XML Configuration
o Hibernate Configuration Files
o Hibernate SessionFactory
o Hibernate XML Configuration Test
o Hibernate Annotation Configuration Test
o Hibernate Java Configuration Test
o One-to-One Mapping
o One-to-Many Mapping
o Many-to-Many Mapping
o Sql casting
o Dynamic Update
o Dialect
o Generic Dialect
(o Query Language (HQL
o Native SQL Query
o Named Query
o Criteria
o First Level Cache
o Second Level Cache with EHCache
o EhCache Configuration
o OSCache Configuration
o C3P0 Connection Pool
o In memory Database
o get vs load
o Persist, Merge, Remove
o Hibernate save vs persist
o Tuple
o Lazy Loading & eger Loading
o Hibernate openSession vs getCurrentSession
o Hibernate log4j integration
o Hibernate Tomcat JNDI DataSource Example
o Hibernate Validator

 

 Jpa • 
o Architecture
o ORM Components
o Entity structures
o Persistence.xml configuration
o Transaction types
o Database connection properties
o JPQL
o SQL Native Commands
o JPA Annotations
o Rollback Exception Handling
o Auto increment Strategies
o Data Type Parsing
o EntityManager و EntityManagerFactory و EntityTransaction
o JPA Relations
o Secondary Tables
o Hibernate And JPA Integration

 

Web Services • 
o JAX-RS
o JAX-WS

 


Jsf • 
o Overview
o Lifecycle
o UI Components
o Page Navigation
o Managed Beans
o Scopes
o Dependency Injection
o Facelets
o Events and Listeners
o Lists and Tables
o Converters
o Validators
o Resources
o Ajax
o Composites

Java Mail API • 


Spring • 


Overview of Spring • 
o Java EE: The Good, The Bad, and the Ugly
o Enter the Framework
o Spring Value Proposition
o The Spring Container
o Web Applications
o Persistence Support
o Aspect-Oriented Programming
(o The Java EE Module(s
• The Container
o JavaBeans, Reconsidered
o The Factory Pattern
o Inversion of Control
o XML View: Declaring Beans
o Java View: Using Beans
o Singletons and Prototypes

 

Instantiation and Configuration • 
o Configuring Through Properties
o Configuration Namespaces
o The p: Notation
o Bean (Configuration) Inheritance
o Configuring Through Constructors
o Bean Post-Processors
o Lifecycle Hooks
o Integrating Existing Factory Code
o Awareness Interfaces

 


Dependency Injection • 
o Assembling Object Graphs
o Dependency Injection
o Single and Multiple Relationships
o The Utility Schema
(o Using Spring Expression Language (SpEL
o Inner Beans
o Autowiring
o @Component, @Service, & Company
o @Autowired Properties
o Best Practices with Spring Annotations
o Java Classes as @Configurations
o AnnotationConfigApplicationContext
o Capabilities and Limitations
o Mixing and Importing XML and Java Configurations

 


Assembling Object Models • 
o Collections and Maps
o Support for Generics
(:o The Spring Utility Schema (util
o Autowiring to Multiple Beans
o Order of Instantiation
o Bean Factory vs. Application Context


Spring Transaction • 


Spring mvc • 

دوره برنامه نویسی (Java EE2 (Enterprise Edition

جاوا JAVA یکی از محبوب‌ترین زبان‌های برنامه‌نویسی دنیا است و بدون اغراق می‌توان آن‌را جزو کارآمد‌ترین زبان‌های برنامه‌نویسی سطح بالا دانست. ماشین مجازی جاوا (JVM) برنامه‌ای است که بایت‌کدهای زبان جاوا را مطابق با سیستم‌عاملی خاص کامپایل کرده و آن‌ها را برای اجرا در سطح سیستم‌عامل آماده می‌کند شعار اصلی جاوا این است: "یک بار بنویس، همه جا اجرا کن". در حقیقت شما یکبار برنامه را می‌نویسید و به کمک ماشین مجازی جاوا (JVM)  آن‌را در سایر پلتفرم‌ها نیز اجرا می‌کنید. به همین دلیل است که می‌گوییم جاوا یک زبان چند‌سکویی (Cross Platform)  است. همچنین از آنجا که در برنامه‌نویسی اپلیکشین‌های اندروید نیز از این زبان استفاده می شود می‌توان یکی از  دلایل محبوبیت آن را، به خصوص در میان برنامه‌نویسان، همین مورد دانست، بسیاری از افراد برای نوشتن برنامه‌های اندرویدی به سراغ یادگیری جاوا می‌روند. از ویژگی های JAVA شئ‌گرایی, (OOP) قابل حمل بود (اجرا روی هر پلتفرم)، بستر مستقل و امن، پویا و عملکرد بالا می باشد که باعث شده در بسیاری از دستگاه ها همچون برنامه های کاربردی تحت وب و برنامه های کاربردی سازمانی نظیر برنامه های کاربردی بانک ها، موبایل، رباتیک و ... مورد استفاده قرار بگیرد.

Java EE (Enterprise Editon) از پلتفرم Java SE بزرگتر بوده و روی آن سوار است. این پلتفرم برای انجام پروژه ها در مقیاس وسیع و به صورت شبکه ای، چند لایه ای، مقایسه پذیر و یا در مقیاس اینترنت مورد استفاده قرار می گیرد. در Java EE از API ها و کتابخانه های خاصی به منظور ایجاد ارتباط با دیتابیس در دیتاسنتر، قابلیت ارسال پیام یا JMS، پردازش XML و JSON و .... استفاده می شود. با کمک این پلتفرم که J2EE هم گفته می شود، می‌توان مولفه‌های سمت سروری ایجاد کرد که به درخواست پاسخ مبتنی بر وب پاسخ بدهد. بنابراین، می‌توان برنامه‌هایی تولید کرد که بتواند با کلاینت‌های مبتنی بر اینترنت شامل مرورگرهای وب، کلاینت‌های مبتنی بر CORBA و حتی سرویس‌های وب مبتنی بر REST و SOAPتعامل داشته باشد.

 علاقه مندان و متخصصان این حوزه، می توانند در این دوره ی تخصصی شرکت نموده، پس از اخذ آموزش های تخصصی و تجربه عملی، مدرک معتبر دریافت نمایند.

هدف : کسب دانش و توانایی تولید برنامه های تحت وب و سازمانی به زبان جاوا

مدت دوره : ۴۴ ساعت

پیش نیاز: java SE  , java EE1 به همراه سابقه کار با نسخه سازمانی جاوا

زمان برگزاری: لطفا به تقویم آموزشی مراجعه فرمایید.

 

سرفصل دوره: 

(Java Server Faces (jsf • 

 
Prime Faces • 


Java Message Service • 


(iBatis(MyBatis • 


EJB • 


(CDI (Context and Dependency Injection • 


JTA • 


Java Web Services • 


Java MongoDB • 


Web Template System & Engines • 

 

Bean Validation API • 


(Service Oriented Architecture (SOA • 


(Overview of BPEL (Business Process Execution Language • 

 

دوره Java Spring Framework

معرفی: دوره آموزشی جاوا اسپرینگ از جمله دوره های فوق تخصصی است که در حوزه ی توسعه نرم افزار در فناوران آنیسا به صورت حرفه ای آموزش داده می شود. علاقه مندان و متخصصان این حوزه می توانند این دوره آموزشی را که هدف آن آموزش ایجاد برنامه های تحت وب و سازمانی در مقیاس متوسط و بالا با زبان جاوا بوسیله فریمورک spring است، در "خانه لینوکس ایران" بگذرانند و مدرک معتبر دوره را دریافت نمایند.

در ادامه سرفصل های و سایر اطلاعات مربوط به دوره بررسی شده است.

مرور اجمالی دوره:

  • Understand the scope, purpose, and architecture of Spring
  • Use Spring application contexts to declare application components, rather than hard-coding their states and lifecycles
  • Use dependency injection to further control object relationships from outside the Java code base
  • Use annotations to take advantage of Spring post-processors for automated bean instantiation and wiring
  • Build a web application as a Spring DispatcherServlet and associated application context
  • Use Spring MVC annotations to develop web controllers, mapping request URLs and other criteria to
  • Java methods and binding request data to method parameters
  • Build and manage HTML forms with Spring command objects and custom tags
  • Customize input binding, validation, and error handling
  • Use Spring interceptors to implement horizontal features in the web application
  • Connect business objects to persistent stores using Spring's DAO and ORM modules
  • Simplify JDBC code using Spring templates
  • Integrate JPA entities and DAOs into Spring applications
  • Control transactions using Spring, either programmatically or declaratively
  • Develop effective unit tests using Spring's test framework and the MockMvc environment for web controllers

مخاطبان دوره:

- این دوره مناسب چه کسانی است؟

افرادی که با زبان قدرتمند جاوا و حداقل در سطح دوره EE1  آشنایی  دارند و می خواهند وارد بازار کار شوند.

افرادی که استارت آپ یا پروژه خود را دارند.

افرادی که می خواهند در این حوزه سطح دانش خود را افزایش دهند.

افرادی که به دنبال چالش های جدید در کدنویسی و تولید نرم افزارهای مدرن تحت وب هستند.

افرادی که تمایل دارند با یک زبان در پلت فرم های مختلف کدنویسی کنند.

- این دوره مناسب شما نیست، اگر

زمان کافی برای یادگیری مطالب گسترده این دوره ندارید.

علاقه خاصی به دنیای وب و کسب و کار از این طریق ندارید.

کسانی که علاقه به زبان Java ندارند.

کسانی که به دنبال پیشرفت شغلی خود در حوزه برنامه نویسی وب نیستند.

 

هدف:  ایجاد برنامه های تحت وب و سازمانی در مقیاس متوسط و بالا با زبان جاوا بوسیله فریمورک spring

مدت دوره : ۱۲۰ ساعت

پیش نیاز:  javaSE ,  javaEE1

زمان برگزاری: لطفا به تقویم آموزشی مراجعه فرمایید.

 

سرفصل های دوره:

Part 1: Spring Core Technology:

- Instantiation and Configuration

  • Configuring Through Properties
  • Configuration Namespaces
  • The p: Notation
  • Bean (Configuration) Inheritance
  • Configuring Through Constructors
  • Bean Post-Processors
  • Lifecycle Hooks
  • Integrating Existing Factory Code
  • Awareness Interfaces

- The IoC Container

- Resources

- Dependency Injection

  • Assembling Object Graphs
  • Dependency Injection
  • Single and Multiple Relationships
  • The Utility Schema
  • Using Spring Expression Language (SpEL)
  • Inner Beans
  • Autowiring
  • @Component, @Service, & Company
  • @Autowired Properties
  • Best Practices with Spring Annotations
  • Java Classes as @Configurations
  • AnnotationConfigApplicationContext
  • Capabilities and Limitations
  • Mixing and Importing XML and Java Configurations

- Assembling Object Models

  • Collections and Maps
  • Support for Generics
  • The Spring Utility Schema (util:)
  • Autowiring to Multiple Beans
  • Order of Instantiation
  • Bean Factory vs. Application Context

- Validation, Data Binding, and Type Conversion

- Spring Expression Language (SpEL)

- Aspect Oriented Programming with Spring

- Data Buffers and Codecs

Part 2: Data Access:

- Transaction Management

 - DAO Support

- Persistence with JDBC

  • Reducing Code Complexity
  • The DataAccessException Hierarchy
  • JdbcTemplate
  • RowMapper<T> and ResultSetExtractor<T>
  • The DaoSupport Hierarchy
  • Capturing Generated Keys
  • Transaction Control
  • PlatformTransactionManager
  • TransactionTemplate
  • Isolation Levels
  • Transaction Propagation

- Persistence with JPA

  • Object/Relational Mapping
  • The Java Persistence API
  • JpaDaoSupport and JpaTemplate
  • @PersistenceUnit and @PersistenceContext
  • Shared Entity Managers
  • Using <tx:annotation-driven>
  • The @Transactional Annotation
  • Isolation and Propagation
  • A Limitation of @Transactional
  • Understanding Entity States
  • Configuring JPA Without persistence.xml
  • Bean Validation in JPA
  • Optimistic Locking

 - Marshalling XML by Using Object-XML Mappers

Part 3: Web on Servlet Stack:

- Spring Web MVC

 - REST Clients

 - WebSockets

- Assembling Object Models

  • Collections and Maps
  • Support for Generics
  • The Spring Utility Schema (util:)
  • Autowiring to Multiple Beans
  • Order of Instantiation
  • Bean Factory vs. Application Context

Handling Requests

  • Matching URLs
  • Identifying Views
  • Request Parameters
  • Injectable Parameters
  • Command Objects
  • Return Types
  • HTTP Methods
  • Path Variables
  • Scope and Granularity of Command Objects
  • Headers and Cookies
  • RESTful Web Services

- Working with Forms

  • Form Processing in Spring MVC
  • Command Objects in Request Methods
  • Spring Custom Tags
  • <form:form> and Friends
  • Text Fields, Check Boxes, and Buttons
  • Radio Buttons and Select/Option Lists
  • Command objects at Session Scope
  • Limitations of @SessionAttributes

- Configuring Spring MVC

  • Configuring Message Sources
  • Resolving Error Codes
  • Codes for Bean Validation
  • HandlerExceptionResolver
  • @ExceptionHandler
  • @ControllerAdvice for Global Error Handling

- Interceptors

  • Interceptors
  • Configuring Interceptors
  • Filters in the Request-Handling Cycle

Part 4:  Thymeleaf Template Engine:

  • Introducing Thymeleaf
  • The Good Thymes Virtual Grocery
  • Using Texts
  • Standard Expression Syntax
  • Setting Attribute Values
  • Iteration
  • Conditional Evaluation
  • Template Layout
  • Local Variables
  • Attribute Precedence
  • Comments and Blocks
  • Inlining
  • Textual template modes
  • Some more pages for our grocery
  • More on Configuration
  • Template Cache
  • Decoupled Template Logic

Part 5:  Testing:

Part 6:  Web on Reactive Stack:

- Spring WebFlux

- WebClient

 - WebSockets

 - RSocket

Part 7:  Integration:

- Remoting and Web Services

 - Enterprise JavaBeans (EJB) Integration

-  JMS (Java Message Service)

 - JMX

 - JCA CCI

- Email

- Task Execution and Scheduling

 - Cache Abstraction

 

دوره (Java Security (Secure Java Development

دوره آموزشی امنیت جاوا از جمله دوره های فوق تخصصی ست که در حوزه ی توسعه نرم افزار در فناوران آنیسا به صورت حرفه ای تدریس می گردد. علاقه مندان و متخصصان این حوزه می توانند این دوره آموزشی را که هدف آن آموزش چگونگی دفاع در برابر حملات در زبان برنامه نویسی جاوا ست در "خانه لینوکس ایران" بگذرانند و پس از اخذ آموزش های تخصصی و تجربه عملی، مدرک معتبر دوره را دریافت نمایند.

مرور اجمالی دوره:

Generally, be prepared to develop secure Java web applications and services, or to secure existing applications and services by refactoring as necessary -
Define security constraints and login configurations that instruct the web container to enforce authentication and authorization policies -
Guard against common web attacks including XSS, CSRF, and SQL injection -
Validate user input aggressively, for general application health and specifically to foil injection and XSS attacks -
Configure a server and/or application to use one-way or two-way HTTPS -
Apply application-level cryptography where necessary -
Store sensitive information securely, hash user passwords, and understand the importance of salting and of using slow hashing algorithms and processes, to maximize the safety of stored credentials -
Use HMAC security as appropriate in RESTful web services -
Participate in SAML SSO systems, and be aware of the security concerns involved in single sign-on -
Implement server and client sides of the OAuth-2.0 initial flow in order to provide third-party authorization to resources in a secure manner-

هدف : چگونگی دفاع در برابر حملات در زبان برنامه نویسی java 

مدت دوره : ۴۴ ساعت

پیش نیاز: javaSE , javaEE1

زمان برگزاری: لطفا به تقویم آموزشی مراجعه فرمایید.

 

سرفصل دوره: 

Java SE Security
Holistic Security Practices
Threats to the User
The Class Loader and Bytecode Verifier
System Classes and the Core API
SecurityManager and AccessController
Permissions
Implication
CodeSources
Policies
Configuring Java SE Security
Dynamic Policies
Privileged Actions


Code Signature and Key Management
Encryption and Digital Signature
Keystores
Keys and Certificates
Certificate Authorities
The KeyStore API
Signing JARs
Signed CodeSources
Additional Policy Semantics


Secure Development Practices: Java SE
Code Injection
Final Classes and Methods
Singletons, Factories, and Flyweights
Methods, Collections, and Data Hiding
Sealing JARs
Code Obfuscation
Object Serialization


Cryptography
Threats to Identity and Privacy
The Java Cryptography Extensions
The Signature Class
SignedObjects
The Java Cryptography Extensions
SecretKeys and KeyGenerator
The Cipher Class
Dangerous Practices
HTTP and JSSE

 

JAAS
Pluggable Authentication Logic
JAAS
Packages and Interfaces
Subjects and Principals
ANDs and ORs
Impersonation Methods
Permissions for JAAS Use
LoginContext and LoginModule
Configuring JAAS
CallbackHandler and Callbacks
Implementing a JAAS Client
Implementing a LoginModule


Concerns for Web Applications
Threats and Attack Vectors
Server, Network, and Browser Vulnerabilities
Secure Design Principles
GET vs. POST
Container Authentication and Authorization
HTML Forms
Privacy Under /WEB-INF
HTTP and HTTPS
Other Cryptographic Practices
SOA and Web Services
The OWASP Top 10


Authentication and Authorization
HTTP BASIC and DIGEST Authentication Schemes
Declaring Security Constraints
User Accounts
Safeguarding Credentials in Transit
Replay Attacks
Authorization Over URL Patterns
Roles
FORM Authentication
Login Form Design
Session Fixation
Protections
Programmatic Security
Programmatic Security in JSF

 

Common Web Attacks
Forceful Browsing
Predictable Resource Locations
Using Random Numbers
Cross-Site Scripting
Output Escaping
Cross-Site Request Forgery
Synchronizer Tokens
Injection Attacks
Protections in JDBC and JPA
Session Management
Taking Care of Cookies


Input Validation
Validating User Input
Validation Practices
Regular Expressions
Bean Validation (a/k/a JSR-303)
Constraint Annotations
Cross-Field Validation
Built-In Support in Java EE
Using a Validator
Producing Error Responses
JSF Validation


HTTPS and Certificates
Digital Cryptography
Encryption
SSL and Secure Key Exchange
Hashing
Signature
Keystores
keytool
Why Keys Aren't Enough
X.509 Certificates
Certificate Authorities
Obtaining a Signed Certificate
Configuring HTTPS
Client-Side Certificates and Two-Way SSL
PKCS #12 and Trust Stores
CLIENT-CERT Authentication

 

 

Application-Level Cryptography
The Java Cryptography Architecture
Secure Random Number Generation
The KeyStore API
Digital Signature
Hashing
Password Hashing
Why Hashing Isn't Enough
Salts
Key Lengthening and Key Strengthening
Slow Algorithms
The Java Cryptography Extensions
The SecretKey and KeyGenerator Types
Symmetric Encryption
Choosing Algorithms and Key Sizes
Dangerous Practices
Storing and Managing Keys


Secure Development Practices
Secure Development Cycle
Penetration Testing
Secure Code Review
Error Handling and Information Leakage
Failing to a Secure Mode
Designing for Failure
Back Doors
Logging Practices
Appropriate Content for Logs
Auditing Strategies


REST Security Basics
Security Concerns for REST Services
HTTPS
HTTP BASIC and DIGEST
Authorization by URL Pattern
Cross-Site Scripting
Injection Attacks
Cross-Site Request Forgery
Common Countermeasures


HMAC Security
Use Case: Message Authentication
Digital Signature
Hashing as Signature: the HMAC
Keyed Hashing
The Hmac Utility
Appropriate Salts
Canonicalization
Amazon S3
Timestamps
Signing and Verifying Messages
XML Cryptography and Canonicalization
Canonicalizing JSON


SAML SSO
The Challenge of Single Sign-On
Federated Identity
SAML 2.0
The Web Browser SSO Profile
Identity Providers and Service Providers
SAML Assertions
SAML Protocol
SAML Bindings
Speaking "Through" the Browser
The HTTP Redirect Binding
Artifact and SOAP Bindings
SAML Attributes
Security Concerns in SSO Systems
OAuth
Use Case: Third-Party Authorization


OAuth
Initial Flow
Grant Types
Access Tokens
The Google OAuth API
Implementing Authorization and Resource Servers
Implementing Clients
Security Concerns with OAuth

Advanced Python Programming

پایتون یک زبان برنامه نویسی همه منظوره است. این زبان به علت ویژگی‌های ممتاز ذاتی خود در سال‌های اخیر طرفداران بسیاری در بین گروه‌های مختلف از مدیران سیستم و برنامه نویسان آماتور و حرفه‌ای تا دانشمندان پیدا کرده. یادگیری پایتون به نسبت بسیار ساده است لذا همانطور که برنامه نویسان می توانند در زمان نسبتاً کوتاهی برای اجرای ایده‌های خود یا ورود بازار کار رو به رشد آن آماده شوند، به عنوان اولین زبان برای شروع برنامه نویسی نیز عالی است. برنامه نویسان پایتون با کمک امکانات قدرتمند این زبان و کتابخانه‌های متنوع و جامع آن قادر به فعالیت در حوزه های مختلفی نظیر خودکار سازی وظایف، ساخت ابزار های سیستمی، شبیه سازی، برنامه نویسی وب و سرویس، سیستم‌های آنالیز داده و تجزیه و تحلیل، برنامه نویسی سیستم‌های Embedded و IoT و محاسبات علمی و ریاضی و … هستند.  بر اساس گزارش ACM پایتون پراستفاده ترین زبان برای آموزش‌های مقدماتی برنامه نویسی میان ۳۹ دانشگاه معتبر آمریکا است. همچنین بنا بر آمار سایت indeed میانگین درآمد توسعه دهندگاه پایتون در آمریکا حدود 115،000 دلار در سال است. همه این موارد پایتون را به یک ویژگی مثبت و جذاب در بین توانایی‌ها و رزومه علاقه‌مندان و فعالان حوزه برنامه نویسی تبدیل کرده و باعث شده یادگیری این زبان پر طرفدار و رو به رشد برنامه نویسی برای گروه‌های مختلف، مهم و گاهی شدیداً لازم باشد. در این دوره دانشجویان، سرفصل های پیشرفته زبان برنامه نویسی همه منظوره پایتون را به صورت کامل می آموزند و با مثال‌های عملی با زیر و بم آن‌ها آشنا می‌شوند.

 

مدرس: مدرس خبره در برنامه نویسی زبان پایتون  

پیش نیاز: دوره Python Programming

مدت دوره: ۲۴ ساعت.

تاریخ برگزاری: لطفا به تقویم آموزشی مراجعه بفرمایید.

 

Comprehensions

Using objects in cpomprehensions

 

Iterators & generators

Creating Iterators

Creating generators

Creating objects which is Iterator & Generator

Random Access in Iterators

 

Decorators

Functools

Creating a decorator

Decorator usage

advanced event and business management with decorators

 

Context manager

Creating Context Manager

Usage of Context Managers

Context in Context manager

 

Descriptors

advanced class property management

 

Meta Classes

Defining And Using Meta Classes

 

Async Programming In Python

asyncio

green threads

gevent

 

Python Design Conventions:

Wrapping vs Inheritance

dependency Injection

Factory Classes

Duck typing

monkey patching

callback

 

Patterns:

Singlethon

Null Object

Proxy

Observers

Costructors

EN / FA

فناوران آنیسا - خانه لینوکس ایران

تهران، میدان آرژانتین، خ وزرا، کوچه هشتم، یحیوی، پلاک ۴

 اطلاعات تماس:

  • 021-88716168
  • 021-88712172
  • 0910-8555111

info @ anisa.co.ir

© فناوران آنیسا - خانه لینوکس ایران | تمامی حقوق این سایت برای فناوران آنیسا محفوظ است.
Design by www.digitaldesign.ir