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 15, 2012

Клуб на практикуващите НЛП в България. Безплатен НЛП семинар на 28.02.2012

НЛП клуб БългарияНевро-лингвистичното програмиране (НЛП) е мощна система за постигане на успех във всички области на живота чрез използване на техники и модели заимствани от най-успешните хора в дадена област. НЛП се занимава с програмиране, но не на компютри или машини, а на човешки мозъци: вашият собствен мозък и мозъкът на другите. НЛП е едновременно “невро”, “лингвистично” и “програмиране”. Невро, защото става дума за мозъка и невроните и по-точно за съзнанието и подзсъзнанието. Лингвистично, защото НЛП работи с комуникацията и общуването между хората и обръща специално внимание на вербалното общуване и езика. Програмиране, защото с НЛП можеш да програмираш себе си за постигане на определена цел или да програмираш другите чрез успешна комуникация и въздействие върху тяхното съзнание, подсъзнание, ценности и убеждения и поведение.

Как работи НЛП?

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

Всички успешни хора използват НЛП (осъзнато или не)

Защо НЛП е важно за нашия успех в живота, в кариерата, в личните отношения и като цяло за личностното ни развитие? На практика всички успешни хора по един или друг начин ползват НЛП техники при общуването с другите или при постигане на целите си: от политици, бизнесмени и мениджъри до обикновени продавачи, сервитьори, шьофьори или ИТ специалисти. Малко хора, обаче осъзнават, че изпозлват НЛП техники, тъй като не познават НЛП. Те са се научили на различни техники от своя опит, по метода “проба и грешка”. В това няма нищо лошо, всеки се учи от своите успехи и неуспехи в миналото.

НЛП е система за моделиране на успешния човешки опит и пренасянето му на готово върху друг човек. По този начин можете да се научите да сте добри в определена област без да е необходимо да работите години наред. НЛП се базира на модели, техники и вярвания, които са извлечени от най-успешните хора в историята. Например “Милтън моделът” е свален от Милтън Ериксон, бащата на съвременната хипноза и се използва в маркетинга, в продажбите, в преговорите, при психотерапия и почти навсякъде при работа с хора. Много хора го ползват, без да го осъзнават. Друг пример е “моделът на бързото съблазняване (пикап)”, който е свален от най-успешните свалячи по света. Техники от пикапа се използва на практика от всички, които имат успех при общуване с другия пол, но малцина от тях знаят и осъзнават, че ползват НЛП.

Добре познати НЛП техники

Всички ползваме техники от НЛП в ежедневието си. Например всеки знае, че ако му е тъжно или скучно, може да си пусне музика или филм и това вероятно ще му помогне да си смени настроението, нали? В НЛП това се нарича техника за промяна на вътрешното състояние, а използваният в случая инструмент се нарича “котва” или “закотвяне”.

Друга масово използвана и много проста НЛП техника е при разговор да повтаряме ключови думи и фрази или последните думи на събеседника в началото на почти всяко наше изречение. Например събеседникът казва “аз обичам тъмна бира, наливна, ама да е прясна”, а ние му отговаряме “разбирам, че обичаш тъмна бира, наливна и прясна, да не е на две седмици, това е много хубаво, и аз обичам бира, искаш ли да ходим на бирария в петък?”. В тази ситуация събеседникът ще е склонен да приеме предложението, защото ние ползване неговите думи и той ги възприема като истина (защото са негови). Тази техника е позната най-общо под названието “рапорт” (подстройка), което означава изграждане на подсъзнателно доверие и синхронизация с другия, а конкретно в тази ситуация с синхронизацията е неговите предпочитания и с изразите, които той ползва в речта си. Рапорт може да се прави по най-различни неща, например по ценности, по убеждения, по вярвания, по идеи, по поведение, по движения, по мимики и жестове, по облекло, по стойка, по поза, по глас, дори по дишане.

Ако се запознаем с НЛП, ще започнем да откриваме НЛП техники, които ние ползваме и всички около нас ползват постоянно, ще знаем как и защо работят и ще бъдем по-успешни при работа с хора. Именно за да запознаем повече хора с НЛП решихме да създадем общност на НЛП фенове и практикуващи в България.

НЛП клуб България – общност на НЛП практикуващи

