Pull to refresh
89
50.5

Редактор

Send message

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

Reading time 6 min
Views 5.9K

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

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

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

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

Читать далее
Total votes 19: ↑10 and ↓9 +1
Comments 10

Как построить хороший Vision продукта, используя Lean Canvas?

Reading time 5 min
Views 1.3K

Многие продакт-менеджеры тонут в сотне документах, которые приходится постоянно обновлять. Картинка, создающая целостное понимание по продукту, теряется или тратится много времени на то, чтобы её собрать. Целевая аудитория, исследования — в одном месте, метрики — в другом и так далее.

Есть отличный и наверняка многим известный инструмент, который позволяет создать и постоянно держать перед глазами картинку по своему продукту — это Lean Canvas. Давайте разберёмся: из каких частей состоит Lean Canvas и как с ним работать?

Читать далее
Total votes 15: ↑10 and ↓5 +5
Comments 0

Незваные гости — уязвимости в RPKI RP

Reading time 8 min
Views 468

BGP (Border Gateway Protocol, протокол граничного шлюза) — это протокол динамической маршрутизации, используемый маршрутизаторами для обмена информацией о достижимости префиксов в их сетях. BGP-маршрутизаторы могут анонсировать любые префиксы, включая и те, которыми их сети законно не владеют. Когда сети принимают такие фальшивые BGP-анонсы, вместо легитимного целевого префикса они направляют трафик в сеть злоумышленника.

Перехват префиксов — распространенное явление в BGP-маршрутизации, случающееся как и по ошибке, так и в результате преднамеренных атак злоумышленников. Перехват может совершаться, например, с целью распространения вредоносного кода, кражи криптовалюты, отравления кэша серверов системы доменных имен (DNS) или обмана центра сертификации с целью выпуска фальшивых сертификатов. За последние 10 лет перехваты префиксов стали более изощренными и целенаправленными. Перехваты, вызванные как ошибочной конфигурацией, так и злонамеренными атаками, могут иметь катастрофические последствия для пользователей и сервисов в интернете. Для предотвращения перехватов IETF разработала и стандартизировала RPKI.

Читать далее
Total votes 10: ↑8 and ↓2 +6
Comments 0

Задача двумерной упаковки интервалов

Reading time 13 min
Views 2.4K

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

Читать далее
Total votes 17: ↑14 and ↓3 +11
Comments 2

4 вида распространённых ошибок в Event-Driven системах

Reading time 8 min
Views 4.2K

В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 5

Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind

Reading time 24 min
Views 4.2K

В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэтому, хоть Sanitizers (разработанный инженерами Google) имеет ряд преимуществ перед Valgrind, у каждого из них есть свои сильные и слабые стороны. Следует сразу отметить, что проект Sanitizers имеет название во множественном числе, потому что он состоит из нескольких инструментов, которые мы рассмотрим в этой статье в совокупности.

Читать далее
Total votes 11: ↑10 and ↓1 +9
Comments 2

Как быстро выучить язык моделирования Archimate?

Reading time 4 min
Views 4.4K

Я использую Архимейт в своей работе уже более 7 лет. Когда я познакомился с этим языком, то он привлек меня тем, что позволял изображать систему в динамике, то есть отображать не только структуру программы, но и бизнес-процессы, которые она автоматизирует, и средства, на которых она развернута. К тому же Архимейт казался очень простым — подумаешь, каких-то 10 стрелок и 20 компонентов. На тот момент я был уже очень опытным программистом и архитектором, у меня был огромный опыт проектирования систем и баз данных, также я на приличном уровне освоил несколько языков программирования. И казалось, что выучить такой простой язык — это дело нескольких часов.

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

Читать далее
Total votes 24: ↑12 and ↓12 0
Comments 6

Непрерывность функционирования систем жизнедеятельности: Совокупность циклов обратной связи

Reading time 9 min
Views 517

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

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

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

Читать далее
Total votes 11: ↑8 and ↓3 +5
Comments 0

The Sims 4: разбор нарративных механик самой знаменитой игры без сюжета

Level of difficulty Easy
Reading time 7 min
Views 4.7K

С момента своего запуска в 2014 году, The Sims 4 превратилась не просто в игру, но в целый культурный феномен, привлекая миллионы поклонников по всему миру. Этот необычайный успех можно объяснить множеством факторов, но одним из ключевых является уникальная возможность игры служить платформой для творчества и самовыражения. В отличие от традиционных видеоигр с заранее заданным сюжетом, The Sims 4 предлагает игрокам свободу создавать собственные истории в мире, где практически нет ограничений. Эта игра-песочница позволяет каждому игроку стать автором уникальных нарративов, переплетая жизни и судьбы симов в соответствии со своими желаниями и фантазиями.

В The Sims 4 отсутствует традиционный сюжет в его классическом понимании, зато нарративные возможности ограничены лишь воображением игроков. Таким образом, игра демонстрирует, как сюжет и нарратив работают ради одной цели – вовлечения игрока в историю и предоставления ему пространства для уникальных переживаний.

Читать далее
Total votes 14: ↑10 and ↓4 +6
Comments 1

Инженер-аналитик или дата-инженер: Как выбрать нужного специалиста? | Census

Reading time 9 min
Views 403

Мэдисон — инженер-аналитик, увлекающаяся данными, предпринимательством, писательством и образованием. Ее цель — преподавать так, чтобы это было полезно для каждого, независимо от того, начинает ли он карьеру или уже работает в инженерии 20 с лишним лет.

И так вы поняли, что вам не помешала бы дополнительная помощь в работе с данными. Но кого конкретно следует искать, вы не знаете, ведь существуют дата-аналитики, дата-инженеры, а теперь… и инженеры-аналитики?!

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

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

Ликбез по вложенной прокрутке в Jetpack Compose

Reading time 11 min
Views 1.6K

В основе большинства приложений для Android лежат списки. За многие годы появилось множество различных решений, реализующих взаимодействие других компонентов пользовательского интерфейса со списками — например, как панель приложения реагирует на прокрутку списка или как вложенные списки взаимодействуют друг с другом. Вы когда-нибудь сталкивались с ситуацией, когда один список находится внутри другого, и, прокручивая внутренний список до конца, вы хотите, чтобы внешний список продолжил движение? Это классический пример вложенной прокрутки!

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 1

Работа с очередями мертвых писем (DLQ) в AWS SNS

Reading time 6 min
Views 441

Amazon Simple Notification Service (AWS SNS) — это мощный инструмент в арсенале облачных сервисов Amazon Web Services, предоставляющий простые и эффективные средства для управления уведомлениями и распределения сообщений в распределенных системах. SNS обеспечивает высокую гибкость в организации коммуникации между различными компонентами приложений, позволяя быстро и эффективно реагировать на разнообразные события и изменения в окружающей среде.

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

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 0

Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

Reading time 12 min
Views 11K

Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:

— POST и PUT-запросы, использующие requestBody для передачи параметров.
— GET-запросы, использующие requestParam/PathVariable для передачи параметров.

Читать далее
Total votes 19: ↑14 and ↓5 +9
Comments 11

Разделение задач резервного копирования и удаления устаревших копий в PostgreSQL при помощи pgBackRest

Reading time 11 min
Views 3.1K

Управление резервными копиями является одним из ключевых моментов в любой стратегии администрирования баз данных. Это гарантирует, что в случае сбоя или потери данных вы можете быстро восстановить всю информацию. pgBackRest — популярное решение для резервного копирования и восстановления PostgreSQL, которое предоставляет множество функций для управления резервными копиями. Тем не менее, по умолчанию стандартная конфигурация pgBackRest часто объединяет операции резервного копирования и удаления устаревших копий в одном процессе. 

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 0

Работа со временем и датой в C# с применением библиотеки Humanizer

Reading time 7 min
Views 4.3K

Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуманизации и как объединять гуманизацию строк со временеме/датой. Мы также рассмотрим некоторые реальные сценарии использования и примеры того, как Humanizer может улучшить пользовательский опыт в отношении времени и даты.

Читать далее
Total votes 16: ↑12 and ↓4 +8
Comments 12

Новые горизонты баз данных: 8 тенденций в управлении информацией

Reading time 14 min
Views 4.6K

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

Сегодня мы узнаем про перспективы развития баз данных — 8 тенденций управления информацией и рассмотрим 11 наглядных примеров.

Читать далее
Total votes 13: ↑9 and ↓4 +5
Comments 3

Нарратив и геймплей: создание согласованного игрового опыта

Level of difficulty Medium
Reading time 11 min
Views 2.3K

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

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

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

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

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 10

Как Agile трансформация бизнеса помогает компаниям становится гибче и быстрее и почему это актуально?

Level of difficulty Easy
Reading time 5 min
Views 1.8K

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

- И всегда встают резонные вопросы:
- Как делать больше за меньшее количество ресурсов?
- Как успевать и обгонять конкурентов?
- Как достигать тех целей которые ставим?
- Как кратно масштабировать бизнес и продукты?

Как правило в компаниях запускается множество проектов, которые направлены на рост бизнеса, однако более 75% не приносят тех эффектов, которые мы от них ожидали. Более того, сроки и бюджеты проектов могут растягиваться в разы. И это происходит повсеместно, и в среднем и в крупном бизнесе. 

Читать далее
Total votes 14: ↑9 and ↓5 +4
Comments 4

Введение в планировщики иерархических сетей задач (HTN) на примере. Часть 2

Reading time 8 min
Views 891

В прошлой части мы остановились на том, что сформировали из составных и примитивных задач функциональную область (domain), которая представляет всю иерархию задач нашего NPC. Объединив ее с состоянием мира (world state), мы можем перейти к рабочей лошадке нашей HTN — планировщику (planner). Есть три условия, которые заставляют планировщик искать новый план: NPC завершает или проваливает текущий план, у NPC нет плана, или какой-нибудь сенсор меняет состояние мира NPC.

Читать далее
Total votes 10: ↑7 and ↓3 +4
Comments 0

Microk8s, еще один легковесный K8s

Level of difficulty Easy
Reading time 6 min
Views 6.9K

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

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

MicroK8s - отличный способ запустить и ознакомиться с Kubernetes. Это полностью совместимый, легковесный пакет Kubernetes, который работает на 42 видах Linux и идеально подходит для:

Читать далее
Total votes 12: ↑10 and ↓2 +8
Comments 7

Information

Rating
96-th
Location
Россия
Works in
Registered
Activity