Search
Write a publication
Pull to refresh
0
@Redlumusread⁠-⁠only

User

Send message

Сказочная нотация BPMN и как её применять

Level of difficultyMedium
Reading time9 min
Views14K

В этой статье вы узнаете, что такое нотации, зачем они нужны, и какие виды моделирования бизнес-процессов существуют в природе. Сравним положительные и отрицательные стороны каждого из них. Более подробно погрузимся в, пожалуй, один из самых универсальных и удобных инструментов – BPMN 2.0. Разберем основные элементы и попрактикуемся на реальном примере. Я предоставлю вам базовые знания, которые позволят вам сразу после завершения знакомства с данной статьёй, спроектировать свою первую BPMN-диаграмму на любую актуальную для вас профессиональную тему.

Читать далее

Kotlin Coroutines. От А до Я

Level of difficultyEasy
Reading time28 min
Views43K

Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании!
Разберем разницу между многопоточностью и асинхронностью; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope.

Let's go

Kotlin Coroutines. Часть 2

Reading time10 min
Views5.8K

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

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

Читать далее

Переезд из Java в Kotlin: как забрать коллекции с собой

Reading time12 min
Views18K
Меня зовут Борис Николаев, и в первой статье на Хабре хочу сравнить Java и Kotlin при работе с коллекциями. Она будет полезна всем, кто планирует перебираться в Kotlin и не хочет долго осваиваться.

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

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

5 книг, которые стоит почитать начинающему ИТ-архитектору

Reading time5 min
Views56K

Привет, Хабр! Меня зовут Александр Бардаш, я главный архитектор интеграционных платформ в МТС. Сегодня расскажу, почему ИТ-архитекторам важно хотя бы иногда всегда читать книги, и поделюсь подборкой для начинающих. Жду вас под катом и в комментариях!

Читать далее

GET запросы на практике: правила, принципы и примеры

Reading time14 min
Views95K

Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.

Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, безусловно, необходимо для общего понимания технологий, но практически не помогает, когда ты сидишь перед пустой страницей и надо начать “проектировать контракт”.

Я работаю тимлидом направления системного анализа в X5Tech и за все время развития карьеры сталкивалась с большим количеством кейсов проектирования Web систем. IT продукты в большинстве очень динамичны: постоянно изменяются требования, появляются новые, итеративно улучшается пользовательский опыт (по принципу 20% усилий на 80% результата, а остальное доделаем потом).

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

В этой статье предлагаю спроектировать контракт по шагам, и на каждом из них я расскажу про общие рекомендации из копилочки “Полезное”, а также про личные правила и практики, полученные долгим опытом работы над постоянно меняющимися ИТ-продуктами, которые помогут для “дальновидного” проектирования GET REST API.

Читать далее

У меня был 6-дневный дофаминовый детокс — и вот что получилось

Level of difficultyEasy
Reading time5 min
Views150K

Что такое дофамин и почему в среде любителей самосовершенствования он считается гормоном, способствующим отвлечению внимания?

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

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

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

Читать далее

Два потока, одно ядро: как устроена одновременная многопоточность

Level of difficultyMedium
Reading time13 min
Views31K

Одновременная многопоточность (Simultaneous multithreading, SMT) — это функция, позволяющая процессору одновременно обрабатывать команды из двух разных потоков. Но задавались ли вы когда-нибудь вопросом, как это работает? Как процессор отслеживает два потока и распределяет ресурсы между ними?

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

Примечание: основная часть изложенного в статье относится к реализации SMT компании Intel, также называемой гипертредингом (hyper-threading). Она основана на научной статье компании, опубликованной в 2002 году.
Читать дальше →

Вам следует написать новый (ужасный) язык программирования

Level of difficultyEasy
Reading time5 min
Views15K

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

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

История Роберта Нойса: создателя интегральных схем и основателя Intel

Reading time14 min
Views8.2K

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

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

Читать далее

Памятка по BPMN и BPMN-диаграммам

Level of difficultyEasy
Reading time7 min
Views106K

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

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

Читать далее

Освоение любой темы с помощью искусственного интеллекта и метода Фейнмана

Level of difficultyEasy
Reading time5 min
Views63K

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

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

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

По окончании чтения вы научитесь использовать ChatGPT для разбора сложных концепций и их интуитивного освоения всего за четыре простых шага.

Читать далее

Как использовать blue-green-деплой: руководство по выкату одного и нескольких приложений

Level of difficultyEasy
Reading time8 min
Views11K

В статье я задеплою приложение в blue-green, а также покажу, как работает смена между blue и green на практике. Cначала рассмотрим реализацию деплоя приложения в blue-green-стратегии, а затем попробуем werf bundle для деплоя нескольких приложений из одного репозитория. Будем деплоить с помощью werf, все ресурсы описывать как Helm-шаблоны, а для развёртывания использовать GitLab.

Читать далее

Как и зачем мы написали 5000 интеграционных тестов за пару часов

Level of difficultyMedium
Reading time6 min
Views16K

Техлид команды IMP Support в Авито Ангелина Архипова рассказывает, как автоматизировать рутинные процессы, облегчив тем самым жизнь QA-инженеров.

Читать далее

TMS Test IT: польза и лайфхаки для мануальных тестировщиков

Reading time7 min
Views5.7K

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

Сегодня предлагаю рассмотреть опыт использования инструмента TMS (Test Management System) – Test It. Мы проведем анализ функциональности, удобства использования и эффективности данного ПО. На Хабре много статей, описывающих использование Test IT для управления автоматизированным тестированием, наша цель – поделиться с читателями опытом использования TMS в части мануального тестирования.

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

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

Шаблон Котлин-приложения

Level of difficultyEasy
Reading time9 min
Views8K

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

Необходимость шаблона сверх https://start.spring.io вызвана следующими типами доработок:

Читать далее

Книга: «Фулстек-тестирование»

Reading time27 min
Views11K
image Привет, Хаброжители!

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

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

Выгорание тестировщиков: почему так бывает и что делать

Reading time17 min
Views17K

Статей про эмоциональное выгорание много, и часть из них очень даже хорошие. Они фокусируются на работе с людьми: как и что говорить, какие ставить задачи, где вести общение, и вот это всё. Я хочу разобрать более узкую тему: специфичное выгорание тестировщиков. И решения буду предлагать не про людей, а про процессы. Как строить такие процессы разработки, чтобы минимизировать эмоциональное выгорание в команде? Какие баги (в коде и в процессе) надо фиксить? На какие штуки обращать внимание? Рассказывать буду с трёх позиций: что с каждой проблемой может сделать биг‑босс (РМ или собственник бизнеса), тест‑менеджер и сам выгоревший тестировщик. Букв в статье получилось много, сорян ))) Зато вроде полезные? Поехали!

Читать далее

Эволюция конечных автоматов в бэкенд-разработке. Часть 1

Level of difficultyMedium
Reading time6 min
Views9.5K

Привет! Меня зовут Павел, я программист-эксперт в отделе разработки серверных решений ЮMoney. Сегодня расскажу и покажу, как менялись наши конечные автоматы в бэкенде — как от большого страшного монстра с файлами классов по 1000+ строк мы пришли к красивым визуальным диаграммам, которые понимают не только разработчики, но и сотрудники других отделов.

Читать далее

Создание процессора с нуля для чайников

Reading time18 min
Views52K

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

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

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

Читать далее

Information

Rating
Does not participate
Registered
Activity