Продолжаю подгорать с дурацкой задачки на TS, в которой проверка падала, если тип возвращаемого значения в задачке задавался не инлайном (а там достаточно громоздкая запись, которую руки прямо-таки тянутся вынести отдельно в type TAggregate =…) и не допускал нормального человеческого Record<key, что-то-там хранящаееся>, а только {[TKey: string]: какой-то-там-тип}
Продолжаю подгорать с дурацкой задачки на TS, в которой проверка падала, если тип возвращаемого значения в задачке задавался не инлайном (а там достаточно громоздкая запись, которую руки прямо-таки тянутся вынести отдельно в type TAggregate =…) и не допускал нормального человеческого Record<key, что-то-там хранящаееся>, а только {[TKey: string]: какой-то-там-тип}
"Быстрее мысли" от Кобринского и Пекелиса. Тыц. Внушительная книга, начинающаяся с описании истории счета и алфавита, а также сил, которые вызвали к жизни все эти символьные системы от клинописи до узелкового письма. Наглядная привязка религии и мифов к астрономическим, климатическим, хозяйственным циклам. (там в самом начале есть чудная глава про Междуречье и халдейских волхвов-астрономов, которые ввели 60-иричную систему исчисления. И это - только начало.
Далее - история алгебры, краткие основы вышмата, поданные на наглядных примерах. И на каждом шаге - то, как вместе с этим совершенствовалась вычислительная техника, чтобы разгрузить человеческие мозги от рутинного перемалывания цифр. С примерами из всех сфер человеческой деятельности - артиллерийские таблицы дальности стрельбы, инструкции по использованию секстанта, пример шифров (Цезарь, Цезарь с перестановкой) и частотного анализа. И да, автор заканчивал свое повествование на машинах с интегральными схемами и первых языках высокого уровня. Алгол (на 3-ем курсе мы кратко знакомились с этим образчиком археотеха), Кобол, Паскаль (еще не Турбо), мой горячо любимый ФОРТРАН.
Лунная Радуга. Тот самый вариант, который я читал впервые, с той же обложкой и иллюстрациями.До сих пор годная, очень светлая и оптимистичная книга. Не знаю, с чего все вцепились в Полдень Стругацкий, имхо настоящий Полдень - именно у Павлова. Да, там есть конфликты, орг-и-не-очень преступность (вполне можно представить в сеттинге "Радуги" какой-нибудь остросюжет вокруг контрабандистов, которые разжились образчиком "Нейтронного подкидыша (или Перцового Дыма, или Стопы Великого Кормчего, нужное подчеркуть)" и везут ее неизвестному коллекционеру на его отшельническую виллу из списанного танкера, припаркованного в L5. А оперативники из МУКБОПа и конкуренты из черных антикваров висят на хвосте, бггггг.
Но при этом основной конфликт идет по линии "человек/фронтир". Так что во второй книге фронтир приобретает некоторые черты НЁХ. Причем при всей лавкрафтианской природе эйвы не желают зла, просто они хотят кушоц. А их необычный метаболизм, катализирующий гравитационное взаимодействие и позволяющий их стаям прокалывать метрику - всего лишь результат эволюции. И совершенно негуманоидная природа эйвов освежает. Какие там серые человечки, галактические императоры и тому подобная муть?!
Михаил Пухов. "Корабль Роботов".(можно читать, можно скачать) Короткая повесть-космоопера, но в ней есть два особых героя. ИМХО, более значимых, чем герои из мяса. Это корабль культуры Маб и Корабль Роботов. Те самые, где "не вся трава травой была", гигантских размеров (вероятно, созданные из выдолбленных и переработанных планетоидов). И с совершенно inscrutable назначением.
Если бы я тогда в 10-11-ть лет знал про автоматы Неймана, про терраформинг и прочие инструменты культур, которые смогли преодолеть барьер Кардашев-1, то эта повесть мне бы не запомнилась. Но сам образ корабля-титана, заселенного служебными самовоспроизводящимися подсистемами, которые за эоны автономного существования подверглись биологическому и кибернетическому вырождению(экорак - шепчет нам Лем), оказался силен. То самое "…век свой краткий продлив в недрах машинных, жизнь средь звезд рассыпать - чтобы росла…"
Гуси-гуси, га-га-га. Сабж. Неа, йа не фанат Крапивина и его мальчиков, но тут годная антиутопия в оболочке приключенческой детской книги. Да, есть какие-то околомистические фрагменты (вроде пассажа про стекло и стебель одуванчика), но показанное "законсервированное" общество интересно для внешнего наблюдения (и когда я потом читал "Осмотр на месте", то именно эта книга была образчиком law and order от колыбели до крематория©)
Борьба за моря. Янош Эрдеди. Причаститься. А тут все просто - немного истории, немного арта, причем экзотического, мертвенные нефритовые маски которых меня и криповали, и при этом увлекали. Ацтекские каменные барельефы, чем-то неуловимо похожие на хайтековые чертежи или сцены соцреализма с процессиями рабочих, ученых и инженеров, несущих свои изделия как религиозную реликвию. Можно вчитываться в то, как всего 10-ть веков назад Гренландия была страной зеленых полей, откуда можно планировать дальнейшие экспедиции на запад, можно залипать на alien-like/dream-like творения мезоамериканцев, можно читать про массовые человеческие жертвоприношения для поддержания Солнца
То ли погрузиться в цикл "Пространство" Кори, то ли в "Вселенную Откровения" Рейнольда. Попутно поискать второстепенные рассказы по вселенной "Муравейника", например - "Зимний рынок".
Третий этап курсов оказался достаточно простым, но то, как навгарды реализуются через HOC-функции, все еще несколько рвет мне шаблон. Впрочем, роутинг и редиректы здесь реально похожи и даже в чем-то нагляднее (поскольку существуют именно в виде разметки, а не отдельно подключаемого объекта с конфигами). А затем еще этап.
Ремонт. Как всегда, без приключений не обойтись. Смена бригады, необходимость расчистить пространство под проводимые работы и доставить материалы с предыдущего этапа. Потому что мешки с ротбандом на 9-ый этаж сами себя не занесут. Но если этот балаган закончится ±благополучно, то я смогу нанести фрески на стены кухни своими руками.
Личный проект. Да, идея хороша + можно будет подбросить туда не просто равномерное движение, а физический движок, но не сейчас. Потому что курсач и общий уровень ментальной нагрузки такой, что хочется сидеть с отсутствующим видом и смотреть в одну точку, а не решать задачу о пропорциональной навигации с применением PID-контроллера для управления углами визирования и крена. Onhold.
И отпуск. Продержаться всего неделю
Мелочь, а после долгого затишья приятно вспомнить практику.

P.S.
Второй этап зачтен, на очереди глава по роутеру и навгардам
В процессе понял, что на первом этапе меня вымораживал даже не сам реакт, а, скорее, та система хранения данных с локальными стейтами, прокидкой методов(методов, Карл!) через пропсы и отсутствием внятной точки отсчета.
И что в моем понимании основа веб-приложения - это его структура данных. Flux с заданным стейтом и набором экшнов, остальное - просто отражение изначальной структуры на интерфейс. Иногда - простой вывод текста, иногда - нечто хитрое и динамическое. Но вторичное по отношению к тем данным, которые обитают в стейте
Тем, что для подключения глобального стейта нужно отдельно прописать имена вызываемых событий, отдельно замапить к кажому событию обработчик, потом из этого безобразия отдельно собрать инстанса стора, затем не забыть обернуть нужный кусок приложения в Provider, а затем в каждом отдельном компоненте сделать mapStateToProps/mapDispatchToProps. А потом - обернуть полученный компонент в отдельный connect.
Тогда как в Pinia можно в одном файле описать стейт, как методы стейта - события, а потом через экспорт функции запуска хранилища use<Имя сущности, описанной в сторе>Store или обращаться к нужным полям и экшнам напрямую, или обернуть в storeToRefs. И будет всем щастье.
И сам не замечаешь, как в dockerfile-е кидаешь chmod на очередной непонятный шелльник
Ну чо, с очередным возвращением в роль многорукого Шивы.
Да, это было достаточно дорого, но это инфа, по своей форме подачи максимально приближенная к практическим задачам и опирающаяся на ±актуальные техтребования.
Да, есть странные позиции вроде использования CRA там, где нужен Vite, но вероятно, что авторы учебных материалов перенесли на него свой опыт ежедневной борьбы с легаси. Это анахронизм, но он есть в существующем коде, и мы привыкли к нему. Позиция досадная, но вполне объяснимая.
А теперь - дождаться итоговых резалтов проверки.
Также - немного субъективного. Разделение отображения, структуры и поведения, говорили они. А потом - jsx, где можно в заголовке импортнуть стили (причем в лучшем духе css-in-js в виде объекта, заботливо свернутого Babel из исходного *.module.js), вернуть немного html-разметки в теле функции и продолжить нарушать все ранее озвученные принципы разделения. В этом ключе Реакт с одной стороны куда более гибкий, чем Vue, но и возможностей качественно прострелить себе коленку в нем больше
Такие дела.
P.S.
Ментальная усталость существует, а те, кто считает выгорание зумерской блажью, пусть возьмут долгий и сложный проект, начнут его с нуля, защитят и выкатят в эксплуатацию, а потом столкнутся со сменой руководства, которое уволит своих предшественников и открыто заявит, что у них нет планов дольше, чем на неделю вперед, но они всерьез намерены спустя "год" и "туман войны и неизвестности" поднять выручку проекта в 10 раз.
Я не преувеличиваю, есличо, от приступа истерического смеха (на фоне закрутившейся в межушном нервном (очень) ганглии пейсни кальсонных гномов) меня в тот момент спасло состояние кромешного ахуя от того, что из моей команды исключили двух ключевых участников, которые закрывали и тесты, и дизайн, и общение с заказчиком.
Отлетевший
Там не просто исказилась связь с реальностью, но ее порвало, после чего сознание отправилось летать снаружи всех измерений.
Ладно, будем считать, что нас морально готовят к погружению в пучины легаси
P.S.
Единственный плюс в том, что он из коробки поднимает девсервер на православном 3000-ом порту. Бгггг
А если пробросить пустой массив - то коллбек выстрелит на маунте компонента в тело страницы (импровизированный componentDidMount/onBeforeMount). Но на этом чудеса не заканчиваются. Если внутри коллбека возвращать функцию, то эта функция будет запускаться на демонтаж компонента (как componentDidUnmount/onUnmounted).
Работает - да. Компактно - да. Интуитивно понятно - ну такоэ (почти как алоэ, каланхоэ и никакоэ). Но поскольку с вакансиями сейчас тухло, а реактовых вакансий ощутимо больше, чем вьюшных, то я догрызу этот кактус до конца и попрошу добавки.
По итогу обсуждения с Йа.ГПТ стало ясно, что скилл написания сопроводительных писем у меня пока хромает. Вывод - запрячь славных роботов на тренировку написания типовых документов в пределах одобряемого шаблона. Пусть будут частью моего камуфляжа под "нормального, здорового человека". +ждем фидбек компаний, в которые я уже запустил сопроводы.
Из плюсов - удаленный режим в сочетании с хаотической ситуацией после увольнения предыдущего начальства позволяет в перерывах между рабочими задачами проходить упражнения с Йа.Практикума.
Ладно, сказать свое "фе" и аккуратно завернуть "по этическим соображениям" я этих существ успею всегда, а вот пособеситься на тему React лишним не будет. Мертвый сезон уже заканчивается, и нужно понять, что изучать в первую очередь.
Upd
Судя по отзывам сотрудников - еще та шарашкина контора
Начало, этап блокаута

С точки зрения правдоподобности вопросы (где РАДИАТОРЫ?, например), но зато дальше пойдет разработка интерьера, а в эту тему я еще не погружался. + По программе курса будут декали, которые я пока даже палочкой не тыкал