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

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

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

От ручной работы к автоматизации: наш путь к идеальной доставке сборок Flutter

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

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

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

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

Spring Boot 3.2: замените свой RestTemplate на RestClient

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

Эта статья по Spring Boot 3.2 посвящена надстройке над  WebClient, которая называется RestClient и представляет собой более интуитивный и современный подход взаимодействия с RESTful сервисами.

В мире Spring Boot отправка HTTP запросов к внешним сервисам является весьма распространенной задачей. Традиционно при достижении этой цели разработчики полагались на  RestTemplate. Однако, по мере развития Spring Framework, на свет появился новый и более мощный способ обработки HTTP запросов: так называемый  WebClient. Spring Boot 3.2 представил нам надстройку над  WebClient, которая получила название RestClient. 

RestClient предлагает нам более современные и интуитивно понятные способы взаимодействия с RESTful сервисами. 

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

Замена 3-way merge на Server-Side Apply: как werf 2.0 решает проблемы Helm 3

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

В werf 1.2 для обновления ресурсов в Kubernetes мы использовали механизм под названием 3-way merge. Он достался нам от Helm 3, который мы использовали как подсистему развертывания. Хотя 3-way merge и решил часть проблем, существовавших в 2-way merge, многие проблемы, приводящие к некорректным обновлениям ресурсов, так и остались нерешёнными.

В werf 2.0 и Nelm мы пошли дальше и заменили 3-way merge на более современный механизм обновления ресурсов Kubernetes — Server-Side Apply. Он решает все проблемы 3-way merge и гарантирует корректные обновления ресурсов в кластере при развёртывании. В этой статье мы расскажем, какие проблемы испытывают пользователи Helm 3 и как Server-Side Apply помогает их преодолеть.

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

Про рейтинги популярности языков программирования — на лето 2024 года

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

Вечнозеленая тема — рейтинги популярности языков программирования. Говорят, что они в основном интересуют слушателей ИТ-курсов, но в майском рейтинге 2024 есть и небольшая сенсация. В ТОП-10 индекса TIOBE вернулся Fortran, — язык, ведущий историю с 1957 года (кстати, последняя версия выпущена в 2023). Насколько можно верить разным рейтингам и не пора ли инфоцыганам запускать курсы на Fortran? Что еще важно — различные рейтинги дают кардинально разные оценки популярности языкам, идущим на позициях далее ТОП-5 или ТОП-7. Вот такие они, рейтинги.

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

Популярнее некуда: у JavaScript самое большое сообщество. Как это выяснили

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

Языки программирования часто анализируют по разным методикам, после чего и публикуются рейтинги. Их не один и не два, но о самом известном, Tiobe, слышали, наверное, все. Рейтинги часто оспаривают, с ними не согласны многие разработчики и аналитики. Тем не менее, знать о них полезно.

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

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

Как сломать скомпилированный код, не нарушая бинарную совместимость

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

Привет! Я Антон, Android-разработчик в команде Т-Бизнеса. Занимаюсь интеграцией нескольких наших внутренних SDK в приложение и иногда участвую в их разработке.

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

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

Почему MMAP не лучший выход

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

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


MMAP захватила умы программистов СУБД на многие десятилетия, как альтернатива буферу данных. И вот здесь следует отметить, что в mmap имеются серьёзные проблемы с корректностью и скоростью работы с данными в современных СУБД. В реальности, некоторые известные СУБД сперва использовали mmap для работы с "больше-чем-вмещается-в-память" базами данных, но вскоре обнаружили эти скрытые ограничения, которые принудили их к самостоятельному управлению файловым вводом/выводом, после заметных трат на инженерные исследования. В этом смысле mmap и СУБД подобны сочетанию кофе и острой пищи: неудачное сочетание, которое не очевидно, пока сам не попробуешь.


Покуда разработчики по прежнему пытаются использовать mmap в новых СУБД, мы написали эту статью, чтобы предупредить остальных, что mmap это не подходящая замена привычному буферу. Далее мы обсудим основные недостатки mmap, а также покажем явные ограничения производительности, которые мы обнаружили в наших экспериментах. На основании этих находок мы поделимся рецептами, когда разработчикам СУБД следует избегать mmap для реализации файлового ввода/вывода.

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

Пора оставить RAID-5 в далеком прошлом

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

Для ЛЛ: RAID-5 совершенно не подходит для современных массивов из дисков на 5-10 Тб по нескольким причинам.

Читать далее
Всего голосов 77: ↑66 и ↓11+81
Комментарии129

Удобный CI/CD доступен каждому

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

Привет, Хабр! Недавно я выступал на Moscow Python Conf, где делился нашим опытом создания и использования CI/CD пайплайнов. В данной статье я расскажу об этих пайплайнах, раскрою их особенности и покажу, как они помогают нам быстро доставлять код и поддерживать высокий показатель Time To Market. Надеюсь, что наш опыт будет полезен и вам.

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

Как за один день сделать месячный объем работы и перестать тревожиться — пошаговая инструкция

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

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

Читать далее
Всего голосов 68: ↑59 и ↓9+61
Комментарии114

Пайплайны в GitLab для микросервисов

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

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

Начнем с основ на примере монолитного приложения, а потом усложним их микросервисами и постараемся избавиться от однотипного кода. А еще…
Читать дальше →
Всего голосов 57: ↑57 и ↓0+74
Комментарии4

Стенд для нагрузочного тестирования на Testcontainers

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

Использование Testcontainers кардинально улучшило процесс работы с тестовыми сценариями. Благодаря этому инструменту, создание окружений для интеграционных тестов стало проще (см. статью Изоляция в тестах с Кафкой). Хотя нагрузочное тестирование встречается реже, чем функциональное, оно может быть гораздо более увлекательным. Изучение графиков и анализ работы конкретного сервиса может доставить настоящее удовольствие. Такие задачи редки, но для меня они особенно захватывающие.

Цель данной статьи — продемонстрировать подход к созданию стенда для нагрузочного тестирования в том виде, в котором пишутся обычные интеграционные тесты: в форме spock-тестов с использованием Testcontainers в среде Gradle проекта. В качестве утилит нагрузочного тестирования используются Gatling, WRK и Yandex.Tank.

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

.NET Aspire — империя дотнета наносит ответный удар

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

Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.

Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary Constructor'ы про которые я писал, или вот прикол-пропозал от самого Тоуба). Так что ожидания у меня, честно говоря, были ниже нуля.

Но попробовав его лично, я был, честно говоря, шокирован. Трепещите, жависты!! Трепещите гошники! Трещепищите питонисты - такого вы еще точно не видели.

Я даже представить не мог, что DevEx можно сделать настолько офигительным.

Узнать про Aspire без смс и регистрации
Всего голосов 37: ↑35 и ↓2+41
Комментарии49

Колонизация Марса: 10 проблем, с которыми столкнется человечество

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

Еще в 2016 году Илон Маск представил свой план по колонизации Марса. Согласно ему, первые экипажи должны были полететь на красную планету уже в 2024 году. На бумаге все выглядело отлично, но на дворе сейчас тот самый 2024 год, и что-то никаких подвижек не ощущается. Почему?

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

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

Принципы непрерывного рефакторинга

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

Работа со старым кодом для многих команд является частью повседневных обязанностей. За свою карьеру я видел и применял разные способы борьбы с тяжестью легаси. Они обычно сводились к одному из трёх основных сценариев:

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

«Я прочитал Роберта Мартина»: включаем чистки в обычный код. Надеваем галстук бойскаута и чистим код прямо по ходу работы над текущими задачами. Отправляем его коллегам на ревью и ждём несколько дней, покуда они не разберутся, где заканчиваются рефакторинги и начинаются непосредственно изменения по задаче. Или же уходим по кривой дорожке рефакторингов в тёмный лес и продалбываем к чертям все изначальные сроки. Когда начинаешь приводить код к идеалу, не всегда бывает так легко остановиться!

«Нужен порядок и учёт»: делаем отдельные коммиты с чистками, но нерегулярно — только когда в дело берётся соответствующий тикет. Правда, тикеты на рефакторинг почему‑то регулярно получают самый низкий приоритет во время планирования и маринуются в беклоге месяцами. Но что уж тут поделать?

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

За прошедший год я нащупал и отточил ещё один подход, который лишён указанных недостатков. И теперь готов поделиться им с вами.

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

Три кита продуктивности: воздух, температура и освещение. Но как их улучшить?

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

«Хорошо есть, крепко спать и достаточно пить» — кажется, это самые распространенные «народные» советы для поддержания тела в тонусе, а ума в ясности. Делай так и все будет «окей»!

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

Обыватель скажет: «Ну конечно, имеют! Если не проветривать комнату, будет душно. Если не включать свет, будет плохо видно и сядет зрение. Ну а беспорядок на рабочем столе — отражение беспорядка в голове!».

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

Простой пример: превышении нормы CO2 в помещении всего на 20% снижает когнитивные способности на целых 60%. А исходя из общемировой статистики, комната, в которой сейчас находится читатель, превышает норму CO2 минимум в 2 раза!

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

Какие возможности клавиатур подглядеть у Tinder, YouTube и Revolut

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

Дизайнеры интерфейсов часто оставляют клавиатуры «за кадром». Между тем, удобная клавиатура — это как раз то, что пользователь хочет видеть в приложении. Я изучила документацию для iOS и Android, пообщалась с разработчиками и заглянула в десятки приложений, которыми вы точно пользуетесь.

В статье покажу:

что влияет на внешний вид клавиатур,

виды нативных клавиатур и их поведение,

как отличается применение клавиатур для одних и тех же команд.

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

Читать далее
Всего голосов 24: ↑23 и ↓1+27
Комментарии10

Запуск стартапа в Великобритании vs Сингапуре

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

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

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

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

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

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

Еда как софт

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

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

Это неожиданно открывает возможность не просто генерировать еду, но заодно и вмешаться в процесс её создания и пофиксить всё то, что давно надо было пропатчить и обновить. ДНК-модификации — уже давно не новость, там проблемы только с экономической стороной. И они постепенно решаются.

В общем, давайте пройдёмся по тому, как еду видели фантасты, и тому, как их прогнозы исполняются. Ну или почти исполняются.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+11
Комментарии15

Диоксины — самые токсичные

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

Скачать в удобном виде (PDF, Word, памятка)

Главное

Источники

Воздействие на здоровье

Советы

Диоксины - это самые токсичные вещества созданные когда-либо человеком. Они токсичны даже в концентрациях 10-15 г/кг массы тела.

Диоксины повсеместно присутствуют в продуктах животного происхождения и накапливаются в жировых тканях животных и человека. Период полураспада в организме человека оценивается на уровне 7-11 лет.

Всемирная организация здравоохранения (ВОЗ) включила диоксины в перечень ТОП-10 химических веществ, вызывающих серьезную опасность здоровью населения.

Читать далее
Всего голосов 46: ↑16 и ↓30-5
Комментарии26
1
23 ...

Информация

В рейтинге
3 098-й
Откуда
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Зарегистрирован
Активность