м.Київ, тел: 044 377 72 42

web programming

Інтернет проекти та Web програмування

video_web_programing
У майбутньому на ринку залишиться два типи компаній: ті, хто в Інтернеті і ті, хто вийшов із бізнесу.

Білл Гейтс. «Бізнес зі швидкістю думки»

Мабуть, ця цитата найкраще пояснює, чому створення, розвиток і підтримка різних Інтернет-проектів – основний напрямок нашої діяльності.

Для Вас ми готові розробити Веб-проект будь-якої складності, починаючи від Інтернет-магазину та промо-сайту до високонавантаженого Інтернет-порталу з використанням кластерних технологій.

Особливо для нас цікаві великі стартапи, або Інтернет-проекти, особливостями яких є велика кількість користувачів, проекти, які оперують великими обсягами даних, в основу яких закладена складна бізнес-логіка та цікава архітектура.

Оскільки до питань створення Інтернет-сайтів ми завжди підходимо комплексно, ми, окрім розробки сайту, допоможемо Вам підготувати унікальний контент, проведемо SEO і пошукову оптимізацію, надамо послуги з просування сайту в мережі Internet, допоможемо провести промо-акції і рекламні компанії, а також зареєструємо для Вас доменне ім`я і надамо хостинг.

Ми допомагаємо нашим клієнтам заявити про себе в Інтернеті, підкреслити свою унікальність, залучити нових клієнтів, партнерів або інвесторів.

Детально про нас, і про те, чим ми займаємося, можна дізнатися на сайті QWER. Сайт присвячений виключно нашій діяльності у сфері Web, а саме розробці і просуванню сайтів та Інтернет-проектів.

Agile

Методологія нашої роботи

agile

Однією із наших конкурентних переваг є прагнення постійно вдосконалювати якість кінцевого програмного продукту і готовність впроваджувати на практиці всі методи і методології, що дозволяють це зробити. На сьогодні у процесі розробки програмного забезпечення ми використовуємо такі методології як SCRUM / Agile і XP програмування (екстремальне програмування).

Докладно з нашою практикою використання Agile методологій можна ознайомитися на сайті QWER, який присвячений виключно Інтернет-проектам. Коротко окреслимо декілька ключових моментів зазначених методологій:

SCRUM / Agile

1. Один проект - один постановник задач (Product Owner). Саме ця людина відповідає за визначення пріоритетів!

2. Product Owner описує функціонал (Fitures), який слід реалізувати, так званими історіями користувачів (історія користувача – завдання, описане у зрозумілій формі, що має конкретну цінність з точки зору користувача системи), впорядкованих за рівнем їхньої важливості з точки зору Product Owner. Цей список називається БекЛог листом (BackLog list).

3. Розробка ведеться порціями (спринтами). У нас тривалість спринту - два тижні.

4. Спільне планування спринту. Команда розробки і Product Owner, з BackLog listа складають sprint backlog. Історії користувачів за потреби можуть бути деталізовані, і КОМАНДА(!) дає свою оцінку часу виконання кожного пункту! Оцінку часу ми робимо в людино-днях, - так званих StoryPoints.

5. Складається діаграма «згорання» роботи (Burndown діаграма): по осі Х - календарні дні, по осі Y - storyPoint. У діаграмі враховується коефіцієнт корективів (менше одиниці) - т.зв. фокус фактор. Фокус фактор «захистить» нас від недотримання термінів через виникнення непередбачених тимчасових витрат.

6. Завдання вивішуються на дошку завдань, яка складається із трьох стовбців («Потрібно зробити» «У роботі», «Зроблено»). У процесі роботи будь-хто може «закріпити» за собою завдання, написавши на картці своє прізвище та перевісивши її у стовбчик «У роботі».

7. Кожен день у визначений час ми проводимо Scrum. Scrum - це «п’ятихвилинка» (оперативні зібрання), на якій кожен член команди розповідає про те, що він зробив учора, чим збирається займатися сьогодні, і які виникли труднощі у процесі роботи. Кожен день ставитися крапка на BurnDown діаграмі, яка показує обсяг реально виконаних робіт.

8. По завершенню спринту проводитися «Демо». Демо - це демонстрація розробленого функціоналу всім зацікавленим особам (як мінімум Product Ownerу).

9. Після демонстрації ми проводимо ретроспективу (загальна нарада, на якій ми ділимося своїми думками про те, що варто поліпшити).

10. Далі «інженерний» день і планування наступного спринту.

Найбільш важливі (з нашої точки зору) аспекти XP програмування:

  • Замовник завжди поруч (Whole team, Onsite customer)
  • Парне програмування (Pair programming)
  • Колективне володіння кодом
  • Часті невеликі релізи (Small Releases)
  • Розробка через тестування (Test driven development)
  • Безперервна інтеграція (Continuous Integration)
  • Рефакторинг (Design Improvement, Refactor)

Если есть возможность рекомендуем прочитать книгу по основам SCRUM и XP. Или, хотя-бы, познакомиться Agille - чеклистом.

Осмислене використання вище перерахованих методологій дає нам можливість з гордістю сказати:

- Наша команда впорається з розробкою Інтернет-проекту будь-якої складності!

Портфоліо

 

vipparket.com.ua

vipparket #1

sc vipparket #2 vipparket #3 vipparket #4 vipparket #5 vipparket #6

Сайт-візитка компанії «Vip Паркет». Продаж і виробництво підлогових покриттів преміум класу.

riviera.com.ua

riviera #1

sc riviera #2 riviera #3 riviera #4 riviera #5 riviera #6

Сайт найбільшого в Україні торгово-розважального комплексу. Найбільший ТРК в Україні.

orbis.ua

orbis #1

sc orbis #2 orbis #3 orbis #4 orbis #5 orbis #6

Інструмент для деревообробки, фрези, пили дискові, ножі фуговальні, фрези для зрощування.

shaparenko.com.ua

shaparenko #1

sc shaparenko #2 shaparenko #3 shaparenko #4 shaparenko #5 shaparenko #6

Сайт-візитка для професійного київського стиліста-візажиста, дизайнера одягу Наталії Шапаренко.

persons-info.com

lichnosti #1

sc lichnosti #2 lichnosti #3 lichnosti #4 lichnosti #5 lichnosti #6

Біографічний банк даних «Особистості». Містить структуровані дані про багатьох відомих людей.

profshina.kiev.ua

profshina #1

sc profshina #2 profshina #3 profshina #4 profshina #5 profshina #6

Інтернет магазин. Шини відомих європейських брендів для легкового та вантажного транспорту.

feli.com.ua

feli #1

sc feli #2 feli #3 feli #4 feli #5 feli #6

Компанія FeLi, займається наданням комфортних елітних апартаментів для проживання гостям столиці.

odos.com.ua

odos #1

sc odos #2 odos #3 odos #4 odos #5 odos #6

Стоматологічна клініка "Одос" - це якісні послуги в області терапевтичної та хірургічної стоматології.

hansa-flame.com.ua

hansa-flame #1

sc hansa-flame #2 hansa-flame #3 hansa-flame #4 hansa-flame #5 hansa-flame #6

Компанія HANSA-FLAME пропонує засоби для швидкого розпалювання вогню, чистячі засоби для камінів.

shinaprofi.com.ua

shinaprofi #1

sc shinaprofi #2 shinaprofi #3 shinaprofi #4 shinaprofi #5 shinaprofi #6

Інтернет магазин Shinaprofi займається продажем шин і дисків від елітних світових брендів.

elit-parket.com.ua

elit-parket #1

sc elit-parket #2 elit-parket #3 elit-parket #4 elit-parket #5 elit-parket #6

Elit Parket пропонує широкий асортимент паркетної, масивної, терасної дошки та штучного паркету.

sazhotrus.com.ua

sazhotrus #1

sc sazhotrus #2 sazhotrus #3 sazhotrus #4 sazhotrus #5 sazhotrus #6

Інтернет магазин Сажотрус являеться єдиним і офіційним дилер продукції Hansa на території України.

parquet-pol.ru

parquet-pol #1

sc parquet-pol #2 parquet-pol #3 parquet-pol #4 parquet-pol #5 parquet-pol #6

Центр паркету і ламінату в якому можна підібрати будь-яку підлогу, що відповідає всім вашим запитам.

championbet.com

championbet #1

sc championbet #2 championbet #3 championbet #4 championbet #5 championbet #6

Сайт спортивного тоталізатора ChampionBet. Дуже великий проект, потужна система адміністрування.

kunst-ogb.org

kunst-ogb #1

sc kunst-ogb #2 kunst-ogb #3 kunst-ogb #4 kunst-ogb #5 kunst-ogb #6

Організацією майстеркласів, концертів і культурних проектів за участю провідних діячів мистецтва.

discount-parket.com.ua

discount-parkett #1

sc discount-parket #2 discount-parket #3 discount-parket #4 discount-parket #5 discount-parket #6

«Discount-parket» пропонує знижки на паркетну, масивну, терасну дошку, штучний паркет і ламінат.

ecovk.com.ua

ecovk #1

sc ecovk #2 ecovk #3 ecovk #4 ecovk #5 ecovk #6

Компанія ЕКО - надійний виробник високоякісної та екологічно чистої тротуарної плитки.

saycom.biz

saycom #1

sc saycom #2 saycom #3 saycom #4 saycom #5 saycom #6

Створення: кріптофонов, обладнання із захисту інформації, портативних пристрої зберігання інформації.

 

Рішення

Масштабованість і великі навантаження

decisions

Масштабованість

Проблеми, пов′язані із масштабуванням, як правило, проявляються без жодного попередження, абсолютно несподівано. Інтернет-магазин, який вчора чудово продавав Ваші товари, перестає працювати, або популярний медіа-портал «раптом» втрачає свою популярність і кількість його відвідувачів починає стрімко знижуватися.

І якщо Ви не планували масштабування заздалегідь, то, швидше за все, доведеться чимало попрацювати, аби зберегти прийнятний для реакції час Вашого Інтернет-продукту. Пам′ятайте! Компанії, які не навчилися вчасно масштабувати свої Інтернет-проекти, часто взагалі сходять зі сцени.

Так, це сумна істина, занадто великий успіх може мати негативний вплив на Ваш бізнес.

Ми розуміємо Масштабованість як можливість за потреби збільшувати пропускну здатність без зниження продуктивності. Пояснимо дане визначення на більш зрозумілому прикладі:

Продуктивність це швидкість, з якою може їхати автомобіль по автомагістралі.

Пропускна здатність це обмеження швидкості та кількість смуг на автомагістралі.

Масштабованість - межа, до якої можна збільшувати кількість автомобілів без зниження швидкості транспортного потоку.

Доступність - відсоток часу, впродовж якого автомагістраль відкрита для руху.

Типовий симптом поганої масштабованості - виникнення труднощів при збільшенні навантаження. Зазвичай це проявляється як зниження продуктивності у вигляді уповільнення обробки запитів, появі системних повідомлень про те, що Інтернет-ресурс недоступний або минув час очікування відповіді сервера.

Що ж робити, якщо проблеми із продуктивністю все таки виникли, або Ви спочатку хочете закласти можливість масштабування Вашої Інтернет-системи? На це питання немає однозначної відповіді. Звертайтеся в наш «Відділ розробки ПЗ та Інтернет-проектів». і ми проведемо детальний аудит Вашої системи і дамо точні рекомендації.

Великі навантаження

Одним із стратегічних напрямків нашої діяльності є розробка складних високонавантажених Інтернет-проектів, відмовостійких систем, тобто Інтернет-ресурсів, які оперують великими обсягами даних і які мають велику кількість відвідувачів.

Чудово, якщо спочатку (на стадії реалізації проекту), є розуміння того, за яких граничних умов буде функціонувати система. Наприклад:

  • Очікувана кількість користувачів;
  • Число одночасних запитів;
  • Обсяг інформації, передбаченої запитом.

Але часто усвідомлення проблеми, пов′язаної з великими навантаженнями на сервіс, приходить еволюційним шляхом. Тобто той функціонал, який прекрасно працював учора, сьогодні «раптом» починає працювати повільно, а деякі сервіси або весь Інтернет-проект стає недоступним.

Для того, щоб боротися із проблемою великих навантажень, ми рекомендуємо спочатку, ще на етапі розробки, закладати можливості масштабування створюваної Інтернет-системи. Щоб зрозуміти, що ми маємо на увазі під терміном Масштабованість.

Більш докладно про наш досвід реалізації високонавантажених Інтернет-проектів можна дізнатися на сайті QWER.

Хочете отримати консультацію або обговорити проблеми реалізації Вашого Інтернет-проекту, - звертайтеся в наш «Відділ розробки ПЗ та Інтернет-проектів»

Інструменти

tools

Уявімо собі ситуацію: Ви робите ремонт у квартирі або збираєтеся побудувати котедж. Вибираючи бригаду для виконання робіт, Ви, безсумнівно, звернете увагу на ті інструменти, які використовують майстри.

Насправді, у програмуванні, як і в будівництві, набір інструментів, який використовує майстер, свідчить не тільки про професіоналізм фахівця, але й обумовлює якість виконання майбутнього проекту.

Ось перелік основних інструментів, які ми використовуємо при реалізації Інтернет-проектів

 
php

PHP - скриптова мова програмування загального призначення, інтенсивно застосовується для розробки веб-додатків.

MySQL

MySQL — вільна система керування базами даних.

Percona

Percona XtraDB — одна з підсистем зберігання даних в СУБД MySQL та MariaDB. Є відгалуженням стандартного движка InnoDB. Оптимізована для середовищ з високою продуктивністю.

Symfony

Symfony пропонує швидку розробку та управління веб-додатками, дозволяє легко вирішувати рутинні завдання веб-програміста.

Doctrine

Doctrine 2.0+. Doctrine - - це ORM (Object-relational mapping) для PHP 5.3.0+, який базується на шарі абстракції доступу до БД (DBAL).

jQuery

jQuery — бібліотека JavaScript, фокусується на взаємодії JavaScript та HTML.

Ajax

AJAX - підхід до побудови інтерактивних користувацьких інтерфейсів веб-додатків, що полягає в «фоновому» обміні даними браузера з веб-сервером.

Memcached

Memcached — сполучнe програмне забезпечення, що реалізує сервіс кешування даних в оперативній пам′яті на основі парадигми хеш-таблиці.

Git

GIT - розподілена система керування версіями файлів.

CruiseControl

CruiseControl.NET - являє собою пакет додатків, головним з яких є сервер автоматичної інтеграції.

Jakarta_jmeter

Jakarta JMeter — інструмент для проведення навантажувального тестування, розроблювальний Apache Jakarta Project.

Java

Java — об′єктно-орієнтована мова програмування.

Soap

SOAP - простий протокол доступу до об′єктів; - протокол обміну структурованими повідомленнями в розподіленому обчислювальному середовищі.

Ubuntu

Ubuntu — операційна система, заснована на Debian.

 

Слід зазначити, що вибір інструментів для роботи продиктований не емоційним вибором, а логікою і практичними міркуваннями.

Крім того, ми уважно відстежуємо загальні тенденції ринку розробки Web проектів.

Якщо, наприклад, завтра ми вирішимо, що продукти Microsoft - більш ефективні для реалізації Інтернет-проектів, нічого не завадить нам освоїти ASP або MSSQL. Тим більше, ми вже маємо такий досвід!

Просування

promotion

Просування сайту

Запускаючи свій Інтернет-стартап – сайт, Інтернет-магазин або блог, Ви, безсумнівно, хотіли б зробити його популярним, відвідуваним ресурсом.

Але як це зробити? Однозначного рецепту немає і бути не може! Адже популярність і всесвітнє визнання до таких монстрів соціальних мереж як facebook чи twitter теж прийшла не одразу!

Нами накопичений великий досвід просування і розкрутки сайтів у мережі Інтернет. Методи просування сайту можна розділити на такі види:

1. Інтернет реклама

Проведення рекламних кампаній та промо-акацій:

  • Планування (підбір Інтернет-майданчиків);
  • Підготовка (розробка матеріалів, що сказати? Як «зачепити» Інтернет-аудиторію?);
  • Проведення кампанії (оперативне відстеження);
  • Аналіз результатів (кількість унікальних відвідувачів, відсоток конверсій та ін.).

2. Контекстна реклама в пошукових системах.

Контекстна реклама в Google AdWords і Яндекс Директ або Яндекс маркет на сьогоднішній день у більшості випадків є найбільш ефективною.

Суть контекстної реклами проста: складається рекламне оголошення, підбирються ключові слова. Рекламне оголошення починає демонструватися при відповідності ключових слів контексту (наприклад, фраза у вікні пошуку, текстова стаття на сайті партнера або тема листа у поштовому клієнті і т.д.). Кожного разу, коли відвідувач, натискаючи на рекламне оголошення, здійснює перехід на Ваш сайт, з рекламного бюджету Вашої кампанії «Пошукова система» знімає кошти.

Однак, при удаваній простоті, існує маса складностей, пов′язаних з правильною подачею рекламних оголошень, підбором ключових слів та відстеженням рівня конверсій.

Оскільки ми є офіційними партнерами Google та Яндекс в Україні, ми зможемо гарантувати якісну подачу контекстної реклами при мінімальних комісійних.

3. SEO оптимізація і «класичне» просування

Мінусом контекстної реклами є те, що Вам доведеться платити за кожен перехід на Ваш сайт. Навіть якщо відвідувач не є потенційним споживачем Вашої послуги або товару, Вам все одно потрібно буде заплатити за його перехід на сайт.

Якби Ваш сайт займав першу позицію у результатах пошуку за потрібним Вам ключовим запитом, то за кожен перехід платити б не довелося і Ви б змогли оптимізувати свої витрати на Інтернет-рекламу.

Ранжуючи порядок видачі сайтів у результатах пошуку, пошукова система керується багатьма чинниками. Але за великим рахунком, впливати ми можемо тільки на два:

  • Наповнення сайту (Контент повинен бути оптимізованим під потрібний Вам набір ключових слів (ключове слово - це фраза, яку може ввести споживач Ваших товарів або послуг в рядку пошуку)).
  • Кількість покликань (кількість сайтів, які покликаються на сторінки Вашого сайту).

Тут слід звертати увагу на певні чинники: наявність і унікальність метатегів, щільність ключових слів, унікальність контенту, тематики і рейтинг ресурсів «донорів» і т.д.

Телефонуйте нам, і ми виведемо Ваш ресурс на першу сторінку (ТОП-10) у пошуковій видачі по визначеному наборові ключових слів.

Більш докладно про методи просування розказано на сторінках нашого сайту, присвяченого виключно Інтернет-проектам та Інтернет-рекламі.

Супровід

Часто до нас звертаються із проханням зайнятися супроводом сайту або Інтернет-магазину. Що ж таке супровід сайту? Під супроводом ми розуміємо комплекс заходів, спрямованих на розвиток Інтернет-ресурсу. Практика показує, що у першу чергу Інтернет-аудиторії цікаві «живі» Інтернет-майданчики. Наприклад, відвідувач може не зацікавитися товарами або послугами компанії, яка кілька років не оновлювала свою інформацію та інформаційну стрічку.

Супровід сайту може враховувати:

  • Допомогу в ефективному наповненні сайту. Правильно оформлений контент дуже вартісний з точки зору пошукових систем і просування сайту в мережі Інтернет. Іноді ми рекомендуємо довірити наповнення сайту професіоналам (фахівцям із SEO оптимізації);
  • Незначні зміни дизайну (адаптація зовнішнього вигляду під пори року, свята і т.п.);
  • Зміни програмного плану (наприклад, через деякий час Ви можете вирішити, що для Вас найбільш прийнятна авторизація через соціальні мережі або можливість залишати коментарі до новин Вашого сайту і ін.);
  • Відстеження і аналіз відвідуваності сайту, а також результи індексації сайту пошуковими системами;
  • Правильна індексація сайту пошуковими системами (своєчасне вилучення дубльованих сторінок в індексі), правильний редирект у кінцевому результаті позитивно позначається на відвідуваності ресурсу (перевірка індексації та аналіз відвідуваності часто виконуються в рамках процедур по просуванню сайту).

Оскільки до супроводу сайту можуть зараховуватися різні види робіт, заздалегідь передбачити його вартість просто неможливо. На практиці ми намагаємося оцінити час, який буде витрачено на оновлення контенту і аналогічні завдання, і , виходячи з цього, можемо оцінити кінцевий бюджет виконання робіт із супроводу сайту.