Search
Write a publication
Pull to refresh
4
0
Send message

Компоновка кода Terraform и использование Terragrunt

Reading time14 min
Views15K

Terraform позволяет организовывать свой код так, как вам хочется.

Это обеспечивает большую гибкость и позволяет легко начать работу, просто поместив несколько ресурсов в файл и запустив terraform apply.

Но по мере роста вашей среды потребуется более строгий подход к структурированию кода.

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

Читать далее

Чем занимается специалист по информационной безопасности и чего от него ждут компании

Reading time10 min
Views27K

В нашем блоге уже была статья про инфобез. Но Алексей Федин, ведущий инженер в этой отрасли, сказал, что она неправильная. Мы исправляемся и даём слово Алексею, который решил помочь разобраться в сфере и сделать то, что в ИТ любят больше всего: категоризировать, отсортировать, представить в виде списка и нарисовать схему. Документов и схем в интернете уже создано множество: попроще, посложнее, со связями отдельных элементов или без. Это мало помогает, а иногда и ещё больше запутывает. Основная наша аудитория  — люди, далёкие от инфобеза, а иногда и от ИТ. Поэтому рассказываем обо всём по-простому, своими словами.

Читать далее

Миллионы рублей за 1/100 секунды

Reading time12 min
Views33K
Продолжаем цикл про современные устройства защиты у вас в электрощитке. На очереди устройства, которые окупаются за 1/100 секунды.



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

Долгий путь к интеграции. Ч.2 Бреттон-Вудская система

Reading time16 min
Views8.8K

Любой мир построен на договоренностях после войны. Договоры после Второй мировой во многом повторяют опыт международного права после Первой мировой. В рамках данной статьи рассматриваются предпосылки возникновения всемирных валютных и кредитных институтов Бреттон-Вудской системы, Генеральное соглашение по тарифам и торговле.

Читать о МВФ, МБРР и ГАТТ

Долгий путь к интеграции. Ч.1 До Бреттон-Вудса

Reading time13 min
Views4.6K

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

Читайте о истории международных соглашений

DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

Reading time9 min
Views109K


Предыдущие публикации:

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

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

Алгоритм Дейкстры. Разбор Задач

Reading time7 min
Views77K


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

Если вы хотите найти ответить на вопросы, чем этот алгоритм лучше BFS (поиска в ширину), при каких условиях алгоритм применим, и какие теоретические и практические задачи можно с его помощью решать, читайте далее.

Читать дальше →

Как я восстанавливал флешку

Reading time2 min
Views47K

На днях я столкнулся с такой проблемой: мне нужно было перенести большое количество файлов с одного компьютера на другой. Было решено использовать флешку вместо облака. Суммарный объем файлов примерно 60 гигов, флешка была всего на 32. Я подумал, что за два захода справлюсь с этим. Первую часть (примерно 30 гигов) я перебросил без каких-либо проблем, когда закачивал вторую возникла проблема — на 97% закачка остановилась и минут 40 ничего не происходило. Ну что ж, принято решение вытащить флешку и скинуть на другой компьютер то, что уже было на ней. Но, не тут то было: флешка перестала читаться на каком-либо компе. Попробовал, на всякий случай, несколько вариантов: запустил флешку на компе с Windows и Linux. Результат тот же: звук, что флешка вставлена в компьютер есть, самой флешки нет.

Читать далее

Создание карт из функций шума

Reading time12 min
Views28K
Одна из самых популярных статей на моём сайте посвящена генерации полигональных карт (перевод на Хабре). Создание таких карт требует много усилий. Но начинал я не с этого, а с гораздо более простой задачи, которую опишу здесь. Эта простая техника позволяет создавать подобные карты меньше чем в 50 строках кода:


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

Шум


Стандартный способ генерации 2D-карт заключается в использовании в качестве строительного блока функции шума с ограниченной полосой частот, например шума Перлина или симплексного шума. Вот, как выглядит функция шума:

image

Мы присваиваем каждой точке карты число от 0.0 до 1.0. В этом изображении 0.0 — это чёрный цвет, а 1.0 — белый.
Читать дальше →

Создание шутера с LeoECS. Часть 4

Reading time7 min
Views6K

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

Обязательно прочитайте прошлую часть, если еще не сделали этого.

Читать далее

Инструменты для решения NER-задач для русского языка

Reading time5 min
Views6.2K

Зачастую приходится работать с большими объемами документов, к примеру, исполнительными листами, заявлениями, договорами, из текстов которых нам необходимо извлечь весьма конкретную информацию: ФИО, даты рождения, наименования должности, паспортные данные, адрес, ИНН и наименование компаний, даты подписания документов и так далее. Всё это относится к задаче распознавания именованных сущностей (NER). Какие инструменты могут помочь нам в решении данной задачи для русского языка?

Пожалуй, первое что приходит в голову Data Scientist’у, когда речь идет о NLP или конкретно NER-задачах — это проекты DeepPavlov. Немного углубимся в данную тему, разберем все по порядку.

DeepPavlov — это фреймворк (open source), который помогает в разработке различных голосовых ботов, соответственно, решая различные NLP задачи.

На вход подается непредобработанный (регистры, знаки и т.д. сохранены) текст, а на выходе мы хотим увидеть, так называемые, спаны — фрагменты текста, с которыми уже можно работать (например, отнести к определенной категории).

Читать далее

Просто в теории, тяжело на деле

Reading time4 min
Views11K

На 2 курсе обучения в СПО преподаватель по программированию дал следующую задачку: "Дана некоторая точка на плоскости. Проверить, находится ли она внутри многоугольника, описанного так же точками на плоскости". Задача некоторых поставила в тупик, поэтому я решил подробно описать свой подход к ее решению.

Посмотреть разбор

А все ли врут? Продолжаем издеваться над NVME

Reading time10 min
Views40K

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

Для многих из нас nvme означает, что мы купили новый компьютер или ультрабук. Жёсткий диск, подключённый напрямую к шине PCIE, позволяет существенно снизить задержки передачи данных и ускорить любую систему. NVME — это ключ к загрузке любой системы за 3 секунды.

Но, на самом деле сам по себе NVME — это не стандарт для жёстких дисков. NVME расшифровывается как NVM Express. NVM, в свою очередь, означает Non-volatile memory, И в первую очередь — это спецификация протокола, который позволяет производить эффективный доступ к данным, хранящимся в энергонезависимой памяти.

А как мы хорошо знаем, протоколы можно запускать на разных носителях. В этой статье мы будем издеваться над моим лэптопом с Ubuntu Linux 21 на борту, подключая его жёсткий диск к разным серверам. Вы можете посетовать, что всё это игрушки, но хороший администратор со свитчем, позволяющим поддерживать скорости более 10 гигабит в секунду, должен взять это на заметку. Вы можете получить удалённый доступ к вашим nvme жёстким дискам через tcp/ip без уловок и мошенства.

Поехали.
Читать дальше →

GPT для чайников: от токенизации до файнтюнинга

Reading time13 min
Views122K

К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.

Читать далее

Автоматическая публикация npm пакета из gitlab ci/cd

Reading time4 min
Views13K

Всем привет! Сегодня я расскажу как мы реализовали автоматическую публикацию npm пакета в cicd gitlab, с помощью каких инструментов генерируем CHANGELOG файл и обновляем версию package.json. А так же как публикуем изменения в git репозитории.

Я постараюсь дать вам простую инструкцию, расскажу с какими сложностями мы столкнулись и как их решили.

Читать далее

VMware 7.0.3: загрузка с USB и 1-node vSAN на ноутбуке

Reading time8 min
Views6.7K

Понадобилось мне на домашней лабе с ESX погонять vSAN. Однако прежде, чем все переделывать на Intel NUC 9, решил отработать будущую конфигурацию и пробежаться по основным шагам на ноуте, предназначенном для кратких частых экспериментов.

Поскольку для vSAN нужно диск для capacity, диск для cache tier, да еще и загрузиться с чего-то надо, даже для NUC с двумя дисками требуется еще и третий носитель, часто SD-карта. Вот эту загрузку с мелкого носителя я и хотел отработать.

Конечно, у ноута только 1 диск, значит два устройства по USB подключить придется, ну да ладно. Проблема вылезла, откуда не ждал. Несмотря на то, что гугл выдавал кучу рекомендаций, как установить ESX на флешку/карту, в том числе непосредственно с сайта VMware, флешка категорически отсутствовала в опциях установки.

Оказалось, что совсем недавно такая возможность стала deprecated, и даже на весьма популярном сайте появился пост от фаната vSAN: Considerations for future vSphere Homelabs due to upcoming removal of SD card/USB support for ESXi.

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

Да ладно?

Порядок операторов в RxJs

Reading time9 min
Views16K

TL;DR: Порядок важен. Операторы довольно атомарны и зачастую очень просты, но это не мешает им объединяться в сложные последовательности, в которых легко допустить ошибку. Давайте разберемся.

Читать далее

Загрузочный диск Windows PE своими руками

Reading time36 min
Views156K
Сисадмину или мастеру сервисного центра, да и просто в хозяйстве на всякий случай помогает в работе загрузочная флешка с набором полезных программ, и в интернете можно найти полно готовых решений с «кучей» софта на все случаи в жизни. Но каждый, кто пользовался чужими готовыми вариантами LiveCD, рано или поздно задумывался о том, что по факту используется лишь малая часть приложений. Весь же остальной ненужный груз софта, который порой может составлять более 98% всего набора LiveCD, лишь мешает работать. Почему? Потому что LiveCD загружается прямиком в оперативную память, и чем больше объем LiveCD, тем больше ожидания загрузки, а если ещё и попался древний компьютер, то LiveCD может и вовсе не загрузится от нехватки памяти. И что же делать? Сделать свой собственный LiveCD! В этой статье я расскажу то, чего вы не найдете даже в гугле.
Читать дальше →

Удаленный доступ к IP камерам, теперь на Python

Reading time19 min
Views59K

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

Читать далее

Обзор Asterisk REST Interface (ARI)

Reading time7 min
Views68K

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


Тогда, в начале времен, все эти команды и функции далеко опережали свое время, и благодаря им Asterisk "уделывал" по функционалу многие коммерческие продукты.


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


Но разработку модуля Астериск на языке С сложно назвать тривиальной задачей. Это весьма тернистый путь, к тому же весьма рискованный, ведь критическая ошибка в своем модуле запросто приводила к полному падению Asterisk в core.


Нужны были более "мягкие" и простые способы для расширения функций и интеграции с другими системами.


Так появились интерфейсы AGI и AMI.


Читать дальше →

Information

Rating
Does not participate
Registered
Activity