Django Programming

دوره برنامه نویسی  Django به آمـوزش یکی از محبوب ترین Framework های متن باز توســعه وب در سطح دنیا می پردازد، که به زبـــان Python نوشته شده و با اجزای آماده به کار خود توسعه وب سایت ها را بسیار آسان می کند.

فریم ورک جنگو به عنوان یک فریم ورک استاندارد که از معماری MVT پیروی میکند و اصطلاحاً Batteries Included  است (به این معنی که تمامی نیاز های یک برنامه نویس وب را تأمین می کند) سرعت بسیار بالای توسعه را همراه با کیفیت بالا و یکپارچگی عالی برای کاربر فراهم می کند.

در فریم ورک جنگو، برنامه نویس بیشترین تمرکز را بر روی منطق و کسب و کار مد نظر خود دارد و نیاز به درگیری بسیار کم با مسائل جانبی. لذا سرعت رسیدن به نتیجه به صورت تعجب بر انگیزی بالاست.

همینطور مفهوم Middleware های جنگو با نظارت بر ورودی و خروجی های برنامه نویس مباحث امنیتی (نظیر حملات CSRF ) را تأمین کرده و ساز و کار نیاز برای Authentication و Authorization را به تمامی روش‌های استاندارد فراهم میکند

بعلاوه پیروی جنگو از یک مدل مبتنی بر میکرو اپلیکیشن باعث شده تعداد زیادی ماژول آماده برای کارهای مختلف در جنگو وجود داشته باشد و برنامه نویس علاوه بر ماژول هایی که خودش در طول زندگی می نویسد بتواند از ثمره کار دیگران نیز استفاده کند.

موتور ORM فریمورک جنگو کاربر را تا حد زیادی از نوشتن کوئری های دیتابیس رها کرده و به صورت خودکار و مستقل از نوع دیتابیس به برنامه نویس اجازه می دهد کاملاً شی گرا کد نوشته و در نهایت کوئری ها را به بهترین روش تولید و اجرا کند.

همینطور موتور Template جنگو اجازه ساخت قالب‌های یکپارچه و پیشرفته برای اپلیکیشن های SSR را فراهم میکند؛‌ این موتور تمپلیت الگوی طراحی موتور تمپلیت معروف Twig بوده است

و در نهایت DRF یا همان Django REST Framework به برنامه نویس اجازه می دهد به راحتی و با بالاترین میزان یکپارچگی REST API تولید کرده اپلیکیشن های Restful ایجاد کند.

 

آنچه شما در دوره ی جنگو آنیسا می آموزید:

در دوره جنگــو مقدماتی آنیــسا شما معماری MVT و نحوه طراحی و پیاده‌سازی مدل ها (یا همان دیتابیس)، Viewها (یا همان منطق برنامه) و Templates (یا همان ظاهر و خروجی HTML برنامه) را آموزش می بینید و همزمان یک پروژه مشترک برای ساخت یک وب اپلیکیشن نمونه را پیش خواهیم برد.

در نهایت با نصب DRF دانشجویان نحوه پیاده‌سازی REST API با جنگو و ارتباط با آن از طریق ابزار های تست API را یاد گرفته و پیاده‌سازی API را روی پروژه خود انجام خواهند داد.

در پایان کلاس نحوه نصب و اجرای پروژه جنگو روی سرور VPS و آلمان های دخیل در آن بررسی می‌شود

 

محتوای دوره: 

Introduction to Web & Web Services

Introducing & Installation of Django

Django views

Templating & separating template from logic

ORM Concept

Django Admin Site

User Space Forms

Generating non-html content

Internationalization and translating

Deploying Django code to web server

Full featured Django web application example

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

پیش نیاز: برنامه نویسی زبان پایتون و LPIC-1

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

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

Section 0

Introduction to Web & Web Services

Backend/Frontend separation concepts

UI/Logic Concepts

MVC Architecture

Microservice Architecture

ORM & Database

Server/Client Side elements

Introduction to JSON, XML, HTML, CSS & Javascript

Frameworks (Frontend / Backend)

 

Section 1

Introducing & Installation of Django

Introduction to service oriented programming & REST api

Django Architecture and program structures

Django IDEs

Creating & Running Django projects

Start A Course Project

 

Section 2

Creating Output and manage URLs Django Views & URLConfs

Creating Dynamic content using Django views

 

Section 3

Templating & separating template from logic

Django Templates

Displaying Templates

Template Tags & Filters

Frequent Tags & Filters

Using Templates in views

 

Section 4

ORM Concept

Connecting to any DBMS

Models as Tables

Understanding Model Abstraction

Model Installation

Basic Data store and fetch

Insert & Update

Selecting Models

Filtering Data

Ordering Objects

Chaining & Slicing

Deleting Objects

 

Section 5

Django Admin Site

Managing Models through admin site (CRUD)

Edit Form Customizations

Users, Groups & Permissions

 

Section 6

User Space Forms

Working With Submitted Data

Handling simple forms

Creating Form Classes And binding with views

Form Validation

Customizing Form Design

 

Section 7

Generating non-html content

modifying headers

Section management, Login & registration of users

Working with cookies

Django Section framework

User Authentication

Login & Logout

Working with permissions & groups

Using Message system

 

Section 8

Internationalization and translating

Standard Translation

Lazy Translation

Pluralization

Using translators in Templates

Language Files

Compiling Message Files

Using Translations in Javascript

 

Section 9

Deploying Django code to web server

Different deploy modes

Django Test server

wsgi deployment

using shared servers

Debug And Deploy modes

Separating debug and deploy settings

 

Section 10

Finish our full featured Django web application example

Review it

And Deploy it

 

برنامه نویسی تحت وب:

امروزه برنامه نویسی تحت وب، دیگر محدود به ساختن وبسایت نیست

بلکه حتی اپلیکیشن های جدی نیز به عنوان رابط گرافیکی از مرورگر استفاده می کنند

برنامه نویسی تحت وب به این معنی است که موتور اصلی اپلیکیشن، یک برنامه موجود در سرور بوده و رابط گرافیکی آن با استفاده از html ، css و javascript روی مرورگر کاربر اجرا شود.

 

به برنامه‌هایی که روی سرور اجرا می‌شوند backend و به برنامه‌هایی که روی سیستم کاربر (یا کلاینت) اجرا می‌شوند Frontend گفته می‌شود  که برنامه backend و frontend ازطریق پروتکل http با یکدیگردر ارتباط هستند.

  • ممکن است backend مستقیماً frontend را تولید کند (یعنی html تولید کند) که ه به این روش SSR یا Server Side Rendering گفته می‌شود.
  • و یا frontend قبلاً توسط تکنولوژی دیگری تولید شده باشد و فقط داده‌های مورد نیاز خود برای فعالیت را از backend دریافت کند؛ به این روش CSR یا Client Side Rendering گفته می‌شود.

هر دوی این روش‌ها ویژگی‌هایی دارند که برنامه نویس وب، باید بسته به موقعیت، روش مناسب را انتخاب کند.

در روش CSR برای آنکه فرانت یا بک در ارتباط باشد دیتا به صورت بسته های http با محتوایی نظیر json  و یا xml بین سرور و کلاینت منتقل می‌شوند که به این کار اصطلاحاً API گفته می‌شود و انواع مختلفی از آن وجود دارد.

 

Full Stack Developer یا Backend Developer یا Frontend Developer ؟

زبان‌های برنامه نویسی سمت سرور نظیر PHP ،Java  یا Python برای ساخت بخش backend اپلیکیشن های وب به کار می‌روند؛ حال ممکن است برنامه نویس وب خود هر دو بخش را انجام دهد که به او Full Stack Developer گفته می‌شود و یا ممکن است فقط روی یکی از این بخش‌ها تمرکز کند که به اون Backend Developer یا Frontend Developer گفته می‌شود.

 

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

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

البته همانطور که در همه زبان‌های برنامه نویسی Framework هایی برای انجام کار های مختلف وجود دارد که پیاده‌سازی و ساختاردهی و امنیت و … را برای برنامه نویس به شکل استاندارد بهبود داده و اجرای پروژه را تسهیل میکند در پایتون هم فریمورک های تحت وب زیادی وجود دارد که Django و Flask از معروف ترین آن‌ها هستند.

فریم ورک ها وظیفه دارند کاراها را آسانتر، با دوباره کاری کمتر و استاندارد تر کنند تا امنیت و کاربری وب اپلیکیشن به حداکثر خود برسد.

 

برنامه نویسی وب با جنگو:

فریم ورک جنگو به عنوان یک فریم ورک استاندارد که از معماری MVT پیروی میکند و اصطلاحاً Batteries Included  است (به این معنی که تمامی نیاز های یک برنامه نویس وب را تأمین می کند) سرعت بسیار بالای توسعه را همراه با کیفیت بالا و یکپارچگی عالی برای کاربر فراهم می کند.

در فریم ورک جنگو، برنامه نویس بیشترین تمرکز را بر روی منطق و کسب و کار مد نظر خود دارد و نیاز به درگیری بسیار کم با مسائل جانبی. لذا سرعت رسیدن به نتیجه به صورت تعجب بر انگیزی بالاست.

همینطور مفهوم Middleware های جنگو با نظارت بر ورودی و خروجی های برنامه نویس مباحث امنیتی (نظیر حملات CSRF) را تأمین کرده و ساز و کار نیاز برای Authentication و Authorization را به تمامی روش‌های استاندارد فراهم می کند.

بعلاوه پیروی جنگو از یک مدل مبتنی بر میکرو اپلیکیشن باعث شده تعداد زیادی ماژول آماده برای کارهای مختلف در جنگو وجود داشته باشد و برنامه نویس علاوه بر ماژول هایی که خودش در طول زندگی می نویسد بتواند از ثمره کار دیگران نیز استفاده کند.

موتور ORM فریمورک جنگو کاربر را تا حد زیادی از نوشتن کوئری های دیتابیس رها کرده و به صورت خودکار و مستقل از نوع دیتابیس به برنامه نویس اجازه می دهد کاملاً شی گرا کد نوشته و در نهایت کوئری ها را به بهترین روش تولید و اجرا کند.

همینطور موتور Template جنگو اجازه ساخت قالب‌های یکپارچه و پیشرفته برای اپلیکیشن های SSR را فراهم میکند؛‌ این موتور تمپلیت الگوی طراحی موتور تمپلیت معروف Twig بوده است

و در نهایت DRF یا همان Django REST Framework به برنامه نویس اجازه می دهد به راحتی و با بالاترین میزان یکپارچگی REST API تولید کرده اپلیکیشن های Restful ایجاد کند.

 

آنچه شما در دوره ی جنگو آنیسا می آموزید:

در دوره جنگــو مقدماتی آنیــسا شما معماری MVT و نحوه طراحی و پیاده‌سازی مدل ها (یا همان دیتابیس)، Viewها (یا همان منطق برنامه) و Templates (یا همان ظاهر و خروجی HTML برنامه) را آموزش می بینید و همزمان یک پروژه مشترک برای ساخت یک وب اپلیکیشن نمونه را پیش خواهیم برد.

در نهایت با نصب DRF دانشجویان نحوه پیاده‌سازی REST API با جنگو و ارتباط با آن از طریق ابزار های تست API را یاد گرفته و پیاده‌سازی API را روی پروژه خود انجام خواهند داد.

در پایان کلاس نحوه نصب و اجرای پروژه جنگو روی سرور VPS و آلمان های دخیل در آن بررسی می‌شود

دوره HAProxy

این دوره به آموزش HAProxy  به عنوان یکی از بهترین و قدرتمندترین راهکارها به منظور Load Balancing و High Availability می پردازد. این نرم افزار به عنوان یک نرم افزار متن باز می تواند درخواست ها را از کلاینت ها دریافت کند و بین سرورهای شما پخش کند. 

 

هدف: ارتقای کارایی و قابلیت اطمینان با پخش لود کاری بین سرورهای مختلف

پیش نیاز:دانش در سطح LPIC-2

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

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

Introduction

Installation

Terminology
Frontend
Backend
ACL (Access Control List)
Algorithms
Round Robin
Least Connection

Structure
Files & Folders
Configuration File
mode http
timeout 's

Usage
Active/Passive
ACL Request

scenario
Implementation Zabbix cluster and Galera Mariadb DataBases with Using HAProxy

PHP Security

بیش از 70 درصد از کل وب ‌سایت های موجود از PHP یا MySQL و یا مشتقات آن‌ها ایجاد شده‌است که به دلیل داشتن برتری هایی همچون کارایی خوب، رابط های مختلف برای سیستم پایگاه های اطلاعاتی مختلف، کتابخانه داخلی برای انجام امور متداول، هزینه پایین و ... اهمیت یادگیری زبان برنامه نویسی PHP را برای برنامه نویسان وب و طراحان سایت نشان می دهد. PHP زبانی قدرتمند برای توسعه ساخت وب سایتی دینامیک و پویا با برخورداری از قابلیت های بهتری برای کاربران است. این زبان شی گرا  در سال 1995 توسط راسموس لردورف ساخته شده است. به دلیل استفاده از زبان PHP در سطوح گسترده، امنیت PHP در سرورهای اینترنتی از موضوعات چالش برانگیز و پر اهمیت است. ضعف در برنامه نویسی ها گاهی می تواند منجر به وجود آمدن مشکلات امنیتی در سیستم شود که منجر به نفوذ در سیستم نیز می شود. مشکلات تکنیکی در خود زبان PHP بسیار کم است، این در حالی است که اکثر این مشکلات به دلیل عدم استفاده از روش های مناسب توسط برنامه نویسان ایجاد می شود درحالیکه می توان با تنظیمات مشخصی تا حد زیادی امنیت آن را برقرار کرد. شناختن باگ های امنیتی برای مقابله با عدم به وجود آمدن رخنه های امنیتی برای هر برنامه نویسی لازم است.

در این دوره چگونگی نحوه دفاع در برابر حملات در زبان برنامه نویسی PHP  آموزش داده می شود.

 

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

پیش نیاز: دوره PHP

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

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

PHP web development

PHP یک زبان برنامه ‌نویسی پیشرفته است که هم به صورت متنی و هم گرافیکی مورد استفاده قرار می گیرد. بیش از 70 درصد وب‌ سایت‌های موجود در دنیا، به دلیل داشتن برتری هایی همچون کارایی خوب، رابط های مختلف برای سیستم پایگاه های اطلاعاتی مختلف، کتابخانه داخلی برای انجام امور متداول، هزینه پایین و ... با زبانPHP یا MYSQL توسعه داده‌ شده‌اند. همچنین، شرکت‌های بسیار بزرگی مانند فیسبوک، اسلک، ویکیپدیا و … نیز، محصولات خود را با استفاده از این زبان، توسعه داده‌اند. از آنجا که با استفاده از زبان PHP تهیه کردن قالب‌های محبوب برای سایت‌های مختلف به راحتی قابل انجام است، سرویس‌های توسعه دهنده آن بیشتر به منظور طراحی وب‌سایت‌ مورد استفاده قرار می‌گیرند و به همین دلیل رقیب قدرتمندی برای نرم افزارهای طراحی وب مشابه مانند ASP و  JSPبه شمار می آید. PHP زبانی است که بر روی تمامی پلتفرم های معروف مثل لینوکس، ویندوز، مکینتاش قابل اجراست. از تاریخ تولدPHP  حدود 23 سال می‌گذرد و این زبان به طور کامل به بلوغ رسیده است و ابزار‌های بسیار کامل و پایداری همراه با این زبان توسعه داده شده‌اند که برنامه نویسی با این زبان را بسیار ساده و سریع می‌کنند.

محتوا: آموزش مقدماتی تا سطح پیشرفته زبان php

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

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

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

کمپ های لینوکس نوروز 97

مژده به طرفداران کمپ های دوره های تخصصی و فوق تخصصی!
امسال هم مطابق هر سال در ایام نوروز با دوره های آموزشی فشرده لینوکس (کمپ) پذیرای شما عزیزان هستیم. با این تفاوت که سال 97 طوفانی از کمپ های لینوکسی در راه است.

در این کمپ ها علاوه بر دوره های تخصصی، دوره های فوق تخصصی نیز به چشم می خورند:

🔻 کمپ Lpic-1 : مدیریت سرورهای لینوکس - 48 ساعت

🔻 کمپ Lpic-2 : مدیریت شبکه در لینوکس - 48 ساعت

🔻 کمپ مانیتورینگ : 40 ساعت
Zabbix
 
🔻 کمپ رایانش ابری  : 32 ساعت
OpenStack

🔻 کمپ لینوکس توکار : 32 ساعت
 Embedded Linux

EN / FA

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

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

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

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

info @ anisa.co.ir

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