Как стать автором
Обновить
16
0

Пользователь

Отправить сообщение

Подготовка смартфона на BlackBerry OS 10 к 4 января 2022 года

Время на прочтение5 мин
Количество просмотров11K

Всем привет. В конце прошлой статьи я упомянул о том, что компания BlackBerry прекращает поддержку устройств на базе собственной операционной системы. К слову, эта дата несколько раз откладывалась. Первоначальные замыслы компании по закрытию инфраструктуры в ходе процесса End of Life были запланированы на 2019 год. Однако в благодарность своим пользователям BlackBerry объявила, что будет поддерживать критически важную инфраструктуру и по окончании 19 года. И вот, весной 2020 года поступила конкретика на этот счёт - сервера отключат 4 января 2022 года. Т.е осталось буквально пол месяца и к этому моменту нужно подготовить свои устройства.

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии23

Эффективное тестирование с помощью Pytest

Время на прочтение17 мин
Количество просмотров34K

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии5

Владимир Сурдин: Чёрные дыры 2021

Время на прочтение5 мин
Количество просмотров8.7K
image


Предлагаем вашему вниманию «1-минутный конспект» и «10-минутный конспект со слайдами», а кому понравится, то смотрите прекрасную 2-часовую лекцию.

  • Под каким углом влетать в черную дыру.
  • Как построить двигатель на черной дыре.
  • Как в МГУ носили Хокинга на руках.
  • Какая температура черной дыры.
  • Кто и как поймал гравитационную волну.
  • 36+29=62
  • Как нашли черную дыру с массой 4 млн масс Солнца.
  • Звезда летающая со скоростью 7000 км/с.
  • Кто ввел в обиход термин «черная дыра?»
  • Почему звёзды любят жить парами.
  • Как намотать луч света на черную дыру.
  • У нейтронной звезды можно увидеть сразу два полюса.
  • Какими телескопами наблюдаю за черными дырами.

Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии3

Лайфхаки от Boomburum-а

Время на прочтение13 мин
Количество просмотров49K

Привет, Хабр! В моей голове долгое время скребётся тараканом идея рассказать вам про пару лайфхаков, которые я использовал когда-то или продолжаю использовать до сих пор. Нашёл свободную минутку и предлагаю вашему вниманию 20 килознаков — надеюсь, что-нибудь пригодится и вам. 

Читать далее
Всего голосов 141: ↑131 и ↓10+121
Комментарии98

Fast Hough Transform: от Эльбруса до КОМДИВа

Время на прочтение11 мин
Количество просмотров6.1K

На протяжении пяти лет мы в Smart Engines рассказываем вам о том, как оптимизируем свой софт под процессорную архитектуру Эльбрус. Обычно мы делимся с вами феерическими результатами, когда на Эльбрусах нам удается распознавать почти так же быстро, как на топовых иностранных процессорах. Сегодняшняя статья посвящена описанию оптимизированных «внутренностей» одного крайне важного для всех систем компьютерного зрения алгоритма – быстрого преобразования Хафа. Кроме того, расскажем еще об одном крайне интересном семействе отечественных архитектур – микропроцессорах КОМДИВ.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии1

7 лучших библиотек для создания молниеносно быстрых приложений ReactJS

Время на прочтение6 мин
Количество просмотров18K

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

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

Давайте начнем.   

.     .     .

Читать далее
Всего голосов 16: ↑12 и ↓4+8
Комментарии6

CORS для чайников: история возникновения, как устроен и оптимальные методы работы

Время на прочтение17 мин
Количество просмотров368K


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

Если вы давно хотели разобраться в CORS и вас достали постоянные ошибки, добро пожаловать под кат.

Ошибка в консоли вашего браузера


No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/

Access to fetch at ‘https://example.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy.


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

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

Но давайте-ка пойдем к истокам…
Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Комментарии14

Генетический алгоритм vs алгоритм роя частиц

Время на прочтение11 мин
Количество просмотров14K

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

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

Ознакомиться
Всего голосов 17: ↑17 и ↓0+17
Комментарии16

Runtime Type Safety in Typescript (Возможна ли удобная проверка типов в рантайме)

Время на прочтение12 мин
Количество просмотров14K

Относительная простота и доступность Javascript, относительная легкость входа в него предопределила на многие годы вперед его популярность. Некоторые языки программирования существенно повлияли на развитие всей отрасли в целом. Так, например SmallTalk стал неким прадедушкой ООП и объектного подхода, хоть сам по себе мало где используется. А Javascript… на мой взгляд это язык, о потенциале которого создатели не имели должного представления. Но мне всегда хотелось работать с чем-то на стыке между гибкостью  Javascript и строгостью типизированных языков. Возможно ли это?


В добрых традициях хабра я хочу сразу оговориться, что не претендую на применимость в 100% случаев, и не считаю мое мнение единственно верным. Приведенное ниже — мой взгляд и отношение к программированию вообще и к написанию кода на TS/JS в частности. Кроме статьи, я этот взгляд постарался донести на митапе, запись которого доступна тут.

Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии11

Уравнение теории ценообразования. Ликбез для гика, ч. 9

Время на прочтение11 мин
Количество просмотров6.9K

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии13

Германия — достоинства, недостатки и неповторимое, часть 1

Время на прочтение7 мин
Количество просмотров73K

Живу в Германии с 2014ого.

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

Зарплаты программистов

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

Читать дальше ->
Всего голосов 153: ↑144 и ↓9+135
Комментарии591

C++17. Функция стандартной библиотеки std::launder и задача девиртуализации

Время на прочтение34 мин
Количество просмотров27K

В этой статье мы попробуем разобраться с одним из самых неоднозначных и непонятных нововведений стандарта C++17 — функцией стандартной библиотеки std::launder. Мы посмотрим на std::launder с другой стороны, посмотрим на источник. Разберем что лежит в основе функции на примере решения задачи девиртуализации и реализации виртуальных указателей в LLVM.


Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии72

Экспериментальная проверка многомировой интерпретации квантовой механики искусственным интеллектом

Время на прочтение4 мин
Количество просмотров11K

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


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

Читать дальше →
Всего голосов 25: ↑16 и ↓9+7
Комментарии38

Что есть что в CMake 3.10+ и как это использовать

Время на прочтение21 мин
Количество просмотров13K

Популярность CMake растёт. Многие крупные проекты переходят с собственных инструментов для сборки на CMake. Проект Conan предлагает интеграцию с CMake для управления зависимостями.

Разработчики CMake активно развивают инструмент и добавляю новые функции, решающие общие проблемы, возникающие при сборке проектов. Переход с CMake 2 на CMake 3 был достаточно болезнен. Документация не покрывает все аспекты использования. Функционал крайне обширен, а возникающие трудности различаются от проекта к проекту. В статье я расскажу о инструментах, которые предлагает CMake 3.10 и выше. В каждой новой версии появляются новые детали или улучшаются старые. Об актуальном состоянии лучше проанализировать Changelog, так как многие улучшения последних версий весьма специфичны для отдельных проектов, как например улучшение поддержки Cuda компиляторов. Я же сфокусируюсь на общих понятиях, которые помогут организовать проект на С++ оптимальным образом с точки зрения использования CMake как основной системы сборки.

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

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии3

Обобщаем паттерн посетитель (С++)

Время на прочтение8 мин
Количество просмотров8.8K

В статье приводится описание того:

- Как создать посетитель не привязанный к предметной области.

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии25

Триумфальное возвращение Ломуто

Время на прочтение15 мин
Количество просмотров9.6K

США, Техас, Остин, клуб Continental
Воскресенье, 5 января 1987 г.


— Спасибо за приглашение, мистер Ломуто. Скоро я возвращаюсь в Англию, так что это было очень вовремя.


— Спасибо, что согласились со мной встретиться, мистер… сэр… Чарльз… Энтони Ричард… Хоар. Это большая честь для меня. Я даже не знаю, как к вам обращаться. У вас есть рыцарский титул?


— Зовите меня Тони, и, если вы позволите, я буду называть вас Нико.


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


Одетый в безупречно подогнанный костюм-тройку с нарочитой небрежностью, на какую способен только англичанин, Тони Хоар был таким же воплощением Британии, как и чашка чая. Смиренное выражение лица, с которым он попивал из своего стакана, без всяких слов выражало его мнение в споре между бурбоном и скотчем. Сидевший напротив Нико Ломуто представлял полную ему противоположность: одетый в джинсы программист, мешавший виски с колой (что для Тони было настолько возмутительно, что он сразу решил подчёркнуто это игнорировать — как резкий запах пота или оскорбительную татуировку), в состоянии некого расслабленного трепета перед гигантом информатики, с которым он только что познакомился лично.


— Послушайте, Тони, — сказал Нико после того, как иссякли темы для обычной лёгкой беседы. — По поводу того алгоритма разбиения. Я даже не собирался его публиковать...


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

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии6

Герб Саттер о будущем С++, работе в комитете, фонде C++ Foundation и синтаксическом сахаре

Время на прочтение27 мин
Количество просмотров15K

Герба Саттера (Herb Sutter) знает любой программист, пишущий на C++. Он автор книг, председатель комитета по стандартизации C++, а также архитектор языка программирования в Microsoft.



На C++ Russia 2020 Moscow Герб ответил на вопросы сообщества, заданные Анастасией Казаковой из JetBrains и Сергеем Федоровым из Яндекс.Лавки и поделился своими мыслями о С++20, стандартной библиотеке, концептах, синтаксическом сахаре и не только.


Мы перевели это интервью и теперь хотим поделиться с вами. Если хочется послушать интервью на английском — под катом есть также видеозапись.

Всего голосов 69: ↑69 и ↓0+69
Комментарии6

C++: Коварство и Любовь, или Да что вообще может пойти не так?

Время на прочтение19 мин
Количество просмотров9.3K


“C позволяет легко выстрелить себе в ногу. На C++ это сделать сложнее, но ногу оторвёт целиком” — Бьёрн Страуструп, создатель C++.

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

Читать дальше →
Всего голосов 24: ↑14 и ↓10+4
Комментарии18

Попробуем выдвинуть аргументы против Rust

Время на прочтение6 мин
Количество просмотров24K
Недавно я прочитал статью c критикой Rust. Хотя в ней было много правильных вещей, она мне не понравилась — слишком многое там очень спорно. В целом, я вообще не могу рекомендовать к прочтению никакой статьи с критикой Rust. Это нехорошо, ведь важно обсуждать недостатки, а шельмование низкокачественной и неумелой критики, к сожалению, заставляет пропустить мимо внимания действительно хорошие аргументы.

Итак, попробую привести аргументы против Rust.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии78

Корутины в C++20. Часть 1

Время на прочтение8 мин
Количество просмотров22K

Введение


Данная статья является переводом главы из книги Райнера Гримма Concurrency with Modern C++, которая является более доработанной и обширной версией статьи на его сайте. Так как весь перевод не умещается в рамках данной статьи, в зависимости от реакции на публикацию, выложу оставшуюся часть.


Корутины


Корутины это функции которые могут приостановить или возобновить свое выполнение при этом сохраняя свое состояние. Эволюция функций в C++ сделала шаг вперед. Корутины с наибольшей вероятностью войдут вошли в C++20.


Идея корутин, представленная как новая в C++20, довольно стара. Понятие корутины было предложено Мелвином Конвеем. Он использовал данное понятие в публикации о разработке компиляторов от 1963. Дональд Кнут называл процедуры частным случаем корутин. Иногда должно пройти время чтобы та или иная идея была принята.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность