Русский
Русский
English
Статистика
Реклама

Быстрый сервер

Перевод Отслеживание и визуализация положения МКС с помощью 30 строк JavaScript-кода

15.05.2021 14:20:40 | Автор: admin


Предлагаю вашему вниманию перевод этой замечательной статьи.

В этом туториале мы создадим веб-приложение, визуализирующее положение любого спутника, например, Международной Космической Станции (далее МКС), в режиме реального времени (ну, почти).

Мы создадим приложение с нуля и примерим на себя роль настоящего ученого в области ракетостроения.

  • Мы узнаем, где найти данные для отдельного спутника, известные как двухстрочный набор элементов (two-line element set, TLE) (далее ДНЭ)
  • Мы используем библиотеку satellite-js для предсказания орбиты спутника по ДНЭ (это часть напрямую связана с ракетостроением)
  • Мы используем библиотеку CesiumJS для визуализации результата, однако, вы можете использовать любую библиотеку/движок, которые умеют работать с долготой, широтой и высотой

Превью конечного результата:



Здесь мы видим движение МКС по орбите со скоростью, увеличенной в 40 раз. Для того, чтобы увидеть текущее положение МКС, нажмите на иконку часов в верхнем левом углу панели управления.

1. Получение ДНЭ


ДНЭ это формат данных, описывающий движение объекта, вращающегося по орбите вокруг Земли. Он был создан Командованием воздушно-космической обороны Северной Америки (North American Aerospace Defense Command, NORAD). Подробнее об истории его создания можно прочитать здесь.

Имея описание орбиты, мы можем предсказывать локацию, в которой будет находиться спутник, в любой момент времени (см. ниже).

Это означает, что большинство устройств, отслеживающих положение спутников, делают это не совсем в режиме реального времени. Вместо того, чтобы получать непрерывно обновляющиеся данные, как, например, при отслеживании движения автомобиля, они используют последние доступные ДНЭ для предсказания положения объекта в определенный момент времени.

Где нам взять ДНЭ? Глобального реестра с такими данными не существует. За публикацию и обновление этих данных для космического сообщества отвечает тот, кому принадлежит тот или иной спутник (разумеется, если речь не идет о спутнике-шпионе).

Мы можем найти ДНЭ на сайте Space Track, который является реестром Космического командования Вооруженных сил США.

Другой ресурс этот список на CeleStrak (прим. пер.: для доступа к сайту требуется VPN), поддерживаемый доктором T.S. Kelso.

Мы будем использовать последний, поскольку он не требует регистрации. Для того, чтобы найти ДНЭ для МКС, нажмите на ссылку Space Stations.

Первой в списке будет МКС:

ISS (ZARYA)
1 25544U 98067A 21122.75616700 .00027980 00000-0 51432-3 0 9994
2 25544 51.6442 207.4449 0002769 310.1189 193.6568 15.48993527281553


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

На указанном ресурсе можно найти ДНЭ для метеорологических спутников, спутников GPS и даже для глобальной спутниковой системы Starlink, разворачиваемой SpaceX.

2. Предсказание орбиты спутника


Следующим нашим шагом является преобразование ДНЭ в определенную позицию во времени.

Для этого мы будем использовать satellite-js.

Подключаем библиотеку из CDN:




Затем передаем ей ДНЭ и время:

const ISS_TLE =
`1 25544U 98067A 21122.75616700 .00027980 00000-0 51432-3 0 9994
2 25544 51.6442 207.4449 0002769 310.1189 193.6568 15.48993527281553`;
// Инициализируем запись о спутнике с помощью ДНЭ
const satrec = satellite.twoline2satrec(
ISS_TLE.split('\n')[0].trim(),
ISS_TLE.split('\n')[1].trim()
);
// Получаем текущую позицию спутника
const date = new Date();
const positionAndVelocity = satellite.propagate(satrec, date);
const gmst = satellite.gstime(date);
const position = satellite.eciToGeodetic(positionAndVelocity.position, gmst);

