Category : javascript

javascript
Почему typeof null === «object» в современном прочтении

Задача унарного оператор typeof возвращать строковое представление типа операнда. Другими словами, typeof 1 вернет строку "number", а typeof "" вернет "string". Все возможные значения типов, возвращаемых оператором typeof изложены в спецификации ECMA-262 - 13.5.1. По задумке, возвращаемое, оператором, значение должно соответствовать принятым в той же спецификации типам данных. Однако, при детальном рассмотрении, можно заметить, что typeof null должен возвращать "obj…

  • пятница, 5 января 2024 г. в 00:00:12
javascript
Может ли нейро-сотрудник на базе ChatGPT звонить по обычной телефонной линии?

Фото получено через DALL·E 3 по запросу “сгенери мне фото для статьи в которой роль ChatGPT звонит по телефону потенциальному соискателю на вакансию и определяет модель личности по Адизесу”ВступлениеChatGPT - LLM модель от компании OpenAI и без преувеличения это главное событие в мире в прошедшем 2023 году.Весь 2023 год я участвую в создании платформы нейро-сотрудников на базе ChatGPT и вот наконец-то мы подошли к очень интересной задаче:Что, если дать нейро-сотруднику возможность отвечать по…

  • четверг, 4 января 2024 г. в 00:00:11
javascript
Сайт с поддержкой markdown на GitHub-Pages платформе

Хочу рассказать о своём новом (хотя существует уже почти 3 года) сайте egaxegax.github.io, после закрытия предыдущего сайта egaxegax.appspot.com на хостинге Google App Engine в начале 2021 года. О нём я писал в статье Cайт на Django-nonrel на платформе Google App Engine для Python. Эта статья рассчитана на тех, кто хочет узнать или получить простой сайт с возможностью добавления и правки контента на основе создания markdown-постов.Сайт egaxegax.appspot.com просуществовал 10 лет на хостинге GA…

  • среда, 3 января 2024 г. в 00:00:19
javascript
Что такое react-afc

react-afc - библиотека для более простого (чем в простом react) уменьшения количества ненужных ререндеров дочерних компонентов.Задачи и применениеВ обычном react функциональный компонент вызывается каждый раз когда изменяется его состояние или пропсы, что вызывает повторное создание всех callback'ов и переменных.Так как передаваемые данные из предыдущего и текущего рендера не равны, это порождает ререндер дочерних компонентов.примерФункционал компонента не несёт конкретного смысла. Просто …

  • вторник, 2 января 2024 г. в 00:00:14
javascript
JavaScript классы в Es6

В JavaScript нету привычной системы классов как в Java, или C#. В языке заместо этого есть система объектов, где каждый объект наследуется от другого, сохраняя его цепь прототипов. Однако мы имеем возможность писать более привычный код начиная с версии Es6.1. Объявления классаДля того чтобы объявить класс, нужно воспользоваться ключевым слово class.class Animal { }После ключевого слова идёт название класса. Название можно не записывать - если мы объявляем класс через переменную. Чтобы созда…

  • воскресенье, 31 декабря 2023 г. в 00:00:13
javascript
2d движок для игр Javascript Game Engine (JsGE)

Любая игра представляет собой набор файлов: изображений, звуков и.т.д. и программы, которая эти файлы воспроизводит по заданным алгоритмам. Звуки проигрываются, а изображения обрезаются в нужных пропорциях и воспроизводятся на экране в нужном порядке, как в кино, или мультипликации с той лишь разницей, что тут процессом можно управлять, используя прикладные интерфейсы — клавиатуру, мышь, джойстик, экран мобильного телефона и т.п. Управлять, не значит только переключать сцены, а управлять актер…

  • суббота, 30 декабря 2023 г. в 00:00:16
javascript
Typescript ENUM — баланс использования

Привет Всем. Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript. В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно использовать, а когда нет. Перечисления бывают числовыми и строковыми. Например, представим в виде перечисления должности работников кафе. Рассмотрим перечисления с числовыми значениями:Каждому элементу перечисления соответствуе…

  • пятница, 29 декабря 2023 г. в 00:00:26
javascript
Python без типов: таким он когда-то был

О типизации в Python сказано уже очень много. Если вам выпало сомнительное удовольствие поработать со мной, то вы, вероятно, в курсе, насколько скептически я отношусь к типизации в Python. Причины тому – сложность синтаксиса, mypy еле ползает, реализация языка в принципе переусложнена, а взаимодействовать с ним зачастую неудобно. Сегодня я не буду упирать на эти детали, а хочу пригласить вас в небольшое путешествие в прошлое и рассказать, каковы были мои первые впечатления от работы с Python. …

  • пятница, 29 декабря 2023 г. в 00:00:25
javascript
DagazBot — Хранитель ключей и мётел

История проекта Dagaz прошла у вас перед глазами. Когда я только начинал писать про Zillions, главным возражением было то, что платформа эта платная и запускается только под Windows. Появился Dagaz — полностью бесплатный проект с открытой лицензией и общедоступным исходным кодом, игры которого можно запускать из браузера, даже на мобилках. Блокирующим фактором стало отсутствие адекватных ботов. Пришлось осваивать GarboChess и разрабатывать DagazServer, на котором игроки могли бы играть по сети…

  • пятница, 29 декабря 2023 г. в 00:00:24