Хотите узнать о том, что такое React, но вам всё никак не выпадает шанс изучить его? Или, может быть, вы уже пробовали освоить React, но не смогли толком понять? А может, вы разобрались с основами, но хотите привести в порядок знания? Эта статья написана специально для тех, кто положительно ответил хотя бы на один из этих вопросов. Сегодня мы создадим простой музыкальный проигрыватель, раскрывая основные концепции React по мере продвижения к цели.
Разобравшись с этим материалом, вы освоите следующее:
Компоненты React.
Рендеринг ReactDOM.
Классы компонентов и функциональных компоненты.
JSX.
Состояние (state).
Обработка событий.
Асинхронный метод setState.
Свойства (props).
Ссылки (refs).
Это — практически всё, что нужно знать для того, чтобы создавать и поддерживать React-приложения.
В нашей организации есть 140 необслуживаемых узлов (комплексов), которые установлены в отдалённых местах от Анапы до Певека, в основном на ведомственных площадках. Сам комплекс состоит из компактного компьютера на Win32 и GNSS-приёмника с антенной на крыше. Нам нужно раз в 15 минут получать с них данные. На некоторых станциях есть доступ в ведомственную сеть, но зачастую приходится использовать мобильный Интернет. Вот так выглядит комплекс:
Обычные USB-модемы (т. н. «свистки») зарекомендовали себя очень плохо: они слишком часто зависают, а качество приёма слабого сигнала оставляет желать лучшего. Мы стали использовать более дорогие USB-модемы промышленного типа с выносной комнатной антенной. Но и они периодически зависали, что приводило к недоступности комплекса. Приходилось звонить на метеостанции, где установлены наши комплексы, подолгу объяснять пожилым наблюдателям, какой именно кабель нужно вытащить и вставить обратно. Не все соглашались выполнять такую сложную процедуру.
Две недели назад мы наблюдали атаку шифровальщика на сервер, принадлежащий одной французской компании. Это был один из вариантов семейства шифровальщиков Crysis. Ежедневно мы видим тысячи попыток заражения со стороны шифровальщиков, но этот случай привлек наше внимание, т.к. файл, каким-то образом, появившийся на компьютере, предположительно никем не использовался и не должен был использоваться, при этом на компьютере не был запущен ни один почтовый агент или Интернет-браузер.
Стало модно использовать мессенджеры как платформу для, так называемой, «разговорной коммерции»: теперь помимо смузи и коворкинга уважающий себя стартап должен обзавестись ботом или, как минимум, каналом в телеграмме. В помощь им мы не только написали бота, который ищет лучшие смузи и коворкинги кофе и бургеры в городе, но и статью о том, как мы его разрабатывали.
В нашем небольшом туториале мы расскажем о том, как создать бота, настроить в нем графическое меню, редактирование сообщений и отправку текста и фото в одном сообщении.
Несколько месяцев назад мой знакомый попросил помочь решить вопрос с записью входящих звонков. Все необходимое или было в наличии, или обещал предоставить.
Если интересно, мой опыт реализации на python вместе с кодом под катом.
Предисловие 1:
Данная статья не является рекламой какого либо устройства или продукта. Но, чтобы не заставлять желающих реализовать эту идею гуглить «похожие устройства», — все фирмы и модели называем здесь открыто.
Предисловие 2:
Изначально в планах было сделать только видеоверсию. Однако позднее возникла мысль опубликовать материал и здесь в виде статьи. Тем не менее рекомендую ознакомится и с видеоверсией. Она размещена внизу статьи. Итак, поехали!
1. Введение.
Периодически у нас возникает потребность отснять в несколько камер какое либо событие (и получить «смонтированное видео» сразу), при этом не иметь высокий уровень, но и не использовать высокий бюджет и не арендовать профессиональную ПТС (Передвижную телевизионную станцию). Для таких целей мы собрали «ПТС на коленках».
А что если при входящем звонке вместо бездушного номера вы будете видеть на своём телефоне что-то вроде «ООО Стройпоставка» или «Иванов Семён Петрович», получаемые из базы ваших клиентов и контрагентов.
Будет весьма удобно, не правда ли?
А реализуется это очень легко.
Традиционно рассмотрю два варианта — для FreePBX, и для «чистого» Asterisk.
За несколько лет программирования мы добавили большое количество различных возможностей в Flussonic, так что хочется немного рассказать о том, как Flussonic устроен и что он может.
Для начала напомню: Flussonic — это state of art видеостриминговая серверная программа, которая может брать видео из различных источников, записывать его по необходимости на диск и раздавать клиентам по различным протоколам. Может работать на Intel, ARM, Tilera и т.п. Отличительная особенность — особая легкость конфигурации, не требующая ни единого мегабайта XML для настройки и запуска.
Во внутренней структуре и функциональности можно выделить две больших и важных части: работа с видео потоками и работа с видеофайлами (VOD).
Около недели назад здесь была интересная статья о методах организации видеотрансляций с минимально возможной задержкой, и в комментариях прозвучал ряд закономерных вопросов, на многие из которых я не увидел полноценного и содержательного ответа. В своём посте я хотел бы дополнить материал коллег, и поделиться с читателями своими мыслями по следующим вопросам:
Зачем вообще нужна минимальная задержка?
Как можно просто и наглядно замерять задержку при трансляции видеосигнала?
Какие элементы видеотракта влияют на увеличение задержки?
Наш топовый результат — FullHD сигнал пролетел до сервера и обратно менее чем за полсекунды.
Недавно проводили в офисе Zabbix Meetup, который из-за количества участников (приехали ребята из Ярославля, Новосибирска, Уфы, Владивостока, Краснодара, Воронежа, Брянска, СПб и других городов) перерос в конференцию на весь день. И сегодня хотим поделиться с вами видео докладов.
1. «Zabbix: прошлое, настоящее и будущее», Алексей alexvl Владышев, Zabbix.
2. «Zabbix в Badoo или о чем не пишут в мануале», Илья ableev Аблеев, Badoo.
Сколько раз вы не могли найти на сайте компании карту с их офисом? Сколько раз вы кликали по экрану, в надежде попасть на нужную вам ссылку? Сколько раз вы проклинали владельцев сайтов за то, что невозможно прочесть текст? А всех этих проблем можно было бы избежать, если бы разработчики предусмотрели адаптивную версию сайта.
Сегодня я хочу рассказать, как посчитать адаптивный сайт, о чем важно не забыть, чтобы потом не было мучительно больно. Информация в основном для менеджеров и им сочувствующим.
Всем привет! Мы, в компании Cackle, занимаемся разработкой облачных SaaS-решений для сайтов с 2011 года. Наши продукты установлены более чем на 10 000 сайтах, каждый день мы обрабатываем в среднем 65 миллионов уникальных хитов. Полоса пропускания (bandwidth) в пики доходит до 780 мбит/сек, а БД в сутки принимает до 120 миллионов запросов на чтение, и до 300 тысяч запросов на запись. Такие нагрузки заставляют изобретать непростые решения, частью которых мы и хотим поделиться.
И снова в эфире наша постоянная рубрика «Лекции Технопарка». На этот раз предлагаем вам ознакомиться с материалами курса «Проектирование высоконагруженных систем». Цель курса — получение студентами навыков проектирования высокоэффективных программных систем.
Для тех, кто статью читать не захочет, сразу репозиторий на github.
А остальных под катом ждёт бессвязная и бессмысленная история о том, как я дошёл до жизни такой, при помощи node-webkit, написал приложение, которого джва года ждал.
За всё время пользования телефонией (городской или сотовой, не важно) меня удручала одна вещь — отсутствие возможности узнать имя абонента при его отсутствии в вашей телефонной книге. Даже если у вас подключена услуга АОН то определяется только телефонный номер, но не имя.
Для решения этой проблемы я сделал proof-of-concept сервиса, который ставит в соответствие телефонному номеру имя абонента. Таким образом вы сможете понять кто вам звонит и дальше принять решение — снимать трубку или нет.