Как стать автором
Обновить
1504.45
Timeweb Cloud
Облачная платформа для разработчиков и бизнеса
Сначала показывать

История одной ошибки

Время на прочтение 3 мин
Количество просмотров 5.2K
Блог компании Timeweb Cloud Программирование *Отладка *Программирование микроконтроллеров *Производство и разработка электроники *


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

Например, при работе в STM32 CubeIDE, вся настройка параметров работы периферии сводится к вводу правильной частоты кварца и условного «кликанья мышкой», вместо того, чтобы программировать параметры работы железа вручную.

В продолжение серии статей про различные полезности для STM32 (1, 2 и 3), хочу рассказать, как в некоторых случаях, такое упрощение работы может стать источником совершенно не очевидных ошибок.
Читать дальше →
Всего голосов 17: ↑12 и ↓5 +7
Комментарии 23

Клетки-зомби, оживающие в мозге человека после смерти

Время на прочтение 3 мин
Количество просмотров 32K
Блог компании Timeweb Cloud Научно-популярное Мозг
Перевод
Что происходит с организмом человека, когда он умирает?

Мы представляем себе, что всё перестает работать: без кровообращения и дыхания системы и органы просто не смогут функционировать. Однако вот ведь какое странное дело, причуда природы: оказывается, внутри нас существует «живые мертвецы» — это клетки, продолжающие жить внутри неживого тела. И они не просто живут, их активность даже увеличивается.


Читать дальше →
Всего голосов 40: ↑37 и ↓3 +34
Комментарии 58

Nuxt.js app от UI-кита до деплоя. Часть 3: Мультиязычность

Время на прочтение 7 мин
Количество просмотров 3.4K
Блог компании Timeweb Cloud JavaScript *VueJS *
Привет!

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


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

Ущерб от баннерной рекламы

Время на прочтение 12 мин
Количество просмотров 7.9K
Блог компании Timeweb Cloud Веб-дизайн *Монетизация веб-сервисов *Контекстная реклама *
Перевод

Очевидно, баннерная реклама раздражает пользователей. Но насколько сильно? Возможно, она настолько всех бесит, что доход от рекламы не стоит потерь в трафике. А возможно, и нет. Если коротко, то даже единственный небольшой баннер снижает трафик примерно на 10%. Подробный анализ — под катом.

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

Как я получил награду Facebook по баунти-программе дважды

Время на прочтение 8 мин
Количество просмотров 5.8K
Блог компании Timeweb Cloud Информационная безопасность *IT-компании
Перевод

В марте 2020 года началась пандемия, поэтому у меня появилось множество свободного времени. Им нужно было распорядиться с умом, и я решил получить сертификат OSWE. Сдав 8 августа экзамен, я взял пару недель отдыха, а затем в середине сентября сказал сам себе: “Знаешь что? Моё имя не появлялось в зале славы Facebook в 2020 году, хотя бывает там ежегодно. Пора решить эту задачу!”.

Мне никогда не доводилось находить уязвимости на одном из поддоменов Facebook, поэтому я изучил статьи и нашёл один пост про поддомен Facebook, привлёкший моё внимание. Это отличный пост, рекомендую его прочитать: [Баг преобразования HTML в PDF приводит к RCE на сервере Facebook].

Прочитав этот пост, я понял, что в таком огромном веб-приложении можно найти множество уязвимостей.

Моей основной мишенью стал https://legal.tapprd.thefacebook.com, я намеревался реализовать RCE (Remote Code Execution, удалённое выполнение кода) или нечто подобное.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 1

Что такое суперлуние? Сегодня первое суперлуние 2021 года?

Время на прочтение 3 мин
Количество просмотров 26K
Блог компании Timeweb Cloud Научно-популярное Астрономия
Перевод
Сегодня, 28 марта 2021 года, у нас есть возможность увидеть восход полной «Луны червя» (Worm Moon). Сегодняшняя Луна особенно огромна, потому что она ближе к Земле, чем большинство остальных полных лун.

Можно ли считать «Луну червя» суперлуной? Если да, то она может начать целую серию из четырех суперлуний подряд.

На самом деле, всё зависит от того, какое определение мы выберем.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 20

Матричное умножение. Медленное достижение мифической цели

Время на прочтение 6 мин
Количество просмотров 17K
Блог компании Timeweb Cloud Математика *Научно-популярное
Перевод
В недавней работе был установлен новый рекорд скорости по умножению двух матриц. Она также знаменует и конец эпохи для метода, который ученые применяли для исследований на протяжении десятилетий.


Математики стремятся к достижению мифической цели — второй степени (exponent two), то есть к умножению пары матриц n х n всего за n2 шагов. Исследователи подбираются все ближе к своей цели, но получится ли у них когда-нибудь достичь ее?
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 8

Что прячет Энцелад в темных водах своего океана?

Время на прочтение 4 мин
Количество просмотров 14K
Блог компании Timeweb Cloud Научно-популярное Астрономия
Перевод
Энцелад — один из 82 известных нам спутников Сатурна. Около 10 лет назад учёные NASA назвали Энцелад наиболее пригодным для жизни местом во всей Солнечной системе. Оказалось, что глубоко под поверхностью этого спутника, под его ледяной коркой, могут скрываться океанические течения, аналогичные земным.

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


Гейзеры на Энцеладе. Снимок сделан зондом «Кассини». (НАСА / Лаборатория реактивного движения / Институт космических наук (Space Science Institute)
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 24

Тизер от Xiaomi: в новом Mi Mix будет камера с жидкостной линзой

Время на прочтение 1 мин
Количество просмотров 7K
Блог компании Timeweb Cloud Гаджеты
Перевод
Многообещающая возможность обрабатывать как макро, так и телефото-снимки.

Готовящаяся к выходу модель телефона Xiaomi Mi Mix будет включать камеру с жидкостной линзой. Об этом вчера компания сообщила в постах на платформе Weibo. Как следует из названия, линза включает в себя слой жидкости, а фокус и фокусное расстояние линзы изменяются подачей электрического напряжения. Xiaomi заявляет, что линза даёт возможность камере делать практически любые снимки: от телефото- до макросъемки, а также обеспечивает быструю автофокусировку. Телефон будет представлен 29 марта.

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

Помимо Xiaomi, в прошлом году ходили слухи, что и Huawei также исследует возможность использования этой технологии в своих смартфонах.
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 26

Как воссоздать изображение всего по нескольким пикселям

Время на прочтение 7 мин
Количество просмотров 19K
Блог компании Timeweb Cloud Программирование *Машинное обучение *
Туториал
Перевод
Эта статья дает возможность познакомиться с такой методикой получения и восстановления сигнала, как Compressive Sensing.

image
Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом

Пространство изображений огромно, невероятно огромно, но при этом очень мало. Задумайтесь об этом на минуту. Из сетки размером всего 8 на 8 пикселей можно создать 18 446 744 073 709 551 616 различных чёрно-белых изображений. Однако из этих 18 квинтиллионов изображений очень немногие покажутся осмысленными человеческому взгляду. Большинство изображений, по сути, выглядит как QR-коды. Те, которые покажутся человеку осмысленными, принадлежат к тому множеству, которое я называю естественными изображениями. Они представляют крошечную долю пространства изображений 8 на 8. Если мы рассмотрим мегапиксельные изображения, то доля естественных изображений становится ещё меньше, почти ничтожной, однако содержит любое изображение, которое можно придумать. Так чем же эти естественные изображения так уникальны? И можем ли мы использовать эту фундаментальную разницу в собственных интересах?
Читать дальше →
Всего голосов 66: ↑65 и ↓1 +64
Комментарии 41

Lego анонсировала выпуск самого большого и детализированного набора

Время на прочтение 1 мин
Количество просмотров 11K
Блог компании Timeweb Cloud Научно-популярное
Перевод
Новость, способная избавить от депрессии

В честь 40-летия запуска первого космического шаттла, компания Lego в сотрудничестве с НАСА выпускает новый набор — космический корабль «Дискавери». «Дискавери» не был первым шаттлом, отправившимся в полет (первым стал корабль «Колумбия», но, вероятно, если выпустить такой набор Lego, это вызовет слишком много грустных переживаний), однако именно шаттл «Дискавери» запустил космический телескоп «Хаббл», который также включен в набор.


Только посмотрите на эти блестящие двери! Источник: Lego
Всего голосов 38: ↑28 и ↓10 +18
Комментарии 16

Мнимые числа для описания реальности?

Время на прочтение 5 мин
Количество просмотров 18K
Блог компании Timeweb Cloud Математика *Научно-популярное Физика
Перевод
Новый мысленный эксперимент показывает, что квантовая механика не работает без странных чисел, которые становятся отрицательными при возведении в квадрат.

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



Все числа на числовой прямой, возведенные в квадрат, дают положительное число; 22 = 4 и (-2)2 = 4. Математики начали называть эти знакомые числа «вещественными», а, казалось бы, невозможную разновидность чисел — «мнимыми».
Читать дальше →
Всего голосов 31: ↑25 и ↓6 +19
Комментарии 65

Создание аналога посмертного сore dump для микроконтроллера

Время на прочтение 8 мин
Количество просмотров 4K
Блог компании Timeweb Cloud Программирование *C++ *Программирование микроконтроллеров *Производство и разработка электроники *
Туториал


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

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

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

Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 11

Новый поворот и секреты сверхпроводимости

Время на прочтение 11 мин
Количество просмотров 14K
Блог компании Timeweb Cloud Научно-популярное Физика
Перевод
Внезапно появившийся сверхпроводник казался случайностью, но новая теория и второе открытие показали, что за этим эффектом могут стоять возникающие квазичастицы.


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

Последние три года электроны «устраивали» физикам игры.

Игра началась в 2018 году, когда лаборатория Пабло Харильо-Эрреро объявила о находке десятилетия: когда исследователи сложили один слой атомов углерода поверх другого, применили «волшебный» поворот на 1,1 градуса между ними, а затем охладили атомные пластины почти до абсолютного нуля, тогда образец стал идеальным проводником электронов.

Как частицы сговорились безупречно скользить через листы графена? Калейдоскопический «муар», создаваемый углом наклона, казался значительным результатом, но никто не был в этом уверен. Чтобы выяснить это, исследователи начали складывать и скручивать (поворачивать) любой материал, который попадался им в руки.
Читать дальше →
Всего голосов 21: ↑16 и ↓5 +11
Комментарии 7

Виртуальная реальность на кончиках пальцев

Время на прочтение 3 мин
Количество просмотров 1.8K
Блог компании Timeweb Cloud Научно-популярное
Перевод
Представьте себе, что вы сидите за компьютером и набираете текст, играете на фортепиано или просто стучите пальцами по столу от скуки. Каждое движение пальца, каждое постукивание генерирует уникальную в своем роде вибрацию, проходящую от фаланги к основанию кисти.

Исследователи из Швейцарской высшей технической школы Цюриха (ETH) нашли применение этой физической особенности человеческих рук в своем изобретении — двухсенсорном браслете, позволяющем напрямую взаимодействовать с виртуальными объектами.

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



Один из профессоров ETH, Кристиан Хольц, видит в VR-технологиях потенциальную замену десктопным ПК. По его мнению, «отвязка от экрана» позволит в полной мере задействовать виртуальное пространство: разместить вокруг себя «рабочие инструменты» и взаимодействовать с ним наиболее естественным путем – руками.
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Argumentum ad ignorantiam

Время на прочтение 4 мин
Количество просмотров 3.1K
Блог компании Timeweb Cloud Open source *JavaScript *TypeScript *


Успел прочитал переводную статью «5 фактов о том, как Microsoft приватизировала открытый исходный код, убивая JavaScript в процессе». «Успел прочитать», потому что статью сразу безбожно заминусовали (через 30 минут уже было -12), а сейчас статья вообще скрыта в черновиках.

Её основная мысль была «Миссия Microsoft – так или иначе превратить каждого JavaScript-разработчика в дрон Microsoft TypeScript, приносящий деньги» за счет того, что «Microsoft внедрила использование TypeScript в React, Angular и Node, одновременно приватизировав Github и npm».

По мнению автора, именно для этого Microsoft купила Github, пакетный менеджер Npm (который является менеджером пакетов для NodeJS), а так же всячески продвигает свой VSCode как единственный редактор кода для TypeScript. И хотя все приведенные факты в статье имею место быть, но сам стиль подачи материала выглядит классической страшилкой из области теории заговоров, причем написанной человеком, который всей душой искренне любит JavaScript и ненавидит Microsoft.

Наверно я так и прошел бы мимо, если бы сам немого не кодил на JavaScript, и не по наслышке знаю ту боль, которую может причинить разработчику отладка на не типизированном языке. А ведь это одна из многих проблем, которую по задумке и предназначен решать TypeScript. Если бы не одно но…
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 25

Таинственная математика совершенства

Время на прочтение 10 мин
Количество просмотров 6K
Блог компании Timeweb Cloud Математика *Научно-популярное
Улыбка Моны Лизы, олимпийский прыжок Мэри Лу Реттон, высокая тесситура Мэрайи Кэри — всё это считается совершенным. Так же, как и числа 6 и 28.

Не без участия таланта или атлетизма этих людей, но совершенство находится в глазах смотрящего. Для чисел совершенство же определяется математически. «Совершенные числа» равны сумме своих собственных делителей (делители — положительные целые числа, отличные от рассматриваемого числа, которые делят его без остатка). Например, 6 = 3 + 2 + 1, а 28 = 14 + 7 + 4 + 2 + 1. Хотя эти математические диковины могут так же украшать стены Лувра, как и выполнять сальто назад с поворотом, но тем не менее они действительно являют собой нечто уникальное: совершенную тайну.



Евклид изложил основы совершенных чисел более 2000 лет назад. Он знал, что первыми четырьмя совершенными числами были 6, 28, 496 и 8128. С тех пор было обнаружено гораздо больше совершенных чисел. Но, как ни странно, все они чётные. Никто не смог найти совершенное нечетное число, и после многих тысяч лет безуспешных поисков может возникнуть соблазн сделать вывод, что нечетных совершенных чисел не существует. Но и математики этого доказать не смогли. Как же так выходит, что мы можем так много знать о четных совершенных числах и в то же время не можем ответить на самый простой вопрос о нечетных? И как современные математики пытаются решить этот древний вопрос?
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 5

Как написать интерфейс пользователя (UI) PlayStation 5 на JavaScript

Время на прочтение 15 мин
Количество просмотров 3.2K
Блог компании Timeweb Cloud JavaScript *Программирование *
Перевод

Интерактивное демо PS5.js


Вот демо интерфейса PS5, созданного при помощи анимаций на JavaScript и CSS, которые мы будем писать в этом туториале. Интерактивный пример можно потрогать в оригинале статьи.


Поставьте звёздочку или форкните проект ps5.js 35,9 КБ на GitHub.

Я написал твит о демо PS3, когда создавал на JavaScript базовую версию UI консоли PS3. Пока у меня нет кода, но я планирую его опубликовать. Более того, данный туториал построен на основании знаний, полученных при создании первой работы.

Подготовка


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

Но даже если вы используете фреймворки или библиотеки, то вам всё равно нужно разработать свой паттерн решения задачи. В этом туториале про UI я расскажу о самой концепции, лежащей в основе разработки. Этот подход можно легко адаптировать к React, Vue или Angular.

Я использовал эту заготовку HTML-файла с заранее созданными flex-стилями. Он содержит всё необходимое и общую структуру приложения, позволяющую приступить к работе. Это не React или Vue, но это та минимальная конфигурация, которая необходима для создания приложения. Я использую эту заготовку каждый раз, когда мне нужно начать работу над новым ванильным приложением или сайтом.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

Маленькие хитрости для STM32

Время на прочтение 4 мин
Количество просмотров 10K
Блог компании Timeweb Cloud Программирование *C++ *Промышленное программирование *Программирование микроконтроллеров *
Туториал

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

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

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

  1. Буферизированный вывод отладочной информации в последовательный порт
  2. Автоматическое включение защиты от чтения и модификации прошивки
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 49

Сделаем худший Vue.js в мире

Время на прочтение 5 мин
Количество просмотров 16K
Блог компании Timeweb Cloud JavaScript *Программирование *VueJS *
Перевод
Некоторое время назад я опубликовал похожую статью про React, где с помощью пары строк кода мы создали крошечный клон React.js с нуля. Но React — далеко не единственный инструмент в современном фронтенд-мире, Vue.js стремительно набирает популярность. Давайте разберемся, как работает этот фреймворк, и создадим примитивный клон, похожий на Vue.js, в образовательных целях.

Реактивность


Как и React.js, Vue является реактивным, то есть все изменения в состоянии приложения автоматически отражаются в DOM. Но в отличие от React, Vue отслеживает зависимости во время рендеринга и обновляет только связанные части без каких-либо «сравнений».

Ключ к реактивности Vue.js — это метод Object.defineProperty. Он позволяет указывать настраиваемый метод getter / setter для поля объекта и перехватывать каждый доступ к нему:
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 4

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия