Большой список ИИ нейросетей, который будет полезен автору контента на sponsr.ru для создания оригинальных статей
Список ИИ нейросетей
Как решать LeetCode задачи
Как решать LeetCode задачи
Отвечаю на вопрос «А как решать задачи на литкоде?», который часто встречаю в разных формулировках у себя в комментариях.
Сразу обозначу, что чтобы научиться решать литкод задачи, нужно решать литкод задачи. Некоторые решают литкод задачи чтобы подготовиться к собеседованию. Некоторые просто для расширения кругозора, для набора общего опыта (я для этого решаю).
Если вы думаете, что научившись решать литкод задачи вы станете классным прогаммистом, скажу, что это так не работает. Не станете.
Решение задачек на литкоде это заучивание паттернов. Если вы пробовали решать дейли задачки, то могли заметить, что одну-две недели подряд идёт примерно одна и та же тема, просто под разными соусами.
Выбирайте популярные задачи, у которых высокий процент принятия, начинайте с Easy задач. Не на каждом собесе спросят Medium, а Hard вообще нужен только чтобы потешить своё самолюбие.
Итак, как решать задачи на LeetCode
Открываете задачку. Читаете условие, выводите для себя границы задачи. Я в каждом ролике начинаю с чтения условий задачи, объясняю своими словами, что имеется в виду.
Пытаетесь решить задачу. Нужно сначала потупить, попытаться решить. Посмотрите, что у вас вообще получается. Вдруг выйдет решить задачу.
Если не получается, можно (как опциональный этап) посмотреть похожие задачи, попробовать решить их. Но, скорее всего, вам будет лень.
Поэтому переходите к поиску разборов решения. Нужно не просто готовое решение, а целый разбор с объяснением, почему именно так. Текстовый разбор, видео с решением (например как у меня) — на ваше усмотрение. После просмотра объяснения попробуйте решить задачу самостоятельно. Вы уже знаете суть, понимаете решение. Если не поняли, то посмотрите другой разбор. И переходите к коду.
Воспроизведите код как запомнили: это важно сделать по памяти, ведь когда вы запоминаете, вы не заучиваете расположение символов, вы выстраиваете логическую связь: что за чем идёт, какие сравнения, и так далее.
Если не удаётся воспроизвести, пересмотрите разбор и попробуйте ещё раз.
Всё ещё не можете понять? Это не повод расстраиваться. Таблицу умножения мы тоже когда-то заучивали. Нет ничего страшного в том, что вы не поняли суть, но запомнили решение. Из этих кирпичиков потом строится более сложное решение. Перепишите весь код вручную (никакой копипасты!), но **все переменные** называйте иначе, как-то по-своему. Это заставит вас следить за сутью кода, а не переписывать вслепую, вам придётся следить за сущностями, которыми вы оперируете.
Если полученный код не работает, сравните через любой diff checker (в PyCharm это compare with clipboard). Возьмите готовое решение, поменяйте там переменные на свои, сравните, где вы перепутали оператор, добавили лишний отступ, или обратились не к той сущности.
После того, как удалось подготовить рабочее решение, и литкод показал вам случайные числа, поставьте себе напоминание на завтра, чтобы вы решили эту задачку снова. Через неделю вернитесь к этой задаче вновь. После решения вернитесь к этой задаче ещё через месяц.
Так вы запомните суть и решение этой задачи.
Ну, это всё актуально, если вам действительно хочется разобраться и научиться.
Через сотню-другую задач вы начнёте замечать повторяющиеся модели / структуры задач, и будет легче.
Слово года по версии онлайн-словаря Collins…
Слово года по версии онлайн-словаря Collins — brat.
Первоначально, brat — это невоспитанный, непослушный ребенок, который своим поведением может довести до белого каления. Но с выходом шестого альбома певицы Чарли XCX это слово получило новую жизнь и совсем другой смысл.
По словам самой Чарли, brat — это прямолинейная, уверенная в себе девушка, которая умеет переживать неудачи и ценит гедонизм. Команда Collins даже добавила в неофициальное определение слова нотки бунтарства и независимости. В общем, brat теперь не просто «непослушный ребенок».
Но пока мир обсуждает brat, в список слов года попали и другие интересные выражения. Например, yapping, что можно перевести как «тявканье» или «болтовня ни о чем». Collins определил его как длинные разговоры на малозначимые темы (каждому из нас знаком такой стиль общения).
Еще одно слово года — era. Вдохновившись приездом Тейлор Свифт в Великобританию, редакторы Collins добавили это слово, дав ему определение как «период в жизни или карьере, заметно отличающийся от остальных».
Команда «Маиру Бьян»
Деконструкция Сладкой Плазмы. Эпизод 14
Откуда взялись «бабки»?
Вы когда-нибудь задумывались, почему деньги на жаргоне называют «бабками»?
Есть следующие версии:
Игровая версия: есть старинная игра «бабки». Цель развлечения заключалась в сбивании надкопытных костяшек крупного рогатого скота с помощью их же. Победителю доставались сбитые кости, а проигравший мог выкупить их обратно. Возможно, отсюда слово «деньги» и могло приобрести свой жаргонный синоним. Кстати, отсюда произошло выражение «сшибать/зашибать бабки».
Историческая версия: на банкнотах достоинством 100 рублей во второй половине XIX — начале XX века была изображена Екатерина II, которую народ прозвал «бабкой». Это название впоследствии распространилось и на другие деньги разных номиналов.
Этимологическая версия: в славянских языках слово «babka» обозначало небольшую наковальню для отбивания косы. Со временем технология развилась, и на наковальне стали ковать разные мелкие предметы, включая монеты. Слово трансформировалось в «bapka», что стало означать мелкую моравскую монету.
Народная версия: снопы, собранные для просушки, называли «бабками», потому что они напоминали женский силуэт. В крестьянских семьях хороший урожай считался признаком достатка, поэтому деньги и стали называть «бабками».
Вопрос о бабках я задал и нейросети. Ее ответ выглядит логичным, но забавным: «В народе пожилые женщины, „бабушки“, часто были хранительницами денег в семье. Со временем это прозвище могло трансформироваться в сленговое обозначение денег».
Как распознать текст, написанный нейросетью
В статье представлены 6 рабочих инструментов для определения текста, созданного с использованием нейросетей.
Как написать текст, если нет желания?
В статьей рассмотрим методики и приемы, которые помогут написать текст, даже если муза «загуляла» с кем-то другим.
Деконструкция Сладкой Плазмы. Эпизод 13
Как создать сильные и запоминающие заголовки?
В статье рассмотрим ключевые шаги и техники, которые помогут вам создавать сильные и запоминающиеся заголовки.
Путеводитель по структурам текста: как писать, чтобы вас читали
Статья предлагает практическое руководство по выбору и использованию различных структур текста, чтобы сделать ваши материалы понятным.
Секрет в том, что секрета нет
Когда я только начинал программировать (писать сайты, создавать приложения с графическим интерфейсом), мне казалось, что есть какие-то секреты, тайны, которые скрывают настоящие программисты. Как делают сборку приложений? Как эти приложения запускают? А как обрабатывают пользовательские данные? Как реализуют уровни доступа?
Оказалось, что никаких секретов нет. Делают как делают. Чаще всего делают как попало. Потому что самое главное, чтобы хоть как-то работало. А какой ужас творится под капотом. лучше бы вот это реально никому не показывали.
Да, есть крутые спецы, которые умеют построить технологичные и понятные системы. Но они существуют где-то там, в другом месте. А работать придётся с тем, что есть. С тем, что выполняет бизнес-требования.
Зачем PlantUML, когда есть С4?
PlantUML
Если вы хоть чуть-чуть в сфере ИТ, вы точно встречали PlantUML диаграммы. Это такие схемки с пошаговым описанием действий в системе, или описанием структуры проекта (сервисы, базы, и тд). Визуализация это, конечно, прекрасно, но хорошая визуализация ещё лучше. А PlantUML предоставляет хорошую визуализацию только для одного уровня абстракции.
С4
В проекте всегда можно выделить несколько уровней абстракции, и именно про это модель C4. Четверка в названии означает уровни:
1. Диаграмма системы — что приносит пользу пользователю. Система состоит из контейнеров.
2. Диаграмма контейнера — наши программистские сущности: базы данных, s3, отдельные приложения и микросервисы, это всё контейнеры. И каждый контейнер состоит из компонентов.
3. Диаграмма компонента — это модули ПО. Например, микросервис состоит из нескольких компонентов: СУБД, контейнер с приложением, веб-сервер.
4. Диаграмма кода — каждый компонент как-то напрограммирован. Вот тут можно сделать описание модулей и классов (опускаться до этого уровня обычно не нужно).
Кто кого?
Ещё есть правило, что нужно указывать направленность взаимодействия. Например, код ходит в базу данных. Да, тут сразу понятно, кто к кому обращается, ведь БД сама не ходит к приложению.
Если взаимодействие с API, то указывать направленность очень важно: мы можем запрашивать данные с внешнего ресурса, а также ресурс может уведомлять наше приложение о новом событии. И при указании направленности мы ещё и подписываем стрелочку, уточняем, что именно тут происходит.
А самый кайф C4, что никому не нужно приближение дальше второго уровня, изредка третьего.
PlantUML всё ещё актуален для Sequence диаграмм — схем с последовательностью действий, например «пользователь запросил А, система вытащила данные из B, перепроверила через C и отдала пользователю». А вот если структура системы описана по C4, то это гораздо понятнее.
Кстати, что PlantUML, что C4 рисовать руками не нужно, используйте для этого текстовый формат: его легко версионировать и распространять. Есть свои языки для этого, а также реализации на привычных нам Python, JS и тд.
Имена и Названия
Самый Сок. GTA: Liberty City Stories в 2024.
Видео Версия текста тут
По заведенной традиции если я вынул что-то из недр небытия себе на стрим то обязательно постараюсь донести факт существования этого «что-то» максимальному количеству людей, даже на нём не присутствующих.Слышите эти неожиданные эстрадные мотивы, перерастающие во что-то очень итальянско-мафиозное? Это Тони Сиприани вернулся домой и он СОВЕРШЕННО НЕ ПЛАНИРУЕТ влипать в какие-то приключения…ноооо очень предан своему Дону.
Итак Liberty City Stories — игра, о которой почему-то почти никто не помнит, игра подытоживающая 3д Вселенную ГТА (но не особо учитывающая технические достижения San Andreas — самой продвинутого представителя франшизы на тот момент) в эксклюзивном портативно-консольном формате возможно это и стало той завесой невидимости для широкой публики. ОДНАКО благодаря достижениям современного программирования так же известным как «мой друг дал мне поиграть ps2» c данным творением может ознакомиться каждый. Пытливый зритель спросит «А ЗАЧЕМ мне это делать?» Постараюсь уложиться в несколько минут.
Во-первых в «Историях» царит ТА САМАЯ АТМОСФЕРА ранних 3д ГТА. Простенькие модельки, скромные пейзажики, но это ТЕ САМЫЕ, НОСТАЛЬГИЧЕСКИЕ ПЕЙЗАЖИКИ и даже архаичное управление с газом и тормозом не на крестовине или стике, а на ОТДЕЛЬНЫХ КНОПКАХ.
Во-вторых зачастую вас окружают УЖЕ ЗНАКОМЫЕ персонажи, раскрываемые куда глубже и создающие понимание, почему в дальнейшем (действие ЛСС происходит за 3 года до ГТА 3 в 1998 году) они ведут себя так, а не иначе. Паранойя Сальвадоре, становление корешка Каталины — Мигеля, Эпатаж Дональда Лава, на огонек заглянет даже Авери Каррингтон, тот самый, который спровадил Томми Версетти крутить вертолетик. Это лишь малая часть тех, кто попадется на тернистом пути Тони и несмотря на, казалось бы, повторение пройденного, другой взгляд на персоналии сохраняет чувство новизны.
В- третьих — новая история (хоть и достаточно тривиальная от старта до финиша, повествующая про карабканье из грязи в князи но… все то, что происходит МЕЖДУ этими точками… такого количества безумных миссий на квадратный метр истории не было. кажется, даже у Тревора.
Сфотографировать Сына маминой подруги с целью его дискредитации, с последующей переработкой оного в фарш и отправкой на прилавок его же собственного мясного магазина? Есть.
Закосплеить Кармаггедон на пожарной машине по заданию «священника» ведь «нечистивцы загрязняют воздух своими машинами» В комплекте.
Отбиваться от мафиози с бензопилами на танкере? КОНЕЧНО ДА!
Отдельным пунктом хочется выделить местное музыкальное сопровождение: Рокстары всегда славились тщанием в подборе наполнения для радио и эта часть не исключение, куча лицензированных треков разных жанров бла-бла-бла…
Жемчужина либерти сити — радио Дель Мундо (или как я называл его Мумбаи Фм, что не совсем корректно прошу прощения извините пожалуйста) на которой проигрывается музыка из стран Азии и Ближнего Востока. Где в перерывах между абсолютнно потрясающими треками рджей передает приветы своему кузену, который сейчас работает водителем такси (что характерно именно эта станция по умолчанию включена во всех такси) Забавный факт, благодаря душевному саунду на стрим десантировались индусы, которые несмотря на отсутствие знаний языка подписались с формулировкой «ничего не понятно, но очень интересно, а еще играет знакомая музыка»
Именно под аккомпонимент этой станции я проездил всю игру и ничуть не пожалел, жаль согласно внутриигровому лору к 2001 году станция перестала существовать и в дальнейшем не появялась ни в одной части…
Ну и финальным пунктом является Тони Сиприани собственной персоной. Он не очень умный, зависящий от чужого мнения, но исполнительный и верный, а порой и не лезущий за словом в карман, от чего некоторые диалоги звучат неимоверно уморительно. И пусть на озвучке в этот раз не Майкл Мэдсен, а Дэниел Мастроджорджо (давно и плотно работающий с рокстар)в качестве и душевности сомневаться не приходится.
КРОМЕ ТОГО Сиприани тот еще модник, в вашем гардеробе оказывается целая росыпь костюмов: Представительный смокинг для похода в Оперу соседствует с знаменитым желтым тренировочным, снятым с Брюса ли, а за прохождение сюжетки с барского плеча вам накинут шмотки Элвиса и НИКТО не может запретить вам прийти на очередную мафиозную стрелку в косплее мистера Вурхиза, да у нас так принято!
КАЗАЛОСЬ БЫ еще одной стеной между вами и ознакомлением может быть отсутствие локализации (ведь официально игра хоть и издавалась букой, но перевода не было) ОДНАКО господа в черных треуголках и со словариками подмышкой весьма неплохо справились с немногочисленными текстами, так что просто разыщите нужный «диск» вероятно придется поковыряться с настройкой «консоли» сами понимаете оборудование старое и все такое, но нужные гайды имеются на ютубах и не занимают много времени.
По результатам 14- часового прохождения я получил ощутимый заряд ностальгии, УГЛУБЛЕННОЕ понимание лора серии, попутно забайтил несколько человек поиграть во что-нибудь гташное и сильное желание полирнуть ощущения в Vice City Stories.
А мистер Монтоллио вернется с очередной порцией воспоминаний о полузабытых играх в следующий раз.
Увидимся. Услышимся. и Stay Tuned!
Запиши пока не забыл
Как только проскакивает мысль «надо запомнить» или «надо не забыть», я тут же записываю. Всё что «надо не забыть» забывается быстрее всего. Надо обязательно записать.
Это помогает разгрузить память, избавиться от лишней информации, а также освободить место для новых мыслей. К записанной идее гораздо вернуться, чем пытаться её выудить из памяти или восстанавливать тот ход мыслей, что был час / день / неделю назад.
И наоборот, это хороший способ что-то забыть. Вот думаешь «я бы не хотел об этом вспоминать», и вспоминаешь об этом раз за разом. А стоит подумать «буду об этом помнить», и забываешь в ближайшее время.
Качество подписчиков важнее количества
Вчера в Телеграм канале случилась первая тысяча подписчиков.
У меня лучшие подписчики. Конечно, у каждого блогера именно его подписчики самые лучшие.
Спасибо, что читаете. Отдельное спасибо всем, кто проявляет активность: ставит реакции, пишет комментарии.
Например, этой ночью успели обсудить математические правила по приоритетам операций, финансовые инструменты (ипотеки, вклады), так ещё и успевали отвечать на вопросы по коду.
Огромное спасибо тем, кто поддерживает на бусти, это очень приятно и сильно мотивирует. Для них в раннем доступе выходит курс по основам структур данных.
А кто считает, что я неправ, что у меня лучшие подписчики, можете отписываться, ведь качество важнее количества.
Единственный глупый вопрос это незаданный вопрос
Не начинайте с «А можно глупый вопрос?». Забудьте такое сочетание слов, это глупый вопрос. А самый глупый вопрос тот, который вы не задали. Если вы попали в чат / сообщество снобов, где вас высмеивают за ваши вопросы, ищите другое место, где вам подскажут.
При этом важно уметь задавать вопрос. Если вы не можете описать проблему, сформулировать мысль, то вам не смогут помочь. Помните про непривет и проблему XY.
Про синдром фронтендера
Фронтендер (если сомневается в себе) считает бекендера более крутым программистом, ведь тому нужно и с базами данных работать и авторизацию проверять. Это вам не кнопки красить.
Бекендеру (веб) кажется, что реальные программисты это те ребята, что пишут нативные приложения на плюсах.
Допускаю, что плюсовики могут позавидовать встройщикам, которые под embedded системы ужимают приложения в считанные килобайты.
А одинэсники. они просто счастливы.
Часто испытываете синдром фронтендера?
Эффект сарая, или цена договариваемости (он же закон тривиальности)
Эффект сарая, или цена договариваемости (он же закон тривиальности)
В какой цвет мне покрасить сарай? Или, может быть, вы подскажете, какой тренажёр установить во дворе? Несложные вопросы, правда? А как сделать атомный реактор? Сможете подсказать? Тут советов будет поменьше.
Сложность договориться с человеком или группой людей достигает квадратичного значения в зависимости от количества людей. То есть, если на то, чтобы договориться с одним соседом / коллегой, вам нужно потратить единицу времени (или нервов), то на пятерых понадобится двадцать пять таких единиц.
Паркинсон сформулировал закон тривиальности так: «Время, потраченное на обсуждение пункта, обратно пропорционально рассматриваемой сумме». Это всё про то, что людям легко обсуждать незначительные решения, но тяжело принимать действительно важные.
Зачастую, когда людям дают выбор, все делают по-своему, если это какая-то мелочь. Например, на одном проекте я встретил целых три вида пагинации между разными API ресурсами. На другом проекте встретил несколько разных базовых классов для решения одной задачи. И это касается не только программирования: если соседям предложить сделать улучшение во дворе (перестелить газон, обновить тренажёры), люди скорее просто откажутся, чем смогут договориться. Здесь без лица, принимающего решение, не обойтись.
Именно поэтому так сложно внедрять новые технологии в проект, особенно, если это какие-то строгие ограничения (см ruff, black, radon, etc), так что приходится брать всё в свои руки, выстраивать строгие требования, а потом сваливать всё на бездушную машину. Не нравится, что линтер ругает ваш код? Ну извините, это вот пайплайн так работает, придётся чинить код, что поделать.
Точно также и про строгие требования к API. Например, чтобы структура запросов и ответов была одинаковой для всех ресурсов.
Сделать своими силами благоустройство во дворе чуть сложнее, конечно, если большинство жильцов равнодушны или против. Но это уже совсем другая история.