Свободное вращение нашей планеты происходит с наклонением. Причины этому заложены давно. Вероятно, около 4,5 миллиарда лет назад Земля столкнулась с планетой Тейя. Так у нашей планеты появились спутник Луна и наклон орбиты в 22,44 °.
Поскольку Земля вращается вокруг своей оси с наклонением, это приводит к неравномерности распределения излучения Солнца. Говоря проще, именно из-за наклонения планеты мы испытываем смену времён года. Если наклонение орбиты важно для жизни на Земле, то нужно ли применить наклонение в 23,44 ° для ориентации монитора?
Разработчик программного обеспечения наивно захочет ответить, что ему лучше подходит портретная ориентация: так легче читать страницы документации. С другой стороны, при более тщательном рассмотрении окажется, что лучшая ориентация дисплея — диагональная: так на экране уместятся даже самые длинные названия классов Java.
Выяснить пользу диагональной ориентации попыталась некто xssfox. Для этого она задействовала различные конфигурации Xorg. Ынтырпрайзная Windows и прочие ширпотребные операционки уровня macOS не имеют поддержки диагональной ориентации дисплея. Достичь подобного получается только в Linux. Максимальную эффективность использования пространства xssfox достигла при наклоне в 22 °. Однако xssfox никак не попыталась объяснить конкретную причину, почему это полученное эмпирическим путём значение так похоже на угол наклона оси вращения Земли.
А в остальном размышления логичны. Именно при наклоне в 22 ° на мониторе с разрешением сторон 21:9 получится разместить максимальную длину текстовых данных. С диагональной ориентацией больше не придётся беспокоиться об ограничении в 80 символов на строку.
Приведён лишь один недостаток: при таком наклоне монитора веб-камера норовит съехать вбок.
Работа была проделана неплохая. Как выяснила xssfox, Xorg принимает наклон в виде конфигурации xrandr --output HDMI-3 --transform, за чем должны следовать параметры вида cos(x),-sin(x),shift_left,sin(x),cos(x),shift_up,0,0,1, где x — угол наклона монитора, shift_left и shift_up — сдвиг картинки по осям X и Y.
Если, к примеру, речь идёт про наклон в 23,44 °, нужно задать параметры xrandr --output HDMI-1 --transform 0.91748,-0.39779,0,0.39779,0.91748,0,0,0,1. Сформировать параметры Xorg для работы с диагональной ориентацией поможет калькулятор на странице на сайте xssfox.
Любые другие эксперименты с диагональной ориентацией дисплея имеют малую популярность. К сожалению, это лишь слабо исследованные концепты.
Явные (как составленное по первым буквам абзацев сообщение) или нет, но попытки применить силу диагонали имеют право на жизнь.
У меня есть небольшой пет проект, для построения различных графиков для пул реквестов, которые показывают кто кому оставляет комментарии, ставит аппрувы и прочее. Бэкенда там нет, фронт ходит в Gitlab или Gitea, выкачивает информацию за указанный период времени и рисует графики.
Чтобы не гонят лишний раз данные, я добавил возможность импорта/экспорта. Вроде всё хорошо, но вчера я решил выгрузить данные за 4 года и при экспорте словил ошибку:
Немного погуглив, нашёл, что длина строки в V8: - 268.4 мегабайт на 32-битных платформах - 538.8 мегабайт на 64-битных платформах (на М1 похоже такая же)
✅ Решил проблему просто: при экспорте разбиваю мой большой массив, на несколько частей и экспортирую несколько файлов.
Аналогично не получится считать файл как текст, получите просто пустую строку. readAsArrayBuffer работает, но попробуй понять как байты преобразовать в строки меньших размеров, да так, чтобы получить валидные JSON объекты.
const reader = new FileReader(); reader.onload = function () { console.log(reader.result); // result будет пустой строкой } reader.readAsText(file);
Я уже являюсь разработчиком. Программирую, изучаю полезные для себя навыки по своему направлению и т.д.
Появилось желание разобраться в том, как работает IT сфера в общем.
К примеру, в таких вопросах, как:
Какие основные направления в ней есть (и, хотя бы поверхностно, покопаться в каждом из них)
На что они подразделяются
Как они связанны между собой
Почему одни направления развиваются, другие же приходят в упадок
Как IT рынок зависит от «реального сектора экономики» и т.д.
Безусловно, я смотрел видео в интернете на эти и похожие темы, но, по большей части, информация, которая там есть, весьма разрозненна и не даёт возможности начать ориентироваться в том, что происходит в IT секторе в целом и в закономерностях, которые в нём существуют.
Куда чаще это видео в стиле «топ 10 способов стать магом после 30-ти» и «почему искусственный интеллект заменит (или не заменит) гребцов через 10 лет».
useOptimistic — новый хук, который позволяет отобразить “оптимистичное” состояние. Оно называется “оптимистичным”, потому что мы “оптимистично” надеемся, что наш запрос не свалится с ошибкой и после выполнения запроса состояние будет выглядеть именно так.
❓Как используется
- В useOptimistic передаётся реальное состояние (cart) и функцию-reducer, для обновления оптимистичного состояния - Компонент (Cart) использует “оптимистичное” состояние (optimisticCart) для рендера - Перед выполнением запроса обновляется “оптимистичное” состояние - Когда запрос завершился, нужно обновить реальное состояние - Как только реальное состояние обновилось, оптимистичное состояние обновится автоматически, так как оно передано в useOptimistic первым параметром. ⚠️ Поэтому важно следить, чтобы приходило одно и то же состояние. - Если запрос упал с ошибкой, нужно откатить изменения в оптимистичном состояниb.
ℹ️ Первый вопрос, которым я задался, а в чём отличие от обычного setState, путём экспериментов, вот что удалось найти:
- useOptimistic работает с формами. Работать с обычной кнопкой в Single Page Application мне не удалось, обновление происходило только после завершения запроса - useOptimistic работает только внутри асинхронного обработчика, что логично. Если убрать async/await, обновление произойдёт только после завершения запроса - Параметр в useState используется только для инициализации, и игнорируется в последующих рендерах. useOptimistic будет сихронизироваться со значением переданным первым параметром.
🤷♂️ Очень мало полезного удалось найти о useOptimistic. Во всех статьях и видео тривиальные примеры, нигде не рассказывается как обрабатывать более сложные ситуации:
- Как обновлять оптимистичное состояние, если запустить несколько запросов одновременно? - Как использовать useOptimistic в SPA вне форм?
Поэтому пришлось создать пару ишью: раз и два. В любом случае, пока useOptimistic выглядит каким-то низкоуровневым API. Надеюсь скоро появится больше Best Practices по его применению. Если вам есть что добавить — пишите в комментах.
use — новый хук, который позволяет считывать данные из промиса и при этом интегрирован с Suspense и ErrorBoundary.
ℹ️ Основные моменты:
- На этот хук не распространяются правила хуков — его можно использовать внутри циклов и условных операторов. - Если мы используем хук use(Promise), то где-то в родительском компоненте мы должны положить сам промис (не данные как мы делали раньше) в стейт (useState). Это позволяет избавиться от useEffect’а, который был нужен, чтобы запросить данные при первом рендере. - Хук интегрирован с Suspense, поэтому пока промис не разрезолвится — будет показан fallback объявленный в ближайшем Suspense. - Если промис зареджектился, то будет показан fallback объявленный в ближайшем ErrorBoundary
Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:
1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.
2. Бесплатный доступ: Благодаря бесплатным онлайн-курсам, вы можете изучать JavaScript без необходимости тратить деньги на платные обучающие материалы.
3. Актуальные материалы: Многие бесплатные курсы по JavaScript постоянно обновляются и содержат актуальную информацию о новых технологиях и подходах к разработке.
Бесплатные курсы Javascript
Почему не стоит покупать курсы и тратить деньги:
1. Доступность ресурсов: В интернете существует огромное количество бесплатных ресурсов, которые позволяют изучать JavaScript на высоком уровне. Покупка курсов не всегда является необходимой.
2. Качество бесплатных курсов: Некоторые бесплатные курсы могут предоставлять высококачественное обучение, сопоставимое с платными аналогами.
3. Мотивация и самодисциплина: Самое важное при изучении языка программирования – это ваша мотивация и самодисциплина. При достаточной мотивации и усердной работе можно достичь успеха в изучении JavaScript, не тратя деньги на покупку курсов.
Таким образом, изучение JavaScript по бесплатным курсам в 2024 году имеет множество преимуществ, особенно при наличии достаточной мотивации и самодисциплины.
Список ресурсов для бесплатного изучения JS.
1. Eloquent JavaScript (2024)
Это книга о JavaScript программировании и Frontend разработке. Вы можете бесплатно прочитать ее онлайн или купить себе собственный экземпляр в мягкой обложке.
Курс позволит новичкам приобрести навыки алгоритмического мышления и понимания логики выполнения программы, используя JavaScript.
Все темы предоставлены последовательно и подробно объяснены с использованием примеров. В рамках курса предусмотрено решение практических задач по написанию кода, это даст возможность надолго запомнить изученное и научиться думать, как программист.
Пройдя курс, вы будете обладать крепким фундаментом для дальнейшего изучения программирования на JavaScript и других языках.
В данном курсе со Stepik рассмотрены основы программирования на JavaScript а также некоторые инструменты и модели данных, необходимые для практического использования JavaScrip.
Проект, с которым вы научитесь создавать современные веб-сайты с эффектом параллакса и макетами в виде коробочек-бенто.
Этот курс охватывает все: от стильного дизайна пользовательского интерфейса до принципов mobile-first, укрепляя ваши навыки работы с React.js и Tailwind CSS.
В этом курсе вы узнаете, как работает JavaScript базовые и создадите мини-проект. Вы также рассмотрите некоторые подробности работы JavaScript и изучите продвинутые темы, такие как наследование, область видимости, контекст и, наконец, создайте мини-проект.
Курс предназначен для проверки знаний JavaScript и подготовки к собеседованиям на позицию JavaScript-разработчиков! В рамках этого курса вы сможете оценить свои навыки по различным темам. Каждый вопрос снабжен вариантами ответа, из которых нужно выбрать правильный. Кроме того, к каждому вопросу прикреплены подсказки и разъяснения, чтобы облегчить процесс решения и понимания.
Здесь собрана полезная папку с каналами для Frontend разработчиков. Здесь можно найти все – от базовый уроков по Javascript, React, Vue до реальных проектов и практических задач.
11. JavaScript Programming All-in-One Tutorial Series
JavaScript Programming All-in-One Tutorial Series – это девятичасовой курс на YouTube, который раскрывает азы программирования на JavaScript. Курс предназначен как для начинающих разработчиков, так и для тех, кто уже имеет опыт работы с JavaScript и хочет расширить свои знания.
Курс “Codecademy Learn Javascript Full Walkthrough” представляет собой подробное руководство по изучению языка программирования JavaScript. В ходе курса вы научитесь основам JavaScript, работе с переменными, условными операторами, циклами, функциями, объектами и многим другим. Курс подойдет как начинающим программистам, так и тем, кто уже имеет опыт в программировании и хочет улучшить свои навыки в JavaScript.
Этот репозиторий создан, чтобы помочь студентам, новичкам и работающим профессионалам, изучить JS, предоставив им все ресурсы для обучения в одном репозитории.
Полное пошаговое руководство по изучению языка программирования JavaScript за 30 дней.
В курсе вы используете JavaScript для добавления интерактивности на веб-сайты, для разработки мобильных приложений, настольных приложений, игр, и в настоящее время JavaScript можно использовать для машинного обучения и AI.
Темп изучения у каждого разный – не удивляйтесь если вы будете проходить его дольше
17. JavaScript c Нуля – Курс для начинающих с практикой БЕЗ ВОДЫ.
JavaScript c нуля – Полный курс по основам для начинающих. В курсе вы найдете все необходимые темы, для того, чтобы начать программировать на JavaScript с нуля. В ролике вы сделаете несколько практических проектов, на которых рассмотрите сразу в боевых действиях язык. Приятного просмотра!
У Frontend Masters есть курс по алгоритмам с примерами на Javascript TypeScript? Бесплатно и без кредитки. Все, что вам нужно, — это электронная почта, для прохождения курса.
На данном курсе Вы узнаете основу web-разработки и создания сайтов. Познакомитесь с языком гипертекстовой разметки HTML как с основой любого сайта и добавите веб-страницам индивидуальности с таблицами стилей CSS. А так же изучите язык программирования JavaScript и его взаимодействие с браузером.
Надеемся, что эти курсы окажутся полезными для всех начинающих разработчиков, и помогут вам освоить этот мощный язык программирования. Если вы знаете открытые источники, которые можно добавить в статью – пишите о них в комментариях. Вместе мы можем создать более обширный и полезный список материалов, способствующих развитию навыков программирования.
Спасибо за прочтение, легкого вам обучения, и да не заменит нас всех ИИ :-)