Языковая политика

Общие обсуждения => Компьютеры и интернет => Topic started by: cetsalcoatle on 24 January 2024, 08:50:51

Title: Visual Studio Code
Post by: cetsalcoatle on 24 January 2024, 08:50:51
Вопрос 1.
Почему <script src=""></script> не выполняется, если его подключать <head>?
В <body> всё работает, но пишут, что в <head> тоже можно. :what?

Вопрос 2.
Почему-то не работают комменты..
('Shift' + '/' и т. п.)
Впрочем для того чтобы открыть документ в браузере пришлось установить расширение.
Для комментов тоже необходимо отдельное расширение? :what?

Вопрос 3.
Как правильно подключить React (только начинаю его изучать и нихера не понимаю)
Эта библиотека скачивается или просто подключается как какой-нибудь "bootstrap"?
Создал документ с расширением .jsx скопипастил образец кода, и ничего..
Пишут, что это JavaScript и HTML, а как всё это взаимодействует с CSS? :what?

Это конечно можно всё нагуглить, но у меня очень жёсткий лимит свободного времени, я тупо не успеваю всё.
Помогите, плес.
Title: Re: Visual Studio Code
Post by: Bhudh on 24 January 2024, 09:11:36
Скрипт из head не выполняется где? В среде VSC или в браузере?
По идее, скрипт из head отрабатывается первым, поэтому если после окончания его работы в body что-то поменялось, то за отсутствием listenerʼов и observerʼов этому скрипту изменения будут пофигу. Потому работающие с телом страницы скрипты обычно суют в самый конец body.

Реакта не знаю, но расширение .jsx обычным браузером читаться не должно, это на серваке можно с Node.js прочитать что угодно. Для скрипта используется обычное .js, для разметки .htm, .html, изредка .xml, .shtml.
Title: Re: Visual Studio Code
Post by: cetsalcoatle on 24 January 2024, 09:34:41
Скрипт из head не выполняется где? В среде VSC или в браузере?
В браузере.
По идее, скрипт из head отрабатывается первым, поэтому если после окончания его работы в body что-то поменялось, то за отсутствием listenerʼов и observerʼов этому скрипту изменения будут пофигу. Потому работающие с телом страницы скрипты обычно суют в самый конец body.
Нет, я поместил весь скрипт во внешний файл. Т.е. в этом случает только в конец body?
Реакта не знаю, но расширение .jsx обычным браузером читаться не должно, это на серваке можно с Node.js прочитать что угодно. Для скрипта используется обычное .js, для разметки .htm, .html, изредка .xml, .shtml.
Понял, буду разбираться. Т.е. технически это тот же .js?
Title: Re: Visual Studio Code
Post by: Bhudh on 24 January 2024, 09:39:30
По идее, скрипт из head отрабатывается первым, поэтому если после окончания его работы в body что-то поменялось, то за отсутствием listenerʼов и observerʼов этому скрипту изменения будут пофигу. Потому работающие с телом страницы скрипты обычно суют в самый конец body.
Нет, я поместил весь скрипт во внешний файл.
Неважно, откуда загружается код. Важно, что он после загрузки исполняется. Но если ему при исполнении не с чем работать, он разведёт руками. Вы же не можете открыть ключом машину, если Вам её ещё не подогнали?

Понял, буду разбираться. Т.е. технически это тот же .js?
Технически это JS с добавлением синтаксиса от React, который сам React и обрабатывает.
Но опять же, React не знаю и не в курсе, следует ли вставлять его код в HTML, как пэхэпэшный, или можно подключать через <script>.
Title: Re: Visual Studio Code
Post by: cetsalcoatle on 24 January 2024, 11:33:00
Спасибо. :)
Title: Re: Visual Studio Code
Post by: Квас on 24 January 2024, 17:18:55
Вообще, во фронтенде обычно другой техпроцесс. Разработчик не пишет код и разметку, которые будут работать непосредственно в браузере. Создаётся проект на жаваскрипте или тайпскрипте, который может иметь зависимости. Это красивый код по всем правилам науки. Для деплоя код «переваривается»: код проекта и зависимостей преобразуется в жаваскрипт, возможно, более старой версии, минифицируется и заталкивается в один или несколько файлов js, которые закидываются на сервер.

Типичное приложение на реакте с точки зрения пользователя — файл—рыба html, который грузит скрипты, которые уже создают DOM. По крайней мере, так было до недавних пор.

С точки зрения разработчика — проект, для которого нужно иметь nodejs и пакетный менеджер (nmp). Этот проект можно сбилдить и задеплоить. При разработке запускают девелопмент‐сервер, который отслеживает изменения файлов и самостоятельно подгружает новый код в локально работающее приложение.

Я работал с приложениями на реакте, которые создавались с помощью create-react-app: эта утилитка генерирует скелет, который можно набивать по своему усмотрению. Но она приказала долго жить. А что вместо неё использовать? Альтернативы есть, но чего‐то такого же простого, наверно, нет. (Может быть, Vite.js достаточно простой, но я с ним не работал.) Думаю, надёжный вариант — Next.js. Это не просто реакт, а фреймворк, основанный на реакте. То есть штука несколько замысловатая. Зато предоставляет искоробочные решения типовых задач — например, маршрутизацию.

Особенность Next.js — он старается сгенерировать как можно больше html. В принципе, для разработчика это, наверно, не очень принципиально, но в динамичные компоненты приходится добавлять 'use client;'.

Короче, я бы посоветовал попробовать Next.js. И пишите, как и что, тоже будет любопытно поковыряться. Чтобы его юзать, нужны node.js и npm. Проект создаётся просто: выполнить команду и ответить на вопросы https://nextjs.org/docs/getting-started/installation. Команда npm run dev запускает девелопмент‐сервер.

(Если что, можно ноду устанавливать не на компе, а в докере, и разрабатывать в контейнере. Не люблю, когда нода и npm забивают комп всякой фигнёй.)
Title: Re: Visual Studio Code
Post by: Bhudh on 24 January 2024, 17:26:15
У Вас докер на домашнем компе стоит? И какие среды внутре и вне?
Title: Re: Visual Studio Code
Post by: Квас on 24 January 2024, 17:52:01
По-моему, везде стоит, где можно. Люблю докер. :) Снаружи - линукс, внутри - ну, мало ли что. Например, если нужно по фронтенду поработать - только в контейнерах. Учитывая, что в разных проектах и пакетные менеджеры могут быть разные, и версии, и все они забивают систему разным барахлом и конфликтуют. А так - взял образ с node.js, примонтировал директорию с проектом и вперёд. У VS Code есть расширение для разработке в контейнере. А часто просто вим изнутри можно запускать. Ещё интересней, если нужно и бэк присобачить: фронт в одном контейрене, бэк в другом, nginx в третьем, постгрес - в четвёртом, pgAdmin - в пятом. Конфигурация прописана в docker-compose.yml и запускается одной командной. А комп не забивается!

Для домашних нужд, наверно, не так полезно. Ну, мало ли, если охота что-нибудь быстро попробовать, а ставить неохота.
Title: Re: Visual Studio Code
Post by: Bhudh on 24 January 2024, 18:03:30
А сколько вся эта радость жрёть?
Title: Re: Visual Studio Code
Post by: Квас on 24 January 2024, 18:43:25
Ну, сколько-то жрёт! С оперативкой у меня проблем не возникало, а место на диске жрёт только так, время от времени надо чистить ненужные образы и контейнеры.
Title: Re: Visual Studio Code
Post by: Квас on 24 January 2024, 18:50:05
Но сам оверхед - зависит. Например, часто делают образы на основе Alpine, вес дистрибутива - всего несколько мегабайт. Вряд ли он даёт большой оверхед сам по себе.
Title: Re: Visual Studio Code
Post by: Bhudh on 24 January 2024, 18:54:49
Хе-хе, игрушка .kkrieger (https://ru.wikipedia.org/wiki/.kkrieger) весит 95 килобайт, но жрёт комп на 150 %.
Title: Re: Visual Studio Code
Post by: Upliner on 24 January 2024, 22:35:01
Хе-хе, игрушка .kkrieger (https://ru.wikipedia.org/wiki/.kkrieger) весит 95 килобайт, но жрёт комп на 150 %.
Ну если комп чуть ли не ровесник игрушки, тогда да.
Title: Re: Visual Studio Code
Post by: Bhudh on 24 January 2024, 22:54:00
А Ваш на сколько?
Title: Re: Visual Studio Code
Post by: Upliner on 24 January 2024, 23:34:57
На домашнем компе что-то перестала запускаться, но раньше вроде грузила 2 ядра CPU, это получается 50%. GPU тогда не мерял, но более современная игрушка его где-то на 25% грузит. Ну и 300 мегов RAM из 32 гигов это около 1%.
На ноуте запустилось, но там проц помощнее, чем на домашнем компе. Task Manager показывает загрузку CPU около 20%, что меньше двух физических ядер, но больше трёх логических. Хотя вроде как полностью загружено только одно логическое ядро, остальная нагрузка размазана по разным.
Title: Re: Visual Studio Code
Post by: Bhudh on 25 January 2024, 00:21:35
Интересно, там поначалу предполагалось, что процедурная генерация будет работать на максимуме возможного для видеокарты.
Но, видимо, какое-то ограничение итераций там всё же стоит, поэтому карты это ограничение достаточно быстро переросли.
Но я читал отзывы, что у кого-то забирало до 8 гигов памяти из 16.
Title: Re: Visual Studio Code
Post by: Upliner on 25 January 2024, 09:05:54
В принципе понятно, что загрузить все ядра процессора не так уж сложно. Но в случае докера на Линуксе как правило запускается такой же софт, как и без него, а зачастую и более лёгкие версии, так что оверхед получается только по памяти.