Как стать автором
Обновить
147.89

JavaScript *

Прототипно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Может ли нейро-сотрудник на базе ChatGPT звонить по обычной телефонной линии?

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.2K

Продолжаем создавать нейро-сотрудников на базе ChatGPT и пробовать их в разных каналах коммуникаций.

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

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Комментарии 4

Новости

Сайт с поддержкой markdown на GitHub-Pages платформе

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.1K

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

Читать далее
Всего голосов 13: ↑3 и ↓10 -7
Комментарии 4

Что такое react-afc

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 6.2K

react-afc - библиотека для более простого уменьшения количества ненужных ререндеров дочерних компонентов.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 24

JavaScript классы в Es6

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 4.1K

В JavaScript нету привычной системы классов как в Java, или C#. В языке заместо этого есть система объектов, где каждый объект наследуется от другого, сохраняя его цепь прототипов. Однако мы имеем возможность писать более привычный код начиная с версии Es6.

Читать далее
Всего голосов 16: ↑4 и ↓12 -8
Комментарии 6

Истории

2d движок для игр Javascript Game Engine (JsGE)

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 4K

Привет всем. Меня зовут Артурас, я пишу на Javascript. Полтора года назад я уволился из оффшорной компании и решил написать свой движок для браузерных 2d игр. Сегодня - делюсь результатами.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 14

Перевод третьей части учебника Patterns.dev

Время на прочтение 1 мин
Количество просмотров 4.2K

И снова всем привет! Продолжение к переводу второй части книги Patterns.dev

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

Напомню, что авторы Patterns.dev:
Лидия Холли — штатный консультант и преподаватель по разработке программного обеспечения, которая в основном работает с JavaScript, React, Node, GraphQL. Она также занимается наставничеством и проводит личные тренинги.
Эдди Османи — технический менеджер, работающий над Google Chrome. Его команды работают над такими проектами, как Lighthouse, PageSpeed ​​Insights, Chrome User Experience Report и другими.

Материал книги будет полезен не только React‑разработчикам, но и всем, кто так или иначе интересуется или сталкивается с frontend‑разработкой. Это ознакомительная часть перевода учебника https://www.patterns.dev/. Перевод всей третьей части учебника можно найти здесь.

P. P. S.: Третья часть взята из книги: https://www.patterns.dev/, переведена на русский язык. Книга находится под лицензией CC BY-NC 4.0

Данный адаптированный материал распространяется на условиях лицензии Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 0

Типы событий в React и TypeScript

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 4.7K

При работе с React и TypeScript вы часто сталкиваетесь с подобными ошибками:

const onChange = (e) => {}; // Parameter 'e' implicitly has an 'any' type.

<input onChange={onChange} />;

Не всегда понятно, какой тип следует присвоить пременнойe внутри функции onChange.

Это может произойти с onClick, onSubmit или любым другим обработчиком событий, которые получают элементы DOM.

К счастью, есть несколько решений:

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 4

Бинарный поиск

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 4.8K

В этой статье мы познакомимся с бинарным поиском с примером на JavaScript, а так же сравним бинарный поиск и линейным.

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Комментарии 11

Увлекательный мир фронтенда

Уровень сложности Простой
Время на прочтение 16 мин
Количество просмотров 7.8K

Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»

Каждый новый проект во фронтенде — это как уникальный набор лего, и ты никогда не знаешь, какие интересные вызовы подкинет он на этот раз. 

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 12

Css «карточки» в динамически генерируемом web документе — моя реализация

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 3.3K

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

В данном случае - страница настранивается с бэк-енд админки (Processwire CMS) и потенциально может иметь боковую панель (произвольной ширины), может и не иметь. А возможно в дальнейшем и вторую панель кому захочется прикрутить (old school) на широких экранах.

Главная секция (main content) состоит из наших конструкторских чудо-карточек, о ней то речь и пойдёт.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 10

DagazBot — Хранитель ключей и мётел

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 661
История проекта Dagaz прошла у вас перед глазами. Когда я только начинал писать про Zillions, главным возражением было то, что платформа эта платная и запускается только под Windows. Появился Dagaz — полностью бесплатный проект с открытой лицензией и общедоступным исходным кодом, игры которого можно запускать из браузера, даже на мобилках. Блокирующим фактором стало отсутствие адекватных ботов. Пришлось осваивать GarboChess и разрабатывать DagazServer, на котором игроки могли бы играть по сети друг с другом. Это стало большим шагом вперёд, но на сервере требуется авторизация, а логины и пароли — это как раз то, что забывается легче всего. Счастлив сообщить, что теперь их запоминать не надо.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 3

Python без типов: таким он когда-то был

Время на прочтение 5 мин
Количество просмотров 7.3K
О типизации в Python сказано уже очень много. Если вам выпало сомнительное удовольствие поработать со мной, то вы, вероятно, в курсе, насколько скептически я отношусь к типизации в Python. Причины тому – сложность синтаксиса, mypy еле ползает, реализация языка в принципе переусложнена, а взаимодействовать с ним зачастую неудобно. Сегодня я не буду упирать на эти детали, а хочу пригласить вас в небольшое путешествие в прошлое и рассказать, каковы были мои первые впечатления от работы с Python. Почему? Потому что я думаю, что существует фундаментальный и глубокий конфликт между формообразующей философией Python и концепцией типизации. Причём, этот конфликт не нов.
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 12

Typescript ENUM — баланс использования

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 3.2K

Привет Всем.

Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript.

В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно использовать, а когда нет.

Перечисления бывают числовыми и строковыми. Например, представим в виде перечисления должности работников кафе.

Рассмотрим перечисления с числовыми значениями:

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 3

Ближайшие события

Кодогенерация и парсинг TypeScript с помощью typescript

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 3.8K

Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация тела запроса, ответа, query параметров и тд.). В npm есть модули, генерирующие сервисы для работы с api на основе openapi, graphQl схем и тому подобное, и обычно возможностей существующих модулей хватает для решения большей части задач.

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 4

Hippotable — анализ данных прямо в браузере

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 3.9K

Сегодня я расскажу про hippotable — удобный инструмент для анализа данных. Мне часто нужно поковыряться в датасете среднего размера (1–100 Мб), чтобы ответить на довольно простые вопросы. Ни один из существующих инструментов (bash, google sheets, jupyter + pandas) не показался мне особо подходящим для такой задачи, и я... решил сделать свой! Хотел поделиться результатом, показать пару интересных JS-инструментов для обработки и отображения данных, и рассказать, как дальше планирую развивать продукт. Запрыгивайте, будет интересно.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 13

Фронтенд-дайджест 2023

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 3.4K

Привет, Хабр! Я Софья, фронтенд-разработчик в одном из департаментов Тинькофф. Из года в год наша большая фронтенд-команда растет, ставит эксперименты и обменивается опытом. Уходящий год богат на достижения, поэтому мы решили поделиться статьями, докладами и находками для командной работы. Несем все самое полезное, что получилось запустить, внедрить, написать и подготовить.

Открыть дайджест
Всего голосов 18: ↑15 и ↓3 +12
Комментарии 1

Oxlint — более быстрая альтернатива ESLint

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 6.2K

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со своим предшественником ESLint?

Читать далее
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 16

Astro vs Next.js

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 3.4K

Irelia Codeheart, Senior Developer

Astro против Next.js: Подробный анализ для разработчиков
В этой статье мы погрузимся в основы Astro и Next.js — двух надежных, богатых функциями JavaScript-фреймворков. Мы обсудим их функции, цели и отличительные характеристики, предоставляя вам подробный обзор обоих решений.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 4

GridStack + Vue 3 composition api

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.5K

Мир всем, на связи ShADAMoV!

Сегодня, я бы хотел поведать вам о своём опыте взаимодействия с библиотекой GridStack. Расскажу о странностях и сложностях, с которыми столкнулся в ходе её интеграции во Vue 3 проект.

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

Итак, погнали!

Читать далее
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 2

Знакомство с WebTransport API

Уровень сложности Средний
Время на прочтение 20 мин
Количество просмотров 6.4K


Hello world!


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

Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 4

Вклад авторов

Работа