Как стать автором
Поиск
Написать публикацию
Обновить
12
0

Backend software engineer and tech lead

Отправить сообщение

Горизонтальное масштабирование PHP приложений. Часть 1

Время на прочтение5 мин
Количество просмотров32K

Итак вы сделали сайт. Всегда интересно и волнительно наблюдать как счетчик посещений медленно, но верно ползет вверх, с каждым днем показывая все лучшие результаты. Но однажды, когда вы этого не ждете, кто-то запостит ссылку на ваш ресурс на каком-нибудь Reddit или Hacker News (или на Хабре — прим. пер.), и ваш сервер ляжет.

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

Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)

Время на прочтение18 мин
Количество просмотров210K

1. Фильтры захвата


Анализаторы трафика являются полезным и эффективным инструментом в жизни администратора сети, они позволяют «увидеть» то что на самом деле передается в сети, чем упрощают диагностику разнообразных проблем или же изучение принципов работы тех или иных протоколов и технологий.
Однако в сети зачастую передается достаточно много разнообразных блоков данных, и если заставить вывести на экран все, что проходит через сетевой интерфейс, выделить то, что действительно необходимо, бывает проблематично.
Для решения этой проблемы в анализаторах трафика реализованы фильтры, которые разделены на два типа: фильтры захвата и фильтры отображения. Сегодня пойдет речь о первом типе фильтров – о фильтрах захвата.
Фильтры захвата, это разновидность фильтров, позволяющая ограничить захват кадров только теми, которые необходимы для анализа, уменьшив, таким образом, нагрузку на вычислительные ресурсы компьютера, а также упростив процесс анализа трафика.
Читать дальше →

Фондовый рынок: Как устроены биржи и зачем они нужны?

Время на прочтение5 мин
Количество просмотров228K
image

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

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

Пишем, собираем и запускаем HelloWorld для Android в блокноте

Время на прочтение10 мин
Количество просмотров131K


Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →

Как я начал работать на Odesk и Elance

Время на прочтение5 мин
Количество просмотров247K
Как-то полтора года назад я сидел в кафе на Арбате и думал о своем будущем. На тот момент работал программистом на полставки и учился в одном техническом ВУЗе. Все было стабильно, но хотелось чего-то большего – и я решил посмотреть, сколько зарабатывают хорошие программисты на фрилансе. Опыт «фрилансерства» у меня к тому моменту уже был, но впечатление осталось не самое лучшее — деньги маленькие, заказчики не всегда адекватные, один раз даже меня «кинули» с оплатой.

Я зашел на сайт всем известной российской фриланс-биржи и увидел, что за год моего отсутствия там ничего не изменилось: платят — мало, просят — много и так далее. Так у меня родилась идея посмотреть, что происходит на западе. Я нашел на Хабре статьи про иностранные биржи Odesk и Elance, почитал, подумал, как все сложно, и благополучно забыл про эту затею.
Что было дальше?

Программист вспоминает свои заблуждения

Время на прочтение6 мин
Количество просмотров36K
Давайте попробуем разобраться в ряде популярных заблуждений людей, начинающих свой бизнес: боязнь рассказать о своей идее, обязательное патентование, знание рынка до выхода на него и перфекционизм при разработке на начальном этапе. Буду рад рассказать вам об опыте борьбы с подобными «страхами», которые, не буду скрывать, и меня одолевали, когда только зарождался наш проект.

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

Как только я опишу идею, у меня её украдут, либо реализуют конкуренты


image

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

Парадокс предсказателя

Время на прочтение4 мин
Количество просмотров64K
В век информационных технологий все больше стало появляться экспертов-аналитиков, и даже предсказателей. Их задача — рассказывать о том, что произойдет через некоторое время, на что обращать внимание и какие тренды стоит ожидать в обозримом будущем. В статье хотел бы немного проанализировать различные виды предсказаний.

50/50


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

Такие моменты вызывают у меня смущение. Если идет речь о прогнозировании роста акций Apple, то через год мы увидим лишь одну развязку: стоимость либо упадет, либо увеличится, либо останется прежней в рамках некоего коридора. Это означает, что, как минимум, ⅔ “экспертов” ошибаются прямо сейчас в своих прогнозах и “экспертами” не могут быть по определению. Тем не менее, такое встречается сплошь и рядом.

50% — это вероятность встречи блондинки с живым динозавром на улице города. Она либо встретит его, либо нет. Так можно оценить логику некоторых экспертов, т.е. угадал/не угадал. Замечу, что 50% — это довольно таки большой процент вероятности прогноза, поэтому при большом количестве мнений вы всегда найдете того, кто угадает, что ничего не говорит о его реальных аналитических способностях.

То есть нужно научится отличать экспертное мнение от банального угадывания.
Читать дальше →

Лучшее время для изучения микроконтроллеров

Время на прочтение12 мин
Количество просмотров213K
image
Признайтесь, как часто вы думали о том, чтоб освоить азы программирования микроконтроллеров? Наверняка у вас есть в голове несколько идей потенциальных проектов, но воплощать их в жизнь вы так и не взялись. Так вот: лучше времени для старта, чем сейчас просто не найти.

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

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

Mercurial для параллельной работы с несколькими похожими проектами, часть 1

Время на прочтение2 мин
Количество просмотров2.5K

Введение


В статье рассматриваются несколько проблем (и полезных возможностей) при работе с mercurial и предлагаются варианты их решения.

Несколько проектов на одном фреймворке

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

Что же делать?
Читать дальше →

Bitcoin: реализация фермы из двух видеокарт ati 7850 на ubuntu

Время на прочтение6 мин
Количество просмотров76K

Доброе время суток, хабражители.


Это мой первый пост на получение инвайта за который дали инвайт (спасибо!). Ничего умнее не пришло в голову, чем отписаться о собственном опыте добычи bitcoin (BTC).
Сборка и настройка фермы добычи BTC уже описана и на Habrahabr, и на различных тематических площадках, пулах. Однако, в процессе вылезали всевозможные недоговорки статей, в связи с чем пришлось гуглить и производить тесты, в моем случае на работающем файловом сервере.
Итак, приступим:
Читать дальше →

Продающий дизайн интернет-магазина. Часть 1. Аналитика

Время на прочтение13 мин
Количество просмотров148K
Сегодня я хочу поговорить про дизайн интернет-магазина и подойти к этому вопросу основательно. В статье не будут затронуты другие аспекты связанные с интернет-магазинами, только дизайн. Эта первая часть статьи, она больше про аналитику и общие моменты, которые прорабатываются еще до интерфейсов, а вторая статья будет больше про сами интерфейсы.

Это первая статья. Всего их будет 3.

image

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

Делаем приставку — счётчик Гейгера к iPhone за 2 часа

Время на прочтение3 мин
Количество просмотров203K
image

UPD: Кто уже читал пост — пожалуйста зайдите и поучаствуйте в опросе. Спасибо большое!

Примерно полтора года назад на нескольких сетевых ресурсах, в том числе и на хабре, начали пиарить проект «До-ра» — приставку к iPhone, позволяющую измерять радиационный фон и делать много всего вкусного на основании получаемой со счётчика Гейгера информации. Статьи в новостях проекта упоминают несколько многомиллионных грантов, выделенных на разработку приборчика фондом «Сколково». Шли месяцы, «До-ра» всё никак не получалась, покупатели ждали, конкуренты не дремали. Так ли сложна «До-ра» как её малюют и как собрать за пару часов из подручных деталей в десять раз более чувствительный аналог я расскажу тем кто нажмёт на
кнопку

Tetris на javascript (в 30+ строк)

Время на прочтение2 мин
Количество просмотров59K
Решил поддержать тему!
image
Тетрис в 30+ строк js кода.
  • Знает все фигуры тетриса
  • Управление с клавиатуры
  • ВВЕРХ — фигурки крутятся по часовой стрелке
  • ВНИЗ — ускорить падение
  • Скорость падания постепенно увеличивается
  • Очки подсчитываются

ссылка на jsfiddle
Читать дальше →

Крошечный арканоид на JavaScript (30 строк кода)

Время на прочтение3 мин
Количество просмотров70K
Наблюдая за тем, как люди в 30 строк джаваскрипта умещают excel и змейку, я решил не отставать от прогресса, и создать что-нибудь подобное.
Итак, дамы и господа — 30ти строчный арканоид на чистом JS.


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

Гоночка на JavaScript (30 строк кода)

Время на прочтение2 мин
Количество просмотров94K
В продолжение недели ненормального программирования (как заметил phpcmsdev) решил написать игру в 30 строк кода. Так как тетрис, змейка и арканоид уже были сделаны, выбор пал на гоночки, которые входили в стандартный набор портативной игры.



Ссылка на fiddle.
Читать дальше →

Крошечный Excel на чистом JavaScript (30 строк кода)

Время на прочтение2 мин
Количество просмотров137K
Особенности:
  • Около 30 строк обычного JavaScript
  • Использованные библиотеки: отсутствуют
  • Синтаксис как в Excel (формулы начинаются с "=")
  • Поддерживаются произвольные выражения(=A1+B2*C3)
  • Обнаруживаются циклические ссылки
  • Автоматическое сохранение в localStorage

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

Крошечная змейка на JavaScript (30 строк кода)

Время на прочтение2 мин
Количество просмотров112K
Прочитав статью про excel в 30 строк, я загорелся глупой идеей — написать что-нибудь на 30 строк. Не долго думая остановился на змейке.

Особенности:
  • 30 строк необычного JavaScript (задача была уместить в 30 строк, так что код похлеще чем на ночных хакатонах)
  • Использованные библиотеки: отсутствуют



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

Реализация мечты, или Радио 86РК — 25 лет спустя

Время на прочтение13 мин
Количество просмотров185K
В уже далеком 1986 году у меня появилась мечта. Вернее, МЕЧТА – построить свою собственную микро-ЭВМ «Радио-86РК», схема которой была опубликована в журнале «Радио» (и который уже неоднократно упоминался на Хабре, например, здесь — habrahabr.ru/post/172405 ).
Читать дальше →

Используем старый рабочий сканер с пользой

Время на прочтение8 мин
Количество просмотров24K
О чём расскажет этот пост?
О том, как использовать старый сканер вместе с сервером под Debian для сканирования при нажатии кнопки, да ещё и с автоматической сортировкой.

Зачем это нужно?
Это подходит всем, кого не устраивают завалы бумаги на рабочем месте. К примеру:
  • Школьникам и студентам, тем, у кого актуальна тема груды накопившихся раздаточных материалов в школе, техникуме или университете.
  • Служащим в офисе, у которых таких же бумаг и писем накапливается великое множество
  • Простым людям — для сканирования всяких приходящих писем, счетов и чеков (как известно, чеки имеют свойство выцветать, именно в этом и заключается моя проблема — нужно будет сканировать большое количество чеков, а это не особо удобно)


Как я себе это представляю?
Да очень просто. Положил бумажку в сканер, нажал кнопку, дождался звукового сигнала о конце сканирования и обработки, вынул бумажку, при необходимости — GOTO 10.

И что у меня вышло?
Бесперебойно работающая система, которая также позволяет пакетное сканирование и автоматическую сортировку по папкам, логирование и прочие заморочки — что в скрипт впишешь, то и будет.
Читать дальше →

Как научить сканеры сканировать молча по кнопкам без окон и костылей?

Время на прочтение6 мин
Количество просмотров145K
Как заставить сканеры вообще (речь пойдет про Canoscan LIDE 210) молчаливо по кнопке сканировать файл с нужными параметрами в требуемую папку?

image


По-моему, это самая распространенная задача и для ее решения производитель нам дает самые нераспространенные решения.
В следующих версиях производители ну наверняка добавят в свой софт что-то вроде «отправить скан в facebook» или «поделиться в Twitter» но чтобы сделать тихий режим, настроить раз и сканировать без каких либо окон… до этого мы не доживем.

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

Информация

В рейтинге
1 552-й
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Технический директор
Ведущий
PHP
Laravel
Управление проектами