Pull to refresh
7
0
Игорь Штельмах @WebPhd

User

Send message

С 01.01.2012 украинские айтишники-ЧП будут платить налог в размере 5% от дохода

Reading time2 min
Views4K
Читать дальше →

Изучаем Javascript перебирая косточки Backbone.js

Reading time10 min
Views37K
В этом посте любитель javascript тряхнет костями, доставая что-нибудь полезно-интересное из исходника Backbone.

Тут не будет рассматриваться вопрос применения библиотеки, это на Хабре уже давно сделали, а будет простой конспект-шпаргалка по js с примерами, в роли примеров — сам Backbone.
Читать дальше →

Как заставить данные говорить

Reading time8 min
Views14K
Как только Google Analytics или Яндекс.Метрика публикуют новость о новом отчёте, метрике или обновлении интерфейса и всё сообщество ликует, я испытываю лёгкое головокружение. Но не от радости. Для меня это сигнал о том, что в ближайшее время вместо того, чтобы работать над качеством продукта, мы начнем изучать системы аналитики. Погоня за количеством данных вытеснила стремление к качеству анализа на задворки потребностей. Точность стала важнее тренда, а на сайтах теперь стоят по 3-5 счётчиков от разных систем аналитики.



Данных много не бывает? Ещё как бывает. Вспомните про парадокс данных, который отлично сформулировал Авинаш Кошик. Недостаток данных не позволяет принимать решения, но и изобилие не даёт представление о том, что происходит.

Так не пора ли приступить к поискам ответов? Я расскажу об универсальном методе, который помогает мне делать выводы, а еще приносит огромное удовольствие в работе с информацией. Чтобы далекие от интернет-маркетинга и веб-аналитики пользователи не заскучали, для примера я взяла тему из нашей с вами повседневной реальности.

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

Как использовать API сайта, у которого нет API?

Reading time4 min
Views81K
У меня достаточно часто появляется задача получить данные от стороннего сайта, при этом далеко не всегда этот сайт предоставляет возможность удобно получить эти данные через API. Единственное решение в таком случае — парсить html содержимое страниц. Когда-то я писал регэкспы, потом появились библиотеки, позволяющие получить нужное содержимое по css-селектору, а сейчас и это кажется сложной задачей, которую хотелось бы упростить.

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

Набор иконок Material Design от Google

Reading time1 min
Views107K


В списке самых популярных репозиториев Github за неделю на первое место вышел набор иконок Material Design, разработанный в компании Google.

Набор содержит аж 750 (!) глифов. Это пиктограммы, часто используемые в различных мобильных приложениях для воспроизведения медиа, коммуникаций, редактирования контента, установки соединения и т.д.
Читать дальше →

Как отлаживать свой мозг

Reading time4 min
Views211K
Перевод статьи Оливера Эмбертона (Oliver Emberton) «How to debug your brain». Оригинал можно найти здесь.

Наши мозги – самое глючное барахло после Internet Explorer.


Для воспроизведения одного распространенного бага, попробуйте приказать себе «пойти в тренажерку». Мозги большей части людей в ответ обновят статус в Facebook и примутся за просмотр роликов с котятами. Это не ожидаемое поведение.

image

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

Свои карты на leaflet.js

Reading time2 min
Views47K
В городе Красноярске намечено проведение Универсиады в 2019 году, в связи с этим и не только администрация Красноярска проводит разработку генерального плана территориального развития города до 2033 года. Недавно чиновники выложили схемы генерального плана на сайте администрации города для общественного обсуждения. Но вот незадача: просмотр и анализ схем неудобен, потому что файлы имеют большие размеры и разрешение. Например, файл основной схемы имеет размер 43,34Мб и разрешение 19256x16019px. У меня компьютер тормозит при просмотре такой картинки.

Немного поскриптовав с коллегами, сделали вот такую интерактивную карту antirek.github.io/krskmap/main/index.html



Далее немного подробнее, как сделать свою карту на leaflet.js из картинки с большим разрешением.

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

Yii 2.0. Релиз

Reading time9 min
Views90K
После трёх лет интенсивной разработки и почти 10000 коммитов более 300 авторов вышла стабильная версия PHP фреймворка Yii 2.0! Спасибо за поддержку и терпение!

Как вы, возможно, уже знаете, Yii 2.0 был переписан с нуля. Это решение было принято, так как мы хотели получить отличный PHP фреймворк, который сохранит простоту и расширяемость Yii и, в то же время, будет использовать свежие технологии и возможности, чтобы стать ещё лучше. Сегодня мы рады сообщить, что цель достигнута.

Немного полезных ссылок про Yii и Yii 2.0:



Далее мы рассмотрим самые интересные возможности новой версии. Если вы спешите попробовать фреймворк в деле, начните с чтения раздела руководства Getting Started.

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

Объекты в JavaScript и создание JS-компонента. Часть 1

Reading time8 min
Views24K
Эта статья — первая часть туториала об ООП в JavaScript и о создании простого JS-компонента.

Об объектах и JavaScript


Думайте об объекте, как о совокупности каких-то вещей. Например, представьте, что у вас есть велосипед. Этот велосипед является объектом, и он имеет совокупность каких-то признаков / частей / etc, называющихся свойствами объекта. Примером такого свойства может служить модель велосипеда, год его производства, его детали. Детали также могут иметь собственный набор свойств.
Читать дальше →

Как накормить мозг программиста… или feed your brain

Reading time12 min
Views376K

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

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

Облачные автотесты Selenium + Ubuntu (пошаговая инструкция)

Reading time4 min
Views35K
В данной публикации я расскажу о том, как подружить Linux (ubuntu server 14.04) с Selenium Server v.2.43.1, о подводных камнях и зачем мне в облаке понадобился сервер для автоматических тестов.

image

Не так давно на Хабре была опубликована статья «Автотесты – барское дело». Я считаю, что в команде, где более 2-х разработчиков работают над одним проектом — это просто необоходимая вещь. Когда я работал один, обходился без тестов. Проект писался с нуля, код я знал как свои 5 пальцев. Компания росла очень быстро — в месте с ней и количество задач. Появились новые разработчики, тут то и начались проблемы. Пишем один функционал — отваливается другой. Не подумайте, такое случалось редко, но такие ошибки стоили дорого и нужно было с этим бороться. В это время я принял решение ввести автотесты в процесс разработки, о чем ни капли не жалею.

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

Управление домашними электроприборами («умный дом») через чат бот на Raspberry Pi

Reading time9 min
Views67K
В данном проекте запускаем своё iOS, Android или Web приложение, а также пишем (вернее, чуть дописываем) чат бот на питоне, который управляет розетками через радио модуль, подключенный к Raspberry Pi.

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

Интересно?
Читаем дальше..

Не стоит бояться использовать HandlerSocket

Reading time12 min
Views20K

(пример работы протокола HandlerSocket на картинке)

Вступление


В предыдущем проекте возникла потребность в разгрузке базы данных, тогда жизнь и столкнула меня с HandlerSocket`ом.

HandlerSocket — это протокол, реализованный в одноимённом плагине для РСУБД MySQL, позволяющий использовать NoSQL методику для доступа к данным, хранящимся в InnoDB таблицах. Основная причина, по которой используют NoSQL решения — это очень быстрый поиск по первичному ключу.

Еще про HandlerSocket
HandlerSocket работает как демон внутри процесса mysql, принимая TCP соединения и выполняя запросы клиентов. Он не поддерживает SQL запросы, вместо этого он предоставляет простой язык запросов для CRUD операций с таблицами. Именно поэтому он гораздо быстрее mysqld/libmysql в некоторых случаях:

HandlerSocket оперирует данными без парсинга SQL запроса, что приводит к уменьшению загрузки процессора.
Он поддерживает пакетное выполнение запросов. Можно отправить несколько запросов сразу и получить результат за один раз, что опять же снижает нагрузку на процессор и на сеть.
Протокол HandlerSocket более компактный, чем у mysql/libmysql, что приводит к сокращению нагрузки на сеть.

Подробнее можно почитать здесь:



Под катом вас ожидает:
  • Новая библиотека для работы с HS, написанная на PHP;
  • Сравнение производительности существующих решений + нового;
  • Symfony2 bundle для работы с HS;
  • Плагины к Munin для мониторинга активности HS;
  • Разные мысли вслух и рассказы о «шишках».

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

Несколько интересностей и полезностей для веб-разработчика #29

Reading time4 min
Views54K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

HumHub



Открытая социальная сеть, построенная на Yii — достойный аналог Diaspora. Разработчики вообще говорят, что это фреймворк, который предоставляет инструменты для лёгкой и продуктивной командной работы. Гибкая модульная система и ряд плагинов: заметки, таск-менеджер, календарь, голосование, рассылки и др. Еще HumHub — это очень красиво. Клевый современный интерфейс, асинхронность, всплывающие подсказки и прочие детали.

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

Семейный бизнес в сфере IT. Кто такой Энергослон

Reading time6 min
Views37K
image
Если вы не знакомы с предысторией, то обязательно прочтите:

Предисловие


Вернемся в прошлое, в сентябрь 2011 года. Тогда мы впервые всерьез задумались о запуске своего проекта. Я говорю «всерьез» потому, что на этот раз мы не ограничились обсуждением идеи и мечтами о будущем. Все просчитали, подготовили бизнес-план и принялись искать инвесторов.

Идея заключалась в разработке онлайн-бухгалтерии для индивидуальных предпринимателей и ООО на упрощенке. Наверняка вы знаете сервис Эльба, дочерний проект многомиллионной компании СКБ Контур? Так вот, основатели Эльбы и не догадываются, что в 2011 году их бизнес был под угрозой. Молодые и амбициозные Аня и Саша из Краснодара были решительно настроены составить им конкуренцию.

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

Шесть шагов подготовки данных для аналитического CRM

Reading time7 min
Views13K
Одной из задач, с которой я столкнулся в должности директора по развитию в компании, занимающейся оптовой торговлей запчастями, был поиск «серебряной пули» в организации продаж. После первых контактов с ключевыми клиентами я чувствовал, что они ожидают от компании предвидения их потребностей. А для этого необходимо комплексное видение факторов, влияющих на отношения с клиентами. Наличие под рукой полной понятной информации о клиенте и его сегменте может привести к более результативным кросс-продажам.

Первые же рабочие дни позволили мне увидеть, что принятие решений основывалось в компании на “интуитивных” чувствах, а не проверенных фактах, т.к. оперативно представить информацию с разных сторон не представлялось возможным. На краткосрочные решения влияли эмоциональные ощущения и интуиция.

Мне предстояло найти ответы на два вопроса:

О клиентах. Почему клиенты уходят, что влияет на их прибыльность, как они принимают решения о закупках того или иного товара/бренда, чем их привлечь?
О товарах. Как оптимизировать продуктовую линейку, какие товары стоит предлагать конкретному покупателю, как потребители реагируют на определенный товар/бренд?

Вот что было сделано в такой ситуации.

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

Активная аналитика для вашего проекта

Reading time8 min
Views7.8K
Возьмем за условие задачи e-commerce проект (интернет-магазин или другой b2c интернет-сервис). Наделим этот магазин классной командой: внятным руководством, скорыми на честные решения маркетологами, гибкой разработкой (готовой быстро реагировать на изменяющиеся требования). Дадим ему некоторый уровень количественной успешности (пусть будет от 1000 заказов в сутки). Предположим что проект этот — пока еще стартап (или недавно им был). И он когда-нибудь обязательно захватит мир. Но пока что не сподобился внедрить систему разряда ERP/CRM для работы с большими объемами заказов/клиентов.

Что обычно происходит в активной стадии развития такого бизнеса? Маркетинг всеми силами изыскивает способы:

  • расширить аудиторию и каналы привлечения клиентов;
  • увеличить качество услуг;
  • реализовать программы лояльности для удержания хороших клиентов;
  • развивать партнерские сети.


И вычитывает и выдумывает другие мирозахватнические бизнес-модели.



А что в разработке?

Интерфейс программирования презентаций на impress.js

Reading time3 min
Views6.5K
image
impress.js – популярный фреймворк предназначенный для создания впечатляющих презентация просто в браузере. Правда браузер для этого должен поддерживать CSS3 3d трансформации.

Подробный разбор моментов связанных с построением презентации и отображением отдельных слайдов был проведен в предыдущей публикации. Тогда за пределами нашего внимания остались возможности управления презентацией через API фреймворка. Для тех, кому мало получаемых «из коробки» возможностей impress.js, разберем его простой и компактный API.
Читать дальше →

Запуск Android-приложений под Windows, OS X, Linux в Chrome

Reading time1 min
Views75K
archon

Корпорация Google довольно давно добавила Android-приложения в каталог Chrome Web Store, позволяя запускать ряд таких приложений на Chromebook или Chromebox. Не так давно несколько разработчиков сообщили, что есть возможность запускать и другие Android-приложения, не из каталога Chrome Web Store. Правда, перед запуском такие приложения нужно специальным образом подготовить.

Благодаря такой подготовке Android-приложения можно запускать не только на Chromebook, но и работать с ними в Windows, OS X, и Linux. Причем приложения запускаются, как нативные.

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

Веб-компоненты в реализации Polymer от Google

Reading time6 min
Views98K

Веб-компоненты — это новая эра веб-разработки и почувствовать ее мощь можно уже сегодня при помощи Polymer от Google. Вы можете создавать свои собственные «элементы» (тэги), содержащие шаблон и инкапсулированные стили и логику (js), а так же воспользоваться богатой коллекцией уже готовых элементов.
Заинтересовались? Прошу под кат.

Information

Rating
Does not participate
Location
Винница, Винницкая обл., Украина
Date of birth
Registered
Activity