Mad Devs Channel
1.6K subscribers
664 photos
30 videos
1 file
867 links
Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.
Download Telegram
Python уже везде или библиотеки Pyhton для работы с энергосистемами

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

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

Рассмотрим часть из них в этом посте

📌 CIM - Common Information Model - определяет стандартную структуру и схему данных для электроэнергетических систем. CIM предоставляет набор инструментов для обработки и анализа данных электроэнергетических систем, таких как сетевые топологии, статус оборудования и потоки мощности.

📌 Breakthrough Energy - сосредоточена на разработке технологий, направленных на решение проблем, связанных с изменением климата. Она предоставляет доступ к инновационным решениям в области энергетики и стимулирует исследования в области чистых источников энергии.

📌 Calliope - позволяет моделировать и оптимизировать энергетические системы с использованием Python. Она обладает гибкой архитектурой, которая позволяет создавать настраиваемые модели, включая модели с участием возобновляемых источников энергии.

📌 CLOVER - используется для моделирования и анализа электрических сетей. Она предоставляет возможность оптимизировать распределение энергии и ресурсов, а также анализировать эффективность системы.

📌 Dispa-SET - используется для моделирования и оптимизации энергетических систем, включая производство и распределение энергии. Она также обладает функциями анализа надежности сети и расчета затрат на производство энергии.

📌 EnergyPATHWAYS - используется для моделирования и анализа энергетических систем. Она позволяет пользователю создавать сценарии и анализировать влияние изменений в энергетической системе, таких как введение новых технологий и изменение потребления энергии.

📌 Ficus - используется для создания и оптимизации расписания загрузки электрических сетей. Она также позволяет пользователю анализировать нагрузку и потребление энергии, а также оценивать влияние изменений в системе на потребление энергиии

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

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

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

📌 Power Grid Model - это библиотека, которая предоставляет гибкие инструменты для создания настраиваемых моделей электрических сетей. Она также предоставляет возможность анализировать влияние изменений в системе на надежность и эффективность сети.

Если вы уже используете одну из этих библиотек, то поделитесь с нами, почему вы выбрали именно ее?
👍3🔥1😢1
Mad Devs Channel
Mad Devs Meetups: Design Day ⚡️ Дорогие дизайнеры Tech компаний, мы рады пригласить вас на первый Design Day. Митап пройдет 13 мая (суббота) в ololoPlanet. В программе митапа: 📌 Знакомство с design комьюнити, 📌 Выступления трех спикеров из Mad Devs, 📌 Панельная…
Design Day уже завтра ⚡️

Наш профессиональный митап для дизайнеров в Tech компаниях состоится уже завтра 13 мая.

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

Ждем вас:
📅 13 мая 2023 года 11:00
📍ОлолоПланет, Юнусалиева 80, конференц зал, 1 этаж

Участие в ивенте совершенно бесплатное.
Зарегистрироваться можно тут
10
10 вещей, которые стоит сделать вечером вместо того, чтобы смотреть Netflix

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

Если вы беспокоитесь о том, что проводите слишком много времени за просмотром Netflix или телевизора, то вы не одиноки. Ученые рекомендуют выбрать альтернативные занятия, к которым естественным образом тяготеете, и можете переключаться между ними, чтобы ваши вечера стали веселее и спокойнее.

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

📍 Очистите свою голову от «открытых циклов»
Как пишет Крис Бейли в «Гиперфокусе»: «Пустой мозг — продуктивный мозг, и чем больше вещей мы выбрасываем из головы, тем яснее мы думаем».
Помогите себе. Выпишите свои проблемы, список дел, запланируйте встречи в календаре и освободите свой мозг от отягощающих мыслей.

📍 Не позволяйте своему разуму питаться “фаст-фудом”
Одно из лучших решений, которое вы можете принять, — перестать потреблять то, что называется «мусорными СМИ». Это могут быть реалити-шоу, ток-шоу, сплетни о знаменитостях. Постарайтесь смотреть хорошие фильмы или документальные, а также авторов на YouTube, которые делают высококачественный контент.

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

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

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

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

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

📍Уберите телевизор из спальни
У каждой комнаты есть цель. У спальни главная цель — здоровый сон. Используйте свою спальню только для сна. Уберите из неё рабочие предметы, ноутбуки и телевизоры.

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

Надеемся, что хотя бы одно из этих занятий поможет вам тратить меньше времени на просмотр шоу и больше времени уделять отношениям, отдыху и концентрации. А как вы проводите свои вечера? Поделитесь в комментариях 👇
👍9🔥43
Интересные способы использования ChatGPT, о которых вы даже не подозревали

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

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

📍Вопросы и ответы приглашенного спикера
Допустим, у вас скоро встреча с приглашенным докладчиком и вы хотите задать вопросы из аудитории. Попросите ChatGPT предварительно сгенерировать некоторые вопросы и подготовить примерные ответы на эти вопросы.

📍Создание игр
Вы можете попросить написать сюжет для настольной или компьютерной игры.

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

📍Найдите гостей подкаста
Спросите у ChatGPT, кто будет лучшим гостем для подкаста на определенную тему, а также привести примеры, кого можно пригласить.

📍Подготовка к собеседованию
Если вам нужно подготовиться к собеседованию, то попросите ChatGPT обдумать вопросы и ответы, которые могут быть на интервью.

📍Объяснение сложных понятий
Не знаете ничего о квантовой физике? ChatGPT может объяснить её вам так, как будто вам 10 лет, понятным языком.

Вы пробовали что-то из этого? Расскажите нам о своих успехах в разделе комментариев! 👍
👍6
Невозможно просто взять и не поделиться с вами новой задачей 🤩

Вам даны 2 строки: str1 и str2. Вам нужно вывести все возможные варианты преобразования str1 в str2. К str1 применимы операции:

🔸 вставки;
🔸 удаления;
🔸 замены.

Все операции имеют одинаковую стоимость.

Задача: Вам нужно вывести все варианты преобразования str1 в str2 с использованием минимального количества шагов.

Подсказка: последовательность операций является вариантом ответа.

Приступим. Вход: str1 = «abcdef», str2 = «axcdfdh»

Выход:

Вариант 1:

Вставить h;
Заменить f на d;
Заменить e на f;
Заменить b на x.

Вариант 2:

Заменить f на h;
Вставить d;
Заменить e на f;
Заменить b на x.

Вариант 3:

Заменить f на h;
Заменить e на d;
Вставить f;
Заменить b на x.

Как вы бы ее решили? Пишите в комментариях.

Если же вы не можете справиться с задачей, но хотите узнать решение, то оставляйте реакцию 🔥
🔥7
PM Conference в ololoAkJol на Иссык-Куле уже в эти выходные ⚡️

Конференция проводится для проджект-менеджеров, управленцев различного уровня, hr-менеджеров и для всех, кто получает удовольствие от организации процессов в работе и жизни.

Мы также примем участие в данном мероприятии и в роли спикера выступит наш Marketing Project Manager Мария Заиченко с темой о построении процессов в маркетинге.

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

С программой ивента, а также стоимостью вы можете ознакомиться здесь

Бронь:
📞 +996 (777) 1000 30
💬 +996 (504) 1000 30 (W/A)
📍с. Кош-Кель, всего 220 км от Бишкека
🔥5👍2
Особенности языка Swift

В какой-то момент истории Apple решили разработать еще один язык, простой, гибкий, быстрый, и безопасный. Так на свет появился Swift, который они даже сделали Open Source для создания большей активности вокруг него. Ему пророчили большое будущее, и ожидалось его широкое использование далеко за пределами Apple, значительно потеснив Rust и Python.

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

Давайте же разберемся почему и посмотрим на некоторые его особенности 🤟

📌 Опционалы - это специальный тип данных, который может содержать значение или не содержать его. Он используется для предотвращения ошибок при работе с nil значениями, которые часто возникали во время выполнения программы на Objective C из-за неожиданных значений nil. При создании переменной с типом Optional, ей автоматически присваивается значение nil. Для доступа к значению Optional, необходимо его извлечь с помощью оператора !, что именуется как force unwrap или с использованием других безопасных методов.

📌 Оператор guard совершенствует функции if и позволяет более читабельно и безопасно написать код для проверки условий, и выполнять действия в случае, если эти условия не выполнены. Guard проверяет условие, и если оно не выполнено, то выполняет действие, определенное в блоке else. Если же условие выполнено, то дальнейший код выполняется без изменений, при этом программа не падает как если бы это был if.

📌 Wildcard - это специальный символ в языке Swift, который позволяет опустить имя переменной или параметра при вызове функции. Это особенно полезно, когда функция имеет только один параметр и имя параметра занимает много места в коде. Перед именем параметра ставится символ подчеркивания, и при вызове функции можно просто передать значение параметра, не указывая его имя. Это делает код более компактным и читабельным.

📌 Константы обозначаются ключевым словом let и представляют собой особый тип данных. Он позволяет определить значение, которое не может быть изменено после присвоения, иначе компилятор просто выдаст ошибку. В отличие от Objective-C, где использовался атрибут const для объявления констант, который является частью указателя на объект - let может использоваться в различных областях, включая функции и классы.

📌 Функции высшего порядка позволяют передавать функции в качестве аргументов другим функциям и возвращать функции как результат. Это реализовано с помощью замыканий (closures) поддерживающих захват значений из функции, что позволяет избежать потенциальных проблем с изменением переменных внутри замыкания, что не было возможно в Objective-C, где передача функций в качестве аргументов реализовывалась с помощью указателей на функции.

📌 Атрибуты доступа в Swift являются очень продуманной и гибкой системой. Public означает, что класс, метод или свойство открыты для использования из любого файла в приложении. Private ограничивает доступ к элементу только внутри текущего блока кода. Protected - наследуется только дочерними классами. В свою очередь Open и Closed касаются наследования. Если класс помечен как Open, его можно наследовать и переопределять в других классах. Closed запрещает наследование и переопределение. Fileprivate ограничивает доступ к элементу только в пределах файла, в котором он объявлен. Все это создает идеальный баланс между порядком и возможностями в коде.

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

А за что вы любите Swift? Поделитесь с нами!
👍9
Готовы узнать решение задачи, которой мы делились?

Для начала создайте коллекцию строк для хранения необходимых операций. Данная коллекция может быть реализована через vector строк в C++ или List строк в Java. После добавьте операции в эту коллекцию, а затем создайте коллекцию таких коллекций. В которой будут храниться несколько методов (наборов строковых операций).

Для проверки наследования от DP[i][j] используйте Else-if. После чего проверьте все условия, чтобы убедиться, что существуют более одного способа получить элемент коллекции.

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

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

Вам удалось найти решение? Расскажите в комментариях, что у вас получилось 👇
🔥2🤔1
Асинхронные запросы с AbortController

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

AbortController — это класс в JavaScript, позволяющий отменять один или несколько запросов. Это достигается с помощью сигналов, которые генерируются экземпляром AbortController и передаются в функции, поддерживающие отмену, как Fetch, Promise, setTimout, setInterval и fs.

Достоинства AbortController

🔹Безопасность. Использование AbortController позволяет отказаться от сложных и потенциально ненадежных методов для отмены асинхронных запросов.

🔹Эффективность. AbortController предоставляет возможность отмены запросов в любой момент времени, что предотвращает ненужное выполнение и ожидание.

🔹Гибкость. AbortController может быть использован с различными асинхронными API, предоставляя единый интерфейс для отмены запросов.

Какие проблемы решает AbortController?

🔹Неэффективность. Долгие асинхронные запросы без возможности отмены могут продолжать выполняться, даже когда их результаты больше не нужны.

🔹Сложность управления. Без AbortController, управление отменой операций может стать сложным и запутанным, особенно при использовании внешних библиотек или кастомных решений.

Ключевые функции AbortController

🔹Fetch запросы. AbortController позволяет отменять Fetch запросы. Просто создайте экземпляр AbortController, передайте его сигнал в опции Fetch запроса, и при необходимости вызовите метод abort() для отмены запроса.

🔹Promise. AbortController также может быть использован для отмены операций, возвращаемых в виде промисов. Для этого добавьте AbortController к промису и вызовите метод abort(), чтобы отменить операцию. Внутри промиса проверяйте состояние signal.aborted и, если оно true, завершайте промис.

🔹setTimeout и setInterval. Эти функции могут быть обернуты таким образом, чтобы поддерживать AbortController. При вызове abort(), вы отмените соответствующий таймер.

Какие особенности использования AbortController?

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

🔹Одноразовое использование. AbortController не может быть повторно использован после вызова метода abort(), поскольку сигнал становится "отмененным" и остается в этом состоянии и при повторном использовании экземпляра AbortController могут возникнуть проблемы. Поэтому, если вам нужно повторно использовать отмену, вам нужно создать новый экземпляр AbortController.

А насколько полезным находите AbortController вы? Поделитесь вашим опытом в комментариях!
👍5
Такое явление как asService не теряет свою популярность, и их различные разновидности продолжают активно развиваться, во многом избавляя многие бизнесы от необходимости разработки собственных решений.

Сегодня поговорим об одном из них, а именно ServiceNow.

ServiceNow - это платформа, которая объединяет различные функции и процессы бизнеса, автоматизирует бизнес-процессы, управляет сервисами и ИТ-инфраструктурой, интегрируется с другими системами и обеспечивает гибкость и масштабируемость для компаний.

Ключевые возможности.

🔹Автоматизация бизнес-процессов. С помощью ServiceNow компании могут автоматизировать свои бизнес-процессы, устранить рутинные и повторяющиеся задачи, оптимизировать рабочие процессы и улучшить операционную эффективность.

🔹Управление ИТ-инфраструктурой. ServiceNow предоставляет возможности управления ИТ-инфраструктурой, включая управление инцидентами, управление изменениями, управление конфигурацией и другие. Это помогает ИТ-отделам эффективно контролировать и поддерживать свою инфраструктуру и улучшать качество обслуживания.

🔹Интеграция с другими системами. ServiceNow предлагает набор API и инструменты для интеграции с другими системами, такими как CRM, ERP и др., которые компания уже использует. Это обеспечивает согласованность данных, повышает эффективность работы и устраняет необходимость в ручном вводе информации в разные системы.

🔹Платформа как сервис. ServiceNow базируется на модели "платформа как сервис" (PaaS), что позволяет компаниям быстро разрабатывать и внедрять новые приложения, а также легко масштабировать их при необходимости.

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

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

🔹Использование ServiceNow связано с зависимостью от провайдера услуг, поскольку платформа предоставляется как облачное решение или услуга. Это означает, что компании полностью полагаются на надежность, безопасность и доступность услуги от провайдера.

А что вы думаете о еще одном asService? Поделитесь с нами в комментариях!
👍3
RociFi и Mad Devs покоряют новые вершины! ⚡️

Проект RociFi, над которым работала наша команда, был выбран в программу MasterCard Start Path!

Start Path - это программа по привлечению стартапов. Она включает в себя несколько направлений: привлечение капитала, подключение к широкой экосистеме платежей, создание более инклюзивной экономики и многое другое.

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

RociFi - это сетевой скоринг и протокол кредитования с высокой капиталоемкостью для Polygon и zkSync. Подробнее о том, как мы работали над проектом, вы можете узнать на нашем сайте.
7🔥2
CORS

CORS (Cross-Origin Resource Sharing) - важный механизм, который позволяет веб-браузерам запрашивать ресурсы с сервера, находящегося на другом источнике (домене, протоколе или порту), отличном от того, с которого был исходный запрос.

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

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

Однако по умолчанию браузеры блокируют такие кросс-доменные запросы в соответствии с политикой одного источника (Same-Origin Policy), которая предотвращает возможность межсайтовой атаки (Cross-Site Request Forgery, CSRF).

Как работает CORS?

🔹Предварительный запрос. Перед отправкой основного запроса, браузер отправляет предварительный запрос на сервер с использованием метода HTTP OPTIONS. Этот запрос содержит заголовки, такие как Origin (содержащий источник запроса) и Access-Control-Request-Method (содержащий HTTP метод, который будет использоваться в основном запросе), чтобы указать серверу, какой именно запрос он планирует сделать.

🔹Ответ сервера. Сервер затем отвечает на этот предварительный запрос, отправляя свои заголовки CORS в ответ. Это может включать в себя такие заголовки как Access-Control-Allow-Origin (указывает источники, которым разрешено делать кросс-доменные запросы), Access-Control-Allow-Methods (указывает, какие HTTP методы разрешены) и Access-Control-Allow-Headers (указывает, какие HTTP заголовки разрешены).

🔹Основной запрос. Если сервер поддерживает CORS и разрешает исходный запрос, браузер затем отправляет основной запрос к серверу. Если нет, браузер блокирует запрос и выдает ошибку CORS.

Конечно, тема CORS намного более обширная, и если вам интересны более углубленный разбор и примеры настроек CORS для конкретных случаев - дайте знать в комментариях!
👍9🔥2
Наверное, все так или иначе задумывались, смогли бы работать в Google. Давайте проверим, прошли бы вы собеседование? 🤔

Итак, решите классическую задачу с собеседования в комментариях:⬇️

Есть порядок чисел – 10, 9, 60, 90, 70, 66
Какое число следующее?
🤔13
Mad Devs Channel
Наверное, все так или иначе задумывались, смогли бы работать в Google. Давайте проверим, прошли бы вы собеседование? 🤔 Итак, решите классическую задачу с собеседования в комментариях:⬇️ Есть порядок чисел – 10, 9, 60, 90, 70, 66 Какое число следующее?
Разгадка – здесь необходимо не использовать математику.

Если вы произнесете числа на английском языке, вы заметите, что они расположены в порядке возрастания количества букв, необходимых для записи каждого числа.

Например, число 10 - не единственное число, содержащее три буквы. На его месте могли быть числа 1, 2 и 6 (one, two и six). Аналогично, число 9 может быть заменено числами 0, 4 и 5 (zero, four и five). Следовательно, в список включены самые большие числа, которые можно записать словами с определенным количеством букв.

Какое число является правильным ответом? Следующее число после 66 должно содержать девять букв (не считая дефиса) и быть самым большим в своей категории. Если хорошенько поразмышлять, то можно установить, что ответ - 96 (ninety-six). Потому что числа, превышающие 100, не подходят, поскольку для написания "one hundred" требуется десять букв.

Вы можете задать вопрос, почему на месте 70 не стоит "hundred" или "million" или "billion", которые также содержат семь букв для записи? Скорее всего, это связано с тем, что на правильном английском языке не говорят "сто", а "одна сотня", что же касается двух других случаев.

Правильный ответ не совсем очевиден. Google считает ответ 96 приемлемым, но не самым идеальным.

Существует число, которое больше: "one googol" (десять в степени ста). Это число записывается с помощью девяти букв. Однако даже это не самый лучший вариант.

Идеальный ответ: "ten googol", что означает десять в степени ста.
👍4🤔2
Как построить современную архитектуру стартапа

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

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

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

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

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

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

Выбор правильной архитектуры
Лучший способ выбрать правильную архитектуру для вашего стартапа — это учесть ваши конкретные нужды и требования.
📍 Если у вас небольшая команда с простым приложением, то монолитная архитектура может быть хорошим выбором.
📍 Если у вас большая команда со сложным приложением, лучше выбрать архитектуру микросервисов.
📍 Если вы ищете простую и удобную в обслуживании архитектуру, то бессерверная архитектура может быть хорошим вариантом.

Независимо от того, что вы выберете, важно убедиться, что у вас есть надежный план разработки, тестирования и развертывания. Это поможет вам обеспечить масштабируемость, надежность и безопасность вашего приложения.
👍8
Последнее время многие QA специалисты переживают, что их заменит ИИ

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

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

🔹Регрессионное тестирование, автоматизируя анализ кода на изменения и выявляя потенциальные проблемы.

🔹Генерация тестовых кейсов, на основе требований и спецификаций, сокращая необходимые при ручном создании время и усилия.

🔹Анализ данных, выявляя неочевидные шаблоны, указывающие на потенциальные проблемы.

🔹Тестирование производительности, моделирования сценарии реального мира и тестирования приложения в различных условиях.

🔹Тестирование безопасности, выявляя потенциальные уязвимости безопасности, упущенные при ручном тестировании.

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

🔹Предиктивный анализ, прогнозируя потенциальные проблемы или дефекты до их реального возникновения.

Но ключевое слово здесь помогать. Не забывайте, что есть набор навыков, бесценных при любом уровне автоматизации!

Продуктивная коммуникация
Критическое мышление
Эмоциональный интеллект
Нестандартные знания предметной области
И креативный подход к решению проблем.

Развивайте эти навыки, и точно останетесь востребованным при любых обстоятельствах!
👍7