Всегда считал, что пользовательская Lua изучается за вечер двумя путями на выбор - либо распоследний вариант прочтением доков, либо самый нужный вариант открытием Neovim. И даже приводил её в пример когда спрашивали как вкатиться в IT. Больше не буду - (мои) знания в IT действительно устаревают на глазах.
А вам когда-нибудь требовалось выровнять последнюю строку?
Я видел как это используется при вёрстке. Если последняя строка короткая, то справа и слева выводится картинка, типа вензель. А если последняя строка длинная, то делится на две.
Почему все Web технологии такие тупые, задумался я. Гипотеза - CSS люди и JavaScript люди не могут договориться. Чумы бы на оба ваши дома…
Угадали, ошиблись в том, что серьёзно воспринимаете словоблудие мерзавцев стремящихся наживаться на тупости и легковерии. Что значит «является»? Ромб является квадратом которому разрешили менять углы, квадрат является ромбом которому менять углы запретили. Не граф наследования строится по некоему «является», а это самое «является» определяется выбранным графом наследования, то есть точкой зрения на предметную область.
Если Вы действительно хотите разобраться с наследованием в программировании, прикиньте как это будет на ассемблере. И как то, что можно сделать на ассемблере, покоцали чтобы нанимать программистов подешевле.
Сегодня пятница тринадцатое, в смысле дважды тринадцатое, то есть тем более время поговорить о зомби. О .Net, например, как многие думают.
Ну ладно, есть команда знакомая с WPF и кто-то решил (за неё) переходить на Линукс. Да, она может продолжать использовать свои знания через Авалонию, но где найти новых членов этой команды? Технология умирает когда ни на что не годна, а когда годна но молодёжь в неё не идёт - пребывает в статусе зомби. Ваш совет - решить свои шкурные проблемы за счёт будущего.
Нейронка оказала Вам медвежью услугу, господин хороший автор. А ведь можно было спеть другим голосом.
Авалония - лучшее что есть из кросс-платформы на .Net, развивается не хуже MAUI, а то и лучше
Авалония - это десктоп, мобилки и Web, как рекламщик прошёл мимо такого - ума не приложу, разве что это не рекламщик был, а нейросеть
Авалония - это C#, а С# - это Unity, а Unity - это источник гарантированного притока на платформу
Кроме того, С# - это Blazor, который сам по себе очень даже кросс-платформа
Вот теперь можно сделать рекламную паузу
После паузы можно припомнить чего хорошего появилось в .Net, а то пауза будет выпирать
И ни в коем случае не предполагать наличие команды с опытом и объяснять вред левых контролов одновременно…
В проде - IPC, при разработке где-то поднимает ради hot reloading. Я так понял, глубоко не лез, Tauri показался столь же неторопливым сколь и забагованным.
Wails, на сколько я их понял, только для десктопа. То есть с Tauri в разных лигах.
Про всегда медленнее - мне не очевидно. В Fyne есть где рисовать и анимировать? Я не знаю, выяснять - уже работа. А в WebView two.js, three.js, babylon.js…
На сколько я его понял - не угадал. Но далеко я в Tauri не продвинулся - он очень долго компилировал зависимости, а потом кинулся собирать какую-то гадость типа Flatpack.
На что только не пойдут некоторые, лишь бы нативные приложения (в т.ч. с webview) не писать.
Само собой. Не всем платят за то, чтобы они смотрели как, скажем, Gradle что-то там индексирует. У любой кроссплатформы (Fyne, Kivy, Flutter, React Native…) получается бесить пользователя хуже чем у Андроид Студии.
На данный момент мне представляются реально терпимыми два варианта - Fyne и Flutter, вроде работает и в случае чего можно WebView если по Three.js затосковал. Это, как я понимаю, антипаттерн, в React Native так официально, но делать то что? Нечего…
И тут я искренне не понимаю и хочу спросить. Electron без браузера - это Tauri. Но как браузер запускался, так и запускается, а просто запустить браузер - уже сотни мегабайт, причём не первые, сожраны. И добавить вкладку - тоже беда.
Какая разница Electron или любая другая вебная приблуда если браузер запускается так или иначе? А сотня мегабайт на диске лишняя - это ерунда.
Тогда по жизни лучший вариант - Go, поскольку один файл, и открываем браузер ручками - минимальная нагрузка по памяти, браузер и так наверно открыт. Плюс бонус - ушёл от компа и пользуй браузер на планшете. Для себя так делают точно, ибо я, но не распространяет никто, по крайней мере примеров не знаю. Почему?
И альтернатива вебанутости то есть? Flutter, который явно вышел на насыщение? Ещё что-то скорее всего на всё ещё на той же skia сидящее? Но оно же функционально хуже вебанутости, тех же babylin/three.js аналогов нет.
Вы тестируете с подходом, который нужно и/или можно применять к ширпотребу. А Эппл Вы не понимаете. Это естественно - большинство не понимает, особенно забавно смотреть как об Эппл рассуждают люди, пытавшиеся повторить и провалившиеся. Когда люди которые заведомо никогда не попытаются - чуть менее, но тоже смешно.
Эппл определяет уровень функциональности и обеспечивает его с минимальными затратами. Ещё раз - с минимальными, в математическом смысле, идёт на всё, в том числе на то, на что другие не могут пойти - у Эппл недостижимый уровень входного контроля и работы с поставщиками. Как-то в 80-х подошёл к беснующейся группе электронщиков - они из любопытства вскрыли Мак и в цепи питания обнаружили электролит с номиналом равным напряжению сети. Никаких проблем с тем Маком, но если молния ударила рядом с офисом и Маки работают - остальное можно не проверять.
Не важно какие там измерения - Эппл работает десятилетиями. Когда всё от Эппл, разумеется. Но бывают исключения - то ОС обновят, а аккумулятор не потянет, то лишний миллиметр кабеля сэкономят, то ошибочно решат что именно этот дешёвый бессвинцовый припой годится, то при испытании на прочность забудут что кроме изгиба есть скручивание… Лет десять тому назад, примерно, с низковольтными кабелями у Эппл была катастрофа… юристы с долгосрочным контрактом недосмотрели, скорее всего.
Поэтому имея дело с Эппл, нужно не мерять, а проверять - зарядка с кабелем Эппл заряжает смартфон Эппл согласно заявленному на сайте Эппл? Если да - всё, не надо с плебейским энтузиазмом пытаться доплюнуть до тех, кто недостижимо выше.
Если нет - не надо радоваться что ура, они такие же безрукие бракоделы, и не надо считать, что вот, тут вот Эппл прокололась. Никакого тут, у Эппл всё и везде так, а тут это просто несчастная случайность сделала общезаметным.
5 утилит командной строки, которые заменят вам GUI
А не ерунда ли получилась? Всего 5 утилит заменят GUI? Терминал хорош тем, что при линейном росте «утилит» полезность растёт минимум квадратично, от чего любой заголовок конкретными числами малость напрягает.
По комментариям, за отсутствием кармы, соберу в кучку.
Двухпанельный файловый менеджер - посадка между стульями. Пример: заходим со смартфона по SSH. Ориентация портретная - клава. Места под две панели - нет, nnn - акуна матата.
Исследовано - терминал и гуй для людей с разной структурой мозга. При этом терминал изгажен недостатком внимания, а гуй - преклонением перед нубами. Нуб всё равно выучит шорткаты и даже переключит Code в режим Vim, получив почти рабочую химеру. Терминал получает дополнительное внимание, причём в основном от движения «перепишем на Rust» при поддержке движения «перепишем на Go». Как по мне, в IT появились лучики надежды. Или резче - в куче 💩 (наконец то? теоретически?) возможно обнаружение 💎.
Недоумение по поводу кажущейся имманентной алогичности TUI понятно - да, можно заняться глупостями имитируя GUI, но можно и не заняться. Уже Vim - вполне себе TUI.
В терминале текст далеко не голый и статья не предлагает заменить GUI на TUI, она показывает что людям с ориентированной на текст структурой мозга есть где спастись от любителей мыши и их потребности в курсах по изучению языка.
От себя замечу - ценность графики именно на компе падает из за распространения планшетов - там графики завались. Развитие TUI позволяет некоторым ещё сильнее сдвинуть ограниченный бюджет с компа на планшет. В GUI есть средства автоматизации повторяющихся действий, но с консольными приложениями это много проще, а в GUI развитие средств автоматизации конфликтует с ориентацией на нуба.
И вообще, вот делаешь что-то на компе и захотел лечь - берёшь планшет и выбор между Jump Desktop и Termius не очевиден.
Я, когда писал, следовал за автором, а тут идея «сходить с парой вопросов» пробила на дополнения в форме отступлений. Как по мне, главное в образовании - это общение, та самая пресловутая невербальная коммуникация. Коммуникация с преподавателем и с другими учащимися. И эта коммуникация сколь неспецифична, по крайней мере на уровне деления музыкант - технарь - гуманитарий, столь и подвержена закону уменьшающейся отдачи.
Поэтому необходимость и/или полезность курсов, равно как их оценка, для людей без высшего, с высшим, и с хорошим высшим - три большие разницы.
И тут у меня мысль - любая форма курсов, по крайней мере от классики Хабра школы Селектель, если не путаю и не перевираю, предусматривает общение с преподавателем, даже самостоятельная - есть же процедура проверки заданий, наверняка наверно. И тогда не столь важно какие курсы, важно к какому преподавателю попадёшь, а это не угадаешь а квадрате. И пробный урок не радует - не так важен урок, как проверка домашки после него.
Оно конечно, надёргав общедоступных сведений можно получить платный курс. Но из этого не следует, что все платные курсы так получены. Как и не следует, что целое эквивалентно совокупности частей.
Если курс просто надёрган из Интернета, то это не значит, что его легко повторить - нужно знать на что смотреть. Курс создаётся для того, чтобы его покупали - туда отобрали то, что точно многим интересно. А самостоятельно можно и изучением ассемблера для PDP заняться.
То же самое с другой стороны - если целю является уход в рабство, то авторы курса, сколь бы общеизвестными ни были излагаемые истины, лучше знают что именно спросят на собеседовании. Эффект расширения круга общения при учёбе на курсах - это другое.
Есть вроде и бесплатные и публичные знания, найти которые сложно, а проверить и того сложнее. Первое что приходит в голову - что реально работает, а что - нет, а что работает - на сколько коряво. Например… MAUI - дивная кросс-платформа, но по началу, как сейчас не знаю ибо Avalonia, просит Visual Studio установить. Или Godot - прекрасная альтернатива Unity, только в Web пока не выгружает, это временно, просто используйте предыдущую версию. Или сама Unity - прекрасный движок на мощном языке C#, только до сих пор учить нужно не только C#, но и его историю, и учить не только Unity, но и отдельную науку её оптимизации, начиная со времени запуска. Или Go - отличный язык решающий проблему параллельных вычислений, только добиться от него чтобы эти вычисления были именно параллельными иногда то ли невозможно, то ли ума не хватает, причём это принципиально - закрытие доступа к планировщику есть фундаментальный принцип. Или Rust - всё страсть как безопасно, особенно работа с памятью, а оказывается, что утечка памяти есть документированная фича, а unsafe - нужнейшая вещь.
Вывод из предыдущего абзаца - попытка самообразования легко переходит в блуждание по говну, что выясняется не раньше, чем зайдёшь по пояс. Могут ли быть хорошие курсы?
Вывод из всего написанного - освоив самообразование, человек получает то, что никакие курсы не дадут. Диалектика, мать её…
А в старое время это делалось иначе. Никто никаких паттернов не обсуждал и не придумывал, все делали по простому. А когда замечали что делают одно и то же трижды, смотрели на написанное и устраняли дублирование. Опять же не вдаваясь в паттерны и не обсуждая достоинства, а по простому.
Далее процесс становился итерационным. Если, в современных терминах, обнаруживалось применение трёх разных паттернов, то код модифицировался опять, иногда с изобретением ещё одного паттерна. И ещё было интуитивное понимание - в результате любого изменения сложность понимания кода не должна возрастать, а если она не уменьшилась - в нём ковырялись зря.
Если кто подумал что, обратно в современных терминах, постепенно нарабатывались паттерны, то отнюдь. Нарабатывались методы создания паттернов.
Как этот опыт применить сейчас? Без полного сноса всей системы от HR до Senior - никак. Ибо никто не рвётся рефакторить успешно прошедший всю эту систему код, ибо знает каков он и что будет тогда.
Рекомендую ли я полный снос? Нет - времена изменились. Раньше стая программистов разбиралась с потоком всё усложняющихся новых задач, теперь - с всё нарастающим потоком однотипных запросов.
Подведём итог. Вот опять с мух мух спрашивают как с пчёл. Чего можно пожелать? Успехов в преждевременном инженеринге, конечно. По опыту преждевременной оптимизации - они будут, вне всякого сомнения.
Не UltraRAM будет менять правила, а правила будут менять UltraRAM, проходили только что. Сначала снижение надёжности в угоду прибыли, а потом подбор параметров устройства так, чтобы своп в UltraRam выжигал её через пять лет.
Зачем в системном программировании такие штуки как SDL? Разве скриптование Unreal - системное программирование?
Скорее за то, что система сборки сложнее самого языка. И за то, что С с Qt не дружит.
С++ помогает строить одни абстракции и мешает строить другие. А С ничему не помогает и ничему не мешает.
Чего в статье не хватает, так это замечания что как ни FFI, так к С.
На первом снимке одна девушка у вершины эскалатора не распознана. Так и помогает. А потом данные анализируют плюс-минус другой лапоть по смыслу.
Круто. Курс, трёхтомник…
Всегда считал, что пользовательская Lua изучается за вечер двумя путями на выбор - либо распоследний вариант прочтением доков, либо самый нужный вариант открытием Neovim. И даже приводил её в пример когда спрашивали как вкатиться в IT. Больше не буду - (мои) знания в IT действительно устаревают на глазах.
Я видел как это используется при вёрстке. Если последняя строка короткая, то справа и слева выводится картинка, типа вензель. А если последняя строка длинная, то делится на две.
Почему все Web технологии такие тупые, задумался я. Гипотеза - CSS люди и JavaScript люди не могут договориться. Чумы бы на оба ваши дома…
Угадали, ошиблись в том, что серьёзно воспринимаете словоблудие мерзавцев стремящихся наживаться на тупости и легковерии. Что значит «является»? Ромб является квадратом которому разрешили менять углы, квадрат является ромбом которому менять углы запретили. Не граф наследования строится по некоему «является», а это самое «является» определяется выбранным графом наследования, то есть точкой зрения на предметную область.
Если Вы действительно хотите разобраться с наследованием в программировании, прикиньте как это будет на ассемблере. И как то, что можно сделать на ассемблере, покоцали чтобы нанимать программистов подешевле.
Сегодня пятница тринадцатое, в смысле дважды тринадцатое, то есть тем более время поговорить о зомби. О .Net, например, как многие думают.
Ну ладно, есть команда знакомая с WPF и кто-то решил (за неё) переходить на Линукс. Да, она может продолжать использовать свои знания через Авалонию, но где найти новых членов этой команды? Технология умирает когда ни на что не годна, а когда годна но молодёжь в неё не идёт - пребывает в статусе зомби. Ваш совет - решить свои шкурные проблемы за счёт будущего.
Нейронка оказала Вам медвежью услугу, господин хороший автор. А ведь можно было спеть другим голосом.
Авалония - лучшее что есть из кросс-платформы на .Net, развивается не хуже MAUI, а то и лучше
Авалония - это десктоп, мобилки и Web, как рекламщик прошёл мимо такого - ума не приложу, разве что это не рекламщик был, а нейросеть
Авалония - это C#, а С# - это Unity, а Unity - это источник гарантированного притока на платформу
Кроме того, С# - это Blazor, который сам по себе очень даже кросс-платформа
Вот теперь можно сделать рекламную паузу
После паузы можно припомнить чего хорошего появилось в .Net, а то пауза будет выпирать
И ни в коем случае не предполагать наличие команды с опытом и объяснять вред левых контролов одновременно…
Webview.addJavascriptInterface, если я их правильно понял, конечно. Сообщения сериализуются, но это точно не поднятый сервер.
Откуда-то отсюда за деталями в код надо лезть. Я не стал - мне слишком медленно собирается, и слишком bitchy этот Tauri.
В проде - IPC, при разработке где-то поднимает ради hot reloading. Я так понял, глубоко не лез, Tauri показался столь же неторопливым сколь и забагованным.
Wails, на сколько я их понял, только для десктопа. То есть с Tauri в разных лигах.
Про всегда медленнее - мне не очевидно. В Fyne есть где рисовать и анимировать? Я не знаю, выяснять - уже работа. А в WebView two.js, three.js, babylon.js…
На сколько я его понял - не угадал. Но далеко я в Tauri не продвинулся - он очень долго компилировал зависимости, а потом кинулся собирать какую-то гадость типа Flatpack.
Само собой. Не всем платят за то, чтобы они смотрели как, скажем, Gradle что-то там индексирует. У любой кроссплатформы (Fyne, Kivy, Flutter, React Native…) получается бесить пользователя хуже чем у Андроид Студии.
На данный момент мне представляются реально терпимыми два варианта - Fyne и Flutter, вроде работает и в случае чего можно WebView если по Three.js затосковал. Это, как я понимаю, антипаттерн, в React Native так официально, но делать то что? Нечего…
И тут я искренне не понимаю и хочу спросить. Electron без браузера - это Tauri. Но как браузер запускался, так и запускается, а просто запустить браузер - уже сотни мегабайт, причём не первые, сожраны. И добавить вкладку - тоже беда.
Какая разница Electron или любая другая вебная приблуда если браузер запускается так или иначе? А сотня мегабайт на диске лишняя - это ерунда.
Тогда по жизни лучший вариант - Go, поскольку один файл, и открываем браузер ручками - минимальная нагрузка по памяти, браузер и так наверно открыт. Плюс бонус - ушёл от компа и пользуй браузер на планшете. Для себя так делают точно, ибо я, но не распространяет никто, по крайней мере примеров не знаю. Почему?
И альтернатива вебанутости то есть? Flutter, который явно вышел на насыщение? Ещё что-то скорее всего на всё ещё на той же skia сидящее? Но оно же функционально хуже вебанутости, тех же babylin/three.js аналогов нет.
Делать то что?
Вы тестируете с подходом, который нужно и/или можно применять к ширпотребу. А Эппл Вы не понимаете. Это естественно - большинство не понимает, особенно забавно смотреть как об Эппл рассуждают люди, пытавшиеся повторить и провалившиеся. Когда люди которые заведомо никогда не попытаются - чуть менее, но тоже смешно.
Эппл определяет уровень функциональности и обеспечивает его с минимальными затратами. Ещё раз - с минимальными, в математическом смысле, идёт на всё, в том числе на то, на что другие не могут пойти - у Эппл недостижимый уровень входного контроля и работы с поставщиками. Как-то в 80-х подошёл к беснующейся группе электронщиков - они из любопытства вскрыли Мак и в цепи питания обнаружили электролит с номиналом равным напряжению сети. Никаких проблем с тем Маком, но если молния ударила рядом с офисом и Маки работают - остальное можно не проверять.
Не важно какие там измерения - Эппл работает десятилетиями. Когда всё от Эппл, разумеется. Но бывают исключения - то ОС обновят, а аккумулятор не потянет, то лишний миллиметр кабеля сэкономят, то ошибочно решат что именно этот дешёвый бессвинцовый припой годится, то при испытании на прочность забудут что кроме изгиба есть скручивание… Лет десять тому назад, примерно, с низковольтными кабелями у Эппл была катастрофа… юристы с долгосрочным контрактом недосмотрели, скорее всего.
Поэтому имея дело с Эппл, нужно не мерять, а проверять - зарядка с кабелем Эппл заряжает смартфон Эппл согласно заявленному на сайте Эппл? Если да - всё, не надо с плебейским энтузиазмом пытаться доплюнуть до тех, кто недостижимо выше.
Если нет - не надо радоваться что ура, они такие же безрукие бракоделы, и не надо считать, что вот, тут вот Эппл прокололась. Никакого тут, у Эппл всё и везде так, а тут это просто несчастная случайность сделала общезаметным.
Странно, что в статье отсутствует самое очевидное - куда в Web уйдёт видеоплеер и как там дела у PWA.
Вот поэтому. Я понимаю, линуксоидам всё божья роса, но ради попавших сюда безвинно запостил.
А не ерунда ли получилась? Всего 5 утилит заменят GUI? Терминал хорош тем, что при линейном росте «утилит» полезность растёт минимум квадратично, от чего любой заголовок конкретными числами малость напрягает.
По комментариям, за отсутствием кармы, соберу в кучку.
Двухпанельный файловый менеджер - посадка между стульями. Пример: заходим со смартфона по SSH. Ориентация портретная - клава. Места под две панели - нет, nnn - акуна матата.
Исследовано - терминал и гуй для людей с разной структурой мозга. При этом терминал изгажен недостатком внимания, а гуй - преклонением перед нубами. Нуб всё равно выучит шорткаты и даже переключит Code в режим Vim, получив почти рабочую химеру. Терминал получает дополнительное внимание, причём в основном от движения «перепишем на Rust» при поддержке движения «перепишем на Go». Как по мне, в IT появились лучики надежды. Или резче - в куче 💩 (наконец то? теоретически?) возможно обнаружение 💎.
Недоумение по поводу кажущейся имманентной алогичности TUI понятно - да, можно заняться глупостями имитируя GUI, но можно и не заняться. Уже Vim - вполне себе TUI.
В терминале текст далеко не голый и статья не предлагает заменить GUI на TUI, она показывает что людям с ориентированной на текст структурой мозга есть где спастись от любителей мыши и их потребности в курсах по изучению языка.
От себя замечу - ценность графики именно на компе падает из за распространения планшетов - там графики завались. Развитие TUI позволяет некоторым ещё сильнее сдвинуть ограниченный бюджет с компа на планшет. В GUI есть средства автоматизации повторяющихся действий, но с консольными приложениями это много проще, а в GUI развитие средств автоматизации конфликтует с ориентацией на нуба.
И вообще, вот делаешь что-то на компе и захотел лечь - берёшь планшет и выбор между Jump Desktop и Termius не очевиден.
Я, когда писал, следовал за автором, а тут идея «сходить с парой вопросов» пробила на дополнения в форме отступлений. Как по мне, главное в образовании - это общение, та самая пресловутая невербальная коммуникация. Коммуникация с преподавателем и с другими учащимися. И эта коммуникация сколь неспецифична, по крайней мере на уровне деления музыкант - технарь - гуманитарий, столь и подвержена закону уменьшающейся отдачи.
Поэтому необходимость и/или полезность курсов, равно как их оценка, для людей без высшего, с высшим, и с хорошим высшим - три большие разницы.
И тут у меня мысль - любая форма курсов, по крайней мере от классики Хабра школы Селектель, если не путаю и не перевираю, предусматривает общение с преподавателем, даже самостоятельная - есть же процедура проверки заданий,
наверняканаверно. И тогда не столь важно какие курсы, важно к какому преподавателю попадёшь, а это не угадаешь а квадрате. И пробный урок не радует - не так важен урок, как проверка домашки после него.Оно конечно, надёргав общедоступных сведений можно получить платный курс. Но из этого не следует, что все платные курсы так получены. Как и не следует, что целое эквивалентно совокупности частей.
Если курс просто надёрган из Интернета, то это не значит, что его легко повторить - нужно знать на что смотреть. Курс создаётся для того, чтобы его покупали - туда отобрали то, что точно многим интересно. А самостоятельно можно и изучением ассемблера для PDP заняться.
То же самое с другой стороны - если целю является уход в рабство, то авторы курса, сколь бы общеизвестными ни были излагаемые истины, лучше знают что именно спросят на собеседовании. Эффект расширения круга общения при учёбе на курсах - это другое.
Есть вроде и бесплатные и публичные знания, найти которые сложно, а проверить и того сложнее. Первое что приходит в голову - что реально работает, а что - нет, а что работает - на сколько коряво. Например… MAUI - дивная кросс-платформа, но по началу, как сейчас не знаю ибо Avalonia, просит Visual Studio установить. Или Godot - прекрасная альтернатива Unity, только в Web пока не выгружает, это временно, просто используйте предыдущую версию. Или сама Unity - прекрасный движок на мощном языке C#, только до сих пор учить нужно не только C#, но и его историю, и учить не только Unity, но и отдельную науку её оптимизации, начиная со времени запуска. Или Go - отличный язык решающий проблему параллельных вычислений, только добиться от него чтобы эти вычисления были именно параллельными иногда то ли невозможно, то ли ума не хватает, причём это принципиально - закрытие доступа к планировщику есть фундаментальный принцип. Или Rust - всё страсть как безопасно, особенно работа с памятью, а оказывается, что утечка памяти есть документированная фича, а unsafe - нужнейшая вещь.
Вывод из предыдущего абзаца - попытка самообразования легко переходит в блуждание по говну, что выясняется не раньше, чем зайдёшь по пояс. Могут ли быть хорошие курсы?
Вывод из всего написанного - освоив самообразование, человек получает то, что никакие курсы не дадут. Диалектика, мать её…
А в старое время это делалось иначе. Никто никаких паттернов не обсуждал и не придумывал, все делали по простому. А когда замечали что делают одно и то же трижды, смотрели на написанное и устраняли дублирование. Опять же не вдаваясь в паттерны и не обсуждая достоинства, а по простому.
Далее процесс становился итерационным. Если, в современных терминах, обнаруживалось применение трёх разных паттернов, то код модифицировался опять, иногда с изобретением ещё одного паттерна. И ещё было интуитивное понимание - в результате любого изменения сложность понимания кода не должна возрастать, а если она не уменьшилась - в нём ковырялись зря.
Если кто подумал что, обратно в современных терминах, постепенно нарабатывались паттерны, то отнюдь. Нарабатывались методы создания паттернов.
Как этот опыт применить сейчас? Без полного сноса всей системы от HR до Senior - никак. Ибо никто не рвётся рефакторить успешно прошедший всю эту систему код, ибо знает каков он и что будет тогда.
Рекомендую ли я полный снос? Нет - времена изменились. Раньше стая программистов разбиралась с потоком всё усложняющихся новых задач, теперь - с всё нарастающим потоком однотипных запросов.
Подведём итог. Вот опять с мух мух спрашивают как с пчёл. Чего можно пожелать? Успехов в преждевременном инженеринге, конечно. По опыту преждевременной оптимизации - они будут, вне всякого сомнения.
Не UltraRAM будет менять правила, а правила будут менять UltraRAM, проходили только что. Сначала снижение надёжности в угоду прибыли, а потом подбор параметров устройства так, чтобы своп в UltraRam выжигал её через пять лет.