GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [Предложение: учебник]: WeakRef & FinalizationRegistry · Issue #1898 · javascript-tutorial/ru.javascript.info

[Предложение: учебник]: WeakRef & FinalizationRegistry #1898

New issue
Copy link
New issue
Copy link
Closed
Closed
[Предложение: учебник]: WeakRef & FinalizationRegistry#1898
Copy link
Labels
suggestion: tutorial

Description

@WOLFRIEND
WOLFRIEND
opened on Oct 8, 2023
Issue body actions

Описание

В JavaScript уже с 2020го года существует такой функционал как WeakRef и FinalizationRegistry, а в других языках программирование он присутствует намного дольше. На мой взгляд, было бы здорово сделать статью по теме этого функционала.

Мотивация

Вот небольшой список причин, почему по моему мнению нужно написать об этих возможностях:

  1. В учебнике уже присутствует материал на тему WeakMap и WeakSet, но ничего не сказано о WeakRef и FinalizationRegistry. Я считаю что читателям было бы полезно знать о всех существующих возможностях слабых ссылок.
  2. В списке issues уже существует запрос о написании материала на данную тему: WeakRef tutorial en.javascript.info#2831. То есть, есть спрос от пользователей.
  3. Это довольно редкая тема о которой многие разработчики даже не знают, не говоря уже об использовании. Было бы замечательно расширить общие знания, тем самым дав им стартовую точку для их собственных идей и реализаций. Как минимум, заложив базовые знания о существовании данных возможностей.
  4. Я, как автор данного issue, был бы рад помочь и взяться за написание данного материала. На самом деле информации об этом функционала и о том, как его использовать, не так много, но мне все равно есть о чем написать, есть опыт выступления конференции для разработчиков по данной теме и у меня есть демо-версия, показывающая, как это работает. Пускай материала будет и немного, но я думаю это будет отличной "отправной точкой" для познания этой темы.
  5. Я бы мог написать данный материал на трёх языках: Eng, Rus, Ukr.

Пожалуйста, дайте мне знать, как я могу внести свой вклад и сделать это?
На всякий случай вот мои контакты:
LinkedIn: https://www.linkedin.com/in/aleksandrtkaченко/
Электронная почта: [email protected]

Готовы ли вы принять участие в реализации данного предложения?

Да, я готов(а) принять участие.

Activity

  1. WOLFRIEND
    added
    suggestion: tutorial
    on Oct 8, 2023
  2. Alexandre887 commented on Oct 8, 2023

    @Alexandre887
    Alexandre887
    on Oct 8, 2023
    Member
    More actions

    Добрый день.

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

    1. Нужно определить расположение данного материала: я больше склоняюсь к статье «Сборка мусора», там, скорее всего, информация о WeakRef и FinalizationRegistry будет более уместна.

      Ещё есть вариант с добавлением материала в статью «WeakMap и WeakSet». Если же информации по итогу получится слишком много, можем также вынести её в отдельную статью.

    2. Стиль написания текста.

      • Текст не должен быть слишком формального типа изложения. Посмотрите другие статьи на сайте, можете брать из них какие-либо определенные фразы и выражения, старайтесь придерживаться примерно такого же стиля.
      • Когда описываете какой-либо пример кода, используйте «мы», «нам», «у нас» и т.п. Например: «в коде выше мы воспользовались методом [...]»;
      • Когда советуете что-либо читателю: «Не используйте в этом примере метод [...]»; «Если вы пишете код в [...], используйте [...]»
      • Старайтесь избегать очень длинных предложений, разделяйте их по смыслу переносами строк:

      image

      • Обращение к читателю — на «вы», всегда с маленькой буквы (только если это не начало предложения).

      Подробнее здесь.

    3. Так как WeakRef и FinalizationRegistry — это очень узконаправленные возможности языка, приведите хотя бы по два примера из реальной жизни на каждый из них: в каких ситуациях они действительно полезны, где их будет сложно заменить чем-либо другим. У читателя не должно складываться впечатление, что это бесполезные структуры.

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

    4. Вся остальная необходимая информация для написания статей находится в Руководстве по редактированию учебника.

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

    Как закончите работу — отправьте в этот репозиторий Pull Request (как это сделать, написано в руководстве, ссылку я привёл выше). После того, как примем правки в русской версии учебника — сможете перевести их и отправить в репозитории английской и украинской версий.

    На этом этапе есть вопросы?

    Reacted by Oleksandr Tkachenko
  3. WOLFRIEND commented on Oct 8, 2023

    @WOLFRIEND
    WOLFRIEND
    on Oct 8, 2023
    ContributorAuthor
    More actions

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

  4. Alexandre887
    added
    work in progress
    on Oct 8, 2023
  5. WOLFRIEND commented on Oct 12, 2023

    @WOLFRIEND
    WOLFRIEND
    on Oct 12, 2023
    ContributorAuthor
    More actions

    Здравствуйте.
    Хочу сообщить вам, что я закончил своё написание статьи и уже сделал Pull Request:
    #1899

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

    Вот несколько комментариев по проделанной работе, которые могут быть полезны:

    • Я создал отдельный раздел для этой темы, так как по моему мнению материала получилось вполне достаточно. Поэтому в изменениях Pull Request показывается большое количество изменённых файлов. Но большее их количество это всего лишь их перемещения (что б сохранить порядковые номера папок). По факту, всё что было добавлено мной, находится в папке: 1-js/05-data-types/09-weakref-finalizationregistry/.
    • Я видел инструкцию по переводу текста в картинках, но я так и не смог понять как именно вы создавали подобные картинки. Возможно вы использовали какие-то инструменты для этого. В моей статье также присутствуют некоторые диаграммы, для этого я использовал сервис https://app.diagrams.net/. Старался придерживаться тех же цветов что и в учебнике. Если необходимо, могу предоставить ссылку на исходный файл с диаграммами. Так как не совсем понятно как происходит механизм смены цвета при изменении темы оформления сайта.
    • После вашего рассмотрения, одобрения и утверждения финальной версии, готов приняться за дальнейший перевод на ENG и RUS.
    Reacted by Aleksandras
  6. Alexandre887 commented on Oct 13, 2023

    @Alexandre887
    Alexandre887
    on Oct 13, 2023
    Member
    More actions

    В течении следующей недели постараюсь рассмотреть ваш PR и прислать правки, если требуются. Спасибо.

    Reacted by Oleksandr Tkachenko
  7. Alexandre887 commented on Oct 31, 2023

    @Alexandre887
    Alexandre887
    on Oct 31, 2023
    Member
    More actions

    Здравствуйте.

    Статья опубликована по ссылке https://learn.javascript.ru/weakref-finalizationregistry.

    Сейчас я советую вам где-то в течении недели понаблюдать за секцией комментариев под статьёй: возможно, кто-либо заметит неточность, либо же будет где-то не совсем понятно. В таком случае, вы сможете отправить исправляющий Pull Request или попытаться объяснить более доходчиво, ответив на комментарии. Далее сможете перевести материал на другие языки и отправить по соответствующим репозиториям.

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

  8. WOLFRIEND commented on Oct 31, 2023

    @WOLFRIEND
    WOLFRIEND
    on Oct 31, 2023
    ContributorAuthor
    More actions

    Спасибо большое за вашу помощь.
    Буду продолжать работать над переводом.

  9. Alexandre887
    removed
    work in progress
    on Oct 31, 2023
  10. Alexandre887
    closed this as completedon Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    suggestion: tutorial

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.