Как стать автором
Обновить
841.92
Рейтинг
Timeweb
Хостинг, VDS и ИТ-инфраструктура
Сначала показывать
  • Новые
  • Лучшие

Структура смартфона — иллюзия контроля

Блог компании Timeweb Смартфоны Сотовая связь
Перевод

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

1. “Процессор приложений”. Это устройство, на котором работает Android или iOS. С этой частью смартфона вы и взаимодействуете. Здесь запускаются и работают ваши приложения. Скорее всего, когда вы думаете о своём смартфоне, вы думаете о процессоре приложений.

2. “Baseband-процессор”. Это устройство управляет сотовой радиосвязью телефона. И под сотовой связью мы подразумеваем действительно сотовые технологии, такие как LTE, 5G и т.д., а не Wi-Fi. Процессор основной полосы частот отвечает за подключение и сброс телефонных звонков, сеансов передачи данных, обрабатывает СМС и выполняет другие функции сотовой связи, порой невидимые для пользователя, такие как “Управление мобильностью”.

3. SIM-карта. СИМ-карта представляет собой полную компьютерную систему (с процессором, памятью и файловой системой), работающую под управлением набора приложений и собственной ОС. Когда вы устанавливаете СИМ-карту, она становится неотъемлемой и активной частью вашего смартфона. 

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

Читать далее
Всего голосов 22: ↑14 и ↓8 +6
Просмотры 5.1K
Комментарии 17

Новости

Компьютер для «Бурана»

Блог компании Timeweb История IT Научно-популярное Космонавтика
В прошлый раз мы рассказывали о первых советских наработках в области БЦВМ (бортовых цифровых вычислительных машин) для космической отрасли. А теперь обратим своё внимание на то, чем дело кончилось.

Пиком и, фактически, финалом советской космонавтики часто называют программу «Энергия» — «Буран». Оценки стоимости этого амбициозного проекта разнятся, но обычно называются цифры, превосходящие 14 миллиардов «тех» рублей. По нынешним ценам это триллионы «деревянных» — колоссальные затраты! Вполне возможно, что финал советского строя и государства в значительной степени был предрешён в т.ч. и подготовкой к единственному полёту «Бурана» 15 ноября 1988 года…


Читать дальше →
Всего голосов 58: ↑53 и ↓5 +48
Просмотры 18K
Комментарии 51

Next.js: подробное руководство. Итерация вторая

Блог компании Timeweb Разработка веб-сайтов *JavaScript *ReactJS *


Привет, друзья!


Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится).


Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных приложений.


Как известно, основным недостатком SPA являются проблемы с индексацией страниц таких приложений поисковыми роботами, что негативно влияет на SEO.


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


Кроме того, существуют специальные инструменты, такие как react-snap, позволяющие превратить React-SPA в многостраничник путем предварительного рендеринга приложения в статическую разметку. Метаинформацию же можно встраивать в head с помощью таких утилит, как react-helmet. Однако Next.js существенно упрощает процесс разработки многостраничных и гибридных приложений (последнего невозможно добиться с помощью того же react-snap). Он также предоставляет множество других интересных возможностей.



Обратите внимание: данная статья предполагает, что вы обладаете некоторым опытом работы с React. Также обратите внимание, что заметки не сделают вас специалистом по Next.js, но позволят получить о нем исчерпывающее представление.


Заметки состоят из 2 частей. Это часть номер два.


Итерация первая

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

Создание массива зеркал на 3D-принтере

Блог компании Timeweb 3D-принтеры Физика DIY или Сделай сам
Перевод

Недавно я сделал предложение руки и сердца одному прекрасному человеку с помощью шестигранной зеркальной штуковины, изображенной на фото. Мы оба большие нёрды, и мне хотелось сделать что-нибудь особенное, поэтому я спроектировал и распечатал на 3D-принтере зеркальный массив, чтобы задать заветный вопрос. Зеркала расположены под таким углом, что прямо перед закатом в нашу 8-ю годовщину они отражают свет заходящего солнца на землю, образуя слова «MARRY ME?»

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

Читать далее
Всего голосов 63: ↑58 и ↓5 +53
Просмотры 15K
Комментарии 36

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework)

Блог компании Timeweb .NET *C# *Программирование микроконтроллеров *DIY или Сделай сам
Tutorial
dotnet nanoFramework

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудовании. В первой части мы познакомились с платформой .NET nanoFramework, её архитектурой, основными возможностями, посмотрели примеры программного кода. Теперь перейдем к практике, установим nanoFramework на микроконтроллеры серии ESP32 и STM32, напишем первый «Hello World!», поработаем с аппаратными интерфейсами, и оценим переносимость кода с «большого» .NET на платформу nanoFramework.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Просмотры 7.5K
Комментарии 94

JavaScript: заметка о WebAssembly

Блог компании Timeweb Разработка веб-сайтов *JavaScript *WebAssembly *


Привет, друзья!


В 2019 году WebAssembly (далее — WA или wasm) стал четвертым "языком" веба. Первые три — это, разумеется, HTML, CSS и JavaScript. Сегодня wasm поддерживается 94% браузеров. Он, как утверждается, обеспечивает скорость выполнения кода, близкую к нативной (естественной, т.е. максимально возможной для браузера), позволяя портировать в веб десктопные приложения и видеоигры.


Что не так с JS?


JS — это интерпретируемый язык программирования с динамической типизацией. Динамическая типизация означает, что тип переменной проверяется (определяется) во время выполнения кода. И что с того? — спросите вы. Вот как определяется переменная в C++:


int n = 42

Такое определение сообщает компилятору тип переменной n и ее локацию в памяти. И все это в одной строке. А в случае с определением аналогичной переменной в JS (const n = 42), движку сначала приходится определять, что переменная является числом, затем, что число является целым и т.д. при каждом выполнении программы. На определение и (часто) приведение (преобразование) типов каждой инструкции уходит какое-то время.

Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 4.8K
Комментарии 13

Как распутать уроборос роутинга в Linux

Блог компании Timeweb Системное администрирование **nix *Сетевые технологии *
image

Описание проблемы


Ситуация: у нас имеется один интерфейс eth0, «смотрящий» в интернет, с IP-адресом 192.168.11.11/24 и шлюзом 192.168.11.1. Нам нужно организовать интерфейс vpn0, который будет через VPN соединяться с неким сервером, и весь исходящий с этой машины трафик должен идти через этот интерфейс vpn0.

Примечание: я оставляю за скобками детали работы с IPv6, поскольку там хватает своих особенностей. Рассматривается только ситуация с IPv4.

Итак, мы берём в руки программу для подключения в VPN-у — она соединяется с неким VPN-сервером по адресу 10.10.10.10 и поднимает нам интерфейс vpn0 например с таким адресом: 192.168.120.10/24, шлюз 192.168.120.1. Казалось бы, всё хорошо, пинги через vpn0 ходят, коннект есть, он стабильный, осталось только прописать нечто вроде

ip route add default dev vpn0 metric 1000

чтобы перенаправить все соединения через новый интерфейс и…

И всё благополучно падает. Пропадает интернет, отваливается VPN, отключается ssh (если вы по нему подключены к хосту). Если приложение VPN-а не выключит интерфейс при потере соединения, то извне вы до этого хоста до ребута больше не подсоединитесь.

Что случилось?
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 5.2K
Комментарии 14

Виндолинукс. Тестируем Q4OS с Trinity

Блог компании Timeweb Софт Старое железо


Философы утверждают, что наша жизнь — это вечный поиск. Кто-то ищет собственное призвание, кто-то — идеальную любовь, кто-то — славы и достатка, я же ищу нормальную операционную систему для древнего нетбука Acer Aspire One, которая не вешалась бы намертво при попытке открыть больше двух вкладок в браузере. В первой серии я вполне успешно установил на этого динозавра CloudReady, затем не очень удачно — попытался поставить дохлую Dahlia OS. И вот настала очередь для Q4OS, протестировать которую мне посоветовали читатели.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 6.3K
Комментарии 19

Настраиваем GitLab Container Registry

Блог компании Timeweb Настройка Linux *Nginx *Git *
Tutorial

В этой статье мы рассмотрим, как настроить реестр образов GitLab Container Registry, находящийся за обратным прокси сервером NGINX. Предполагается, что у вас уже установлен GitLab с помощью пакета Omnibus. Согласно документации, Container Registry можно настроить на том же домене, на котором работает сам GitLab, но в случае работы GitLab за прокси сервером, необходимо завести отдельный домен для реестра образов, чтобы избежать конфликта доменных имен при настройке виртуальных хостов в GitLab Nginx.

Реестр образов будет доступен по адресу: registry.example.com. Добавляем А запись для домена реестра в DNS. Приводим конфиг виртуального хоста на сервере обратного прокси к следующему виду:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.5K
Комментарии 3

10 самых популярных бесплатных туториалов по Figma

Блог компании Timeweb Графический дизайн *Учебный процесс в IT Дизайн


Figma — это как Adobe Illistrstrator, только проще, в браузере и проекты можно шарить для совместной работы. И бесплатно.

Если вы обладаете Adobe Illistrstrator, то автоматом сможете в Figma. Если вы не знаете, с чего начать осваивать векторную графику, Figma — легкий вариант для старта.

Я сделала подборку самых популярных бесплатных обучалок по Figma с YouTube. Кстати, не обязательно в совершенстве знать английский, чтобы шаг за шагом повторять то, что чуваки показывают на скринкасте. Все понятно из видеоряда.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.6K
Комментарии 0

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown

Блог компании Timeweb Разработка веб-сайтов *Программирование *Анализ и проектирование систем *Go *
Tutorial


Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-какие из моих рассуждений спасут вашу.


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


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


  • Выработаем понимание структуры и жизненного цикла приложения.
  • Формализуем наше представление жизненного цикла на языке go.
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Просмотры 4.3K
Комментарии 17

Реверс-инжиниринг необычной модемной платы IBM 1965 года

Блог компании Timeweb Реверс-инжиниринг *История IT Старое железо
Перевод

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

Читать далее
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 5.8K
Комментарии 37

Big data. Математика на службе биологии

Блог компании Timeweb Big Data *Читальный зал Научно-популярное Биология
Автор сообщества Фанерозой, биотехнолог, Людмила Хигерович.

image
Так или иначе, каждый человек, использующий масс-медиа, краем уха слышал о “биг дата”. Однако что это такое на самом деле, за границами ИТ мало кто представляет. И еще меньше людей знают о том, насколько сильно наш сегодняшний мир, каким мы его знаем, зависит от этого малопонятного термина. При этом речь идет не только об обработке больших потоков данных новостей или запросов браузера, или социальных сетей. Сегодня мы расскажем вам о том, как технологии Big Data помогают расширять границы науки.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 4.3K
Комментарии 13

Что AT&T отправляет на номер 1111340002?

Блог компании Timeweb Смартфоны Сотовая связь
Перевод

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

Весной 2021 года судебные представители обратились ко мне по поводу загадочного СМС на номер 1111340002. Это СМС-сообщение фигурировало в деле о причинении смерти по неосторожности с обвинениями в отвлечении внимания во время вождения. Вот, что я обнаружил…

TL;DR: драйвер AT&T СИМ-карты отправил СМС на номер 1111340002 с отчетом о том, что на телефоне было установлено автоматическое обновление ПО. Отправка сообщения не требовала никаких действий со стороны водителя. Чтобы разобраться в этом, потребовалось вызвать AT&T в суд и провести анализ в лабораторных условиях.

Читать далее
Всего голосов 66: ↑58 и ↓8 +50
Просмотры 27K
Комментарии 74

Next.js: подробное руководство. Итерация первая

Блог компании Timeweb Разработка веб-сайтов *JavaScript *ReactJS *


Привет, друзья!


Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится).


Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных приложений.


Как известно, основным недостатком SPA являются проблемы с индексацией страниц таких приложений поисковыми роботами, что негативно влияет на SEO.


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


Кроме того, существуют специальные инструменты, такие как react-snap, позволяющие превратить React-SPA в многостраничник путем предварительного рендеринга приложения в статическую разметку. Метаинформацию же можно встраивать в head с помощью таких утилит, как react-helmet. Однако Next.js существенно упрощает процесс разработки многостраничных и гибридных приложений (последнего невозможно добиться с помощью того же react-snap). Он также предоставляет множество других интересных возможностей.



Обратите внимание: данная статья предполагает, что вы обладаете некоторым опытом работы с React. Также обратите внимание, что заметки не сделают вас специалистом по Next.js, но позволят получить о нем исчерпывающее представление.


Заметки состоят из 2 частей. Это часть номер раз.


Итерация вторая.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 5K
Комментарии 3

JavaScript: заметка о requestAnimationFrame и requestIdleCallback

Блог компании Timeweb Разработка веб-сайтов *JavaScript *Браузеры


Привет, друзья!


Можете ли вы ответить на вопрос о том, в чем заключается разница между requestAnimationFrame и requestIdleCallback?


Если можете, то я завидую глубине ваших знаний. Я не смог, когда меня об этом спросили. Более того, в тот момент я даже не знал о существовании интерфейса requestIdleCallback. Теперь знаю и хочу с вами этими знаниями поделиться.


Сразу уточним, что названные интерфейсы предоставляются браузером и к ECMAScript отношения не имеют.


Что касается поддержки, то с requestAnimationFrame все хорошо, а с requestIdleCallback, в основном из-за Safari, этого современного IE, ситуация хуже.


