Три типовых ошибки в сфере безопасности, о которых должен знать каждый React-разработчик

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

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

Сегодня мы поговорим о типичных уязвимостях React, о том, как находить их во время код-ревью, и о том, как от них защищаться.

Первый (очень короткий) пример, касающийся межсайтового скриптинга

Межсайтовый скриптинг (Cross site scripting, XSS) — это клиентская уязвимость, которая способна привести к серьёзным проблемам. XSS-атаки происходят тогда, когда злоумышленник способен обмануть веб-сайт и заставить его выполнять произвольный JavaScript-код в браузерах его пользователей.

Отражённая (reflected) XSS-атака выполняется посредством ссылки, содержащей текстовую информацию, которая обрабатывается браузером в виде кода. Например — это поле формы, в которое, на стороне клиента, введён особый текст запроса.

Хранимая (stored) XSS-атака — это ситуация, в которой атакующий имеет доступ к серверу, и когда код, выполняемый на сервере, формирует то, что попадает на веб-страницу клиента. Типичными векторами подобных атак является загрузка на серверы комментариев и изображений.

Червь Samy эксплуатировал XSS-уязвимость MySpace. Это был один из самых быстрораспространяющихся вирусов всех времён.

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

Уязвимость №1: контроль над исходным состоянием страницы, которое используется в ходе серверного рендеринга

Иногда, когда мы формируем исходное состояние страницы, мы, что опасно, создаём документ на основе JSON-строки. Эта уязвимость выглядит в коде примерно так:

<script>window.__STATE__ = ${JSON.stringify({ data })}</script>

Это опасно из-за того, что метод JSON.stringify(), ни о чём не «думая», преобразует любые предоставленные ему данные в строковую форму (до тех пор, пока это — валидные JSON-данные), представляющую собой то, что будет выведено на странице. Если у { data } есть поля, которые может редактировать недоверенный пользователь, вроде имени пользователя или сведений о пользователе, в подобные поля можно внедрить нечто, подобное следующему:

{ username: "pwned", bio: "</script><script>alert('XSS Vulnerability!')</script>" }

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

Не верите? Тогда убедитесь в этом сами. Поищите в Google по тексту «react server side rendering example app» и попробуйте выполнить эту атаку на любом из результатов поиска с первой страницы.

▍Выявление уязвимости во время код-ревью

Ищите вызовы метода JSON.stringify(), принимающие переменные, которые могут содержать недоверенные данные в теге script. Вот пример, который раньше был в документации Redux:

function renderFullPage(html, preloadedState) {     return `         <!doctype html>         <html>             <head>                 <title>Redux Universal Example</title>             </head>             <body>                 <div id="root">${html}</div>                 <script>                     window.__PRELOADED_STATE__ = ${JSON.stringify(preloadedState)}                 </script>                 <script src="/static/bundle.js"></script>             </body>         </html>         ` }

А вот — кусок кода из приложения-примера, который нашёлся на GitHub:

function htmlTemplate( reactDom, reduxState, helmetData ) {     return `     <!DOCTYPE html>     <html>     <head>         <meta charset="utf-8">         ${ helmetData.title.toString( ) }         ${ helmetData.meta.toString( ) }         <title>React SSR</title>         <link rel="stylesheet" type="text/css" href="./styles.css" />     </head>          <body>         <div id="app">${ reactDom }</div>         <script>             window.REDUX_DATA = ${ JSON.stringify( reduxState ) }         </script>         <script src="./app.bundle.js"></script>     </body>     </html>     `;      }

Иногда обнаружить эту уязвимость немного сложнее. Следующий код тоже окажется небезопасным — в том случае, если не выполнено правильное экранирование context.data:

const RenderedApp = htmlData.replace('{{SSR}}', markup)     .replace('<meta-head/>', headMarkup)     .replace('{{data}}', new ArrayBuffer(JSON.stringify(context.data)).toString('base64'))

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

▍Защита

один из вариантов защиты от этой уязвимости заключается в использовании npm-модуля serialize-javascript, который предназначен для экранирования выводимого JSON. Если вы выполняете серверный рендеринг не в среде Node.js — то вам понадобится самостоятельно подобрать соответствующий пакет для используемого вами языка.

Вот команда для установки модуля:

$ npm install --save serialize-javascript

После этого его надо импортировать в файл и следующим образом переписать ранее уязвимый код, имеющий дело с window:

<script>window.__STATE__ = ${ serialize( data, { isJSON: true } ) }</script>

Вот отличная статья, посвящённая этому вопросу.

Уязвимость №2: коварные ссылки

Тег <a> может иметь атрибут href, который содержит ссылку на другую страницу сайта, на другой сайт, на некое место текущей страницы. Ссылки могут содержать и скрипты, которые выглядят примерно так: javascript: stuff(). Если вы не знали об этой возможности HTML — опробуйте её прямо сейчас, скопировав в строку браузера следующий код:

data:text/html, <a href="javascript: alert('hello from javascript!')" >click me</a>

Для веб-разработчиков это означает, что если содержимое ссылок устанавливается на основе данных, введённых пользователем — атакующий может добавить в эти данные вредоносный код, начинающийся с javascript:. Затем, если пользователь щёлкнет по нехорошей ссылке, в браузере будет запущен скрипт злоумышленника.

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

▍Выявление уязвимости во время код-ревью

Могут ли пользователи проекта добавлять на страницы ссылки, по которым могут щёлкать другие пользователи? Если это так — попробуйте добавить на страницу «ссылку» наподобие следующей:

javascript: alert("You are vulnerable to XSS!")

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

▍Защита

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

Можно подумать, что для решения проблемы достаточно удалить из данных префикс javascript:. Это — пример использования стратегии «чёрного списка», которую нельзя признать удачной в деле очистки данных. У хакеров есть хитроумные способы обхода подобных фильтров, поэтому вместо подобного хода (или в дополнение к нему) сделайте так, чтобы ссылки использовали бы протокол, контролируемый по принципу «белого списка» (например — http:) и экранируйте HTML-сущности. Вот подробная статья на эту тему, касающаяся экранирования свойств, которые может контролировать злоумышленник.

Ещё одной стратегией, которая способна добавить в проект дополнительный уровень защиты, является использования механизма открытия пользовательских ссылок в новых вкладках браузера. Я, однако, не рекомендовала бы использовать эту стратегию как единственную «линию обороны» проекта. Открытие javascript:-ссылки в новой вкладке — это пример нестандартного поведения элементов страницы. Большинство браузеров без вреда для пользователя выполнят скрипт в пустой вкладке, но это не гарантировано, и, вероятно, это можно обойти, что зависит от браузера.

Рассмотрите возможность использования специального компонента UserLink, что приведёт к тому, что уязвимый тег <a> с меньшей долей вероятности попадёт на страницы вашего проекта в будущем. Кроме того, стоит добавить в проект несколько тестов и правил линтинга, нацеленных на выявление потенциально опасного кода и на то, чтобы не допустить его попадания в продакшн.

Ссылки — это не единственные сущности, которые могут быть использованы подобным образом. Но они — наиболее вероятная цель атаки в React-приложениях. Любой элемент может быть уязвимым к данной атаке в том случае, если злоумышленник может управлять его значением URI. Ещё одной возможностью проведения этой атаки, например, является конструкция вида . Полный список атрибутов, которые могут содержать URI, можно найти в этом списке по ключевому слову %URI, воспользовавшись браузерным поиском (Ctrl+F).

Уязвимость №3: непонимание смысла конструкции dangerouslySetInnerHtml

Я чрезвычайно благодарна React за то, что предупреждение о безопасности находится прямо в имени метода. Это — имя dangerouslySetInnerHTML. Мы, несмотря на это предупреждение, всё ещё часто сталкиваемся с тем, что разработчики рискуют, выполняя небезопасные операции. То же самое можно сказать и об eval().

Рассмотрим следующий пример, который я обнаружила на сайте с первой страницы поисковой выдачи Google:

<script dangerouslySetInnerHTML={{ __html: `window.__PRELOADED_STATE__ = ${JSON.stringify(initialState)};`}}></script>

Это — пример уязвимости №1, но с одной особенностью, которая должна сразу привлечь внимание к тому, что тут что-то не так. Там, где я это нашла, сделана попытка объясниться: «Мы используем dangerouslySetInnerHTML в качестве метода очистки данных и предотвращения XSS-атак». Ну уж нет! Это неправильно. Не делайте так. Для того чтобы узнать подробности о dangerouslySetInnerHTML — почитайте документацию React.

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

▍Выявление уязвимости во время код-ревью

Прежде чем отправлять pull-запросы или выполнять операции слияния — полезно выполнить поиск в коде по строкам dangerouslySetInnerHTML и eval (я, кроме того, ищу так команды console.log) или воспользоваться соответствующим правилом линтера.

▍Защита

Проверьте, чтобы во всех случаях использования метода dangerouslySetInnerHTML выполнялась бы загрузка на страницу исключительно данных, которым вы можете доверять. Как узнать о том, что данным можно доверять? Если нечто пришло не от вас — это нечто может нести в себе угрозу. Сюда входят и данные, загруженные из внешних API, и то, что оформляется средствами Markdown.

Замечание о спуфинге компонентов

В 2015 году некто выяснил, что можно спуфить компоненты, передавая JSON тем компонентам, которые ожидают текст. Я смогла найти лишь один случай сообщения о спуфинге компонентов и длинное обсуждение, вызванное этим сообщением. В обсуждении речь шла о том, какова мера ответственности React в деле предотвращения XSS-атак. В итоге разработчики React выпустили исправление, которое, как кажется, способствовало устранению этой уязвимости.

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

Замечание о SSR

Уязвимость, касающаяся серверного рендеринга, столь широко распространена из-за того, что она присутствовала в документации Redux и в результате разошлась по множеству других материалов. Эту проблему исправили в 2016 году. Но и сегодня, через три года, в руководствах для новичков, разбросанных по всему интернету, всё ещё учат тому, чему учить не стоило бы.

Кстати, вот вам домашнее задание: найдите пример этой проблемы на GitHub и отправьте pull-запрос на её исправление. Вот пример.

Вместе мы сможем раз и навсегда избавиться от этой уязвимости!

Уважаемые читатели! Сталкивались ли вы с атаками на ваши React-проекты?


ссылка на оригинал статьи https://habr.com/ru/company/ruvds/blog/467255/

Как SoftBank поглотил мир

Под руководством харизматичного лидера Масаёси Сона фонд Vision Fund японского конгломерата SoftBank захватывает мир технологий, приобретая одну компанию за другой. Эта история о том, что получается, если разрушить разрушителей.

В 2010 году директор SoftBank Group Масаёси Сон раскрыл свой 300-летний план будущего развития. Инвестиционное подразделение компании Vision Fund стоимостью в $100 млрд является крупнейшим техническим фондом в истории.

Утром 20 июля 2017 года в роскошной гостинице Принс Парк Тауэр в Токио Масаёси Сон появился на сцене в забитом конференц-зале. Его небольшой силуэт был подсвечен ярким белым светом. Сон, директор японского конгломерата SoftBank Group, охватывающего области интернета, энергетики и финансов, был одет скромно, как обычно, в серый костюм и полосатую рубашку. Он улыбнулся и представился по-японски.

Сон известен своими причудливыми аналогиями и длинными речами. В 2010 году его речь про «300-летний план на будущее» открылась с размышлений о природе грусти. Сон риторически спрашивал: «Что самое грустное в жизни? А что даёт вам наивысшее счастье?» В 2016 году он приравнял интернет вещей (IoT) к кембрийскому взрыву, сравнив эволюционные преимущества, полученные появлением глаз у первых видов, с комбинацией датчиков и ИИ, позволяющих создавать IoT.

Обращаясь к сотням технологов и предпринимателей, он сравнил SoftBank с джентри промышленной революции, привилегированным классом, вложившимся в технологии и науку для всеобщего блага. За два месяца до этого SoftBank открыл $100-миллиардное инвестиционное подразделение Vision Fund — крупнейший технический фонд в истории. В метафоре Сона Vision Fund был джентри информационной революции. «Мне не хочется спать, — сказал он. – Не хочется терять время. Это очень интересные времена».

Многие из присутствовавших на собрании директоров получили финансирование для своих фирм от фонда. Все без исключения они встречались с Соном лично, либо в его офисе в Сиодомэ, Токио, или в его поместье в Вудсайде, Калифорния, стоимостью $117,5 млн. Большинство описывают легендарного инвестора по прозвищу «Маса», как тихо говорящего человека скромных манер, имеющего пророческие взгляды на будущее: и эту репутацию поддерживают его достижения.

В 1970-х Сон эмигрировал в Америку с целью обучения. В то время он слабо владел английским, а свой первый миллион сделал на импорте японских аркадных игр типа Space Invaders. Именно Сон в 1996 году предложил своему приятелю-предпринимателю Джерри Янгу, который тогда был директором стартапа со сложным финансовым положением «Yahoo!», $100 млн в инвестициях. Его предчувствия оправдались. К 2000 году Yahoo! стала доминирующим поисковиком, вплоть до падения интернет-компаний.

В том году Сон познакомился с молодым китайским учителем, основавшим интернет-магазин Alibaba. Он уговорил Джека Ма принять инвестиции на $20 млн, пообещав превратить его компанию в следующий Yahoo!.. Сегодня, когда Сон инвестирует в бизнес, он иногда говорит его основателям, что и они могут стать такими же большими, как Alibaba, одна из крупнейших компаний в мире. «В 2000 году мы уже знали, что Китай станет крупной державой, поэтому он решил вложиться», — говорит Юджин Ижикевич, глава ИИ-стратапа Brain. «После схлопывания пузыря доткомов он инвестировал в Китай. Тогда между Гонконгом и Шэньчжэнем была грунтовая дорога. У него есть дар видеть вещи до того, как они станут реальными. То, что очевидно ему, через десять лет становится очевидным всем остальным».

На встрече в Токио Сон представил выходящих на сцену директоров. Сначала он пригласил основателя робототехнической компании Boston Dynamics Марка Райберта, человека, мечтающего изменить мир, создавая роботов, биомеханические возможности которых превосходят человеческие. (SoftBank купил компанию у Alphabet за неназванную сумму). Райберт привёл с собой четырёхногого робота Spot Mini, начавшего демонстрировать возможности своей моторики. «Маса, думаю, тебе придётся отойти, ты у него на дороге, — предупредил Райберт Сона. – Мы пока не научили его распознавать людей». Закончил Райберт утверждением, что «роботы станут явлением, которое затмит интернет», и поблагодарил SoftBank за помощь. Сон также поблагодарил его и сказал: «Мы изменим мир вместе. Мы вложим в роботов большие объёмы ИИ».


Масаёси Сон обращается к предпринимателям в 2017 году

Затем вышел Грег Уайлер, основатель OneWeb, с утверждением о том, что на фоне всех разговоров о гиперсвязанном будущем, у 54% жителей планеты нет доступа к интернету. Он рассказал о деталях своего плана запуска 900 не геостационарных спутников, которые смогут гарантировать доступ к интернету даже самых отдалённых уголков планеты к 2027 году. Закончив речь, Уайлер поблагодарил SoftBank за поддержку. «Мы изменим мир, мы подсоединим к интернету всех», — ответил Сон, провожая его со сцены.

Искусственный интеллект – и сопутствующие ему повсеместные данные, высокоскоростная связь и автономные роботы – красной нитью проходили через выступления всех ораторов в тот день. Хельми Эльтухи, директор Guardant Health, хочет победить рак при помощи данных; Мэтт Барнар, основатель платформы Plenty для выращивания растений под крышей, использовал ИИ для оптимизации окружающей растения среды; Билл Хуан, основатель стартапа Cloud Minds, хотел создать первого в мире робота на основе облачных технологий. «Внезапно у нас получится помогать слепым ориентироваться при помощи датчиков, — заявил он. – Мы сможем заменить собак-поводырей!»

Перед завершением встречи Сон снова вышел на сцену и предался воспоминаниям: «Когда мне было 17, я впервые увидел фотографию микропроцессора, и заплакал. Меня переполнили чувства». Затем он представил Саймона Сигарса, главу британской фирмы Arm Holdings, проектирующей чипы. «Первые наши процессоры были размером с пуговицу рубашки, — начал Сигарс. – Теперь мы можем выжать в тысячи раз больше вычислительной мощности из чипа размером с булавочную головку». Микропроцессоры Arm использовались в хирургических роботах, робомобилях и умных камерах, однако ИИ будущего нельзя будет построить, если все эти данные придётся отправлять на обработку в облако, а потом скачивать обратно – этот вариант будет потреблять слишком много энергии и работать медленно из-за задержек. «Если каждый обладатель телефона на Android будет три минуты в день распознавать речь, Google придётся удвоить количество дата-центров», — сказал Сигарс. Следующему поколению микропроцессоров придётся включить в себя ИИ и обрабатывать данные самостоятельно. «И мы не можем сделать этого в одиночку, — сказал он слушателям. – Нам нужно работать вместе с другими компаниями для реализации этих технологий».

В конце Сон пожал руку Сигарсу. Он сказал, что Arm незаменима не только для SoftBank, но и для всего человечества. «И теперь они тоже член нашей семьи, — продолжил Сон, повернувшись к зрителям. – Если мы можем объединить усилия, мы можем стать новыми джентри этого поколения, делая будущее более приятным местом для жизни». Он поклонился и ушёл.


Хельми Эльтухи, директор Guardant Health

Сон был одержим попытками сделать SoftBank крупнейшей компанией в мире с самого дня её основания в 1981 году в качестве распространителя ПО для ПК (SoftBank — это Bank of Software) – когда он, 24-летний предприниматель, встал на пустой ящик перед двумя своими сотрудниками и пообещал им, что когда-нибудь они станут величайшей компанией мира. Через несколько дней эти сотрудники уволились, но Сон, которому сегодня 61 года, без устали преследовал свои цели, своё «300-летнее видение»: технологическую революцию, которая в итоге приведёт к сингулярности, к точке в истории, когда ИИ превзойдёт человека по интеллекту и улучшит абсолютно все индустрии глобальной экономики.

В этой версии будущего SoftBank будет не следующей Google, следующей Apple или Microsoft – Сон не считает, что один бренд или одна бизнес-модель сможет достичь сингулярности. Это сможет сделать то, что Сон называет стратегией «скопления лидеров»: экосистема ИИ-компаний под руководством SoftBank, развёрнутая на все индустрии, от здравоохранения до транспорта, от перевозок людей до роботов; такое разнообразие соответствует портфелю инвестиций Vision Fund.

«Мы хотим сформировать коалицию единомышленников-предпринимателей, — сказал Сон присутствовавшим на конференции 2017 года. – Революцию в одиночку сделать невозможно». А в центре этой экосистемы будет компания, разрабатывающая небольшие процессоры низкого энергопотребления, которые сейчас стоят в 95% смартфонов, не говоря уже умные колонки, устройства для слежения за здоровьем, дроны и телевизоры: Arm Holdings.

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

В рамках этой идеи SoftBank приобрёл Vodafone Japan, проблемного мобильного оператора, имевшего проблемы со связью и непопулярными телефонами, за несколько недель до встречи с руководителями Arm. Директора SoftBank скептически отнеслись к приобретению, но Сон был непреклонен. Кроме того, у него было стратегическое преимущество. Перед покупкой Сон ездил в Калифорнию и встречался со Стивом Джобсом. С собой он привёз нарисованный от руки проект смартфона и показал его главе Apple. («Выглядел он, как жаба с торчащей батареей», — сказал Сон в интервью The Nikkei в 2016-м). Джобсу ужасно не понравился набросок, но он сказал Сону, что его интуиция верна. Джобс тогда как раз разрабатывал первые прототипы iPhone. Сон уехал со встречи с обещанием, что если сделка с Vodafone пройдёт, то она станет эксклюзивным распространителем iPhone в Японии.

Сигарс и Сон поддерживали связь, встретились ещё пару раз в 2006-м, а потом ещё в 2014 и 2015-м. К тому времени, как Сигарс заменил Иста на должности генерального директора в 2013 году, Arm – как и предсказывал Сон – консолидировала свою долю в индустрии чипов, и продавала лицензии Apple, Samsung, Nvidia и Qualcomm. Как и хотел Сон, Vodafone Japan (теперь это SoftBank Mobile) стала одной из ведущих мобильных компаний Японии, благодаря эксклюзивной сделке с Apple.

В июне 2016 года Сигарс встретился с Соном за ужином в имении последнего в Калифорнии. Позже Сигарс описывал это, как самое важное собеседование в его жизни. Просто он тогда ещё этого не осознавал. На встрече Сигарс поделился дилеммой, с которой он столкнулся в Arm – но отметил также, что она представляет ещё и несколько интересных возможностей. Рынок смартфонов насытился, рост прибылей замедлился, и Arm нужно было сильно понизить процент прибыли, чтобы делать долгосрочные инвестиции в таких областях, как ИИ, датчики, 5G и робомобили. «Нам приходилось проводить неприятные беседы с акционерами, — говорит Сигарс. – Помню, как меня спросили о падении процента прибыли, и как я объяснял, что мы инвестируем в долгосрочные проекты. Я всё ещё помню выражение шока на лице одного из них».

Через несколько дней после встречи Сон позвонил Сигарсу: «Мне надо как можно быстрее поговорить с вашим председателем». «Извините, но это невозможно», — ответил ему Сигарс. В то время председатель совета директоров Arm Стюарт Чемберс отдыхал на своей яхте в Средиземном море. Но Сон настаивал: «Нет, нет, нет. Вам надо это устроить. Я обеспечу вам вылет. Езжайте в ближайший аэропорт, я оформлю вам вылет, вылечу сам и мы встретимся».

Они встретились в ресторане морепродуктов The Pineapple в Мармарисе, Турция. Сон зарезервировал в нём все столы – и когда Сигарс с Чемберсом приехали, внутри были только официанты. Когда прибыл Сон, он уселся и рассказал британским директорам, что хочет купить Arm и сделал им несколько обещаний: компания останется независимым подразделением Softbank; он не будет вмешиваться в повседневное управление; компании будет позволено инвестировать всю прибыль в исследования и разработку.

«Я пытался вести себя так спокойно, как это возможно, — вспоминает Сигарс. – Мы слушали его, и делали всё, что нужно, то есть не соглашались ни на что сразу, и говорили как можно меньше».

Сигарс и Чемберс вернулись в Кембридж, и передали предложение совету директоров. Через неделю они сошлись в цене; все оформления были сделаны за две недели; на весь процесс ушло десять недель. «Купить компанию из первой сотни FTSE за такое короткое время – это просто потрясающе», — говорит Иен Торнтон, вице-президент по связям с инвесторами Arm. Рене Хаас, президент группы интеллектуальной собственности Arm, соглашается с ним: «Подобные процессы могут длиться годами, но это случилось безумно быстро. Всё было под эгидой ’давайте, давайте, давайте, двигайтесь, продвигайте сделку’. Всё произошло буквально со скоростью света. Не думаю, что законы физики позволили бы провести сделку быстрее, как и законы государства, которым нужно было подчиняться. Всё прошло с наибольшей возможной скоростью».

Однажды в воскресенье члены исполнительного комитета Arm, не посвящённый в шедшие переговоры, получили от Сигарса текстовые сообщения о срочном созыве встречи. «Я перенаправил текст другому члену комитета, которого тоже ожидали на встрече, — говорит Хаас. – Все были в замешательстве. ’Что, Саймон увольняется? Мы понятия не имели’». Вечером директора встретились в зале заседаний. И вместе с пивом и чипсами Сигарс выдал нам откровение. «Карты на стол, — сказал он. – Завтра будет официально объявлено о том, что SoftBank купил Arm».

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

Тем утром было сделано объявление о покупке: Arm была куплена компанией SoftBank по цене в £17 за акцию, что составило в сумме £24 млрд. Герман Хаузер, участвовавший в развитии Arm на ранних стадиях, и считающийся одним из наиболее влиятельных предпринимателей Британии, сказал BBC, что для британской техноиндустрии это был «грустный день».

Днём Сон отправился в Кембридж на встречу с членами исполнительного комитета Arm. «Он светился, как мальчик, получивший новую игрушку, — вспоминает Хаас. – Он говорил: ’Это самый радостный день в моей жизни. Я следил за этой компанией 30 лет. И я впечатлён её достижениями’.»

Через месяц команда исполнительных директоров Arm отправилась в Сан-Карлос, Калифорния, на встречу с Соном и своими коллегами из SoftBank International. Британцы начали встречу с презентации касательно планов на прибыль и прогнозов на ближайшие четыре квартала. «Ему было совершенно неинтересно, — говорит Хаас. – Он играл на iPad». Однако, когда они начали рассказывать о видении будущего компании, Сон преисполнился энтузиазмом и поделился своим 300-летним видением. К 2035 году к интернету будет подключено триллион устройств, сказал он – это будет огромный интернет вещей, где будут робомобили, умные роботы и датчики с ИИ, и за всеми ними будет стоять Arm. «Он буквально показывал нам графики и цифры по прибыли из 2035 года, — говорит Хаас. – Помню, как я именно тогда подумал: Это что, шоу? Но теперь я понимаю, что он просто очень далеко заглядывает. И начинаешь думать, что если этого реально можно будет достичь, это будет безумие».


Джин Лиу, президент DiDi

Покупка компании Arm стала крупнейшей сделкой в сфере технологий для Европы. Она также отметила тот момент, когда многие люди в Британии, включая предпринимателей и специалистов по технологиям, впервые услышали о SoftBank. То, что эта малоизвестная японская телекоммуникационная компания оказалась глобальным инвестором-тяжеловесом, стало для большинства из них откровением, несмотря на серию совершённых ею крупных покупок. В 2013 году SoftBank приобрела американскую телекоммуникационную компанию Sprint за $22,2 млрд, финского разработчика Supercell за $1,5 млрд. В 2014 году она запустила инвестиционный филиал в Калифорнии – предшественника Vision Fund под названием SoftBank International, который сделал очень ранние инвестиции в такие компании, как стартапы райд-шеринга DiDi в Китае и Ola Cabs в Индии, а также в Tokopedia, индонезийский интернет-магазин, у которого сегодня насчитывается 80 млн пользователей. «Мы были достаточно малоизвестными, — говорит Дэвид Тевенон, партнёр в SoftBank. – Людей всегда сбивало с толку название SoftBank. ’- Вы – банк? Вы – мобильный оператор?’ Приходилось объяснять, что мы годами занимались международными инвестициями».

А когда SoftBank, наконец, начали узнавать, появилась новая сложность: компании нужно было больше денег для инвестиций. Эту задачу передали бывшему торговцу долгами Deutsche Bank, Радживу Мисре.

Мисра вырос в Нью-Дели. В 1981 году он поступил в Пенсильванский университет, чтобы изучать машиностроение и информатику. Затем он работал в Лос-Аламосе над разработкой спутников, над программными симуляциями в филадельфийском стартапе Reality Technologies, а потом вернулся в бизнес-школу. С Соном он встретился в 2002 году, на посту главы кредитов и новых рынков Deutsche Bank. Он занимался займами SoftBank, а потом помогал им структурировать сложное приобретение Vodafone Japan. Повторно они встретились через восемь лет, летом 2014 года, на свадьбе. Alibaba – компания, в которую в 2010 году Сон вложил $20 млн – незадолго до этого провела первичное размещение акций на бирже, оказавшееся самым крупным в истории. Благодаря этому SoftBank смогла выйти на глобальные рынки, и Сон хотел, чтобы Мисра снова стал работать на него. «Я не знал, чем точно мне нужно будет заниматься, но звучало интересно», — вспоминает Мисра.

Чтобы купить британскую компанию, SoftBank пришлось продать акции Alibaba и Supercell. Сделка погрузила японскую компанию в долги на $105 млрд. «Мы хотели инвестировать в надвигающуюся революцию ИИ, и во все те компании, которые перевернут всю индустрию на планете, — говорит Мисра. – Финансовые сервисы, автомобили, отели, офисное пространство, торговля недвижимостью, что угодно. Нам казалось, что недостаток денег ограничивал нас. Мы сказали: давайте поднимем денег. Давайте станем крупнейшим инвестиционным фондом планеты». Маса назвал его Vision Fund.

Инвестиционная гипотеза в основе Vision Fund строится вокруг масштаба: стратегии «победитель забирает всё». Они нацеливались на компании, занимавшие от 50% до 80% рынка, и инвестировали с запасом, чтобы помогать этим компаниям расти быстро и глобально. «Этому я научился у Масы, — говорит Мисра. – Что важнее, быстрее расти или быть эффективнее? Эффективность – это правильная пропорция стоимости и прибылей. Дело не в том, чтобы считать деньги, потраченные на канцтовары и постепенно расти в США или в Индии. Мы считаем, что компаниям сначала нужно масштабироваться. А масштабировавшись, можно уже подправлять всё остальное. Глобальные барьеры исчезают, поэтому, если вы не выйдете на глобальный уровень быстро, это сделает кто-то другой».

А для этого, конечно, требовался капитал – много капитала. Изначально фонд планировал начать с $30 млрд – огромная сумма, но не такая уж неслыханная. Но это было до того, как Маса решил, что лучше начать с $100 млрд.


Раджив Мисра, директор $100-миллиардного фонда SoftBank Vision Fund

Мисра и Сон сделали презентацию, где была показана история инвестиций фонда – на тот момент в портфель уже входили Arm, Sprint, SoftBank Mobile, Alibaba and Yahoo! Japan – и отточили речь. В 2016 году, с сентября по декабрь, они ездили по миру, встречались с коммерческими компаниями США, пенсионными фондами, иностранными фондами в Азии и на Ближнем Востоке. Их принимали вежливо, но предложение в основном встречали с недоверием, считая попытку поднять сумму в $100 млрд для единственного инвестиционного фонда нереалистичной, вне зависимости от его амбиций.

Однако, несмотря на в целом скептическую реакцию, некоторые всё же заинтересовались предложениями SoftBank. Одним из них был Мухаммед ибн Салман Аль Сауд, наследный принц Саудовской Аравии.

Саудовская делегация из 500 человек посетила Токио в мае 2017 года. Перед встречей с ибн Салманом Сон и Мисра рекламировали идею Vision Fund ближайшим советникам принца, с которыми их свели бывшие коллеги Мисры из Deutsche Bank. Через несколько дней они принимали наследного принца в государственном гостевом доме в центре Токио. Позднее в интервью финансисту Дэвиду Рубенштейну Сон сказал, что тогда объявил ибн Салману: «Я хочу принести вам дар от Маса, от Токио – дар в $1 трлн». Ибн Салман ответил: «ОК, вот теперь я заинтересован». Сон ответил: «И вот как я дам вам $1 триллион: вы инвестируете $100 млрд в мой фонд, а я даю вам триллион». Встречу Сон завершил, получив предварительное согласие на инвестиции в $45 млд в следующие пять лет.

Через шесть недель мужчины снова встретились, уже в Эр-Рияде, столице КСА. Сон посетил государственную нефтяную компанию Aramco, провёл время с директорами саудовского государственного инвестиционного фонда. К тому времени Apple, Qualcomm, Foxconn, Sharp и Mubadala из Абу-Даби добавили в фонд ещё $20 млрд, а SoftBank добавил туда $28 млрд своих денег. Церемонию подписания в Эр-Риаде провели в мае 2017 года, так, чтобы она совпала с первой зарубежной поездкой Дональда Трампа в качестве президента США – и $100-миллиардный Vision Fund был официально запущен.

SoftBank, никогда до этого не управлявший чужими деньгами в таких масштабах и никогда не запускавший управляемого фонда, теперь владел крупнейшим инвестиционным фондом в истории, превышавшем по сумме все деньги, собранные венчурными капиталистами в США за последние 30 месяцев. Директор фонда Раджив Мисра чувствовал на себе давление. «Мы, как попечители, теперь несли ответственность перед всеми этими компаниями, нашими партнёрами, гражданами Саудовской Аравии. И поступил ли два года назад первый входящий звонок от человека, который искал инвестиции? – вспоминает Мисра. – Нет».


Стюарт Баттерфилд, сооснователь компании Slack, в которую SoftBank вложил $250 млн

В один из дней декабря 2018 года Мисра пригласил журнал Wired в штаб-квартиру Vision Fund, в четырёхэтажное эдвардианское здание в лондонском районе Мэйфэйр. Он был босиком, с закатанными рукавами, открывавшими браслет-шамбалу на одной руке. Во время беседы его настроение менялось от восторженного до задумчивого, и в этом случае он делал паузу и дымил электронной сигаретой.

Сейчас в портфеле фонда Мисры находится более 60 компаний. В него входят доля производителя графических процессоров Nvidia, оцениваемая в $7 млрд; доля британского стартапа Improbable в $502 млн, разрабатывающего крупномасштабные миры виртуальной реальности для игр и обучения; доля в платформе для продуктивности Slack размером в $250 млн. Также консорциум, работающий под управлением SoftBank, вложил $8 млрд в Uber.

Мисра возглавляет команду управляющих партнёров – семеро из них работают в представительстве компании в Кремниевой долине, двое в Японии и двое в Лондоне – тщательно изучающих по нескольку десятков компаний в неделю в поисках потенциальных возможностей для инвестирования. Они регулярно собираются вместе для коллективной оценки разнообразных сделок, предлагаемых отдельными партнёрами.

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

«Когда я встретился с ним в 2017 году, то объяснил, как моя компания стала ведущей гостиничной компанией Индии», — сказал Ритеш Агарвал, директор Oyo Rooms, крупнейшей сети отелей в Индии. «Я не считал тогда, что пришло время экспансии в Китай. Он же сказал, что мне обязательно нужно это делать, и подумать о возможности подольше пробыть там. В ноябре мы открыли наш первый отель в Шэньчжэне. Сейчас мы входим в первую пятёрку отелей в Китае. Его способность заглядывать в будущее не имеет себе равных».

Нижняя планка инвестиций Vision Fund составляет $100 млн, и большая часть из них находится в диапазоне от $500 до нескольких миллиардов, составляя обычно от 20% до 40% стоимости компании. «Они полностью изменили инвестиционную схему, — говорит Майкл Маркс, директор строительного стартапа Katerra из США. – Технокомпании становятся бизнесами стоимостью в миллиарды долларов. Думаю, что SoftBank просто первым увидел, что можно размещать гораздо больше капитала и получать больше прибылей. Он инвестирует с запасом, чтобы отмечать победителей. Такой подход может оказаться рисковым и не сработать, но думаю, что он сработает. Это удивительный экперимент», — говорит Маркс.

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

В эту всемирную сеть входят Apple, Qualcomm, Sharp, Alibaba, Sprint (четвёртый по размеру мобильный оператор США), Yahoo! Japan (в отличие от своего американского родителя, остающийся самым популярным сайтом в своей стране) и SoftBank Mobile, который при первичном размещении акций на бирже в декабре собрал $23,5 млрд – это был второй по объёму сбор за всю историю. Vision Fund также является одним из крупнейших иностранных инвесторов в Индии, Китае и Европе. У него есть представительства в Мумбаи, Сингапуре, Эр-Рияде и Абу-Даби. «Если рассмотреть инвестиционные компании, например, компании из США, они не выходят на глобальные рынки, очень малое их количество занимается действительно глобальными вещами, — говорит Тевенон. – А SoftBank повсюду».

Компании имеют право выбирать себе партнёров, но ускорению глобального роста обычно способствуют синергетические союзы, выигрышные для всех сторон. Рассмотрим пример Ping An Good Doctor, ИИ-провайдера здравоохранения первой очереди, заключившего соглашение с компанией райд-шеринга из юго-восточной Азии Grab. В Китае поездка к доктору может занять три часа ради 90-секундной консультации, поэтому Ping хочет пользоваться платформой Grab для геолокации, чтобы ускорить установление очерёдности и осмотр пациентов.

Oyo Rooms, запустив платформу машинного обучения, сумела стандартизировать свои отели во всём мире – от высокотехнологического бронирования номеров до уборки. Она вела рекламную компанию в Китае в партнёрстве с DiDi под слоганом: «Комфортная поездка с DiDi и комфортное жильё с Oyo».

Paytm, индийский стартап мобильных кошельков, обрабатывающий по 450 млн транзакций в месяц, недавно запустил в Японии PayPay совместно с Yahoo! Japan.

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

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

«Думаю, что ещё один общий знаменатель, проходящий через все наши инвестиции, это данные, — говорит Джефри Хаузенболд, управляющий партнёр в Vision Fund. – Всё дело в данных и в объединении человека и машины вокруг идеи сингулярности и ИИ. Как мы обрабатываем эти данные, чтобы сделать мир лучше, людей – счастливее, обогатить их жизни, обеспечить появление лучших продуктов и услуг? Не имеет значения, используем ли мы данные, чтобы находить новые лекарства или повышать эффективность доставки еды. С данными связаны почти все наших компании».

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


ссылка на оригинал статьи https://habr.com/ru/post/467317/

Обзор возможностей Qt Creator 4.10 и QBS 1.14 для программирования микроконтроллеров

Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы представить небольшой обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров. Кому эта тема интересна, добро пожатовать по кат.

Буквально на днях, тихо и незаметно, вышел релиз Qt Creator 4.10, в котором добавлены некоторые улучшения для работы с микроконтроллерами (в простонародье — «baremetal» устройствами). В этот релиз Qt Creator интегрирована сборочная система QBS 1.14 в которой также есть новые улучшения. О некоторых таких улучшениях и пойдет ниже речь.

Улучшения в Qt Creator

Все эти улучшения доступны только при включенном плагине BareMetal, который активируется через меню «Help -> About Plugins -> Device Support -> BareMetal».

  1. Теперь поддерживаются три новых компилятора, основные сведения о которых приведены ниже в таблице:
    Компилятор Поддерживаемые архитектуры
    IAR EW ARM, AVR, 8051 (MCS51)
    KEIL ARM, 8051 (MCS51)
    SDCC 8051 (MCS51)

    Примечание: Стоит заметить, что продукты от IAR EW и KEIL для разных архитектур предоставляются отдельными пакетами, которые нужно устанавливать независимо. В отличии, скажем, от компилятора SDCC который поддерживает несколько архитектур сразу.

  2. Теперь эти новые компиляторы автоматически определяются на вкладке «Tools -> Options -> Kits -> Compilers -> Auto-detected».

    Например, у меня это выглядит следующим образом:

    Примечание: Как видно, для языка С++ отсутствует компилятор KEIL для MCS51, что корректно, т.к. этот компилятор поддерживает только C. Также здесь будет отсутствовать и компилятор SDCC по той же причине.

  3. Имеется также возможность ручного добавления этих новых компиляторов через меню «Tools -> Options -> Kits -> Compilers -> Add»:

  4. Для компилятора будет автоматически определено его ABI (архитектура, формат и ширина слова). Информацию об этом можно посмотреть, просто кликнув на компиляторе.

    Например, у меня для IAR EW и архитектуры 8051 (MCS51) это выглядит следующим образом:

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

  5. Для компилятора будут автоматически определены все его макросы. Таким образом они будут корректно подсвечены в редакторе кода.

    Примечание: Исключением являются только ключевые слова некоторых компиляторов (например, для архитектуры 8051), которые будут подсвечены с предупреждением. Но это уже другая история.

  6. Для компилятора будут автоматически определены директории с его заголовочными файлами. Таким образом они будут корректно подсвечены в редакторе кода.
  7. Реализованы парсеры ошибок и предупреждений этих новых компиляторов, которые выводятся в панель «Issues».

Улучшения в QBS

QBS будет неотъемлемой частью данного обзора, поэтому имеет смысл поговорить и об его улучшениях:

  1. Добавлена поддержка этих новых компиляторов (некоторых из них еще с начиная с версии 1.13).
  2. Реализована возможность автоматического определения установленных компиляторов и создания профилей. Для чего используется утилита qbs-setup-toolchains.

    В моем случае это выглядит так:

    c:\Qt-meta\Tools\QtCreator\bin>qbs-setup-toolchains.exe --detect ... Trying to detect IAR toolchains... Profile 'iar-arm' created for 'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.3/arm/bin/iccarm.exe'. Profile 'iar-mcs51' created for 'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0/8051/bin/icc8051.exe'. Profile 'iar-avr' created for 'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0/avr/bin/iccavr.exe'. Trying to detect KEIL toolchains... Profile 'keil-mcs51' created for 'C:/Keil_v5/C51/BIN/c51.exe'. Profile 'keil-arm' created for 'C:/Keil_v5/ARM/ARMCC/bin/armcc.exe'. Trying to detect SDCC toolchains... No SDCC toolchains found. ... 

    Чтобы посмотреть что там было обнаружено, можно воспользоваться GUI утилитой qbs-config-ui.

    В моем случае это выглядит так:

Особенности создания проекта

Тут важно иметь представление и уметь корректно заполнять свойства проекта для модулей cpp и qbs.

Остановимся на наиболее важных из них и рассмотрим их подробнее:

  • qbs.toolchain — это свойство автоматически заполняется при генерации профиля для выбранного компилятора. Ниже в таблице представлены возможные значения этого свойства:
    Имя тулчейна Значение свойства
    IAR EW iar
    KEIL keil
    SDCC sdcc

  • qbs.architecture — это свойство автоматически заполняется при генерации профиля для выбранного компилятора. Ниже в таблице представлены возможные значения этого свойства:
    Имя архитектуры Значение свойства
    ARM arm
    AVR avr
    8051 (MCS51) mcs51

  • cpp.cLanguageVersion — это свойство позволяет установить версию используемого стандарта для языка С. Возможные варианты использования приведены в таблице ниже:
    Имя тулчейна Возможные варианты По умолчанию
    IAR EW c89 Последняя версия в зависимости от версии тулчейна.
    KEIL c99 (только для ARM) Последняя версия в зависимости от версии тулчейна.
    SDCC c89, c99, c11 Последняя версия в зависимости от версии тулчейна.

    Примечание: Важно заметить, что тулчейны IAR EW и KEIL не предоставляют возможности выбора версии стандарта. По умолчанию они используют самую свежую версию, реализованную в конкретной версии компилятора (или c99 или c11, нужно смотреть в release-notes к компилятору). Обычно имеется возможность только выбрать старую версию стандарта c89.

  • cpp.cxxLanguageVersion — это свойство позволяет установить версию используемого стандарта для языка С++. Возможные варианты использования приведены в таблице ниже:
    Имя тулчейна Возможные варианты По умолчанию
    IAR EW Нет Последняя версия в зависимости от версии тулчейна
    KEIL c++03, c++11 (только для ARM) c++03 (только для ARM)
    SDCC Не поддерживается Не поддерживается

  • cpp.entryPoint — это имя точки в хода в программе, которая используется при линковке. Её необходимость определяется используемым рантаймом. Например, если использовать рантайм от IAR EW (т.е. линковаться с её библиотеками и использовать её скрипты линкера), то в этом случае имя точки будет "__program_start". Т.е. это целиком и полностью зависит от разработчика.
  • cpp.driverFlags — это общие флаги, которые будут передаваться компилятору и ассемблеру. В некоторых случаях, они также будут передаваться и линковщику (это зависит от типа тулчейна). Этими флагами могут быть флаги указания типа процессора, сопроцессора и т.д.

    Например, для компилятора IAR EW для архитектуры AVR это могут быть:

    cpp.driverFlags: ["--cpu=can128", "-ms"]

  • cpp.driverLinkerFlags — это флаги, которые будут передаваться линковщику без изменений, в отличии от cpp.linkerFlags, которые могут быть автоматически дополнительно обернуты некоторыми ключевыми словами. Для компиляторов IAR EW и KEIL предпочтительнее использовать cpp.driverLinkerFlags, т.к. эти компиляторы всегда используют отдельный исполняемый файл линковщика для линковки. Для компилятора SDCC предпочтительне использовать cpp.linkerFlags, т.к. команды этого компилятора в чем-то аналогичны компилятору GCC.
  • cpp.commonCompilerFlags — это общие флаги, которые будут передаваться как компилятору C так и компилятору C++.

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

    cpp.commonCompilerFlags: ["-e"]

  • cpp.сFlags — это флаги, которые будут передаваться только компилятору C.
  • cpp.сxxFlags — это флаги, которые будут передаваться только компилятору C++.
  • cpp.staticLibraries — это список библиотек с которыми необходимо линковать приложение. Отмечу, что cpp.dynamicLibraries не поддерживаются в данных компиляторах (как я знаю), поэтому имеет смысл использовать только cpp.staticLibraries.
  • cpp.assemblerFlags — эти флаги будут переданы только ассемблеру.

Для задания файлов скриптов для линковщика имеется специальный тег «linkerscript», который и необходимо использовать, например:

         Group {             name: "Linker Scripts"             fileTags: ["linkerscript"]             files: ["cfg3soim.xcl", "cfgcan128.xcl"]         } 

Примечание: Причина в том, что для разных компиляторов имеются различные варианты именования этих файлов. Для того же GCC это могуть быть файлы с расширениями *.ld, *.x, *.xn, *.xbn и пр. (что уже говорить о других компиляторах…). Поэтому решено было не заморачиваться с тегированием всех возможных расширений файлов для конкретных компиляторов, а просто использовать тег «linkerscript» по назначению и ситуации.

Чтобы посмотреть как это все работает, QBS предоставляет набор простейших примеров, которые только «дрыгают» ножкой и мигают светодиодом.

Что с отладкой

К сожалению, ситуация с отладкой плачевная. Продукты (IDE) IAR EW и KEIL используют свои отладчики, но, т.к. эти продукты являются проприетарными, то раздобыть где-то описание работы протоколов этих отладчиков не представляется возможным. Единственный вариант — это попытаться выполнить реверс-инжиниринг плагинов для Eclipse (например, IAR EW предоставляет эти плагины), но для этого необходима серьезная мотивация.

Но могу немного обрадовать, если скажу, что для архитектуры ARM можно использовать отладчик GDB. По крайней мере у меня это работало для IAR EW (но вот, с KEIL что-то не вышло, возможно там надо указывать какие-то дополнительные флаги линковщику).

Что дальше

Здесь я немного спойлерну, скажу что в следующих версиях (не знаю в каких именно), должны добавиться архитектуры STM8 и MSP430, а также в QBS будут реализованы генераторы в нативные проекты IAR EW и KEIL (что даст возможность, например, отлаживать проекты).

На этой ноте я заканчиваю свое повествование, всем спасибо, кто уделит внимание этому обзору.


ссылка на оригинал статьи https://habr.com/ru/post/467323/

История самого юного программиста ПСБ: хакатон стал дверью в банк

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

Два года назад я пробовал свои силы на хакатоне Промсвязьбанка в Самаре в качестве участника, а сейчас помогаю c кейсом нашего банка на VK Hackathon, который пройдет 27-29 сентября в Питере. Выступлю там в качестве ментора, буду направлять ребят на новые идеи и помогать в их реализации. Есть в этом что-то волнительное.

В Самару

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

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

Чудеса коммуникации

После мероприятия мы долго оставались на площадке, дружески общались с организаторами. Многие участники разъехались на поездах, а мне надо было на самолет в Москву. Аэропорт в Самаре находится далеко от города, и я поехал туда вместе с организаторами на микроавтобусе. По дороге мы много разговаривали и в итоге договорились, что меня позовут на собеседование.

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

Дальше события развивались очень динамично. Я прилетел из Самары в Москву, до отправления сапсана оставалось 4 часа. Тут на почту пишет HR, предлагает назначить скайп-интервью. Я описал ситуацию и предложил подъехать прямо в офис, тем более что он находился недалеко от вокзала, на Стромынке. Прособеседовался за полтора часа и вернулся к поезду. Буквально на следующий день мне перезвонили, сказали, что берут в ПСБ, и я в тот же день уволился со старой работы.

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

Уже позже, начав работать в Москве, я перепоступил в ИТМО на вечернее отделение на кафедру информационной безопасности и продолжил обучение.

Хакатон за хакатоном

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

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

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

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

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

Сначала были олимпиады

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

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

Что интересно, в олимпиадном программировании присутствует командная составляющая. Есть формат проведения олимпиады, когда соревнуются команды по 3 человека. Обычно один сидит за компьютером и пишет программу, другой ему помогает, третий пытается решить следующую задачку. Потому что там всё на скорость, даётся всего 5 часов и от 5 до 10 задач. Многие полезные навыки командной работы я приобрел именно там.

Забудьте стереотипы

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

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


ссылка на оригинал статьи https://habr.com/ru/company/psb/blog/467303/

22 компьютерных музея: путеводитель для путешествующих по Европе инженеров

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

***

Первые индустриальные музеи появились еще во второй половине XIX века. Основу их коллекций составляли механизмы, приборы и материалы, ранее выставлявшиеся на всемирных выставках, которые с 1851 года вызывали повышенный интерес во всем мире. Тогда же начали формироваться и собрания, ставшие основой научно-технических музеев ХХ века. А специальный метод повествования, характерный для такого рода экспозиций, сложился уже в 1960-70-е годы, когда даже самые старые ЭВМ в музеи еще никто списывать не собирался.

Сейчас компьютеры и другая техника попадают в музейные коллекции четырьмя путями:

  1. за счет целенаправленной сдачи устаревшей техники в официальные музеи науки и техники;
  2. за счет выкупа музейными специалистами ЭВМ, отправленных в утиль;
  3. из частных коллекций;
  4. путем естественного накопления устаревшей техники и организации музеев образцов продукции или оборудования.

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

Музеи компьютеров в европейских странах (по алфавиту):

1. Австрия, ярмарочная коммуна Бад-Пираварт, Ӧ.Computermuseum

Адрес: Professor-Knesl-Platz 12, 2222 Bad Pirawarth
Как попасть: учитывая клубный формат музея, имеет смысл предварительно связаться с администрацией
Часы работы: 14:00—22:00

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

2. Бельгия, Намюр, музей NAM-IP

Адрес: Henri Blès Street 192A, B5000 Namur
Как попасть: по билету за 8 евро
Часы работы: апрель—октябрь: вторник—суббота 10:00—17:00; ноябрь—март: понедельник—пятница, 10:00—17:00

В столицу Валлонии, средневековый город с еще римской крепостью, расположенный в 65 км от Брюсселя, недавно перебралось бельгийское подразделение корпорации Unisys. Это наследники таких IT-гигантов, как Burroughs и UNIVAC. Первую версию местного музея собрали энтузиасты из числа сотрудников. Сейчас NAM-IP — огромное собрание цифровых артефактов, которое насчитывает несколько тысяч единиц хранения. Как пишут на странице самого музея, это крупнейшая коллекция «в радиусе 375 км», видимо, до Парижа.

3. Венгрия, Сегед, Коллекция Компьютерного общества Джона фон Неймана

Адрес: Szeged, Kálvária Sgt. 23
Как попасть: по билету за 900 форинтов (примерно 3 евро)
Часы работы: понедельник, вторник, четверг 08:00—16-00; среда, пятница суббота 09:00—16:00

Венгрия прославилась не только терминалами Videoton. В 1903 году в Будапеште родился Джон фон Нейман — автор той самой неймановской или Принстонской архитектуры ЭВМ. Коллекция Компьютерного общества Джона фон Неймана хранится в Сегеде — третьем по размеру городе Венгрии. Она насчитывает около 15 000 единиц хранения, включая космический спутник, мейнфреймы и игровые приставки, а также первый доступный массовому потребителю венгерский компьютер Primo.

4. Германия, Киль, Музей компьютеров при Институте прикладных наук Киля.

Адрес: Sokratesplatz 1, 24149 Kiel
Как попасть: по билету за 6 евро (или за 4,5 для школьников, студентов, посетителей старше 65 лет и других льготных категорий)
Часы работы: по субботам и воскресеньям 14:00—18:00

Германские разработки в области вычислительной техники опираются на давние традиции: логарифмические линейки Альберта Нестлера использовали чуть ли не во всех стратегически важных проектах середины XX века. Берлинец Конрад Цузе был одним из пионеров кибернетики, а «сименсы» и «триумф адлеры» распространились по всей Западной Европе. Киль — важный и богатый балтийский порт с сильной технической школой, местный университет основан еще 1665 году. Здесь находится Музей компьютеров при Институте прикладных наук Киля. Экспозиция занимает 800 м², здесь представлены мейнфреймы, мини-компьютеры, ранние персональные машины, периферийные устройства и ноутбуки.

5. Германия, Мюнхен, Музей Германии

Адрес: Museumsinsel 1, 80538 Munich
Как попасть: по билету за 14 евро (за 4,5 евро для школьников, студентов и льготных категорий посетителей или по 8 евро с человека для групп свыше 20 человек)
Часы работы: каждый день, кроме государственных праздников, 09:00—17:00

Мюнхен — столица Баварии, родина октоберфестов и богатейшего футбольного клуба, самый дорогой город Германии. В городе наберется не меньше десятка музеев мирового уровня, один из которых — Музей Германии, нечто вроде московского ВДНХ. И хотя музей не целиком про компьютеры, коллекция здесь настолько богатая, что пропустить его нельзя. Компьютеры самых разных формах и разных производителей занимают 1400 м², общее количество экспонатов — 700 единиц: от механических устройств до крупных автоматизированных систем.

6. Германия, Штутгарт, Музей компьютеров при факультете информатики Штутгартского университета

Адрес: Universitaet Stuttgart, Institut fuer Softwaretechnologie Universitaetsstrasse 38, 70569 Stuttgart
Как попасть: по предварительной записи
Часы работы: каждый вторник 16:15—18:30

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

7. Греция, Афины, Греческий музей компьютеров

Адрес: Petrou Spiropoulou 2 & Thessalonikis. Moschato, Athenas
Как попасть: по билетам за 4 евро (или за 3 евро для школьников и студентов)
Часы работы: понедельник—пятница 09:00—16:00

Коллекция Греческого музея компьютеров охватывает период с 1970 года до середины 1990-х. Здесь представлены мини-компьютеры, 280 персональных компьютеров, периферийные устройства, серверы и телефоны, а также программы на разных носителях общим количеством 5100.

8. Дания, коммуна Баллеруп, проект музея Датского общества истории информации

Адрес: Magleparken 5, 2750 Ballerup
Как попасть: написать и договориться с хранителями

Вычислительную технику в Дании производили еще на рубеже XIX—XX веков, а настоящим хитом 1960-х стал арифмометр Contex-20. Главное собрание, посвященное истории датских ИТ, сейчас хранится в одном из колледжей университета Копенгагена. Коллекция включает оборудование местного производства, а также огромный архив книг, журналов и бумажной документации. Общедоступная экспозиция Датского общества истории информации пока готовится к открытию, но судя по всему он станет важнейшим техническим информационно-развлекательным музеем.

9. Испания, Валенсия, Музей информатики

Адрес: Camí de Vera, 14, 46022 València
Как попасть: по билету за 4 евро (или за 3 для льготных категорий посетителей)
Часы работы: понедельник—пятница 09:00—16:00

Развитие вычислительной техники в Испании шло в общеевропейском русле, хотя не обошлось и без нескольких незаурядных ответвлений. Например, в конце 1960-х годов каталанская компания Telesincro, используя архитектуру одной из машин Philips и печатную машинку IBM, сделали первый в Испании компьютер для бухгалтерского учета — Factor-P. В Политехническом университете Валенсии хранится большая коллекция персональных компьютеров, многие экспонаты можно потрогать руками, много предложений для групп (включая занятия по «винтажной информатике»).

10. Испания, Касерес, Музей компьютерной истории

Адрес: San Juan Square, 13, Lower Left. 10.003 Cáceres
Как попасть: по билету за 7 евро (есть льготы для групп, детей и студентов)
Часы работы: среда—суббота 11:00—14-00 и 18:00—21:00, воскресенье 11:00—14:00

Небольшой и живописный городок Касерес в автономном регионе Эстремадура прямого отношения к истории IT не имеет. Местный Музей компьютерной истории держится на личном энтузиазме, а его гостеприимного директора Карлоса на TripAdvisor благодарят многочисленные посетители. Здесь можно увидеть серьезную коллекцию персональных компьютеров, произведенных с конца 1970-х до начал 2000-х.

11. Испания, Мадрид, Музей информатики Гарсиа Сантесмасеса

Адрес:: C / Professor José García Santesmases 9, 28040 Madrid
Как попасть: по предварительной записи и за добровольный взнос
Часы работы: понедельник—пятница 09:00—14:00

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

12. Италия, коммуна Камбурцано, фонд «Музей компьютера»

Адрес: Via per Occhieppo, 29, 13891 Camburzano (Biella)
Как попасть: по предварительной записи, заполнив форму на на итальянском
Часы работы: по договоренности

Музеям на севере Италии мы недавно посвятили отдельный материал, но и в этой подборке место им должно было найтись. Итальянские производители вычислительной и оргтехники в Италии подарили миру несколько настоящих хитов, достаточно вспомнить печатную машинку Olivetti Lettera 22 или программируемый калькулятор Olivetti Programma 101. К коллекции фонда «Музей компьютера» пока нет постоянного доступа, но договориться о просмотре можно. Музей в пьемонтской деревне хранит крупную коллекцию, в которой есть не только старые ПК, но самое разное электронное оборудование, списанное итальянскими предприятиями.

13. Италия, Ивреа, Музей-лаборатория Tecnhologicamente

Адрес: Piazza San Francesco d’Assisi 4 10015 Ivrea (TO)
Как попасть: по билетам за 5 евро (или по 3 евро для льготных категорий посетителей)
Часы работы: только по выходным и в зависимости от сезона — лучше уточнить перед поездкой

Городок в Пьемонте когда-то был центром семейной империи Оливетти, здесь сохранились штаб-квартира компании, производственные корпуса и здания социальной инфраструктуры фабрики. Современному поколению инженеров он может быть изввестен тем, что здесь была придумана главная DIY-платформа — Arduino. Наследие Olivetti в Музее-лаборатории Tecnhologicamente распределено по трем большим отделам: печатные машинки, калькуляторы, компьютеры. Рекомендуется к просмотру всем, кто интересуется промышленным дизайном.

14. Латвия, Сигулда, Музей компьютеров

Адрес: Dailes iela 26, Peltes, Siguldas pagasts, LV-2150
Как попасть: связавшись с владельцем
Часы работы: по договоренности

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

15. Нидерланды, Зволле, Bonami Games and Computers Museum

Адрес: Ossenkamp 4, 8024AE Zwolle
Как попасть: по билету за 15 евро (дети до 4-х лет бесплатно)
Часы работы: каждый день кроме понедельника 10:00—17:00 (пятница—суббота 10:00—17:00 и 18:00—22:00)

Конечно, у Нидерландов как родины концерна Philips есть собственные национальные достижения в ИТ, правда, известны голландцы скорее не компьютерами, а периферией и графическими устройствами. В 100 километрах от Амстердама в сторону границы с Германией находится важный транспортный узел и бывший ганзейский город Зволле, достаточно большой по меркам Западной Европы. Здесь расположен досуговый центр Bonami Games and Computers Museum с довольно обстоятельной коллекцией видеоигр, игровых станций, персональных компьютеров и даже составляющих больших компьютеров, например, знаменитой IBM System/360. В игры здесь, конечно, можно играть.

16. Польша, Катовице, Музей истории компьютеров и информатики

Адрес: Plac Sejmu Śląskiego 2 Katowice, вход с ul. SIenkiewicza 28
Как попасть: по билету за 18 злотых (примерно 4,5 евро)
Часы работы: экскурсии в 15:00 по субботам, предварительно нужно записаться

Катовице — столица Силезского воеводства и центр огромной промышленной агломерации, расположенный на полпути между Краковым и Вроцлавом. В местном Музее истории компьютеров и информатики представлены почти 4000 предметов, среди которых фрагменты больших ЭВМ, мини-компьютеры и ПК, в том числе польского производства. Польская вычислительная техника развивалась особым путем, совмещая установки Советского Союза, в частности, участие в программе создания ЕС ЭВМ, с локальными разработками. Польский аналоговый АКАТ-1 до сих пор остается одним из самых узнаваемых образов среди всех ретро-устройств.

17. Португалия, Лиссабон, Музей коммуникаций

Адрес: Fundação Portuguesa das Comunicações, Rua do Instituto Industrial, 16, 1200-225 Lisboa
Как попасть: по билету за 5 евро (есть льготы)
Часы работы: понедельник—пятница 10:00—18:00, суббота 14:00—18:00 (последний четверг месяца с 18:00 до 22:00 вход бесплатный)

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

18. Украина, Киев/Харьков, Software and Computer Museum

Адреса: Киев, ул. Саксаганского 40/85, б/ц «ДНК»; <Харьков, Пушкинская ул. 79/1, общежитие «Гигант» НТУ ХПИ
Как попасть: бесплатно, по предварительной записи
Часы работы: вторник—воскресенье 10:00—20:00 (вход до 19:00)

Украина даже в составе СССР обладала собственной сильной теоретической школой и производственной базой для развития ИТ. Именно в Киеве в лаборатории академика Лебедева собирали одну из первых в континентальной Европе ЭВМ. А после того, как Лебедев все-таки отбыл в Москву, его место занял другой пионер советской кибернетики — академик Глушков. Филиалы Музея программ и компьютеров есть сразу в двух украинских городах, правда, их экспонаты в основном относятся уже к эпохе персональных компьютеров.

19. Финляндия, Тампере, Vapriikki

Адрес: Tampere, Tampella area, Alaverstaanraitti 5
Как попасть: по билету за 13 евро (детям от 7 до 17 лет — 6 евро)
Часы работы: вторник—воскресенье 10:00—18:00

Финские информационные технологии хорошо известны всему миру, чего стоят только неубиваемые телефоны Nokia 3310 или Angry Birds. В городе Тампере на старой фабрике находится музейно-развлекательный комплекс Ваприикки, посвященный истории медиа, с собственным компьютерным отделом.

20. Финляндия, Хельсинки, Tietokonemuseo ATA

Адрес: Tyynenmerenkatu 11, Helsinki (4-5 этаж торгового центра Verkkokauppa)
Как попасть: по предварительной записи
Часы работы: по договоренности

Tietokonemuseo ATA — частный музей в столице Финляндии — в основном посвящен персональным компьютерам и игровым консолям 1980-1990-х гг. Хотя акцент здесь смещен в сторону игр, есть в коллекции и серьезные вычислительные машины.

21. Швейцария, Лозанна, Музей Боло

Адрес: EPFL — Building INF, Station 14, 1015 Lausanne
Как попасть: вход свободный
Часы работы: понедельник—пятница 08:00—19:00

Частный проект Ива Болоньини — инженера крупной европейской IT-компании и собирателя компьютерных артефактов — одно из крупнейших публичных собраний вычислительной техники. Здесь представлены и большие ЭВМ, и персональные компьютеры разных лет,, а также редкие рабочие станции, разработанные в Швейцарии. Строительство здания музея временно заморожено, сейчас коллекция доступна на факультете компьютерных наук и связи Федерального политехнического института Лозанны.

22. Швеция, Линчёппинг, Datamuseet IT-ceum

Адрес: c/o Östergötlands museum, Raoul Wallenbergs plats, 581 02 Linköping

Чуть южнее Стокгольма в университетском городе Линчёппинг расположен Datamuseet IT-ceum, единственный шведский музей, посвященный исключительно истории ИТ. Сейчас он закрыт на ремонт (откроется в 2021 году), но его сотрудники проводит лекции и организуют выставки на других площадках в центральной части Швеции.


ссылка на оригинал статьи https://habr.com/ru/company/dataart/blog/467215/