February 17, 2012

Cloud Development курс – безплатно от 14 март

Курс "Разработка на софтуер в cloud среда" - безплатно в софтуерната академия

Независимо дали ни харесва или не, cloud технологиите лека полека стават неизбежна част от нашия живот. Не са далеко времената, когато компютри, таблети и телефони почти няма да използват локален storage и всичките ви данни и изчислителна мощ ще са някъде “в облака”. Неизбежно е! Светът отива към cloud технологиите, не можем да го спрем!

Новата професия: разработчик на софтуер в cloud среда

Въпросът на къде е тръгнала софтуерната индустрия покрай този cloud и ние като софтуерни инженери става все по-актуален. Ако в днешно време все още “опит с cloud технологиите” не е задължително изискване във всяка втора обява за работа (както са примерно изискванията “опит с базите данни” и “опит с уеб технологиите”) това лека по лека се променя. Искаме или не, “специалист по разработката на софтуер в cloud среда” стана поредната нова професия в софтуерната индустрия, която се появи по същия този начин, по който преди няколко години се появи професията “разработчик на мобилни приложения”.

Cloud технологиите и големите на ИТ пазара

Светът не може без cloud технологии! Огледайте се малко. Всички големи играчи в софтуерната индустрия се надпреварват да разработват и предлагат cloud инфраструктури, платформи и услуги и инвестират стотици милиони в тези разработки. Ще спомена само някои от играчите на ИТ пазара и някои техни cloud предложения: Microsoft Azure, IBM Cloud, Apple iCloud, Oracle Public Cloud, SAP NetWeaver on Demand, Google App Engine, Amazon Web Services, HP Cloud Services, VMware Cloud Foundry, Cisco Cloud Applications and Services, The Rackspace Cloud, Intel Hybrid Cloud, Dell Cloud Computing Solutions, Adobe Creative Cloud, CA Cloud Solutions, Symantec.cloud services, EMC Atmos Cloud Delivery Platform, Salesforce Force.com Cloud Computing Platform, …. Дали всички са се побъркали или май има хляб в тая работа?

Какво е cloud (облак)?

За да навлезем в cloud материята, нека обясним какво е cloud и си изясним едно по едно понятията, свързани с облачните технологии (cloud технологиите, cloud technologies): облак (cloud), облачни изчисления (cloud computing), облачни инфраструктури (cloud infrastructures), облачни платформи (cloud platforms), облачни услуги (cloud services) и т.н.

Изчисления в облака (cloud computing)

Cloud computing (изчисления в облака) е термин от информационните технологии, който означава обединяване изчислителната мощ на много компютри (и други хардуерни устройства) в единна система, която се използва споделено от множество потребители и приложения. Вместо всеки да си купува компютър или сървърна машина, която в огромната част от времето бездейства (докато чака да се появи потребител за обслужване), големи фирми купуват няколко хиляди компютъра, слагат ги в data центрове по целия свят и продават техните обединени ресурси на други потребители (на дребно).

Как работят изчисленията в облака?

Изчисленията в облака позволяват да кажем върху само 20-30 по-мощни сървъра да работят едновременно няколко стотици виртуални машини с хиляди приложения и десетки хиляди потребители. Всеки ползва част от облака, когато има нужда и колкото има нужда и на практика с по-малко хардуер се обслужват повече потребители. Това е ИТ феномен, познат под името “виртуализация” – възможността на един физическа хардуерна машина да работят едновременно много виртуални машини (виртуални компютри, VMs). Ако дадена система има нужда от изчислителна мощ примерно за 10 секунди, облакът може да й предостави необходимото изчислително време да си свърши работата, а след това може часове на ред системата да бездейства и ресурсите на облака ще се алокират за друга система.

Изчисления в облака – пример

Един реален пример за изчисления в облака е следният: ако имате пощенски сървър, той има нужда от ресурси (интернет трафик, база данни, дискови операции, процесорно време и т.н.) само когато някой изпраща e-mail или си проверява пощата. В останалото време пощенският сървър бездейства (чака нови мейли). Ако пощенският сървър работи на самостоятелна хардуерна машина, той ще ползва сигурно по-малко от 1% от нейните ресурси, а в останалото време те ще стоят неизползвани. Ако същият пощенски сървър е някъде в облака, той ще ползва много по-малко ресурси и на същия физически хардуер може да работят едновременно още 100 пощенски сървъра на други потребители. В крайна сметка облакът пести разходи и вдига качеството на ИТ услугите – купувате и стопанисвате по-малко компютри за да стопанисвате, оперирате и поддържате едни и същи ИТ услуги.

Cloud технологии == изчислителни ресурси под наем

Cloud технологиите (облачни технологии) предоставят изчислителни и други ИТ ресурси под наем. Те консолидират ИТ инфраструктурата и пестят разходи. При събирането на голям брой потребители и клиенти в даден център за данни (data center), където работи някакъв cloud се вдига значително качеството на поддръжката, намалява се downtime на системите и пада цената. Не всяка фирма има ресурси да си изгради собствен център за данни, с резервно захранване, с няколко независими доставчика на интернет, с денонощен мониторинг и с денонощна техническа поддръжка, с надеждна охладителна система, с противопожарна обезопасеност, с автоматизиран backup и т.н. Всичко това е много скъпо да си го организираш и оперираш сам, но в облака струва на порядъци по-малко.

Публичен, частен и хибриден облак

Според видимостта си облаците могат да бъдат публични (public), частни (private) и хибридни (hybrid).

Публичен cloud (public cloud) означава ИТ инфраструктура, платформа или услуга, която е публично достъпна в Интернет (срещу заплащане или безплатно), както е примерно GMail.

Частен cloud (private cloud) означава вътрешнофирмена cloud инфраструктура (хардуер + софтуер), която консолидира ИТ услугите на дадена фирма или организация, но не е достъпна за външни организации. Частният cloud се стопанисва и оперира в частен вътрешен за организацията data center и така фирмата подсигурява неприкосновеност и сигурност на данните си (например в банковия сектор). Пример за private cloud е ИТ инфраструктурата на всяка голяма банка.

Хибриден cloud (hybrid cloud) е смесица между частен и публичен cloud с цел намаляване на разходите. Пример: банка стопанисва данните и ИТ системите си локално (in-house), но ползва за backup публичен cloud като Amazon S3, където съхранява резервно криптирано копие на данните си.

Публични cloud платформи, инфраструктури и услуги

Cloud платформите, инфраструктурите и услугите са силно скалируеми и дават възможност клиентът да плаща толкова, колкото ползва (on demand), според нуждите на неговия бизнес. Публичните cloud технологии дават възможност да си наемете (или да ползвате безплатно) различни ИТ ресурси като: ИТ инфраструктура (виртуални машини), изчислителна мощ (процесорно време), съхранение на данни (база данни, дисково пространство), обработка на данни, доставка на съдържание, доставка на съобщения и много други ИТ услуги и ресурси.

Големите правят собствени cloud платформи и инфраструктури (например Amazon, Google, Microsoft и Rackspace). Малките стъпват върху платформите на големите. Всички ползват cloud. И в крайна сметка всички печелят: спестяват си разходи, намаляват си усилията по поддръжка на ИТ инфраструктурата и си вдигат си качеството на ИТ услугите.

Какво е IaaS, PaaS и SaaS?

Публичните cloud услуги са най-общо разделени в три категории: IaaS, PaaS и SaaS.

IaaS, PaaS и SaaS

IaaS (Infrastructure as a Service)

IaaS (Infrastructure as a Service, ­инфраструктура като услуга) е концепция за cloud, при която се предоставят виртуални машини под наем, на които наемателят може да си инсталира каквото прецени, че му трябва (примерно Linux + Java + Oracle или Windows + SQL Server + ASP.NET или Linux + Apache + PHP + MySQL). Примери за масово използвани публични IaaS услуги са Amazon EC2, Rackspace Cloud Servers и Windows Azure Compute.

От гледна точка на софтуерния инженер разработката за IaaS cloud среда не се различава почти по нищо от традиционната разработка от преди ерата на cloud технологиите. IaaS средите са интересни по-скоро за системните администратори и ИТ мениджърите, а не за софтуерните разработчици.

PaaS (Platform as a Service)

PaaS (Platform as a Service, платформа като услуга) е фамилия cloud технологии, при които се предоставят среда за разработка и cloud услуги към софтуерния разработчик с прилежащи APIs (програмни интерфейси). Обикновено PaaS доставчиците предоставят цялостен стек от технологии за разработка и изпълнение на приложения, примерно:

  • Java + JBoss application server + Java ServerFaces + JBoss Rich Faces + Java Persistence API + Oracle database
  • Python + Django + MongoDB + Linux cron jobs + Nginx load balancer + Gunicorn web server
  • .NET Framework + C# + ASP.NET + WCF + SQL Server + Nginx load balancer + IIS web server
  • PHP + Zend Framework + Cassandra DB + Nginx load balancer + Apache web server
  • JavaScript + Node.js + MongoDB + RabbitMQ
  • Ruby + Ruby on Rails + MySQL + Sphinx + Memcache + Unicorn HTTP server

Често пъти при PaaS платформите се предлагат cloud-ориентирани услуги, оптимизирани за работа в cloud среда. Например вместо традиционните релационни бази данни, много PaaS доставчици предлагат нерелационни (NoSQL) бази данни, които работят бързо, скалират много добре при огромни обеми данни и огромни натоварвания, но се използват по-трудно от традиционния релационен модел с SQL и им липсва гъвкавост (например нямат операция “съединение на таблици”). Други типични услуги в PaaS cloud среда са съхранението на обемни данни (blob / file storage), доставката на съдържание (content delivery network), услуги за разпращане на email, услуги за доставка на съобщения (message queue), услуги за кеширане на данни (caching) и услуги за разпределяне на натоварването (load balancing).

Типични PaaS платформи са например Google App Engine (GAE), Windows Azure, Amazon AWS, VMware Cloudfoundry, CloudBees, OpenLogic CloudSwing и Force.com.

От гледна точка на софтуерния инженер разработката за PaaS cloud среда изисква значителни усилия: развиване на нов начин на мислене и нови умения, изучаване на нови парадигми и нови APIs, качествено нова архитектура на приложенията и натрупване на много специфичен опит за конкретната платформа. Преминаването към нова PaaS платформа обикновено не е лесно, все едно да преминеш от PHP и MySQL към Java EE + Oracle или към .NET + SQL Server.

PaaS платформите са предназначени за програмисти и ще имат сериозна роля в бъдещето на софтуерния разработчик. Те носят значителни промени в софтуерната индустрия и ще се наложи на много софтуерни инженери да ги изучават и да пишат приложения за тях.

SaaS (Software as a Service)

SaaS (Software as a Service, софтуер като услуга) е концепцията, при която вместо да си инсталираш и стопанисваш локално дадена софтуерна система, го ползваш като услуга (hosted service). Прилага се при огромен набор и най-разнообразни приложения: системи са управление на уеб сайтове (CMS), CRM системи, ERP системи, HR системи, счетоводни системи, системи за управление на проекти и много други.

Типични SaaS доставчици са например:

  • WordPress.com – предоставя услуга за хостинг и управление на уеб сайтове и блогове чрез CMS системата за управление на съдържание WordPress
  • Basecamp – предоставя цялостна уеб базирана система за управление на проекти и задачи и онлайн колаборация между участниците в даден проект
  • Salesforce.com – предоставя като услуга солидна CRM система (информационна система за управление на взаимоотношенията с клиенти, която обхваща процесите на маркетинг, продажби, обслужване на клиенти, техническа поддръжка и други)
  • Adobe Creative Cloud – предоставя като услуга богат набор от инструменти за дизайн и издателска дейност (Adobe Photoshop, Illustrator, InDesign, Dreamweaver и други) достъпни от уеб и като cloud-базирани приложения за таблети и телефони

В голяма степен и добре познатите ни услуги GMail, Google Docs и Flickr притежават характеристиките на Saas модела, тъй като предоставят някакво софтуерно решение, достъпно през уеб като публична услуга, стопанисвано на техни сървъри (hosted service) срещу някаква такса или безплатно.

От гледна точка на софтуерния инженер SaaS cloud моделът няма съществено значение. Той е предназначен на-вече за крайните потребители, които не е необходимо да са софтуерни инженери.

Кои са големите публични cloud платформи на пазара?

Настоящият списък включва по-значими публични cloud платформи. Той е актуален към февруари 2012 г. и не претендира нито за изчерпателност, нито за авторитетност, нито за точност на информацията. Използвайте описанията по-долу на свой риск.

  • Amazon Web Services (AWS) – най-старата масова публична cloud платформа (и една от най-напредналите). Предлага предимно IaaS и PaaS услуги като Amazon EC2 (computing cloud), Amazon SimpleDB (non-relational database), Amazon RDB (ralational database cloud /MySQL and Oracle/), Amazon S3 Storage, Amazon EBS (block store), Amazon SQS (message queue), Amazon CloudFront (content delivery), Amazon ElastiCache (caching), Amazon Route 53 (cloud DNS), Amazon SES (email). Amazon AWS предлага безплатна лимитирана пробна (trial) версия за 1 година, но изисква кредитна карта при регистрация.
  • Google App Engine (GAE) – една от най-големите публични cloud платформи. Това е инфраструктурата, която стои зад GMail, Google търсачката, Google Docs и останалите Google услуги, предоставена публично. GAE предоставя среда, платформа, услуги и библиотеки за разработка и изпълнение на Java и Python приложения. По-важни PaaS услуги в GAE са: GAE backends, datastores (high-replication datastore /HRD/, master-slave datastore, BlobStore, Cloud Storage), MapReduce API, Channel API, Task Queues. GAE има напълно безплатна версия (без кредитна карта), която предоставя голямо количество изчислителни ресурси, достатъчни за лична употреба или малък бизнес.
  • Microsoft Windows Azure – голяма и бързо развиваща се глобална публична cloud платформа, поддържана и развивана от Майкрософт. Предлага IaaS (Windows виртуални машини) и PaaS cloud технологии. Може да се инсталира Java, PHP, Python, Ruby и други езици, платформи и технологии. По-важни PaaS услуги: Windows Azure Compute (Web role, Worker role, VM role), Azure storage (Azure Tables, Azure Queues, Azure Blobs), SQL Azure, Azure CDN, Azure Cache. Windows Azure струва по-скъпо в сравнение с GAE и AWS, има 90 дни ограничена пробна (trial) версия и няма безплатен вариант. Изисква кредитна карта при регистрация и има проблеми ако си от България.
  • Rackspace – един от големите глобални доставчици на публична IaaS cloud инфраструктура. Предлагат виртуални машини в техния cloud (Linux или Windows) + някои cloud услуги като file storage, web site хостинг и load balancers. Няма безплатна версия (има 30-дни пробна версия, изисква кредитна карта).
  • PHP Fog – добре развита, стабилна платформа за хостинг на PHP приложения, която комбинира PaaS и SaaS моделите. Поддържа стандартен PHP + MySQL стек + много PHP frameworks (CakePHP, Zend Framework, Yii Framework, Code Igniter и други) + популярни cloud add-ons (MongoHQ database, Mailgun mail server, Blitz performance testing, IronWorker task queue, IronMQ message queue, MongoLab MongoDB, NewRelic performance monitoring). Позволява one-click install на популярни PHP приложения с отворен код (WordPress, Joomla, Drupal, MediaWiki, SugarCRM и други). Напълно безплатно PHP Fog предлагат хостинг на 3 PHP приложения, 20 MB база данни и 100 MB Интернет трафик (не се изисква кредитна карта).
  • Heroku – една от най-развитите cloud PaaS платформи. Предлагат поддръжка на много широк стек от технологии (почти всичко без Windows и .NET): Java + Spring + Hibernate + PostgreSQL / MySQL / MongoDB + Tomcat + Jetty; Ruby + Rails + MongoDB / MySQL; Python + Django + memcache / Redis; JavaScript + Node.js. Поддържат огромен брой add-on cloud услуги: Airbrake, Amazon RDS, Apigee for Facebook, Apigee for Twitter, Appoxy SimpleWorker, Blitz, Chargify, ClearDB MySQL, Cloudant (CouchDB + MapReduce), CloudMailin, Cron, Custom Domains, DbInsights, Deploy Hooks, DocRaptor, DynectSMB, Exceptional, Flying Sphinx, Heroku PG Backups, Heroku PostgreSQL, Heroku Scheduler, Heroku Shared PostgreSQL, Hoptoad, IndexTank, IronMQ, IronWorker, JustOneDB, Loggly, Mailgun, Memcache, MongoHQ, MongoLab, Moonshado SMS, Neo4j, New Relic, Panda Stream, Progstr Logger, PubNub, Pusher, RabbitMQ, Ranger, Redis To Go, RESTful Metrics, RhoConnect, Searchify IndexTank, Sendgrid, SimpleGeo, SSL, Stackmob, StatsMix, StatsMix Heroku, Integration Tutorial, StillAlive, Tddium, Treasure Data Hadoop, Tronprint, Websolr, Xeround, Zencoder, Zerigo DNS. Напълно безплатно Heroku предлагат 750 изчислителни часа, 100 MB дисково пространство и 5 MB база данни (не се изисква кредитна карта).
  • Engineyard – PaaS cloud платформа за Java, Ruby и PHP приложения. Поддържа Java, PHP, Ruby, Node.js, Nginx, Unicorn, MySQL, PostgreSQL, MongoDB, memcache, redis. Предлагат се безплатна версия, която е силно лимитирана.
  • Force.com AppForce – PaaS proprietary платформа за построяване на информационни системи и бизнес приложения. Предназначена е за бизнес потребители (не за програмисти). Приложенията се правят без да се пише код, с визуален редактор. Използват се собствени (proprietary) технологии и езици за програмиране. Няма безплатна версия, но има free tiral.
  • AppHarbor – PaaS платформа за .NET разработчици. Поддържа стандартен стек от Microsoft технологии: C# / VB.NET + .NET Framework + ASP.NET Web Forms + MVC + WCF + MS SQL Server / CouchDB / MongoDB / MySQL + IIS web server + Nginx load balancer. Поддържат се доста add-on cloud услуги: Airbrake (error logger), blitz (performance testing), Cloudant (CouchDB + mapReduce), CloudMailin (mail server), Dedicated / Shared MS SQL Server, JustOneDB, Logentries (log management), Mailgun (email service), Memcacher, MongoHQ / MongoLab (hosted MongoDB), Shared MySQL, Redis To Go, SendGrid (email delivery), StillAlive (uptime monitoring). Предлага се напълно безплатна версия, която предоставя достатъчно ресурси за хостинг на .NET сайтове и проекти (лични и за малкия бизнес).
  • OpenShift – публична PaaS услуга от Red Hat за хостинг на PHP, Python, Perl и Ruby приложения върху платформа LAMP и Java приложения върху платформа Java EE и JBoss application server. По-конкретно има вградена поддръжка за Ruby (Rails, Sinatra), Python (Pylons, Turbogears, Django), Perl (PerlDancer), PHP (Zend Framework, CakePHP, Symfony, CodeIgniter), Java (Java EE6, CDI/Weld, Spring Framework, JBoss Seam) и няколко релационни и NoSQL бази данни (MySQL, PostgreSQL, SQLite, MongoDB). OpenShift предоставя SSH достъп до сървъра за администрация и деплоймънт. Поддържат се споделени или dedicated cloud сървъри. Споделената версия на услугата е напълно безплатна.
  • CloudBees – PaaS за Java-ориентирани приложения. Поддържа стандартен Java стек от технологии (Java + Spring + Java EE 6 Web Profile + JSP + JSF + Servlet + EJB + JPA + JAX-RS + JAX-WS + Derby / MySQL / CouchDB / PostgreSQL + Liferay), както и PHP и Ruby on Rails. Поддържа широк набор add-on cloud услуги. CloudBees предлагат лимитирана безплатна версия.
  • OpenLogic CloudSwing – гъвкаво PaaS решение, което поддържа много широк стек от технологии  с отворен код (като Linux, Apache, MySQL, Perl, PHP, Python, LAMP, Java, Tomcat, Ruby, Rails, JavaScript, Node.js, Unicorn, NGinX), който може да се настройва (customize) и да преминава в собствен стек от технологии. След като веднъж си настроите вашия cloud стек, той може да се деплойва в Amazon, Rackspace и Azure. CloudSwing предлагат силно лимитирана безплатна версия.
  • VMware Cloud Foundry – PaaS платформа за Java, Ruby и Node.js. Поддържа стандартен Java cloud стек (Java + Spring + MySQL / PostgreSQL / MongoDB + Redis + RabbitMQ + Tomcat) и стандартен Ruby on Rails стек (Ruby + Rails + MySQL / PostgreSQL / MongoDB + Redis + RabbitMQ). Ценовата политика е неясна към февруари 2012 г.
  • Oracle Public Cloud – PaaS платформа за Java EE + Oracle DB. Поддържа сериозен стек от Java EE технологии (Java + WebLogic application server + Java EE + JSP + JSF + Servlet + EJB + JPA + JAX-RS + JAX-WS + Spring + Hibernate + EclipseLink + ADF + ADF Faces + Oracle database + Oracle CRM + Oracle HRM + Oracle Social Network). Ценовата политика е неясна към февруари 2012 г.

Безплатен курс “Разработка на софтуер в cloud среда”

Дали ще започнете още от тази година да програмирате за cloud среда или ще изчакате това да стане неизбежно си е ваш личен избор. Ние ви предлагаме безплатен курс по разработка на софтуер за публичните PaaS cloud платформи с конкретни примери върху Google App Engine, Amazon AWS, Windows Azure, Heroku и AppHarbor.

