когда вам больше не нужен JavaScript* / Хабр
* для создания динамической страницы
Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробовать написать простую браузерную игру. Часть статьи с личным мнением не является исключительно правдивой, я попробую объяснить преимущества веб-разработки на примере phoenix против php
Теоретическая часть
Phoenix — это фрэймворк на функциональном языке elixir. Прошу не путать с Phalcon для php.
Phoenix LiveView — это потрясающая новая библиотека, которая позволяет создавать динамические веб-страницы без написания javascript кода посредством двунаправленной связи по вебсокетам и server side rendering. Как мы прекрасно знаем, вебсокеты у phoenix достаточно хорошо реализованы, поэтому производительности хватит для большинства идей, которые вы планируете реализовать.
Существует несколько вариантов использования LiveView:
- Проверка ввода данных в формы (валидация), нажатие кнопок, скрытие и отображение блоков, автозаполнения.
- События от сервера, такие как уведомления, информационные панели, счетчики.
В данный момент с ограничениями доступны и приоритетны в будущем:
- Навигация по страницам и пагинация. Они могут быть построены с помощью LiveView, но в настоящее время вы потеряете функционал перехода «назад / вперед». Поддержка `pushState` включена в план.
- Отображение постоянно растущих данных — чаты, онлайн логи и т.п. можно создавать с помощью LiveView, но в настоящее время вы должны хранить все данные в состоянии приложения на сервере. Поддержка частичного обновления данных состояния находится в разработке.
- Работа с задержками при изменении состояния. LiveView хранит состояние приложения на стороне сервера и это гарантирует правильную работу интерфейса при серьезных задержках.

- Полный набор функций для моделирования этих ситуаций появится в будущих версиях.
В чем плох LiveView:
- Анимации. К примеру отображение меню по клику можно реализовать через LiveView, но плавное появление лучше отдать в css или js.
- Optimistic UI. Приложение рассчитано на постоянную работу с стейтом сервера и этого стейта нет на клиенте. Весь html код на любое событие подготавливается на сервере с новым состоянием и летит по вебсокетам к клиенту, все видимые изменения происходят посредством подмены html кода.
Как работает LiveView?
Изображение взято с elixirschool
LiveView начинается с обычного HTTP-запроса и HTML-ответа, а затем приступает к отслеживанию состояния приложения на сервере через вебсокеты, при этом гарантируя отображение обычной HTML-страницы, даже если JavaScript отключен. Каждый раз, когда состояние приложения меняется, оно автоматически перерисовывает отображение и обновления передаются клиенту.
На клиенте при помощи библиотеки morphdom происходит обновление контента. По сути, логика достаточно близкая к современным js фрэймворкам, только без использования virtual DOM.
Впечатление и личное мнение о самом Phoenix
Из личного опыта скажу, что редко встречал понятно написанные приложения в командах от 3х и более человек. Часто встречается мешанина из сервисов на php(сервер) nodejs (websocker) react/vue (фронт) туда еще и go засунут для вещей, которые «медленно» работают на php. Очереди мы в redis засунем, потом подключим rabbitmq, а один из разработчиков не умеет ими пользоваться и реализовал в sql. Кто-то умеет правильно пользоваться кроном через flock и не городит логику защиты повторного запуска в коде, а другие запускают демоны на php, что иногда вставляет палки в колеса при обновлении кода и структуры бд.
Состояние приложения начинает хранится везде и всюду, в статике класса, в синглтоне, порой даже в статической переменной метода, начинают множится правила написания кода чтобы бороться с незнанием языка и правильным построением архитектуры, но что если проект начинал программист уровня middle или junior на коленке, не задумываясь что это все вырастет до настоящего бизнеса? Поддерживать такое в одиночку не так просто, часть логики дублируется как на клиенте, так и на сервере (валидация к примеру). В SPA, когда фронт начинает использовать публичное api, мы начинаем задумываться о версионировании. Поддержка усложняется т.к. приходится удовлетворять не только нужды внешних сервисов и клиентов, но и свой часто изменяемый фронт, а дублировать код не хочется. Прикручивам graphql. Со временем зоопарк библиотек разрастается и фирмы начинают нанимать больше разработчиков.
Тут я и вижу превосходство phoenix. Из коробки у нас замена php (elixir + Phoenix), nodejs (вебсокеты на Phoenix.Socket), react/vue (Phoenix.
LiveView), redis(ets), rabbitmq (ets), cron (возможно через GenServer), демоны (GenServer), урезанная бд (mnesia). У нас кеширование в самом языке через mnesia или ets, крон или демоны вообще без проблем т.к. многозадачность и работа в фоне годами у «эликсира в крови». Хранение состояния чаще всего в генсервере. Публичное api исключительно для нужд внешних сервисов, spa в скором времени будут писаться на LiveView. Поддержка api станет куда проще. Масштабируемость в любое направление средствами языка, скорость работы ограничена только источником хранения данных, все остальное работает весьма быстро. Достаточно понятная схема работы если один раз узнать как работает plug и что такое conn. Генерация кода, «микросервисная архитектура» — посмотрите в сторону umbrella application. Это все пытаются решить докерами с оркестрацией и т.п. создавая рабочие места для большого количества devops инженеров.
Итог
Попробуйте установить elixir и запустить phoenix. В этой статье я постарался изложить «воду», личное мнение и теоретическую часть, чтобы в следующей ограничится исключительно кодом и логикой.
Мы будем писать простую игру на LiveView формата dogeminer но без функциональности кликера. Это моя первая статья, прошу строго не судить и не воспринимать чрезмерно серьезно, я намеренно однобоко показал достоинства Phoenix и упустил его недостатки. Их лучше ощущать на практике чем вот так на мнении чужого человека.
Присоединяйтесь к русскоязычному сообществу elixir разработчиков proelixir или находите в telegram @proelixir. Свежие новости языка собирает бот на канале @proelixir_news.
Основы. Автоматическая фокусировка: Live View: nikonofficial — LiveJournal
Режим Live View получил широкое распространение в цифровых зеркальных камерах, он используется не только для съемки фотографий, но и для записи видео. Удобен, а порой и просто необходим в повседневной жизни, обладает рядом интересных параметров.Контрастный режим фокусировки, он же Live View, медленнее свое фазового брата, но, несмотря на это, он получил широкое распространение в цифровых зеркальных фотокамерах.
Поддержка Live View вдохнула новую жизнь в DSLR-камеры.
Для перехода в режим Live View достаточно нажать соответствующую кнопку на корпусе, после чего зеркало фотоаппарата поднимется и на ЖК-экран будет выведена картинка, получаемая матрицей с объектива, а заодно и параметры настройки.
Для уверенности в точности фокусировки всегда можно приблизить изображение, что очень удобно. В отличие от традиционной съемки, в данном случае сенсор камеры работает постоянно, что приводит к повышению
температуры. Если до автоматического отключения Live View останется 30 и менее секунд, появится соответствующее информационное сообщение на экране.
В режиме Live View можно снимать как фото, так и видео. Достаточно сменить положение селектора.
Актуальные DSLR Nikon поддерживают два режима работы фокуса Live View, среди которых хорошо знакомый AF-S (покадровый следящий), применяющийся для съемки статичных объектов. В этом режиме фокусировка блокируется после половинного нажатия кнопки спуска.
А вот новоиспеченный AF-F предназначен для съемки движущихся объектов. В обоих случаях для получения наилучших результатов рекомендуется использовать объективы AF-S, то есть модели со встроенным мотором.
В настройках камеры вы найдете различные режимы зоны автофокуса. Широкая область АФ в большей степени предназначена для пейзажной и архитектурной съемки, когда точку фокуса выбирает фотограф. Обычная зона АФ ориентирована для съемки со штатива. Здесь используется более медленный, но и более точный метод фокусировки. Как и прежде, фотограф волен сам устанавливать точку фокуса.
Режим «Ведение объекта» оптимален для работы с подвижными объектами. Прежде чем камера начнет отслеживать объект, нужно установить фокус в нужную точку.
Режим АФ с приоритетом лица был разработан для съемки людей. Камера автоматически определит местоположение лица в кадре, после чего выбранная зона будет выделена двойной желтой рамкой. Если в сцене несколько человек, приоритет отдается тому, кто находится ближе к объективу камеры.
При необходимости это можно изменить, выбрав альтернативную точку фокуса самостоятельно.
AF-ON отвечает за наведение фокуса в выбранную точку. Удобная альтернатива спусковой кнопке, особенно при съемке видео, но встречается не во всех камерах.
Никто не отменял ручную фокусировку, ею частенько пользуются для съемки видео. Некоторые производители объективов выпускают специальную оптику под видеозадачи. В них кольцо фокусировки обладает куда большим ходом в сравнении с обычными моделями, что обеспечивает большую точность и плавность.
Рекомендации
Стоит учитывать одну особенность работы с Live View: всегда есть момент задержки между тем, что происходит перед объективом, и тем, что вы видите на экране камеры. Именно это свойство контрастного автофокуса не позволяет ему эффективно отслеживать быстродвижущиеся объекты, так как из-за задержки можно упустить момент. Однако Live View способен выручить во многих ситуациях, например, когда в людном месте нет возможности сфокусироваться через видоискатель или требуется сделать неожиданный кадр.
Данный режим часто используется для статичной съемки архитектуры или предметов в студии, так как здесь есть возможность скомпоновать кадр и проверить точность фокуса, увеличив изображение. Более экзотический вариант применения представляет собой подводная съемка. Конечно, придется обзавестись водонепроницаемым корпусом, но учитывайте, что через маску и видоискатель особо много не увидишь, в этом случае ЖК-экран много более информативен.
***
Понравился текст? Тогда добавляйте наш блог в ЖЖ, кликнув по ссылке.
Новое чувство направления с Live View
Карты
01 октября 2020 г.
min read
Mirko Ranieri
Менеджер по продукту, Google Maps
Live View в Картах Google помогает вам ориентироваться, чтобы вы могли ориентироваться. С новыми способами использования Live View мы делаем еще проще ориентироваться в мире, когда вы гуляете, покидаете остановку общественного транспорта или встречаетесь с друзьями.
В прошлом году мы запустили Live View, и с тех пор он помогает людям эффективно передвигаться, особенно во время пандемии, когда важнее всего добраться с места на место как можно быстрее. Благодаря дополненной реальности (AR) вы можете видеть стрелки, направления и маркеры расстояния, расположенные прямо над вашим миром, поэтому вы тратите меньше времени на выяснение того, в каком направлении вам следует двигаться.
Используйте ориентиры, чтобы ориентироваться в режиме Live View
Когда вы выбираете или ищете место на Картах Google, вы уже можете нажать кнопку Live View, чтобы визуализировать пункт назначения в реальном мире. Вскоре вы также сможете видеть близлежащие ориентиры, чтобы быстро и легко ориентироваться и понимать, что вас окружает. Live View покажет вам, как далеко от вас находятся определенные ориентиры и в каком направлении вам нужно идти, чтобы добраться до них. Эти достопримечательности могут включать в себя знаковые места, такие как Эмпайр Стейт Билдинг в Нью-Йорке и Пантеон в Риме, а также легко узнаваемые места, такие как местные парки и туристические достопримечательности.
Видя достопримечательности в режиме Live View, вы лучше понимаете, что вас окружает.
Используйте Live View в других местах
Теперь вы можете получить доступ к Live View прямо с вкладки общественного транспорта в Google Maps. Еще в 2018 году мы запустили мультимодальную навигацию — способ проложить маршрут для поездки, который включает в себя сочетание типов транспорта, включая ходьбу, вождение, езду на велосипеде и общественный транспорт. Теперь, если вы пользуетесь маршрутами общественного транспорта и вам предстоит пешая часть пути, вы можете использовать Live View, чтобы найти дорогу. Это особенно полезно, когда вы выходите из транзитной станции и не знаете, куда идти.Используйте Live View прямо из навигации.
Просмотр в режиме реального времени в разделе «Обмен местоположением» —
скоро будет доступно для Android и iOS
Если вы встречаетесь с друзьями на социально удаленной встрече, может быть трудно точно определить, где они находятся.
Просмотр в режиме реального времени при совместном использовании местоположения скоро будет доступен всем пользователям Android и iOS по всему миру на телефонах с поддержкой ARCore и ARKit.
Более точный PIN-код
Чтобы воплотить все эти функции в жизнь, мы улучшили глобальную локализацию, базовую технологию, которая обеспечивает работу всех функций Live View на Картах Google. С помощью машинного обучения и нашего понимания топографии мира мы можем учитывать высоту места, чтобы мы могли более точно отображать местоположение метки назначения в режиме Live View.
Улучшения в глобальной локализации теперь показывают более точное размещение контактов.
Независимо от того, куда вы идете, Live View поможет вам добраться туда максимально эффективно. В ближайшие недели вы начнете видеть Live View на вкладке «Транспорт» и «Обмен местоположением» на Android и iOS вместе с более точным пин-кодом. Ориентиры скоро начнут развертываться на Android и iOS почти в 25 городах* по всему миру, и их число будет увеличиваться.
*Амстердам, Бангкок, Барселона, Берлин, Будапешт, Дубай, Флоренция, Стамбул, Куала-Лумпур, Киото, Лондон, Лос-Анджелес, Мадрид, Милан, Мюнхен, Нью-Йорк, Осака, Париж, Прага, Рим, Сан-Франциско, Сидней , Токио, Вена
ОПУБЛИКОВАНО В:
Как использовать Live View на Google Maps (видео)
Большие данныеГенеральный директор Qlik Майк Капоне предлагает информацию о последних тенденциях в области анализа данных.

В аналитике данных происходит глобальный сдвиг, поскольку предприятия ищут способы стать быстрее и умнее. Кларенс Рейнольдс встречается с Майком Капоне, генеральным директором Olik, чтобы получить из первых рук информацию о том, как отрасль развивается с управлением данными.
Кларенс Рейнольдс
Опубликовано: Изменено: Читать больше Посмотреть все видео Изображение: Маккензи Берк ЯблокоApple Far Out Recap: новейшее оборудование, программное обеспечение и многое другое от Apple
Apple только что завершила осеннее мероприятие 2022 года Far Out, на котором были представлены новые анонсы линейки Apple, включая iPhone 14, Apple Watch Ultra, AirPods Pro 2 и многое другое.
Кларенс Рейнольдс из TechRepublic беседует с Тамарой Скотт и Каити Нортон, чтобы обсудить событие и технологию, которая скоро будет выпущена.
Кларенс Рейнольдс
Опубликовано: Изменено: Читать больше Посмотреть все видео ИнновацииТоп-5 суперкомпьютеров 2022 года
Tom Merritt входит в рейтинг лучших суперкомпьютеров TOP500 этого года. Также читайте статью по адресу: https://www.techrepublic.com/article/top-supercomputers/
Том Меррит
Опубликовано: Изменено: Читать больше Посмотреть все видео Програмное обеспечение5 вещей, которые вы не знали о Windows 1.0
Том Мерритт выделяет пять вещей, которые вы, возможно, не знали о первой операционной системе Windows. Также прочитайте статью по адресу: https://www.techrepublic.com/article/top-didnt-know-windows/
Том Меррит
Опубликовано: Изменено: Читать больше Посмотреть все видео Мобильность5 лучших альтернатив Google Authenticator
Том Мерритт рассказывает о лучших альтернативах приложению двухфакторной аутентификации Google.