Pull to refresh
3
0
Шелепов Григорий @gof

PHP разработчик

Send message

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views98K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать
Total votes 246: ↑244 and ↓2+296
Comments296

Как мы перешли с Elastic на Grafana stack и сократили расходы в несколько раз

Reading time8 min
Views30K

Привет! Хочу поделиться историей миграции сервисов логирования и трейсинга с компонентов Elastic Stack на Grafana Stack и тем, что из этого вышло. До миграции у нас в М2 использовались достаточно классические схемы:

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments22

Прагматичный набор модификаций для Windows 10 на старом железе

Reading time7 min
Views44K

В статьях про раздувание софта часто упоминают лаги Windows 10/11. Главная причина — ожирение кода в новых версиях. Для работы ОС с каждым годом требуется всё больше ресурсов. После засорения системы приходится ждать 10–20 секунд, пока отрисуются пункты контекстного меню по правой кнопке…

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

Но что делать, если приходится поневоле сидеть под Win10/11? Тогда остаётся одно — бороться с ожирением софта хирургическим путём. А именно, отключить ненужные модули и компоненты, развестистый GUI, анимацию и спецэффекты, удалить лишний софт, почистить реестр. Другими словами, спустить жирок из системы. После мануальных процедур винда начинает шевелиться значительно бодрее.
Читать дальше →
Total votes 106: ↑51 and ↓55+21
Comments114

Водопровод в современной квартире

Reading time11 min
Views86K

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

Читать далее
Total votes 147: ↑130 and ↓17+156
Comments366

Как получить пароль WPA2 WiFi с помощью Aircrack-ng?

Reading time2 min
Views67K

Друзья, всех приветствую!

В этой статье я покажу вам как использовать airmon-ng (скрипты из пакета aircrack-ng) для обнаружения беспроводных сетей вокруг нас. Затем мы деаутентифицируем клиентов определенной беспроводной сети, чтобы перехватить handshake, а затем расшифруем его, чтобы найти пароль WiFi.

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

Прежде чем приступить к работе, давайте посмотрим, что нам понадобится.

Читать далее
Total votes 40: ↑22 and ↓18+9
Comments31

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

Reading time4 min
Views8K
image

Как всегда, все началось с идеи: а что если поискать корреляцию между индексом ММВБ и ценами акций, входящими в данный индекс, но только использовать цены следующего дня? Например, искать корреляцию между ценой закрытия индекса ММВБ на дату Х и ценой закрытия акции Газпрома на дату (X+1)? Зачем? Затем чтобы, зная цену закрытия индекса ММВБ сегодня, прогнозировать цену закрытия любой акции завтра.

Что получилось, читайте далее…
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments5

Kubernetes для разработчиков: какие знания нужны?

Reading time10 min
Views14K

В преддверии запуска Вечерней школы по Kubernetes, в этот раз для разработчиков, подготовили интервью с Павлом Селивановым архитектором в Mail.ru Cloud Solutions и Марселем Ибраевым CTO Слёрма. Речь пойдет о том, какие конкретно знания нужны разработчику в компаниях с Kubernetes, Павел и Марсель поделятся кейсами из своей практики.

Читать
Total votes 15: ↑14 and ↓1+19
Comments1

Глобальный дедлок и его обнаружение в локальной базе данных PostgreSQL

Reading time4 min
Views6.8K

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

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

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

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

Для начала в этом посте блога описывается, что такое глобальный дедлок и как он обрабатывается в существующем сейчас PostgreSQL. После этого будет рассмотрена обработка дедлока в распределенной среде.

Что такое дедлок?

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

Читать далее
Total votes 7: ↑5 and ↓2+5
Comments1

Как сконфигурировать GraphQL request с интерсепторами на примере JWT авторизации

Reading time6 min
Views2.9K

Ссылка на документацию по пакету: https://www.npmjs.com/package/graphql-request

Итак, приступим. 

Шаг 1. Устанавливаем пакет 

yarn add graphql-request graphql

Шаг 2. Создаем класс контекста запроса

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Изучаем данные, собранные Xiaomi Mi Band за год

Reading time3 min
Views84K

Введение


Люди носят фитнес-браслеты по разным причинам, я могу предположить некоторые из них:


  1. Для того, чтобы поддерживать себя в форме и выполнять цели по активности;
  2. Потому что это некая модная штучка;
  3. Чтобы ставить над собой эксперименты или узнать себя лучше.

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


Методы для извлечения этих данных работают для Mi Band 1, 1S и, возможно, 2 (приложение для 2, кажется, такое же).

Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments74

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 1: архитектура приложения, запуск Kubernetes и RabbitMQ

Reading time18 min
Views13K

О Kubernetes и его роли в построении микросервисных приложений известно, пожалуй, большинству современных IT-компаний. Однако при его внедрении часто возникает вопрос — какой вариант установки выбрать: Self-Hosted или Managed-решение от одного из облачных провайдеров. О недостатках первого варианта, думаю, известно всем, кто проходил через ручное конфигурирование K8s: сложно и трудоемко. Но в чем лучше Cloud-Native подход?

Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер (опыт в DevOps — 8 лет), покажу развертывание Kubernetes-кластера на базе облака Mail.ru Cloud Solutions. В этом цикле статей мы создадим MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. 

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments5

Как избавиться от разрыва кадров и задержки ввода в играх

Reading time6 min
Views73K
image

Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC это был вопрос «или-или». Можно добиться или картинки без разрыва кадров, или низкой задержки ввода. Но невозможно получить и то, и другое. Или можно?

Ответ на этот вопрос неоднозначен. Если у вас уже есть современный игровой монитор с поддержкой переменной частоты обновления (FreeSync или G-Sync), то вам эта статья вообще не нужна. Но если у вас обычный монитор с постоянной частотой обновления или если вы любите играть в игры на телевизоре, то данная статья поможет вам снизить разрыв кадров и задержку ввода.

Используя ограничение кадров с миллисекундной точностью в RTSS (Rivatuner Statistics Server), можно обеспечить vsync с низкой задержкой. Что мы получим в результате? Чёткую картинку без разрывов кадров и задержку ввода на 50 мс меньше, чем при обычном vsync.

Это одно из тех немногих улучшений PC, которые могут значительно повысить удобство в играх с минимальными компромиссами и совершенно бесплатно. Что же это такое? И как этого добиться? В этой статье мы расскажем всё подробно и шаг за шагом.
Читать дальше →
Total votes 21: ↑20 and ↓1+30
Comments7

Мощный мониторинг за пять минут с помощью Glances

Reading time3 min
Views25K


Допустим, что у нас не очень обширная инфраструктура: несколько небольших VPSок, подкроватник, NAS и два ноутбука, торчащих в сеть. Тем не менее, за ней всё равно надо приглядывать, и заниматься этим вручную раздражает всё больше с каждой новой машиной. Я стал искать систему мониторинга, которая могла бы не съедая лишних ресурсов агрегировать информацию отовсюду в единый дашборд, желательно без геморроя с настройкой. В итоге, как только десятки мелких консольных утилит были отброшены вместе с чрезмерно усложнёнными корпоративными хреновинами вроде Prometheus и RabbitMQ, поиск быстро привёл меня к Glances — утилите, берущей лучшее от обоих миров.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments18

Docker Compose: от разработки до продакшена

Reading time5 min
Views22K

Перевод транскрипции подкаста подготовлен в преддверии старта курса «Администратор Linux»





Docker Compose — это удивительный инструмент для создания рабочего
окружения для стека, используемого в вашем приложении. Он позволяет вам определять
каждый компонент вашего приложения, следуя четкому и простому синтаксису в YAML-
файлах
.

Читать дальше →
Total votes 13: ↑10 and ↓3+10
Comments12

Hack The Box. Прохождение Registry. Docker, RCE в CMS Bolt и Restic

Reading time5 min
Views5.7K
image

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье повозимся с docker regisrty, эксплуатируем RCE в CMS Bolt, а повышаем привилегии с помощью программы для резервного копирования Restic.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Total votes 9: ↑8 and ↓1+11
Comments0

Kali Linux получил режим визуальной мимикрии под Windows и другие особенности версии 2019.4

Reading time4 min
Views72K
В последнем обновлении популярный среди безопасников и хакеров дистрибутив Kali Linux получил любопытный режим «Undercover» — «под прикрытием», суть которого сводится к визуальной мимикрии под графическую оболочку Windows.


Привет, я Kali Linux!

Сами разработчики объяснили необходимость новой фичи Kali достаточно просто: «Undercover» нужен для работы в публичных местах, чтобы при этом не смущать окружающих и не вызывать подозрений. Ведь что может быть безобиднее, чем человек, который ковыряется в ноутбуке под управлением Windows?
Читать дальше →
Total votes 48: ↑46 and ↓2+56
Comments81

История Vim и руководство по его эффективному использованию

Reading time14 min
Views48K
Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона.

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




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



Список литературы


Чтобы выйти за границы привычных тем, я бы порекомендовал обзавестись бумажной копией этого руководства и емким карманным справочником. Я не смог найти печатную копию руководства пользователя для Vim, так что в итоге просто распечатал идущий вместе с редактором PDF-файл с помощью printme1.com. Он идет вместе с софтом в $VIMRUNTIME/doc/usr_??. В качестве удобного списка команд могу посоветовать справочник «Vi and Vim Editors Pocket».

Содержание

  • История
  • Иерархия конфигурации
  • Сторонние плагины
  • Бекапы и откаты
  • Include и path
  • Редактирование и компиляция цикла
  • Диффы и патчи
  • Буфер ввода / вывода
  • Типы файлов
  • Не забывайте про мышь
  • Разное

История


Рождение vi


Команды и функции Vi существуют уже более пятидесяти лет, начиная с редактора QED. Вот его таймлайн:
Читать дальше →
Total votes 36: ↑32 and ↓4+38
Comments14

Как не хранить секреты где придётся, или зачем нам Hashicorp Vault

Reading time11 min
Views102K

Vault header 


Задайте себе вопрос — как правильно хранить пароль от базы данных, которая используется вашим сервисом? В отдельном репозитории с секретами? В репозитории приложения? В системе деплоя (Jenkins, Teamcity, etc)? В системе управления конфигурациями? Только на личном компьютере? Только на серверах, на которых работает ваш сервис? В некоем хранилище секретов?
Зачем об этом думать? Чтобы минимизировать риски безопасности вашей инфраструктуры.
Начнём исследование вопроса с определения требований к хранению секретов.


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments14

Блокировки в PostgreSQL: 1. Блокировки отношений

Reading time14 min
Views99K
Два предыдущих цикла статей были посвящены изоляции и многоверсионности и журналированию.

В этом цикле мы поговорим о блокировках (locks). Я буду придерживаться этого термина, но в литературе может встретиться и другой: замóк.

Цикл будет состоять из четырех частей:

  1. Блокировки отношений (эта статья);
  2. Блокировки строк;
  3. Блокировки других объектов и предикатные блокировки;
  4. Блокировки в оперативной памяти.

Материал всех статей основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov, но не повторяет их дословно и предназначен для вдумчивого чтения и самостоятельного экспериментирования.
Читайте и другие серии.

Индексы:

  1. Механизм индексирования;
  2. Интерфейс метода доступа, классы и семейства операторов;
  3. Hash;
  4. B-tree;
  5. GiST;
  6. SP-GiST;
  7. GIN;
  8. RUM;
  9. BRIN;
  10. Bloom.

Изоляция и многоверсионность:

  1. Изоляция, как ее понимают стандарт и PostgreSQL;
  2. Слои, файлы, страницы — что творится на физическом уровне;
  3. Версии строк, виртуальные и вложенные транзакции;
  4. Снимки данных и видимость версий строк, горизонт событий;
  5. Внутристраничная очистка и HOT-обновления;
  6. Обычная очистка (vacuum);
  7. Автоматическая очистка (autovacuum);
  8. Переполнение счетчика транзакций и заморозка.

Журналирование:

  1. Буферный кеш;
  2. Журнал предзаписи — как устроен и как используется при восстановлении;
  3. Контрольная точка и фоновая запись — зачем нужны и как настраиваются;
  4. Настройка журнала — уровни и решаемые задачи, надежность и производительность.


Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments11

Зарисовки с PHP Russia 2019: чистый код, тёмная магия

Reading time10 min
Views7.7K


17 мая в московском «Инфопространстве» прошла первая профессиональная конференция для PHP-разработчиков PHP Russia 2019. После долгой паузы они получили полностью заточенную под них площадку; в анонсе мы сравнили её со стадионом, какого у пиэйчпишников, одной из команд «высшего IT-дивизиона», не было. И первый свой сезон «стадион» встретил как минимум достойно, с тем отличием от футбольного прообраза, что тут сложно провести строгое разделение между игроками и фанатами.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments6
1
23 ...

Information

Rating
5,996-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity