Как стать автором
Обновить
0
0

Пользователь

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

Зачем нам UML? Или как сохранить себе нервы и время

Время на прочтение5 мин
Количество просмотров267K
Многие программисты, столкнувшись со сложной задачей, пренебрегают этапом проектирования, ссылаясь на то, что проектирование — это потеря времени, и в данном случае оно будет мне только мешать.


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

Программисты, не использующие UML, делятся на несколько групп:

  • начну писать код, а в процессе пойму, что да как;
  • почитаю форумы, хабр, medium, stack overflow, книгу, записи на стенах, знаки свыше…;
  • поспрашиваю у коллег, может, кто-то знает, как решить подобную задачу;
  • начну рисовать квадратики и схематично покажу, какое видение задачи сформировалось у меня в сознании.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии67

Настройка параметров PostgreSQL для оптимизации производительности

Время на прочтение6 мин
Количество просмотров93K
По умолчанию конфигурация PostgreSQL не настроена для рабочей нагрузки. Значения по умолчанию установлены для обеспечения работоспособности PostgreSQL везде с наименьшим количеством ресурсов. Имеются настройки по умолчанию для всех параметров базы данных. Главной обязанностью администратора базы данных или разработчика является настройка PostgreSQL в соответствии с нагрузкой их системы. В этом блоге мы изложим основные рекомендации по настройке параметров базы данных PostgreSQL для повышения производительности базы данных в соответствии с рабочей нагрузкой.

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

Тем не менее, параметры базы данных тоже очень важны, поэтому давайте посмотрим на восемь, которые имеют наибольший потенциал для повышения производительности
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии21

Обходим Windows Defender дешево и сердито: meterpreter сессия через python

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

Всем привет. Сегодня рассмотрим вариант запуска meterpreter сессии на машине Windows 10 с самыми свежими патчами (включая Windows Defender). И все также будем обходить антивирусы. Meterpreter — расширенная многофункциональная начинка (payload, нагрузка), которая может быть динамически расширена во время выполнения. В нормальных условиях это обеспечивает вас основной оболочкой и позволяет вам добавлять новые особенности к ней по мере необходимости.
Будем мы это делать с помощью Python, и посмотрим, как поведут себя антивирусные средства.

Предугадывая вопрос «А нужен ли нам Python на машине жертвы для запуска ехе?», отвечу сразу – нет, не нужен, все уже внутри.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии13

«Сгоревшие» сотрудники: есть ли выход?

Время на прочтение18 мин
Количество просмотров157K
Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — живи да радуйся!

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

Что же делать? Как работать с Игнатом? Добро пожаловать под кат!


Всего голосов 224: ↑210 и ↓14+196
Комментарии400

Как мы пробивали Великий Китайский Фаервол (ч.1)

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

Всем привет!


На связи Никита — системный инженер из компании SЕMrush. Сегодня я расскажу вам о том, как перед нами встала задача обеспечить стабильность работы нашего сервиса semrush.com в Китае, и с какими проблемами мы столкнулись в ходе ее выполнения (учитывая местонахождение нашего дата-центра на восточном побережье США).


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



Проблемы китайского интернета


Даже самый далекий человек от специфики сетевого администрирования хотя бы раз, да слышал о Великом Китайском Фаерволе. Ууу, звучит круто, да? Но что это такое, как оно работает на самом деле — вопрос довольно сложный. В интернете можно найти много статей, посвященных этому, но с технической точки зрения устройство этого фаервола нигде не описано. Что, впрочем, неудивительно. Признаюсь сразу, по итогам года работы я не смогу сказать точно, как он работает, но смогу рассказать о своих замечаниях и практических выводах. И начнем мы со слухов об этом фаерволе.

Читать дальше →
Всего голосов 78: ↑73 и ↓5+68
Комментарии46

Разработка Chrome Extension вместе с Angular CLI

Время на прочтение3 мин
Количество просмотров4.7K
Разработкой расширений к Chrome я занимаюсь давно и за это время я прошел целый путь от Greasemonkey юзер-скриптов до полноценного Angular-приложения в оболочке chrome-extension. Моя задача в том, что я патчу некоторые уже работающие сайты, чтобы изменить их функционал и автоматизировать некоторые процессы на этих сайтах. Иногда моё приложение разрастается до больших масштабов и поддерживать plain-js расширение становится сложно (в приложении много настроек, CRUD функционала и тд). И тут на помощь приходит Angular.

В этой статье я расскажу вам как я подружил Chrome Extension и Angular CLI, и наладил процесс разработки, а также с какими трудностями я сталкивался и как их решал.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии1

Инженер Amazon создал блокирующее устройство с ИИ, которое не пускает в дом кота с уличной добычей

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

Инженер Amazon Бен Хэмм разработал умный блокиратор, который не дает его коту по кличке Метрик приносить внутрь дома пойманных охотничьими лапками и зубками и по факту уже мертвых птиц и крыс.
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии171

Zabbix, временные ряды и TimescaleDB

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

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

image
Всего голосов 18: ↑18 и ↓0+18
Комментарии15

Запускаем OpenVPN в Докере за 2 секунды

Время на прочтение3 мин
Количество просмотров71K
Привет, хабровчане! Сталкивались ли вы когда-либо с ситуацией, когда очень хотелось бы виртуально перенестись в другой город, страну или на другой континент? У меня такая необходимость возникает достаточно часто, поэтому возможность иметь свой VPN сервер, который можно запустить где угодно, за пару секунд, стоял достаточно остро.

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


Всего голосов 40: ↑31 и ↓9+22
Комментарии55

Читаем ВКонтакте через RSS

Время на прочтение4 мин
Количество просмотров33K
Возможно, я сильно отстал от жизни, но я практически не пользуюсь соцсетями, а собирать информацию об обновлениях интересующих меня сайтов предпочитаю через RSS. Но совсем от соцсетей не избавиться, некоторые полностью перешли туда, закинув сайты (ну или rss-каналы на этих сайтах).

Потому нужен какой-то парсер, который будет брать информацию со страницы в соцсети и представлять её в виде rss-канала, который я могу отдать своей RSS-читалке.

image
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии28

50 избранных материалов о заработке музыкантов, звуке в играх и кино, необычных инструментах и хорошо забытом старом

Время на прочтение4 мин
Количество просмотров4.3K
Это — мегаподборка из нашего блога на Хабре и «Мира Hi-Fi», настоящего тематического медиа, для которого мы подготовили и опубликовали сотни материалов на тему звука и аудитехники.

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

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

Подводные камни WSUS Package Publisher

Время на прочтение3 мин
Количество просмотров5.8K
О том, как я разворачивала Package Publisher и проблема, решение которой я не нашла на просторах интернета
Невозможно проверить сигнатуру для файла \\[serverName]\UpdateServicesPackages\AppName_abf10b91-bfa6-44ff-aa54-099e4bf1487d\a7f3d4b2-02b6-4f0c-ab9b-e38c8de9c3f0_1.cab
Verification of file signature failed for file: \\[serverName]\UpdateServicesPackages\AppName_abf10b91-bfa6-44ff-aa54-099e4bf1487d\a7f3d4b2-02b6-4f0c-ab9b-e38c8de9c3f0_1.cab
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии6

Гайд по внутренней документации по информационной безопасности. Что, как и зачем

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


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

В этой статье хотелось бы раскрыть эту тему подробнее как в контексте персональных данных в частности, так и защиты информации в целом. Какие документы должны быть у оператора, какие опциональны. Откуда берется требование того или иного документа. Что писать в документах, а чего не стоит. Под катом очень много букв на эту тему.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии2

Как была закейгенена Armadillo, взломана PSP и скомпрометированы все DSA ключи в Debian. Или еще раз о слабых ГПСЧ и (EC)DSA

Время на прочтение3 мин
Количество просмотров46K
armadillo Лет семь назад попал в руки крякеров архив с сорцом генератора ключей для протектора под названием Armadillo. Просто кое-кому из благодарных пользователей продукта захотелось проверить его на прочность. А где еще получишь бесплатный аудит такого интересного кода, как не на крякерском форуме.

Этот генератор нужен был для того, чтобы при покупке клиентом вашей программы, защищенной Armadillo, мерчант смог сам автоматически сгенерировать для неё лицензионный ключ. Так же, он использовался в самой Armadillo и, если б была возможность узнать секрет, то можно было бы сделать кейген для неё самой. Что делало аудит кода вдвойне интересным.

Итак, вот он, оригинальный, добытый путём титанических усилий, архив. (исходник на C)

Попробуйте без подсказок понять, в чем именно сокрыта уязвимость. Там хоть и куча кода, но он хорошо читаем. Не получилось? А если глянуть на 528 строчку?
Читать дальше →
Всего голосов 120: ↑117 и ↓3+114
Комментарии17

Как я данные с BLE-градусника от Xiaomi забирал

Время на прочтение6 мин
Количество просмотров41K
Предыстория: в качестве одного из хобби у меня случился «Умный дом». Хочется красивых устройств, но при этом ещё хочется свободы и приватности. Поэтому занимаюсь скрещиванием ужика Xiaomi с ёжиком Home Assistant.

Для поддержания комфортных условий нам нужно знать, а что вообще у нас дома происходит. Короче говоря, нужны сенсоры. Их у Xiaomi есть много разных, но больше всего мне понравился квадратный градусник на электронных чернилах. Вот только он совсем не умный, в том смысле, что не предоставляет вообще никаких интерфейсов, кроме графического – ни тебе WiFi, ни BLE, ни ZigBee. Зато батарейки CR2032 хватает на несколько лет. Есть ещё версия с блютусом, но она чуть менее изящная – эдакий толстый блинчик.

И вот в начале весны был анонсирован новый датчик температуры/влажности, на электронных чернилах, с BLE, да ещё и с часами. Часы мне не особенно-то и нужны, а вот всё остальное немедленно подавило все рациональные доводы и градусник был заказан на одном из популярных интернет-магазинов, по предзаказу. Ехало оно ехало, и наконец приехало.



В приложение MiHome датчик добавился без проблем (у меня англоязычный интерфейс везде, с русской версией MiHome, говорят, были трудности перевода). Показывает текущие значения и историю изменения показаний.

А вот с интеграцией в Home Assistant приключились сложности. Имеющийся компонент для датчика температуры ни в какую не хотел забирать данные с устройства и жаловался на неверный формат данных. Ну, делать нечего, достаём лопату и начинаем копать.

Первой мыслью было ознакомиться с устройством протокола BLE, но оценив размер документации, было принято решение переходить к методу народного тыка.
Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии42

Яндекс не считает Tabnabbing уязвимостью

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

Что такое Tabnabbing?


Про это написано уже множество статей, например, эта и на OWASP.

Если вкратце — управление вкладкой браузера через дочернюю вкладку, открытую с target="_blank". Установив ссылку на внешний сайт с target="_blank", сайт будет иметь доступ к window.opener, через который можно сменить location у вкладки, с которой ведет ссылка. Все крупные сервисы, разрешающие вставлять ссылки, защищают пользователя от такого поведения через добавление rel=«noopener» или прокси-страницу.

Да даже когда такая была в Яндекс.Почте — ее признали и закрыли.

Но не в Турбо-страницах

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии25

Простая интеграция MS Project и Redmine

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

Эпиграф


“Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась.» Н.В. Гоголь. Женитьба.



Есть два всем известных и очень разных инструмента управления проектами: MS Project и Redmine. Каждый из них имеет свои достоинства, и эти достоинства могли бы друг друга прекрасно дополнить.


Хочу предложить вашему вниманию небольшую утилиту под названием P2R, позволяющую без всякой инсталляции и с минимумом настроек обеспечить online синхронизацию проектов в MS Project и Redmine. Она доступна по адресу.

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

Особенности настройки DPI

Время на прочтение5 мин
Количество просмотров15K
В данной статье не рассматривается полная настройка DPI и все вместе связанное, а научная ценность текста минимальна. Но в ней описывается простейший способ обхода DPI, который не учли многие компании.

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

100 cамых ценных репозиториев GitHub [по версии алгоритма UOS]

Время на прочтение10 мин
Количество просмотров42K
Привет, Хабр! Представляю вашему вниманию подборку — перевод статьи из Hackernoon «GitHub’s Top 100 Most Valuable Repositories Out of 96 Million». А саму статью написали ребята, которые использовали алгоритм U°OS Network, чтобы выявить самые ценные оупесорсные проекты на Github.

image
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии10

Что делать при сбое оперативной памяти. Анамнез и методы лечения

Время на прочтение8 мин
Количество просмотров92K
Оперативная память – такая деталь системы, которая реже всех выходит из строя. Но спонтанные перезагрузки системы с BSOD и без него, вылеты игр или программного обеспечения, некорректные результаты обработки заданий в тяжёлом софте – всё это и многое другое может быть симптомами проблем именно с ней. На самом деле, такие проблемы возникают довольно часто и являются в основном следствием некорректной настройки самим пользователем, хотя исключать аппаратные проблемы всё же, нельзя. В этом материале мы познакомимся с актуальными модулями памяти для настольных систем, расскажем о возможных проблемах в их работе и причинах, по которым они возникают, а также поможем с диагностикой. Отчего ещё и почему могут возникать сбои в работе памяти? Что в итоге делать или не делать? Отвечая на эти вопросы, пытать мозг новичков мы не будем – расскажем всё простым языком для максимального понимания.


Всего голосов 12: ↑10 и ↓2+8
Комментарии15
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность