Отворите шире ворота как пишется

Опубликован web-фреймворк pusa с реализацией концепции, переносящей логику фронтэнда, выполняемую в браузере при помощи javascript, на сторону бэкенда - управление

Опубликован web-фреймворк Pusa с реализацией концепции, переносящей логику фронтэнда, выполняемую в браузере при помощи JavaScript, на сторону бэкенда — управление браузером и DOM элементами, а также бизнеслогика выполняются на бэкенде. Выполняемый на стороне браузера JavaScript код заменяется на универсальную прослойку, вызывающую обработчики, находящиеся на стороне бэкенда. Необходимость разработки с использованием JavaScript для фронтэнда отсутствует. Эталонная реализация Pusa написана на языке PHP и распространяется под лицензией GPLv3. Кроме PHP технология может быть реализована на любому другом языке, включая JavaScript/Node.js, Java, Python, Go и Ruby.

Pusа определяет протокол обмена на базе минималистичного набора команд. При загрузке страницы браузер загружает базовое содержимое DOM и JavaScript-ядро Pusa-Front. Pusa-Front посредством Ajax-запросов направляет события браузера (такие как click, blur, focus и keypress) и параметры запроса (элемент вызвавший событие, его атрибуты, URL и т.п.) в серверный обработчик Pusa-Back. На основании полученных данных Pusa-Back определяет контроллер, выполняет полезную нагрузку и формирует ответный набор команд. Получив ответ запроса Pusa-Front выполняет команды, изменяя содержимое DOM и окружение браузера.

Состояние фронтэнда формируется но не контролируется бэкендом, что делает разработку для Pusa схожей с кодом для видеокарты или Canvas, где результат исполнения не контролируется разработчиком. Для создания
интерактивных приложений на базе Canvas и onmousemove предусмотрена возможность загрузки и использования дополнительных скриптов JavaScript на стороне клиента. Из недостатков метода также отмечается перенос части нагрузки с фронтэнда на бэкенд и увеличение частоты обмена данными с сервером.

Среди достоинств выделяются: исключение необходимости участия JavaScript-разработчиков фронтэнда, стабильный и компактный клиентский код (11кб), недоступность основного кода со стороны фронтэнда, отсутствие необходимости в сериализации REST и в средствах типа gRPC, исключение проблем согласования маршрутизации запросов между фронтэндом и бэкендом.

  1. Главная ссылка к новости (https://gitlab.com/catlair/pus…)
  2. OpenNews: Выпуск серверной JavaScript-платформы Node.js 17.0
  3. OpenNews: Новая атака на системы фронтэнд-бэкенд, позволяющая вклиниться в запросы
  4. OpenNews: RangeAmp — серия атак на CDN, манипулирующая HTTP-заголовком Range
  5. OpenNews: Атака на системы фронтэнд-бэкенд, позволяющая вклиниться в сторонние запросы
  6. OpenNews: Выпуск системы управления контентом Joomla 4.0
Автор новости: Still Swamp Тип: Программы Короткая ссылка: https://opennet.ru/56140-web Ключевые слова: web, javascript, php
  • 1.4, Корец (?), 10:36, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    >Pusa-Front посредством Ajax-запросов направляет события браузера (такие как click, blur, focus и keypress) и параметры запроса (элемент вызвавший событие, его атрибуты, URL и т.п.) в серверный обработчик Pusa-Back.

    Интересно, насколько всё это требовательно к сети? Допустим, на десктопах и на мобильниках в городе проблем не будет, ок, а что на счёт того, когда качество сети плохое?

    >Среди достоинств выделяются

    А среди недостатков? Сказали а, говорите и б!

     
     
  • 2.18, Аноним (18), 10:53, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Говорили «б», выше по тексту.

    > Из недостатков метода также отмечается перенос части нагрузки с фронтэнда на бэкенд и увеличение частоты обмена данными с сервером.

    .

     
  • 2.181, Аноним (181), 22:26, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > насколько всё это требовательно к сети?

    Ты посмотри, сколько сейчас современная морда ютуба генерит паразитных запросов через аякс…

     

  • 1.5, 41 (?), 10:36, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    идея интересная, но современный веб так откормил своих клиентов, что заднюю просто так не включит, хотя для локальных решений очень даже годно
     
     
  • 2.33, Аноним (33), 11:10, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Ты наверно не улавливаешь как быстро там все меняется. Если тема годная на неё перейдут все и очень быстро. Но это Пуса звучит как не очень годная.
     
     
  • 3.71, Gemorroj (ok), 11:55, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +10 +/
    af8f9aa527e2bcbeaa9a4d1b721f1a23перейдут все если гугл скажет. а годность или не годность технологии практически ни на что не влияет.
     
     
  • 4.83, OpenEcho (?), 12:16, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Наврядли гуглу это интересно. Все эти JS frameworks типа REACT были придуманы чтобы ослабить нагрузку на сервера+сеть и вынести на клиентскую часть как можно больше, оставив на бэкендах только контроль и данные.

    Хотя, времена идут, железо для них не проблема и если события с клиента (т.е. его повидение) как-то можно конвертировать в профит, (а это их главная цель — собрать все, какие только можно данные), то может и взлетит, но только для определенной группы, над кем надо пасти неустанно, иначе загнется и сеть и сервера :) но в будующем, вполне возможно и перейдут на Пузо, уж очень лакомый для них кусок данных
     
     
  • 5.90, Аноним (90), 12:42, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/

    А вот поддерживаю Гугл знатно экономит за счёт пользователей, но при их объёмах… большой текст свёрнут, показать

     
  • 5.179, домен в слонике (?), 21:50, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, а по итогу страницы весят по 100500 мегабайт, ресурсы тупят даже на хорошем канале, а нагрузка на бэкенде не сильно ниже.
     
     
  • 5.216, Антон (??), 11:19, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На ангуляре кстати можно перенести рендеринг на сервер, при желании. Такой проект был. Только не нужен никому, разумеется.
     

  • 1.8, Аноним (8), 10:41, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    > Pusa-Front посредством Ajax-запросов направляет события браузера (такие как click, blur, focus и keypress) и параметры запроса (элемент вызвавший событие, его атрибуты, URL и т.п.) в серверный обработчик Pusa-Back.

    Гайд, как самому DDoSнуть свой сервер.

    Как только сайтом начнёт пользоваться достаточно большое количество человек, сервер просто упадёт из-за того что пользователи *кликают на веб страницу*. А если кто-нибудь подрубит автокликер, так вообще классно будет.

     
     
  • 2.10, Аноним (8), 10:44, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я ещё понял бы если WebSockets, но AJAX — это же новое TCP подключение и TLS-рукопожатие на *каждый эвент страницы*!

    Отчаянно пытаюсь понять смысл данного проекта.

     
     
  • 3.52, Аноним (52), 11:27, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Главный смысл — уменьшить количество стороннего JS-кода, выполняемого на браузере. Вкладок до OOM-киллинга можно будет открывать значительно больше.
     
     
  • 4.84, OpenEcho (?), 12:19, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Главный смысл — уменьшить количество стороннего JS-кода, выполняемого на браузере.

    Плюс, — иметь полный контроль и надзор над клиентом

     
     
  • 5.143, хозяин кабака (?), 16:39, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, во-первых, об этом уже знаю я. Во-вторых, об этом, разумеется, узнает китаец…

    Нет, ну ты правда надеешься пользуясь сайтом делать это как-то так чтобы никто не догадался что ты это делаешь? Учти — китаец ЭТОГО дела ооооочень не любит!

     
     
  • 6.150, OpenEcho (?), 17:39, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нет, ну ты правда надеешься пользуясь сайтом делать это как-то так чтобы

    > никто не догадался что ты это делаешь?

    И что? это кого-то останавливает юзать интернет? Все знают что делает гугл и метаморда и ничего, кормят их исправно

    > Учти — китаец ЭТОГО дела ооооочень не любит!

    У китайцев у самих, еще «лучше» в этом плане, там инернет, такой как мы знаем не имеет популярности, у них большинство сидят на апп в телефоне, без которой там даже чихнуть не получится

     
     
     
     
  • 6.229, НяшМяш (ok), 19:09, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    c0c37fd5046290ac17959803a2632024Просыпаемся и машем, сейчас не 2008. Все браузеры давным-давно его передают да и я не видел ни одного сайта, который бы отвечал Connection: close. Даже opennet оставляет соединение открытым.
     
     
  • 6.182, Аноним (181), 22:29, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > KeepAlive не используется.

    — Используй KeepAlive, Люк! (с)

     
  • 3.146, kai3341 (ok), 17:00, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    bf04ed2018af3d15e7994051fc167081> Я ещё понял бы если WebSockets, но AJAX

    Точняк, там предлагают REST или gRPC, а не Websocket. Это полная ж

     
  • 3.149, OpenEcho (?), 17:34, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я ещё понял бы если WebSockets, но AJAX — это же новое

    > TCP подключение и TLS-рукопожатие на *каждый эвент страницы*!

    Ну, на самом деле «keep-alive» никто не отменял, так что для обеьктивности, — то не «на каждый чих»

     
  • 3.164, stillswamp (ok), 20:10, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    a4e33edf1231f2460e4e5301a283f0dbСмысл проекта — полностью убрать необходимость координации между бэками и фронтами при разработке.
     
  • 3.173, stillswamp (ok), 20:48, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    a4e33edf1231f2460e4e5301a283f0db> Я ещё понял бы если WebSockets, но AJAX — это же новое

    > TCP подключение и TLS-рукопожатие на *каждый эвент страницы*!

    > Отчаянно пытаюсь понять смысл данного проекта.

    Pusa — протокол.

    Для понимания сути и демонстрации необходима демка.

    Демка должна быть простой — AJAX (не WS).

    Это сделано.

     
  • 3.205, Онаним (?), 09:21, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть гуд для нетривиальных интерфейсов, где конкретная визуалка и реакция определяется текущим состоянием сервера. Без костылей в виде рефреша при серьёзном изменении такового состояния.
     
  • 3.221, Аноним (221), 18:18, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    livewire от laravel Работат на ajax

    тут вопрос больше что проще спроектировать архитектуру и отмасштабировать сервер 1  раз (или просто платить облачному провайдеру ) или нанимать дорогих фронтендеров — которые будут переписывать и оптимизировать проект каждый день на новую версию фреймворка

     
  • 2.223, Аноним (221), 18:36, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > если кто-нибудь подрубит автокликер, так вообще классно будет.

    если подрубить даже на сайте SPA которое не сферический конь в вакууме и который не ходит на бекенд — будет то же самое

     
  • 2.274, rex (??), 14:53, 22/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    2e522850cfbf882f64cc53e0d0b6ba89«сайт» может быть вообще не публичный. Просто несколько сотен разных устройств в пределах предприятия.
     

     
     
  • 3.145, пох. (?), 16:41, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    кстати, да, белое пустое место — лучшая антиреклама поделки.

    Не просто без js, а без единственноверного js в распоследней версии Браузера (единственноверного, конечно, куда вы тут лезете со своим lynx, плевать нам на слепых)
     
  • 3.168, stillswamp (ok), 20:18, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    a4e33edf1231f2460e4e5301a283f0dbРазработчикам нет необходимости работать с JS на клиенте.

    Сам JS никуда не делся.
     
     
  • 4.183, OpenEcho (?), 22:33, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Разработчикам нет необходимости работать с JS на клиенте.

    > Сам JS никуда не делся.

    Я понимаю, просто думаю было бы лучше, если при условии запрещеного ЖС, былo бы какое-то сообшение, костяк, как vue, ну или на худой конец пихуть tag <noscript> вместо пустой страницы.

    А вообще, спасибо за продукт, я уверен, он найдет свое место, особено учитывая, что в отличии от GWT, Zk, вы сделали попытку стандартизировать процессинг на бэкенде

     
     
  • 5.222, Аноним (221), 18:34, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    да проект интересный

    есть аналоги — но слишком много тащат — например blazor тащит рантайм .net скопмилированный в wasm  

    было бы неплохо поддержку SSR — например включать режим полного ренддера страницы на сервере — а затем уже погружать если js функционирует

    для тех кому нужно сео или например хотят поддержку функционирования в браузерах без js

     
     
  • 6.243, stillswamp (ok), 13:14, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbPusa может ПОЛНОСТЬЮ собрать всю страницу на голом html и отдать готовую.

    Это один из вариантов внутренней организации.

    пример:

    TemplateMain.html

    <html>

        <body>

            <cl content=»BodyContent.html»>

        </body>

    </html>

    TemplateBody.html

    Hello World

    Результат:

    <html>

        <body>

            Hello World

        </body>

    </html>

    Работает шикарно.

     
     
  • 7.259, Аноним (259), 20:50, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так ета, а зачем еще один шаблонизатор? Их уже и так выше крыши наштамповали. Есть же PHP. Или по вашему шаблонизатор написанный на шаблонизаторе работает эффективнее? Или это по принципу «этот мир придуман не нами, потому сварганим другой»?
     
  • 2.147, Kuromi (ok), 17:22, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    49fa087aabc6420228ffa320d97fded0Это ответ на слишком умные, настраиваемые и контроллируемые пользовталеем браузеры. Если во времена IE страница что сказала, то и происходит — вся рекламка прогружается например, Активексы всякие, то сейчас у пользователй в арсенале есть всякие настройки разрешения страницам, фильтры и блокировщики. А это, как показала практика, изрядно раздражает сайтоделов.

    Вот пример — сделали поддержку видео в браузере и сразу появились видеобаннеры и даже встроенные рекламные видеоролики. Естественно запускались они сами сразу же и с орущей громкостью. Гугл сказал — «Хром будет блокировать автозапуск роликов с звуком» (уже нарушение идеальных стандартов как бы) и все были вынуждены звук убрать. Другие браузера разрешили блокировать автозапуск даже без звука и теперь рекламщики изгаляются чтобы ролик все таки запустить (и у них к сожалению получается).

    Отсюда и все эти подвижки в сторону «контроллировать целостность страницы», «не давать показывать код».

    Схема такая же как с Google Stadia или Geforce Now — если игры в облаке то пиратсво невозможно. Если сайты будет рендерить сервер, то у пользователя контроля не будет.

     
     
  • 3.152, Аноним (152), 18:35, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Гугл сказал — «Хром будет блокировать автозапуск роликов с звуком»

    А можно было просто исключать сайты, где такое происходит, из выдачи. Разумеется, за исключением ютюба.

     
     
  • 4.163, Ordu (ok), 19:35, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    f735da0ea9a5ec344385a9f31d11b89bСайты не контролируют рекламу, которую они показывают. Google контролирует её. Гугл мог бы на своей стороне заблокировать доставку рекламных роликов со звуком, но это с его стороны было бы деятельностю вида мухи против гoвнa. Ему выгоднее доставить ролик, снять за это денег с рекламодателя, а потом не показывать его пользователю, чтобы не раздражать.
     
     
  • 5.199, fuggy (ok), 02:05, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    10fa1c8d82f5d9683e1f5df4b2625627Не только гугл контролирует рекламу. Вот они и боролись с конкурентами, чтобы только гугл контролировал рекламу. Заодно чтобы в глазах пользователей хорошо выглядеть, типо мы против «неправильного» мёда.
     

  • 1.11, Аноним (11), 10:46, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    В начале был простой HTML, и интернет был хорош. Потом решили, что нужно добавить свистоперделок. Потом поняли, что серверы не справляются с нагрузкой, и переложили часть работы на клиентов. Потом ещё. Потом поняли, что у клиентов всё тормозит, жрёт в три горла и срёт в две жопы, и начали переносить всё обратно. Глядишь, когда-нибудь вернёмся к чистому HTML. И всё снова станет хорошо
     
     
  • 2.22, Аноним (22), 10:57, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Глядишь, когда-нибудь вернёмся к чистому HTML. И всё снова станет хорошо

    Ты всё проспал Аноним. Уже виток сделали и назвали AMP. Хорошо не стало…

     
     
  • 3.44, keydon (ok), 11:23, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    7b37a8c10ce96da8a44b2b6aa116b3ecAMP это очередная попытка гугла захватить интернет и это не могло быть хорошо
     
  • 2.30, MVK (??), 11:08, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Глядишь, когда-нибудь вернёмся к чистому HTML

    — идея глубже: в идеале отрисовка будет производиться на бэкенде, а в браузер будут оправляться отрисованные изображения

     
     
  • 3.39, Аноним (39), 11:17, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Трафик. Но вообще опера именно это и делает. Только там престо и он немного устарел. Отличный браузер, только им и пользуюсь всегда. Ну, на java me.
     
  • 3.89, fdk (?), 12:42, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    0f9b10c52b8b57e7a50adbd3d007915fТак уже сделали, есть барузер Mighty. Он стримит сайт в клиент барузера и передаёт клики на свой сервис.
     
     
  • 4.148, Kuromi (ok), 17:24, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    49fa087aabc6420228ffa320d97fded0И как в таком браузере ходить по интернет-магазинам? Номера карточек тоже сервису отправлять?
     
  • 3.225, Аноним (221), 18:56, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    давно уже веб версия libreoffice умеет отрисовыватся на канвасе или напрмер adobe photoshop тоже —  без ручного написания js

    но там свои нанотехнологии по типу компиляции декстоп приложения в wasm и переноса рендера через графический тулкит  в браузер
     
  • 2.31, Аноним (33), 11:08, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Надо идти дальше чтобы искусственный интеллект перевыполнял код еще до того как пользователь к нему обратится.
     
     
  • 3.80, YetAnotherOnanym (ok), 12:14, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    e76ba89a5ed1bc4c42f914f1210fb028А убедить пользователя, что он хотел именно того, что выдал ему ИИ — этим уже займётся товарищ майор. Тоже, разумеется, разработанный на основе ИИ.
     
  • 3.260, Аноним (259), 20:59, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, и получим всякие спектры с мельтдаунами, только уже уровнем повыше ;)
     
  • 2.73, Виктор (??), 11:58, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, собственно, так оно и есть. HTML5+CSS — решение, позволяющее делать красивые интерактивные сайты, не прибегая к костылям яваскрипта.
     
     
  • 3.276, Николай Козлов (?), 11:29, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    dc73cc797668fcae5f4e97ce3c5460e6Ты мне скажи, как ты на чистом HTML+CSS создашь интерактивный календарь с выбором диапазона дат и моментальной фильтрацией рядом находящегося списка элементов по этому самому диапазону?!
     
  • 2.165, stillswamp (ok), 20:12, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    a4e33edf1231f2460e4e5301a283f0dbИдеальный вариант — вернутся к чистому HTML. Именно по этому пути пуса и пошла.

    В пределе — с клиента на сервер события, с сервера на клиент контент.
     
     
  • 3.227, Аноним (221), 18:59, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    идеальный но не везде

    например приложения типа гугл таблицы гугл докс и тому подобное — все на канвас перешли

    flutter для web тоже рендер через канвас внедряет

     

     
  • 2.224, Аноним (221), 18:51, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Vue SSR — это когда фронтендеры решили что неплохо бы иногда запилить бекенд (пусть и на компонентах). в принципе прикольно — чем то отдаленно похоже так delphi компоненты — только не кидаеш на форму и не настраиваешь а пишеш руками

    а с pusa наоборот — когда бекендеры думали а не плохо бы иногда запилить фронтент на php например

    и не придется становится javascriptизером и не надо  руками js трогать и с мылом потом их мыть каждый раз

     

  • 1.26, Аноним (26), 11:06, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Следующий этап — компилировать полученный PHP код на JS и перенос его обратно на сторону клиента. Все что требуется — простенький транспортный протокол для работы с БД.
     
     
  • 2.171, stillswamp (ok), 20:25, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbСуть технологии — в этом нет необходимости.

    Пишем на чистом PHP без пересборок в JS.
     
  • 1.32, garrick (?), 11:09, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я смотрю любят программисты JavaScript велосипеды изобретать — JSF/GWT/Vaadin/ZKoss не слышали, надо обязательной свой забабахать.
     
     
  • 2.97, Аноним (97), 12:57, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У всех этих технологий есть фатальный недостаток, но однажды и у этой технологии его найдут
     
  • 2.190, Аноноша (?), 23:55, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я смотрю любят программисты JavaScript велосипеды изобретать — JSF/GWT/Vaadin/ZKoss не слышали, надо обязательной свой забабахать.

    Судя по приведенным примерам программисты на Java не могут осилить JavaScript и изобретают свои велосипеды.

     

  • 1.37, th3m3 (ok), 11:12, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    9a49945d2d11ed745ea5de2d54e41352А можно просто отдавать html без всякого говнокода на js и будет всё быстро, тормозить будет нечему.
     
     
  • 2.47, Аноним (47), 11:25, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >А можно просто отдавать html без всякого говнокода на js и будет всё быстро, тормозить будет нечему.

    Это не современно и не модно.

     
     
  • 3.180, th3m3 (ok), 22:02, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    9a49945d2d11ed745ea5de2d54e41352Очень нравится. Уже давно использую js — минимально. А то и совсем не использую. Всё летает, даже на слабых устройствах.
     

  • 1.51, Аноним (24), 11:27, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Откуда эту настойчивая потребность избавления от JS? В устойчивой неспособности на нем программировать? Зря, хороший язык.

    Поведение интерфейса и представление данных в любом случае пишется на фронтенде. И это не только формы. В реальной работе очень быстро окажется, что возможностей не хватает и нужно писать JS.

     
     
  • 2.61, th3m3 (ok), 11:41, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    9a49945d2d11ed745ea5de2d54e41352> Откуда эту настойчивая потребность избавления от JS?

    Например, сходу:

    — С js добавляются тормоза.

    — C js приходится качать тонну кода.

    — C js менее безопасно, чем без него.

    — C js — пользователь получает какую-то программу на своё устройство, которая хрен знает что делает на его устройстве. А пользователя никто даже не спрашивает.

    — ???

    — Тормоза.

    Я стараюсь минимально использовать js, а то и совсем без него. Всё летает, все довольны. Пора формировать движение за сеть без js!

     
     
  • 3.63, Аноним (24), 11:49, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.е. адекватное потребностям использование JS вы не допускаете даже?

    Проблема ведь не в технологии.
     
     
  • 4.72, Аноним (52), 11:58, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вот минимально использовать и есть адекватное использование. А потребности… ну у авторов кода могут быть извращённые потребности.
     
     
  • 5.108, Аноним (24), 13:44, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Гуглы перестают выдавать сайт в поиске, если он тормозит и жрет ресурсы. Вебмакаки из кожи вон лезут, чтобы ускорить загрузку страниц.
     
  • 5.198, фттщ (?), 02:00, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ахаха, си не позволяет говнокодить, 70000 строк кода в геофизическом софте с тремя тысячами магических чисел
     
  • 3.68, Аноним (68), 11:54, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я стараюсь минимально использовать js, а то и совсем без него. Всё летает, все довольны.

    я заинтригован.

    не поделитесь ли ссылкой на ваш портфолио?

    (да простит меня модератор за такие запросы).

     
     
     
     
  • 6.111, НяшМяш (ok), 13:52, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    c0c37fd5046290ac17959803a2632024app.bundle.js — 133кб

    app.кучабуков.js — 157кб

    buttons.github.io — 19кб
     
  • 6.142, OpenEcho (?), 16:37, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Там без жс даже картинки не грузятся, хороший пример.

    Хьюго — это -генератор статических сайтов, все зависит от того, кто делает, ЖС там в основном чтоб можно было динамически менять (меняешь ишодники, меняется тут же морда) ну и или еще свистелки, без которых можно спокойно обойтись.

    https://www.linode.com/docs/ сделаная на хьюгев полне рабочая без ЖС

     
     
  • 7.269, gogo (?), 02:11, 16/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Какое у вас замечательное чувству юмора. Примеры один лучше другого )

    Вы не пробовали для разнообразия самому зайти туда с отключенным яваскриптом? )))
     
  • 3.110, НяшМяш (ok), 13:50, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    c0c37fd5046290ac17959803a2632024Забавно то, что в браузере тормозит не JS, а DOM который JSом теребят стотыщраз в секунду. И минимальное использование JS это правильная стратегия. А бывает так, что фронтендеры, чтобы вывести обычную таблицу в браузере, вместо <table> накручивают лютого монстра на React, где каждая ячейка — это отдельный компонент рендерящийся в <div>.
     
  • 2.67, Аноним (68), 11:52, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Откуда эту настойчивая потребность избавления от JS? В устойчивой неспособности на нем программировать?

    Возможно, причина лежит в устойчивой неспособности полностью запретить распространение своего js-кода — без такого запрета распространять код на коммерческой основе весьма затруднительно: продавать приходится только временный доступ к коду и к техподдержке.

     
  • 2.69, Виктор (??), 11:54, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Причина — в безопасности. Яваскрипты очень часто используются для сбора информации с компьютера и для размещение на компьютере посетителя вредоносного кода. Поэтому у людей, заботящихся о своей безопасности, как правило, исполнение яваскриптов запрещено или ограничено, и такой человек скорее покинет сайт, чем будет включать яваскрипты для него.
     
     
  • 3.270, gogo (?), 02:13, 16/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсую.

    Даже специально временно включил js для оупеннета, чтобы проголосовать плюсиком ))))
     
  • 2.93, Ю.Т. (?), 12:51, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    022a06e6631be17ad9dbb742892424a0> Откуда эту настойчивая потребность избавления от JS? В устойчивой неспособности на нем

    > программировать? Зря, хороший язык.

    Язык-то хороший. Проблема в том, что работа в инфосети превратилась (превращена) в постоянное исполнение неведомо кем сделанных приложений У СЕБЯ ДОМА. Это и HTML5 касается, насколько понимаю.

     
     
  • 3.106, Аноним (24), 13:42, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Раньше неведомо кем сделанные приложения были нативными и работали не в виртуальной машине браузера, а прямо на вашей ОС. Что-то изменилось?
     
     
  • 4.112, НяшМяш (ok), 13:54, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    c0c37fd5046290ac17959803a2632024Человек ностальгирует по временам, когда возле компа дышать нельзя было, чтобы он не поломался.
     
  • 4.114, Ю.Т. (?), 14:14, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    022a06e6631be17ad9dbb742892424a0> Раньше неведомо кем сделанные приложения были нативными и работали не в виртуальной

    > машине браузера, а прямо на вашей ОС. Что-то изменилось?

    В те времена у каждого приложения были фамилия, имя и отчество. ЕВПОЧЯ.

     
  • 2.166, stillswamp (ok), 20:13, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    a4e33edf1231f2460e4e5301a283f0dbМы хорошо знаем JS и умеем на нем писать.

    Причина не в JS а в наличии необходимости координации между бэками и фронтами. Это финансово расходно.
     

  • 1.58, Аноним (152), 11:36, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >недоступность основного кода со стороны фронтэнда

    Сразу на *** такие сайты.

     
     
  • 2.60, Аноним (52), 11:40, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Предпочитаешь, чтобы чужой код исполнялся в твоём браузере? Лично я бы предпочёл, чтобы код исполнялся на железе того, кто этот код писал.
     
     
     
  • 4.74, Аноним (52), 12:02, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не важно, пусть тем, кто заказал разработку сайта.

    PS Будет тормозить, следующий раз подумает, стоит ли так перегружать страницы динамическими украшательствами. А то же, когда у клиента тормозит, хозяину-то сайта не видно.

     
     
  • 5.121, bugmenot (??), 14:59, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А то же, когда у клиента тормозит, хозяину-то сайта не видно

    Ну вообще-то для этого есть тестеры, которые тестируют работу

     
     
     
  • 7.214, Рмшъ (?), 11:17, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если хозяин продаёт что-то дорогое, то он может нарочно решить не тестировать на медленном железе, потому что решил, что его клиент может позволить себе быстрое.

    Есть и другие. Например, заказчик сделал себе в системе масштаб 150% и просит уменьшить сайт, а то всё крупное стало. То, что у посетителей станет мелко, его не волнует. Причём, он-то своим сайтом вряд ли будет пользоваться как посетитель, поэтому его вообще не должно волновать, как он видится на его странном компе.

    В общем, как тестировщику сказали тестировать, так он и тестирует. Если попросят посмотреть на медленных компах, он посмотрит.

     
  • 7.215, Рмшъ (?), 11:17, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если хозяин продаёт что-то дорогое, то он может нарочно решить не тестировать на медленном железе, потому что решил, что его клиент может позволить себе быстрое.

    Есть и другие. Например, заказчик сделал себе в системе масштаб 150% и просит уменьшить сайт, а то всё крупное стало. То, что у посетителей станет мелко, его не волнует. Причём, он-то своим сайтом вряд ли будет пользоваться как посетитель, поэтому его вообще не должно волновать, как он видится на его странном компе.

    В общем, как тестировщику сказали тестировать, так он и тестирует. Если попросят посмотреть на медленных компах, он посмотрит.

     
  • 3.115, Аноним (152), 14:29, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Предпочитаю контролировать, какие данные и каким образом использует чужой код. Если код плохой, то я его модифицирую и он отдаётся браузеру вместо оригинального.
     
     
  • 4.232, Аноним (221), 19:27, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а это случайно не ты тот чувак который любил писать и бекенд и фронтент на js, говорил что все класно нравится и еще потом его в дурку забрали?
     
  • 3.177, fuggy (ok), 21:14, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    10fa1c8d82f5d9683e1f5df4b2625627Сколько раз их учили что GPL, даже GPLv3 не делает код свободным, который исполняется на чужих серверах. Что позволяет легко форкнуть такой GPL проект и не публиковать изменений. Для этого надо использовать AGPLv3, чтобы код исполняемый на чужих серверах оставался свободным для пользователя.
     
  • 2.65, Аноним (24), 11:50, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Выйди с этого. Фронтенд никак не может получить перловый код с сервера :)
     
  • 2.170, stillswamp (ok), 20:22, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbНу и напрасно.

    Юзеру, а их большинство глубоко без разницы открытый код или нет. Они просто пользуют сайт и все.

    А вот заказчик — кто платит деньги — предпочитает код оставить себе.
     
  • 2.231, Аноним (221), 19:25, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ничего страшного если вы просто не попадаете в ЦА владельцев подобных сервисов
     

  • 1.59, Виктор (??), 11:38, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Яваскрипт придумали именно для того, чтобы разгрузить сервер и канал, здесь же — наоборот, нагрузка переносится с клиента на сервер. Это то, что касается нагрузки. Но есть и другая сторона — безопасность. Перенос исполнения кода на сторону сервера приведёт к тому, что на сервер придётся передавать информацию о клиенте, такую, как разрешение экрана и тому подобное, которую яваскрипт может обработать локально, ничего на сервер не передавая. Что же касается сокрытия бесценных авторских прав авторов скриптов, то с этим неплохо справляется и обфускация.
     
     
  • 2.62, th3m3 (ok), 11:43, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    9a49945d2d11ed745ea5de2d54e41352> Яваскрипт придумали именно для того

    Чтобы клиентские устройства тормозили. Вот его основная фича.

     
     
     
  • 4.92, Аноним (90), 12:49, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хоть кто-то не отрицает))

    Но есть вот фанбои, которые на полном серьёзе думают, что не для этого.
     
  • 2.64, Аноним (52), 11:50, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот от этой самой обфускации кода, исполняемого на клиенте, проблем с безопасностью гораздо больше. Ибо обфусцированное может всё тоже, что не стоило бы на сервер передавать, таки молча передавать.
     
  • 2.98, YetAnotherOnanym (ok), 12:59, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    e76ba89a5ed1bc4c42f914f1210fb028> яваскрипт может обработать локально, ничего на сервер не передавая

    Как будто это может помешать отправить на сервер ВСЁ, что скрипт сможет собрать.

     
  • 2.116, Аноним (152), 14:31, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Что же касается сокрытия бесценных авторских прав авторов скриптов, то с этим неплохо справляется и DMCA takedownы и судебные иски.

    Пофиксил.

     
  • 2.230, Аноним (221), 19:23, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Яваскрипт придумали именно для того, чтобы разгрузить сервер и канал, здесь же — наоборот, нагрузка переносится с клиента на сервер. Это то, что касается нагрузки.

    в определенной нише это вполне имеет смысл — сервисы расчитанные на дешевые мобильные устройства, или сервисы типа google stadia и им подобные взамен увеличения интернет трафика предлагают уменьшение требований к аппаратным ресурсам

     
  • 2.233, Аноним (221), 19:33, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Перенос исполнения кода на сторону сервера приведёт к тому,

    приведет к тому что бизнес логика хранится на сервере — будет сложнее произвести реверс инженеринг

    опять же на примере google stadia — приложение не спиратиш

     

  • 1.66, test (??), 11:50, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мдаааа, у них с головой все в порядке ?

    Кричали что php/python крутящийся на сервере это типа плохо а давайте часть логике в js на клиента перетащим. Мда ….

     
     
  • 2.75, Лже_ит (?), 12:03, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В принципе андроиды работают быстро что ещё надо ? Тоже мое думаю : ничего . Другие же говорят в этом случае «не нужно» что c первых букв при другой раскладке звучит как yt ye;yj , а кто использует ytd ? Правильно ютуб
     
     
  • 3.85, Лже_ит (?), 12:20, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я думаю они наедятся этого всего от пуза судя по тому что фремиворк пузатый
     
  • 2.172, stillswamp (ok), 20:29, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    a4e33edf1231f2460e4e5301a283f0dbУ нас с головой все в порядке.

    JS — место размещение компонентов MVC не страдает.

    При этом браузеру (клиенту) отводится его основная суть а именно ОТОБРАЖЕНИЕ.

    Это наиболее правильное использование клиентской стороны в текущих условиях инета.

     

     
  • 2.234, Аноним (221), 19:36, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    подобная идея давно уже используется — начиная от turbolinks и заканчивая blazor и рендером gnome окружения в браузере
     

  • 1.81, лолшто (?), 12:15, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Т.е. ты такой сидишь в своей конторке и думаешь: «О! А давайте сэкономим на зажравшихся фронтах и будем эту логику на бекэнде выполнять!» Выносишь все обработчики и состояние на бэк и вдруг понимаешь, что у тебя не одно соединение, а тысячи-миллионы и что теперь тебе нужен новый тарифный план в этих ваших облаках.
     
     
  • 2.102, псевдонимус (?), 13:20, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Т.е. ты такой сидишь в своей конторке и думаешь: «О! А давайте

    > сэкономим на зажравшихся фронтах и будем эту логику на бекэнде выполнять!»

    > Выносишь все обработчики и состояние на бэк и вдруг понимаешь, что

    > у тебя не одно соединение, а тысячи-миллионы и что теперь тебе

    > нужен новый тарифный план в этих ваших облаках.

    А какого лешего юзверь должен тратить свои вычислительные мощности ради вашей рекламы?

    Не переживай, а то переживе..

    Все по-старинке останется. ФФ

     
  • 2.235, Аноним (221), 19:43, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а если подумать над архитектурой и UX — то может оказатся все не так уж и плохо

    в осбености если это не сервис типа VK на милион пользователей, а специфическое веб приложение
     
     
  • 3.242, stillswamp (ok), 13:09, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbPusa прекрасно справляется со значительной нагрузкой.

    В основу поддержки сессий Pusa заложена возможность поддержки множества вебсерверов (точек входа) без необходимости сессионной синхронизации.

    Таким образом пользователь, авторизовавшись на одном из серверов может продолжить работу на другом. Это позволяет организовывать зонтик и паралелить вебсервера в сколь угодных количествах.

     

  • 1.82, Аноним (82), 12:15, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Хорошая технология для каких-нибудь дашбордов

    Я видел как такое работает на Phoenix LiveView, очень круто, только там вебсокет а не ajax

     
  • 1.87, Аноним (87), 12:36, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Все просто, это нужно для того, чтоб на мелких проектах,

    PHP-макака могла запилить проект в одно рыло, без

    JS-макаки
     
     
  • 2.236, Аноним (221), 19:46, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    полностью согласен — ато эти js-макаки понаделают а потом уволятся, потомутчо новый фреймворк веть вышел а на нем не дают переписывать, да и старый код поддерживать скучно
     
  • 1.99, Аноним (99), 13:09, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Во блин. А я давно уже думал, что это на самом деле бред писать вэб приложения на двух языках — один для бэкэнда, а другой для фронтэнда. Раньше был смысл, когда странички считались чем-то вроде текста. Но сейчас то, блин, это уже полноценные приложения и в браузере мы видим по сути только морду. Так зачем вот эта огромная куча костылей? Все эти html, css, js и еще куча всякой другой ереси?
     
     
  • 2.113, НяшМяш (ok), 13:56, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    c0c37fd5046290ac17959803a2632024> бред писать вэб приложения на двух языках — один для бэкэнда, а другой для фронтэнда.

    Пиши на одном. NodeJS уже давно существует /s

     
     
  • 3.167, stillswamp (ok), 20:16, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbNodeJS — пишите. Это хорошо.

    Речь идет не об исключении JS а об уменьшении объема кода на клиенте.

    По хорошему — сведение его в 0, если данный стандарт разовьется и будет принят браузерами.
     
     
  • 4.175, Аноноша (?), 21:01, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > По хорошему — сведение его в 0, если данный стандарт разовьется и будет принят браузерами.

    Не будет. Стандарт — это гугл, а они развивают JS, WASM и прочие веб стандарты. Браузер — это своего рода ОС, давно уже пора это понять.

     
  • 4.194, лолшто (?), 00:55, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > NodeJS — пишите. Это хорошо.

    > Речь идет не об исключении JS а об уменьшении объема кода на

    > клиенте.

    > По хорошему — сведение его в 0, если данный стандарт разовьется и

    > будет принят браузерами.

    Либо ты платишь за ресурсы, либо пользователь. Крупные игроки на рынке деньги считать умеют и дополнительную нагрузку на бек брать не будут.

     
     
  • 5.197, stillswamp (ok), 01:35, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    a4e33edf1231f2460e4e5301a283f0dbБезусловно.

    При этом по имеющемуся опыту раскходы на технические ресурсы ничто по сравнению с расходами на персонал. Pusa про второе…
     
  • 3.237, Аноним (221), 20:05, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Пиши на одном. NodeJS

    1 язык != 1 платформа

    попробуй напиши  один и тот же код чтобы запускался и в браузер и node.js без костылей и подпорок

    вот deno его заменитель действительно откроет всем ворота в светлое будущее, когда будет 1 код и для браузера и для сервера без костылей в виде транспиляторов, тысячи сборoшиков и прочей ереси чернокнижников

     
  • 2.123, Аноним (123), 15:05, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это странное мнение, обычно программные продукты пишутся более чем 1 человеком, и нет никакой проблемы в разных языках, да и знать несколько языков не проблема вообще. По мне так наоборот, писать на JS то что можно писать на нормальном ЯПе, спроектированном не за неделю — бред.
     

     
  • 2.209, Аноним (), 10:21, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что только не пишут, чтобы оправдать знание только одного языка Javascript
     

  • 1.176, fuggy (ok), 21:07, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    10fa1c8d82f5d9683e1f5df4b2625627Этакий тонкий клиент для толстых сайтов. Конечно не zero javascript, но всё же только минимальная прослойка, а вся нагрузка на сервере. Но есть минус — это огромное количество запросов на каждый чих, на какой-нибудь blur или hover, что вполне решается просто css.

    А вообще стоило бы смотреть в сторону TwinSpark, HTMx. Они тоже занимают 11кБ размера (золотой стандарт я погляжу) и при этом всё декларативно. А взглянув на ужасный протокол Pusa чуть плохо не стало, пусть дорабатывают.

     
     
  • 2.178, stillswamp (ok), 21:36, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Этакий тонкий клиент для толстых сайтов. Конечно не zero javascript, но всё

    > же только минимальная прослойка, а вся нагрузка на сервере. Но есть

    > минус — это огромное количество запросов на каждый чих, на какой-нибудь

    > blur или hover, что вполне решается просто css.

    Верно. Это и должно решаться через CSS. Таким образом количество запросов — умеренное.

    > А вообще стоило бы смотреть в сторону TwinSpark, HTMx. Они тоже занимают

    > 11кБ размера (золотой стандарт я погляжу) и при этом всё декларативно.

    > А взглянув на ужасный протокол Pusa чуть плохо не стало, пусть

    > дорабатывают.

    Декларации недостаточно.

    С удовольствием выслушаем инфу о недостатках. Объективную учтем.

     

     
  • 2.193, stillswamp (ok), 00:32, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Вот класно бы было запустить Pusa на MuditaOS

    Чем объясняется такое экзотичное желание?

     
  • 2.238, Аноним (221), 20:10, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    заявлена что можно реализовать протокол на  Go — а в Go как раз есть встроенный веб сервер, теоретически можно скомпилировать через cgo под микроконтроллер, так почему бы нет?
     

  • 1.185, KAE (?), 22:46, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, можно ли таким образом ддосить ресурсы, — просто эмулировать перемещение курсором по страничке?
     
     
  • 2.192, stillswamp (ok), 00:12, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Интересно, можно ли таким образом ддосить ресурсы, — просто эмулировать перемещение курсором

    > по страничке?

    ддосить ресурсы куда как проще без мышки. возить эмулируемой мышкой слишком дорого.

     

  • 1.189, Аноноша (?), 23:46, 12/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Состояние фронтэнда формируется но не контролируется бэкендом, что делает разработку для Pusa схожей с кодом для видеокарты или Canvas, где результат исполнения не контролируется разработчиком

    Кто объяснит, что здесь написано? Что значит «схожей с кодом для видеокарты Canvas, где результат исполнения не контролируется разработчиком»?

     
     
  • 2.191, stillswamp (ok), 00:03, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db>> Состояние фронтэнда формируется но не контролируется бэкендом, что делает разработку для Pusa схожей с кодом для видеокарты или Canvas, где результат исполнения не контролируется разработчиком

    > Кто объяснит, что здесь написано? Что значит «схожей с кодом для видеокарты

    > Canvas, где результат исполнения не контролируется разработчиком»?

    Когда в видюху отправляется поток команд, проверить его исполнение у отправляющего кода нет никакой возможности. Только пользователь увидит картинку. От видеокарты максимум будет получен ответ, что команды приняты.

     

     
  • 2.196, stillswamp (ok), 01:23, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    a4e33edf1231f2460e4e5301a283f0db> В новости GPLv3, а в репозитории чего-то про лицензию ничего и нет.

    Исправлено.

     
     
  • 3.200, fuggy (ok), 02:18, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    10fa1c8d82f5d9683e1f5df4b2625627Вы хоть понимаете что GPLv3 для серверного кода почти бесполезен? В этом случае правильнее использовать AGPLv3.
     
     
  • 4.208, stillswamp (ok), 10:12, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Вы хоть понимаете что GPLv3 для серверного кода почти бесполезен? В этом

    > случае правильнее использовать AGPLv3.

    Лицензия изменена, ОДНАКО наивно полагать, что подобные условности позволяют рулить судьбой кода.

    Это проблема скорее сообщества, а не наша.

    Идея в выпущена.

     

  • 1.206, Аноним (206), 09:23, 13/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть pjax livewire hotwire turbolink

    А это чисто пэхэпэ или тащит за собой фреймворк?

     
     
  • 2.211, stillswamp (ok), 10:25, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Есть pjax livewire hotwire turbolink

    > А это чисто пэхэпэ или тащит за собой фреймворк?

    Это чистый PHP без сторонних библиотек.

    JS вложен в проект. Его не много.

     

     
  • 2.212, ыы (?), 10:47, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Почему? Каждый из них получит в свое распоряжение миллионы серверов… Теперь они станут главными…
     
  • 1.218, Аноним (221), 18:05, 13/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а умеет в SSR или есть ли планы по его реализации? т е сначала рендерим страницу полностью а далее через этот протокол — при этом чтоб код одинаковый был
     
     
  • 2.241, stillswamp (ok), 13:05, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbPusa это делает в том числе.

    Pusa имеет внутренний сборщик, позволяющий на бэеке полностью собрать всю страницу на основе шаблонов и их кроссвызовов (вообще без PHP на голом html). После чего страница будет возвращена.

    Выбор пути организации потрохов остается на усмотрение разработчика.

     

     
  • 2.220, Аноним (219), 18:15, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    9b646cfec5d7e46a215bd607de2abd3eда простят меня авторы «пуса» но это было первое впечатление.

    приношу извинения, если кого обидел.
     
     
  • 3.239, stillswamp (ok), 12:59, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbНе обидели. IT не для обидчивых.

    Сфера применения HRUD:

    Где нужно применять HRUD ? Разработка АРМ, личных кабинетов, и др. приложений с web-интерфейсом, для которых необходима поддержка сложной логики поведения или взаимодействия с клиентом, поддержка «сложного состояния клиента».

    Это «statefull технология», которая выгодна при организации сложных бизнес-процессов, быстрой разработки промышленных АРМ.

    Сфера применения Pusa значительно шире и все перечисленное так же.

     
     
  • 4.252, dplsoft (ok), 00:30, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/

    9b646cfec5d7e46a215bd607de2abd3eваш оптимизм конечно похвален, но я бы сказал что вы заявляете пока еще труднопо… большой текст свёрнут, показать

     
     
     
  • 6.255, dplsoft (ok), 12:48, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/

    9b646cfec5d7e46a215bd607de2abd3eпока отвечу кратко, потом с вашего позволения дополню и так пока про leaflet … большой текст свёрнут, показать

     
     
  • 7.257, stillswamp (ok), 20:40, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db1. Вы предлагаете выполнить полноценную работу. Работа = денги.

    2. Постановка крайне предварительна и требует уточнения:

    — кто провайдер карты (api)?

    — если API провайдера подразумевает JS то, есть ли у него событие завершения драгдропа?

    — представьте api для получения информации о камерах.

    :)

     
     
  • 8.261, dplsoft (ok), 22:53, 15/11/2021 [^] [^^] [^^^] [ответить]  
  • +/

    9b646cfec5d7e46a215bd607de2abd3eнет, я прошу вас сделать демонстрационный кейс, туториал, пример того, как инте… большой текст свёрнут, показать

     
     
     
  • 10.268, dplsoft (ok), 01:51, 16/11/2021 [^] [^^] [^^^] [ответить]  
  • +/

    9b646cfec5d7e46a215bd607de2abd3eа у вас есть примеры того как это делать потому что ничего похожего в тех трех … большой текст свёрнут, показать

     
     
  • 2.247, stillswamp (ok), 16:48, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Они придумали VNC

    Не совсем. Сравнение с VNC близко с тем отличием, что со стороны сервера не отстроенный контент а динамически собираемый на основании запросов. В этом и идея.

    И да… все это только на браузере через REST — ничего боле у клиента.

     

     
  • 2.251, stillswamp (ok), 22:08, 14/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0db> Не могу не упомянуть свой проект «Королев» для языка Scala, который развиваю

    > с 2016 года. https://github.com/fomkin/korolev

    Предлагаю обсудить в телеге голосом. Суть беседы:

    — сравнение схем;

    — представление похожих и различных моментов статьей;

    Будет заинтересованность — прошу ответить сюда: https://t.me/pusa_catlair_net.

    По итогам беседы:

    — заберем удачные мысли в Pusa;

    — есть что и нам предложить для вас.

     

     
  • 2.264, stillswamp (ok), 00:01, 16/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    a4e33edf1231f2460e4e5301a283f0dbGoogle Web Toolkit — свободный Java-фреймворк, который позволяет веб-разработчикам создавать Ajax-приложения. Его особенность — компилятор Java -> JavaScript, позволяющий почти всю разработку клиента и сервера реализовать на основе Java и лишь на последнем этапе создать соответствующие JavaScript, HTML и CSS.

    Pusa НЕ создает JavaScript, НЕ выполняет перекомпиляций, НЕ тянет на клиент JS под специфику запроса, НЕ использует какой либо сторонний код JS ни в каком виде, если того не пожелает разраб.

     

    31.10.2014 14:26:40

    Инна

    Места богатые, но освоение опасно для людей и окружающей среды.  Пусть полежат богатства, подождут человека разумного.

    31.10.2014 16:17:30

    Держись, геолог, крепись, геолог

    Насколько я знаю, Альгамин еще в конце прошлого года выставили на торги Дальнедра с начальной ценой в 300 млн рублей. Но, по-моему, инвестора так и не нашлось. Тем более, сегодня, когда санкции и прочее. Остаются только китайцы. Сегодня рынок циркония перспективен, причем, и для возможных будущих военных технологий.

    31.10.2014 16:26:30

    ДВНАН

    Высокотехнологичная керамика используется в космической отрасли, в автомобильной и авиационной промышленности и медицине. Именно эти качества выделяют цирконий среди других биосовместимых материалов. Материал имеет высокую светопроводимость, гибкость, прочность и теплопроводность. Вот с учетом строительства космодрома «Восточный» и нужно создавать здесь циркониевую добычу и переработку. Вот вам и еще одна территория опережающего развития. Да и авиационный Комсомольск рядом. Надо было не сажать «космонавата» Хризмана, а поручить ему освоить за «расстраченные» 1,8 млрд рублей циркониевое месторождение для космоса. Пусть бы искупил свою вину геологическим подвигом.

    31.10.2014 16:41:02

    стратег

    Почти все эти металлы (от тугоплавкого бериллия до легкоплавкого лития) постановлением правительства РФ отнесены к стратегическому сырью. Таких месторождений, действительно, по миру — раз два и обчелся.

     
    По-моему, только австралийцы в добыче всего этого поднаторели. Вот им и предложить стать инвесторами, если, конечно, страя добрая Англия не будет против.

     
    Там на Альгаминском рудопроявлении нужно город ставить Цирконийград. Это будет промышленной визитной карточкой Хабаровского края. Дороги туда пробить, создать инфраструктуру, вызвать из Сан-Франциско Лопатюка, закрыть его уголовное дело, и реально начать целенаправленно осваивать наш край.

    31.10.2014 16:46:53

    олух

    Про опасность для окружающей среды и для людей. Биологически цирконий не опасен. Он даже более биоинертен, чем титан, из него часто изготовляют разного рода протезы и имплантаты. Но порошкообразный цирконий очень взрывоопасен.
    В воздушной среде он самовоспламеняется при комнатной температуре и горит ярким пламенем, из-за чего его часто применяют в пиротехнике, а когда-то раньше использовали в фотовспышках. При добыче циркония, конечно, образуется пыль, но Альгаминское месторождение — это диоксиды циркония и прочих сопутствующих металлов. Они не представляют никакой опасности для природы и людей.
    А фабрика по выработке циркония, конечно, вредное производство и опасное. Но не вреднее и не опаснее золотоизвлекательных фабрик.

    31.10.2014 16:56:30

    О. Григорьев

    Циркониевый концентрат нам в основном поставляла Украина. Свой цирконий Россия добывает по-моему только на одном месторождении и то попутно. Потребность в нем действительно велика, но его очень дорого добывать. В Австралии циркониевые месторождение не глубоко залегают, а в Хабаровском крае — это глубокозалегающие пласты. Китай станет главным покупателем — он сейчас развивается. Дерзайте, ученые и чиновники.

    31.10.2014 17:06:12

    Ольга

    Лопатюк уже пожилой, да и не поедет он больше сюда, даже если посадят его бывшего друга.

    31.10.2014 17:09:13

    Павел Тихонович

    Почему у нас в Хабаровске все так трудно делается? Эти залежи циркония были известны уже многие десятки лет. И ничего не делалось. Где ж ты, советская власть?

    31.10.2014 17:20:29

    Виктор

    Не так уж давно Улканский рудный район выявлен в промышленных масштабах. Наш кандидат наук Валентин Алексеевич Гурьянов и геолог Васькин из Дальгеофизики описали все это в спецификации только в 2005 или в 2006 году. Так что, все еще свеженькое и тепленькое. Да и Альгаминское месторождение только-только прощупано реально.

    31.10.2014 17:22:16

    Светлана

    Прекрасная новость, вот новая возможность трудоустройства всех
    желающих, так что дерзайтеУлыбка

    31.10.2014 17:25:30

    Дина

    А у моей тетки сережки с циркониевыми камушками-бриллиантами. Это что такое? Кто знает?

    31.10.2014 17:54:11

    физик

    Это силикатный циркон с примесью гафния — похож на аламаз по блеску

    31.10.2014 21:24:02

    Добрая генеральша

    Если кому то интересно, то Алгаминское месторождение открыто ….цать лет тому назад. Работала там 19 партия, потом забросила. Где то лет 10 назад у них появились деньги и они наняв вертолёты привезли маргиналов и пропиленовые мешки. В эти мешки затаривалась руда для вывоза на материк, но как обычно бывает кончились деньги и затаренная руда так и осталась на Алгоме. Почему завозились маргиналы? Так это наверное связано с тем, что сам цирконий может и безопасен, но руда фонит страшно…

    31.10.2014 23:53:07

    Дальневосточник

    Такое ощущение, что попал на форум геологов. Откуда здесь столько специалистов?

    01.11.2014 23:01:11

    Елена Васильевна, 55 лет, не геолог, но и не лирик — дальневосточнику

    Я тоже удивилась, но потом поняла, что, наверное, Дебри редко публикует подобную специфическую информацию, да еще в подробностях. А читают Дебри, в том числе и умные, думающие люди, видимо, среди которых немало и тех же геологов, и геофизиков, и прочих ученых мужей. Им же нигде не дают сейчас высказываться открыто на свою тему. А политика порой уже надоедает. Наверное, поэтому любая прикладная и производственная информация всегда полезна. Конечно, в разрезе нынешнего экономического и политического состояния страны и Хабаровска. Жаль, что Дебри так редко предметно затрагивают темы науки, производства, редко касаются глубоко экономических, социальных, индустриальных проектов. Пусть их маловато сегодня, но людей-то думающих и знающих еще много осталось на Дальнем Востоке. Им, конечно, большинству, уже за 40-50, и они не сидят массово в интернете. Но это нужно, ребята. Ведь не ходят же на Дебри тинейджеры и молодой офисный планктон. Значит, есть смыслы открывать шире ворота, только без фанатизма. Готова помогать в этом Дебрям и всем другим инициативным товарищам.

    03.11.2014 14:49:23

    Злодей Злодеич

    Хорошая мысль с Циркониеградом и отправкой туда всех сокращенных, недосягаемых для Фемиды хабаровской, только не под руководством «космонавта» Хризмана, а все же пригласить на отбытие наказания без судебного следствия и приговора Лопатюка. Он в вопросе разработке недр дров не наломает. да и знает как быт на северах обустроить и порядок как поддерживать. Вообщем создать новый трест «Дальстрой» со всеми вытекающими….

    03.11.2014 19:38:46

    местный житель

    Злодей Злодеич, Не переживайте, на это месторождение уже давно «глаз положили» наши южные друзья, нефти им мало, теперь возьмутся за цирконий. А там, думаю будет чем поживиться, глядишь и на экс-полпреду, вице-президенту «Роснефти» В.Ишаеву, лакомый кусочек перепадет,  как-никак, он ведь вроде крестник семейства Бажановых? Если конечно вслед за Ю.Хризманом не пойдет…

    Привет!

    Продолжаем публиковать текстовые версии докладов с QIWI Server Party 6.0, в этом посте — Александр Прокопьев и Developer Experience. Про инструменты, их качество и развитие инструментов разработчиков в QIWI.

    Если предпочитаете формат видео, держите.

    А вот и текст.

    У меня есть любимая притча. Мужик пилит дерево. Другой к нему подходит и спрашивает: 

    — Как дела? Давно пилишь?
    — Три дня уже.
    — Что-то долго. Может тебе стоит пилу заточить?
    — Не, некогда точить, нужно дерево пилить. 

    И в IT такое бывает часто. Работаешь над какой-нибудь рутинной задачей и думаешь, что вот наверняка есть какой-то инструмент, который может автоматизировать эту работу. Но сроки горят, и мы говорим себе: «Не в этот раз». И оставляем на потом. А когда работа завершается, мы быстро забываем про эту боль. 

    Я, например, до сих пор использую старый SQL Developer для работы с базой данных, хотя все коллеги давно перешли на DataGrip. И они периодически подталкивают меня, а мне все лень. Кто-то пользуется Git-ом и никак не соберется с силами, чтобы изучить его поглубже, добавить в свой багаж более глубокие команды. А кто-то использует IDE и не изучает горячие клавиши или плагины, которые могут помочь в работе.

    Давайте посмотрим на инструменты чуть глобальнее, чем индивидуальные истории использования. Вы заметили, как быстро наши инструменты вышли за рамки одного ноутбука? Еще пять-шесть лет назад мы искали логи через SSH, заходя на сервер. А сейчас каждая уважающая себя IT-компания должна иметь что-то похожее на Kibana — без этого мы уже не можем себе представить поиск логов. Появились разные системы сборки, дашборды, инструменты для совместной работы и ревью. И за этими инструментами тоже нужно ухаживать, а не просто поставить и забыть о них на веки вечные.

    Например, Kibana. Представим ситуацию, что нам нужно найти логи одного конкретного приложения. Что делать? Для начала добавить фильтр по имени приложения. Но что если у нас слишком много приложений в Kibana, и она не может в одном списке показать все возможные варианты? Придется имя приложения, этот фильтр, вбивать вручную.

    Затем нужно добавить фильтр по environment. Нам нужен продакшн, поэтому добавляем его. И выбираем несколько полей, которые мы хотим видеть у себя, например, level и Message. В итоге получается около пяти разных операций просто для того, чтобы посмотреть логи приложения. И это нужно делать каждый раз, когда мы смотрим логи, то есть довольно часто. Плюс сюда входит ввод имени приложения вручную, которое нужно взять откуда-то из головы.

    Если кто-то решил, что можно просто взять эту ссылку, сохранить ее и использовать в будущем как пресет — это хорошо. Это как раз то, о чем я говорю. В моем понимании это и есть хоть минимальный, но все-таки уход за приложением.

    Еще один наболевший пример. Мне нужно зарелизить приложение. Код уже написан, протестирован и готов к проду. Я открыл наш TeamCity, нашел приложение, нажал на кнопку Start Deploy. И тут первый сюрприз — таска упала. 

    Но так и было задумано. Если открыть логи этой таски, можно увидеть, что там есть ссылка на тикет в Jira, в которую нужно перейти. Но там тоже ничего особенного не увидишь. Если ты прошаренный, то знаешь, что нужно дождаться, пока специальный бот придет и выделит тебе окно для релиза.

    Затем нужно поставить будильник и не забыть в это время зарелизить. Что будет, если я забуду про будильник? Да ничего страшного, конечно же. Всего лишь перенос релиза на два-три часа. А может на следующий день. Всего-то.

    Но если серьезно, когда в компании катится очень много релизов одновременно, это очень и очень плохая история — забыть про релиз. В общем, неплохо бы как-то оптимизировать этот процесс.

    Developer Experience — это то, что испытывает разработчик, когда работает со своими инструментами. Это почти то же самое, что и User Experience, о котором мы так часто говорим, когда разрабатываем какие-то интерфейсы для внешних пользователей, только для девелоперов. И от этого опыта зависит не только удовольствие от работы или просто какие-то абстрактные ощущения, но и производительность.

    Я сам страстно болею этой темой и часто пытаюсь найти узкие места, придумать какое-то решение и показать его ребятам. И я уверен, что так стоит делать. В этом посте я бы хотел порассуждать, как именно это можно делать и что делать с возникающими по ходу дела трудностями.

    Почему иногда проще попробовать сделать все самому

    Обычно для таких задач в компании принято создавать выделенные команды DevOps-инженеров. И у нас она есть. Ребята проделывают просто невероятно огромную работу для того, чтобы двигать наши IT-процессы и инструменты вперед. Без них у нас не было бы ни TeamCity, ни Kibana, ни Kubernetes, ничего. 

    А теперь давайте посмотрим на выдуманный бэклог такой команды. 

    Они хотят попробовать внедрить ArgoCD, развернуть Backstage, накатить какой-то патч с обновлением безопасности на Kubernetes. Может быть создать курс DevOps для разработчиков. А еще можно попробовать переехать на новый CI-tool. Видите масштаб этих задач? А теперь давайте попробуем сюда докинуть наших мелких хотелок, вроде упрощения поиска логов в Kibana или релизов в TeamCity.

    Они, конечно, займутся этими задачами. Но приоритет таких мелких изменений будет всегда ниже, чем у более крупномасштабных вроде обновления безопасности Kubernetes. И мы будем ждать этих изменений очень долго. А когда DevOps-инженеры все-таки дойдут до них, то скорее всего изменят формулировку до более масштабного уровня. Типа «изменение всего пайплайна релиза в прод» или «поиск нового инструмента для просмотра логов». И это значит, что на внедрение уйдет еще больше времени.

    Я думаю, что нет ничего зазорного в том, чтобы иногда брать инициативу в свои руки и пробовать самим улучшить experience и инструменты. 

    Как мы к этому шли

    Так считаю не только я один. Если ретроспективно посмотреть на историю развития инструментов в Qiwi, можно заметить множество примеров того, как сами ребята на местах брали и улучшали свои инструменты. 

    В одной из команд ребята устали каждый раз руками накатывать миграции на базу данных PostgresQL. И в прошлом году автоматизировали этот процесс, используя Liquibase. Об этом можно прочитать в статье.

    Другая история: четыре года назад у нас началась массовая миграция в Kubernetes . Представьте, для того, чтобы перевести только одно приложение в Кубер, нужно написать как минимум докер-файл и несколько YML-ов, которые позволят запустить приложение. И таких приложений много. Чтобы не писать эти файлы каждый раз вручную, мы написали небольшой скрипт, который по шаблону позволял генерировать эти файлы с помощью ответов на вопросы. Это упрощало процесс в разы.

    Со временем этот скрипт переродился в полноценный генератор приложений, который жив и сейчас. Хотя, если честно, уже немножко устарел. Но это еще один пример того, как разработчики исходили из желания улучшить свой ежедневный опыт. Все это благодаря проактивности, инициативности и творческому подходу. Это просто громкие слова, которые на самом деле очень мало чего описывают. Но я верю, что в каждой компании есть очень много таких проактивных и инициативных сотрудников.

    Я бы даже сказал, что каждый разработчик в той или иной мере проактивен. Только это не бинарная шкала: ты не можешь быть либо проактивным, либо непроактивным. Это скалярная шкала с градациями. И очень часто бывает, что идея вроде есть, проактивность есть, но всего этого не хватает, чтобы пробиться через непрерывно возникающие преграды.  

    И постепенно желание умирает. Может вы сами сталкивались с историей, когда возникает идея что-либо изменить, но тут доступов не хватает, здесь нужно пройти семь кругов согласований, и в итоге инициатива испаряется. 

    Я точно так же проходил через все эти согласования и получение доступов, и могу поделиться с вами, каково это было и что я делал, чтобы получить возможность изменить Developer Experience.

    Что делать

    Чтобы внести какое-то изменение в свои инструменты, необходимо иметь саму возможность изменять, а именно получить доступы к исходникам и конфигурации. В идеале было бы хорошо, если бы не нужно было согласовывать каждое маленькое изменение с кучей менеджеров. Я понимаю, что мир не так удобен, как хотелось бы, и скорее всего, у вас не будет легкого доступа к конфигам. А также возможности избежать потока согласований.

    Но есть небольшие лайфхаки. 

    Для начала будет неплохо, если вы сами пойдете и попросите доступ к инструменту, который вы хотите изменить. Это может показаться наивным, но вдруг окажется, что просто раньше никто не просил? Вдруг эти ворота открыты, и нужно только постучать?

    Скорее всего, конечно, нет. Но если разговор об этом зайдет, то скорее всего вам скажут что-нибудь вроде «мы не дадим доступы, потому что ты все поломаешь». И действительно, это важный аргумент. Ведь дело касается инфраструктуры — это важная штука, повредив которую, вы подвергаете всю компанию серьезной угрозе. 

    Но в то же время это всего-лишь повод задуматься о том, как минимизировать риски.

    Можно сказать, что вы будете проводить каждое изменение через строгое ревью ответственных людей. Это вполне полезная штука, и стоит так делать всегда, не только когда вы дорабатываете инструменты. Также можно договориться о том, что вы не будете раскатывать это изменение на всю компанию, а ограничитесь только своим продуктом, проектом, командой. 

    Также стоит делать упор на то, что это эксперимент. Может случиться так, что эксперимент не удастся. Поэтому нужно заранее проговорить с ответственными людьми, DevOps-ами, о том, что если что-то пойдет не так, вы просто откатите и вернете все, как было. Это также добавит прозрачности. И еще стоит проговорить критерии успешного результата, то есть definition of done, о котором писал мой коллега Никита. 

    Все это возможно и доступно, если в вашей компании пропагандируют DevOps. Но никакой DevOps нельзя построить, если между разработчиками Devs и Ops есть кирпичная стена, в которой просто прорублены маленькие форточки в виде инструментов. Я думаю, что стоит приводить этот аргумент: возможно, он сработает, и вам станет проще продвигать свои идеи. 

    Другой вопрос — где взять время на это все. Если вы не работаете в специально выделенной команде, то явно придется совмещать свои изыскания с основными задачами, поступающими от руководителя, продакт- или проджект-менеджера. Но в целом это похоже на работу с техдолгом, только вместо возврата взятого когда-то долга получается работа на опережение. Мы скорее думаем о том, как в будущем мы могли бы избежать появления техдолга.

    В Qiwi для работы с техдолгом есть правило 20%. Думаю многим из вас оно знакомо, и у кого-то это 10%, у кого-то 15%, И каждый из нас знает, что это правило нифига не работает. В непрерывном потоке основных задач очень сложно выделить время для работы над какими-то техническими задачами, библиотеками или инструментами. Да и руководители обычно заинтересованы в решении сиюминутных проблем, а не чего-то эфемерного.

    Так делать-то что?

    Обычно мы заходим к руководителю или продакт-менеджеру со словами о том, что надо пофиксить какой-то инструмент. Зачем? Если этого не сделать, будет плохо. Кому будет плохо? Нам плохо. Потому что в коде есть не очень хороший кусок. А дальше по этому сценарию обычно следует конфликт. Ведь менеджеру продукта сложно поставить себя на ваше место. Он, скорее всего, не понимает, в чем проблема, зачем вы к нему пришли.

    Еще один момент —  бывало такое, что я брал техническую таску и бросался в нее с головой. Без плана, без критериев завершения задачи. Ведь она техническая, я знаю, что делаю, возьму и затащу ее. Зачем мне эти выдумки. Проходит неделя, две, и вроде бы есть результат. Но сказать, что решение внедрено, нельзя. А может я его внедрил, но оно оказалось не очень-то нужным. И от этого пыл угасает, и в следующий раз уже не хочется опять включаться в переговоры с продакт-менеджером.

    Позже я понял, как важно применять к техническим задачам такие же правила, какие мы применяем к бизнесовым. Важно говорить с продакт-менеджером и любым другим менеджером на его языке. Вместо «все будет плохо» лучше сказать что-то вроде «эта проблема принесла нам убытки». И если эту проблему решить сейчас, она больше не повторится. 

    При этом важно самому здраво оценивать необходимость решения задачи, которую вы пытаетесь тащить. Это позволит в будущем избежать ощущения ненужности проделанной работы. И не забывать задавать критерии, по которым вы поймете, что задача сделана и цель достигнута, то самое definition of done, а также сроки. Если таска большая, стоит разделить ее на несколько этапов и определить дедлайн для каждого. То есть работать точно так же, как если бы это была бизнесовая задача от менеджера.

    Все это сделает процесс работы над техническими задачами прозрачнее и для вас, и для менеджера. И даст обеим сторонам понимание, что вы делаете только то, что действительно необходимо, и что вы можете доверять друг другу. 

    Выводы

    Я раньше смотрел на все эти большие корпоративные тулы типа GitHub, TeamCity и Kibana, и сторонился их. Казалось, что нужно обладать недюжей компетенцией, чтобы влезть и что-то в них поправить. Позже для меня открылось, что можно смотреть на эти инструменты шире и найти более простой путь для воплощения своих идей в жизнь. Вы же не изучаете Git до уровня хранения данных в файловой системе, чтобы применить какой-то алиас. Вы просто смотрите на популярные команды и сохраняете их в алиасы.

    Точно так же и с крупными инструментами. Иногда вместо глубокого погружения в инструмент можно просто написать логин к ним или небольшое приложение, которое будет использовать внешний API. Или написать бота в Telegram, который будет автоматизировать рутинные ежедневные операции.

    В том же кейсе с Kibana. Там приходилось совершать много действий для того, чтобы найти логи приложения. А что если просто взять и написать расширение для браузера, которое будет совершать те же самые клики за вас и позволит искать приложения из списка? В случае с релизами в прод идеальным решением был бы пересмотр вообще всего пайплайна релизов, но это долго, и, наверное, это не по силам сделать одному разработчику. Но почему бы вместо этого не написать бота, опять же, в Telegram, который будет напоминать вам о назначенном релизе?

    Пока это просто мысли, идеи того, как я сам улучшил бы эти истории. Возможно, у вас возникли какие-то свои мысли, как это можно пофиксить более правильно и более просто. Если это так — отлично. Большие инструменты могут выглядеть устрашающе, но если проявить творческий подход и посмотреть шире, можно увидеть очень много возможностей.

    Весь этот рассказ не только для того, чтобы рассказать, как хорошо у нас в QIWI и что мы делаем для того, чтобы развивать инструменты. Нам еще есть к чему стремиться. Этот пост еще и для того, чтобы вы взглянули на свои процессы. Попробуйте копнуть глубже в инструменты, и, возможно, увидите, что из них можно вытянуть больше. Не только повысить удобство, но и качество работы, производительность.

    Давайте работать над тем, чтобы улучшать свой experience. Попробуйте наточить пилу, и, возможно вы увидите, что ваша работа стала эффективнее и приятнее.

    Украина. Одесса. ЦС «Черноморец»
    Украина — Болгария 1:1
    Голы: Степаненко, 79 — Кирилов, 35
    Украина: Бущан (Ризнык, 46), Матвиенко, Тымчик, Соболь (Коваленко, 68), Кривцов, Зинченко, Зубков (Цыганков, 61), Малиновский (Гармаш, 78), Сидорчук (Степаненко, 46), Довбик (Яремчук, 46), Ярмоленко
    Тренер: Александр Петраков
    Болгария: Михайлов (Вуцов, 46), Христов, Димитров, Йорданов (Турицов, 15), Р.Цонев (Чочев, 61), Велковски, Б.Цонев (Костадинов, 70), Неделев, Кирилов, А.Илиев (Минчев, 46), Десподов (Янков, 69)
    Тренер: Ясен Петров
    Предупреждён: Турицов, 24

    Первый опасный момент украинцы создали уже на 35-й секунде встречи: Ярмоленко пролетел по правому флангу, обыграл защитника и от лицевой здорово подсек через головы группы игроков прямо на бутсу набегающему слева Зинченко. Александр пробил в касание, в газон, а рикошет ушел над перекладиной. Упал Зинченко на колени, схватился за голову, а улыбающийся Ярмоленко подбодрил – хорошо открылся, нормально всё.

    Тут же огрызнулись болгары. Огрызнулись забросом из центрального круга через головы центрбеков чуть во фланг на Десподова, с острого угла Кирил бить не решился, а передачу в район одиннадцатиметровой отметки на Илиева перехватил-выбил Соболь. Тут же – еще один обостряющий, но безадресный прострел, затем – заработанный угловой, подача и вынос Матвиенко.

    И вновь Ярмоленко, вновь обыгрыш и подача справа, вновь Зинченко, но уже не бутсой, а головой. Справедливости ради – мяч высоковато для Александра шел, еле достал, ну и, соответственно, слабенько ткнул, в перчатки голкиперу. Смех смехом, но и третий момент сборной возник после индивидуальной работы Ярмоленко, который вновь раскачал визави, перебросил мяч на левую ногу и подсек на линию вратарской. Где Зубков, в борьбе с Йордановым, все же прорвался на ударную позицию, успел вставить голову, но в створ не попал. Правы защитник болгарской сборной, к слову, повреждение в этом эпизоде получил, заменился на Турицова.

    А пока замена готовилась, украинцы в большинстве еще пару моментов создали. Довбик отлично зацепился за мяч в передней линии, сбросил Зубкову влево, тот набрал скорость, резко убрал под себя, сбросил «защитника», пробил в створ с расчетом на отскок от перчаток голкипера, но Зинченко на подборе «засандалил» в Радослава Цонева.

    Атака, между тем, продолжается, Соболь плечом прерывает вынос, и Сидорчук переводит на правый угол штрафной. Где Ярмоленко пяткой подключает Тымчика, Александр простреливает на Довбика, Артем в касание отправляет в сетку, но… Офсайд. И лайсмен прав – в момент передачи форвард украинцев забрался в положение вне игры. И лишь после этого вышел Турицов, уравняв составы.

    Простреливает справа Тымчик, набежавший Зинченко пробивает метров с 12-ти в касание и… сигнализирует арбитру о попадании мяча в руку защитнику. Повтор фиксирует, что Александр имеет основания, но VAR нет, арбитр не успевает заметить, и потому момент «заигран».

    Украинцы продолжают атаковать. Рвется в штрафную слева Зубков, Турицову приходится фолить уже на линии штрафной ценой предупреждения, а Малиновский со стандарта пробивает над перекладиной. В следующей атаке смещается к центру и стучит в створ Зубков, Михайлов парирует, а Андрея Ярмоленко к отскоку не пускает Велковски – успевает в падении выпихнуть в бровку.

    После получаса встречи темп немного спадает, поскольку создавать непрерывное давление несколько энергозатратно, и в момент этой «аритмии» украинцы пропускают. Перед этим, кстати, сами упускают очередной шанс, когда Тымчик жестко прострелил справа, Довбик вставил бутсу в борьбе с защитником, мяч крутанулся в ближнюю «девять», но Михайлов успел выбросить перчатку, цапнуть.

    И вот после этого пропустили. На ровном месте. Матвиенко, выбивая, неудачно попал по мячу, тот срезался «свечой» Николаю за спину, куда первым подскочил Тымчик. Подскочил и… не поставил нормально корпус. Лучше б уж выбил куда-нибудь за боковую или за лицевую, ей-ей. Но не выбил. И выпустил из-за спины Кирилова, который «положил» корпус и пробил в створ — 0:1.

    Смотрите также: Гол Радослава Кирилова (Видео)

    Украинцы вновь атакуют, вновь создают. Зубков хватает мяч на левом фланге, тянет в центр и в штрафную, проходит мимо трех игроков, отдает Довбику, тот ставит корпус, сбрасывает обратно в темп, Зубков бьет метров с девяти… И удар блокирует прилетевший справа в отчаянном подкате Велковски. Ну и ну. А камера выхватывает в VIP-ложе улыбающегося и качающего головой Блохина.

    Отдает слева в центр Соболь, Довбик сбрасывает влево в освободившуюся зону на Зубкова, тот простреливает, но Велковски вновь выручает, опережая Ярмоленко во вратарской. С отскока пробивает Тымчик – выше ворот. Тут же, в следующей атаке – еще шанс. Уже Тымчик простреливает слева на ближнюю штангу, мяч попадает в колено Довбику и отскакивает не в ворота, а за лицевую.

    Грузит слева на дальний угол вратарской Соболь, но Ярмоленко уже настроился пробивать в прыжке бутсой и не успевает оттолкнуться, чтобы «нырнуть» вперед ударом головой. Хозяева зарабатывают угловой чуть ближе к правому флангу, метрах в 23-х от ворот, Малиновский крутит через стенку, но и над перекладиной.

    И уже в добавленное время – дважды выручает Михайлов! Малиновский здорово разворачивается с мячом на своей половине поля, проскакивает двух игроков и тут же загружает лихую диагональ на Зубкова. Тот подхватывает, «качает» опекуна, пробрасывает в штрафную на ход Зинченко, Александр бьет в створ – Михайлов выручает. Вновь коленом в упор добивает с отскока Довбик – болгарский голкипер успевает выбросить вверх перчатку и парировать!

    На второй тайм в рамках ротации у хозяев вышли три свежих игрока – Довбика на острие сменил Яремчук, Сидорчука в опорной зоне – Степаненко, а Бущана в воротах – Ризнык. И тут же – два опасных удара по воротам болгар. Сперва Зинченко протащил по левому флангу, воспользовался тем, что Зубков, Яремчук и Ярмоленко «увели» с дороги защитников, и спокойно стукнул в дальний угол – стойка! Тут же – Зубков справа отдал Яремчуку, Роман развернулся с мячом, подработал и пробил с полукружья – рядом со штангой.

    Вновь ответ гостей. Вновь опасность в результате недопонимания Матвиенко и Тымчика. Сперва украинские защитники не выдержали линию, Александр оказался «выше» Николая и получил себе за ушли передачу на ход Кирилову. Тот ворвался в штрафную, подскочивший Матвиенко опередил левого вингера болгар, выбил… и попал в подскочившего Тымчика. Что за незадача… Мяч отскочил в направлении Кирилова, но тут уже Ризнык в падении подстраховал защитников, не пустил болгарского игрока к мячу.

    Далее, на душевном подъеме – пара неприятных подач в штрафную сборной Украины, когда болгары могли бы замыкать головой, но не замкнули. И вновь – опасно у ворот гостей. Малиновский со стандарта пробивает в угол – сменивший в перерыве Михайлова Вуцов вытягивает. Еще атака, на излете которой Степаненко сбрасывает головой Ярмоленко под удар, Андрей отправляет в сетку, но – офсайд. Было, было, Андрей в момент передачи был ближе к воротам.

    Украинцы продолжают атаковать, и великолепный шанс упускает Яремчук. Передачу вправо пропускает под ногой Зубков, дезориентирует защитника, и Соболь спокойно простреливает на набегающего Яремчука. Роман в касание без помех замыкает в дальгний угол и… попадает по мячу откровенно «криво», бьет в сторону от штанги. Как так? Да как и все предыдущие осечки.

    Меняет Зубкова Цыганков, танцует с мячом в штрафной Яремчук, сбрасывает на полукружье Малиновскому, тот мощно пробивает в створ – Вуцов! Украинцы забрасывают штрафную подачами, болгары в панике выносят, а хозяева в третий раз забивают из офсайда. Малиновский хорошо находит разрезающей передачей Ярмоленко, тот спокойно пробрасывает мимо подскочившего защитника и пробивает в створ. Флажок, свисток, Ярмоленко в гневе машет рукой на лайнсмена, но неправ – действительно, чуть в офсайд забрался.

    Двойная замена от Ясена Петрова, Петраков меняет Соболя на Коваленко, хавбек «Специи» уходит в центр, Зинченко смещается на левый фланг обороны, а украинцы продолжают контролировать мяч. На 73-й минуте Малиновский находит передачей Яремчука, тот ставит корпус и отлично сбрасывает в темп Ярмоленко на рывок в штрафную. Андрей пробрасывает мимо одного защитника, успевает обводящим ударом в дальний угол пробить под ногой летящего в подкате Димитрова, однако молодой голкипер болгар выбрасывает ногу и парирует!

    Подача углового, мяч находит Матвиенко, тот пробивает головой в газон, а отскок рикошетит в перчатки Вуцову. Малиновский после стандарта раскачивает на правой бровке визави, точно отдает в центр болгарской штрафной Кривцову, Сергей пробивает бутсой в касание – в голкипера. Простреливает слева от лицевой Зинченко – Вуцов выходит с «ленточки» и фиксирует в перчатки, не пуская мяч к Яремчуку.

    Меняет Малиновского Гармаш (Петраков улыбнулся Руслану, «дал пять», сказал что-то ободряющее), а украинцы, наконец, забивают — вода камень точит. Накатили справа спринтерским рывком и подачей Тымчика – отбились болгары. Подхватил Степаненко, сбросил Коваленко, тот еще «шире» — Зинченко, Александр «убрал», подал, Христов вынес головой, но… вновь на Степаненко. На этот раз Тарас «разворачивать» не стал, а попросту взял – да шарахнул в дальний угол ворот Вуцова. И попал! Отлично попал, без шансов голкиперу дотянуться – 1:1.

    Смотрите также: Гол Тараса Степаненко (Видео)

    Упускает шанс забить Ярмоленко. Зинченко грузит слева в штрафную, Гармаш мягко сбрасывает чуть правее под удар Андрею, капитан подкручивает «на точность» в дальний верхний – Вуцов в прыжке тащит.

    Хозяева атакуют, атакуют, атакуют… Много хороших переводов, обыгрышей на флангах, но вот как только последний пас в штрафную – болгарские защитники успевает броситься, перехватить. В последней фазе атаки «ищут», в основном, Яремчука, но с тем играют плотно.

    А на первой добавленной минуте приходит черед не забивать Коваленко. Началось все с неточной передачи Виктора на Зинченко. Защитник перехватил, попытался вывести, но набежал Коваленко, выгрыз. Прорвался до лицевой, отдал в центр в направлении Яремчука, защитник в полушпагате успел вытолкнуть из-под ног Романа. И вытолкнуть прямо на подтянувшегося к чужой штрафной Кривцова. Сергей отдал вправо Ярмоленко, Андрей сместился с точной передачей на дальний угол вратарской на бутсу Коваленко, а Виктор… Умудрился «щечкой на точность», ударом в упор, выше перекладины шарахнуть. За головы схватились все, не только сам игрок.

    Украинцы не успокаиваются, болгары «плывут», следующая же атака – вновь шанс. Зинченко слева отдает в центр Коваленко, тот скидывает Гармашу и врывается в штрафную. Денис в касание возвращает, Виктор отдает Яремчуку, Роман разворачивается с мячом вокруг своей оси и «вокруг» двух защитников, бьет в левый от Вуцова угол – голкипер переводит на угловой! Мяч, похоже, в штангу уходил, а рядом стоял совершенно свободный Ярмоленко, в радиусе пяти метров никого вокруг не было. Андрей так и застыл с руками в жесте «сюда ж покати!» Роман лишь за голову схватился.

    Зинченко подает угловой, Гармаш — первый на мяче, но в борьбе пробить в створ Денису не дают. Время поджимает, Степаненко грузит в переднюю линию, вынос головой защитника подбирает Яремчук, сбрасывает вправо Ярмоленко, тот подключает Тымчика, Александр подсекает от лицевой через толпу игроков прямо на набежавшего Зинченко. Тот в прыжке ловит мяч на подъем бутсы, мяч рикошетит от ноги Костадинова, но никто не успевает добить.

    В последней атаке на четвертой добавленной минуте чуть забирается в офсайд справа Ярмоленко, Вуцов не спешит вводить мяч, и как только вводит – турецкий арбитр дает свисток. Всё, болгары могут выдыхать, ничья 1:1.

    Смотрите также: Видеообзор матча

    Эмоции матч оставил положительные. Даже дикое количество нереализованных моментов (честно говоря, с ходу и не приходит в голову, когда в последний раз столько создавали) в плюс пойдет – лучше на Боснию с Герцеговиной приберечь. Футболисты, тренеры и болельщики – суеверный народ, уверенно скажут, что лучше так, чем набросать пять-шесть болгарам и не «оставить» ничего на важнейший официальный матч отбора к чемпионату мира. Главное – что? Главное – игра и опасные моменты. И того, и другого сегодня в исполнении команды Петракова хватало с лихвой.

    Что сравняли – тоже хорошо. Не сравняли бы – осталось бы у игроков чувство некоторой «недосказанности», осадок. А так – утюжили, утюжили, катком укатывали соперника в штрафной, и все же забили. «Плюс в карму». Не остановились, хотели еще, но вновь реализация подвела. Но это, как раз, не страшно – не даст почивать на лаврах, подсознательно чувствовать, что моменты можно транжирить «безнаказанно», что всё равно добавят и занесут нужное количество для победы.

    В общем, отлично и то, что сравняли, но «педагогически» полезно и то, что не вырвали победу. Психологически – «золотая середина» вышла. В психологическом плане вообще много полезного. Не пошло поначалу у Малиновского – давление после всех эти историй с вызовами и невызовами на игрока было приличным, хотелось где-то доказать окружающему миру, что важен, может по-прежнему игрой дирижировать. Не выходило поначалу, не клеилось. Но Петраков дал время, оставил на поле, Руслан разыгрался и во втором тайме уже стал похож на себя прежнего, с контролем игры в центре и обостряющими передачами. После матча с Петраковым еще раз улыбнулись друг другу, тренер вновь что-то ободряющее сказал, всё на пользу пойдет.

    Читайте також: Руслан Малиновський: «Історія з Петраковим? Там нічого не було — медіа неправильно сприйняли інформацію»

    По схеме. Петраков сыграл в четыре защитника и заставил теперь ломать голову как нас, так и тренерский штаб боснийцев. Что же будет в последнем туре отбора – «4-3-3» или «3-4-2-1»? Так или иначе – тоже польза очевидная. И в разрезе соперника запутать, и в разрезе самому посмотреть-проверить, как сборная реализует эту формацию. «Откатить» на три защитника всегда можно, это уже на предыдущих сборах впитали, но и такой вариант проверить было не лишним. Плюсы, в принципе, очевидны. Если Ярмоленко хорош и на позиции инсайда, и вингера (Андрею, с его опытом, «по барабану», как играть, везде даст джазу), то Зубкову очевидно комфортнее вингером в схеме «4-3-3».

    Комфортнее, судя по всему, и Зинченко с Малиновским, не иметь перед носом еще двух инсайдов, а иметь пространство и качественные «предложения» на фланге. Руслан, по идее, наоборот, должен быть лучше адаптирован к реалиям «Аталанты», однако в сборной как-то иначе выходит. К слову, и отсутствовавшему сегодня Шапаренко также удобнее иметь перед собой пространство для привычных проходов с мячом. Это в разрезе возможной ротации с Зинченко либо в случае перемещения Александра на позицию левого защитника.

    Это, кстати, одна из основных интриг грядущего матча в разрезе состава. Кто слева – Соболь или Зинченко? Двигать влево Александра Петраков себе может позволить, имея в обойме Шапаренко в центр. А вот кто лучше сыграет слева – большой вопрос. По матчу с болгарами определить сложно – украинцы атаковали по всему фронту, все в равной степени смещались в зоны, обостряли, и здесь следует отметить, что у Соболя передачи с фланга (как верховые, так и прострелы) шли поточнее. Но Зинченко вошел в игру на другой позиции, мог просто не перестроиться. В общем, задачка для Александра Васильевича.

    Читайте також: Олександр Петраков: «Якщо так гратимемо з Боснією і Герцеговиною, то потрапимо на чемпіонат світу»

    В остальном, вроде, все понятно. Плюс-минус. Место Ярмоленко справа сомнению не подвергается, Зубков слева также проявил себя отлично, в опорной зоне, скорее, следует ожидать Степаненко, а дальше – как схема ляжет. Если в три центрхава, то Малиновский. Если в три защитника – то Петраков станет перед выбором: Руслан или Зубков. Очевидно, что при «4-3-3» за счет «лишнего» центрбека остается место на поле еще одному креативному центрхаву.

    Если же сборная сыграет по привычной для Петракова схеме с тремя центрбеками, то к Кривцову и Матвиенко добавится Забарный. Если в четыре защитника, есть мнение, что тренерский штаб предпочтет Сергею более молодого и мобильного Илью, с лучшим первым пасом. Место Матвиенко, понятно, сомнению не подвергается. Здесь, правда, есть опасения по второму этажу, поскольку боснийские стандарты – штука неприятная. Ну, тут выбирать придется. Так или иначе.

    Читайте також: Андрій Ярмоленко: «Рахунок 1:1 останнім часом нас переслідує»

    Ну, и форвард. Довбик провел хороший матч, отлично работал корпусом, толково сбрасывал в темп, находил свободные зоны под фланговые передачи, но присутствует ощущение, что Петраков все же доверится более опытному Яремчуку. Однако, форвард «Днепра-1» четко показал: ему есть, что предложить команде при выходе на замену.

    Рискну, наверное, предположить и схему, и состав, с учетом текущей кадровой обоймы исполнителей под рукой у Петракова. Сборная больше выиграет кадрово, сыграв сегодняшние «4-3-3», и в такой схеме найдется место следующим игрокам: Бущан – Тымчик, Забарный, Матвиенко, Зинченко – Малиновский, Степаненко, Шапаренко – Ярмоленко, Яремчук, Зубков.

    Читайте также: Нападающий сборной Болгарии: «Украина играет в феноменальный футбол»

    Ну и не будет исключать варианта, при котором Петраков все же решит довериться в центральной зоне не Шапаренко, а Зинченко. Тогда Соболь пойдет влево, а Шапаренко будет первой «опцией усиления». А усиливать придется. Чтобы не наступать на привычные уже грабли отсутствия ресурсов для поддержания темпа после перерыва.

    Потому посмотрим, что у нас есть на усиление атаки, если это будет необходимо по ходу встречи. Упомянутые выше Шапаренко либо Зинченко (один вместо другого), либо Соболь для свежести фланга с переводом Зинченко в центр. Это раз. Цыганков на один из флангов – два. Буяльский с Коваленко в центр повыше – три и четыре. Довбик на острие – пять. Гармаш, возможно. Когда нужен опыт, а физики под конец уже у всех на поле не хватает. Если опорную зону усиливать – Сидорчук. Караваев еще есть, но его взаимоотношения с Петраковым — по-прежнему загадка, так что оставим пока Александра за скобками.

    Читайте также: Вратарь сборной Болгарии: «Я не ожидал, что Украина будет на таком высоком уровне»

    В сухом остатке, на этом сборе, вроде, пять внятных замен к решающему матчу для вариативности и поддержания имеются. А игроки на некоторые позиции – равнозначны, что предполагает замену без «просадки качества». И это радует.

    Главное теперь – всё это взвесить, грамотно отмерить, взболтать, дозированно приправить по ситуации и добыть это горемычную путевку в плей-офф.

    Отворите шире ворота как пишется

    Какими пальцами ни прикасайся к святыням ностальгии, всё равно они будут недостаточно чистыми в глазах её блюстителей. А уж того, кто попытается поддеть нежную корочку послевоенных воспоминаний аналитическим инструментом, заклеймят кощунником или того хуже – постмодернистом. Алексей ТЮТЬКИН, поддавшись своей обсессии и перенеся её в текст, исследует опасные потоки фильма «Покровские ворота» и находит в нём мощные течения эротики и травмированности – течения настолько глубокие, что после чтения этой статьи вы никогда больше не сможете смеяться над шутками из трансгрессивного водевиля Михаила Козакова, не холодея при этом от ужаса и… похоти.

    Как легко поддаться соблазну и попытаться написать нечто увлекательное об алхимических опытах как фундаменте сериала «Следствие ведут знатоки» или галлюцинаторной подкладке Великой Отечественной! Требуется немного парадоксальности, таланта сводить несводимое и лёгкости письма. Такая медицинская разновидность герменевтики столь прекрасно раскладывается на ходы, что впору читать лекции «Приёмы уверенного отыскания смысла после его придумывания».

    Один недостаток: писать тексты такого стиля интересно, читать – не очень. Причина этого заключена в ощущении ожидаемого заранее насилия над текстом – пусть лёгкого, игрового свойства, но всё же насилия. Во время чтения приходит понимание, что реальность-то интересней, пусть зачастую и шьётся без подкладки. Но бес интерпретации неуёмен, особенно если сталкиваешься с творением, которое опознаётся интуитивно как замешанное чуточку гуще.

    Герменевтика не медицинского, а философского извода в этом случае поможет не вполне, так как знаки в таких вещах (да и в реальности вообще) двойственные. Это амфибиологические знаки, умеющие дышать и на берегу, и под водой. Если использовать герменевтику как инструмент, то результат выйдет неоднозначный и неубедительный; усмирить подозрительность интерпретатора сможет лишь обращение к бартовскому третьему смыслу (или небартовскому четвёртому).

    Отворите шире ворота как пишется

    В замечательном, разошедшемся на цитаты телефильме «Покровские ворота» (1982) есть две сцены, которые надолго оставляют в недоумении. Фильм поставлен Михаилом Козаковым ладно, актёрский состав превосходен, все остальные сцены прецизионно выверены, и подумать, что эти два эпизода сняты, так сказать, самоходом или вполсилы – невероятное дело; но почему режиссёр, оператор и актёры решили их именно так, а не иначе?

    Первая сцена – грандиозный вставной номер, хотя в этом прилагательном чудится некое оскорбление: в больничном саду молодой парень и пожилой мужчина в выходном костюме и экстравагантной шляпе упоённо исполняют песню Цфасмана про утро, бритьё и галстук в синий горошек. Их кордебалетом выступает чуть ли не пляшущий канкан ряд прооперированных людей. Казалось бы, в чём здесь странность: делающим гимнастику, умирающим от скуки, но идущим на поправку выпала нечаянная радость – побренчать на костылях джазовый мотивчик и сплясать. Сомнений такое объяснение не вызывает, но всё же в лирической комедии вид этих веселящихся забинтованных пациентов пробирает холодком и заставляет вернуться к фильму и отыскать в нём знаки, которые, не будь этой сцены, могли бы быть упущены и не прочтены.

    Отворите шире ворота как пишется

    Несомненно, в фильме «Покровские ворота» травмированность не может быть определена как тема какой-либо выраженной интенсивности, но и отмахнуться от достаточно часто встречающихся её знаков невозможно. Михаил Козаков и Леонид Зорин, вероятно, весьма иронично трактовали все эти хоботовские рассказы о Камоэнсе и Сервантесе, потерявших глаз и руку соответственно. Но именно из-за того, что травмированность (и несколько шире – смерть) не определена как чёткая тема, она становится растворённой, изредка выпадая кристаллами – эти эпизоды легко отследить по наивному вскрику Людочки.

    Лев Евгеньевич, рассказывая о том, что Артюру Рембо отрезали ногу (Людочка: «Ах! Они все как сговорились»), начинает и сам подозревать в этих поэтических судьбах какую-то загадку или закономерность (если «поэт», то непременно «травмированный»), но не сведёт их вместе до произошедшего с ним страшного и комического случая. Поэт из Хоботова, если воспользоваться его силлогизмом, весьма средний (но так сложились обстоятельства) – у него отняли всего лишь червеобразный отросток.

    Можно решиться на смелое заявление: особенный смак фильма рождают именно «растворённые» темы, которые формируют пространство, а не ведущие рассказ по плоскости из точки А в точку Б (сложность определения точечных событий роднит фильм Козакова с работами Жан-Клода Бьетта, которые движутся характерами персонажей, а не их действиями). Так, наиболее насыщенным раствором в мире у Покровских ворот является эротика.

    Отворите шире ворота как пишется

    Иногда она заявлена открыто: напористую, властную эротичность манифестирует Маргарита Павловна (как она плотоядно смотрит с балкона на Савву Игнатьевича!), аттестующая Хоботова «сексуальным маньяком», «тайным эротоманом» и вспоминающая «кокотку из скандинавской редакции, с её чувственным порочным ртом». Но если Лев Евгеньевич в приписанном ему «нездоровом влечении к женщине» вряд ли может быть уличён, то помянутые «склонности» внезапно позволяют выпасть кристаллам смысла: эротика «Покровских ворот» чистая, она утоплена в дискурсивном, знаки телесного в ней лежат ниже видимой поверхности фильма.

    Сорокатрёхлетний Хоботов с его пристрастием к юным особам (над ложем, уже занятом Саввой, висит характерная картина – на кровати обнажённая девочка с бантами и куклой) вполне мог бы написать «Людочка, свет моей жизни, огонь моих чресел. Грех мой, душа моя. Лю-доч-ка», как, впрочем, и Велюров, мечтающий о молоденькой наяде Светлане (к слову, амфибиологическая фраза Костика «Прекрасно плавает на спине» звучит соответствующе). В, к сожалению, не вошедшей в фильм сцене, в которой проявляются профессионально-садистские склонности Людочки, актриса Коренева с такой силой взаправду вонзила иглу в musculus gluteus актёра Пяткова, что он заорал почти матом.

    Отворите шире ворота как пишется

    Отворите шире ворота как пишется

    Отворите шире ворота как пишется

    Эротика фильма, конечно же, пикантная. Даже если не брать позицию «третья мещанская», то достаточно было бы одного семейства Орловичей с их мечтами о высоких отношениях, вырезанных по лекалам тройственных союзов Серебряного века. Лекция о фалековом гендекасиллабе заканчивается преувеличенно чувственным и даже захлёбывающимся чтением Брюсова: Никищихина читает о том, как предаются двойной страсти. (Дополняющий штрих – во время чтения камера выхватывает среди зрителей бледного юношу с горящим взглядом: он физиономически похож на Николая Степановича Гумилёва.) Противоречивая Анна Адамовна – «проститутка в монастыре», по меткому определению режиссёра – это даже перебор, ведь перенасыщенность вожделения может сыграть злую шутку: нужно удерживать себя в полушаге от подозрения, что долго работающий с Соевым и затем привыкший к переодеванию Велюров может «пере-квалифи-цирова-ться».

    Вся эта разнообразная эротика, порождённая радостью жизни, могла бы и приесться, если бы «растворённые» темы не пересекались многократно, и травмированность не омрачала своим присутствием. Тут впору вспомнить о второй сцене или, что точнее, небольшом жесте, который делает Леонид Броневой, напевая полечку. Следует снова подчеркнуть, что выстроенность фильма не даёт никаких прав считать этот жест импровизационным или произвольным, а его нарочитое исполнение (Велюров наигрывает безбожно, но восхитительно) требует его прочтения. Итак, странный жест: прищуриваясь и грозя пальцем, Велюров с кавказским акцентом поёт двустишие «Мой отец запрещал, // чтоб я польку танцевал», при этом подкручивая кверху несуществующий ус.

    Отворите шире ворота как пишется

    Отец, усы, кавказский акцент – образ однозначный и требующий ретроспективно пробежаться по уже пройденному фильму и понять ужас Хоботова перед врачами («Алиса Витальевна, меня зарезать хотят!» и «Я лежал на столе. Обнажённый и беззащитный. Со мной могли сделать всё, что угодно!»), его взвинченность после фразы «Пора тебя брать!» (безобидная фраза начинает звучать зловеще) и общее, пусть и неявно выраженное отвращение перед чужой насильственной волей. Действие фильма происходит в 1956 и 1957 годах, и старинные привычки ещё в ходу (Костик возвращается в родимый аквариум, но ошибается, когда говорит, что тот спит: Велюров не дремлет; фраза «Живи и радуйся, и делай, что тебе говорят» станет для многих основой жизненного уклада).

    Память пытается сохранить внутри себя только приятные вещи. Весь страх предыдущей эпохи из фильма вычищен, но он возвращается исподволь, в странном жесте или сцене. Началась эпоха разрешённой польки, но танцевать её могут лишь травмированные – с травмами различной степени тяжести, пусть в бинтах, но выжившие и преисполненные надежды. Тридцать лет спустя станет ясно, что новый мир – это всего лишь название журнала; пятьдесят лет спустя, что мечтать о том, что грядут перемены – всё равно, что догнать Савранского.

    Алексей Тютькин


  • Отзыв на рассказ лидии чарской тайна
  • От скуки дело бери в руки пословица как пишется
  • Отбой или одбой как пишется
  • Отблеск как пишется правильно
  • Особенности сюжета и композиции оригинальность инициальных и конечных формул сказок андерсена