Goal Gesture программирование, IT
6.85K subscribers
142 photos
4 videos
378 links
Новости, статьи и полезные материалы из мира IT

Мы в ВК: https://vk.com/codeupnumber1

По вопросам рекламы и сотрудничества: @AlexKolegov

Прайс: https://vk.com/@codeupnumber1-reklamnyi-prais
Perfluence
Download Telegram
Подходы к функциональному тестированию

Ручное тестирование

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

Автоматизированное тестирование

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

Приемочное тестирование

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

Юнит-тестирование

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

Интеграционное тестирование

Интеграционные тесты фокусируются на том, как операции работают вместе. Зачем нужны десять полнофункциональных модулей, если их нельзя собрать вместе? В то время как сквозные тесты рабочих потоков обычно формируются с точки зрения пользователя, интеграционные тесты больше фокусируются на поведении кода — это другой уровень абстракции. На интеграционные тесты требуется значительно больше времени, чем на юнит-тесты. Они не просто выполняют некие функции и проверяют выходные данные, то есть используют БД для создания записей и манипулирования ими.
В Python 3.10 появятся операторы case и match

Руководящий совет проекта Python утвердил добавление в язык операторов для сопоставления с образцом (match и case). Поддержка новых операторов появится в выпуске Python 3.10. Новые операторы "match" и "case" позволят улучшить читаемость кода, упростят сопоставление произвольных Python-объектов и отладку, а также повысят надёжность кода благодаря возможности расширенной статической проверки типов.

Реализация во многом напоминает оператор "match", предоставляемый в языках Scala, Rust и F#, который выполняет сравнение результата выполнения указанного выражения со списком образцов, перечисленных в блоках на основе оператора "case". В отличие от оператора "switch", доступного в языках Си, Java и JavaScript, выражения на основе "match" предлагают гораздо более широкую функциональность.

def http_error(status):
match status:
case 400:
return "Bad request"
case 401|403|404:
return "Not allowed"
case 418:
return "I'm a teapot"
case _:
return "Something else"


Например, возможна распаковка объектов, кортежей, списков и произвольных последовательностей для привязки переменных на основе имеющихся значений. Допускается определение вложенных шаблонов, использование в шаблоне дополнительных условий "if", применение масок ("[x, y, *rest]"), маппинга связок ключ/значение (например, {"bandwidth": b, "latency": l} для извлечения значений "bandwidth" и "latency" и словаря), извлечения подшаблонов (оператор ":="), использования именованных констант в шаблоне. В классах возможна настройка поведения при сопоставлении при помощи метода "match()".

Источник: https://www.opennet.ru
Подборка крутых WEB API

Web Workers API

API Web Workers позволяет запускать операции сценария в фоновом потоке отдельно от основного потока выполнения веб-приложения.

Web Speech API

Web Speech API позволяет добавить на сайт распознавание голосовых команд. После добавления данного API пользователи смогут выполнять действия на вашем сайте за счет голосовых команд.

Fetch API

Этот API предоставляет интерфейс для получения ресурсов. Он похож на XMLhttpRequest, но предоставляет более мощный и гибкий набор функций.

GamePad API

GamePad API - это способ для разработчиков получать доступ к сигналам геймпадов и других игровых контроллеров и реагировать на них простым и последовательным образом.

Drag&Drop API

Этот API позволяет пользователям в очень простой форме создать объекты, что можно будет перетаскивать на странице вашего веб-сайта за счет нажатия мыши.

Vibration API

Современные телефоны имеют функцию вибрации. API Vibration предлагает веб-приложениям возможность доступа к этому функционалу, если оно существует на телефоне пользователя.

FullScreen API

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

Push API

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

Geolocation API

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

Web Storage API

API веб-хранилища предоставляет механизмы, с помощью которых браузеры могут хранить пары ключ/значение гораздо более интуитивно, чем при использовании файлов Cookie
Релиз ядра Linux 5.11

14 февраля Линус Торвальдс представил новую версию ядра Linux 5.11.

Отметим некоторые изменения новой версии:

• Поддержка анклавов Intel SGX (Software Guard Extensions). Анклавы представляют собой области в виртуальном адресном пространстве, защищенные от изменения извне другими процессами.

• Добавлен новый механизм перехвата системных вызовов. Данная функция особенно необходима для таких систем, как Wine, которым требуется эмулировать системные вызовы Windows в системе Linux. Теперь вместо системного вызова seccomp() используется prctl(). Один из параметров вызова prctl() позволяет включать и отключать перехват вызовов, не выполняя каждый раз обращение к ядру. Таким образом, для Wine это должно привести к заметному повышению производительности.

• Продолжение улучшения поддержки файловой системы Btrfs. Увеличение производительности.

• Улучшение поддержки USB4 и Thunderbolt.

• Поддержка «мульти-ввода» для устройств Synaptics с тензометрическим джойстиком (pointstick).

• Поддержка драйверной технологии Auxiliary Bus.

• Поддержка котроллера Pioneer DJ DDJ-RR.

• Поддержка целого ряда ARM устройств.

• В драйвер iwlwifi добавлена поддержка частот Ultra High Band (6GHz).

• Улучшение поддержки видео-карт AMD, Intel.

• Добавлен PWM драйвер для Intel Keem Bay.

Источник: https://pingvinus.ru/
Росбанк совместно с GlowByte и SAS автоматизировал процессы противодействия отмыванию доходов и финансирования терроризма

Команды Росбанка и GlowByte совместно с SAS завершили проект по автоматизации процессов выявления операций, подлежащих обязательному контролю, а также формированию регуляторной отчетности. Благодаря реализации единого рабочего пространства для специалистов финансового мониторинга и автоматизации текущих процессов ПОД/ФТ, сотрудники банка теперь затрачивают существенно меньше времени на анализ операций, подлежащих обязательному контролю, выявление среди них сомнительных и принятие решений о дальнейших действиях.

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

Успешная реализация проекта по обязательному контролю стала шагом к переходу Росбанка на полную автоматизацию всех процессов по ПОД/ФТ. Разрабатываемая в настоящее время система по мониторингу операций включает в себя онлайн- и офлайн-сценарии по выявлению сомнительных операций, воркфлоу для проведения расследований по клиенту, запросу и проверке документов, а также модули машинного обучения для оценки риска клиента и интеграцию с внешним источником данных СПАРК-Интерфакс.
Меры защиты от массированных атак

1) Скачанное ПО из надежного источника следует проверять на наличие уязвимостей и ошибок, наиболее распространенные публикуются в рейтинге OWASP Top 10.

2) Установленные приложения необходимо своевременно обновлять.

3) Администраторский аккаунт должен снабжаться сложным паролем, доступ к которому имеет один пользователь. Пароли на компьютерах следует периодически менять. Данные для входа в систему уволенных сотрудников необходимо удалять.

4) Вход в интернет необходимо осуществлять по внутренней сети или VPN.

5) Рекомендуется использовать брандмауэр для приложений WAF (Web Application Firewall), который отслеживает легитимность пользовательских запросов и трафик.

6) Рекомендуется использование CDN (Content Delivery Network), которая при задержке посетителей распределяет нагрузку по разным серверам.

7) Трафик необходимо контролировать списком контроля доступа (ACL), где прописаны роли пользователей, их уровни доступа в систему. Дополнительной защитой является установка межсетевых экранов.

8) Для безопасного нахождения в сети необходимо чистить куки, кеш DNS перед каждым входом.

9) Рекомендуется применение защиты от спам-ботов в виде прохождения капчи.

10) Использование нескольких серверов снизит риск перегрузки и предотвратит остановку работы в случае выхода из строя одного из них.

11) Рекомендуется использование аппаратных средств защиты от DDoS-атак. Например, Impletec iCore или DefensePro.

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

13) Необходимо запрограммировать обратные атаки. Это позволит не только отразить киберугрозы, но и разрушить сервер злоумышленников.
Новые функции Android 12

- Уменьшение насыщенности цветов – позволяет приглушить цвета на дисплее, если они кажутся вам слишком яркими и насыщенными;

- Screen Time-out – нужна для кратковременного отключения всех функций смартфона, например, если требуется на чём-то сосредоточиться;

- Обратная отдача для внешних контроллеров – передаёт вибрацию в критических моментах игры со смартфона на контроллер PS или Xbox;

- Индикатор камеры и микрофона – начинает мигать зелёным или оранжевым, когда ведётся аудио- или фото- и видеофиксация (в т.ч. в фоновом режиме);

- Поддержка двойных нажатий на клавишу питания – позволяет делать скриншоты или быстро вызывать Google Assistant (пока неактивна);

- Пролистываемые скриншоты – позволяет сделать скриншот всей веб-страницы целиком или чата (до выбранных самостоятельно пределов);

- Возможность отправить пароль от Wi-Fi – для этого используется технология беспроводной передачи данных Nearby Sharing;

- Улучшенные уведомления – теперь можно с удобством «заснузить» оповещение, удалить его или перейти в настройки;

- Виджеты 2.0 – Google расширила их применение, изменив оформление и разрешив создавать миниатюры текущих задач, например, диалогов в мессенджерах и т.п.;

- Защита приложений – с выходом Android 12 можно будет устанавливать пароли на отдельные приложения по своему желанию;

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

Источник: https://androidinsider.ru
Разница между VPS и VDS

Существуют два термина VPS и VDS, разница между ними трактуется разными людьми по разному. Некоторые воспринимают их как два различных понятия в которых:

• VPS - виртуализация на уровне софта
• VDS - виртуализация на аппаратном уровне

В таком случае действительно VPS и VDS имеют отличия — VPS будет будет более дешёвым (т.к. может присутствовать оверселлинг ресурсов), а VDS более производительным.

С другой точки зрения разницы между VPS и VDS — нет. Это два обозначения одного вида серверов, только одно обозначение зародилось в рунете (VDS), другое пришло в рунет из англоязычного интернета. Т.е. по этой классификации — VPS и VDS не отличаются

Так же существует мнение, что VDS — это выделенный сервер, однако такое мнение ошибочно.

VDS (Virtual Dedicated Server) или VPS (Virtual Private Server) — это одна и та же услуга которая представляет собой физический сервер поделённый на несколько виртуальных серверов для продажи их различным пользователям.

По факту никакой разницы между VPS и VDS нет, это идентичные названия одной услуги.
Что такое AGI, ANI, ASI?

Узкий Искусственный Интеллект (ANI)

Узкий искусственный интеллект (ANI), также известный как слабый искусственный интеллект, является типом искусственного интеллекта, сфокусированного на одной узкой задаче. Он обладает узким диапазоном способностей. Это единственный ИИ на сегодняшний день. Узкий ИИ - это то, с чем большинство из нас взаимодействует ежедневно. Вспомните о Google Assistant, Google Translate, Siri, Cortana или Alexa. Все они являются машинным интеллектом, использующим обработку естественного языка (NLP).

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

Общий Искусственный Интеллект (AGI)

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

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

Искусственный Суперинтеллект (ASI)

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

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

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

Брайан Фой (brian d foy), основатель организации Perl Mongers, опубликовал подробный разбор инцидента, в результате которого домен perl.com был захвачен посторонними лицами. Захват домена не затронул серверную инфраструктуру проекта и был совершён на уровне смены владельца и замены параметров DNS-серверов у регистратора. Утверждается, что компьютеры ответственных за домен также не были скомпрометированы и атакующие пользовались методами социальной инженерии для введения регистратора Network Solutions в заблуждение и смены данных о владельце, используя фальшивые документы для подтверждения прав на владение доменом.

Среди факторов, способствовавших атаке, также упоминаются отключение двухфакторной аутентификации в интерфейсе регистратора и использование контактного email, указывающего на тот же домен. Захват домена был совершён ещё в сентябре 2020 года, в декабре домен был переведён китайскому регистратору BizCN, а в январе для запутывания следов был передан немецкому регистратору Key-Systems GmbH.

До декабря домен оставался в Network Solutions в соответствии с требованиями ICANN, запрещающими передачу домена другому регистратору в течение 60 дней после изменения контактной информации. В случае если бы информация о захвате домена раскрылась до декабря процесс возврата домена существенно бы упростился, поэтому злоумышленники длительное время не меняли DNS-серверы и домен продолжал работать не вызывая подозрений, что помешало своевременному выявлению атаки. Проблема всплыла только в конце января, когда мошенники перенаправили трафик на свой сервер и попытались продать домен на сайте Afternic за 190 тысяч долларов.

Из связанных с языком Perl событий также можно отметить отказ архива модулей CPAN от использования зеркал в пользу применения сети доставки контента, снимающей нагрузку с основного сервера. В июне планируется полностью очистить список зеркал, в котором останется только одна запись - www.cpan.org. Возможность ручной настройки клиента CPAN для работы через явно указанное зеркало сохранится.

Источник: https://www.opennet.ru/
Будущее банковского стресс-тестирования с аналитикой SAS в Azure

Автор: Джон Войт, главный менеджер по бизнес-решениям

В июне 2020 SAS объявила о партнерстве с Microsoft, и в рамках этого партнерства отраслевые решения SAS будут перенесены в Microsoft Azure. Это повлечет за собой изменения в решениях по рискам для финансовых учреждений. Мартим Роша, директор и руководитель отдела решений для управления банковскими рисками в SAS, поделился со мной инсайтами о вызовах, с которыми сталкиваются компании при стресс-тестировании, и рассказал о преимуществах перехода в облако.


С какими проблемами в рамках стресс-тестирования сталкиваются специалисты?

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

Как пандемия изменила подход банков к стресс-тестированию?

Пандемия COVID-19 выявила недостатки регуляторного стресс-тестирования. Мы видели, как экономика рушится намного быстрее и серьезнее, чем предполагалось даже при самых суровых сценариях регулирования. В результате мы видим, что регуляторы начинают совершенствовать собственные пруденциальные стресс-тесты с более широким разбросом экономических сценариев.

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

Какие преимущества получат финансовые учреждения от использования облачного стресс-тестирования SAS?

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

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

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

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

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

Как банкам начать работу со стресс-тестированием в облаке SAS?

Легко – мы упростили процесс соглашения об уровне обслуживания (SLA). Объединив программное обеспечение и размещенное решение SAS в Azure в одно соглашение об уровне обслуживания, клиенты получают единую точку контакта для решения вопросов, связанных как с контрактами, так и с операционными проблемами. Мы также предлагаем более стандартизированные цены и технические среды для ускорения первого развертывания.

Теперь финансовым учреждениям любого размера будет проще внедрить отраслевое решение SAS для стресс-тестирования. Решение также можно масштабировать для поддержки других аналитических потребностей в организации, таких как МСФО 9 и CECL.

Вы можете узнать больше по этой теме – скачайте электронную книгу «Reimagine Analytics in the Cloud With SAS and Microsoft Azure» на английском языке.
Почему не любят 1C-программистов

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

За время своего существования компания не раз совершенствовала свои программные продукты. Версия 6.0 была не намного сложнее, чем введение бухгалтерского учета в таблицах Excel. Сменившая её 7-я версия стала более мощным продуктом. Программный продукт 1С 7.7 получил очень широкое распространение в бухгалтерских кругах. За версией 7.7 последовали версии 8.0., 8.2 и сервер 1с 8.3.

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

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

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

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

Из вышесказанного следует, что пользователь сталкивается линейкой программ, которые часто выдают ошибки и требуют постоянного обновления. Это и вызывает незамедлительную негативную реакцию. Причем процесс обновления является, отнюдь не бесплатным. И весь это негатив переходит на программистов, так как именно они занимаются обслуживанием программ.
@devlib_books - канал с книгами для программистов разных областей. Подписывайся и читай бесплатно то, за что иногда приходится платить.
Google анонсировала поддержку веб-приложений в Flutter 2

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

Обновление продолжает эволюцию Flutter из простого конструктора пользовательского интерфейса в универсальный инструментарий разработки ПО: отныне Flutter можно использовать для создания полнофункциональных веб-приложений.

Релиз, получивший название Flutter 2, поддерживает такие веб-инновации, как расширенные платформенные API, которые позволяют создавать сложные приложения с аппаратным ускорением 2D- и 3D-графики и гибким экранным интерфейсом.

Оптимизируя работу приложений в браузере, команда Flutter добавила новый движок рендеринга на базе CanvasKit, автозаполнение текста, контроль адресной строки и маршрутизации, горячие клавиши и специальные возможности систем Windows, macOS и ChromeOS. Также в Flutter 2 вошли бета-релиз Google Mobile Ads для создания различных форматов рекламы в приложениях Flutter, и Flutter Fix — для адаптации существующего кода к новой версии Flutter API.

Перенос приложений в Веб стал возможен также благодаря оптимизированному для клиента языку программирования Dart, на котором написан Flutter. Этот созданный Google язык обновлен до версии 2.12, чтобы соответствовать новому выпуску. Он кроме того используется для написания приложений на Flutter и может перекомпилировать свой код в JavaScript, основной язык программирования для Интернета.

Google утверждает, что в Google Play уже имеется более 150 тыс. программ, созданных с помощью Flutter. Благодаря автоматическому бесплатному обновлению до Flutter 2 теперь все они готовы к работе как с настольными ПК, так и с Интернетом.
5 багов, которые привели к самым большим проблемам в истории

1) AT&T – сбой в предоставлении услуг на длительных расстояниях (1990)

(AT&T – крупнейшая в мире телекоммуникационная компания, базируется в США, – прим. перев.). В январе 1990 года в течение 9 часов никто из пользователей AT&T не мог совершать телефонные звонки на дальние расстояния. Проблема была в недавно обновленном программном обеспечении, которое управляло коммутаторами компании. В денежном выражении AT&T потеряла 60 миллионов долларов. Это был очень дорогой баг.

2) Математическая ошибка чипа Pentium (1993)

Благодаря программной ошибке у Pentium, известного чипа компании Intel, появились проблемы с математикой. Допускаемые ошибки были довольно незначительными (где-то в восьмом знаке после запятой в дробных числах) и происходили только в некоторых случаях.

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

3) В космосе разваливается Mars Climate Orbiter (1998)

Космический зонд НАСА стоимостью в 655 млн. долларов вошел в верхнюю атмосферу Марса под неправильным углом и сгорел в процессе. Из-за чего? Из-за программного обеспечения. В компьютерах, запущенных на Земле, тяга двигателей вычислялась с неправильными единицами измерения. Были использованы фунто-секунды вместо ньютоно-секунд, предусмотренные контрактом между NASA и Lockheed. К счастью, в последующих миссиях на Марс в программах уже использовались правильные измерения.

4) Windows блокирует не-пиратское ПО (2007)

24 августа 2007 года в течение 19 часов любой, кто пытался установить Windows, получал сообщение от антипиратской программы Microsoft, что он устанавливает пиратскую копию. То есть, купив Windows Vista, вы обнаруживали, что в качестве наказания у вас отключены некоторые функции. Здесь сыграл роль и человеческий фактор (помимо технических проблем). Кто-то установил на сервера Microsoft раннюю версию программы Genuine Advantage, содержащую баги.

5) Apple Maps направляет нас в никуда (2012)

В ходе соперничества с Google, Apple решила избавиться от популярного приложения Google Maps. Это приложение всегда появлялось на новых iPhone. Компания заменила его новым, собственным картографическим приложением.

Но в Картах Apple целые озера, вокзалы, мосты и туристические достопримечательности были пропущены или неправильно обозначены. Монумент Вашингтона переместился на другую сторону улицы. В Джексонвилле (штат Флорида) появился Риверсайдский госпиталь, хотя он еще 11 лет назад превратился в супермаркет Publix. В 3D-просмотре в этом приложении мосты и дамбы, казалось, тают в воде, а главный вокзал новозеландского Окленда был посреди океана.

Данные, на которых основаны картографические приложения, поступают из десятков различных специализированных баз данных. Т.е., отдельных баз по дорогам, фотографиям спутников, достопримечательностям и т. д. Но для их объединения нужны не только умные программы, но и тысячи человеко-часов ручного труда. У Google на выполнение этой работы были годы, а у Apple – нет. Понемногу компания Apple исправила эти проблемы, но у нее могут возникнуть трудности с восстановлением доверия пользователей к этим Картам.
Компьютер научился создавать 3D-голограммы в режиме реального времени

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

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

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

Ведущий автор исследования Лианг Ши считает, что эта работа поспособствует реализации голографии в 3D и VR.
Плохие привычки программиста

1) Не охота учить больше

Сфера IT никогда не стоит на месте. Если у вас нет желания постоянно учиться, то вам нужно себя пересиливать. В противном случае вы перестанете быть хорошим специалистом.

2) Защищать свой код

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

3) Винить других

Вы любите обвинить кого-то? Признание своих ошибок очень важный навык. Он помогает вам расти как специалист.

4) Оставлять ошибки

Ваши ошибки в коде сейчас не являются проблемой? Лучше выработайте привычку устранять ошибки в коде сразу, прежде чем они станут реальной проблемой.

5) Кража кода

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

6) Пора сдаться

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

Анализ патентов показал, что Китай лидирует в разработке квантовых технологий.

Анализ провела компания Valuenex. Сначала специалисты взяли все патенты, связанные с квантовыми технологиями. Тут лидером стала американская IBM со140 патентами. Microsoft заняла третье место с 81 патентом, а Google — четвёртое с 65 патентами.

Однако, когда дело дошло до квантовой связи и криптографии, лидером оказался Китай. Huawei, например, заняла второе место со 100 патентами, а Пекинский университет почты и телекоммуникаций — четвёртое с 84 патентами.

В итоге по квантовым технологиям Китай имеет более 3000 патентов, что в два раза больше, чем у США.
Знакомая ситуация: хочешь вызвать такси, уже выбрал маршрут, а кнопка «Заказать» не работает. Злишься, пробуешь перезагрузить приложение, в итоге пишешь гневную жалобу и заказываешь машину в другом приложении.

Кто виноват? Ретроградный Меркурий, нагрузка на приложение в 9 утра понедельника или недобросовестный тестировщик, который не нашел все баги? Скорее, последнее. А ведь это — одна из самых простых профессий в IT, и от специалистов-тестировщиков зависит действительно многое. Компании борются за профессионалов.

Для тех, кто хочет стартовать в IT, но не погружаться в программирование с головой (да, такое бывает), в SkillFactory есть курс-симулятор «Тестировщик ПО». Постепенно, под руководством опытных тестировщиков вы:
🔹освоите навыки автоматизации тестирования;
🔹начнете изучать основы синтаксиса Python;
В итоге — лучшие студенты получат место QA-инженера в стартапе.

Сегодня на курс действует скидка 40%, успейте записаться: https://clc.am/PwScUg
Основные нововведения Java 16

• Использование оператора instanceof в Pattern Matching, который проверяет тип данных.

Например, если раньше писали:

if (obj instanceof String) {
String s = (String) obj;
// действия с переменной s
}


то сейчас этот код можно сократить:

if (obj instanceof String s) {
// действия с переменной s
}


• Специальные типы классов, которые представляют номинальные кортежи для хранения неизменяемых данных - записи или Records (в рамках Preview)

• Возможности стандарта C++14 теперь можно использовать в исходном коде JDK

• Изменения в работе сборщика мусора ZGC: Concurrent Thread-Stack Processing

• Добавлена поддержка каналов сокетов UNIX (UNIX-Domain Socket Channels)

• Добавлено Vector API (на стадии Incubator) (API для операций с векторами)

• Добавлено Foreign Linker API (на стадии Incubator) (API для доступа из Java к нативному коду)

• Обновлено Foreign Memory Access API (на стадии Incubator 3) (API для доступа к памяти вне управляемой кучи Java)

• Функциональность закрытых классов (Sealed Classes) переведена на стадию Preview 2

• Добавлена поддержка Alpine Linux

• Добавлена поддержка Windows/AArch64

• Добавлены инструменты для упаковки приложений Java - Packaging Tool

Источник: https://metanit.com