Рубрика «Блог компании Voximplant» - 13

Когда юнит-тестирование действительно необходимо - 1Представим, что вы разработчик на JavaScript, Ruby, Phyton или PHP. Ваш язык программирования не ищет ошибок во время компиляции. Собственно, у него компиляции, как таковой, нету. Если вы допустите синтаксическую ошибку, вы, конечно, о ней узнаете. Когда запустите программу.

Если вы ответственный разработчик, то напишите тесты сами. Так поступают все ответственные разработчики. Но что вы будете тестировать? Читать полностью »

JavaScript в 2016 году: функциональное программирование пришло всерьез и надолго - 1В 2015 году вы могли заметить перемены в способе разработки приложений на JavaScript. Разработчики уходят от непредсказуемой архитектуры с мутабельным состоянием в сторону более предсказуемой иммутабельной архитектуры приложений.

С такими фреймворками как Backbone, было принято синхронизировать сами данные и представление данных – для этого приходилось вручную подписываться на нужные события dom. Такой способ был подвержен ошибкам и вынуждал использовать слишком много типового кода. Пришел Angular и исправил это с помощью автоматизированного двустороннего биндинга.

Но сейчас все движется в другом направлении.
Читать полностью »

Делаем многоканальную полнодуплексную рацию - 1Однажды к нам постучись за помощью – сделать сервис-рацию. После продолжительных поисков клиенту не удалось найти подходящее решение, поэтому он обратился в VoxImplant. Нам стало интересно, что же он там такое задумал и сможем ли мы реализовать его задумку на своей платформе. Нам редко удавалось найти сценарий, который на ней сделать невозможно. В общем, пообщались мы, все внимательно выслушали и пошли писать код. Рация должна была уметь подключаться к нескольким каналам одновременно (аналогично частотам в аналоговых рациях), а также давать возможность говорить в один из подключенных каналов + было желательно отображать активность в канале. Под катом рассказ о том, как мы сделали этот сервис за несколько часов.Читать полностью »

Путь длиною в React - 1 В VoxImplant мы используем React.js и TypeScript для всех новых фронтенд-проектов. Но стараемся не зацикливаться на выбранных инструментах и внимательно смотрим по сторонам – не летит ли орел, не ползет ли змея, не случилось ли что интересное у других фреймворков. Недавно нам попалась статья, автор которой подробно и вдумчиво сравнивает React с Ember. И, да, у него большой опыт работы и с первым, и со вторым (а не как это обычно бывает). Предлагаем вашему вниманию адаптированный, и, надеемся, легко читаемый, перевод.
Читать полностью »

image Облачная телефония VoxImplant может принимать звонки и звонить на разные источники. Сотовые телефоны, SIP, мобильные приложения, веб страницы. Можно позвонить с сотового на веб страницу, выглядит завораживающе. Если с сотовыми все понятно, то возможность поговорить с браузером требует чего-нибудь кроме HTML и JavaScript. Раньше таким «что-нибудь» был Flash. И мы до сих пор умеем его использовать в качестве fallback-варианта. Но последние несколько лет популярные браузеры звонят совсем не через Flash, а через HTML5 технологию «WebRTC». Которая до недавнего времени была представлена в Chrome и Firefox. Но все течет, все меняется, и в бета-версии Microsoft Edge появилась поддержка WebRTC. Почти. Microsoft традиционно пошла своим путем и сделала «альтернативную» реализацию, которая называется «ORTC». Чем они отличаются и что пришлось пережить нашим разработчикам — читайте под катом.

Читать полностью »

Сигнальные и транспортные протоколы WebRTC: срываем покровы - 1Наша платформа VoxImplant состоит из нескольких частей: облако, API, SDK для разных платформ. SDK для браузера подключается к облаку по WebSocket и позволяет звонить (и принимать звонки) как другим пользователям VoxImplant, так и на обычные телефоны. Раньше это работало с помощью flash, но в современных браузерах используется специально созданная для работы с голосом и видео технология WebRTC. Штука хорошая, но довольно сложная в использовании: возможность peer-to-peer коммуникаций, одна из ключевых «фишек» технологии, управляется полностью вручную. Чтобы два браузера могли организовать голосовой или видеочат друг с другом, разработчику нужно собрать информация об IP-адресах компьютеров, как-то передать эту информацию между браузерами, запустить NAT Traversal и скормить это все WebRTC. А если обойти NAT не получилось, то еще и предоставить Relay-сервер для передачи данных.

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

Финтех: почему программистов здесь ждут - 1Уже через несколько дней начнется летняя школа и хакатон по финтеху, который проводит Финуниверситет и Московский политех при поддержке акселератора Numa и НП РТС. Событие объединит программистов и финансистов. После двухнедельного обучения участники получат сертификаты о повышении квалификации и множество знакомств с экспертами, и, под конец, примут участие в хакатоне. Для его проведения VoxImplant засылает технического евангелиста компании Григория Петрова.

О том, как будет проходить школа, куда движется финтех, и как разработчику принимать участие в школе (БЕСПЛАТНО), мы поговорили с организаторами школы Тимофеем Головиным и Александром Диденко.
Читать полностью »

В чем секрет скорости NodeJS? - 1Предлагаем вам перевод статьи Евгения Обрезкова, в которой он кратко и по делу рассказывает о причинах высокой скорости NodeJS: потоки, event loop, оптимизирующий компилятор и, конечно же, сравнение с PHP. Куда уж без него.

Читать полностью »

Что нужно сделать перед тем, как выложить код открытого программного обеспечения - 1Выложить проект с открытым программным кодом – это больше, чем выложить код в Интернете.

Интерес к программным продуктам с открытым исходным кодом растёт последние 10 лет. Linux стоит и в стиральных машинах, и в боевых дронах. Большинство программистов не могут представить свою жизнь без широкого ассортимента бесплатных и открытых инструментов в своем распоряжении.

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

Чем вы можете помочь своему проекту, чтобы его заметили?

Читать полностью »

Перчатки для тех, кто всё усложняет - 1Хорошее программное обеспечение всегда находится под атакой критиканов. С одного фронта нападают дилетанты, которым как-то удалось заполучить масштабный проект несмотря на то, что они буквально вчера ночью дочитали «Программирование для чайников». Затем идут профессиональные дилетанты, которые добились успеха после своего первого контракта (читай: получили деньги, которые впоследствии у них не отсудили – несмотря на то, что они разработали бесполезный продукт). И после этот сделали себе карьеру, просто повторяя этот «успех» снова и снова. Наконец, есть те, кто всё усложняет. Самое плохое, что к их числу часто примыкают лучшие из нас (по крайней мере на один-два проекта).

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js