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

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Мигрируем с SQL Server на PostgreSQL двумя способами

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

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

Однако из-за ряда ограничений SQL Server постепенно теряет своих пользователей. SQL Server имеет достаточно сковывающую лицензию и стоимость обслуживания, растущую по мере увеличения размера базы данных или числа клиентов. Ее максимальный размер составляет 10 ГБ, а буферный кэш — 1 МБ. Она работает только под Windows.

Переманить же пользователей SQL Server может PostgreSQL — полностью бесплатная база данных с открытым исходным кодом. Эта база данных может похвастаться поддержкой международного сообщества и доступна под Windows, Mac, Linux, FreeBSD и Solaris. Кроме того, для нее существуют множество опенсорсных дополнений.

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

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 8

Новости

Снова про выбор DLP-системы и нужен ли он (выбор)

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

Вводное слово

Уважаемый читатель, добрый день!
Для меня публикация статьи на Хабре было закрытием гештальта.
Поэтому решил написать третью статью - и баста (данная статья под номером 3).
Выбрал для себя написать про DLP-системы. Почему? Мне казалось, что тема настолько стара и неактуальна, что уже и говорить нечего, но в различных профильных чатах, все чаще
и чаще поднимается вопрос о том, какую же DLP-систему выбрать (стараюсь не вступать в эти переговоры).
Почему я могу говорить на эту тему?
Знаю около 30 DLP систем, около 15 активно тестировал, трем обучал администраторов в различных организациях, около 30 внедрений в организации и гораздо большее число пилотных проектов, которые оканчивались выбором другого продукта, но, и самое главное, я сам был активным пользователем DLP на стороне Заказчика и аудитора, давая результат!

Когда организация задумалась над необходимостью DLP-системы, самый первый вопрос, который стоит еще раз задать "ЗАЧЕМ?!"

Какую задачу Вы хотите решить при помощи DLP?
Здесь я обычно рассказываю две истории.
История №1.
Эта история еще студенческих времен, но дало мне пищу для размышлений.
В одной компании (в тридевятом царстве) также решили "побежать" в сторону DLP. Однако, руководителем ИБ был очень компетентный и волевой сотрудник, он выявил,
самый главный риск (задачу) у всех заинтересованных сторон - и это оказалась задача контроля переписки в Skype. Тогда он под локальным доменным администратором,
стал собирать файл переписки Skype, самостоятельно написал "читалку" под этот формат и анализировать ее (переписку со всех АРМ) по ключевым словам.
Руководство это устроило.
История №2.
Это скорее тенденция. Когда организация в начале не ответила на вопрос "ЗАЧЕМ", я часто наблюдал, что далее функционал сводился к чтению переписок в мессенджерах.
Смотреть историю №1.
Поверьте, DLP это не волшебная коробка, это инструмент, а задачи, которые вы хотели получить, возможно, можно реализовать и другими средствами (и это достаточно часто). При этом я не только про технические средства, но и про талант и задачи непосредственных руководителей.

Читать далее
Рейтинг 0
Комментарии 0

Как я ищу себе сотрудников в команду DevSecOps и AppSec

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 765

Привет! Меня зовут Михаил Синельников. Я DevSecOps TeamLead в РСХБ‑Интех. Тружусь в ИТ‑сфере уже 25 лет, немалую часть из которых — на руководящих должностях. Сегодня расскажу, как я ищу специалистов к себе в команду DevSecOps и AppSec, на что обращаю внимание и как общаюсь с соискателями, которые на собеседовании пытаются приукрасить собственные достижения.

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

Как получить Midjourney’s API

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 792

В этой статье показано, как полный функционал Midjourney с помощью АПИ

Для этой задачи вам понадобится учетная запись Discord с активной подпиской Midjourney, подойдет базовый план за 10 долларов.

Читать далее
Всего голосов 6: ↑2 и ↓4 -2
Комментарии 1

Истории

ChatGPT для изучения программирования. Не очевидные примеры

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2K

Сценарии использования ИИ для учебы на поверхности. Тот же ChatGPT как стандарт по умолчанию студенты (да и преподаватели тоже) используют для написания текстов (рефераты, курсовые, дипломы и тому подобное), для анализа данных, изучения языков и, конечно же, для решения задач. Поговорим же здесь про то, как можно использовать ChatGPT для обучения программированию. Типично, студенты и школьники «скармливают» чату условие своей задачки, а на выходе получают код программы на требуемом языке. Часто чат дает еще и объяснения основных моментов в коде, рассказывает про алгоритм. Так можно учиться программированию, имея под боком «умного» консультанта. Не всегда, правда, код чата адекватен, а решения полные. Но, это очевидные вещи. Попробуем тут составить список примеров, которые могут быть полезны и тем, кто изучает программирование и тем кто учит. Начнем с простого.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 9

Security Week 2413: аппаратная уязвимость в процессорах Apple

Время на прочтение 6 мин
Количество просмотров 748
Большой новостью прошлой недели стало объявление о научной работе исследователей из ряда университетов США, демонстрирующей аппаратную уязвимость GoFetch в процессорах Apple M1 и M2 (сайт проекта, сама научная работа, подробное описание в статье издания Ars Technica). Уязвимость делает возможной атаку по стороннему каналу на алгоритмы шифрования данных с последующей кражей приватных ключей. Для этого на компьютере жертвы необходимо запустить вредоносный код, который сможет контролировать алгоритм. Сама атака занимает от одного до нескольких часов, и прямо сейчас угрозы пользователям не несет. Последствия от обнаружения уязвимости, тем не менее, будут: проблема в системе подгрузки данных в кэш-память может быть закрыта только программным путем, в конкретных реализациях алгоритмов шифрования, что приведет к снижению производительности.