Целта на курса “Разработка на софтуер в cloud среда” (Software Development in the Cloud) е да развие у курсистите практически умения за разработка на софтуер в облачна (cloud) среда върху най-разпространените публични PaaS платформи. Курсът не е конкретно нито за GAE, нито за AWS, нито за Azure, а има за цел да запознае аудиторията с концепцията за облак, с новите изчислителни парадигми, които навлизат в живота на разработчика, с новите cloud архитектури, с нерелационните бази данни, с новите APIs и идеята, че когато правим софтуер вече не можем да игнорираме cloud технологиите и трябва да правим системите си cloud-friendly.

Cloud development курсът започва с концептуален преглед на облачните инфраструктури, платформи, услуги и технологии за изграждане на големи дистрибутирани системи, идеята за виртуализация на всички нива, парадигмата “архитектура ориентирана към услуги” (SOA) и нейната имплементация в големите публични cloud платформи. Изучават се най-често предлаганите услуги в платформите за разработка в PaaS cloud среда: нерелационни (облачни) бази данни, релационни бази данни в cloud среда, услуги за съхранение на големи обекти и файлове (blob / file storage), опашки (queues) и други, както и програмните интерфейси (APIs) за достъп до тях (SOAP и REST). Разглеждат се типичните архитектури за cloud-базирани софтуерни системи и технологиите, които се използват за front-end, бизнес логика и back-end.

Специално внимание се отделя на практическата разработка на приложения върху водещи публични cloud платформи: Amazon AWS (услугите Amazon EC2, Amazon SimpleDB, Amazon RDB, Amazon S3 и Amazon SQS), Google App Engine (App Engine Datastore, App Engine Blobstore и Google Cloud Storage), Windows Azure (Azure Tables, SQL Azure, Azure Blobs и Azure Queues), Heroku и AppHarbor.

Практически курсов проект по cloud разработка

Курсът приключва с разработката на практически проект, който изисква изграждане на цялостна cloud-базирана система с HTML5 базиран front-end, бизнес слой с REST + JSON интерфейс за достъп от JavaScript с AJAX, изграден върху публични cloud услуги и back-end изграден върху нерелационни cloud бази данни и услуги за съхранение на обемни данни. Проектът трябва да се качи в публичен cloud доставчик (например GAE, Heroku или AppHarbor).

Най-добре представилите се курсисти, предали всичките си домашни и защитили с отличие практическия си курсов проект, ще получат сертификат за постижения.

Софтуерна разработка в облачна среда – учебна програма

  1. Представяне на cloud курса – цели, учебна програма, лектори, изпити, сертификати
  2. Въведение в cloud технологиите – SOA, cloud computing, IaaS, PaaS, SaaS
  3. Публични cloud платформи Google App Engine (GAE), Windows Azure, Amazon Web Services (AWS), Heroku, Cloudfoundry, Force.com AppForce, Rackspace, AppHarbor, CloudBees, CloudSwing, …
  4. Google App Engine (GAE) – архитектура, цени, услуги, GAE backends, datastores (high-replication datastore /HRD/, master-slave datastore, BlobStore, Cloud Storage), MapReduce API, Channel API, Task Queues, демонстрация на живо
  5. Amazon Web Services (AWS) – архитектура, цени, услуги, Amazon EC2, Amazon SimpleDB, Amazon RDB (MySQL / Oracle), Amazon S3, Amazon EBS, Amazon SQS, Amazon CloudFront, Amazon ElastiCache, Amazon Route 53, Amazon SE, демонстрация на живо
  6. Windows Azure – архитектура, цени, услуги, Windows Azure Compute (Web role, Worker role, VM role), Azure storage (Azure Tables, Azure Queues, Azure Blobs), SQL Azure, Azure CDN, Azure Cache, демонстрация на живо
  7. AppHarborархитектура, цени, услуги, AppHarbor instances and workers, Cloudant (Apache CouchDB), MongoHQ (MongoDB), Shared SQL Server, MySQL Shared, Memcacher, Mailgun, демонстрация на живо
  8. Нерелационни cloud бази данни (NoSQL databases)нерелационни бази данни за cloud среда: Amazon SimpleDB, App Engine Datastore, Azure Tables, CouchDB, MongoDB и Redis
  9. Релационни бази данни в cloud среда Amazon RDB (for MySQL and Oracle) и SQL Azure
  10. Cloud услуги за обемни данни и файлове – Amazon S3, App Engine Blobstore, Google Cloud Storage, Azure Blobs
  11. Други cloud услуги – oпашки (Amazon SQS, Google Task Queues, Azure Queues), нотификационни услуги (Amazon SNS, Windows Push Notifications), Email услуги, CDN (content delivery networks), …
  12. Бизнес логика в cloud среда – разработка на REST услуги и деплоймънт в публичен cloud
  13. Изграждане на цялостно cloud приложение – демонстрация на живо (front-end, REST services, back-end, deployment)
  14. Тест върху целия учебен материал – програмиране в cloud среда
  15. Работа върху практическия проект – консултации
  16. Защита на практически проект

“Software Development for the Cloud” course – изисквания

Курсът не е за абсолютно начинаещи. Ако никога не сте програмирали на C#, Java, PHP или друг език, или не сте виждали през живота си SQL, вероятно курсът ще ви се стори много труден. Ако имате някакъв опит с програмирането и разработката на софтуер, ще може да разширите познанията си в посока cloud технологии и програмиране в cloud среда.

Cloud Software Development курс – кога и къде?

Курсът по разработка на cloud приложения ще се провежда както следва:

  • всяка сряда от 19:00 до 22:00 часа, започвайки от 14.03.2012 г.
  • в голямата учебна зала на софтуерната академия на Телерик (бул. Александър Малинов 31, етаж 2)
  • с продължителност 4 месеца

Онлайн и присъствен участие в cloud курса

По традиция всички безплатни курсове и уроци в софтуерната академия могат да се карат онлайн и присъствено. Присъственото участие изисква да посещавате учебните занятия, да си предавате в срок домашните след всяка изучаване тема и да разработите и защитите практически курсов проект.

Онлайн участието изисква да гледате видео уроците, записани по време на учебните занятия (които ще са достъпни свободно от сайта на курса) и ако се борите за сертификат, да предавате редовно домашни, да разработите курсов проект и да го защитите. Ако не се борите за сертификат, нямате абсолютно никакви задължения, можете просто да гледате видеоуроците когато имате време и желание.

Уроци по разработка на cloud приложения – записване

За да участвате в cloud development курса, е необходимо да се регистрирате на сайта на cloud курса.

Курсът е безплатен и не ви ангажира с абсолютно нищо. Ако решите в даден момент, че нямате време или, че не можете повече да посещавате това безплатно обучение, можете да прекратите участието си.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

February 14, 2012

Нов безплатен курс по уеб дизайн с HTML 5, CSS и JavaScript – от март в академията на Телерик

безплатен курс по уеб дизайн, HTML и CSS

От март 2012 г. започва нов безплатен курс за изграждане на уеб сайтове с Photoshop, HTML 5, CSS 3, JavaScript и CMS системи. Курсът е подходящ както за абсолютно начинаещи, така и за хора с опит с уеб технологиите.

В безплатния HTML курс по разработка на уеб сайтове ще се запознаете със съвременните уеб технологии и ще натрупате практически умения за правене на уеб сайтове: от рисуването на сайта с Photoshop или друг графичен редактор, през нарязването на сайта до HTML 5, CSS 3 и JavaScript и интегрирането му в система за управление на уеб съдържание (CMS система).

Курсът по уеб дизайн и изработка на уеб сайтове е напълно безплатен, без договори и ангажименти. Всеки може да участва присъствено или дистанционно (онлайн). Всички учебни занятия ще се записват на видео и ще са достъпни от сайта на курса безплатно.

Какво ще научим от HTML курса?

От безплатния курс по уеб дизайн с HTML и изработка на уеб сайтове ще научите:

  • Как да работите с Photoshop и да рисувате уеб сайтове
  • Как да пишете HTML и CSS
  • Как работят уеб технологиите: WWW, HTTP, HTML, JavaScript, уеб сървъри и браузъри
  • Как да режете уеб сайтове (slice and dice): oт Photoshop към HTML + CSS + JavaScript
  • Как да работите с популярни CMS системи: WordPress, Joomla, Drupal, Sitefinity
  • Как да вкарвате нарязан уеб дизайн в CMS система
  • Как да раздвижвате уеб сайтовете с JavaScript, jQuery и AJAX
  • Как да качвате уеб сайт в Интернет (домейни, хостинги, настройки)

Кога и къде се провежда HTML 5 курса?

учебна зала - Телерик академияБезплатните уроци по уеб дизайн с HTML 5 се провеждат в софтуерната академия на Телерик (София, ж.к. Младост-1, бул. Александър Малинов 31, етаж 2, сватбен мол). Залата е модерна, с капацитет 250 места (вж. снимки на учебната зала).

Учебната зала се намира се на 5 минути от метростанция “Младост” и до нея има удобен градски транспорт.

Учебните занятия от курса по уеб дизайн се провеждат два пъти седмично:

  • вторник от 19:00 до 22:00 часа
  • четвъртък от 19:00 до 22:00 часа

Начало на HTML курса (първа сбирка):

  • 13 март 2012 г. от 19:00 часа

Учебна програма на безплатния HTML курс

  1. Преглед на курса по уеб дизайн и HTML

    Откриване на курса “Уеб дизайн с HTML 5, CSS 3 и JavaScript”. Представяне на лекторския екип, учебния материал, изпитване, домашни, проекти, сертифициране

  2. Основи на уеб програмирането

    HTTP протокол, WWW, request-response модел, GET, POST, HTTP статус кодове, cookies, Firebug и други инструменти за уеб разработка

  3. Основи на езика HTML (част I)

    HTML, синтаксис, тагове и атрибути, текст, изображения, хиперлинк, форматиращи тагове, параграфи, списъци

  4. Основи на езика HTML (част II)

    HTML таблици, форми и контроли (текст, падащ списък, текстова област, контроли за избор, бутони и други), рамки (frames, iframe), GET и POST

  5. Основи на HTML 5

    HTML 5, структурни тагове, семантичен HTML, форми, валидация на полета, нови атрибути, HTML 5 canvas

  6. Стилизиране със CSS (част I)

    Създаване и използване на CSS стилове, селектори, стилови дефиниции, шрифтове, фонове, рамки, box-model, подравняване (alignment)

  7. Стилизиране със CSS (част II)

    Позициониране (абсолютно и плаващо), margins, paddings, z-index, видимост, скролиране, плаване (floating), дизайн в няколко колони

  8. CSS 3

    Нови селектори в CSS 3, шрифтове, сенки, заоблени ъгли

  9. Photoshop

    Photoshop, обработка на изображения, групи, слоеве, селекции, трансформации, цветове, ефекти, създаване и експорт на изображения

  10. Изграждане на уеб сайтове с HTML и CSS

    Рязане на уеб сайт: преобразуване от PSD изображение към HTML 5 и CSS 3, multi-column layout, floating DIVs, уеб сайтове с фреймове, уеб сайтове с таблици, уеб сайтове с DIV-ве

  11. Основи на JavaScript

    Работа с JavaScript, прихващане на събития (onцlick, onмouseоver и т.н.), DHTML, JavaScript синтаксис, типове данни, оператори, условни конструкции, цикли, масиви, диалози, достъп до DOM дървото с JavaScript, дебъгване на JavaScript код

  12. HTML 5 и новите му JavaScript APIs

    HTML 5 JavaScript APIs, нови селектори, създаване на canvas изображение с JavaScript, асинхронна работа с нишки в JavaScript, drag и drop, съхранение на дани с HTML5, разширения на HTML DOM дървото

  13. CMS системи и WordPress

    Преглед на системите за управление на съдържание (CMS), работа с WordPress (инсталиране, настройване, административен интерфейс, страници, постове, категории, тагове, коментари, настройки, теми, добавки), създаване на WordPress теми

  14. Инсталация на CMS системи (WordPress)

    Свързаване на хостинг с домейн, инсталация на WordPress на хостинг, качване на WordPress тема

  15. CMS система Joomla

    Инсталация и конфигурация на Joomla, модули, страници, новини, шаблони, създаване на прост сайт, вкарване на нарязан уеб дизайн в Joomla

  16. CMS система Drupal

    Инсталация и конфигурация на Drupal, модули, страници, новини, шаблони, създаване на прост сайт, вкарване на нарязан уеб дизайн в Drupal

  17. CMS система Sitefinity

    Инсталация и конфигурация на Sitefinity, модули, страници, новини, шаблони, създаване на прост сайт, вкарване на нарязан уеб дизайн в Sitefinity

  18. Практически проект: рязане на сайт и вкарване в CMS система

    Рязане на уеб дизайн: от Photoshop дизайн към HTML + CSS + images + JavaScript. Интегриране на уеб дизайн в CMS система.

  19. Техники за напреднали

    Кеширане при клиента, решаване на проблеми с различните браузъри, client-side performance tuning, оптимизация за търсещите машини (SEO), достъпност, Sprites

  20. JavaScript обектно-ориентирано програмиране

    Prototype модел, наследяване, свойства (properties), методи, публични и скрити членове

  21. JavaScript библиотеки

    JavaScript библиотеки (JS frameworks): Prototype, jQuery, MooTools, Dojo, YUI, KendoUI

  22. Основи на jQuery

    Въведение в jQuery, jQuery селектори и манипулация на DOM дървото, jQuery събития и прихващане, AJAX заявки, jQuery темплейти, jQuery UI, ефекти и взаимодействия

  23. Достъп до външни данни

    Достъп до външни данни и услуги чрез jQuery и AJAX, работа със REST и JSON, работа с библиотеки, предоставени от Twitter, Facebook, Google и т.н.

  24. JavaScript библиотеки за изграждане на потребителски интерфейс

    KendoUI, YUI, KendoMobile, jQuery Mobile

  25. Responsive design

    Media queries, динамични изображения, еластичен грид

  26. Демонстрация за създаване на JavaScript фронт-енд приложения

    Създаване на клиентски JavaScript приложения с HTML 5, CSS, JavaScript, jQuery и AJAX

  27. Практически проект: JavaScript клиентско приложение

    Създаване на уеб приложения с DHTML, CSS 3, HTML 5, SVG, JavaScript, jQuery и AJAX, Пример: уеб чат приложение с потребители, чат стаи и т.н.

Домашни в HTML курса

Участниците в курса ще имат упражнения по всяка от изучаваните теми от учебния план, които да разработят в клас или като домашни. Домашните са част от оценяването в курса и са необходима предпоставка за успешно завършване и сертификация.

Практически проекти по правене на уеб сайтове и програмиране на JavaScript

За завършване на курса по уеб дизайн и клиентско програмиране е необходимо всеки курсист да разработи и защити два курсови проекта:

  • Първи проект: рязане на уеб сайт (от Photoshop към HTML 5 и CSS 3) и вкарване на сайта в CMS система(WordPress, Joomla, Drupal или Sitefinity)
  • Втори проект: клиентско JavaScript приложение с AJAX и REST услуги

Курсовите проекти се разработват вкъщи и се защитават присъствено пред комисия, съставена от преподаватеслкия състав.

Присъствено и онлайн участие в HTML курса

За удобство на курсистите са предвидени две форми на участие в HTML курса:

  • дистанционно обучениеПрисъствено – участниците, записали се за присъствено обучение, идват на учебните занятия в голямата учебна зала на софтуерната академия на Телерик и участват на живо обученията по уеб дизайн и програмиране на уеб сайтове.
  • Онлайн (дистанционно обучение) – участниците в HTML курса, записали се за дистанционно обучение, гледат видеозаписи от учебните занятие (видео-уроци) и работят вкъщи (отдалечено), без да идат физически на учебните занятия.

Всички участници в курса по уеб дизайн, изработка на уеб сайтове и JavaScript програмиране предават своите домашни по Интернет след всеки урок и накрая защитават присъствено своите практически проекти.

Сертификати и награди за шампионите

сертификатУчастниците в курса по уеб дизайн и сайтаджийство, които са предали всичките си домашни и са разработили и защитили отлични курсови проекти, получават сертификати и предложения за работа от софтуерни фирми (ако са изявили желание).

Как да се запиша за курса по уеб дизайн?

За безплатно участие в курса по уеб дизайн и правенене на уеб сайтове (сайтаджийство) може да се запишете като се регистрирате на сайта на HTML курса и посочите формата на обучение (присъствено или дистанционно). Срок за записване: до 13 март 2012.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

February 9, 2012

Безплатни уроци по изграждане на настолни приложения със C# и WPF – училищна академия

C# и WPF безплатни уроциУчилищната софтуерна академия кани ученици, учители и студенти с интерес към програмирането и практическата разработка на софтуер на безплатно тридневно обучение по разработка на настолни приложения с езика C# и технологията за изграждане на графичен потребителски интерфейс WPF (Windows Presentation Foundation) и подготовка за ИТ теста от Националната ИТ олимпиада (НОИТ) на 22-24 февруари 2012 г. в София.

По традиция безплатните уроци се провеждат в София по три дни всеки месец, целодневно и включват теоретично представяне на изучаваните технологии и практическа работа в компютърните зали на софтуерната академия. Този път темата е разработката на desktop (настолни) приложения с езика за програмиране C#, технологията WPF за изграждане на графичен потребителски интерфейс (GUI) базиран на XAML презентация и използване на бази данни.

Кога и къде ще се проведат C# и WPF уроците?

Безплатните уроци по програмиране на C#, XAML, WPF и разработка на настолни приложения с графичен потребителски интерфейс за Windows с бази данни ще се проведат в София в голямата учебна зала на софтуерната академия (бул. Александър Малинов 31, сватбен мол, етаж 2) в периода 22-24 февруари 2012 г. Обученията са безплатни, но всички евентуални разходи по пътуване и настаняване са за сметка на участниците. За участниците, които не са от София, са осигурени нощувки на преференциални цени в Парк-хотел Москва.

Кой може да участва?

По идея уроците в училищната софтуерна академия са предназначени за ученици и учители от средните училища, но тъй като учебната зала на софтуерната академия е огромна (има 250 седящи места), може да участват всички, които имат желание и интерес към практическото C# програмиране и разработка на desktop приложения.

C# и WPF – учебна програма

Учебната програма на C# и WPF уроците е продължение на уроците по основи на програмирането със C# и бази данни:

  1. Подготовка за теста на НОИТ
  2. Преглед на XAML и WPF технологиите за изграждане на rich GUI приложения в Windows 7 / 8
  3. Контейнери на елементи в WPF – прозорци, панели, табове, изграждане на layout
  4. Основни контроли в WPF – текст, бутони, линкове, менюта, toolbars, sliders, user controls
  5. Разработка на десктоп приложения с WPF – текст, 2D графика, 3D графика
  6. Стилове и шаблони във WPF
  7. Концепции от WPF: dependency properties, attached properties, logical tree
  8. Data Binding в WPF – връзване на контролите с източници на данни, Data Contexts, валидация, конвертори, релативни и статични източници
  9. Работа с WPF и бази данни – показване и редактиране на данни от SQL Server чрез Entity Framework и data binding, paging, master-details навигация

Регистрация за уроците по C#, WPF и бази данни

За участие в безплатните C#, XAML и WPF уроци трябва да се регистрирате на сайта на ученическата академия по разработка на софтуер: http://academy.telerik.com/school-academy/registration.

Tags: , , , , , , , , , , , , ,

February 7, 2012

Безплатна школа по програмиране за деца (3-6 клас) в София – от март 2012

Школа по програмиране за деца - Telerik KidsДетската академия на Телерик стартира безплатен кръжок по програмиране за деца във възраст от 3-ти до 6-ти клас в София в началото на март 2012 г.

Безплатните обучения имат за цел да запалят интереса на подрастващите към компютрите и програмирането и да развиват тяхното алгоритмично мислене и уменията им да разсъждават логично и да решават задачи по програмиране. Уроците са подходящи за деца с интереси към математика и точни науки, компютри и технологии и им дават добър старт, съобразен с възрастта им, който им позволява след време да напреднат и да овладеят професията “софтуерен инженер”, както и да се занимават активно с компютърни науки.

Школата по програмиране за деца дава възможност на малчуганите да направят безплатно първите си стъпки в програмирането с езика C++ в компютърните зали на софтуерната Академия на Телерик в София под надзора на квалифицирани инструктори с богат опит в обучението на деца.

Светлин Наков преподава в софтуерната академияКога и къде се провеждат уроците по програмиране за деца?

Безплатният кръжок по програмиране за деца стартира на 04.03.2012 г. и ще се провежда всяка неделя от 09:00 часа в учебната зала на Академията в София (на адрес ж.к. Младост-1, бул. „Александър Малинов“ 31, в Сватбения комплекс „Булевард“, на втория етаж). Безплатният курс е с продължителност един учебен срок с възможност за продължение през следващата учебна година с изучаване на по-задълбочени теми.

Учебната зала на софтуерната академия е с капацитет 250 души и е оборудвана с компютри, аудио-визуална и мултимедийна техника по най-съвременните стандарти за компютърни обучения. Ще запишем за участие всички кандидати (дори да са 500 или 5 000), но след първите месеци ще продължаваме само с тези от тях, които са наистина амбицирани, старателни и проявяват траен интерес към програмирането.

Групи за начинаещи и напреднали

Безплатните уроци по програмиране ще се провеждат на групи от по 20-30 ученика, от които най-силните ще преминават в групата за напреднали, а останалите, ако имат траен интерес, също ще продължават обучението си безплатно в групи, съобразени с нивото им. Целта е по-силните ученици да се развиват и да се подготвят за шампиони по българските и международните олимпиади, за което е необходима дългогодишна много сериозна работа. В академията ще започва нова група на всеки 3 месеца и след първите няколко занятия ще се отсяват участниците, които се справят най-добре, за да им се обърне по-голямо внимание.

Състезания по програмиране за деца

състезания по програмиранеВсички участници в школите по програмиране за деца ще мерят сили веднъж месечно в национално онлайн състезание. Към момента всеки месец в онлайн състезанията на Telerik Kids Academy участват над 300 деца от цялата страна. Възможността да се състезават на национално ниво всеки месец дава допълнителна мотивация на малчуганите да напредват в програмирането.

Състезанията се провеждат в системата за онлайн оценяване BG Coder и се оценяват автоматично и безпристрастно от компютър.

Задачите се подготвят от Школа А & Б (Шумен), която е известна с подготовката на национални и международни шампиони по информатика.

Преподаватели в школата по програмиране за деца

Школата по програмиране за деца в София ще се ръководи от Явор Никифоров, преподавател с дългогодишен опит в обучението по информатика и програмиране за ученици в малките възрастови групи. Негови възпитаници редовно участват в български и международни състезания по информатика, оглавявайки челните места в класиранията. Инициативата е част от глобалната мрежа от кръжоци по програмиране за деца, която е изградена в 12 града в цяла България по проекта “Telerik Kids Academy”.

Учебна програма на кръжока по програмиране за деца

Малчуганите, които ще навлязат в компютърното програмиране в кръжока за деца в София, ще изучават основите на програмирането и по-конкретно слените теми (на начално ниво):

  • Алгоритми и алгоритмично мислене
  • Типове данни и операции в езика С++
  • Въвеждане и извеждане на данни в C++
  • Условни оператори в езика C++
  • Анализ на текст, съставен от краен брой символи
  • Цикли. Видове цикли в C++
  • Алгоритми с последователно въвеждани елементи
  • Алгоритми, свързани с теория на числата
  • Едномерни масиви
  • Основни задачи за обработка на едномерен масив
  • Обработка на последователно въведени знаци и на текст
  • Функции, дефиниране и извикване на функции, параметри, връщане на резултат, рекурсия
  • Бройни системи. Пресмятания в двоична и шестнайсетична бройна система
  • Бързодействие на програмите. Оптимизации за скорост
  • Динамично оптимизиране (dynamic programming)

Защо избрахме езика за програмиране C++

C++Всички сме наясно, че езикът C++ не е най-подходящият за изучаване от деца, които тепърва навлизат в програмирането, нито е най-масово използваният в съвременната разработка на софтуер. Избрахме C++, тъй като той е стандарт на всички големи национални и международни състезания по програмиране. Наясно сме, че Java, C# и PHP са далеч по-масово използвани в практиката езици, но една от основните цели на школата по програмиране е да подготвя състезатели за олимпиадите и състезанията по програмиране, информатика и информационни технологии, а за тях се изисква най-вече C++.

Изисквания към кандидатите

Школата на Telerik Kids Academy е подходяща за всички будни деца, които проявяват интерес към компютрите, математиката и програмирането. Тъй като обучението стартира от нулата, от учениците не се изискват никакви предварителни знания, освен начални умения за работа с компютър (да могат да пишат на клавиатура). Могат да участват ученици от 3-ти до 6-ти клас и по изключение по-малки деца.

Как така обучавате безплатно, няма ли нещо нередно?

Софтуерната академия на Телерик обучава безплатно на програмиране и разработка на софтуер ученици, студенти, работещи, безработни и дори пенсионери от няколко години насам. Хиляди са преминали нашите безплатни курсове и уроци по програмиране. Инициативата за безплатните обучения е частна и се спонсорира от световноизвестната софтуерна фирма Телерик като част от програмата й за безвъзмездно подпомагане на българското образование и софтуерната индустрия.

Телерик е българска фирма, с български собственици, основана в България, с над 500 служители по целия свят, световен лидер в производството на инструменти за бърза разработка на софтуерни приложения. Собствениците на Телерик са успели предприемачи с родолюбив български дух и са убедени, че е по-разумно да подкрепят развитието на България и на младото поколение софтуерни специалисти вместо да си купуват скъпи коли, яхти, хотели и самолети и по тази причина безвъзмездно даряват за образование на младите хора в родната си страна шестцифрени суми всяка година.

Записване за школите по програмиране

За участие в безплатните уроци по програмиране за деца в Детската академия на Телерик, трябва да попълните онлайн регистрационната форма.

Допълнителна информация можете да получите от сайта на Детската академия на Телерик за ученици (http://telerik-kids.com), както и по e-mail: academy@telerik.com.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , ,

January 9, 2012

3-дневни безплатни уроци по C# и бази данни в софтуерната академия за ученици

уроци по C#, бази данни, Entity Framework, XAML и WPFЕто че дойде време за поредното безплатно обучение по програмиране и разработка на софтуер в училищната Академия на Телерик. Този път ще се занимаем с темата за създаване на настолни приложения за Windows.

В рамките на 6 учебни дни (две срещи на училищната софтуерна академия) ще разгледаме езика C#, неговите програмни конструкции и основи (оператори, изрази, условни конструкции, цикли, методи, стрингове, класове, обекти, ООП, структури от данни, колекции и други), програмиране с бази данни и SQL, дизайн на бази данни и E/R диграми, работа с MS SQL Server и технологии за достъп до бази данни от C#, ORM технологии и ADO.NET Entity Framework (EF) и технологиите за създаване на графичесн потребителски интерфейс (GUI) за Windows – XAML, Windows Presentation Foundation (WPF), WPF data binding и други.

Безплатните уроци по C#, бази данни, Entity Framework, XAML и WPF са разделени в две срещи по 3 дни.

Програмиране на C# с бази данни – 23-25.01.2012 г.

Учебната програма на уроците по C# и бази данни училищната академия включва следните теми, свързани с подготовката на националната ИТ олимпиада (НОИТ) и усвояване на съвременните софтуерни технологии:

  1. Подготовка за теста на НОИТ
    Въпроси върху двайсетте теми от конспекта за Националната ИТ олимпиада (НОИТ).
  2. Преглед на платформата .NET
    Какво е .NET и .NET Framework? Архитектура. Common Language Runtime (CLR). Управляван код. Езикът MSIL. Асемблита и мета-данни. .NET приложения. Common Type System (CTS).
  3. Преглед на езика C# – основи
    Ключови думи. Типове данни. Оператори. Изрази. Вход и изход от конзолата. Условни конструкции. Цикли. Масиви. Методи, параметри, връщан резултат, извикване, рекурсия.
  4. Преглед на езика C# – обекти, текстообработка, колекции
    Създаване и използване на обекти. Работа с изключения. Символни низове и обработка на текст. Шаблонни типове. Колекции (списъци, хеш-таблици, наредени дървета). Атрибути.
  5. Обектно-ориентирано програмиране (ООП) с езика C#
    Дефиниране на класове. Модификатори за достъп. Конструктори. Полета, константи и свойства. Статични членове. Структури. Делегати и събития. Интерфейси. Наследяване. Полиморфизъм.
  6. Бази данни, SQL и MS SQL Server
    Релационни бази данни. Принципи при моделирането на данни. Типове данни в SQL Server. Създаване на бази данни в SQL Server. Дефиниране на първични ключове и идентификатори. Създаване на връзки между таблиците (едно-към-едно, едно-към-много, много-към-много). Езикът SQL.
  7. LINQ (C# Language Integrated Query)
    Основи на LINQ. Последователности (IEnumerable<T>). Оператори и изрази в LINQ. LINQ to Objects. Заявки върху колекции. Проектиране, преобразуване и агрегация. Сортиране, групиране, съединяване на таблици и вложени заявки.
  8. ADO.NET Entity Framework – ORM система за достъп до бази данни от C#
    Основи на ORM технологиите. Преглед на Entity Framework (EF). Извличане на данни с EF. Принтиране на SQL заявките. LINQ компоненти на EF. Дизайнерът на Visual Studio за EF. ObjectContext и CRUD операции. Изпълнение на чисти SQL заявки (параметризирани и непараметризирани заявки). Проблемът “N+1 заявки”. Групиране и съединяване на таблици. Закачане и разкачане на обекти.

Десктоп приложения с XAML и WPF – февруари 2012 г.

Следващите тридневни безплатни уроци по програмиране от училищната софтуерна академия очаквайте през февруари 2012 г. Те ще обхващат изграждането на GUI приложения със съвременните технологии за Windows-базиран потребителски интерфейс: WPF, XAML, data binding и други. Програмирането с XAML и WPF е естествено продължение на началните знания по C# програмиране, които ще бъдат усвоени през януари и дава възможност за изграждане на цялостни настолни GUI приложения за Windows с използване на бази от данни.

Регистрация за участие в C# уроците – безплатно

За да заявите участие в безплатните уроци по C#, ООП, бази данни и Entity Framework, се регистрирайте на сайта на софтуерната академия за ученици: http://academy.telerik.com/school-academy/registration.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

December 21, 2011

Трето безплатно PHP обучение в училищната софтуерна академия – 27-29 декември 2011 г.

Училищна софтуерна академия - логоБезплатните курсове по PHP програмиране и разработка на уеб приложения с PHP и MySQL продължават и през декември. За трети пореден ден в периода 27-29 декември 2011 г. в Училищната академия за софтуерни инженери на Телерик ще се проведат безплатни тридневни курсове по PHP. Курсовете по PHP са последните 3 дни от 9-дневния безплатен курс по PHP, който подготвя ученици и студенти за състезанията по информационни технологии и за Националната ИТ олимпиада (НОИТ).

Учебна програма на PHP курса

PHP + MySQL + ApacheУчебната програма е продължение на предходните две срещи от безплатните PHP обучения. В нея се обръща внимание на по-сложни теми от PHP програмирането и разработката на уеб приложения, които не са разгледани до момента в първите 6 учебни дни от PHP курса.

Уроците ще включват въведение в уеб технологиите, работа с изключения, контрол на изхода и най-добри практики за разработка на уеб приложения с PHP. Обучението е изключително подходящо за всички фенове на уеб програмирането с PHP, както и за начинаещи любителите.

  • Подготовка за теста на НОИТ (Национална олимпиада по информационни технологии)
  • Въпроси по проектите от категория "Уеб приложения" за НОИТ (сървърна част, данни, логика на приложението, сигурност, бързодействие, качество на кода, клиентска част, дизайн, HTML, JavaScript, CSS, реализация и бързодействие)
  • Уеб технологии – част 2 (WWW, URL, HTML, XML, JSON, RSS, птороколът HTTP, HTTP заявка, HTTP отговор, HTTP cookies, AJAX заявки, инструменти за уеб разработка, Firebug)
  • Контрол на изхода с PHP – управление на HTTP хедърите, контрол на изходните буфери в PHP, управление на кеша в браузъра, пренасочване на браузъра към нов URL
  • Работа с изключения в PHP – хвърляне на изключения, прихващане на изключения, собствени класове за изключения, конструкция try-finally, глобални обработчици на грешки, функция die, оператор @
  • PEAR пакети за разширяване на стандартните възможности на PHP, работа с email, различни бази данни, автентикация, XML,
  • Настройка на PHP, Apache и MySQL
  • Утвърдени практики при разработката на PHP приложения
  • Цялостен PHP проект с PHP REST (извличане на външни данни с REST и JSON) – демонстрация на живо

Кога и къде ще се проведе PHP курса?

3-дневната сбирка ще се проведе в периода 27-29 декември 2011 г. в гр. София, в голямата учебна зала на Академията на Телерик (гр. София, Младост 1-А, бул. Ал. Малинов 31, етаж 2), от 10:00 до 19:00 часа.

Осигурено е настаняване за ученици и преподаватели в Парк хотел Москва на преференциални цени.

Преподавателски състав за PHP курса

Лекторите Николай Костов и Радослав Георгиев ще предоставят задълбочени теоретични и практически съвети за разработката на уеб приложения, както и ще споделят интересни примери от своята практика. Те са опитни PHP разработчици, дългогодишни състезатели в Националната олимпиада по информационни технологии, в категория “уеб приложения”.

Регистрация за безплатния PHP курс

Ако искате да участвате в последната сбирка от обученията в рамките на безплатния PHP курс в периода 27-29 декември 2011 г., трябва да се регистрирате в сайта на училищната софтуерна академия.

Tags: , , , , , , , , , , , , , , , , , ,

November 22, 2011

Безплатни отворени обучения за HTML5 – от Майкрософт и SofiaDev.NET – 29.11.2011

Колегите от Майкрософт България и .NET потребителската група SofiaDev.NET организират безплатни отворени обучения по HTML5, CSS3 и JavaScript в Технически университет – София.

График на обученията по HTML5, CSS и JavaScript

ДатаТема
29.11.2011, 19:00, ТУ-София
(не е уточнена зала)
Теоретични познания
  • Introduction to HTML 5
  • HTML5: What is It?
  • New Semantics
  • New JavaScript APIs
  • CSS3 Overview
15.12.2011 – ТУ-София, 1112, 18:00
12.01.2012 – ТУ-София, 1112, 18:00
9.02.2012 – ТУ-София, 1112, 18:00
(избира се една от трите дати)
Практически упражнения
  • HTML5 Forms
  • New Input Types
  • CSS3 Pseudo Classes
  • From Validation
  • Custom Rules

Регистрация за безплатните HTML5 обучения

За участие в безплатните HTML5 обучения трябва да се регистрирате на сайта на организаторите: http://events.msbgregistration.com.

Още за HTML5 инициативата

Събитието е част от инициативата “Технологии набъдещето” на Майкрософт и SofiaDev. Първите обучения разглеждат HTML5, CSS3 и JavaScript и ще се проведат в 2 формата − семинарен и лабораторен.

Първият семинарен формат включва детайлно представяне на спецификите на стандартите и основните концепции, с които се сблъскваме при изграждането на приложения с тези технологии.

Лектори в HTML5 обученията

Презентациите и упражненията се осъществяват със съдействието на нашите партньори от OneBit Software. Водещ на срещите ще бъде Ради Атанасов – SharePoint експерт, с компетенции Microsoft Certified Master (най-високото ниво сертификация, което покриват едва 20 души в целия свят), Microsoft Most Valuable Professional, лидер и организатор на българската Web Platform потребителска група, лектор на редица големи международни конференции и един от най-големите технологични фенове не само в България, но и в целия свят.

Tags: , , , , , , , , , , , ,

Older Posts »