Pull to refresh
6
0

Специалист по БД

Send message

Готовим микрофронтенды на чистом JS без фреймворков

Level of difficultyMedium
Reading time15 min
Views7.8K

Привет, Хабр! Меня зовут Евгений Лабутин, я разработчик в МТС Digital. Сегодня я расскажу вам о своем рецепте приготовления микрофронтендов без использования каких либо фреймворков. Ведь такие фреймворки как Webpack Module Federation, Single-SPA, SystemJS и подобные вам просто не нужны для написания микрофронтендов, ровно так же как вам не нужен jQuery для написания современных фронтендов. Ведь все необходимое для разработки и работы Микрофронтендов уже встроено во все современные браузеры. Интересно? Добро пожаловать в статью.

Читать далее
Total votes 24: ↑18 and ↓6+12
Comments21

Из Open Source с любовью

Level of difficultyEasy
Reading time20 min
Views4.6K

На написание данной статьи меня вдохновила другая – Как делается OpenSource: личный опыт. Мой проект DryWetMIDI менее масштабный, но тем не менее весьма популярен в своей нише. В статье я вспомню, как он создавался, развивался, что дал (и продолжает давать) и какие были любопытные моменты по пути. Надеюсь, сии мемуары будут вам интересны и полезны в ваших собственных начинаниях.

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

Настройка проекта AstroJS: VS Code, Prettier, ESlint, Stylelint, Tailwind CSS, PostCSS, минификация файлов

Level of difficultyMedium
Reading time9 min
Views4.2K

AstroJS изначально был движком для создания статичных сайтов. Теперь там есть работа с API, server-side рендеринг, гибридный режим сервера. Можно написать код сайта в Astro-файлах на обычном html + js, а можно подключить визуальный фреймворк на свой выбор: React, Preact, Vue, Solid, Svelte. Подключаем CMS или backend-as-a-service - вот уже замена именитым NextJS и NuxtJS.

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments3

Keycloak — больно не будет

Level of difficultyHard
Reading time17 min
Views31K

Привет! Меня зовут Алексей, я DevOps-инженер компании Nixys. «Как правильно и своевременно предоставлять и отнимать доступ у различных сотрудников?» — этот вопрос беспокоит всех. Особую важность эта задача приобретает, когда продукт начинает быстро расти — если ваш штат регулярно меняется, вопросы безопасности данных и работоспособности системы должны стоять на особом контроле.

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

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

C# Generic-подход к разработке web API

Level of difficultyMedium
Reading time32 min
Views9.9K

Статья-туториал от ведущего разработчика "ITQ-Group" Александра Берегового, в которой мы рассмотрим применение обобщенного подхода при разработке WEB API.

Читать далее
Total votes 9: ↑3 and ↓6-3
Comments32

ОС «Альт» — групповые политики в Linux, как в Windows

Level of difficultyEasy
Reading time7 min
Views7.8K

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

Задачу решили разработчики компании «Базальт СПО». Они дополнили линейку операционных систем «Альт» набором инфраструктурного ПО, которое обеспечивает единое управление компьютерами с ОС «Альт» и Windows, и их пользователями. Решение позволяет избежать двойных затрат на поддержку ИТ-инфраструктуры в переходный период.

Сегодня тысячам государственных и коммерческих организаций необходимо перевести свои цифровые инфраструктуры на российское ПО. Многие зарубежные вендоры покинули российский рынок, приостановив продажу и поддержку своих систем. У заказчиков возникли трудности с обновлением программных продуктов, с приобретением дополнительных лицензий и продлением текущих, с получением техподдержки. Эти риски особенно опасны для критической информационной инфраструктуры (КИИ). На их устранение направлен Указ Президента Российской Федерации №166 от 30 марта 2022 г. «О мерах по обеспечению технологической независимости и безопасности критической информационной инфраструктуры Российской Федерации», а также Постановление Правительства Российской Федерации № 1236 от 16 ноября 2015 «Об установлении запрета на допуск программного обеспечения, происходящего из иностранных государств, для целей осуществления закупок перевод КИИ на российское программное обеспечение.

Проекты перехода на российское ПО длятся не один год, и в этот период в ИТ-инфрастрктуре должны одновременно работать компьютеры с ОС Windows и какой-либо из российских ОС, большинство которых создано на ядре Linux. Как интегрировать их в единое информационное пространство, чтобы избежать потери работоспособности цифровых ресурсов и исключить двойные расходы на администрирование корпоративной сети и обучение ИТ-персонала?

Читать далее
Total votes 18: ↑14 and ↓4+10
Comments22

Postgresso №6 (55)

Reading time14 min
Views4.4K

PostgreSQL 16 Beta 2

Изменения по сравнению с 1-й бетой коснулись прежде всего правил сортировки (collation): провайдер по умолчанию, которого выбирает initdb, теперь сноваlibc. В 1-й бете решили сделать так: если доступна ICU, то выбирается ICU. Откатили. Временно или нет - не знаю. То же при сборке из исходников.

Поведение при выборе локали C сlibicu - возвращено обратно кlibicu;[??вот это не понял] На ICU 64 и выше локальC не используется, а у ICU есть собственный механизм для выбора локали или генерации ошибки.

Полный список новых и измененных старых возможностей 16-й версии в release notes. Скачать можно здесь.

Обожаемый и желанный:

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

Мини-аналог «mail.yandex.ru» для небольшой компании

Level of difficultyMedium
Reading time3 min
Views13K

Приветствую!

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

Немного предыстории

В конце 2018 довелось участвовать в создание инфраструктуры одной поликлиники и одна из задач была организация почтового сервера. По желанию заказчика, предпочтение было отдано внешним службам, а именно pdd.yandex.ru. На тот момент требовалось не более 3-5 пользователей, и это решение посчитали оптимальным и самым быстрым. Но время шло, задачи менялись и в конце 2022 г. число учетных записей выросло до 95 из них активных, в повседневной работе, 25. Когда Яндекс ввел плату за каждого пользователя, было принято решение о переводе всей почты на локальное размещение. К тому же, весь доступ к почте, предполагает только локальное использование, без доступа из внешней сети. Перелопатив кучу вариантов, от коробочных решений до самосборной конфигурации, пал выбор на Kolab Groupware. Выбор был обусловлен желанием работы через WEB интерфейс, с общей адресной книгой, календарем, списком дел и файловым облаком. Плюшек хватало с лихвой, но возник ряд трудностей, о способах решения которых, я напишу ниже.

Читать далее
Total votes 10: ↑5 and ↓50
Comments27

Алгоритмы компрессии данных: принципы и эффективность

Level of difficultyMedium
Reading time12 min
Views13K


Автор статьи: Артем Михайлов

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

Компрессия данных — это процесс сокращения объема данных без потерь или с минимальной потерей информации. Путем применения алгоритмов и методов компрессии, мы можем существенно уменьшить размер данных, сохраняя при этом их суть и основные характеристики. Это может быть полезно во множестве ситуаций, начиная от экономии места на хранилище и ускорения передачи данных до минимизации затрат на интернет-трафик и повышения производительности систем обработки и анализа информации.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments2

Ближайшие бесплатные мероприятия по разработке (5 июля — 6 июля 2023)

Level of difficultyEasy
Reading time1 min
Views913
Читать описание
Rating0
Comments0

Неравный бой — Tinkoff эквайринг. Рекуррентные платежи

Level of difficultyMedium
Reading time7 min
Views7.8K

Цель данной статьи:

1. Помочь разработчикам в интеграции

2. Привлечь внимание команды Tinkoff на проблемы связанные с эксплуатацией их API

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments15

Правильные тестовые данные или почему Вася Пупкин лучший друг тестировщиков?

Level of difficultyMedium
Reading time11 min
Views13K

Будучи молодым QA-инженером, я тестировал модуль регистрации пользователя одного десктопного приложения. Набирать сочетания случайных букв в качестве тестовых имени и фамилии мне изначально не нравилось, а использование личных данных считалось некорректным, поэтому я начал использовать имена и фамилии существующих политиков. Барак Обама, Джордж Буш и другие регистрировались в сервисе кастинга голосовых актеров, проводили сессии голосовых записей, исправно платили по счетам и выполняли прочие бизнес-действия. Через некоторое время об этом узнал наш ПМ, который попросил отказаться от практики привлечения политиков в ряды наших тестовых пользователей. Передо мной встал выбор: пользоваться случайным набором букв или придумать некий шаблон. Я выбрал второй вариант. С тех пор персонаж Василий Пупкин стал моим лучшим другом.

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

Узнать больше о правильных тестовых данных
Total votes 15: ↑13 and ↓2+11
Comments14

Сравнение тяжеловесности популярных библиотек UI компонент для Vue 3

Level of difficultyEasy
Reading time3 min
Views8.9K

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

Было проведено исследование - взяты три HTML элемента: Button, Input и Select, и проверено, насколько увеличатся js и css бандлы если использовать для них одну из 10 распространенных UI библиотек для Vue 3.

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

Книги для начинающих разработчиков: от «Чистой архитектуры» до «Паттернов проектирования»

Reading time5 min
Views26K

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

Читать далее
Total votes 22: ↑19 and ↓3+16
Comments13

Субъективно о радиолюбительстве

Level of difficultyEasy
Reading time12 min
Views10K

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

(Там немножко фотографий под спойлерами)

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

Тексты и надписи. Что не так с тёмной темой

Reading time7 min
Views8.3K

Совсем недавно мне стали попадаться на Хабре интересные и без преувеличения фундаментальные исследования о роли тёмной темы при проектировании GUI. Особенно отмечу публикацию уважаемой Марии Колчановой @mkolchanova «Как работают глаза и что надо учитывать, создавая тёмную тему приложения». Для меня тёмная тема неприемлема (я могу рассмотреть в ней какую-нибудь таблицу и кое-как мирюсь с ней на сайтах, посвящённых тяжёлой музыке), но мне стало интересно систематизировать, как мода на тёмную тему сочетается с удобочитаемостью и восприятием текста, какие аспекты при выборе шрифта и фона здесь действуют, какова история опытов с тёмной темой. Кстати, ранее я уже публиковал в этом блоге статью о попытках искусственно расширить видимый спектр в инфракрасную и ультрафиолетовую область, вот здесь. Но под катом речь пойдёт о других вещах, в частности, об интересных отличиях между «воспринять», «уловить» и «заметить».  

Чтение с экрана отличается от чтения с бумаги тем, что экран является источником света. Сложно сказать, является ли белый шрифт на чёрном фоне идеальной комбинацией для чтения с бумаги (бумага исходно являлась белой), но электронный носитель текста — продолжение бумажного, поэтому показатели текста и фона на экране исторически «подстраивали» под аналогичные свойства бумаги. Наряду со свойствами контрастности шрифта и фона важен вопрос об удобочитаемости самого шрифта. Исторически предполагалось, что шрифт с засечками хорошо подходит для восприятия длинных текстов (книжных или газетных), однако в исследовании, описанном на Хабре в блоге Tinkoff, делается вывод, что у человека с хорошим зрением восприятие текста с засечками и без засечек почти не отличается. В свою очередь, старики и маленькие дети (соответственно, слабовидящие и плохо умеющие читать) легче воспринимают  шрифт без засечек. Далее сосредоточимся на типичных и экзотических соотношениях шрифта и фона. Выбор цвета шрифта и цвета фона во многом зависит от того, какого типа восприятия мы добиваемся: быстро уловить информационный фрагмент или внимательно прочитать длинный текст.

Читать далее
Total votes 31: ↑27 and ↓4+23
Comments27

В поисках альтернативы Jira

Level of difficultyEasy
Reading time4 min
Views41K

Наша команда как и многие другие работала с облачными продуктами Atlassian: Jira и Confluence. Осенью прошлого года, Atlassian отправила нам письмо счастья.

Читать далее
Total votes 54: ↑50 and ↓4+46
Comments71

Установка и настройка сервера Matrix Synapse + PostgreSQL + Admin UI + Element WEB. Ubuntu 20 LTS / Ubuntu 22 LTS

Level of difficultyMedium
Reading time11 min
Views31K

Всем привет. В данном гайде я постарался пошагово, подробно и доступно описать процесс установки на свой сервер Matrix Synapse + Element WEB + Admin UI на базе Ubuntu 20 LTS / Ubuntu 22 LTS.

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

Разобравшись с данным вопросом и затратив не мало усилий я решил поделиться своими результатами с сообществом habr.

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments34

ALD Pro – средство централизованного управления и как мы выполняли пилотное внедрение. Часть 1

Level of difficultyMedium
Reading time20 min
Views18K

AD — как много в этих буквах для сердца нашего слилось… Один из ключевых сервисов в любой средней или крупной организации — это Microsoft Active Directory. А какие есть альтернативы?

Кому интересно, прошу под кат
Total votes 9: ↑7 and ↓2+5
Comments11

Простейший алгоритм разделения слова на слоги

Reading time3 min
Views5.6K
Однажды на проводимом мной практическом занятии [по ЯП] я, скучая, разглядывал список студентов группы. Глаз зацепился за знак ударения в фамилии Лемзекóв, который я поставил [для себя] после того, как произнёс фамилию этого студента неправильно. Я мысленно прочёл эту фамилию по слогам, и тут у меня возник вопрос: «а по какому алгоритму мозг разбивает слова по слогам?» Почему-то интуитивно получается "Лем-зе-ков", а не "Ле-мзе-ков" или "Лем-зек-ов". Я выписал ещё несколько примеров, и разглядывая их размышлял о том, как перевести это в алгоритм.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments28

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Database Developer
ASP.NET Web API
PostgreSQL
Git