console.log(position.longitude); // в радианах
console.log(position.latitude); // в радианах
console.log(position.height); // в км


Теперь у нас имеется текущее положение спутника (new Date()).

Данное положение является результатом построения определенной модели движения спутника. Эта модель называется SGP4/SDP4. Все ДНЭ следуют этой модели.

Если вас интересует, насколько точной является указанная модель, то короткий ответ звучит так: это зависит от нескольких факторов.

Точность ДНЭ зависит от нескольких факторов. Эти факторы включают в себя сенсоры, которые использовались для сбора данных, количество собранных данных о данном типе орбит, условия космической среды и т.д. К сожалению, поскольку названные факторы являются очень разными для каждого элемента набора, точность является не очень высокой. Несмотря на то, что NORAD проводит эксперименты по повышению точности предсказания движения спутников, ни один из методов не является идеальным.


3. Визуализация результата


Теперь у нас имеется возможность получать позицию спутника в заданный момент времени. Мы можем использовать это для анимирования пути спутника.

Но сначала давайте посмотрим, как анимировать отдельную точку в космосе с помощью CesiumJS.

Подключаем библиотеку вместе со стилями:

<script src="http://personeltest.ru/aways/cesium.com/downloads/cesiumjs/releases/1.81/Build/Cesium/Cesium.js"></script><link href="http://personeltest.ru/aways/cesium.com/downloads/cesiumjs/releases/1.81/Build/Cesium/Widgets/widgets.css" rel="stylesheet">


Создаем контейнер:

<div id="cesiumContainer"></div>


Дальше нам нужно инициализировать так называемого обозревателя (viewer). Мы передаем ему несколько дополнительных настроек для отключения функциональности, которая требует наличия токена доступа:

const viewer = new Cesium.Viewer('cesiumContainer', {  imageryProvider: new Cesium.TileMapServiceImageryProvider({    url: Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"),  }),  baseLayerPicker: false, geocoder: false, homeButton: false, infoBox: false,  navigationHelpButton: false, sceneModePicker: false});viewer.scene.globe.enableLighting = true;


Наконец, мы можем визуализировать положение спутника в виде красной точки в космосе:

const satellitePoint = viewer.entities.add({  position: Cesium.Cartesian3.fromRadians(    position.longitude, position.latitude, position.height * 1000  ),  point: { pixelSize: 5, color: Cesium.Color.RED }});


Вот полный код данного шага на Glitch.

4. Анимируем путь


Для анимирования пути нам всего лишь нужно получить еще несколько будущих позиций спутника. CesiumJS поддерживает интерполяцию (переход) между позициями в течение времени из коробки.

Реализация анимации несколько многословна. Вот соответствующий код на Glitch. Ниже описаны самые важные концепции.

Мы создаем SampledPositionProperty. Это объект, содержащий позиции во времени, между которыми осуществляется переход:

const positionsOverTime = new Cesium.SampledPositionProperty();


Мы перебираем позиции в любом количестве, и для каждой позиции создаем объект со временем, который называется JulianDate в CesiumJS, а также саму позицию и добавляем их в качестве образца (sample):

for (let i = 0; i < totalSeconds; i+= timestepInSeconds) {  const time = Cesium.JulianDate.addSeconds(start, i, new Cesium.JulianDate());  // Получаем позицию с помощью satellite-js  const position = Cesium.Cartesian3.fromRadians(p.longitude, p.latitude, p.height * 1000);  positionsOverTime.addSample(time, position);}


Наконец, мы передаем positionsOverTime в нашу точку:

const satellitePoint = viewer.entities.add({  position: positionsOverTime,  point: { pixelSize: 5, color: Cesium.Color.RED }});


Точка будет двигаться вместе с временной шкалой. Для прикрепления камеры к движущейся точке делаем следующее:

viewer.trackedEntity = satellitePoint;


Заключение


Надеюсь, вам было интересно немного узнать о том, как создаются программы для отслеживания спутников. Конечно, многие вопросы остались без ответа, например, что означает каждый параметр ДНЭ? Как часто они обновляются? Каким именно образом происходит их обновление?

Лично мне было очень интересно узнать о существования таких данных, о том, как их получить и использовать прямо в браузере с помощью JavaScript.

Вот парочка идей о том, что еще можно с этим сделать:

  • Визуализация нескольких спутников, например, спутниковой системы Starlink. В качестве источника для вдохновения можно использовать Celestrak viewer, показывающий каждый спутник из каталога. Можно, например, визуализировать рост количества спутников Starlink в течение времени
  • Отслеживание и визуализация положения спутника на уровне городской улицы. Можно добавить поиск здания или высоты с наилучшими условиями для наблюдения за спутником

Вот прототип второй идеи на Glitch. Демо: .

Также советую взглянуть на приложение See a satellite tonight, разработанное James Darpinian, в котором используется комбинация CesiumJS и Google улиц.

Кроме того, те, кто разбирается/увлекается 3D-моделированием, могут представить спутники не в виде точек, а в реальном масштабе для демонстрации того, насколько близко друг к другу они находятся в космосе.

Прим. пер.: мой вариант приложения выглядит так:



Благодарю за внимание и хорошего дня!



Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Мы работаем во тьме кодинг глазами незрячих программистов

21.05.2021 10:23:30 | Автор: admin


We work in the dark we do what we can we give what we have. Our doubt is our passion and our passion is our task. The rest is the madness of art.

Henry James, The Middle Years

Согласно статистическим данным ВОЗ, в той или иной степени нарушениями ближнего или дальнего зрения страдают около 2.2 миллиардов человек, из которых не менее 40 миллионов абсолютно слепы.

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

Кроме того мы расскажем несколько историй слепых программистов и их лайфхаков, позволяющим быть не менее эффективными, чем зрячие коллеги.

Клавиатура, наушники и ничего лишнего


Бытует мнение, что для полноценной работы незрячие программисты нуждаются в дорогостоящих гаджетах и программном обеспечении. На самом деле это не совсем так: многие из них успешно обходятся бесплатным ПО и стандартными устройствами ввода.


Тука Ояла в офисе Vincit, расположенном в Тампере

На фотографии выше представлено рабочее место Туки Оялы, занятого в компании Vincit, специализирующейся на разработке и сопровождении интеллектуальных ERP-систем. На столе финского программиста вы не увидите ровным счетом ничего необычного: клавиатура, ноутбук, USB-хаб все то же самое, что используют его соседи по опен-спейсу. А вот мыши и монитора среди рабочих девайсов Оялы нет: поскольку молодой человек практически полностью утратил способность видеть, подобное оборудование ему попросту ни к чему. Для запуска служебных утилит он использует консольные команды, для навигации между окнами и вызова контекстного меню стандартные комбинации клавиш и предварительно настроенные хоткеи, а следить за происходящим на рабочем столе ему помогает скринридер экранный диктор, скрупулезно озвучивающий все действия программиста и зачитывающий вводимый код.

Ассортимент подобного софта достаточно широк, причем помимо дорогостоящих решений, вроде JAWS от Freedom Scientific, существуют и бесплатные пакеты, зачастую ни в чем не уступающие коммерческим аналогам. Сам Тука Ояла предпочитает пользоваться приложением Nonvisual Desktop Access бесплатной программой, разрабатываемой незрячими программистами Майклом Карраном и Джеймсом Те.


Майкл Карран и Джеймс Те создатели экранного диктора Nonvisual Desktop Access

NVDA лучший скринридер среди всех, с какими я когда-либо работал. Парадоксально, но будучи бесплатным данный продукт развивается значительно быстрее и отличается лучшей поддержкой, чем множество коммерческих аналогов, включая даже систему VoiceOver от Apple, которая крайне редко обновляется и использует весьма неудобную модель навигации.

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


Комбинированное устройство для работы за компьютером, объединяющее дисплей и клавиатуру Брайля

Большинство подобных дисплеев способно выводить от 40 до 80 символов одновременно, а многие современные модели оснащены встроенной клавиатурой, позволяющей набирать буквы, цифры и пунктуационные знаки путем нажатия 6 клавиш, каждая из которых соответствует одной из точек брайлевского кода.


В азбуке Брайля символы кодируются шестью точками

Для формирования тактильно-рельефной поверхности в брайлевских дисплеях применяются дорогостоящие пьезокристаллические элементы, что негативно сказывается на ценах подобных устройств. На момент написания данного материала за одну из самых бюджетных моделей, Orbit Reader, просят 65 тысяч рублей, тогда как за наиболее совершенное на сегодняшний день устройство, ALVA BC680, придется выложить уже 900 (!) тысяч рублей. По иронии судьбы девайсы, призванные обеспечивать доступность работы на ПК для незрячих и слабовидящих, оказываются недоступны подавляющему большинству тех, кто по-настоящему в них нуждается.


Цены на дисплеи Брайля поражают воображение

Впрочем, не стоит отчаиваться: к подобным девайсам следует относиться лишь как к полезной, но отнюдь необязательной, опции. Более того, многие незрячие программисты находят дисплеи и клавиатуры Брайля чрезвычайно неудобными. К таковым относится, например, Флориан Бэйджерс, программист из Нидерландов, известный в сети под ником Zersiax.

Сорвиголова из соседнего офиса


В отличие от своего коллеги из Финляндии, Бэйджерс не видит с детства, однако при этом считает брайлевские девайсы чем-то вроде дорогой игрушки: побаловаться, конечно, можно но для реальной работы они решительно не годятся. Действительно, зачем нажимать 6 клавиш, чтобы набрать один символ, если можно обойтись одной или двумя кнопками? И зачем тратить время на ощупывание дисплея Брайля, если скринридер способен за это же время передать в десятки раз больше информации?


Одна из самых любимых фотографий Флориана Бэйджерса. По словам друзей, на ней он получился лучше всего

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

Давайте проведем небольшой эксперимент: напишем простой код на Python и посмотрим, как его будет озвучивать тот же NVDA. Пускай после запуска наш скрипт попросит пользователя ввести целое число, а затем определит, является ли оно положительным.

x = int(input('Введите целое число:\n'))if x > 0:print('Икс больше нуля')else:print('Икс меньше нуля')

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

Теперь сделайте следующее: включите секундомер на ПК или смартфоне, засеките время, за которое сможете прочитать этот код и запишите результат.

Скринридер проговорит данный блок кода примерно следующим образом:

икс равно int открывающая скобка ввод открывающая скобка одинарная кавычка введите целое число двоеточие обратная косая черта эн одинарная кавычка закрывающая скобка закрывающая скобка если икс больше нуль двоеточие пробел пробел пробел пробел печать открывающая скобка одинарная кавычка икс больше нуля одинарная кавычка закрывающая скобка иначе двоеточие пробел пробел пробел пробел печать открывающая скобка одинарная кавычка икс меньше нуля одинарная кавычка закрывающая скобка

Повторите манипуляцию с секундомером: прочтите данный абзац в привычном для себя темпе, засеките время и сравните с предыдущим результатом. Не особо впечатляет, не так ли? Можно подумать, что незрячие программисты работают в несколько раз медленнее, чем зрячие, однако это заблуждение: лишенные зрения разработчики вполне способны писать и читать код в том же темпе, что и их коллеги с безупречным зрением. Не верите? Тогда послушайте, как звучит скринридер Флориана Бэйджерса:

https://soundcloud.com/freecodecamp/zersiaxs-screen-reader

Даже если вы безупречно владеете английским языком, то вряд ли разобрали хотя бы одно слово. Однако для незрячих программистов воспринимать код, зачитываемый со скоростью 420450 слов в минуту в порядке вещей (для сравнения, скорость обычной разговорной речи составляет 120150 слов в минуту). А чтобы еще больше повысить свою продуктивность, можно прибегнуть к интеллектуальным функциям экранного диктора.

Подобные приложения позволяют существенно оптимизировать процесс зачитывания текста с дисплея. Давайте вернемся к нашему скрипту и посмотрим, как добиться того, чтобы скринридер тратил меньше времени на его прочтение, а сам код звучал более понятно для программиста. Первое, что приходит в голову привязать последовательность из четырех пробелов к ключевому слову отступ, что уже заметно сократит время озвучивания. Переменные и данные скринридер способен зачитывать разными интонациями (своеобразная аудиоподсветка синтаксиса), а поскольку наша программа ориентирована на русскоязычных пользователей, все становится еще проще, ведь можно сделать так, чтобы операторы и функции зачитывались по-английски (иф, вместо если, принт вместо печать и т.д.), что поможет ориентироваться еще лучше. А чтобы не путаться в целочисленных и строковых данных, можно сделать так, чтобы цифры озвучивались по-разному в зависимости от контекста, например, в нашем случае ноль и нуль (аналог для английского языка nil и zero). Благодаря таким ухищрениям и высокой скорости зачитывания незрячие программисты получают возможность работать также быстро, как и их зрячие коллеги.

Возможности, предоставляемые скринридерами, полностью устраивают и Пархама Дустара, незрячего бэкенд-разработчика Booking.com.


Пархам Дустар, бэкенд-разработчик Booking.com

Я не пользуюсь клавиатурой Брайля: набирать каждый символ, используя 6 клавиш вместо одной непродуктивно. Я не пользуюсь дисплеем Брайля: мой скринридер зачитывает код со скоростью 420 слов в минуту, что позволяет мне работать в разы быстрее.

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


Выступление Лукаса Радаэлли с докладом Доступность и универсальный дизайн: разработка программного обеспечения для всех, Interaction South America, 2017 год.

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

Кстати, в своей работе Лукас Радаэлли использует многофункциональный текстовый редактор Emacs, написанный Ричардом Столлманом, и тесно интегрированный с ним скринридер Emacspeak, разработанный Т.В. Раманом незрячим программистом, занятым в Google Research и курирующим вопросы доступности продуктов корпорации для людей с нарушением зрительных функций.


Т.В. Раман и его верный друг и напарник собакаповодырь Хаббелл

Возможности, предлагаемые связкой Emacs/Emacspeak всецело устраивают Лукаса, так что он, как и многие его коллеги, считает нецелесообразным использование брайлевской периферии. Учитывая, что разработчик научился ориентироваться в коде на слух ничуть не хуже, чем Мэттью Мердок в пространстве, эти девайсы практически не дали бы ему сколь-либо значимого выигрыша в скорости.

А вот украинский веб-разработчик Дмитрий Попов, автор проекта Детектор WEB-доступности, и вовсе полагает, что работа с экранным диктором дает определенные преимущества по сравнению с традиционным написание кода.


Дмитрий попов выступает на конференции Web Standards Days в Киеве с докладом Как незрячие люди видят ваш сайт, 2016 год

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

Жизнь вне зоны доступа


Впрочем, не стоит полагать, что незрячие разработчики в принципе не сталкиваются с какими-либо проблемами при написании кода. Таковые существуют, их немало, но все они так или иначе связаны с одним простым словом доступность.

Проблемы с доступностью множества сервисов и приложений существенно осложняют жизнь пользователям с нарушениями зрительных функций. Причины данного явления банальны. С одной стороны, бизнес не желает нести дополнительные затраты на адаптацию ПО, полагая, что они попросту не окупятся. В то же время, отнюдь не каждая организация обязана внедрять подобный функционал: к сожалению, в законодательстве множества стран ответственность за несоблюдение норм доступности предусмотрена лишь для органов государственной власти, государственных же компаний и их партнеров, а также предприятий, занятых в общественно значимых отраслях (например, в сфере здравоохранения), тогда как на частный бизнес распространяются лишь необязательные для исполнения рекомендации. Отсутствие жесткого регулирования негативно сказывается и на работе незрячих программистов.

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

Когда Пархам Дустар лишь начинал свой путь PHP-разработчика, ему пришлось отказаться от популярной IDE PHPStorm в пользу Zend Studio, основанной на PHP Development Tools от Eclipse Foundation именно по причине проблем с доступностью сред разработки компании JetBrains для слабовидящих и незрячих пользователей, что отмечают и многие другие программисты.

Пускай IDE на базе Eclipse не идеальны, но с доступностью у них все на порядок лучше, чем, например, у сред разработки JetBrains. Так устроен современный рынок: в погоне за прибылью компании часто забывают о потребностях людей с ограниченными возможностями, ориентируясь лишь на запросы большинства, сетуетДустар.

К сожалению это утверждение применимо к подавляющему большинству компаний, независимо от их размера и годового оборота. Так, например, именно из-за проблем с доступностью Тука Ояла был вынужден сменить операционную систему, перейдя с Mac OS на Windows 10.


Сложись обстоятельства иначе, я продолжил бы работать на Mac OS. Я все еще считаю, что с точки зрения юзабилити это наиболее оптимальная операционная система из всех существующих, поскольку в ней четко соблюдается баланс между удобством и функциональностью. Преимущество же Windows заключается в максимальной доступности для незрячих и слабовидящих здесь ей нет равных, говорит Ояла.

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

Я бы с радостью работал в Vim или Emacs, ведь для незрячего программиста такие редакторы достаточно удобны. Но чтобы лучше взаимодействовать с коллегами, я использую IDE на базе Eclipse и Visual Studio. Что поделать, если у современных разработчиков консольные редакторы вызывают священный ужас, а название Vim у них ассоциируется со средством для мытья посуды, смеется Флориан Бэйджерс.


Кстати, забавный факт: несмотря на свои названия Visual Studio и VS Code весьма неплохо адаптированы под потребности визуально ограниченных людей, а вот у Microsoft Access с доступностью серьезные проблемы.

А вот и другой пример конфликта интересов: зрячие и незрячие программисты имеют совершенно разные представления о читаемости кода. Камнем преткновения здесь становятся отступы, наличие которых, с одной стороны, заметно упрощает визуальное восприятие исходников, но в то же время делает менее удобным использование скринридеров.

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


По этой причине работа с таким языком, как Python, в котором отступы формируют блоки кода, оказывается для незрячего программиста куда менее приятной, чем с тем же C++: постоянно выслушивать, как скринридер проговаривает глубину отступов чрезвычайно утомительно, к тому же, отнимает кучу времени.

Впрочем, даже если бы проблемы с доступностью были решены раз и навсегда, естественные ограничения никуда бы не исчезли. По вполне очевидным причинам незрячие программисты не могут полноценно работать с фронтендом: их деятельность может быть связана со всем, что происходит под капотом приложений, но практически никак не затрагивает визуальные интерфейсы. Разумеется, это не жесткое правило. Тука Ояла отмечает, что лично для него настоящим спасением стали CSS-фреймворки вроде Bootstrap:

Благодаря системе сеток я способен самостоятельно набросать базовую версию пользовательского интерфейса, а значит, и написать полноценное приложение без посторонней помощи. Разумеется, для выпуска в продакшн его придется дорабатывать зрячему фронтэндеру, но факт остается фактом: до известной степени я могу участвовать и в разработке интерфейсов.

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

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



Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru