Как стать автором
Обновить
82.67
Рейтинг

JavaScript *

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

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

Нецелевое использование утверждающих функций в TypeScript

Блог компании RUVDS.com JavaScript *Программирование *TypeScript *
Перевод
Tutorial

Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить утверждающую функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 2.3K
Комментарии 0

Новости

Безопасность Web Apps в Telegram ботах

Ajax *Информационная безопасность *JavaScript *
Из песочницы

16 апреля 2022 Telegram презентовал новую фичу - Web apps, с помощью которой можно открывать веб страницы в боте без перехода в браузер. Подробнее можно почитать в источнике https://core.telegram.org/bots/webapps.

Однозначно это удобная функция для пользователей и для разработчиков. Но, так как это веб приложение, можно просмотреть что под капотом. Telegram привел в качестве примера бота @DurgerKingBot, его и разберем.

Читать далее
Всего голосов 18: ↑8 и ↓10 -2
Просмотры 4.8K
Комментарии 4

Нет, правда, зачем нам TypeScript?

Блог компании HTML Academy Разработка веб-сайтов *JavaScript *Учебный процесс в IT TypeScript *

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

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

В такой ситуации на помощь приходит TypeScript. Давайте разбираться, чем он полезен для всех JavaScript-разработчиков

Читать далее
Всего голосов 27: ↑10 и ↓17 -7
Просмотры 6K
Комментарии 6

Функция Reactive во Vue: как это работает

Блог компании Delivery Club Tech JavaScript *jQuery *Angular *VueJS *

После jQuery я попробовал AngularJS и был очарован его возможностями. Несколько строк в AngularJS заменяли кучу спегетти-кода в jQuery. Это было похоже на магию. Сейчас все современные Frontend-фреймворки так или иначе обеспечивают реактивность, и это уже никого не удивляет. Тем не менее далеко не все разработчики понимают, как это работает.

Сейчас я работаю с Vue, поэтому и разбираться с тем, как устроены реактивные функции, будем на его примере. Я расскажу, как сделать из простого объекта реактивный, а также немного о том, какие современные возможности JS для этого используются.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 1.7K
Комментарии 2

Node.js: разрабатываем сборщик модулей

Блог компании Timeweb Cloud JavaScript *Node.JS *
Tutorial


Привет, друзья!


Вам когда-нибудь хотелось узнать, как работают сборщики модулей (module bundlers) JavaScript типа Webpack или Parcel, что называется, под капотом. Если хотелось, тогда эта статья для вас.


В данном туториале мы разработаем простой сборщик модулей на Node.js, который будет компилировать все модули приложения в один минифицированный файл с кодом, соответствующим стандарту ES5.


Источник вдохновения.


Репозиторий с кодом.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.4K
Комментарии 0

Тестирование с помощью Vitest

JavaScript *Angular *ReactJS *VueJS *
Перевод

Vitest — это новая среда тестирования на базе Vite. Он все еще находится в разработке, и некоторые функции могут быть еще не готовы, но это хорошая альтернатива, которую можно попробовать и изучить.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.7K
Комментарии 3

React Native 0.68 и «новая архитектура»

JavaScript *Разработка мобильных приложений *ReactJS *

30 марта 2022 года команда инженеров Meta анонсировали новую версию React Native 0.68. Помимо различных минорных улучшений и фиксов эта версия содержит историческое для платформы изменение, впервые мы можем попробовать в своих приложениях так называемую новую архитектуру. Давайте вместе разберемся что это за новая архитектура и почему к ней шли без малого 4 года.

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

Фронтенд-новости №4. Лучший шрифт для веба, поиск среди hidden, очередной React

Блог компании HTML Academy Разработка веб-сайтов *CSS *JavaScript *HTML *

Свежие новости и статьи из мира фронтенд-разработки за последнюю неделю 25 апреля–1 мая.

— Сделайте так, чтобы поиск по странице работал даже в сворачиваемых элементах, с помощью атрибута hidden, но с новым значением until-found. Ждём в Google Chrome 102 и Safari 15.5.

— Не успели вы попробовать React v18.0, как уже вышел v18.1 с множеством исправлений.

Что такое базовые модули, содержащие префиксы? Для того, чтобы сказать, что модуль из ядра node.js, ему добавляется префикс, например, import test from 'node:test';. Не все базовые модули на данный момент будут использовать через префикс, например fs.

– Пуш-уведомления — достаточно щепетильный инструмент взаимодействия с пользователем. Они всех бесят. Научитесь делать пуш-уведомления полезными.

Больше новостей и статей под катом. Хватит почитать на все майские!

Что там у вас ещё
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 4.3K
Комментарии 1

Изучение TypeScript — Полное руководство для начинающих. Часть 1 — введение и примитивные типы данных

JavaScript *ReactJS *TypeScript *
Из песочницы
Перевод

Всем привет. Меня зовут Лихопой Кирилл и я - Frontend-разработчик в компании Idaproject.

Представляю вашему вниманию cвою первую статью на Хабре, a точне перевод англоязычной статьи, на тему изучения TypeScript (TS, Тайпскрипт).

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 8.2K
Комментарии 6

11 хитростей Chrome DevTools, которые помогут Вам стать Senior FrontEnd-разработчиком

Разработка веб-сайтов *JavaScript *Google Chrome HTML *Учебный процесс в IT
Перевод
Tutorial

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

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

Давайте посмотрим
Всего голосов 62: ↑56 и ↓6 +50
Просмотры 20K
Комментарии 18

Готовим чемоданчик serverless разработчика. (Часть 5 Заключительная)

Блог компании Lineate JavaScript *Программирование *Node.JS *Serverless *

В предыдущих частях я сделал приложения, которое работает с БД, GitHub API. Все компоненты разворачиваются при помощи AWS SAM. Можно запускать реализованные функции локально. Все функции собраны воедино в одно API:

Первые шаги. Первая лямбда (Часть 1)

Разворачиваем БД (Часть 2)

Как подружиться с БД (Часть 3)

Создаем REST API (Часть 4)

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

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

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

Забавы с маргинальными фреймворками: Пишем приложение для отладки TCP соединений с Malina.js

Разработка веб-сайтов *JavaScript *SvelteJS *

Одна из моих работ связана с отлаживанием протоколов общения теплосчётчиков для удалённого снятия показаний. Чаще всего теплосчётчик даже не мой, а находится у клиента на объекте, поэтому я подключаю его через GPRS-терминал к какой-либо своей сетевой машине, где поднят TCP сервер откуда посылаю байтики и смотрю, что мне ответит теплосчётчик. Посылать байты с консоли можно, но не очень удобно. Есть ряд приложений с которыми этот процесс упрощается, но я решил сделать себе в помощь специальный TCP сервер в виде Node-приложения с Web-интерфейсом, созданном с помощью фреймворка Malina.js.

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.7K
Комментарии 0

Angular Universal: работа в крупном e-commerce

Блог компании Утконос ОНЛАЙН JavaScript *Angular *TypeScript *
Из песочницы

Привет, меня зовут Дмитрий Дружков, я тимлид фронтенд команды в Утконос Онлайн. В этой статье я расскажу, чем полезен Angular Universal в e-commerce проектах, как выбрать вид рендеринга, как выглядит первоначальная настройка технологии на примере нашего сайта и шаги по ускорению, а также раскрою плюсы и минусы Universal. Статья будет интересна тем, кто:

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.5K
Комментарии 4

Мобильная игра на HTML, CSS, JavaScript, jQuery, Apache Cordova и Firebase. Как сделать красиво снаружи и плохо внутри

CSS *JavaScript *jQuery *HTML *

В данной статье будет рассказана история одной мобильной игры разрабатываемой на HTML, CSS, JavaScript, jQuery, Apache Cordova и Firebase. Также будут освещены следующие вопросы:

- Стоит ли использовать jQuery?

- Стоит ли вообще разрабатывать мобильные игры на JS с нуля?

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 4.1K
Комментарии 7

Руководство по NestJS. Часть 1

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *



Привет, друзья!


В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest использует Express (по умолчанию), но также позволяет использовать Fastify.



В первой статье рассматриваются основы работы с Nest, во второй — некоторые продвинутые возможности, предоставляемые этим фреймворком, в третьей — приводится пример разработки простого React/Nest/TypeScript-приложения.


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


Это первая часть руководства.

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 4.2K
Комментарии 3

Моя лепта в экономию бумаги на производстве

JavaScript *Промышленное программирование *
Из песочницы

Я работаю инженером АСУТП в одном из цехов металлургического производства. В цеху есть 3 довольно объемных агрегата и несколько небольших локальных систем, и естественно все они состоят из кучи механизмов, ПЛК, датчиков, клапанов, моторов и т.п. В нашей службе мы частично внедрили некоторые методы системы ТОИР (Техническое обслуживание и ремонт), а именно промаркировали все свое оборудование, внесли его в единообразный каталог и после планового ремонта стараемся делать обходы, согласно заранее подготовленных чек-листов. Раньше все было довольно печально: чек-листы страниц на 20-30 распечатывались, подшивались, и приходилось ходить по агрегату с ручкой в одной руке и кипой бумаги в другой, которая так и норовит где-нибудь рассыпаться. А еще иногда приходится лазить среди грязи и пыли, или взбираться на неудобные площадки. Мало того, после обхода желательно как-то обработать результат, и сохранить его на будущее: потому кучи заляпанных бумаг после каждого обхода постоянно валялось где попало и не было от нее никакой пользы. С этим непотребством хотелось что-то сделать и потому пришла идея сделать электронный чек-лист на планшете.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 4.7K
Комментарии 5

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

Блог компании Яндекс Разработка веб-сайтов *JavaScript *Интерфейсы *ReactJS *
Tutorial
Случалось ли вам, выполняя какую-то задачу, понять, что самый простой путь — нажать Сtrl+C, Сtrl+V: перетащить из соседней папочки пару файлов, поменять пару строчек, и будет ок? Повторялось ли это ощущение? Я хочу рассказать о том, как боролся с этой проблемой и к чему пришёл вместе с командой. Назовём это решение «универсальные компоненты» (если у кого-то будет более удачное название для концепции, жду в коментариях). Примеры буду приводить в основном на React, но концепции будут общие.
Читать дальше →
Всего голосов 18: ↑14 и ↓4 +10
Просмотры 6.8K
Комментарии 6

Node.js: разрабатываем пакетный менеджер

Блог компании Timeweb Cloud JavaScript *Node.JS *TypeScript *



Привет, друзья!


Вам когда-нибудь хотелось узнать, как под капотом работают пакетные менеджеры (Package Manager, PM) — интерфейсы командной строки (Command Line Interface, CLI) для установки зависимостей проектов наподобие npm или yarn? Если хотелось, тогда эта статья для вас.


В данном туториале мы разработаем простой пакетный менеджер на Node.js и TypeScript. В качестве образца для подражания мы будем использовать yarn. Если вы не знакомы с TS, советую взглянуть на эту карманную книгу.


Наш CLI будет называться my-yarn. В качестве lock-файла (yarn.lock, package-lock.json) он будет использовать файл my-yarn.yml.


Источник вдохновения.


Код проекта.

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.6K
Комментарии 2

TypeScript: худший лучший язык программирования

Блог компании Конференции Олега Бунина (Онтико) Разработка веб-сайтов *JavaScript *Программирование *TypeScript *

На конференции FrontedConf 2021 Андрей Старовойт показал плюсы и минусы TypeScript. Если вы сомневаетесь, стоит ли его использовать — эта статья для вас, чтобы вы смогли для себя всё решить. Если вы уже любите и используете TypeScript, то надеюсь, вам тоже будет интересно.

Все преимущества и недостатки языка описаны, конечно, через призму опыта Андрея. Несмотря на то, что последние 7 лет он работает в компании JetBrains над продуктом WebStorm на Java Kotlin, пишет он и на TypeScript. Попутно много смотрит на код других людей, пытаясь понять, что с ним можно сделать внутри WebStorm и почему типы выбились неправильно. А также — какие инспекции можно применить так, чтобы люди стали счастливы, а их код — лучше.

Читать далее
Всего голосов 63: ↑56 и ↓7 +49
Просмотры 28K
Комментарии 41

Сложение векторов со скоростью 154 Гб/с на WebAssembly

Блог компании SkillFactory JavaScript *Программирование *C++ *WebAssembly *
Перевод

Автор ускорил сложение векторов до ~12 000 000 сложений 1024-мерных векторов в секунду. Делимся подробностями и представляем генератор WASM из С++ от автора статьи к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 3.8K
Комментарии 7

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

Работа