Search
Write a publication
Pull to refresh
0
0
Mirror @Mirror

User

Send message

Google App Engine (GAE) против Amazon Web Services (AWS)

Reading time7 min
Views11K

Вступление:


Наиболее интересная часть разработки обычно приходится на первые 33% жизненного цикла проекта. А самое интересное — это создание чернового прототипа, демонстрирующего вашу идею. После этого момента возбуждение начинает постепенно снижаться по мере того, как вы начинаете высматривать, что бы подштопать, и стараетесь сделать ваше приложение достаточно масштабируемым, чтобы оно могло выдержать свою успешность. В настоящее время я — актёр-одиночка, так что с одной стороны у меня нет ресурсов, чтобы самому возиться с железом, а с другой — у моих проектов нет потребности в дата-центрах.

Цель моего анализа — сравнить двух основных игроков в мире облачных вычислений, Google App Engine (GAE) и Amazon Web Services (AWS). Оба неслабо разогнались за последние годы, но кто из них больше мне подойдёт? Давайте разбираться.
Читать дальше →

Принцип цикады и почему он важен для веб-дизайнеров

Reading time6 min
Views236K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →

Плагинизация классов

Reading time2 min
Views1.8K
Как-то медитируя на свой новый велосипед подумал, – А почему бы не заложить в него возможность «плагинизации» контроллеров?

Чтобы вот был, например, у нас некий базовый класс Generic.php:
<?php
class Generic
{
  public function Hello() {
    echo 'Hello!';
  }
}
?>


А мы такие взяли и повешали бы на него пару плагинов, которые дополнят/изменят какие-либо его методы не мешая друг-другу (по принципу «кто первый встал – того и тапки»).

Вот они красавцы:
PluginFoo.php:
<?php
class PluginFoo extends Generic_PluginFoo
{
  public function Hello() {
    echo 'Dudes?<br />';
    parent::Hello();
  }
}
?>

и PluginBar.php:
<?php
class PluginBar extends Generic_PluginBar
{
  public function Hello() {
    parent::Hello();
    echo '<br />O.o';
  }
}
?>


А потом мы создали бы объект родительского класса (не обращаясь к последнему потомку), вызвали метод Hello() и тот сказал бы нам:
Dudes?
Hello!
O.o


Ниже лаконичный вариант того как описанного поведения добился ort в своём LiveStreet, а затем уже и я в своём собственном велосипеде.
Читать дальше →

Работа с Google Fusion Tables — JS и PHP

Reading time7 min
Views14K
Summary: Возникла задача — создать высоконагруженное веб-приложение при крайне ограниченных ресурсах сервера.
В качестве хранилища данных был выбран Fusion Tables от Google.
Что описано в статье: работа с Fusion Tables из
а) Javascript — только выборка данных;
б) PHP (Zend Framework) — выборка, добавление и обновление;
в) пользовательский интерфейс от Google — создание таблиц и представлений.
Чего нет в статье:
а) нагрузочного тестирования;
б) подробного описания приложения — упор делается именно на использование Fusion Tables в своих PHP+Js проектах.

У компании Google есть большое количество различных продуктов. — без банальностей.
Только ленивый веб-программист не использовал в своих проектах карты от Google. Просто вставляется, красиво выглядит, не грузит собственный сервер, удобный, хорошо документированный (по крайней мере для v.2) API, высокая по крайней мере, не низкая скорость работы — плюсы есть. «Возможно, FT тоже будет приятным» — подумал я. Правда, не проверял. И вот результат.
Читать дальше →

Fixber: подбирай тестировщиков под проект

Reading time2 min
Views1K
Привет, Хабражители!

Сегодня мы обновили FIXber — площадку услуг по тестированию ПО и всем, кому интересно, предлагаем ознакомиться с новыми доработками.

Со своей стороны могу сказать, что одной из интересных доработок является возможность для заказчиков подбирать и приглашать тестировщиков в свой проект, основываясь на их опыте, знаниях и умениях.



Описание новых возможностей площадки (со скриншотами) под катом.

Читать дальше →

Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)

Reading time1 min
Views33K
image
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
Читать дальше →

Переписываем проект с Zend Framework на Rails

Reading time9 min
Views7.9K
Около пяти месяцев назад я завязал с zend framework и пересел на рельсы. Тогда же начал переписывать свой проект www.okinfo.ru. Сейчас он уже закончен и sloccount показал что количество строк в проекте уменьшилось с 15000 до 4000. Мои знакомые php разработчики попросили success story и в итоге родилась эта статья. В ней я опишу как оно было, а так же немного расскажу о своем переходе на ruby.
Читать дальше →

Регулярные выражения, пособие для новичков. Часть 1

Reading time14 min
Views920K
Регулярные выражения (РВ) это, по существу, крошечный язык программирования, встроенный в Python и доступный при помощи модуля re. Используя его, вы указывается правила для множества возможных строк, которые вы хотите проверить; это множество может содержать английские фразы, или адреса электронной почты, или TeX команды, или все что угодно. С помощью РВ вы можете задавать вопросы, такие как «Соответствует ли эта строка шаблону?», или «Совпадает ли шаблон где-нибудь с этой строкой?». Вы можете также использовать регулярные выражения, чтобы изменить строку или разбить ее на части различными способами.
Читать дальше →

Регулярные выражения, пособие для новичков. Часть 2

Reading time18 min
Views263K
В первой половине этого пособия мы раскрыли лишь малую часть возможностей регулярных выражений. Во второй, большей, половине мы рассмотрим некоторые новые метасимволы, то, как использовать группы для получения частей совпавшего текста, разбивать строки, находить и замещать части текста. В конце немного поговорим о распространенных ошибках.
Читать дальше →

Применение алгоритмов нечеткого поиска в PHP

Reading time7 min
Views31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →

Любой, даже самый небольшой Интернет-магазин, может принимать к оплате карты

Reading time1 min
Views17K
Новые условия, которые предложил своим пользователям QIWI Кошелек, могут быть интересны не только простым пользователям, но и представителям небольшого интернет-бизнеса и фрилансерам, принимающим оплату на электронные кошельки. С минимальными потерями для покупателя и продавца:
  1. Комиссии за совершение покупок в QIWI Кошельке и его пополнение банковскими картами в очередной раз снижены. Для держателей карт, эмитированных Альфа-Банком, она составила 0,5%, остальных банков постсоветских стран – 0,75%. А для клиентов Райффайзенбанка комиссия 0%.
  2. Переводы между пользователями QIWI Кошелька теперь совершаются без комиссии.
А это значит, что любой, даже самый небольшой бизнес, подключенный к QIWI Кошельку или фрилансер, работающий с системой, может принимать платежи банковскими картами, выпущенными банками стран бывшего СССР. Для совершения платежа клиенту того же фрилансера достаточно зарегистрировать в QIWI Кошельке свою банковскую карту и сделать перевод на Кошелек исполнителя или магазина.

Спасибо.

Скорость и стоимость работы с данными Google App Engine в таблицах

Reading time5 min
Views2.6K
Столкнувшись с вопросом выбора базы данных для проекта, провел небольшое исследование Google App Engine на предмет скорости работы с данными. Результаты исследования оформил в виде таблиц.

Эти подсчеты сэкономят время тем, кто ищет площадку для размещения своего проекта, но не уверен подходит ли ему Google App Engine. Кроме того эти таблицы можно использовать как некую «шпаргалку», чтобы примерно ориентироваться сколько времени займет обработка запроса и как его лучше оптимизировать.

image

Читать дальше →

Локализация интерфейса сайта с использованием PHP, Smarty и Gettext

Reading time3 min
Views27K
Все началось с того, что к существующему сайту понадобилось добавить русскую локализацию. После того как я изучал в течение нескольких дней эту тему и наступил множественные грабли, я в конце-концов получил рабочий сайт. А теперь хочу поделиться рецептом многоязычной локализации.
Проверено и отработано на PHP 5.3.3 (Linux)/PHP 5.3.1 (Windows) + Smarty 3.0.7. В данном случае для существующего сайта на английском создавалась русскоязычная версия.
Я не провожу ликбеза на тему «как это работает» (он есть на phpclub), но предлагаю простую инструкцию и описание возможных проблем, с которыми я сталкивался во время реализации.
Погрузиться в дебри локализации

Новый конкурс на создание HTML5-приложений!

Reading time1 min
Views753
image

Запущен новый конкурс для веб-разработчиков, которые создают приложения нового типа на HTML5 уже сегодня. Конкурс под названием Dev:unplugged предлагает разработчикам участвовать в соревновании в трех категориях для создания наиболее интересных игр, музыкальных приложений и инновационных приложений.

Условие конкурса простое: участники должны использовать только современные веб-стандарты, без применения плагинов для браузеров.

Категория инновационных приложений имеет несколько подкатегорий с разными спонсорами:
  • лучшее использование геолокации – спонсор Foursquare;
  • лучшее применение Pinned Sites – спонсор Microsoft;
  • лучшее применение Canvas и SVG -  спонсор FWA;
  • инновации в дизайне и UX – спонсор Carsonified.
Разработчиков-победителей ожидают отличные призы:
  • супер-приз – $9000 и оплаченная поездка на конференцию Future of Web Apps Las Vegas;
  • лучшее игровое приложение – $5000;
  • лучшее музыкальное приложение – $5000;
  • инновационное приложение – все победители получат планшеты ASUS Eee Slate;
  • другие заметные проекты получат Xbox 360.
Условия конкурса, категории и призы опубликованы на официльном сайте по адресу http://www.beautyoftheweb.com/#/unplugged

Сроки конкурса следующие:
— 3/1 – Contest Opens (submit early, don’t miss a chance to get voted-up!)
— 4/5 – Submission gallery opens to the public and voting begins!
— 5/9 – Submission deadline
— 5/12 – Top-40 Finalists are announced
— 5/23 – Winners are announced!

P.S… Хотелось бы так же напомнить о том что продолжается конкурс «Прикрепленных сайтов». И у вас есть еще немного времени чтобы принять участие в этом конкурсе.

Плагины VIM о которых следует знать, часть 1: surround.vim

Reading time3 min
Views16K
Топик — вольный перевод статьи Vim Plugins You Should Know About, Part I: surround.vim Петериса Круминса.

UPD: вторая часть

Что такое плагин surround.vim? Вот что говорит о нем автор, Тим Поп (Tim Pope):

Surround.vim работает со всем, что «окружает»: скобками, кавычками, тегами XML и т.п. Плагин предоставляет сочетания клавиш, которыми можно легко удалять, изменять и добавлять пары таких окружающих элементов.
Читать дальше →

Набор инструментов для построения графиков, блок-схем и диаграмм

Reading time3 min
Views180K


Есть много разных сервисов, облегчающих жизнь веб-разработчику или дизайнеру, в том числе создающих разные графики, диаграммы, блок-схемы и т.д. Ниже представлена небольшая подборка.
(Осторожно, много изображений)
Читать дальше →

Базовые рекомендации для повышения безопасности *nix веб-сервера

Reading time3 min
Views25K
Вдохновившись статьей о поиске следов взлома, решил написать статью о предупреждении взлома и базовых шагах для сведения возможности взлома сервера к минимуму.
Все шаги крайне важны, и невозможно выделить самый-самый важный, либо второстепенный.
Данная статья не является пошаговой инструкцией, а лишь списком рекомендуемых шагов.
Читать дальше →

LSB стеганография

Reading time4 min
Views60K
Когда-то давно я написал свой первый пост на хабре. И посвящён тот пост был весьма интересной проблеме, а именно стеганографии. Конечно, решение, предложенное в том старом топике, нельзя назвать стеганографией в истинном смысле этого слова. Это всего лишь игра с форматами файлов, но, тем не менее, довольно интересная игра.

Сегодня мы попробуем копнуть чуть-чуть глубже и рассмотрим алгоритм LSB. Если вам интересно, милости прошу под кат. (Под катом трафик: около мегабайта.)
Читать дальше →

RTFM на Яндексе

Reading time2 min
Views10K
У любого программиста по пятьдесят раз на дню возникает задача «сходить в документацию и посмотреть параметры функции». Хорошо, если данную задачу успешно решает IDE, но это не всегда так, и поэтому существует большой поток «программистских» запросов к поиску. Мы решили сэкономить программистам время на поиск в документации, и показывать интересующий их ответ прямо в поисковой выдаче ― в специальном колдунщике. Это официальная версия, которую мы сказали руководству. На самом деле, мы – сами программисты, и сделали колдунщик, чтобы нам было проще работать. Не цитируйте этот пост в блогах, а то нас «попалят» :)



Все описания, которые можно увидеть в колдунщике для программистов, взяты из официальных руководств по программированию и справочных материалов. Сейчас колдунщик знает больше десятка популярных языков программирования, языков разметки, API и окружений (Perl, PHP, PostgreSQL, Python, C/C++/STL, Win32, Java, HTML/CSS/JavaScript, MySQL), разумеется, отличая одинаково называемые операторы из разных языков, если язык в запросе задан явно (например, перловский print от print из PHP).

В некоторых случаях вы можете воспользоваться «поиском для программистов» даже не задавая запрос. Например, если вам нужно уточнить, какие дочерние свойства бывают у font в CSS, просто наберите css font в строке поиска ― в саджесте будут перечислены все возможные варианты, согласно CSS Reference с W3Schools.



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

Если вы не нашли в нашем списке любимый язык программирования ― требуйте его прямо здесь, в комментариях.

Алексей Мирзоян, Евгений Крохалев, Сергей Рубаков, Анатолий Орлов и другие разработчики Яндекса.

Реляционные базы данных обречены?

Reading time14 min
Views156K
Примечание переводчика: хоть статья довольно старая (опубликована 2 года назад) и носит громкое название, в ней все же дается хорошее представление о различиях реляционных БД и NoSQL БД, их преимуществах и недостатках, а также приводится краткий обзор нереляционных хранилищ.

image
В последнее время появилось много нереляционных баз данных. Это говорит о том, что если вам нужна практически неограниченная масштабируемость по требованию, вам нужна нереляционная БД.

Если это правда, значит ли это, что могучие реляционные БД стали уязвимы? Значит ли это, что дни реляционных БД проходят и скоро совсем пройдут? В этой статье мы рассмотрим популярное течение нереляционных баз данных применительно к различным ситуациям и посмотрим, повлияет ли это на будущее реляционных БД.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity