Pull to refresh
52
0
Виктор Ягофаров @Nastradamus

DevOps, Kubernetes, Monitoring, Postgres, Golang

Send message

Гаджеты для бега: от простого к очень простому

Reading time6 min
Views203K
На Хабре уже не раз и не два обращались к теме поддержания физической формы, для такой профессии как айтишник, админ и тому подобные властители неведомого серверного оборудования.
Были темы и просто о пользе бега, со стандартной теоретической подготовкой, и о маленьком, но хитром специальном устройстве от Nike, украшающем беговой процесс. Однако нас, как людей технических до мозга костей, интересует иное: можно ли в процессе беговой тренировки, использовать всю мощь технического прогресса для достижения максимальных результатов?
Поэтому данная статья больше перекликается с давним описанием: нескольких беговых девайсов, с учетом прошедших лет и текущего положения дел в области приборов для спорта и бега.
Все, что описано в статье, испытано на собственном опыте, все скриншоты и результаты взяты из личных данных.

Исходные данные: один условный «айтишник», перешагнувший рубеж 30 лет, и 90 кг.
Необходимо: заинтересовать техногика простыми тренировками, помогающими сохранить физическую форму, сбросить вес и укрепить сердце.


А теперь встали и пошли на тренировку!
Total votes 55: ↑52 and ↓3+49
Comments179

mysqlcheck и optimize таблиц InnoDB

Reading time1 min
Views3.9K
Только что заметил, что если делать
mysqlcheck -o --repair db_name
и ваши таблицы в InnoDB, то не только не происходит repair (что и не должно, так как движок не поддерживает эту функцию), но и optimize не срабатывает.
То есть, база остается без optimize и вы этого не замечаете!

Если делать так:
mysqlcheck -o db_name
, то происходит пересоздание (recreate) каждой таблицы.

Из-за этого у меня optimize не выполнялся скриптом по крону уже полгода, с момента перехода с MyISAM на InnoDB.

PS: В моем случае используется innodb_file_per_table.
Total votes 15: ↑6 and ↓9-3
Comments5

Опыт создания распределенного офиса

Reading time5 min
Views4.7K


Здравствуйте, уважаемые Хабраюзеры!

Ночной кошмар руководителя – мысль о том, что сотрудникам не выдано задание и заработная плата проедается просто так. Хорошо бы ее уменьшить. А еще аренда дорогая. Расскажу, как я избавился от этих ночных кошмаров. Сразу скажу, что я не айтишник. Возможно, некоторые решения покажутся специалистам наивными. Но вопрос, на мой взгляд, актуальный.

Несколько лет назад, в тучные докризисные годы родной Белоруссии, когда непричастному к IT бизнесу проще всего было “привозить и толкать импорт”, мы сделали ставку на продвижение белорусской инженерной продукции на экспорт. Были оседланы пару КБ с сохранившимся оборудованием и жаждой выпускать что-то новое. Для реализации было открыто предприятие в России и дело пошло.

Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments17

История создания Absolute Games

Reading time13 min
Views23K
Статья, которую можно назвать “Тёмная история AG.ru”, представляет собой описание подробностей возникновения и развития проекта Absolute Games, которые смогли сообща вспомнить его создатели — Zombiek и ваш покорный (Sly). Статья написана по просьбам уважаемых хабровчан, интересующихся проектом.

Добавление от Зомбика: ну, моего в тексте мало — основные дифирамбы пойте Слаю. Я лишь дополнял статью техническими деталями, на которые у меня оказалась на редкость хорошая память.

Прошу прощения за сумбурное изложение — ностальгические слёзы периодически душили автора, запас салфеточек убывал с угрожающей скоростью. Также простите за непонятные слова — Фидо, ББС, резидентная программа, MS-DOS и пр. К сожалению, если расшифровывать их все, статья превратится в роман. А писать автобиографию мне ещё рано.
Читать дальше →
Total votes 261: ↑250 and ↓11+239
Comments131

Как купить акции IT-компаний на зарубежных биржах? (часть 1)

Reading time45 min
Views265K
Stock Investing for Dummies (theory)Многие из вас, читая на Хабре статьи об успешных IT-фирмах и быстро развивающихся высокотехнологичных компаниях, наверняка, задумывались о том, чтобы инвестировать свои деньги в их акции с целью получения прибыли, когда через несколько месяцев или даже лет рыночная стоимость этих акций заметно вырастет.

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

Но в итоге я всё же сделал усилие над собой: сначала немного вник в азы торговли акциями, а потом наконец решился и начал торговать акциями на фондовых рынках США (NYSE, NASDAQ, AMEX). И, самое главное, я понял, что купить акции — это не так уж и сложно, как казалось раньше, и даже не так затратно (в плане накладных расходов), как я предполагал. И в этой статье я хочу поделиться исключительно своим опытом в данной области в виде общих теоретических сведений и практического руководства (HOWTO) для новичков.

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

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

Разделил статью на две части:
  1. В первой части рассмотрим теоретические основы торговли акциями.
  2. Во второй части будет практическое руководство для новичков по покупке и продаже акций.
Кто заинтересовался, добро пожаловать под кат.
Total votes 42: ↑41 and ↓1+40
Comments59

Как сохранить здоровье, работая за компьютером?

Reading time8 min
Views106K
Иллюстрация

Вы заботитесь о своем здоровье?


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

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

Читать дальше →
Total votes 272: ↑259 and ↓13+246
Comments139

N900: жизнь без Nokia

Reading time5 min
Views12K
Ещё когда Nokia и Intel объявили о создании MeeGo стало ясно, что перспективы Nokia N900 и её Maemo 5 операционной системы не очень хороши. В скоре стало известно, что MeeGo официально не поддерживает N900, то есть сборку этой ОС для девайса делают добровольцы, не имея доступа к закрытым драйверам Nokia (что ведет к ряду проблем, как видно и из работы NITDroid).

Однако прошивка PR1.3 в итоге не стала последней, прошивки выходят каждую неделю! Также и нехватка игр перестала быть проблемой. Всё это произошло буквально за последние 2-3 месяца, и за хабракатом я расскажу, какие же возможности дало устройству сообщество.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments85

Почему я всегда покупал продукты компании Valve и почему я больше не сделаю этой ошибки

Reading time2 min
Views3.9K
Disclaimer: Данный пост написан мною как частным лицом. Этот пост не имеет никакого отношения к моему текущему месту работы.

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

За последние 5 лет я просмотрел много игр, но те, за которые мне захотелось бы заплатить были в меньшинстве. Платить за игру, которая надоедает через 10 минут — бессмысленно. Такие разработчики надеяться только на рекламу и неосведомленных покупателей.

Поэтому я выделил определенный список разработчиков, которым я готов платить деньги за их труд. Потому, что он доставляет мне удовольствие. В их число входила компания Valve. Half-Life был шедевром. А Half-Life 2 тоже очень хорошим продуктом. Как только выходила новая игра от Valve я знал, что её надо покупать. Дело не в том, что я не мог скачать игру с торентов. Я мог. Но я хотел поддержать компанию. И все равно, что большинство знакомых играет в пиратки — мне игра нравится — я за неё плачу. И буду надеятся что они выпустат версию под линух;)
Читать дальше →
Total votes 310: ↑189 and ↓121+68
Comments328

Определение местоположения по mac адресу роутера

Reading time1 min
Views168K
image

1. Узнаем MAC–адрес WiFi роутера, через который вы выходите в интернет. (Через веб–интерфейс, дать arp–запрос «arp -a», посмотреть на обратной стороне девайса.)

2. Заходим по адресу samy.pl/mapxss

3. Вбиваем в текстовое поле MAC–адрес и жмем «Search MAC».

Как это работает?
Читать дальше →
Total votes 109: ↑91 and ↓18+73
Comments283

Прямая работа с SMS-сервисом МТС: история одной интеграции

Reading time6 min
Views41K
Многие считают, что SMS — одна из причин того, что Твиттер так хорошо «выстрелил» на Западе. В США и ряде стран Европы твиты можно как публиковать, так и получать через SMS, при этом цена исходящего твита равна цене обыкновенной SMS, а входящие сообщения — бесплатны. Для пользователей без смартфонов (коих большинство) это значительно снижает порог на вход.

В этой статье я поделюсь опытом прямой интеграции с крупным российским сотовым оператором (обратите внимание: именно напрямую, а не через шлюзы), а также на вводном уровне порассуждаю об околоSMS-ных технологиях и протоколе SMPP — без скучных таблиц и спецификаций, в стиле короткой детективной истории.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments80

Разбираемся с прямым и обратным порядком байтов

Reading time11 min
Views202K
Перевод статьи Халида Азада — Understanding Big and Little Endian Byte Order

Проблемы с порядком байтов очень расстраивают, и я хочу избавить Вас от горя, которое довелось испытать мне. Вот ключевые тезы:
  • Проблема: Компьютеры, как и люди, говорят на разных языках. Одни записывают данные “слева направо” другие “справа налево”. При этом каждое устройство отлично считывает собственные данные — проблемы начинаются, когда один компьютер сохраняет данные, а другой пытается эти данные считать.
  • Решение: Принять некий общий формат (например, весь сетевой трафик передается в едином формате). Или всегда добавлять заголовок, описывающий формат хранения данных. Если считанный заголовок имеет обратный порядок, значит данные сохранены в другом формате и должны быть переконвертированы.

Читать дальше →
Total votes 71: ↑55 and ↓16+39
Comments32

Генерация ID для шардинга в MySQL

Reading time5 min
Views26K
Тема шардинга довольно обширная как с точки зрения программиста, так и с точки зрения администратора БД. Я сейчас хочу коснуться только вопросов генерации уникального ID сущности и алгоритмов выбора шарда.
Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments0

Проблемы со связностью интернета из-за разрастания BGP full-view

Reading time1 min
Views46K

Буду краток.
Размер BGP full-view приблизился к отметке в 512K записей, что начало приводить к проблемам у старых маршрутизаторов. Подвержены как минимум Cisco 7600, Cisco ASR 9000, Cisco ASR 1000 и Cisco Catalyst 6500.
Проблемы с доступом возникли, в частности, у Comcast, LastPass и eBay, местами недоступны российские ресурсы.
В качестве временного решения предлагается увеличение IPv4 таблицы маршрутизации за счёт таблицы IPv6.
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments70

SYN-флудим со спуффингом на 14 mpps или нагрузочная вилка V 2.0

Reading time6 min
Views19K
Что-то меня пробило на написание заметок последнее время, поэтому пока энтузиазм не спал раздаю долги.
Год назад я пришёл на хабр со статьёй "TCP(syn-flood)-netmap-generator производительностью 1,5 mpps", после которой многие писали и даже звонили с просьбой описать создание такой же «вилки» со спуффингом на максимуме возможностей 10GB сети. Я всем обещал, а руки всё не доходили.
Кто-то скажет, что это руководство для хакеров, но ведь свинья грязи найдёт, а те кому нужен этот инструмент в благонадёжных целях могу остаться ни с чем.

image
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments44

Как обрабатывать терабайты данных в 1000 потоков на PHP — Hadoop/MapReduce

Reading time6 min
Views36K
Всем привет!

Уже слышали про Bigdata? Ну да, веб растет, данных становится больше и их нужно держать под контролем и периодически анализировать. Базы данных — лопаются под нагрузкой, реляционная теория не совсем справляется с задачей, нужно решение. Маркетинг активно давит сверху, а железо острыми углами — снизу и попахивает суицидом.

В этом посте постараюсь дать конкретные работающие рецепты и куски кода с краткими теоретическими выводами, как же обрабатывать >=терабайты в >=1000 потоков на PHP. Чтобы можно было взять и решить задачу, не теряя времени и не забивая голову теорией.

Однако, если вдруг стало подташнивать и закружилась голова, можно дальше не читать — а полюбоваться на прекрасных птичек и забыть о вышенаписанном. Но будьте на чеку, Bigdata может завтра взять и постучаться в дверь ;-)

Читать дальше →
Total votes 61: ↑37 and ↓24+13
Comments52

Анти-руткит для Userland-RootKit Azazel «на коленке»

Reading time3 min
Views11K
Вот шикарная новость от пользователя ValdikSSНовый Userland-RootKit Azazel. Позволю себе процитировать первый абзац:

Возможно вы слышали про руткиты Jynx и Jynx2. Это так называемые userland-руткиты, они используют возможность переменной LD_PRELOAD, которая позволяет подгружать любые библиотеки до того, как будет запущена программа. Они уже относительно старые, но все еще хорошо работают.
2 дня назад, Github-пользователь Chokepoint выложил rootkit Azazel. Он основан на исходном коде Jynx и имеет много новых фич:

Антиотладочные механизмы
Скрытие от unhide, lsof, ps, ldd
Скрытие файлов и директорий
Скрытие удаленных подключений
Скрытие процессов
Скрытие логинов
Скрытие от локального сниффинга трафика через PCAP
2 бекдора с полноценными шеллами (с PTY):
— Crypthook accept()-бекдор
— Обычный accept()-бекдор
PAM-бекдор для аутентификации под любым пользователем
Очистка логов utmp/wtmp для PTY
Обфускация строк скомпилированной библиотеки через xor.


Таким образом, в рутките используется штатная возможность подгружать через LD_PRELOAD любую библиотеку. Встаёт вопрос, а можно ли это как-то контролировать?

Хочу узнать как
Total votes 31: ↑29 and ↓2+27
Comments12

Как вынудить процесс использовать новый адрес DNS-сервера из обновлённого resolv.conf без перезапуска самого процесса

Reading time4 min
Views13K
Я работаю системным администратором Unix. Однажды к нам в отдел эксплуатации сервисов упал тикет от программиста с выдержой из лога application-сервера в заголовке: "pgbouncer cannot connect to server". Посмотрев логи pgbouncer'ов, я увидел, что периодически возникают lookup fail'ы при обращении к нашим DNS. Было установленно, что это связано не с работой наших DNS-серверов, а с ненадёжностью самого протокола UDP: иногда возникают потери пакетов по разным причинам.
image
В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.

В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма).
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments18

Изучаем внутреннюю кухню ядра Linux с помощью /proc для быстрой диагностики и решения проблем

Reading time13 min
Views67K
Данная статья касается современных линуксов. Например, RHEL6 с ядрами 2.6.3х — подойдёт, а вот RHEL5 с ядрами 2.6.18 (кстати, наиболее популярный в продакшне) — увы, нет. И ещё — здесь не будет описания ядерных отладчиков или скриптов SytemTap; только старые-добрые простые команды вида «cat /proc/PID/xyz» в отношении некоторых полезных узлов файловой системы /proc.

Диагностика «тормозящего» процесса


Вот хороший пример часто возникающей проблемы, которую я воспроизвёл на своём лаптопе: пользователь жалуется, что команда find работает «значительно медленнее», при этом не возвращая никаких результатов. Зная, в чём дело, мы решили проблему. Однако меня попросили изложить систематический подход к решению подобных задач.

К счастью, система работает под управлением OEL6, т.е. на достаточно свежем ядре (а именно — 2.6.39 UEK2)

Итак, приступим к диагностике.
Подробности
Total votes 127: ↑125 and ↓2+123
Comments28

Ламповый Linux-like терминал в Windows

Reading time3 min
Views77K

Вступление (лирическое)


Привет, Хабр!

Для меня, автоматизатора-линуксоида, использвание Windows на основной рабочей станции первое время было просто болью и страданием. Но с этим я ничего поделать не мог: корпоративные стандарты и софт, кторый работает только на Windows. В попытке найти золотую середину, я прошёл три стадии. Сначала я только изредка переключался на винду по необходимости. Затем виртуалка на virtualbox-е с X-server-ом. После этого захотелось хоть чуть-чуть того консольного комфорта, который был на линуксе (я использовал Terminator в качестве основного терминала).

После яростного гугления и установки всех эмуляторов терминала под Windows, которые только удалось найти, оказалось, что нет ни одного хоть немного подходящего мне. А хотелось, чтобы вёл себя терминал максимально приближенно к линуксовым вариантам. Например, естественно нужны табы, сплит, выделение текста с прокруткой (когда нужно выделить больше чем один экран), копирование текста в буфер сразу при выделении и т.д.

В итоге я получил «комбайн» как на скриншоте ниже. О том, как это настроить, можно узнать, заглянув под кат.



Читать дальше →
Total votes 71: ↑50 and ↓21+29
Comments59

Wireshark — приручение акулы

Reading time10 min
Views1.1M


Wireshark — это достаточно известный инструмент для захвата и анализа сетевого трафика, фактически стандарт как для образования, так и для траблшутинга.
Wireshark работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс на основе GTK+ и мощнейшую систему фильтров.
Кроссплатформенный, работает в таких ОС как Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, и, естественно, Windows. Распространяется под лицензией GNU GPL v2. Доступен бесплатно на сайте wireshark.org.
Установка в системе Windows тривиальна — next, next, next.
Самая свежая на момент написания статьи версия – 1.10.3, она и будет участвовать в обзоре.

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

Начинаем плаванье


Для начала захвата достаточно выбрать свой сетевой интерфейс и нажать Start.
Читать дальше →
Total votes 207: ↑202 and ↓5+197
Comments60

Information

Rating
Does not participate
Location
Лермонтов, Ставропольский край, Россия
Date of birth
Registered
Activity