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

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

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

Docker Swarm для самых маленьких

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

Данная статья посвящена настройке и работе с Docker Swarm.

Swarm это стандартный оркестратор для docker контейнеров, доступный из «коробки», если у вас установлен сам docker.

Что нам потребуется для освоения:

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

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

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

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Инструкция:
Всего голосов 130: ↑130 и ↓0+151
Комментарии126

Деплой .NET приложений для самых маленьких. Часть 2. Github Actions

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

В прошлой статье мы рассмотрели чрезвычайно популярный инструмент для выкатки приложений Jenkins. Мы подружили его через плагины с SSH, с GitHub, построили простой пайплайн с помощью Groovy. И вроде все здорово, все работает как должно, но все равно есть ощущение, что можно сделать лучше. И действительно, наш процесс можно улучшить, перестав проводить сборку на VPS.

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

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

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

Event Sourcing и Saga с помощью Marten и Wolverine на C# и немного модульного монолита

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

В этой статье мы откажемся от контроллеров, MediatR-а и MassTransit-а, всё вышеперечисленное нам заменит Wolverine. Отольём в граните модульный монолит, имплементируем регистрацию событий, используя Marten. Пример всего этого безобразия находится тут.

На фото: Marten (Куница) слева, Wolverine (Росомаха) справа. Хью Джекман просился на обложку, но не прошёл кастинг.

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

Asp.Net приложение и многое другое вместе с ним (1 часть)

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

Asp.Net + nginx + kafka + docker + docker-compose + postgersql. Или как из обычного шаблона прийти к такому гибриду.

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

Полный гайд по CSS Flexbox с примерами из практики

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

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

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

Лидерами не рождаются или принципы эффективного управления

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

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

В этот раз хочу поделиться с вами книгой «Лидерами не рождаются. 12 правил эффективного руководства», Джоко Виллинк. 

Читать далее
Всего голосов 12: ↑8 и ↓4+6
Комментарии22

Helena.4.0 – новый алгоритм для подбора гиперпараметров

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

С целью автоматизации процесса подбора гиперпараметров автором данной статьи разработан алгоритм Helena.4.0. Конечной целью является создание автоматической системы построения моделей (auto-ML), которая бы подбирала гиперпараметры за минимальное время.

С помощью алгоритма Helena.4.0 можно подбирать гиперпараметры для моделей градиентного бустинга, нейросетей, и более того – для генетических алгоритмов. Автор считает, что алгоритмы Helena могут заменить в генетических алгоритмах генеративную часть – т.е. уйти от биологических аналогий, заменив псевдобиологическую генерацию признаков путем процедур «скрещивания» и «мутаций» на генерацию с помощью указанных алгоритмов.

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

Сравнение алгоритма Helena.4.0 с наиболее популярными конкурентами (Optuna, HyperOpt, RandomSearch) показывает его высокую конкурентоспособность.

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

Ниже в статье приведено подробное описание алгоритма Helena.4.0 и результаты сравнительных тестов с алгоритмами-конкурентами.

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

Kibana. Использование языка запросов KQL при поиске логов

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

Туториал по работе с логами в Kibana для начинающих специалистов по тестированию ПО.

У Kibana имеется свой язык запросов KQL (Kibana Query Language) - официальный источник. С помощью этого языка можно составлять запросы, которые помогают отфильтровывать и найти необходимую информацию.

Подключение к Kibana для просмотра логов.

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

Мой новый домашний сервер, часть 1: выбор железа

Время на прочтение8 мин
Количество просмотров97K
Не то, чтобы это было кому-то интересно, но на такую тему тексты пишутся легко и непринуждённо, потому решил написать. Разбив на несколько частей — про выбор железа, выбор софта, сборку (хотя тут не уверен, это обычно самое скучное) и настройку софта (там уже повеселее).

Домашний сервер у меня дома уже много лет существует. По-моему, первый был на базе к6-2 собран ещё в начале нулевых. С того времени сменилось много разных вариантов, быстрых и медленных, больших и маленьких, виндовых и линуксовых. Последние десять лет сервером у меня работает HP Microserver, сперва был Gen7, а где-то с 2015 — Gen8, который был куплен с целероном и двумя гигабайтами ОЗУ, а затем «прокачан» до Xeon'a и 16GB (максимум).

На фото — момент переезда из gen7 в gen8.


Читать дальше →
Всего голосов 66: ↑62 и ↓4+68
Комментарии411

Самосохраняющийся компонент выбора

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

Недавно Бхарат Рави опубликовал статью о директиве самосохраняющегося select-элемента на InDepth. Это интересная концепция изолирования логики в директиве, что в целом идея хорошая.

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

Поехали!
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Запросы в PostgreSQL: 7. Сортировка и слияние

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

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

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

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

Книга «ASP.NET Core в действии» в правильном переводе команды DotNetRu

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

Полтора года назад мы рассказывали про опыт совместной работы нашего сообщества DotNetRu с издательством ДМК Пресс над переводом книги Конрада Кокосы «Управление памятью в .NET для профессионалов». Напомним суть: издатель делал первоначальный перевод, а ребята из сообщества в качестве экспертов доводили текст до ума, пока кровь из глаз не превратилась в слезы счастья. В итоге книга была успешно напечатана и выпущена в продажу, а эксперимент признан успешным.

И сегодня мы рады представить вам наш следующий совместный проект: книга Эндрю Лока «ASP.NET Core в действии» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.

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

Сравнение подходов к реализации распределенных транзакций для микросервисов

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

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

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

Информация

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