Большой список ИИ нейросетей, который будет полезен автору контента на sponsr.ru для создания оригинальных статей
Список ИИ нейросетей
Деконструкция Сладкой Плазмы. Эпизод 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. Например, чтобы структура запросов и ответов была одинаковой для всех ресурсов.
Сделать своими силами благоустройство во дворе чуть сложнее, конечно, если большинство жильцов равнодушны или против. Но это уже совсем другая история.
Программист должен быть ленивым
Ленитесь изобретать велосипеды. Ленитесь копипастить. Если вам лень написать нормально и поэтому вы копипастите — это неправильная лень. Потому что программист должен думать наперёд. Если вы что-то скопировали, потом придётся копировать снова. Вам должно быть лень скопировать снова, лучше один раз сделать нормально и потом переиспользовать.
Моя проблема с незнакомыми номерами
Не берите трубки с незнакомых номеров. Совсем выключите приём звонков (от незнакомых номеров) на телефоне. Казалось бы, так можно избавиться от кучи лишней информации. Кто обычно звонит с незнакомого номера? Реклама (спам, холодные звонки), а также мошенники и прочие разводилы, которым нужны ваши деньги.
Вот отключил ты звонки, и всё, никто тебя не отвлечёт и не разведёт. Все эти банки, спортивные клубы, мастера ремонта никогда не получат ваших денег. Вы к ним не приходили, а они с вас что-то хотят. Зачем их кормить? Как только мы перестанем отвечать на незнакомые номера, их дело умрёт. Всё ведь так просто, да? Так ведь?
Можно объяснить чисто экономически: раз они звонят тебе, им от тебя что-то нужно. А если им от тебя что-то нужно, насколько это выгодно тебе? Если бы это была win-win ситуация, стали ли бы они тебе звонить? Более того, ни одна win-win сделка на самом деле не является таковой, ведь каждая из сторон идёт на компромисс.
Ну вот и всё, просто отключаем приём звонков, да?
А что если мне нужно принять звонок с незнакомого номера? Я жду курьера, и он мог заблудиться, или у меня перестал работать звонок в дверь. Я жду звонок менеджера (из банка, из того же спортзала, из интернет-магазина, чтобы подтвердить заказ), я не могу не ответить на звонок с незнакомого номера.
Да, курьеры Озон (хоть и не все) уже научились писать СМС и даже в Телеграм, чтобы уточнить время доставки. Но, к сожалению, передать информацию текстом могут не все. И это печально.
Выходит, мне всё равно приходится отвечать на звонки с незнакомых номеров. Но всё же иногда я позволяю себе включить функцию «игнорировать звонки от не контактов» и спокойно живу.
Синхронность и асинхронность
Вы обращали внимание, что «синхронный» в реальном мире и «асинхронный» у программистов значат одно и то же? Хотя «а» говорит о противоположности, отрицании.
Например, синхронное плавание было бы в программировании реализовано асинхронно — когда несколько исполнителей выполняют работу одновременно, не мешая друг другу.
В программировании наоборот — синхронное выполнение это когда мы дожидаемся окончания первой задачи, и только потом переходим ко второй, и тд.
А есть ещё такие термины, которые противоположны по названию, но бывают равны по значению?
Люди не поняли ночную тему
Во многих (если не во всех) приложениях есть ночная тема. В большинстве случаев всё белое меняется на черное, а всё черное на белое. Но есть особые случаи, про которые эта заметка.
Есть программы, которые при включении ночной темы становятся СИНИМИ. Синий цвет. Ночная тема. Куча публикаций (и даже выступлений) про то, что синий цвет это лишний раздражитель, и что перед сном (то есть НОЧЬЮ) надо снижать присутствие синего цвета, поэтому у всех производителей давно есть всякие фильтры типа Night Shift (Apple) и Eye comfort shield / Night Light (Samsung и прочие андроиды), которые делают экран желтым или даже оранжевым (что ночью незаметно, но вот если отключить, то становится больно). И в то же время некоторые сверхразумные менеджеры / дизайнеры считают, что ночная тема должна быть СИНЕЙ. То есть максимально раздражающей. Не тёмно-серой, не чёрной. А прям синей и голубой. Ну что это такое?
Кстати, на компьютере я перестал пользоваться ночной темой пару лет назад. Оставил только на мобильных устройствах.
Циклические импорты
Как же легко натолкнуться на циклические импорты. Обычно исправить такую ошибку несложно, а ещё проще не доводить до такого совсем, ведь достаточно следовать нескольким простым правилам:
- под одну сущность нужно выделять отдельный модуль;
- для совмещения двух (и более) сущностей создавайте новый модуль, там объявляйте новую обертку (функцию, класс), которая будет выполнять требуемые действия (объединять сущности; делать вызов объектов, и т. д.).
Не бойтесь создавать новые модули и функции, никто не осудит вас за слишком маленькие файлы., а вот за большие может прилететь по шапке. Да и вам потом сложнее будет там ковыряться.
Объективно ли?
Как же странно слышать «объективно это какая-то фигня» или «ну объективно мне это совсем не нравится». А ещё корёжит с «объективно, выглядит красиво!». Что за чушь? Объективно это неоспоримо, непредвзято. Например, ноутбук весит два килограмма и сто грамм. Или что у отдельно взятой машины ровно четыре колеса. Это объективно.
А тяжелый ноутбук или легкий, красивая машина, или страшная, это уже совсем не объективно, это субъективно.
Програ́ммное обеспе́чение
Програ́ммное обеспе́чение
Програ́ммное обеспе́чение обеспе́чивает рабо́ту компью́тера.
Мы с вами пишем програ́ммное обеспе́чение, и это совсем не обеспече́ние (как некоторые произносят), ни к каким печенькам ПО отношения не имеет (даже если речь про кукисы).