[Перевод] Приложения реального времени на TypeScript: разработка чата с применением WebSocket, Node и Angular

Недавно я создал простой чат, используя исключительно TypeScript. Главной целью этого проекта было написание приложения, демонстрирующего использование этого языка и на клиенте, и на сервере. Клиентская часть чата основана на свежей версии Angular. Сервер базируется на Node.js. Взаимодействие между ними организовано с помощью протокола WebSocket.

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


Чат, написанный на TypeScript
Читать дальше →

Технопарк, Техносфера, Технотрек: проекты выпускников


Каждые полгода в нашем офисе проходит защита проектов выпускников образовательных программ Mail.Ru Group. На этот раз ребята из Технопарка (наш совместный проект с МГТУ им. Н. Э. Баумана), Техносферы (проект в МГУ) и Технотрека (в МФТИ) представили не только свои проекты, но и учебные проекты по ТЗ различных продуктов от Mail.Ru Group: это ВКонтакте, Одноклассники и Добро Mail.Ru. Мы подготовили для вас лучшие проекты выпуска зимнего семестра с комментариями их создателей.

Читать дальше →

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



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

[Перевод] JavaScript и ужасы мутаций

Мутация — это изменение. Изменение формы или изменение сути. То, что подвержено мутациям, может меняться. Для того чтобы лучше осознать природу мутации — подумайте о героях фильма «Люди Икс». Они могли внезапно получать потрясающие возможности. Однако проблема заключается в том, что неизвестно, когда именно эти возможности проявятся. Представьте себе, что ваш товарищ ни с того ни с сего посинел и оброс шерстью. Страшновато, правда? В JavaScript существуют те же проблемы. Если ваш код подвержен мутациям, это значит, что вы можете, совершенно неожиданно, что-то изменить и поломать.


Читать дальше →

[Перевод] Машины состояний и разработка веб-приложений

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


Инструменты вроде React и Redux позволили веб-разработке сделать большой шаг в правильном направлении. Однако, самих по себе их недостаточно для создания крупномасштабных приложений. Похоже, что ситуацию в разработке клиентских частей веб-приложений может значительно улучшить применение машин состояний. О них и пойдёт речь в этом материале. Кстати, возможно вы уже построили несколько таких машин, но пока ещё об этом не знаете.
Читать дальше →

Базовые наборы API для реализации сервисов «прозрачного» проксирования

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

image

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

Тестирование компонентов с Puppeteer и Jest


На Хабре есть публикация, описывающая написание тестов с использованием Puppeteer и Jest. Рекомендую к ознакомлению, если вы ещё не знаете, что такое Puppeteer. В данной статье, на примере React-компонента, будет описываться способ тестирования вызовов callback-функций. Например, есть компонент с props onChange, и необходимо протестировать, что при некоторых действия пользователя будет вызвана callback-функция с ожидаемыми переданными параметрами. Для этого будет использоваться библиотека Puppeteer-io. Но для начала рассмотрим небольшой примерчик на html и чистом javascript без привязки к библиотекам или фреймворкам…
Читать дальше →

[Перевод] Возможности JavaScript, о существовании которых я не знал

image На днях я читал материалы на MDN и наткнулся на некоторые довольно интересные возможности и API JavaScript, о существовании которых я не знал. Хочу сегодня о них рассказать.

Не берусь судить о том, пригодятся ли они кому-нибудь, но, полагаю, что раз уж всё это есть в языке, то об этом полезно, как минимум, знать.
Читать дальше →

[Из песочницы] Ожидания и реальность — наш опыт создания и продвижения мобильной игры

image

Привет всем. Меня зовут Ярослав, сегодня я расскажу вам о том, как мы создавали мобильную игру Crazy Shapes Run Adventure — что уже успели прожить, а также самые интересные и полезные вещи, которые помогут вам избежать многих ошибок.

Предыстория


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

Зарождение идеи


Сначала хотели выбрать что-то другое, но остановились именно на идее приключенческого раннера для смартфонов и планшетов, потому что они пользуются огромным спросов во всех странах. И начали претворять задумки в жизнь. Читать дальше →

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



Несмотря на проблемы глобального потепления, в западном дизайн-сообществе вновь публикуются новые утилиты, плагины и сервисы, которые призваны улучшить workflow дизайнера и разработчика. В этом списке я привожу 20 нужных ссылок на новые штуки, которые были высоко оценены сообществом!
Читать дальше →


Последние посты