НЛП клуб България е неформална организация на практикуващите и интересуващите се от невро-лингвистично програмиране (НЛП) в България. Целта на организацията е да популяризира НЛП чрез безплатни НЛП обучения, семинари и други инициативи и да позволи на повече хора да усвоят и практикуват НЛП и да бъдат успешни в живота. Членството в клуба е безплатно, свободно и без ангажименти. НЛП клубът планира да организира по един НЛП семинар всеки месец като кани водещи НЛП специалисти и практици от индустрията, както и хора, които да споделят своя опит с НЛП, трудности с които се срещат и добри практики от совята работа.

НЛП семинар – 28.02.2012 г.

На 28.02.2012 г. в София ще се проведе учредителният семинар на НЛП клуб България. На него ще обясним какво е НЛП, целите и инициативите на НЛП клуба и ще демонстрираме на живо някои НЛП техники. НЛП трябва да се почувства и практикува, не е достатъчно да се прочете за него. Затова на семинара ще бъде направена демонстрация на няколко НЛП техники.

НЛП семинар – кога и къде?

НЛП семинарът ще се проведе на 28 февруари 2012 г. от 19:30 часа в голямата учебна зала на софтуерната академия на Телерик: София, Младост-1, бул. Александър Малинов 31, етаж 2 (сватбен мол). Не е необходима регистрация.

Програма на НЛП семинара

19:30 – 20:00Откриване на НЛП клуб България – цели, организация, план за действиеСветлин Наков
20:00 – 20:30Какво е НЛП и как работи?Ангел Лазаров
20:30 – 21:00Техника за бързо справяне с проблеми – демонстрацияАнгел Лазаров
21:00 – 21:30Как да съставим план за действие, когато имаме цел, но не знаем как да я постигнем – демонстрация.Ангел Лазаров

Членство в НЛП клуба

Ако НЛП и инициативите на НЛП клуб България ви харесват, можете да станете член на НЛП клуба. Членовете получават покани за бъдещи семинари и безплатни НЛП обучения. Членството е неформално, безплатно и не ви обвързва по никакъв начин.

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

February 14, 2012

Класиране от първи кръг на конкурса на PC Magazine и Телерик

Игра 1-2-3Излезе дългоочакваното класиране от първи кръг в конкурса по програмиране на списание PC Magazine / Bulgaria и Телерик. В първи кръг на конкурса по задачата “Игра 1-2-3” участваха 16 отбора и общо 25 състезателя.

Задачата се оказа не много лесна, но състезателите измислиха доста оригинални алгоритми за решаването й. Никой от алгоритмите не стана абсолютен победител на всички размери дъски, но измежду всичките се откроиха няколко, които играят силно на почти повечето игрални дъски.

Визуализацията на битките между състезателите също се оказа предизвикателство и много от участниците разработиха оригинални подходи и интересни концепции за визуализация, включително и 3D графика. Бяха използвани различни технологии: WPF, Windows Forms, Delphi, C++ с OpenGL и други.

Класиране от първи кръг на конкурса на PC Magazine

Общото класиране за първата задача от конкурса е по точки, спечелени в двата компонента на задачата: алгоритмична част и приложна част.

МястоОтбор (членове)Общо точкиАлгоритмична част (точки)Приложна част (точки)
1Антон Богданов, Станислава Богданова16.58.58
2Марио Стоилов, Ивайло Кирилов16.088
3Лазар Сестримски, Георги Билюков, Танер Мехмед15.59.56
3Станислав Гатев, Георги Ангелов15.56.59
5Лъчезар Цонов, Йордан Стоянов15.096
5Кристиан Ташков15.087
7Александър Георгиев14.56.58
8Кольо Данков, Стефан Чонов14.077
9Боян Желязков11.083
9Михаил Минков11.074
11Радослав Тодоров10.58.52
12Марин Драганов7.57.50
13Николай Лазаров, Иван Захариев6.56.50
14Кристиян Николов6.060
15Стоян Буланов, Ирник Дионисиев5.53.52
15Георги Йоловски5.51.54

Предадени решения в конкурса по програмиране

Всички предадени решения от участниците в конкурса са публикувани за свободно изтегляне във вида, в който са предадени и съдържат пълен сорс код съгласно регламента на конкурса. Това позволява на състезателите да сравнят своето решение, идеи, алгоритми и технологии с разработките на техните конкуренти: решения, предадени от участниците в конкурса по програмиране на PC Magazine и Телерик. Организаторите на конкурса не носят отговорност за съдържанието на предадените решения.

Награди за шампионите

Първенците в първи кръг от конкурса печелят скромни награди от Академията на Телерик и дънна платка от MOST Computers могат да си ги получат в удобно за тях време от офиса на Телерик (за контакти academy@telerik.com). Напомняме, че големите награди в конкурса (лаптопи, таблети, телефони и други) ще бъдат раздадени на финала, когато най-добре представилите се състезатели от всички кръгове ще премерят сили на живо в София.

Tags: , , , , , , , ,

Нов безплатен курс по уеб дизайн с 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 13, 2012

137 преминаха в третата част на C# курса в софтуерната академия

C# изпит в софтуерната академия на ТелерикНа 6, 7 и 8 февруари се проведоха поредните междинни изпити по програмиране за отсяване на най-силните участници в програмата за безплатно обучение и работа в Телерик, наречена “софтуерна академия”. Програмата предвижда безплатно обучение и работа за около 60 участника в нея, които преминават през много сериозно 10-месечно обучение.

През ноември 2011 г. в Академията на Телерик започна безплатен C# курс с 300 участника. След месец и половина интензивни уроци по програмиране на C# и усилено решаване на задачи през декември се проведе първи междинен изпит по програмиране за подбор на най-добрите участници в курса, които да продължат безплатното си обучение за софтуерни инженери в академията. След първия междинен C# изпит в софтуерната академия продължиха 195 души.

Вторият междинен C# изпит в академията

В началото на февруари се проведе вторият междинен изпит от C# курса, след който по програмата “софтуерна академия” продължават да се обучават безплатно 137 души (и още 11 служители на Телерик). Изпитът беше сложен: 5 задачи на ниво нацинална олимпиада по информатика за 8 часа.

Резултати от изпита

В изпита участваха над 150 души, от които средният резултат беше малко повече от 100 точки от възможни 500. Шампионите на изпита се представиха значително по-силно от средностатистическият участник. Ето резултатите от изпита на първите 20 в класирането:

  • L. Tsonov – 470
  • K. Tashkov – 470
  • N. Valchev – 455
  • V. Stankova – 360
  • M. Penkov – 355
  • B. Nistorov – 345
  • G. Stoyanov – 335
  • V. Bukurov – 335
  • H. Marinov – 325
  • M. Marinov – 325
  • S. Stoyanov – 315
  • V. Staikov – 310
  • M. Stefanov – 295
  • I. Nenchovski – 270
  • S. Radkov – 270
  • M. Rogelov – 270
  • N. Petrova – 255
  • A. Sotirov – 245
  • S. Vladimirov – 245

Решенията на задачите бяха оценявани автоматизирано от състезателната система “BG Coder”, в която задачите от изпитите са налични за свободно практикуване.

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

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

За преминавне към следващия етап от обученията беше направено класиране по няколко предварително обявени критерия:

  • Резултати от практически изпит по програмиране
  • Предадени домашни за всяка една от темите в C# курса
  • Активност в дискусионния форум
  • Докладване на грешки в учебника и в лекциите
  • Указване на помощ на колеги от курса
  • Превод на глава от учебника от бъгарски на английски език (по желание)
  • Участие в конкурса по прграмиране на PC Magazine и Telerik (отборно)

Участниците предварително избират специалността, в която искат да се развиват за напред. Те подреждат професиите, за които кандидатстват, по реда на предпочитанията си (като при кандидатстване в университет). Възможнте професии за три: Software Developer, QA Software Engineer и Developer Support.

Ето и крайното класиране на участниците и специалностите, по които са приети за обучение в третата част на C# курса:

#NameScoreCareer
1V. Stankova102.72Software Developer
2L. Tsonov101.10Software Developer
3K. Tashkov87.67Software Developer
4N. Valchev84.25Software Developer
5M. Stefanov78.79Software Developer
6I. Nenchovski74.67Software Developer
7G. Stoyanov73.99Software Developer
8V. Bukurov68.45QA Software Engineer
9M. Rogelov66.94Software Developer
10M. Penkov66.08Software Developer
11M. Marinov65.42QA Software Engineer
12V. Staikov64.86Software Developer
13S. Stoyanov63.25Software Developer
14S. Vladimirov63.01QA Software Engineer
15D. Madjarov62.12Software Developer
16S. Radkov61.07Software Developer
17Z. Branzov59.33Developer Support
18N. Petrova58.51Software Developer
19G. Vaklinov57.64QA Software Engineer
20N. Demirev57.42Software Developer
21K. Nikolov56.79Software Developer
22K. Vandov56.70Software Developer
23D. Tachev55.71Software Developer
24B. Nistorov54.92Software Developer
25H. Marinov54.75Software Developer
26G. Mitev54.36Software Developer
27P. Kolev53.22Software Developer
28M. Vasilev52.92Software Developer
29G. Mateev51.82Software Developer
30M. Draganov50.70Software Developer
31M. Yankov50.32Software Developer
32A. Sotirov49.75Software Developer
33E. Yusein49.60Developer Support
34S. Dimitrov49.25Software Developer
35B. Statev47.15Software Developer
36K. Popov46.65Software Developer
37S. Bogdanova46.41QA Software Engineer
38D. Bakalov46.23QA Software Engineer
39A. Bogdanov45.82Software Developer
40E. Gencheva44.80QA Software Engineer
41S. Gochev44.68Software Developer
42G. Georgiev44.52Software Developer
43A. Angelov44.49Software Developer
44K. Dimitrov43.66Software Developer
45V. Tsenev43.08Software Developer
46I. Babalev42.25Software Developer
47K. Georgiev41.78QA Software Engineer
48P. Valchev41.63QA Software Engineer
49A. Valchev41.55Developer Support
50V. Kirilov40.50Software Developer
51N. Velikov40.38QA Software Engineer
52K. Kotorov40.17Software Developer
53S. Tacheva40.11Developer Support
54V. Bojinov39.49Software Developer
55T. Iliev38.86Software Developer
56N. Stoychev38.68Software Developer
57K. Gatev38.49QA Software Engineer
58V. Iliev37.68Software Developer
59M. Georgiev37.66QA Software Engineer
60I. Ivanov37.08Software Developer
61I. Kolchagov36.86Software Developer
62F. Havaluova35.91Software Developer
63M. Gebov35.42Software Developer
64M. Karamachev33.80Software Developer
65I. Stoyanov33.70Software Developer
66P. Varbanov33.02QA Software Engineer
67V. Amiorkov32.75Software Developer
68A. Djenkov32.50Software Developer
69S. Chonov32.50Software Developer
70V. Shterev31.83Developer Support
71N. Bankin31.67Software Developer
72B. Zhelyazkov31.65QA Software Engineer
73A. Petrov31.65Software Developer
74F. Fischbach31.43QA Software Engineer
75S. Georgieva-Hristova31.33Software Developer
76D. Zhelyazkov30.75Developer Support
77T. Mitev30.67Software Developer
78I. Angelov30.41QA Software Engineer
79N. Angelov29.95Developer Support
80A. Kolev29.85Software Developer
81G. Sinekliev29.67Software Developer
82I. Dyankov29.67Software Developer
83K. Dimitrov29.36Developer Support
84B. Gutsev29.12QA Software Engineer
85K. Dayradzhiev28.75Software Developer
86D. Vasilev28.67Software Developer
87D. Boikliev28.45Software Developer
88V. Vulkov28.08Developer Support
89S. Markov27.75Software Developer
90A. Kirev27.52QA Software Engineer
91T. Kirchev27.43Developer Support
92V. Hristov27.16QA Software Engineer
93P. Sotirova26.31Developer Support
94D. Agayna26.23Developer Support
95V. Kotseva26.17QA Software Engineer
96V. Stanev26.05Developer Support
97D. Todorov25.63QA Software Engineer
98N. Ilieva25.35Developer Support
99A. Georgieva25.23QA Software Engineer
100N. Mehmed24.99Developer Support
101K. Gitsov24.86QA Software Engineer
102B. Dimitrov24.50Developer Support
103B. Boev24.25QA Software Engineer
104P. Stanev23.96QA Software Engineer
105N. Avramov23.90QA Software Engineer
106T. Stoyanov23.81Developer Support
107V. Tabakov23.80QA Software Engineer
108A. Petkov23.55Developer Support
109M. Ivanov23.17Developer Support
110M. Ninov22.84Software Developer
111T. Todorov22.21QA Software Engineer
112P. Benov21.35Developer Support
113J. Stoyanova21.14Developer Support
114G. Petrov21.06Developer Support
115A. Venchev20.75QA Software Engineer
116V. Raikova20.56Developer Support
117V. Dimitrova20.33Developer Support
118S. Stoyanov19.83Developer Support
119A. Lazarov19.83QA Software Engineer
120O. Ivanov19.67Developer Support
121V. Dakov19.50QA Software Engineer
122P. Asenov18.92Developer Support
123G. Genev18.00Developer Support
124P. Pavlov17.73Developer Support
125V. Banov17.33Developer Support
126D. Petkov16.95QA Software Engineer
127N. Dimitrov16.89QA Software Engineer
128J. Ivanova16.50QA Software Engineer
129R. Totalov16.44Developer Support
130D. Kralev15.50QA Software Engineer
131B. Boevski15.07Developer Support
132T. Lilyanova15.00Developer Support
133P. Kirov14.75Developer Support
134Y. Krumov14.33Developer Support
135M. Petrova13.10Developer Support
136R. Radev12.33Developer Support
137I. Gergov12.04Developer Support

Задачи и решения от втория междинен изпит по програмиране

Вторият междинен изпит по програмиране беше доста труден. За 8 часа участниците трябваше да решат 5 задачи на ниво национална олимпиада по инфоматика (НОИ). Дори състезатели с опит в националния отбор на България имаха труднст и не можаха да решат всички задачи.

Задачите на изпита нарочно са трудни, за да се поддържа високо нивото. Академията не се бори да произведе просто някакви програмисти, а топ специалисти на световно ниво. Това изисква много сериозна и продължителна работа, решаване на стотици задачи, писане на десетки проекти, преминаване през десетки изпити, изучаане на десетки езици и софтуерни технологии и писане на няколко десетки хиляди реда код. Добър програмист не се става за 1 ден, нито за 1 месец. Ние успяваме за 1 година да дадем много солидни основи и да подготвим шампионите от софтуерната академия да станат топ програмисти на световно ниво. Това не се случва с всички участници, а само с най-амбицираните и най-старателните, които за една година поставят програмирането като основен приоритет в живота си и посвещават основната чат от времето си на него.

Следват 5 комплекта задачи от вторите междинни изпити в академията за софтуерни инженери. Всеки комплект съдържа условия на задачите (на английски език), авторски решения на C# и набор тестове, с които се установява дали дадено решени работи коректно, включително при граничните, специалните и екстремалните случаи за всяка задача. За да се запази форматирането на задачите, сме ги записали в PDF формат.

Примерен изпит по програмиране – задачи и решения (1.02.2012 г.)

Примерният изпит по програмиране беше упражнение, през което преминаха участниците в софуерната академия в клас, по време на часовете в курса “C# Fundamentals”. Те бяха решавани заедно с инструктурите в курса като упражнение.

Тренировъчен изпит по програмиране – задачи и решения (5.02.2012 г.)

Тренировъчният изпит по програмиране беше практическа тренировка, проведена един ден преди реалните изпити, пресъздаваща на 100% изпитите и задачите, които предстоят.

Изпит по програмиране – първи ден – задачи и решения (6.02.2012 г.)

Следват задачите от първия изпитен ден.

Изпит по програмиране – втори ден – задачи и решения (7.02.2012 г.)

Ето и задачите от втория изпитен ден.

Изпит по програмиране – трети ден – задачи и решения (8.02.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 8, 2012

Семинар по бизнес анализ и софтуерни изисквания – 13.02.2012 – отменен!

IIBA seminar - Sofia - 13.02.2012Българската секция на Международния институт по бизнес анализ има удоволствието да покани колегите от софтуерната индустрия на поредния си семинар, организиран със съдействието на Брайт Консултинг и Българска асоциация на разработчиците на софтуер (БАРС). На семинара ще бъде представена една от водещите системи за бизнес моделиране Sparx Enterprise Architect и приложението й при моделирането на бизнес процеси и при разработването на софтуер, както и практическа лекция за управление на изискванията при разработването на софтуер – преходът от тежки методологии и формални спецификации към Agile Development и Scrum.

Кога и къде ще се проведе семинарът по бизнес анализ?

Семинарът се отменя за по-късна дата поради заболяване на единия лектор!

Семинарът на IIBA-Sofia ще се проведе на 13.02.2012 г. (понеделник) от 18:30 ч. в конферентен център Венус (бул. Дондуков 9, вход от ул. Бачо Киро).

Лектори на семинара по бизнес анализ

Семинарът ще открие Хорст Каргл, старши консултант в Sparx Systems. Той ще акцентира върху практическите ползи от използването на системата Sparx Enterprise Architect в бизнес анализа и при разработката на софтуерни системи.

Втората лекция ще изнесе Светлин Наков, председател на Българската асоциация на разработчиците на софтуер. Тя ще бъде на тема “Софтуерните изисквания от гледна точка на разработчика”. В нея ще бъдат разгледани проблемите при създаване и описание на софтуерни изисквания и тенденцията за преход от тежки формални спецификации към олекотени feature-ориентирани задания и гъвкаво управление на изискванията с agile методологии като Scrum, Kanban и Lean Development.

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

Участието в семинара е безплатно, но се изисква регистрация.

След презентациите за всички участници е предвиден коктейл.

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

Older Posts »