February 17, 2012

Независимо дали ни харесва или не, 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 (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).
Най-добре представилите се курсисти, предали всичките си домашни и защитили с отличие практическия си курсов проект, ще получат сертификат за постижения.
Софтуерна разработка в облачна среда – учебна програма
Представяне на cloud курса – цели, учебна програма, лектори, изпити, сертификати
Въведение в cloud технологиите – SOA, cloud computing, IaaS, PaaS, SaaS
Публични cloud платформи – Google App Engine (GAE), Windows Azure, Amazon Web Services (AWS), Heroku, Cloudfoundry, Force.com AppForce, Rackspace, AppHarbor, CloudBees, CloudSwing, …
Google App Engine (GAE) – архитектура, цени, услуги, GAE backends, datastores (high-replication datastore /HRD/, master-slave datastore, BlobStore, Cloud Storage), MapReduce API, Channel API, Task Queues, демонстрация на живо
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, демонстрация на живо
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, демонстрация на живо
AppHarbor – архитектура, цени, услуги, AppHarbor instances and workers, Cloudant (Apache CouchDB), MongoHQ (MongoDB), Shared SQL Server, MySQL Shared, Memcacher, Mailgun, демонстрация на живо
Нерелационни cloud бази данни (NoSQL databases) – нерелационни бази данни за cloud среда: Amazon SimpleDB, App Engine Datastore, Azure Tables, CouchDB, MongoDB и Redis
Релационни бази данни в cloud среда – Amazon RDB (for MySQL and Oracle) и SQL Azure
Cloud услуги за обемни данни и файлове – Amazon S3, App Engine Blobstore, Google Cloud Storage, Azure Blobs
Други cloud услуги – oпашки (Amazon SQS, Google Task Queues, Azure Queues), нотификационни услуги (Amazon SNS, Windows Push Notifications), Email услуги, CDN (content delivery networks), …
Бизнес логика в cloud среда – разработка на REST услуги и деплоймънт в публичен cloud
Изграждане на цялостно cloud приложение – демонстрация на живо (front-end, REST services, back-end, deployment)
Тест върху целия учебен материал – програмиране в cloud среда
Работа върху практическия проект – консултации
Защита на практически проект
“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 курса.
Курсът е безплатен и не ви ангажира с абсолютно нищо. Ако решите в даден момент, че нямате време или, че не можете повече да посещавате това безплатно обучение, можете да прекратите участието си.
Vladimir Korichkov,
Mariela Vasileva,
Miroslav Dzhokanov,
Margaret Tacheva,
Simeon Iliev,
Ivelina Shishkova,
Stephan Zahariev,
Denislav Alexandrov,
Vladimir Stanev,
Todor Valchev,
Plamen Varbanov,
Beytula Hamdi Redzheb,
Tihomir Iliev,
Жорж. Станислава.,
Emil Peykov,
Alexander Mitov liked this post Tags: Amazon AWS, AppForce, AppHarbor, cloud, cloud computing, cloud development, Cloud Foundry, cloud курс, cloud технологии, CloudBees, CloudSwing, Engineyard, GAE, Google AppEngine, Heroku, IaaS, Microsoft, PaaS, Rackspace, SaaS, Windows Azure, академия за софтуерни инженери, Академия на Телерик, безплатен курс, безплатни уроци, виртуализация, изчислителен облак, курс програмиране, облак, софтуерна академия, технологии
February 15, 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 | Как да съставим план за действие, когато имаме цел, но не знаем как да я постигнем – демонстрация. | Ангел Лазаров |
Членство в НЛП клуба
Ако НЛП и инициативите на НЛП клуб България ви харесват, можете да станете член на НЛП клуба. Членовете получават покани за бъдещи семинари и безплатни НЛП обучения. Членството е неформално, безплатно и не ви обвързва по никакъв начин.
Gueorgui Metchkarov,
Alexandra Mileva,
Mira Daskalova,
Georgi Dimitrov,
Веселина Райкова,
Mike Ramm,
Lyubka Genova,
Magdalena Georgieva,
Albena Komitova,
Tihomir Iliev,
Жорж. Станислава.,
Georgi Goranov liked this post Tags: безплатно обучение, нерво-лингвистично програмиране, нерволингвистично програмиране, НЛП, НЛП клуб, НЛП клуб България, НЛП котви, НЛП модели, НЛП обучения, НЛП общество, НЛП общност, НЛП рапорт, НЛП семинар, НЛП техники, подсъзнание, постигана на успех, програмиране, съзнание
February 14, 2012
Излезе дългоочакваното класиране от първи кръг в конкурса по програмиране на списание PC Magazine / Bulgaria и Телерик. В първи кръг на конкурса по задачата “Игра 1-2-3” участваха 16 отбора и общо 25 състезателя.
Задачата се оказа не много лесна, но състезателите измислиха доста оригинални алгоритми за решаването й. Никой от алгоритмите не стана абсолютен победител на всички размери дъски, но измежду всичките се откроиха няколко, които играят силно на почти повечето игрални дъски.
Визуализацията на битките между състезателите също се оказа предизвикателство и много от участниците разработиха оригинални подходи и интересни концепции за визуализация, включително и 3D графика. Бяха използвани различни технологии: WPF, Windows Forms, Delphi, C++ с OpenGL и други.
Класиране от първи кръг на конкурса на PC Magazine
Общото класиране за първата задача от конкурса е по точки, спечелени в двата компонента на задачата: алгоритмична част и приложна част.
| Място | Отбор (членове) | Общо точки | Алгоритмична част (точки) | Приложна част (точки) |
| 1 | Антон Богданов, Станислава Богданова | 16.5 | 8.5 | 8 |
| 2 | Марио Стоилов, Ивайло Кирилов | 16.0 | 8 | 8 |
| 3 | Лазар Сестримски, Георги Билюков, Танер Мехмед | 15.5 | 9.5 | 6 |
| 3 | Станислав Гатев, Георги Ангелов | 15.5 | 6.5 | 9 |
| 5 | Лъчезар Цонов, Йордан Стоянов | 15.0 | 9 | 6 |
| 5 | Кристиан Ташков | 15.0 | 8 | 7 |
| 7 | Александър Георгиев | 14.5 | 6.5 | 8 |
| 8 | Кольо Данков, Стефан Чонов | 14.0 | 7 | 7 |
| 9 | Боян Желязков | 11.0 | 8 | 3 |
| 9 | Михаил Минков | 11.0 | 7 | 4 |
| 11 | Радослав Тодоров | 10.5 | 8.5 | 2 |
| 12 | Марин Драганов | 7.5 | 7.5 | 0 |
| 13 | Николай Лазаров, Иван Захариев | 6.5 | 6.5 | 0 |
| 14 | Кристиян Николов | 6.0 | 6 | 0 |
| 15 | Стоян Буланов, Ирник Дионисиев | 5.5 | 3.5 | 2 |
| 15 | Георги Йоловски | 5.5 | 1.5 | 4 |
Предадени решения в конкурса по програмиране
Всички предадени решения от участниците в конкурса са публикувани за свободно изтегляне във вида, в който са предадени и съдържат пълен сорс код съгласно регламента на конкурса. Това позволява на състезателите да сравнят своето решение, идеи, алгоритми и технологии с разработките на техните конкуренти: решения, предадени от участниците в конкурса по програмиране на PC Magazine и Телерик. Организаторите на конкурса не носят отговорност за съдържанието на предадените решения.
Награди за шампионите
Първенците в първи кръг от конкурса печелят скромни награди от Академията на Телерик и дънна платка от MOST Computers могат да си ги получат в удобно за тях време от офиса на Телерик (за контакти academy@telerik.com). Напомняме, че големите награди в конкурса (лаптопи, таблети, телефони и други) ще бъдат раздадени на финала, когато най-добре представилите се състезатели от всички кръгове ще премерят сили на живо в София.
Tags: PC Magazine, telerik, задачи, класиране, конкурс по програмиране, награди, решения, състезание по програмиране, състезание по програмиране и технологии

От март 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 курс
Преглед на курса по уеб дизайн и HTML
Откриване на курса “Уеб дизайн с HTML 5, CSS 3 и JavaScript”. Представяне на лекторския екип, учебния материал, изпитване, домашни, проекти, сертифициране
Основи на уеб програмирането
HTTP протокол, WWW, request-response модел, GET, POST, HTTP статус кодове, cookies, Firebug и други инструменти за уеб разработка
Основи на езика HTML (част I)
HTML, синтаксис, тагове и атрибути, текст, изображения, хиперлинк, форматиращи тагове, параграфи, списъци
Основи на езика HTML (част II)
HTML таблици, форми и контроли (текст, падащ списък, текстова област, контроли за избор, бутони и други), рамки (frames, iframe), GET и POST
Основи на HTML 5
HTML 5, структурни тагове, семантичен HTML, форми, валидация на полета, нови атрибути, HTML 5 canvas
Стилизиране със CSS (част I)
Създаване и използване на CSS стилове, селектори, стилови дефиниции, шрифтове, фонове, рамки, box-model, подравняване (alignment)
Стилизиране със CSS (част II)
Позициониране (абсолютно и плаващо), margins, paddings, z-index, видимост, скролиране, плаване (floating), дизайн в няколко колони
CSS 3
Нови селектори в CSS 3, шрифтове, сенки, заоблени ъгли
Photoshop
Photoshop, обработка на изображения, групи, слоеве, селекции, трансформации, цветове, ефекти, създаване и експорт на изображения
Изграждане на уеб сайтове с HTML и CSS
Рязане на уеб сайт: преобразуване от PSD изображение към HTML 5 и CSS 3, multi-column layout, floating DIVs, уеб сайтове с фреймове, уеб сайтове с таблици, уеб сайтове с DIV-ве
Основи на JavaScript
Работа с JavaScript, прихващане на събития (onцlick, onмouseоver и т.н.), DHTML, JavaScript синтаксис, типове данни, оператори, условни конструкции, цикли, масиви, диалози, достъп до DOM дървото с JavaScript, дебъгване на JavaScript код
HTML 5 и новите му JavaScript APIs
HTML 5 JavaScript APIs, нови селектори, създаване на canvas изображение с JavaScript, асинхронна работа с нишки в JavaScript, drag и drop, съхранение на дани с HTML5, разширения на HTML DOM дървото
CMS системи и WordPress
Преглед на системите за управление на съдържание (CMS), работа с WordPress (инсталиране, настройване, административен интерфейс, страници, постове, категории, тагове, коментари, настройки, теми, добавки), създаване на WordPress теми
Инсталация на CMS системи (WordPress)
Свързаване на хостинг с домейн, инсталация на WordPress на хостинг, качване на WordPress тема
CMS система Joomla
Инсталация и конфигурация на Joomla, модули, страници, новини, шаблони, създаване на прост сайт, вкарване на нарязан уеб дизайн в Joomla
CMS система Drupal
Инсталация и конфигурация на Drupal, модули, страници, новини, шаблони, създаване на прост сайт, вкарване на нарязан уеб дизайн в Drupal
CMS система Sitefinity
Инсталация и конфигурация на Sitefinity, модули, страници, новини, шаблони, създаване на прост сайт, вкарване на нарязан уеб дизайн в Sitefinity
Практически проект: рязане на сайт и вкарване в CMS система
Рязане на уеб дизайн: от Photoshop дизайн към HTML + CSS + images + JavaScript. Интегриране на уеб дизайн в CMS система.
Техники за напреднали
Кеширане при клиента, решаване на проблеми с различните браузъри, client-side performance tuning, оптимизация за търсещите машини (SEO), достъпност, Sprites
JavaScript обектно-ориентирано програмиране
Prototype модел, наследяване, свойства (properties), методи, публични и скрити членове
JavaScript библиотеки
JavaScript библиотеки (JS frameworks): Prototype, jQuery, MooTools, Dojo, YUI, KendoUI
Основи на jQuery
Въведение в jQuery, jQuery селектори и манипулация на DOM дървото, jQuery събития и прихващане, AJAX заявки, jQuery темплейти, jQuery UI, ефекти и взаимодействия
Достъп до външни данни
Достъп до външни данни и услуги чрез jQuery и AJAX, работа със REST и JSON, работа с библиотеки, предоставени от Twitter, Facebook, Google и т.н.
JavaScript библиотеки за изграждане на потребителски интерфейс
KendoUI, YUI, KendoMobile, jQuery Mobile
Responsive design
Media queries, динамични изображения, еластичен грид
Демонстрация за създаване на JavaScript фронт-енд приложения
Създаване на клиентски JavaScript приложения с HTML 5, CSS, JavaScript, jQuery и AJAX
Практически проект: 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.
Radoslav Delchev,
Boris Loukanov,
Kalina Boyadjieva,
Dessi Boshnakova,
Vladi Ivanov,
Teodor Stoev,
Dimitar Kosev,
Linda Hristova,
Nadya Marinova,
Val Tod,
Misheto Boo,
Georgi Kalenderov,
Ivo Hristov,
Simeon Iliev,
Alexander Hadjidimitrov,
Димитър Георгиев,
Tihomir Iliev,
Vessi Georgieva,
Emil Peykov,
Жорж. Станислава.,
Irina Peshina liked this post Tags: AJAX, CMS, CMS система, content management, CSS, CSS3, Drupal, free, free course, free HTML course, free training, front-end development, HTML, HTML курс, HTML уроци, HTML5, JavaScript, JavaScript курс, JavaScript програмиране, Joomla, jQuery, JSON, Photoshop, responsive design, REST, SEO, Sitefinity, WordPress, XML, Академия на Телерик, безплатен курс, безплатни уроци, безплатно обучение, вкарване на сайт в CMS система, изграждане на уеб сайтове, изработка на уеб сайт, изработка на уеб сайтове, ЙажаСцрипт, курс, курс уеб дизайн, курс уеб сайтове, обучение, онлайн обучение, правене на уеб сайтове, присъствено обучение, програмиране скриптове, рязане на сайт, рязане на уеб сайт, софтуерна академия, уеб дизайн, уеб приложения, уеб програмиране, уеб разработка, уеб технологии, уеб фронт-енд, управление на съдържание, уроци, уроци уеб дизайн, ХТМЛ, ХТМЛ5, ЦСС
February 13, 2012
На 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# курса:
| # | Name | Score | Career |
| 1 | V. Stankova | 102.72 | Software Developer |
| 2 | L. Tsonov | 101.10 | Software Developer |
| 3 | K. Tashkov | 87.67 | Software Developer |
| 4 | N. Valchev | 84.25 | Software Developer |
| 5 | M. Stefanov | 78.79 | Software Developer |
| 6 | I. Nenchovski | 74.67 | Software Developer |
| 7 | G. Stoyanov | 73.99 | Software Developer |
| 8 | V. Bukurov | 68.45 | QA Software Engineer |
| 9 | M. Rogelov | 66.94 | Software Developer |
| 10 | M. Penkov | 66.08 | Software Developer |
| 11 | M. Marinov | 65.42 | QA Software Engineer |
| 12 | V. Staikov | 64.86 | Software Developer |
| 13 | S. Stoyanov | 63.25 | Software Developer |
| 14 | S. Vladimirov | 63.01 | QA Software Engineer |
| 15 | D. Madjarov | 62.12 | Software Developer |
| 16 | S. Radkov | 61.07 | Software Developer |
| 17 | Z. Branzov | 59.33 | Developer Support |
| 18 | N. Petrova | 58.51 | Software Developer |
| 19 | G. Vaklinov | 57.64 | QA Software Engineer |
| 20 | N. Demirev | 57.42 | Software Developer |
| 21 | K. Nikolov | 56.79 | Software Developer |
| 22 | K. Vandov | 56.70 | Software Developer |
| 23 | D. Tachev | 55.71 | Software Developer |
| 24 | B. Nistorov | 54.92 | Software Developer |
| 25 | H. Marinov | 54.75 | Software Developer |
| 26 | G. Mitev | 54.36 | Software Developer |
| 27 | P. Kolev | 53.22 | Software Developer |
| 28 | M. Vasilev | 52.92 | Software Developer |
| 29 | G. Mateev | 51.82 | Software Developer |
| 30 | M. Draganov | 50.70 | Software Developer |
| 31 | M. Yankov | 50.32 | Software Developer |
| 32 | A. Sotirov | 49.75 | Software Developer |
| 33 | E. Yusein | 49.60 | Developer Support |
| 34 | S. Dimitrov | 49.25 | Software Developer |
| 35 | B. Statev | 47.15 | Software Developer |
| 36 | K. Popov | 46.65 | Software Developer |
| 37 | S. Bogdanova | 46.41 | QA Software Engineer |
| 38 | D. Bakalov | 46.23 | QA Software Engineer |
| 39 | A. Bogdanov | 45.82 | Software Developer |
| 40 | E. Gencheva | 44.80 | QA Software Engineer |
| 41 | S. Gochev | 44.68 | Software Developer |
| 42 | G. Georgiev | 44.52 | Software Developer |
| 43 | A. Angelov | 44.49 | Software Developer |
| 44 | K. Dimitrov | 43.66 | Software Developer |
| 45 | V. Tsenev | 43.08 | Software Developer |
| 46 | I. Babalev | 42.25 | Software Developer |
| 47 | K. Georgiev | 41.78 | QA Software Engineer |
| 48 | P. Valchev | 41.63 | QA Software Engineer |
| 49 | A. Valchev | 41.55 | Developer Support |
| 50 | V. Kirilov | 40.50 | Software Developer |
| 51 | N. Velikov | 40.38 | QA Software Engineer |
| 52 | K. Kotorov | 40.17 | Software Developer |
| 53 | S. Tacheva | 40.11 | Developer Support |
| 54 | V. Bojinov | 39.49 | Software Developer |
| 55 | T. Iliev | 38.86 | Software Developer |
| 56 | N. Stoychev | 38.68 | Software Developer |
| 57 | K. Gatev | 38.49 | QA Software Engineer |
| 58 | V. Iliev | 37.68 | Software Developer |
| 59 | M. Georgiev | 37.66 | QA Software Engineer |
| 60 | I. Ivanov | 37.08 | Software Developer |
| 61 | I. Kolchagov | 36.86 | Software Developer |
| 62 | F. Havaluova | 35.91 | Software Developer |
| 63 | M. Gebov | 35.42 | Software Developer |
| 64 | M. Karamachev | 33.80 | Software Developer |
| 65 | I. Stoyanov | 33.70 | Software Developer |
| 66 | P. Varbanov | 33.02 | QA Software Engineer |
| 67 | V. Amiorkov | 32.75 | Software Developer |
| 68 | A. Djenkov | 32.50 | Software Developer |
| 69 | S. Chonov | 32.50 | Software Developer |
| 70 | V. Shterev | 31.83 | Developer Support |
| 71 | N. Bankin | 31.67 | Software Developer |
| 72 | B. Zhelyazkov | 31.65 | QA Software Engineer |
| 73 | A. Petrov | 31.65 | Software Developer |
| 74 | F. Fischbach | 31.43 | QA Software Engineer |
| 75 | S. Georgieva-Hristova | 31.33 | Software Developer |
| 76 | D. Zhelyazkov | 30.75 | Developer Support |
| 77 | T. Mitev | 30.67 | Software Developer |
| 78 | I. Angelov | 30.41 | QA Software Engineer |
| 79 | N. Angelov | 29.95 | Developer Support |
| 80 | A. Kolev | 29.85 | Software Developer |
| 81 | G. Sinekliev | 29.67 | Software Developer |
| 82 | I. Dyankov | 29.67 | Software Developer |
| 83 | K. Dimitrov | 29.36 | Developer Support |
| 84 | B. Gutsev | 29.12 | QA Software Engineer |
| 85 | K. Dayradzhiev | 28.75 | Software Developer |
| 86 | D. Vasilev | 28.67 | Software Developer |
| 87 | D. Boikliev | 28.45 | Software Developer |
| 88 | V. Vulkov | 28.08 | Developer Support |
| 89 | S. Markov | 27.75 | Software Developer |
| 90 | A. Kirev | 27.52 | QA Software Engineer |
| 91 | T. Kirchev | 27.43 | Developer Support |
| 92 | V. Hristov | 27.16 | QA Software Engineer |
| 93 | P. Sotirova | 26.31 | Developer Support |
| 94 | D. Agayna | 26.23 | Developer Support |
| 95 | V. Kotseva | 26.17 | QA Software Engineer |
| 96 | V. Stanev | 26.05 | Developer Support |
| 97 | D. Todorov | 25.63 | QA Software Engineer |
| 98 | N. Ilieva | 25.35 | Developer Support |
| 99 | A. Georgieva | 25.23 | QA Software Engineer |
| 100 | N. Mehmed | 24.99 | Developer Support |
| 101 | K. Gitsov | 24.86 | QA Software Engineer |
| 102 | B. Dimitrov | 24.50 | Developer Support |
| 103 | B. Boev | 24.25 | QA Software Engineer |
| 104 | P. Stanev | 23.96 | QA Software Engineer |
| 105 | N. Avramov | 23.90 | QA Software Engineer |
| 106 | T. Stoyanov | 23.81 | Developer Support |
| 107 | V. Tabakov | 23.80 | QA Software Engineer |
| 108 | A. Petkov | 23.55 | Developer Support |
| 109 | M. Ivanov | 23.17 | Developer Support |
| 110 | M. Ninov | 22.84 | Software Developer |
| 111 | T. Todorov | 22.21 | QA Software Engineer |
| 112 | P. Benov | 21.35 | Developer Support |
| 113 | J. Stoyanova | 21.14 | Developer Support |
| 114 | G. Petrov | 21.06 | Developer Support |
| 115 | A. Venchev | 20.75 | QA Software Engineer |
| 116 | V. Raikova | 20.56 | Developer Support |
| 117 | V. Dimitrova | 20.33 | Developer Support |
| 118 | S. Stoyanov | 19.83 | Developer Support |
| 119 | A. Lazarov | 19.83 | QA Software Engineer |
| 120 | O. Ivanov | 19.67 | Developer Support |
| 121 | V. Dakov | 19.50 | QA Software Engineer |
| 122 | P. Asenov | 18.92 | Developer Support |
| 123 | G. Genev | 18.00 | Developer Support |
| 124 | P. Pavlov | 17.73 | Developer Support |
| 125 | V. Banov | 17.33 | Developer Support |
| 126 | D. Petkov | 16.95 | QA Software Engineer |
| 127 | N. Dimitrov | 16.89 | QA Software Engineer |
| 128 | J. Ivanova | 16.50 | QA Software Engineer |
| 129 | R. Totalov | 16.44 | Developer Support |
| 130 | D. Kralev | 15.50 | QA Software Engineer |
| 131 | B. Boevski | 15.07 | Developer Support |
| 132 | T. Lilyanova | 15.00 | Developer Support |
| 133 | P. Kirov | 14.75 | Developer Support |
| 134 | Y. Krumov | 14.33 | Developer Support |
| 135 | M. Petrova | 13.10 | Developer Support |
| 136 | R. Radev | 12.33 | Developer Support |
| 137 | I. Gergov | 12.04 | Developer 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 г.)
Ето ги и задачите от третия изпитен ден.
Ivo Hristov,
Georgi Kalenderov,
Tania Dimitrova,
Julian Kuntorov,
Dimiter Georgiev,
Peter Nedyalkov,
Мариелла Панайотова,
Петър Петков,
Radoslav Yordanov Georgiev,
Anita Valentinova,
Jordan Petkov,
Elena Margina,
Eyup Erkan Yusein,
Pero Roma,
Красимир Босилков,
Lachezar Tsonov,
Momchil Stefanov,
Tihomir Iliev,
Dimiter Madjarov,
Alexander Mitov liked this post Tags: C#, C# изпит, C# курс, академия за софтуерни инженери, Академия на Телерик, академия програмиране, безплатен C# курс, безплатен курс, безплатно, безплатно обучение, изпит програмиране, курс C#, курс програмиране, софтуерна академия, софтуерно инженерство, уроци по програмиране
February 9, 2012
Училищната софтуерна академия кани ученици, учители и студенти с интерес към програмирането и практическата разработка на софтуер на безплатно тридневно обучение по разработка на настолни приложения с езика 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# и бази данни:
- Подготовка за теста на НОИТ
- Преглед на XAML и WPF технологиите за изграждане на rich GUI приложения в Windows 7 / 8
- Контейнери на елементи в WPF – прозорци, панели, табове, изграждане на layout
- Основни контроли в WPF – текст, бутони, линкове, менюта, toolbars, sliders, user controls
- Разработка на десктоп приложения с WPF – текст, 2D графика, 3D графика
- Стилове и шаблони във WPF
- Концепции от WPF: dependency properties, attached properties, logical tree
- Data Binding в WPF – връзване на контролите с източници на данни, Data Contexts, валидация, конвертори, релативни и статични източници
- Работа с WPF и бази данни – показване и редактиране на данни от SQL Server чрез Entity Framework и data binding, paging, master-details навигация
Регистрация за уроците по C#, WPF и бази данни
За участие в безплатните C#, XAML и WPF уроци трябва да се регистрирате на сайта на ученическата академия по разработка на софтуер: http://academy.telerik.com/school-academy/registration.
Tags: C#, data binding, GUI, Windows, WPF, XAML, Академия на Телерик за ученици, бази данни, безплатен курс, безплатни уроци, безплатно обучение, НОИТ, уроци, училищна софтуерна академия
February 8, 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: agile development, IIBA-Sofia, kanban, lean development, SCRUM, БАРС, бизнес анализ, бизнес моделиране, Българска асоциация на разработчиците на софтуер, международен институт по бизнес анализ, методологии за разработка на софтуер, разработка на софтуер, семинар, софтуерна спецификация, софтуерни изисквания
Older Posts »