Pull to refresh
17
0
Артур Геращенко @arturich

Технический менеджер / ex-teamlead

Send message

12 инструментов, о которых необходимо знать каждому программисту, работающему с Big Data

Reading time5 min
Views35K
Проектируете ли вы систему для анализа Big Data или просто пытаетесь собирать и обрабатывать данные своих мобильных приложений, вам никак не обойтись без качественных инструментов для аналитики. Хорошей новостью является то, что в данный момент множество компаний выпускают на рынок инструменты, учитывающие потребности разработчиков и соответствующие их навыкам.
Читать дальше →
Total votes 57: ↑47 and ↓10+37
Comments6

rCons — quake-style враппер для консоли в Windows

Reading time2 min
Views45K
В свое время при знакомстве с линуксом меня заинтриговала возможность вызова консоли в том виде, в каком это сделано в многочисленных играх. Из примеров подобных программ можно упомянуть Guake и Yakuake. Вменяемых вариантов под Windows найти не получилось, поэтому спустя какое-то время я созрел на написание своего варианта.


Читать дальше →
Total votes 88: ↑80 and ↓8+72
Comments151

Google Analytics: загрузка данных о расходах по рекламе из внешних источников

Reading time2 min
Views18K
Общеизвестно, что в плане подробных данных о рекламных источниках Google Analytics ранее узнавал только Google (AdWords & AdSense), приводя в отдельной группе отчетов «Реклама» статистику по стоимости, CTR, стоимости клика и т.п. Статистика в этот отчет передается только в том случае, если была настроена связка аккаунтов Google Analytics и Google AdWords/AdSense. Таким образом, если вам нужно было посчитать стоимость достижения определенной цели (например, заявки) или заказа по рекламным источникам, будьте добры выгрузить данные в Excel, добавить в них данные о расходах из каждой системы (Яндекс.Директ, Бегун, Вконтакте, FB, медийные площадки и пр.) и добавить расчетное поле: стоимость размещения / количество заказов или достижений цели. Плюс можно еще построить график для наглядности, в Excel’e или Google Spreadsheets.

В интерфейсе GA данные по конверсиям источников трафика были только в штуках и процентах, но не в деньгах. Недавно в Google Analytics появилась возможность Cost Data Upload (Анализ расходов — Public Beta). Исходно загрузка данных о расходах по источникам производиться из CSV-файла определенного формата за один день через API Google Analytics (подробнее в справке GA).

Итого для загрузки файла нужно:

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments8

Базовые стили и полезные CSS-сниппеты

Reading time6 min
Views148K


В этой статье собраны полезные  и «правильные» стили и сниппеты, которые помогут ускорить процесс разработки сайта, а также оптимизировать верстку.
Читать дальше →
Total votes 163: ↑118 and ↓45+73
Comments54

Дорабатывать или переписывать

Reading time3 min
Views17K
Основная мысль этой статьи: переписывайте с нуля работающий и внедренный проект только под дулом пистолета.

Если вы так не считаете, приглашаю прочитать мои скромные доводы на эту тему.
Total votes 184: ↑151 and ↓33+118
Comments182

PHPUnit: Mock объекты

Reading time7 min
Views92K
Довольно часто при написании модульных тестов нам приходится сталкиваться с тем, что тестируемый класс зависит от данных из внешних источников, состояние которых мы не можем контролировать. К таким источникам можно отнести далеко расположенную общедоступную базу данных или службу, датчик какого-нибудь физического процесса и пр. Либо нам необходимо убедиться, что некие действия выполняются в строго определенном порядке. В этих случаях к нам на помощь приходят Mock объекты (mock в переводе с английского — пародия), позволяя тестировать классы в изоляции от внешних зависимостей. Использованию Mock объектов в PHPUnit посвящается эта статья.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments7

FitNesse + TeamCity — добавь проекту тонуса

Reading time4 min
Views8K
Доброго времени суток, любители зажать конструируемую систему в рамки разнообразных тестов! Многие из вас пользуются средствами для создания системных тестов. Кто-то даже использует FitNesse, о котором на Хабре немного рассказывали. Поэтому не буду повторяться и писать про то, что такое FitNesse и с чем его едят. Лучше расскажу про то, как заставить проект «заниматься фитнесом» в процессе сборки, которая протекает при помощи TeamCity.
Интересненько? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments6

HTTP сервер за 15 минут

Reading time2 min
Views201K

Задача


За минимальное время написать HTTP сервер, который после запуска сможет корректно ответить браузеру и отдать простую HTML страничку (минимальное время, чтобы кода было мало, чтобы новичку вникать было проще).
У меня это заняло около 15 минут. Сервер вроде справляется с поставленной задачей.

Суть примера — показать что такое Socket, ServerSocket, InputStream, OutputStream, и Thread.

смотреть исходники
Total votes 163: ↑124 and ↓39+85
Comments77

NoSQL базы данных: понимаем суть

Reading time9 min
Views582K
В последнее время термин “NoSQL” стал очень модным и популярным, активно развиваются и продвигаются всевозможные программные решения под этой вывеской. Синонимом NoSQL стали огромные объемы данных, линейная масштабируемость, кластеры, отказоустойчивость, нереляционность. Однако, мало у кого есть четкое понимание, что же такое NoSQL хранилища, как появился этот термин и какими общими характеристиками они обладают. Попробуем устранить этот пробел.


Читать дальше →
Total votes 137: ↑133 and ↓4+129
Comments75

Модульный подход к разработке web-приложений с использованием JavaScript: AMD и RequireJS

Reading time3 min
Views161K
RequireJSПри разработке приложений с модульной структурой на JavaScript возникает две проблемы:
  • описание и удовлетворение зависимостей различных частей приложения, необходимость организации подключения зависимостей на серверной стороне;
  • экспорт переменных в глобальную область видимости и их коллизия.

Обе эти задачи решаются при использовании подхода Asynchronous Module Definition. Он сводится к описанию модулей функцией define и подключению их с помощью require. На данный момент есть несколько инструментов, реализующих AMD. Я начал своё знакомство с ними с RequireJS и был удивлён, насколько удобно и просто можно описывать зависимости модулей. Расскажу, как это работает, на простом примере.
Читать дальше →
Total votes 56: ↑50 and ↓6+44
Comments97

Красной таблетки не существует

Reading time5 min
Views128K

О чем это


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

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

На самом деле, после пары десятков проектов я пришел к выводу, что все это — не более чем заблуждения, и чудеса происходят только в книгах авторов, которые делают на своих бестселлерах миллионы. Или в головах консультантов, которые делают деньги, продавая вам фуфло в виде Agile, KPI и прочих умных слов.

Я не сделаю, возможно, в этом посте никаких открытий. Но сэкономлю вам пару лет, если вы решитесь поверить моему опыту.

Читать дальше →
Total votes 355: ↑326 and ↓29+297
Comments348

Терабайты файлов веб-проекта — храним и раздаем

Reading time5 min
Views22K
Всем привет!

В последнее время наметился интересный тренд — быстрое «распухание» веб-проектов до бесконечности. Объем данных многих популярных сайтов растет все быстрее и быстрее, их нужно куда-то девать, при этом эффективно бэкапить (весело будет, если файлы на 500Т потеряются :-) ), и конечно супербыстро раздавать клиентам, чтобы все их могли качать, качать, качать… на высокой скорости.

Для системного администратора задача даже редкого, ежедневного резервного копирования такого объема файлов навевает мысли о суициде, а менеджер веб-проекта просыпается в холодном поту от мысли о предстоящей профилактике датацентра на 6 часов (чтобы файлы перевести из одного датацентра в другой нужно пару раз загрузить багажник автомобиля винчестерами :-) ).

Коллеги с умным видом советуют приобрести одно из решений от NetApp, но, жаль, что бюджет у проекта в 1000 раз меньше, это вообще стартап… что делать будем?

В статье хочу разобрать частые кейсы дешевого и дорогого решения данной задачи — от простого к сложному. В конце статьи расскажу как задача решена в нашем флагманском продукте — всегда полезно сравнивать opensource-решения с коммерческими, мозгам нужна гимнастика.
Читать дальше →
Total votes 71: ↑43 and ↓28+15
Comments57

MVC умер, пришло время MOVE

Reading time3 min
Views76K
MVC феноменальная идея. У вас есть модели, самостоятельные кусочки состояний, представления которые самостоятельные кусочки UI, и контроллеры которые самостоятельные кусочки… эм?

Что?


Я конечно не первый кто это замечает, но проблема с MVC в том что в контроллеры пихают слишком много кода.

Чтобы исправить это, я использую новый паттерн: MOVE. Models, Operations, Views и Events.
Читать дальше →
Total votes 107: ↑71 and ↓36+35
Comments120

Главный принцип хорошего кода

Reading time9 min
Views86K
За двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.

Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут

Итак,
Total votes 168: ↑120 and ↓48+72
Comments174

JSON-RPC 2.0 и PHP

Reading time8 min
Views62K
Если вы разработчик, и у вас есть проект на PHP, и ему наконец-то понадобилось реализовать собственное API — эта статья определенно для вас ;).

JSON-RPC v1.0 появился в 2005 году, спустя 5 лет появилась и вторая версия. В век javascript'а и мобильных приложений многие разработчики до сих пор используют свои собственные велосипеды вместо готового простого стандарта.
Попробуем разобраться в вопросе
Total votes 51: ↑48 and ↓3+45
Comments26

Создание облачного сайта на PHP и MySQL и его развертывание с помощью Git

Reading time7 min
Views19K
Это руководство содержит сведения по созданию веб-сайта на базе PHP и MySQL в Windows Azure и его развертыванию с помощью Git. Для выполнения заданий нужно будет использовать установленные на компьютере PHP, средство командной строки MySQL (часть MySQL), веб-сервер и Git. Инструкции, содержащиеся в этом руководстве, можно выполнять в любой операционной системе, включая Windows, Mac и Linux. После выполнения всех действий будет создан веб-сайт PHP/MySQL, работающий на платформе Windows Azure.

О чем пойдет речь в данном руководстве:
  • Как создать веб-сайт Windows Azure и базу данных MySQL с помощью портала управления (предварительная версия). Поскольку на веб-сайтах Windows Azure технология PHP включена по умолчанию, для выполнения кода PHP никакие особые действия не требуются.
  • Как публиковать и повторно публиковать приложения на платформе Windows Azure с помощью Git.

Следуя инструкциям данного руководства, вы создадите простое веб-приложение на языке PHP для регистрации участников мероприятия. Это приложение будет размещено на веб-сайте Windows Azure. Ниже приведен снимок экрана готового приложения.

clip_image002
Читать дальше →
Total votes 26: ↑16 and ↓10+6
Comments11

Tinyicon — счетчик в favicon на js

Reading time1 min
Views4.1K
Tinyicon это небольшая библиотека для манипуляции с favicon сайта для передачи информации о новых событиях. Для браузеров не поддерживающих canvas счетчик отображается в title страницы.

image

Примеры и ссылки инсайд
Total votes 119: ↑113 and ↓6+107
Comments30

Piecon — динамическая круговая диаграмма в фавиконе

Reading time1 min
Views5.3K

Крошечная (2 килобайта в минифицированном виде) JavaScript-библиотека Piecon генерирует круговую диаграмму на месте фавикона. API предельно прост и состоит из трёх методов объекта Piecon.
Читать дальше →
Total votes 84: ↑78 and ↓6+72
Comments13

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity