Как стать автором
Обновить
4
0
Иван Тищенко @Tihon_V

Веб-разработчик

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

Про 112, и как оно работает теперь

Время на прочтение4 мин
Количество просмотров46K
Не дождавшись юбилея чуть ли не единственного поста про службу 112 от 2009 года (здесь), хочу обновить информацию по этой симпатичной мне службе. Под катом описал текущее состояние службы у нас в Воронеже, но можно считать, что в течение года под это описание будет подходить система-112 в 80% субъектов РФ. А для тех, кому читать не интересно, скажу коротко: «В любой непонятной ситуации звоните в 112!»
Читать дальше →
Всего голосов 89: ↑88 и ↓1+87
Комментарии184

MikroTik — несколько адресов и несколько разных MAC на одном интерфейсе

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

Нечасто, но с завидной периодичностью на профильных форумах возникал один и тот же вопрос: «как на одном интерфейсе роутера MikroTik получить два IP-адреса с разными MAC?». Обычно этот вопрос остается без ответа, либо вопрошающему отвечают «никак». И действительно, задача нетривиальная. В стандартной конфигурации соблюдается правило «1 интерфейс = 1 MAC». В этой статье я расскажу как обойти это ограничение используя расширенный функционал MikroTik.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии19

Kali Linux: политика безопасности, защита компьютеров и сетевых служб

Время на прочтение8 мин
Количество просмотров52K
→ Часть 1. Kali Linux: политика безопасности, защита компьютеров и сетевых служб
→ Часть 2. Kali Linux: фильтрация трафика с помощью netfilter
→ Часть 3. Kali Linux: мониторинг и логирование
→ Часть 4. Kali Linux: упражнения по защите и мониторингу системы

Недавно мы задавали сообществу Хабра вопрос о целесообразности перевода книги «Kali Linux Revealed». Поразмыслив, приняв к сведению результаты голосования и комментарии к материалу, мы решили перевести некоторые части книги. Начнём с главы 7: «Защита и мониторинг Kali». В частности, в этом материале приведён перевод разделов 7.1-7.3, которые посвящены политике безопасности системы, защите серверов, ноутбуков и сетевых служб.


Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии1

AsyncIO для практикующего python-разработчика

Время на прочтение16 мин
Количество просмотров388K
Я помню тот момент, когда подумал «Как же медленно всё работает, что если я распараллелю вызовы?», а спустя 3 дня, взглянув на код, ничего не мог понять в жуткой каше из потоков, синхронизаторов и функций обратного вызова.

Тогда я познакомился с asyncio, и всё изменилось.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии12

Знай свой инструмент: Event Loop в libuv

Время на прочтение6 мин
Количество просмотров65K
image
Юдель Пэн. Часовщик. 1924

«Компьютер — это конечный автомат. Потоковое программирование нужно тем, кто не умеет программировать конечные автоматы» 
Алан Кокс, прим. Википедия


“Знай свой инструмент” — твердят все вокруг и все равно доверяют. Доверяют модулю, доверяют фреймворку, доверяют чужому примеру.

Излюбленный вопрос на собеседованиях по Node.js — это устройство Event Loop. И при всем том, очевидном факте, что прикладному разработчику эти знания будут полезны, мало кто пытается самостоятельно погрузиться в устройство событийного цикла. В основном, всех устраивает картинка сверху. Хоть это и похоже на пересказ фильма, который ты не смотрел, а о котором тебе рассказал друг.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии20

Продвинутый Jekyll

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

Jekyll — генератор статических сайтов. Это означает, что на вход ему даётся какая-либо информация, а на выходе получается набор HTML-страничек. Всё отлично когда сайт простой или даже одностраничный. Но что насчёт более сложных сайтов? Справится ли Jekyll? Будет ли удобно?


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

Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии19

Приемы построения корпоративных систем бюджетирования

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

Что такое системы бюджетирования, почему OLAP так хорошо для них подходит, зачем крупный бизнес тратит десятки и даже сотни миллионов рублей на их обслуживание?
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии3

UltraVNC как замена TeamViewer

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


Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии87

IP unnumbered в Debian или раздаем адреса экономно

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

При проектировании сети в новом месте хотелось новых плюшек:

  • В некоторой степени изолировать серверы клиентов от чужого трафика;
  • Не дать недобросовестным клиентам повесить себе на интерфейс адреса добросовестных;
  • При необходимости иметь возможность без особой нагрузки порезать трафик;
  • Иметь возможность дать клиенту любое количество IP-адресов.

Теоретически, все эти моменты решаются с помощью обычных VLAN. Однако, возникает проблема с перерасходом адресов — все же жалко клиенту, заказавшему сервер с одним адресом, отдавать сеть /30 и терять три адреса впустую. Также жалко адреса и в обратной ситуации — клиенту надо 6 доступных адресов, а в сеть /29 он уже не поместится, приходится выдавать сеть /28 и терять 7 штук.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии10

В чём сила Redux?

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

image


Это перевод статьи "What’s So Great About Redux?" (автор Justin Falcone), которая мне показалась весьма приятной и интересной для прочтения, enjoy!


Redux мастерски справляется со сложными взаимодействиями состояний, которые трудно передать с помощью состояния компонента React. По сути, это система передачи сообщений, которая встречается и в объектно-ориентированном программировании, но она не встроена непосредственно в язык, а реализована в виде библиотеки. Подобно ООП, Redux переводит контроль от вызывающего объекта к получателю — интерфейс не управляет состоянием напрямую, а передает ему сообщение для обработки.


В этом плане хранилище в Redux — это объект, редюсеры — это обработчики методов, а действия — это сообщения. Вызов store.dispatch({ type:"foo", payload:"bar" }) равносилен store.send(:foo, "bar") в Ruby. Middleware используется почти таким же образом, как в аспектно-ориентированном программировании (например, before_action в Rails), а с помощью connect в react-redux осуществляется внедрение зависимости.

Читать дальше →
Всего голосов 22: ↑14 и ↓8+6
Комментарии31

Антивирус на батниках в прошлом ㅡ пришло время сниффера на PowerShell

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


Все мы в качестве сниффера обычно используем готовые программы. Однако, можно обойтись и встроенными средствами Windows с помощью PowerShell. Помимо изобретения велосипеда «потому что можем», скрипты пригодятся в сценариях автоматизированного анализа трафика.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии3

Wi-Fi адаптер через OTG

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


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

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

Итак, как подключить внешний Wi-Fi адаптер к устройству на Android или бег с препятствиями на дистанции «вставил — netcfg wlan0 up»:
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии12

Добротный риалтайм на React и Socket.io

Время на прочтение7 мин
Количество просмотров48K
Сегодня поговорим о том, как наладить взаимодействие React-приложения с сервером, используя Socket.io, добившись при этом высокой скорости отклика приложения на события, которые генерирует сервер. Примеры кода рассчитаны на React или React Native. При этом концепции, изложенные здесь, универсальны, их можно применить и при разработке с использованием других фронтенд-фреймворков, таких, как Vue или Angular.

image

Итак, нам нужно, чтобы клиентское приложение реагировало на события, генерируемые на сервере. Обычно в подобных случаях речь идёт о приложениях реального времени. В таком сценарии сервер передаёт клиенту свежие данные по мере их появления. После того, как между клиентом и сервером будет установлено соединение, сервер, не полагаясь на запросы клиента, самостоятельно инициирует передачу данных.
Читать дальше →
Всего голосов 26: ↑17 и ↓9+8
Комментарии8

Зачем сетевику Python

Время на прочтение10 мин
Количество просмотров51K
«Сетевому администратору необходимо уметь программировать» — эта фраза часто вызывает возражения у многих сетевиков.

— Зачем? Руками оно надёжнее.
— Зато можно автоматизировать типовые операции.
— И положить кучу устройств, если что-то пойдёт не так?
— Положить кучу устройств можно и руками.

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

Если посмотреть в сторону производителей сетевого оборудования,
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии46

Основы CQRS

Время на прочтение14 мин
Количество просмотров104K
Данная статья основана на материале из различных статей по CQRS, а также проектов, где применялся такой подход.

Системы управления предприятиями, проектами, сотрудниками давно вошли в нашу жизнь. И пользователи таких enterprise приложений все более требовательны: возрастают требования к масштабируемости, сложность бизнес-логики, требования к системам меняются быстро, да и отчетность требуется в реальном времени.

Поэтому при разработке зачастую можно наблюдать одни и те же проблемы в организации кода и архитектуры, а также в их усложнении. При неправильном подходе к проектированию рано или поздно может наступить момент, когда код становится настолько сложным и запутанным, что каждое внесение изменений требует все больше времени и ресурсов.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии89

Яндекс открывает технологию машинного обучения CatBoost

Время на прочтение6 мин
Количество просмотров102K
Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

Всего голосов 216: ↑215 и ↓1+214
Комментарии128

Как мы упоролись и откалибровали кофе-машину на спектрофотометре

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


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

Добро пожаловать в мир безумия, ультрацентрифуг, спектрофотометрии кофе в специальных планшетах и небольшого количества python, pandas и seaborn, чтобы визуализировать все это безобразие.
Всего голосов 182: ↑180 и ↓2+178
Комментарии132

Tcl/Tk. Разработка графического пользовательского интерфейса для утилит командной строки

Время на прочтение4 мин
Количество просмотров28K
Тестируя облачный токен на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет. И в первую очередь это касается базовой утилиты p11conf, которая доступна для свободного использования и является утилитой командной строки, взаимодействие с которой осуществляется через стандартный ввод/вывод.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии32

Каково оно учить JavaScript в 2016

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


— Эй, я получил новый веб-проект, но, если честно, я не занимался веб-кодингом в течение нескольких лет, и я слышал, все немного поменялось. Ты же самый современный веб-разработчик, правда?

— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
Читать дальше →
Всего голосов 260: ↑238 и ↓22+216
Комментарии298

11 вещей которые я узнал, читая спецификацию flexbox

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

Я всегда считал, что с flexbox довольно легко работать — глоток свежего воздуха после стольких лет float'ов и clearfix'ов.


Правда недавно я обнаружил что борюсь с ним; что-то растягивалось, когда я не думал, что оно должно тянуться. Я поправил здесь, другой элемент сжался. Я починил это, что-то другое ушло за экран. Какого Джорджа Буша тут происходит?


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


Как бы там ни было, я решил что пора вести себя как взрослый разработчик и выучить flexbox должным образом. Но вместо того, чтобы прочитать 10 очередных блог-постов, я решил отправиться прямиком к исходнику и прочитать The CSS Flexible Box Layout Module Level 1 Spec


Вот хорошие отрывки.


Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии33

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность