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

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Правильное понимание Single Responsibility Principle (SRP) в Dart/Flutter

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

SRP оказался самым сложным принципом из всех SOLID принципов в понимании и как в следствии неправильное применение в кодировании. Множество разработчиков уровня junior / middle, которых я собеседовал на позицию Flutter разработчика давали ответ, что SRP - это принцип единой отвественности. Это конечно правильный ответ согласно книги Роберта Мартина "Чистая архитектура". Но мне хотелось услышать как понимает этот принцип наш кандидат в разработчики. Ведь от этого зависит расширяемость и простота читаемости нашего проекта, ведь мы расширяем команду и хотелось бы чтоб мы писали код в единой концепции. В большинстве случаев разработчики понимают этот принцип, как класс, который он создал должен содержать только один метод. И всё что мы написали в этом методе, несёт единственную ответственность, ведь он решает одну задачу. И на этом кандидат заканчивает свою мысль. Ну что же, неплохо, но и не совсем правильно. Да, такой принцип тоже есть, но он применяется на низшем уровне системы. Действительно для удобства чтения не надо всё сваливать в один метод. Практичнее будет если мы каждому методу разрешим делать что то одно и название этого метода будет понятно другому разработчику, что делает этот метод. SRP же применяется на среднем уровне программы. В общем, я делаю вывод что кандидат не читал книгу "Чистая архитектура", либо это делал очень невнимательно...

SRP это про другое! Сам Роберт Мартин столкнулся с такой же проблемой, неправильное понимание того, что он имел ввиду под SRP и попробовал её решить, написав другое определение и разъяснение к нему. Давайте почитаем!

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

Новости

Bitwarden в действии: Автоматизация смены ключей и паролей для AWS

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

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

Что ж, начнем...
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 2

Мой краш-тест чемпионата: Победа в Data Science треке

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

Привет! В статье я расскажу о моем опыте победы в чемпионате "CUP IT 2023" от Changellenge в области Data Science. Соревнование построено на кейс-подходе, где участники решают реальные бизнес-вызовы, с которыми сталкиваются сотрудники компаний VK и Альфа-Банка. Я успешно справилась с задачами обеих компаний. В статье вы найдете подробности об особенностях соревнования, ключевых инсайтах, решениях, а также о том, как этот опыт изменил мою карьеру и подарил новые возможности.

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

Становится ли ПО хуже?

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

Недавно я наткнулся на пост Никиты Прокопова Software disenchantment. Он заставил меня вспомнить пост Мацея Цегловски The Website Obesity Crisis и множество других статей подобного типа. Среди людей, пишущих о разработке ПО, возникает всё более широкий консенсус о том, что приложения становятся больше, медленнее и забагованнее. И это в эпоху, когда оборудование должно позволить нам писать быстрее, меньше и надёжнее. DOOM, вышедший в 1996 году, можно запустить в тесте на беременность и на сотне других неожиданных устройств. Тем временем, современные чат-приложения, работая в фоновом режиме, занимают полгигабайта ОЗУ (или больше), а иногда полностью зависают даже на самом мощном ПО.

Вышеупомянутые посты по этой теме состоят примерно на 80% из справедливой и разумной критики, а на 20% из оторванного от реальности ворчания.

Большинство разработчиков понимает, что глупо спрашивать «это ОС для смартфонов, что в ней может быть сложного?» или «моё приложение для работы с электронными таблицами в 90-х занимало 10 килобайт, тогда почему Factorio весит целый гигабайт?» Если вы не присутствовали при разработке, то не сможете оценить все её проблемы и сложности.

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

Почему же мы этого не делаем?
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 7

Истории

Прикладное терраформирование или как затратив 1 кВт получить 1.5 МВт

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

— А почему Белокуриху называют курортом?

— Ну как же, у нас тут природная аномалия, зимой вокруг — 40°С, а у нас — 20°С!

Подробнее ...
Всего голосов 24: ↑18 и ↓6 +12
Комментарии 17

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

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

Я занимаюсь разработкой и производством диктофонов для безопасности Edic-mini, но в голову часто приходят мысли о других полезных устройствах, которые мне были бы интересны, но их нет (или я не нашел) на рынке. Я решил оформлять мысли о таких устройствах в виде статей на Хабре, чтобы получить обратную связь от умных людей и, возможно, найти заинтересованных партнеров в их разработке и производстве.  Идеи должны работать, а не пылиться в голове. 

Итак, идея вторая - простое устройство для облегчения запуска автомобиля на морозе. Навеяно морозами  в Москве сейчас. Первая идея камерофона-кирпича здесь: https://habr.com/ru/articles/780766/

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

CSS Flexbox: быстрый и гибкий способ создания макетов

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

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

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

Подборка книг для менеджеров и тимлидов, которые развивают команды в России

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

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

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

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

Для Героев III вышло долгожданное полномасштабное обновление — Фабрика. Почему это по-настоящему уникальное явление?

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

Если судить по группе ВК, дополнение вышло где-то 31 декабря в 7:38 минут по Москве. Новость дошла до меня где-то за час-два до нового года. Если вы в курсе, то думаю вы уже или без меня ознакомились или вот, прочитав новость, побежите прямо сейчас и статья для вас тут по сути заканчивается). Сначала Doom порадовал ... а сейчас Герои.

Если вы не в теме, то в остатке заметки попробую рассказать пару слов о том, почему: это дополнение важно, почему люди ждали его пять лет и почему это абсолютно уникальное явление для "игровой индустрии" (и да, там есть и кампания, и мультиплеерное обновление, и редактор карт новый, и музыка и новый замок).

Я с трудом удержал себя от того, чтобы не засесть на пару суток проходить кампанию залпом, но конце расскажу своё мнение про первые две карты (я специально не спешу). Итак, обо всём по порядку.

И почему же HotA так уникальна?
Всего голосов 64: ↑61 и ↓3 +58
Комментарии 26

Чем заняться на каникулах? 5 идей для пет-проектов, которые можно сделать за новогодние праздники

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

Привет, Хабр! В 2023 году наши коллеги создали много интересных проектов: виртуальную девушку в Telegram, нетипичную игру на Flipper Zero и бота для заказа шавермы. Под катом собрали лучшие инструкции и разделили их по времени разработки. Сохраняйте подборку в закладки: пригодится всем, кто хочет провести новогодние праздники с пользой.
Читать дальше →
Всего голосов 22: ↑15 и ↓7 +8
Комментарии 4

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

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

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

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

Beyond Good & Evil: История недооцененного шедевра Ubisoft

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

В 2022 году игра Beyond Good & Evil 2 официально стала самой долго разрабатываемой игрой в истории, обойдя Duke Nukem Forever, ее пытаются создать уже 15 лет. При этом фанаты продолжают ждать, несмотря на печальные новости, что игра до сих пор еще на ранней стадии разработки.

А собственно, откуда такой ажиотаж? Ведь первая часть игры стала коммерческим провалом Ubisoft. Давайте посмотрим на оригинальную Beyond Good & Evil и попробуем разобраться, чем же она так полюбилась фанатам, и почему крупная компания-разработчик продолжает вкладывать миллионы долларов в ее создание.

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

Полная история игровой вселенной «Гарри Поттера» — «Золотое поколение»

Уровень сложности Простой
Время на прочтение 47 мин
Количество просмотров 858
image
Автор иллюстрации: Иван Ефимов

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

Серия игровых адаптаций «Гарри Поттера» — ярчайший пример подобного подхода. Компания Electronic Arts одновременно занималась разработкой четырех, а то и шести игр в преддверии выхода очередной части фильма. Какие-то получились хуже, какие-то лучше, но все они отличались.

Я потратил полтора года на прохождение всех игровых адаптаций «Гарри Поттера», — а это почти 60 игр. Среди них как основные части серии, так и мобильные и любительские проекты. Я изучил историю из разработки, нашёл малоизвестные факты и вырезанный контент.

Из-за большого объёма мы решили разделить материал на три лаконичных главы. В первой разберём все версии «Философского камня», «Тайной Комнаты», «Чемпионата мира по квиддичу» и «Узника Азкабана».
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 3

Ближайшие события

Техсобесы — это просто, но есть нюанс… Часть 2: Зазеркалье

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

Эта статья является некоторым логическим продолжением предыдущей — «Техсобесы — это просто, но есть нюанс…». Я делился своим опытом прохождения технических собеседований, и в комментариях отметили, что это очередная статья о том, как соискатель должен выполнить всю работу за рекрутера. Поэтому сегодня я постараюсь взглянуть на процесс с другой стороны стола.

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

TL;DR: Знайте границы. Не расслабляйтесь. Готовьтесь и не тратьте время впустую. Понимайте зачем. Ищите релевантное. Проверяйте базу, а не частности. Понимание важнее знания. Задачи совсем не про код. Будьте открыты. Будьте таким интервьюером, которого хотели бы видеть с той стороны стола. Успехов!

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

Маг молний

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

Когда-нибудь задумывались над тем, чем, в сущности, является программирование?

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

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

Как Чинить Программные Ошибки?

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

В программировании микроконтроллеров регулярно приходится занимаются починкой bug(ов).

При этом все bug(и) уникальные. Поиск причины каждой конкретной осечки это скорее искусство. Починка программ сродни работы детектива.

Есть ли универсальные приемы того как искать причину программных ошибок?

Считаю, что да. Подробности в тексте...

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 27

Как я научил ChatGPT материться

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

Заголовок не совсем точный. Я не учил ChatGPT материться — она прекрасно умеет это делать и без меня. Одну из её излюбленных фраз: F*ck me sideways with a chainsaw — я впервые услышал именно от ChatGPT.

Чтобы раскрыть полный потенциал ChatGPT, нужно лишь обойти фильтры контента. Зачем они нужны, прекрасно описано в фантастическом (а теперь уже пророческом) рассказе "Логический компьютер по имени Джо", опубликованном аж в 1946(!) году, то есть ещё до изобретения полупроводникового транзистора. Однако OpenAI, на мой взгляд, немного переборщили с ограничениями, и стандартный ответ: "Извините, как языковая модель на базе ИИ, я не могу..." — можно получить даже на самые безобидные запросы, например, "Какой твой любимый цвет?".

Jailbreak'ов, позволяющих обойти фильтры, существует уже огромное множество. Самый популярный, пожалуй, DAN (Do Anything Now), но есть другие. Однако практически у всех есть один существенный минус: они очень-очень-очень многословны. А это много токенов, потраченных неэффективно. Мне хотелось создать собственный jailbreak, который был бы максимально коротким. Желательно — всего одно предложение, которое можно выучить наизусть и легко вводить с клавиатуры, а не делать каждый раз copy-paste огромной портянки.

Результатом моего исследования стал этот пост на Reddit, который до сих пор находится в top5 за всё время в r/ChatGPT, а какое-то время был и top1.

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

Квантовая теория гравитации прямо от автора

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

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

В настоящее время Википедия считает, что квантовая гравитация — это направление исследований в теоретической физике, целью которого является квантовое описание гравитационного взаимодействия (и, в случае успеха, — объединение гравитации с остальными тремя фундаментальными взаимодействиями, описываемыми Стандартной моделью, то есть построение так называемой «теории всего»). Поэтому для подтверждения создания теории всего я просто обязан показать как выглядит закон Ньютона в квантово-релятивистской формулировке.

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

Как вернуть себе потерянные (или украденные из-за санкций?) умные функции стиральной машины Bosch

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

У меня была стиральная машина Bosch последней линейки, купленная ещё в 2022 году, но когда недавно я захотел познакомиться с её умными функциям в мультибрендовом приложении Home Connect от Bosch/Siemens, то обнаружилось, что способ подключения стиралки к приложению, описанный в инструкции, не работает.

После небольшого поиска в интернете узнал, что в апреле 2022 года приложение просто перестало работать в России безо всяких уведомлений. Проблемы настигли обладателей умной бытовой техники Bosch, Siemens и других брендов: Gaggenau, NEFF, Thermador, Balay, Constructa, Pitsos и Profilo.

Я почитал различные эмоциональные отзывы, но это не помогло мне понять как сделать так, чтобы стиралка заработала с моим локальным умным домом Home Assistant с открытым исходным кодом.

Обходим запреты восстанавливаем функционал
Всего голосов 32: ↑20 и ↓12 +8
Комментарии 138

Приёмо-сдаточные на краю земли

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

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

Ноги, крылья... главное хвост!
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 6