Рассматриваемые интерфейсы позволяют разработчикам получать доступ к процессу рендеринга страницы. Также они очень тесно связаны с циклом событий (event loop) браузера.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 4.7K
Комментарии 4

Apple TV 1st generation. Вторая жизнь 15 лет спустя

Блог компании Timeweb Настройка Linux *Open source *Гаджеты Старое железо
Tutorial

В моем распоряжении оказалось достаточно раритетное устройство родом из Купертино. Этот представитель технологической истории не имел широкого распространения и популярности на наших просторах в те годы, оттого желание прикоснуться к нему было еще больше. Немного поностальгируем, рассмотрим, чем являлось Apple TV в 2007 и попробуем найти применение в 2021 году.

Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 8.7K
Комментарии 16

Цветущий георгин. Тестируем Dahlia OS

Блог компании Timeweb Софт Старое железо


Около месяца назад я провел эксперимент с установкой на старенький субноутбук облачной операционной системы CloudReady. Опыт в целом можно назвать успешным, однако меня немного напрягло то обстоятельство, что эта платформа целиком и полностью строится вокруг браузера Chromium, а рекомендуемый софт представляет собой в основном веб-приложения. И вот в комментариях читатели посоветовали попробовать ОС под называнием Dahlia. Что ж, дважды меня упрашивать не нужно: качаем «Дахлию»! Пациент все тот же: Acer Aspire One с 1 Гбайтом оперативной памяти и китайским SSD на 120 Гбайт.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 8K
Комментарии 30

Ontol про Kotlin: подборка 28 самых полезных бесплатных курсов и видео на Youtube

Блог компании Timeweb Разработка под Android *Kotlin *Учебный процесс в IT
image

На английском


freeCodeCamp — лучший и при этом бесплатный канал для самообучения программированию. Многие платные школы просто делают «рерайт» их программ и продают за 100К руб.


850 000 просмотров
2,5 часа
курс для начинающих 2019 года

Содержание
(0:00:50) Create Your First Kotlin Project
(0:04:23) Hello World
(0:06:33) Working With Variables
(0:11:04) Type System
(0:15:00) Basic Control Flow
(0:21:31) Basic Kotlin Functions
(0:27:12) Function Parameters
(0:32:52) Arrays
(0:35:28) Iterating with forEach
(0:41:17) Lists
(0:42:47) Maps
(0:45:05) Mutable vs Immutable Collections
(0:49:24) Vararg Parameters
(0:54:21) Named Arguments
(0:56:26) Default Parameter Values
(1:00:27) Create A Simple Class
(1:03:35) Adding Class Properties
(1:05:15) Class Init Block
(1:06:40) Accessing Class Properties
(1:07:32) Primary Constructor Properties
(1:08:17) Secondary Constructors
(1:09:50) Working With Multiple Init Blocks
(1:11:30) Default Property Values
(1:11:59) Properties With Custom Getters/Setters
(1:16:52) Class Methods
(1:20:12) Visibility Modifiers — Public/Private/Protected/Public
(1:22:30) Interfaces
(1:24:21) Abstract Classes
(1:26:13) Implementing An Interface
(1:26:35) Overriding Methods
(1:28:30) Default Interface Methods
(1:29:30) Interface Properties
(1:31:40) Implementing Multiple Interfaces
(1:32:57) Type Checking And Smart Casts
(1:36:18) Inheritance
(1:43:07) Object Expressions
(1:45:06) Companion Objects
(1:49:51) Object Declarations
(1:52:41) Enum Classes
(1:58:16) Sealed Classes
(2:00:07) Data Classes
(2:12:25) Extension Functions/Properties
(2:16:40) Higher-Order Functions
(2:29:07) Using The Kotlin Standard Library
(2:00:07) Data Classes

Читать дальше →
Всего голосов 40: ↑33 и ↓7 +26
Просмотры 3.7K
Комментарии 15

Когда, как и зачем физики визуализировали звук

Блог компании Timeweb Научно-популярное Физика


Всю школу и универ я прошла с установкой «точные науки — не моё». Сейчас мне интересно «доучиться», закрыть пробелы в математике, химии, физике.

Школьная физика для меня — это задачи, где надо выписать дано, привести единицы измерения, записать решение и ответ. О физике с точки зрения «когда и как люди до этого дошли», я не задумывалась, пока не наткнулась на лекцию физика-теоретика Игоря Иванова «Звучащий мир: голос, ультразвук, терагерцы». Я сделала конспект его лекции.
Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 5.3K
Комментарии 7

Информация

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