Pull to refresh
67
0
Send message

Мобильные устройства изнутри. Что такое GPT?

Reading time 9 min
Views 17K

Что такое GPT?



1. Введение


Продолжаем рассматривать строение программной части (software) мобильных устройств (МУ). Сегодня поговорим об устройстве GPT-раздела памяти. Написать об этом меня побудила публикация Изучаем структуры MBR и GPT, вместо того, чтобы писать комментарии к ней. Я хотел бы не поругать или поправить автора, а дополнить вышеуказанную публикацию с уклоном в МУ.


Итак, GPT (GUID Partition Table) это:

  • в первую очередь название схемы разметки памяти (GPT-схема) МУ ;
  • затем уж название раздела памяти (GPT-раздел), где расположена физически эта схема;
  • ну и также название файла-образа GPT-раздела памяти (GPT-файл).

Существует две схемы разметки памяти: MBR и GPT. Каждая схема содержится в отдельном разделе памяти, называемом, соответственно, MBR или GPT.

Как устроена MBR-схема разметки можно посмотреть в [1], а GPT это другой формат описания разметки памяти — GUID (GUID Partition Table). Он является частью EFI (Extensible Firmware Interface) — стандарта UEFI, используемого вместо BIOS для загрузки разделов памяти.

Переход на другой формат позволил устранить самый существенный недостаток MBR-формата — малое число разделов. Если в MBR помещалось только 4 записи с ограничением на длину раздела и его смещение из-за того, что эти параметры описывались 32-разрядными числами, то в GPT можно разместить 128 записей о разделах. Причем их параметры уже описываются в 64-разрядной системе счисления…
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 8

Если это не трудно, значит за это не стоит браться

Reading time 6 min
Views 38K
image

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

Боязнь попросить у босса повышение зарплаты парализует и может длиться месяцами. Но когда вы всё-таки соберётесь это сделать, всё закончится очень быстро. Возбуждённое ожидание обладания каким-то объектом или достижения какой-либо цели может превратиться в манию. Но вскоре после получения желаемого вам становится скучно, и вы начинаете искать что-то другое. «Мы покупаем вещи, чтобы они делали нас счастливее, и нам это удаётся. Но ненадолго. Новые вещи нас сначала радуют, а потом мы к ним адаптируемся»,- говорит доктор Томас Гилович, психолог из Корнеллского университета.

Занятно, что ваш разум может обмануть вас и сделать идею чего-либо более приятной, чем сам этот предмет, так что вы наслаждаетесь самой идеей, и не воплощаете её в жизнь. В своей новой книге «Эго – это враг» [Ego is the Enemy], Райан Холидэй [Ryan Holiday] объясняет, что главным препятствием на пути к успеху является представление об успехе.

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

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

В результате, пробуя непосредственно само действие, вы натыкаетесь на стену сопротивления. Чаще всего вы отвлекаете себя от этого дискомфорта неким сиюминутным удовольствием. Роберт Грин объясняет в своей книге «Мастерство» [Mastery], что можно научиться любить это внутреннее сопротивление. Он пишет: «Вы находите некое извращённое удовольствие в том, чтобы двигаться сквозь боль, которую это может принести».
Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Comments 47

Как будут выглядеть города будущего?

Reading time 8 min
Views 37K

Нью-Йорк в 3000 г., Футурама.

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

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

Однако помимо виртуальных строек в мире создаются около сотни реальных населенных пунктов, претендующих на звание «умного города». В этой статье вместе с проектом Недвижимость Mail.Ru мы расскажем о самых интересных.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 72

Последние новости о развитии C++

Reading time 7 min
Views 77K
Недавно в финском городе Оулу завершилась встреча международной рабочей группы WG21 по стандартизации C++, в которой впервые официально участвовали сотрудники Яндекса. На ней утвердили черновой вариант C++17 со множеством новых классов, методов и полезных нововведений языка.



Во время поездки мы обедали с Бьярне Строуструпом, катались в лифте с Гербом Саттером, жали руку Беману Дейвсу, выходили «подышать воздухом» с Винцентом Боте, обсуждали онлайн-игры с Гором Нишановым, были на приёме в мэрии Оулу и общались с мэром. А ещё мы вместе со всеми с 8:30 до 17:30 работали над новым стандартом C++, зачастую собираясь в 20:00, чтобы ещё четыре часика поработать и успеть добавить пару хороших вещей.

Теперь мы готовы поделиться с вами «вкусностями» нового стандарта. Всех желающих поглядеть на многопоточные алгоритмы, новые контейнеры, необычные возможности старых контейнеров, «синтаксический сахар» нового чудесного C++, прошу под кат.
Покажите мне чудеса!
Total votes 92: ↑86 and ↓6 +80
Comments 422

Собеседование на программиста в Amazon

Reading time 7 min
Views 126K

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


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

Читать дальше →
Total votes 71: ↑62 and ↓9 +53
Comments 258

Web scraping обновляющихся данных при помощи Node.js и PaaS

Reading time 9 min
Views 17K

Это уже четвёртая статья в цикле про веб-скрейпинг при помощи Node.js:


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

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


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


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

Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 4

Разрабатываем систему real-time fulltext-поиска по error-логам на основе ClickHouse от Яндекса

Reading time 9 min
Views 29K
UPDATE из будущего: Не используйте этот подход! Для поиска логов намного лучше подходит простой поиск по регулярному выражению или подстроке встроенными средствами ClickHouse. Эта статья была написана давно, как интересный эксперимент, и у меня на тот момент не. было полного понимания того, как ClickHouse работает и как его лучше всего готовить. Я вас предупредил. Привет участникам телеграм-чатика «ClickHouse не тормозит»!

В этой статье я расскажу о том, как разработать систему для индексирования и полнотекстового поиска error-логов (или любых других логов) на основе СУБД от Яндекса под названием ClickHouse. Про саму базу Яндекс писал на Хабре сначала когда база была закрытой, а потом когда они её заопенсорсили. База данных в первую очередь предназначена для аналитики и для реализации сервиса Яндекс.Метрика, но может на самом использоваться для чего угодно, если вам подходит загружать данные пачками, удалять их тоже огромными пачками и никогда не обновлять отдельные строки.

Что мы будем делать


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

CREATE TABLE Messages (
    message_id BIGINT PRIMARY KEY AUTO_INCREMENT,
    created_ts DATETIME,
    message_text BLOB
)


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

Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Comments 14

Мифы о высадке на Луне (видео)

Reading time 1 min
Views 49K


Пригласили на GeekPicnic рассказать о космических мифах. Разумеется я взял самый ходовой и популярный: миф о лунном заговоре. За час подробно разобрали наиболее часто встречающиеся заблуждения и самые распространенные вопросы: почему не видно звезд, почему развевается флаг, где скрывается лунный грунт, как смогли потерять пленки с записью первой высадки, почему не делают ракетные двигатели F1 и другие вопросы.

После завершения лекции о Луне поговорили еще о космонавтике в целом, о будущих пилотируемых миссиях, о SpaceX, и прочем космическом. В сумме вышло два часа.
Читать дальше →
Total votes 54: ↑47 and ↓7 +40
Comments 320

Хабрасливки: золотые посты «Хабрахабра» и Geektimes

Reading time 15 min
Views 43K
Прошлый топ статей Хабра/ГТ было интересно почитать, но не всех он обрадовал: кому-то показалось удивительным, что рейтинг по количеству просмотров состоит в основном из попсовых материалов. Но идея сделать более хардкорный топ меня всё-таки захватила достаточно, чтобы попытаться отсортировать все посты Хабра и ГТ по качеству. Я по-прежнему считаю, что лучше всего с этой задачей справится нейросеть, и наверное это можно сделать уже сейчас, если потратить достаточно много времени, показывая ей разные статьи с пометкой «торт/не торт», но пока я выбрал подход чуть попроще и с использованием имеющихся данных.

У рейтинга по просмотрам есть очевидные недостатки: публичный счётчик на Хабре появился только в 2012 году, да и большая чать просмотров приходит из поиска, и это абсолютно случайные люди. Очевидно, что качество статей Хабра должны оценивать сами хабрапользователи, поэтому подборка должна быть основана на оценках постов. Для выбора «золотых постов Хабра» я использовал хорошо зарекомендовавшую себя знакомую по Dirty.ru и ещё одному ресурсу систему определения золотых постов как публикаций, не менее 98% голосов за которые положительны.

  1. «Делаем приватный монитор из старого LCD монитора», kfedorov — 1484 проголосовало, 18 отрицательно (2011)
  2. «История игрушки. Поле Чудес», PapaBubaDiop — 933 проголосовало, 10 отрицательно (2011)
  3. «Как мы искали Марс-3», Zelenyikot — 677 проголосовало, 8 отрицательно (2013)
  4. «Читаем QR код», tgx — 621 проголосовало, 9 отрицательно (2011)
  5. «Бейджи для Хабра, версия», idenisenko — 562 проголосовало, 10 отрицательно (2011)
  6. «Загадка выпадающего списка «Амазона»», atomlib — 558 проголосовало, 10 отрицательно (2013)
  7. «Как я наказал Firaxis или история о том, как перебрать бинарный движок через глушитель», Harkonnen — 551 проголосовало, 4 отрицательно (2010)
  8. «Банкомат. Некоторые особенности», UserSide — 548 проголосовало, 6 отрицательно (2014)
  9. «Взгляд изнутри: светодиодные лампочки», Tiberius — 542 проголосовало, 5 отрицательно (2011)
  10. «Самодельный трекинг посылок, или Туда и Обратно», legrus — 533 проголосовало, 1 отрицательно (2013)

Читать дальше →
Total votes 48: ↑39 and ↓9 +30
Comments 29

6 золотых правил изучения чего угодно за рекордное время

Reading time 5 min
Views 9K
image

Скорость, с которой мы что-то познаем, способна определить качество нашей жизни.
Бесчисленные эксперты в области обучения и исследователи выявили, что изучить что-то на порядок быстрее среднего расчетного времени возможно. Все дело лишь в соблюдении верных принципов. Итак, я не обещаю никаких чудес. Вам придется потом и кровью зарабатывать право попасть туда, куда вы стремитесь.
Но если вы решите серьезно отнестись к этим 6 приемам и внедрить их в учебный процесс, то окажетесь там гораздо быстрее.
Читать дальше →
Total votes 23: ↑12 and ↓11 +1
Comments 4

Embedded World 2016: куда катится embedded-мир?

Reading time 7 min
Views 16K
Всем привет!

Давненько мы ничего не писали. А тем временем...

В тридевятом царстве, в тридесятом государстве, в баварской вотчине, в средневековом городе Нюрнберге проходит выставка под названием Embedded World. Цель выставки — собрать в одном месте производителей, разработчиков, студентов и других заинтересованных граждан. Проходит она три дня — с 23 по 25 февраля.




Сайт выставки: http://www.embedded-world.de

Около 900 участников, примерно 25 тысяч посетителей. Двух дней еле-еле хватает, чтобы понять, что к чему. Поэтому выставка длится три дня :)

Судьба забрасывает меня на это мероприятие уже не в первый раз: мы с коллегами по НТЦ Метротек посещали выставку в 2013, 2014 и 2015 годах. Именно здесь мы впервые увидели Cyclone V SoC (System On Chip c ARM и FPGA на борту), который впоследствии лёг в основу новых девайсов производства НТЦ Метротек (это — Беркут-ЕТ, EthOnd, BlueSoM, ETL-N). Именно здесь мы нашли производителей корпусов EMKO и наладили с ними сотрудничество, теперь все стоечные приборы (свитч Metrotek X10-24, Беркут-МХ) выглядят единообразно. Здесь мы узнаём о новинках и трендах.

Под катом больше информации об участниках, новых продуктах и просто вещах, которые нам понравились и запомнились.
С фотографиями и ссылками.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 12

Segmentation Fault (распределение памяти компьютера)

Reading time 16 min
Views 110K


Когда я делаю ошибку в коде, то обычно это приводит к появлению сообщения “segmentation fault”, зачастую сокращённого до “segfault”. И тут же мои коллеги и руководство приходят ко мне: «Ха! У нас тут для тебя есть segfault для исправления!» — «Ну да, виноват», — обычно отвечаю я. Но многие ли из вас знают, что на самом деле означает ошибка “segmentation fault”?

Чтобы ответить на этот вопрос, нам нужно вернуться в далёкие 1960-е. Я хочу объяснить, как работает компьютер, а точнее — как в современных компьютерах осуществляется доступ к памяти. Это поможет понять, откуда же берётся это странное сообщение об ошибке.

Вся представленная ниже информация — основы компьютерной архитектуры. И без нужды я не буду сильно углубляться в эту область. Также я буду применять всем известную терминологию, так что мой пост будет понятен всем, кто не совсем на «вы» с вычислительной техникой. Если же вы захотите изучить вопрос работы с памятью подробнее, то можете обратиться к многочисленной доступной литературе. А заодно не забудьте покопаться в исходном коде ядра какой-нибудь ОС, например, Linux. Я не буду излагать здесь историю вычислительной техники, некоторые вещи не будут освещаться, а некоторые сильно упрощены.
Читать дальше →
Total votes 74: ↑71 and ↓3 +68
Comments 10

Эксперимент: создание алгоритма для прогнозирования поведения фондовых индексов

Reading time 7 min
Views 38K


Ученые факультета вычислительной техники из исламского университета Азад, расположенного в ОАЭ, опубликовали работу, посвященную прогнозированию поведения фондовых индексов на основе технологий нейронных сетей, генетических алгоритмов и data mining с использованием опорных векторов. Мы представляем вашему вниманию главные мысли этого документа.
Читать дальше →
Total votes 21: ↑14 and ↓7 +7
Comments 12

Как разработчику «влиться» в тему DevOps

Reading time 5 min
Views 26K


Сегодня мы решили взглянуть на ситуацию с Java- и Python-разработчиком, который задумался о «погружении» в тему DevOps в тот момент, когда он начал все больше отдаляться от привычных инструментов в пользу работы с Oracle Weblogic и shell-скриптами. Он решил совместить свой опыт в области разработки с новым опытом в работе с процессами.

Мы посмотрели на основные советы экспертов в области DevOps на Quora и дополнили рассказ примерами из опыта команды 1cloud.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 17

Почему я покинул Ubisoft — работу своей мечты

Reading time 8 min
Views 59K
Вольный перевод статьи gingearstudio.com/why-i-quit-my-dream-job-at-ubisoft от бывшего разработчика из Ubisoft.

Вступление



2005 год, я помню как начальство спросило меня, где я вижу себя через 10 лет, на что я ответил, что вижу себя в роли software-архитектора крупнейших AAA-класса гейм-проектов. Мечта стала реальностью буквально через несколько лет, когда я начал работать над проектом Assassin’s Creed Syndicate в роли, как вы уже догадались, software-архитектора. И вот, казалось бы, наконец, моя мечта быть причисленным к числу тех самых крутых, высокоуважаемых гейм-разработчиков, становится реальностью в процессе работы над престижнейшей игровой франшизой.

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

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

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

Читать дальше →
Total votes 61: ↑54 and ↓7 +47
Comments 67

Немного из истории специализированных ЭВМ военного назначения

Reading time 15 min
Views 37K
Середина ХХ столетия, СССР. Основное внимание было уделено созданию универсальных ЭВМ для решения сложных математических вычислительных задач, это были стационарные машины, которые ориентировались на последовательное или пакетное решение задач, вне связи с реальным масштабом времени и динамическим изменением параметров объектов внешней среды. Но уже к концу 50 годов в Министерстве обороны страны возник интерес к применению таких ЭВМ для решения задач обработки информации и управления в военных системах. Но сразу же возникли трудности, связанные с недостатками таких универсальных машин при использовании их в военных системах для решения задач управления в реальном времени. Поэтому начало ускоренными темпами развиваться направление вычислительной техники военного предназначения.



Четко стали различать два класса ЭВМ: стационарные и мобильные. Развитию мобильных типов ЭВМ содействовали разные требования заказчиков, так как планировалось применять их и в сухопутных, и в авиационных, и в морских, и в ракетных, и в других систем в оборонных отраслях промышленности и на предприятиях, цифровая вычислительная техника начала применяться для систем противовоздушной и противоракетной обороны, для контроля космического пространства и управления полетами в авиации и в космосе. Стационарные работали в помещениях, а мобильные, следовательно, должны были быть транспортабельными.
Подробности
Total votes 34: ↑34 and ↓0 +34
Comments 41

Что на самом деле может виртуальная память

Reading time 7 min
Views 33K


Мы в 1cloud стараемся рассказывать о различных технологиях — например, контейнерах, SSL или флеш-памяти.

Сегодня мы продолжим тему памяти. Разработчик Роберт Элдер (Robert Elder) в своем блоге опубликовал материал с описанием возможностей виртуальной памяти, которые известны не всем инженерам. Мы представляем вашему вниманию основные мысли этой заметки.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 4

Реализации setImmediate: сообщения, мутация или обещания, что быстрее?

Reading time 6 min
Views 11K


Доброго времени суток, %username%! Маленькое исследование на тему «какой же способ поставить функцию/метод на обработку в очередь эффективнее» и, как результат, сравнительный тест, и итоговая реализация схожей с setImmediate функции. Этот метод нужен тем, кто хочет разбивать выполнение скрипта, чтобы тот не «подвешивал» браузер, что бывает полезно при огромном скрипте инициализации, разборе большого массива данных, построения сложной структуры не прибегая к WebWorkers.

Для понимания: setImmediate это метод объекта window, который должен вызвать функцию, переданную в неё, асинхронно, эдакий setTimeout(fn, 0), где 0 реально 0, а не минимум 4. Для nodejs-программистов это process.nextTick. Т.к. сам метод (setImmediate) имеет чёткий стандарт с ошибками и дополнительными параметрами, рассмотрим абстрактную задачу асинхронного выполнения переданной функции/метода как можно быстрее.

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

Итак, давайте узнаем, что же лучше подходит: postMessage, MutationObserver или Promise?
Познаём
Total votes 13: ↑12 and ↓1 +11
Comments 9

Убийцы оптимизации

Reading time 9 min
Views 43K
image

В этом посте изложены советы, как не написать код, производительность которого окажется гораздо ниже ожидаемой. Особенно это касается ситуаций, когда движок V8 (используемый в Node.js, Opera, Chromium и т. д.) отказывается оптимизировать какие-то функции.
Читать дальше →
Total votes 47: ↑40 and ↓7 +33
Comments 23

Information

Rating
Does not participate
Registered
Activity