Pull to refresh
0
0
Жандос @jandosul

Пользователь

Send message

Pinboard — прокачиваем Pinba для мониторинга PHP

Reading time2 min
Views30K
Intaro PinboardСуществует полезный и нужный инструмент для мониторинга PHP под названием pinba. Он позволяет собирать статистику по выполнению PHP-скриптов вашего проекта. Мы реализовали небольшую систему, которая дополняет Pinba, и назвали ее Pinboard (Pinba board).

Суть работы


Pinba хранит исключительно realtime-данные за последние несколько минут, что очень круто, но не всегда удобно. Pinboard же периодически агрегирует эти данные в собственное хранилище и предоставляет простые средства просмотра и анализа этой информации, а в ближайшем будущем и средства простейшего мониторинга.
Читать дальше →

UniFi 2.0 Хотспот для кафе и гостиниц. Офисный Wi-Fi. Обзор нового бесплатного контроллера

Reading time2 min
Views104K
Доброго дня всем.

С момента выхода системы Wi-Fi доступа UniFi от Ubiquiti Networks (правильно произносится: «Юбиквити») прошло больше года.
Первая версия системы, описанная в нашем посте, совершила маленькую революцию. Впервые появилась красивая, удобная, продуманная, при этом простая и очень дешевая система офисного Wi-Fi стандарта 802.11n.
Единственно, чего не хватало — это встроенного биллинга для создания Hotspot. И вот, пару дней назад вышла новая версия, где все это есть. О ней и расскажу.
Читать дальше →

Заметки для игры в бизнес

Reading time11 min
Views72K
Бизнес – это игра или нет? Я думаю да. А у любой игры должны быть правила.

Привет Хабр, меня зовут Александр. Сегодня я хотел бы поделиться с вами о том, как надо или не надо вести бизнес в сфере IT. Данные заметки я извлек из собственного опыта. Я не буду писать здесь книжными и в тоже время, зачастую, пустыми и скучными фразами. Здесь будет только то, что я почерпнул для себя работая на поприще самостоятельной работы, то есть не на дядю. Вся статья будет поделена на части. Во всех частях кроме первой, материал будет изложен в виде заметок, после каждой заметки я буду приводить пример из моей работы, чтобы не быть голословным. Поехали!
Читать дальше →

Использование разметки schema.org для логотипов организаций

Reading time1 min
Views33K
Уровень подготовки веб-мастера: любой

Теперь наша система поддерживает разметку schema.org для логотипов организаций. Это позволит вам выбрать логотип, который будет представлять ваш сайт в результатах поиска Google.

С помощью этой разметки вы можете указать системе, где находится ваш логотип. Например, если вы – владелец сайта www.example.com, можно использовать следующую разметку элементов на странице:

<div itemscope itemtype="http://schema.org/Organization">
<a itemprop="url" href="http://www.example.com/">Главная</a>
<img itemprop="logo" src="http://www.example.com/logo.png" />
</div>

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

Development Environment при помощи Vagrant и Chef

Reading time9 min
Views32K





В данной статье я постараюсь познакомить вас с замечательными утилитами Vagrant и Chef на примере автоматического конфигурирования development environment для PHP разработчика (на самом деле, PHP здесь только как пример, все нижеописанное может быть использовано для любого стека технологий).

Что будем делать?



Будем настраивать виртуальную машину (ВМ) с Ubuntu 12.04 для работы над проектом на PHP, а именно:

  • Apache
  • MySql
  • PHP 5.4
  • xDebug
  • Memcached
  • Composer
  • Настроим сразу Virtual Host на определенную папку, доступную как с виртуальной машины, так и с реальной. Всё это параметризируем для удобства создания и использования.
  • и другое..


Довольно занудное занятие, особенно если заниматься этим с некоторой периодичностью, поэтому мы заставим компьютер делать это самостоятельно.

Как это может помочь вам?



  • Вы не хотите «засорять» свою систему множеством утилит, программ
  • Вы хотите тестировать свой код в приближенных к production условиях
  • Вы хотите тестировать свой код на разных версиях той или иной платформы (помните, как Travis тестирует билды в различных конфигурациях, например Symfony на разных версиях PHP)
  • Вы не хотите больше помогать новому человеку на проекте (верстальщик, программист) устанавливать всё с нуля
  • Вы хотите, чтобы у каждого человека в команде была идентичная среда для работы над проектом


Всё это — реальность. Вопрос только «как?».

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

Автоматизация тестирования Web-приложений

Reading time13 min
Views107K


Автоматизация тестирования – место встречи двух дисциплин: разработки и тестирования. Наверное поэтому, я отношу эту практику к сложным, но интересным.

Путем проб и ошибок мы пришли к следующему технологическому стеку:
  1. SpecFlow (опционально): DSL
  2. NUnit: тестовый фреймворк
  3. PageObject + PageElements: UI-абстракиця
  4. Контекст тестирования (информация о целевом окружении, пользователях системы)
  5. Selenium.WebDriver

Для запуска тестов по расписанию мы используем TFS 2012 и TeamCity.
В статье я опишу, как мы к этому пришли, типовые ошибки и пути их решения.
Читать дальше →

uptodate.js — библиотека для автообновления элементов времени

Reading time1 min
Views18K
Как часто Вы используете конструкции вида «5 минут назад», «Полчаса назад» на вашем сайте? А что если пользователь открыл вкладку и забыл про нее на пару часов? «5 минут назад» явно теряет свою актуальность.
Именно для того чтобы исправить это досадное недоразумение служит uptodate.js

image

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

Bootstrap-wysiwyg: крошечный текстовый редактор

Reading time2 min
Views105K



Текстовый редактор bootstrap-wysiwyg — это всего 1.5 Кб в минифицированном и сжатом виде и чуть больше 6 Кб исходного кода, базовые функции редактирования на основе execCommand, drag-and-drop для вставки изображений, поддержка стандартных горячих клавиш и ничего лишнего. Редактор работает в современных браузерах (Chrome 26, Firefox 19, Safari 6) и на мобильных платформах (IOS 6 iPad/iPhone, Android 4.1.1 Chrome). Зависимости — jQuery, jQuery HotKeys и Bootstrap.
Читать дальше →

Web-сервер на базе Cowboy

Reading time10 min
Views35K
Привет!
В этом туториале я планирую показать тем, кто еще не знаком с веб-сервером Cowboy, как им пользоваться. Для людей, которые имеют опыт работы с ним, данный туториал врядли будет интересен, а вот для тех, кто знает о Ковбое лишь по наслышке — welcome!

Что мы будем делать:
  1. Простейшая установка и запуск сервера
  2. Краткий обзор роутинга, обслуживание статики
  3. Шаблонизация с помощью ErlyDTL (Django Template Language для Erlang)

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

«Бар желаний» к 8 марта на Python и Pyramid

Reading time12 min
Views23K
Как поздравить девушек на работе с прекрасным праздником весны? В этом году хотелось сделать что-то необычное, чем-то удивить их в дополнение к традиционным подаркам и цветам. Так появилось веб-приложение «Бар желаний», созданное за один день с помощью Python и Pyramid.



Может быть, после прочтения статьи кто-то решит повторно использовать «Бар желаний» для поздравлений. Возможно, кто-то откроет для себя Pyramid — веб-фреймворк, прекрасно подходящий для быстрого создания небольших веб-проектов. Наконец, можно просто забрать исходный код приложения с GitHub для использования в своих целях.

В статье показан процесс разработки небольшого веб-приложения, начиная с постановки задачи и проектирования и заканчивая развертыванием приложения на сервере. По ходу статьи приведены комментарии к реализации, которые объясняют на примерах некоторые принципы работы веб-приложений в общем и Pyramid в частности. Таким образом, статью можно рассматривать также как руководство по Pyramid для начинающих на примере реальной задачи.
Читать дальше →

Selenium 2.0 — WebDriver. Впечатления, проблемы и советы по использованию

Reading time13 min
Views35K

Введение


Последние три месяца мне пришлось работать с Selenium 2.0 (WebDriver).
В данной статье я опишу свои впечатления, мысли и опыт, который я приобрел.
Так же я опишу основные действия, которые чаще всего вызывают проблемы и покажу наиболее удачные решения, которые я смог реализовать для них. Возможно есть более правильные подходы — буду рад если оставите их в комментариях.
Читать дальше →

Как мы используем Trello и Google Docs, чтобы постоянно улучшать работу UserVoice

Reading time12 min
Views120K


Прошлой осенью, вернувшись из отпуска, я обнаружил, что Дехана, наш Product Manager в UserVoice, заменила мой любимый «Roadmap» в Google Docs на доску Trello.

Моя первоначальная реакция на такие перемены была отнюдь не положительной. Проблема заключалась не в самом Trello, а в том, как мы им пользовались. Trello – это ОЧЕНЬ открытый проект. Не существует единственного “правильного” способа работы в Trello, поэтому, чтобы чувствовать себя в нем как дома, вам потребуется время для настройки «под себя».

Итак, после долгих экспериментов, нам, кажется, удалось получить полностью устраивающую нас систему работы, и мы решили, что стоит поделиться ею со всеми. Этот пост будет длиннее, чем обычно, и если вы далеки от темы веб-разработки, он может показаться вам немного скучным. Если вы решите сразу перейти к части поста, посвящённой полученным урокам, я, несомненно, расстроюсь, но обижаться не стану.
Читать дальше →

Контроллер для умной теплицы

Reading time2 min
Views72K
image
Для умного дома есть куча решений, думаю, пора расширяться в сад.
Предлагаю обсудить проект контроллера для умной теплицы.

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

Вот примерный перечень того, что хочется видеть в конечном устройстве:

I этап — базовая функциональность
Минимум 8 каналов для датчиков (влажность воздуха внутри, температура воздуха внутри и снаружи, температура почвы внутри и снаружи, температура воздуха в канале вентиляции, освещенность, 1 резервный);
Отображение показаний датчиков на большом ЖК-дисплее (можно и LCD+тачскрин, но это вроде уже сильно дороже);
Управление исполнительными устройствами:
-открытие/закрытие кранов полива и залива бочек по заданной логике и показаниям датчиков;
-включение/выключение вентилятора (как в одну, так и в другую сторону) по показаниям датчиков и логике;
-включение ночью двух каналов LED-подсветки растений (синий и красный спектр) в разном соотношении, по заданному календарю.
Читать дальше →

Лучшие Android приложения для мобильной разработки

Reading time3 min
Views77K


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

Под катом я приведу список приложений для Android устройств, которые позволят вам эффективно заниматься разработкой с вашего мобильного устройства из любой точки мира.
Читать дальше →

Адаптивные баннеры на HTML5 и CSS3

Reading time6 min
Views157K
Адаптивный веб-дизайн — значительное достижение для всего Интернета. Мы больше не скованы давно устаревшей моделью «печатной страницы» со статическим содержимым, разбитым на области фиксированного размера. Сегодня Интернет способен жить, дышать и приспосабливаться, заполняя всё пространство, доступное на экранах различных устройств, начиная от мобильных телефонов — и вплоть до огромных видеодисплеев. Это то, какой и предполагалась Глобальная сеть.

Но есть небольшая проблема. Веб-сайты зачастую содержат баннерную рекламу и традиционные баннеры, не обладающие особой гибкостью. Как flash-, так и GIF-баннеры имеют фиксированные размеры, из-за чего несовместимы с современной адаптивной вёрсткой. Нам необходим новый метод создания баннерной рекламы. Нам нужны «адаптивные» баннеры...
Читать дальше →

Открытие компании в зарубежной юрисдикции для айтишника, фрилансера, разработчика мобильных приложений

Reading time4 min
Views167K
«Право налогоплательщика избегать уплаты налогов с использованием всех разрешенных законом способов никем не может быть оспорено. Каждый имеет право вести свои финансовые дела таким образом, чтобы свести соответствующие платежи к минимуму…»
Дж. Сандерленд,
Судья Верховного Суда США


После моей статьи про поиск инвестиций, я получил много просьб рассказать подробнее про открытие компании за рубежом, и осветить финансовые вопросы. В данном топике я попытался изложить основные моменты, не претендуя на истину в последней инстанции.
Читать дальше →

LiveReload на Node.js

Reading time3 min
Views46K

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


LiveReload — это утилита, которая позволяет автоматически перезагружать страницу в браузере при изменение её кода и ресурсов(html, css, js, images, etc) на сервере. Кроме того LiveReload позволяет применять изменения в CSS и JavaScript без перезагрузки страницы.
Читать дальше →

cPxStack — Nginx/PHP-FPM на сервере cPanel, без Apache!

Reading time2 min
Views9.4K
Плагин позволяет пользователю переключать Cpanel веб-сервер на Nginx и PHP-FPM, полностью выключая Apache.

image

Не только proxy-pass на Apache, a реализует полный стек Nginx + PHP-FPM без Apache!

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

Подборка инструментов для фронт-энд разработки

Reading time2 min
Views134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →

Навигация без перезагрузки используя expressjs, jade и History.js

Reading time5 min
Views20K
Мне ранее не доводилось использовать в своей работе такую возможность HTML5 как History API. И вот настал тот час, разобраться в этом и провести небольшой эксперимент. Результатом этого эксперимента я решил поделиться с Вами.

И так что мы хотим:
— Навигация по сайту с использованием history api
— Получения данных с сервера в виде json объекта с последующим рендером на клиенте
— При прямом переходе рендер должен происходить на сервере
— Что бы все было легко и просто
Читать дальше →

Information

Rating
Does not participate
Location
Казахстан
Date of birth
Registered
Activity