Уязвимость обнаружена в механизме контекстно-зависимой предварительной выборки данных (data memory-dependent prefetcher, или DMP). Это достаточно новая технология, внедренная пока лишь в новейших чипах Apple и процессорах Intel начиная с 13-го поколения (в последних механизм работает по-другому и данная атака для них не актуальна). DMP входит в набор оптимизаций, направленных на повышение производительности вычислений: в целом такие технологии ранее неоднократно становились источником проблем. Атака была продемонстрирована на ноутбуках под управлением Mac OS с процессорами Apple M1 и M2. Самые современные чипы M3 также содержат эту уязвимую оптимизацию, но в них предусмотрена инструкция, позволяющая отключить DMP для криптографических вычислений. Для более ранних процессоров придется обновлять код более сложными методами, чтобы исключить утечку по стороннему каналу.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

История одной очереди

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 1.5K

В одно воскресенье довелось мне стоять в очереди на избирательный участок №8134 в Алматы. Простоял я там 4 часа, а некоторые и того больше. И как-то совершенно случайно вспомнил, что в институте я учился на специальности “системы и сети массового обслуживания”, а тут у нас как раз такая сеть, которую можно попробовать рассчитать. А заодно ответить расчётами на некоторые вопросы.

Уважаемые кроты, давайте посчитаем
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 5

Белые медведи — точно всеядные и почти точно выживут

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

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

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

Как проверить локаторы с помощью Playwright

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 454

В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики.
Обычно мои статьи были холиварными, а не техническими. Но в этот раз решила выложить что-то действительно техническое и полезное. Тестировщики, налетай! Очень хочу, чтобы опытные ребята, которые с playwright работают давно, поделиться своим мнением о примерах в тексте статьи. Достаточно ли они информативны.

Проверки локаторов

Это могут быть как интерактивные элементы (кнопки, поля ввода, чек-боксы, ...), так и статика (картинки, текст, иконки и т.д.).

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

С другой стороны, иногда нам нужно, все же, уметь получать свойства элементов для промежуточных действий. Например, мы хотим посмотреть, сколько сейчас строк в таблице, удалить одну и проверить, что строк стало меньше на одну. Для того, чтобы организовать такую проверку, нам нужно вычислить, сколько всего строк было до того, как мы удалили последнюю строчку. Если в таблице было X строк, то, после нажатия, должно быть X-1. Найдите икс, получается? И вот тут нам нужна "ручка", которую мы дернем и получим число, без всяких assert'ов.

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

Кто убил сетевой коммутатор?

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 1.7K

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

Этот инцидент и процесс выявления и исправления ошибки предоставили нам новый взгляд на процесс разработки в контексте Hubris. Такие ошибки в ядре Hubris случаются нечасто, благодаря его компактности. Однако, этот особенный случай заставил меня зафиксировать его: речь идет о том, как две отдельные полезные функции, взаимодействуя вместе, привели к сбою в системе.

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

Математические фантазии о справедливости

Уровень сложности Сложный
Время на прочтение 9 мин
Количество просмотров 1.7K

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

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

Или может быть, есть объективные причины невозможности рая на Земле, и все как раз наоборот, и мы движемся не к светлому будущему, а к антиутопии с жесточайшей диктатурой и дичайшим социальным расслоением?

Или же истина, как обычно, где-то посередине, но тогда к какому краю ближе?

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

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 36

Чему разработчики ПО могут научиться у стоматологов

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.6K

Для начала немного обо мне: я и практикующий дантист, и разработчик ПО. Со вторника по четверг я пишу код, а с пятницы по воскресенье принимаю пациентов. До того, как стать дантистом, я работал в таких компаниях, как Allstate Insurance, Lockheed Martin и ICS. Освоив обе эти профессии, я заметил, что разработчики ПО могут многому научиться у дантистов и наоборот. Я решил записать эти уроки в надежде, что они кому-то могут помочь. Это просто общие рекомендации — не стоит рассчитывать, что они идеально подходят для любой ситуации.
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 8

Недельный геймдев: #166 — 24 марта, 2024

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 796

Из новостей: Nekki выпустила новую версию Cascadeur и пересмотрела тарифы, Sensor Tower купила data.ai, AMD представила FSR 3.1, Blender представил официальный Asset Store.

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

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

Аффордансы – главные подсказки функциональной сути игровых объектов

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 507

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

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

Самый простой гайд по созданию бота для анализа сообщений в Telegram

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

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

В этой статье рассказываем, как с помощью нейросети создать бота, который собирает и обрабатывает информацию из сообщений, и задеплоить его на облачный сервер.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 1

Rust 1.77.0: C-подобные строки, offset_of!, рекурсивные async fn, strip в release-профилях

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 985

Команда Rust рада сообщить о новой версии языка — 1.77.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.77.0 вам достаточно выполнить команду:


$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

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

Издательство Питер. Колонка редактора

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

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Эффективный Dart

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 765

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про руководство по эффективному Dart-у!

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

Быть последовательным и кратким!

Читать далее
Всего голосов 2: ↑0 и ↓2 -2
Комментарии 0

Синглтоны в Java

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

В этом кратком руководстве мы рассмотрим два наиболее популярных способа реализации синглтонов в Java.

Читать далее
Всего голосов 15: ↑10 и ↓5 +5
Комментарии 16

Приручение света: история солнечных панелей

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

Сейчас солнечные панели по всему миру вырабатывают по примерным оценкам почти 400 ГВт электроэнергии. Технология, которую придумали еще в 1954 году (а предпосылки появились вообще в XIX веке), за последние 15 лет стала важной частью нашей жизни. Тысячи домовых хозяйств по всему миру устанавливают такие элементы на крыше и экономят на оплате за потребление электричества, а также более эффективно отапливают свои дома. 

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 8