Pull to refresh
268
0
Виталий Игонин @persei

Engineering Manager

Send message

Хитрости с логированием в однопоточных неблокирующих серверах.

Reading time6 min
Views2.7K
Хочу рассказать об очередном результате моих изысканий в области оптимизации производительности Web-серверов.
На этот раз речь пойдет об оптимизации сложного логирования в однопоточном неблокирующем вэб-сервере.
Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments105

Мой путь в качестве дистанционного сотрудника :-)

Reading time5 min
Views1.1K
Трудовой инструментДавно хотела написать подобную статью, но всё никак времени не было, хотя его и сейчас нет, но зато есть повод. Полгода назад я работала в компании, которая занималась созданием веб-сайтов для местных компаний (г.Пенза). Всё было как обычно, да только вот руководство компании развелось и стало в компании жить невыносимо. Директор одно говорит, а директорша другое и часто у них были противоположные мнения. В общем-то в компании занималась разными задачами, приходилось кроме основных обязанностей и верстать и программировать на PHP, пришлось даже подружиться с Windows Server 2003. Но настал тот период, когда работать уже было просто невозможно — и я ушла.

По рекомендации близкого знакомого решила поискать работу в интернете. Составила резюме, отправила в несколько компаний и разместила несколько объявлений на форумах. Были разные предложения, в том числе и смешные. После месяца поиска отобрала три предложения, но все три были хоть и от серьёзных проектов, но были не очень понятными с точки зрения обязанностей и оплаты. Ещё в момент начала поиска мне знакомый порекомендовал одну компанию и вот как раз в эту компания я по рекомендации и устроилась, отбросив три остальных предложения. Устроилась на 8-ми часовую рабочую смену на должность сотрудника технической поддержки. Работа удалённая на известную хостинговую компанию. Теперь решила поведать Хабрачитателям о своём полугодовом пути.

Почитать дальше
Total votes 182: ↑79 and ↓103-24
Comments94

Простая реализация схемы шагового двигателя на мк

Reading time3 min
Views42K
И так, данный пост нацелен на новичков в электронике а так же на новичков в программировании и освоении мк и разработке радиоэлектронных устройств.
Данная разработка представляет простейшее включение МК такого как PIC16F84A для управления шаговым двигателем.
Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments79

Экстренная реанимация epmd

Reading time3 min
Views9.1K
(Проблема, по всей видимости, чрезвычайно экзотическая, но в плане «как оно внутри устроено» достаточно познавательная.)

Вот, допустим, работает у вас приложение, написанное на Эрланге (ну, скажем, тот же ejabberd). Давно работает, хорошо работает, но в один прекрасный день вы пытаетесь запустить управляющий скрипт (ejabberdctl, соответственно), а он вам выдает «nodedown» или еще что-нибудь страшное в этом духе, мол, не отзывается никто. При этом само приложение прекрасно отзывается на все клиентские запросы и слыхом не слыхивало о том, что оно down. По внезапному наитию вы запускаете epmd -names и — о, ужас! — получаете пустой список.

Программы на Эрланге используют для связи между собой нотацию node@host, физически же каждый узел (читай — системный процесс) открывает для этого случайный высокий порт. Задача сервиса epmd — связать между собой логическую адресацию по имени и физическую адресацию по номеру порта. Своего рода аналог DNS, с той разницей, что без реестра epmd кластер на Эрланге разваливается на кучку отдельных глухонемых узлов — что у нас только что по какой-то загадочной причине и произошло. Можно, конечно, начать искать виновных, но сначала все-таки неплохо бы поднять систему на место.

Что в такой ситуации делать? Можно, конечно, просто насильно перезапустить приложение, но, с одной стороны, клиенты отвалятся, с другой, такой красивый uptime жалко… Вот если б можно было как-нибудь восстановить реестр на живой системе, а?..

Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments12

Panasonic атакует

Reading time9 min
Views17K
image

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

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

А для тех кто часто употребляет фразы типа «это необъяснимый глюк», или «работа данного оборудования зависит от погоды и уровня осадков в южной зимбабве» эта статья просто «must read», ибо я убежден, что любое явление можно объяснить с помощью фактов, логики и здравого смысла. И это статья яркое тому подтверждение.
Читать дальше →
Total votes 270: ↑268 and ↓2+266
Comments99

OCR и нейронная сеть на Javascript

Reading time1 min
Views7.3K
Некий Shaun Friedle написал любопытный javascript который автоматизирует распознавание captcha на megaupload.

Пара любопытных особенностей скрипта:
  1. используется HTML 5 функция javascript getImageData для работы с пикселями;
  2. используется искусственная нейронная сеть для распознавания и работает довольно точно.

Пример работы: herecomethelizards.co.uk/mu_captcha
Исходник: userscripts.org/scripts/review/38736
Total votes 74: ↑74 and ↓0+74
Comments50

Улыбнитесь, Вас снимает скрытая камера!

Reading time4 min
Views20K
image
По долгу службы довелось мне тесно сотрудничать в области разного околокомпьютерного оборудования с одной крупной сетью супермаркетов. Чуть поменьше, чем «Metro» или «Wallmart», но тоже немаленькая и международная. На территории магазина продается много электроники, ювелирных изделий, есть отделы «элитных товаров» — к безопасности подходят серъёзно. За пару недель я неплохо познакомился с админами их сети и мне показали святую святых — зал видеонаблюдения службы безопасности. Собственно говоря, о том как, чем и зачем магазины такого уровня наблюдают за своими покупателями и будет статья.
Читать дальше →
Total votes 95: ↑95 and ↓0+95
Comments132

Работа с объектами в JavaScript: теория и практика

Reading time15 min
Views218K
В этой статье я хочу по возможности полно и последовательно рассказать о том, что такое объект в JavaScript, каковы его возможности, какие взаимоотношения могут строиться между объектами и какие способы «родного» наследования из этого вытекают, как это все влияет на производительность и что вообще со всем этим делать :)

В статье НЕ будет ни слова про: эмуляцию традиционной класс-объектной парадигмы, синтаксический сахар, обертки и фреймворки.

Сложность материала будет нарастать от начала к концу статьи, так что для профи первые части могут показаться скучными и банальными, но дальше будет намного интереснее :)

если не боимся многабуков, то читаем дальше
Total votes 104: ↑103 and ↓1+102
Comments216

PhpMathPublisher — математические формулы в HTML

Reading time2 min
Views13K
В одном из проектов возникла необходимость использования сложных математических формул в тексте. Вариант использования редакторов формул наподобие Microsoft Equation с последующим сохранением в виде картинки не подходит, так как необходима возможность легкого редактирования существующих формул.
Решение нашлось в виде PhpMathPublisher.
Подробнее под катом
Total votes 87: ↑82 and ↓5+77
Comments33

Кэширование и memcached

Reading time7 min
Views82K

Этим постом хочу открыть небольшую серию постов по материалам доклада на HighLoad++-2008. Впоследствии весь текст будет опубликован в виде одной большой PDF-ки.



Введение


Для начала, о названии серии постов: посты будут и о кэшировании в Web’е (в высоконагруженных Web-проектах), и о применении memcached для кэширования, и о других применениях memcached в Web-проектах. То есть все три составляющие названия в различных комбинациях будут освещены в этой серии постов.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments72

Кластеризация memcached и выбор ключа кэширования

Reading time4 min
Views23K
Серия постов под общим заглавием “Web, кэширование и memcached” продолжается. В первом мы поговорили о memcached, его архитектуре и возможном применении.

Сегодня речь пойдет о:
  • выборе ключа кэширования;
  • кластеризации memcached и алгоритмах распределения ключей.

Следующий пост будет посвящен атомарности операций и счетчикам в memcached.

Итак, поехали!
Total votes 61: ↑61 and ↓0+61
Comments42

Cisco. Первый выпуск. Соединяем две сети.

Reading time3 min
Views124K

Начнем.



image

С чего начинается Cisco-роутер? Правильно, с консольного кабеля.
Это тот светло-голубой провод с разъемами RS-232 и RJ-45, который шел вместе с оборудованием. Его нужно подключить к компьютеру к свободному COM порту. Теперь с вашим железом можно делать все что угодно. Если, конечно, не установлен пароль на консольные подключения (о том, как побороть чужой пароль на вашем железе поговорим позже).

Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments90

Information

Rating
Does not participate
Location
Ульяновск, Ульяновская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Engineering Manager
Lead
JavaScript
Python
PostgreSQL
Docker
Git
OOP
SQL
Django
Celery
React