Рубрика «Веб-разработка» - 136

Бесплатный семинар «Построение отказоустойчивых систем и разработка крупных проектов» Все мы, безусловно, мечтаем о том, что когда-нибудь наши проекты дорастут до масштабов Яндекса, Фейсбука, Гугла, будут работать на тысячах серверов, размещенных в десятках датацентров по всему миру, с аптаймом 99,99999%.

Так, конечно же, когда-нибудь будет. :) Но прежде, чем стать гуру системного администрирования и ассом веб-разработки, все равно нужно начать с азов. Для этого мы 20-го марта 2014 г. проводим в Москве бесплатный семинар «Построение отказоустойчивых систем и разработка крупных проектов».

Немного подробностей и ссылка на регистрацию под катом.

Читать полностью »

Инструменты, которые мы будем использовать

Docker

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

Собрав контейнер один раз, его можно многократно использовать.

Простой пример — это БД Redis. Если нам необходимо несколько серверов Redis на одном компьютере, при обычном подходе нам придется изменять конфигурационные файлы в /etc/redis и менять файлы в /etc/init.d. Можно написать bash скрипт, но это не делает процесс легче.
Читать полностью »

Представим, что мы делаем рекламную сеть или еще что-то подобное, где нужно отдать пользователям определенный JS код, вставив который в разные места страницы, там будут отображаться разные штуки. Баннеры, например. Наиболее часто встречаемые мной варианты были такие:

  • Обычная html вставка кода баннера (флешки, картинки).
  • Вставка iframe, где html код генерируется по отдельному запросу в ифрейме.
  • Когда на js через document.write пишется код для двух вышеуказанных способов.

Общее у этих подходов то, что баннеры загружаются по мере загрузки страницы и, если что-то будет тормозить, затормозит вся страница. Во-вторых, обновить код, который напрямую показывает баннер при выводе не странице, в массовом порядке будет проблематично. Возможно, это и не критично.

Но, помимо улучшения этих двух пунктов, давайте добавим еще два условия к нашей задаче и посмотрим, как ее хорошо решили зарубежные коллеги на buysellads.com. Нужно, чтобы баннерная зона могла показать любой код, а также в запросе за баннером отправить какую-либо информацию с другого нашего сервиса (например, id пользователя в нашем сервисе, который ведет историю действий на сайте).

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

Читать полностью »

Привет! Мы анонсируем результаты исследования, проведенного бизнес-школой РИК при экспертной поддержке Ruward по ситуации на кадровом рынке веб-разработчиков в России.

В рамках исследования был проведен анализ почти 400 анкет представителей компаний из сегмента веб-разработок, а также проведен мониторинг популярности вакансий на крупных порталах по трудоустройству.

Мы уже не первый год регулярно слышим от менеджеров и директоров вопрос: «где взять программистов?». Поэтому мы решили взяться за дело и приступить к решению этого вопроса. Для начала нам пришлось разобраться, какие вообще программисты нужны — и в каких количествах — именно для этого мы запустили открытый опрос в ноябре 2013 года.

Методика проведения исследования: онлайн-анкетирование представителей компаний из сегмента веб-разработок, собственный анализ профильных открытых вакансий на крупных порталах по трудоустройству.

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

Тысячи их

image
Читать полностью »

Скорочтение по технологии spritz на любом сайте

Совсем недавно, была представлена технология скорочтения spritz (500 слов в минуту без подготовки) она позволяет вам читать тексты намного быстрее, но, к сожалению, разработчик не реализовал тогда её в виде приложения для прочтения собственных текстов.

Теперь же, появился проект Squirt, который позволяет читать любой текст по технологии скорочтения от spritz, установив только 1 букмарклет.
Читать полностью »

На хабре не раз поднимался вопрос важности SOLID, в частности принцип открытости/закрытости кода. В данном посте я расскажу как реализовать его на PHP и через какие испытания прийдётся пройти.

Что это такое?

SOLID — это совокупность пяти основных принципов дизайна классов в ООП. Одни из них и является принцип открытости/закрытости кода. Он гласит, что программные сущности должны быть открыты для расширения, но закрыты для изменения.
Читать полностью »

Планируете писать приложение на AngularJS? Пишите через ASS Самые непристойные и отвратительные наши поступки, выходящие за всякие нормы морали и принципов, обычно начианаются со слов «А почему бы и нет?».

В данном посте я затрону вопросы проектирования приложения на AngularJS, философии, его архитектуры, сборки, пройдусь по разным полезным библиотекам и готовым архитектурным шаблонам. В довершение устрою небольшую Angular+Require.js+Grunt+Yeoman оргию, которую я назвал Angular-Super-Seed или чуть более скромно ASS-генератор.

Так что, если вы планируете писать приложение на Angular, то почему бы и нет?

Мотивация

  • «Поступай с людьми так, как хотел бы, чтобы поступили с тобой». Вдруг кому-то пригодится
  • Узнать что-нибудь новенькое как о себе, так и о разработке в комментариях.
  • Попиарить свой генератор приложения ASS.

Читать полностью »

Введение

Если Grunt — новое для вас слово, то вы можете сначала ознакомиться со статьей Криса Койерса «Grunt для людей, кто думает, что такие вещи как Grunt уродливы и тяжелы». После введения от Криса, у вас будет свой собственный Grunt проект и вы уже попробуете на вкус все возможности, которые Grunt нам предоставляет.

В этой статье мы сосредоточимся не на том, какие многочисленные плагины для Grunt стоит добавить к вашему проекту, а на процессе создания самой сборки. Вы получите практические навыки по следующим аспектам работы с Grunt:

  • Как сохранить ваш Gruntfile аккуратным и опрятным
  • Как сильно улучшить время вашей сборки
  • Как быть постоянно в курсе состояния сборки

Читать полностью »

Продолжение статьи о том, как написать небольшое полнофункциональное приложение на Go.

В первой части мы реализовали REST API и научились собирать приходящие HTTP запросы. В этой части, мы покроем наше приложение тестами, добавим красивый веб-интерфейс на основе AngularJS и Bootstrap, и внедрим ограничение доступа для разных пользователей.
Читать полностью »

В этой статье, я хотел бы рассказать вам, как можно достаточно быстро и легко написать небольшое веб-приложение на языке Go, который, не смотря на юнный возраст, успел завоевать расположение у многих разработчиков. Обычно, для подобных статей пишут искусственные приложения, вроде TODO листа. Мы же попробуем написать что-то полезное, что уже существует и используется.

Часто, при разработке сервисов, нужно понимать какие данные отправляются в другой сервис, а возможность перехватить траффик есть не всегда. И как раз для того, чтобы отлавливать подобные запросы, существует проект requestb.in/, позволяющий собирать запросы по определённому урлу и отображать их в веб-интерфейсе. Написанием подобного же приложения мы и займёмся. Чтобы немного упростить себе задачу, возьмём за основу какой-нибудь фреймворк, например Martini.

В конечном итоге, у нас должен будет получится вот такой вот сервис:

Пишем веб сервис на Go (часть первая)

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js