Русский
Русский
English
Статистика
Реклама

Microsoft

Перевод Протекающие абстракции и код, оставшийся со времён Windows 98

09.06.2021 14:20:05 | Автор: admin

В конце 1990-х команды разработчиков Windows Shell и Internet Explorer внедрили множество потрясающих и сложных структур, позволяющих использовать расширение оболочки и браузера для обработки сценариев, создаваемых третьими сторонами. Например, Internet Explorer поддерживал концепцию подключаемых протоколов ("Что если какой-то протокол, допустим, FTPS станет таким же важным, как и HTTP?"), а Windows Shell обеспечивала чрезвычайно гибкое множество абстрактного использования пространств имён, что позволяло третьим сторонам создавать просматриваемые папки, в основе которых не лежит файловая система от WebDAV ("ваш HTTP-сервер это папка") до папок CAB ("ваш архив CAB это папка"). Работая в 2004 году проект-менеджером в команде по созданию клипарта, я создал приложение .NET для просмотра клипарта прямо из веб-сервисов Office, и набросал черновик расширения Windows Shell, благодаря которому бы казалось, что огромный веб-архив клипарта Microsoft был установлен в локальной папке системы пользователя.

Вероятно, самым популярным (или печально известным) примером расширения пространства имён оболочки является расширение Compressed Folders, обрабатывающее просмотр файлов ZIP. Compressed Folders, впервые появившиеся в составе Windows 98 Plus Pack, а позже и в Windows Me+, позволяли миллиардам пользователей Windows взаимодействовать с файлами ZIP без скачивания стороннего ПО. Вероятно, это может вас удивить, но эта функция была куплена у третьих лиц Microsoft приобрела интеграцию для Explorer, представлявшую собой побочный проект Дэйва Пламмера, а лежащий в её основе движок DynaZIP разработала компания InnerMedia.

К сожалению, этот код уже давно не обновляли. Очень давно. Судя по временной метке модуля, последний раз он обновлялся на День святого Валентина в 1998 году; я подозреваю, что с тех пор в него вносили незначительные изменения (и одну функцию поддержку имён файлов в Unicode, работающую только для извлечения), но всё равно не секрет, что, как сказал Реймонд Чен, этот код "остался на стыке веков". Это значит, что он не поддерживает такие современные функции, как шифрование AES, а его производительность (время выполнения и степень сжатия) сильно отстают от современных реализаций, созданных третьими сторонами.

Тогда почему же его не обновляли? Отчасти в этом виноват принцип "не сломано не чини": реализация ZIP Folders выживала в Windows в течение 23 лет, и при этом вопли пользователей не становились невыносимыми, то есть их вполне всё устраивало.

К сожалению, есть вырожденные случаи, в которых поддержка ZIP оказывается по-настоящему поломанной. С одной из них я столкнулся на днях. Я увидел интересный пост в Twitter о шестнадцатеричных редакторах с возможностью аннотаций (что полезно при исследовании форматов файлов) и решил попробовать некоторые из них (я решил, что больше всего мне нравится ReHex). Но в процессе этого исследования я скачал portable-версию ImHex и попробовал переместить её в папку Tools на своём компьютере.

Я дважды щёлкнул по файлу ZIP размером 11,5 МБ, чтобы открыть его. Затем я нажал CTRL+A, чтобы выбрать все файлы, а затем (это важно) нажал CTRL+X, чтобы вырезать файлы с буфера обмена.


Затем я создал новую папку внутри C:\Tools и нажал CTRL+V, чтобы вставить файлы. И тут всё пошло наперекосяк Windows больше минуты отображала окно "Calculating", но кроме создания одной подпапки с одним файлом на 5 КБ больше ничего не происходило:


Чего? Я знал, что движок ZIP, который используется в ZIP Folders, не был оптимизирован, но раньше я никогда не видел ничего настолько плохого. Спустя ещё несколько минут распаковался ещё один файл на 6,5 МБ:


Безумие какое-то. Я открыл Диспетчер задач, но никакие процессы не занимали мой 12-поточный процессор, 64 ГБ памяти и NVMe SSD. Наконец, я открыл SysInternals Process Monitor, чтобы разобраться, в чём дело, и вскоре увидел первоисточник происходящего.

После нескольких мелких операций считывания из конца файла (где у файла ZIP хранится индекс), весь файл размером 11 миллионов байт считывался с диска по одному байту за раз:


Присмотревшись повнимательнее, я понял, что почти все операции считывали по одному байту, но время от времени после считывания определённого байта выполнялось считывание 15 байт:


Что же находится в этих любопытных смещениях (330, 337)? Байт 0x50, то есть буква P.


В прошлом мне доводилось писать тривиальный код для восстановления ZIP, поэтому я знал, в чём особенность символа P в файлах ZIP это первый байт маркеров блоков формата ZIP, каждый из которых начинается с 0x50 0x4B. По сути, код считывает файл от начала до конца в поисках конкретного блока размером 16 байт. Каждый раз, когда он встречает P, то просматривает следующие 15 байт, чтобы проверить, соответствуют ли они нужной сигнатуре, и если нет, то продолжает побайтовое сканирование в поисках новой P.

Есть ли что-то особенное в этом конкретном файле ZIP? Да.

Формат ZIP состоит из последовательности записей файлов, за которой идёт список этих записей файлов (Central Directory).

Каждая запись файла имеет собственный локальный заголовок файла, содержащий информацию о файле, в том числе размер, размер в сжатом виде и CRC-32; те же данные повторяются в Central Directory.

Однако формат ZIP позволяет локальным заголовкам файлов пропускать эти данные и записывать их как хвост после сжатых данных. Эта функция полезна при потоковом сжатии мы не знаем окончательный размер в сжатом виде, пока не закончим сжимать данные. Вероятно, большинство файлов ZIP не используют эту функцию, однако в скачанном мной файле она использовалась. (Разработчик сообщил, что этот файл ZIP был создан GitHub CI.)

Мы видим, что в заголовке CRC и размеры равны 0, и что они появляются сразу после сигнатуры 0x08074b50 (дескриптора данных (Data Descriptor)), непосредственно перед локальным заголовком следующего файла:


Бит 0x08 во флаге General Purpose обозначает эту опцию; пользователи 7-Zip могут увидеть её как Descriptor в столбце записи Characteristics:


Исходя из размера операции считывания (1+15 байт), я предполагаю, что код подстраивается под блоки Data Descriptor. Почему он это делает (вместо того, чтобы просто считать те же данные из Central Directory), я не знаю.

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

В конечном итоге, после 85 миллионов однобайтных считываний монитор процессов зависает:


Перезапустив его и сконфигурировав Process Monitor с Symbols, мы можем исследовать эти однобайтные операции считывания и получить представление о том, что же происходит:


Функцию GetSomeBytes перенагружают вызовы, передающие однобайтный буфер в коротком цикле внутри функции readzipfile. Но если посмотреть ниже по стеку, то становится очевидной первопричина этого хаоса это происходит потому, что после перемещения каждого файла из ZIP в папку файл ZIP должен обновиться для удаления перемещённого файла. Этот процесс удаления по сути своей не быстр (поскольку он приводит к изменению всех последующих байтов и обновлению индекса), а его реализация в функции readzipfile (с этим однобайтным буфером чтения) и вовсе чудовищно медленна.

Если вернуться назад, то стоит заметить, что я нажал CTRL+X, чтобы вырезать файлы, что привело к операции перемещения. Если бы вместо этого я нажал CTRL+C для копирования файлов, то ZIP не выполнял бы операцию удаления при извлечении каждого файла. Время, необходимое для распаковки файла ZIP снизилось бы с получаса до четырёх секунд. Для сравнения: 7-Zip распаковывает файл меньше чем за четверть секунды, хоть и немного жульничает.

И вот здесь и происходит протечка абстракции с точки зрения пользователя, копирование файлов из ZIP (с последующим удалением ZIP) и перемещение файлов из ZIP не кажутся сильно различающимися операциями. К сожалению, абстракция даёт сбой на самом деле, удаление из некоторых файлов ZIP оказывается чрезвычайно медленной операцией, а удаление файла с диска обычно происходит тривиально. Поэтому абстракция Compressed Folder хорошо работает с мелкими файлами ZIP, но даёт сбой с крупными файлами ZIP, которых в наше время становится всё больше.

Хотя довольно легко придумать способы значительного улучшения производительности в этой ситуации, подобный прецедент даёт понять, что вероятность совершенствования кода в Windows мала. Возможно, код изменят к его 25-й годовщине?



На правах рекламы


Если для работы необходим сервер на Windows, то вам однозначно к нам. Создавайте собственную конфигурацию в пару кликов, автоматическая установка винды на тарифах с 2 vCPU, 4 ГБ RAM, 20 ГБ NVMe или выше.

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Инструменты Microsoft для повышения эффективности учебного процесса

25.05.2021 10:11:06 | Автор: admin

Дистанционное игибридное обучение

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

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

Весь последний год учителям приходилось постоянно искать новые технологические решения для сохранения вовлеченности учеников. Из временного решения, обеспечивающего связь в режиме дистанционного и гибридного обучения, технологии превратились в неотъемлемую часть множества виртуальных и очных классов. В рамках исследования YouGov, недавно проведенного по заказу Microsoft, 71 процент работников системы дошкольного и школьного образования сообщил, что технологии помогают им повышать качество преподавания.

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

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

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

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

  • Обновления СУО:чтобы помогать преподавателям экономить время и создавать более целостную среду, Microsoft сотрудничает с ведущими поставщиками систем управления обучением (СУО), такими как Instructure и Blackboard, для углубления и улучшения интеграции СУО и Teams, собраний Teams и OneDrive.

Поддерживаем благополучие учащихся

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

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

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

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

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

Выводы и идеи учителей ключ к позитивным изменениям в сфере образования

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

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

Подробнее..

Парадокс гибридной работы

08.06.2021 10:08:20 | Автор: admin
Автор Сатья Наделла, глава MicrosoftАвтор Сатья Наделла, глава Microsoft

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

Страны начинают восстанавливаться после эпидемии, и такие аномалии, касающиеся присутствия на рабочих местах, мы видим в собственных филиалах по всему миру. Например, в Китае 81% наших сотрудников присутствуют на рабочих местах три и более дней в неделю, тогда как в Австралии посещаемость офисов составляет всего 19% от того, что было до пандемии.

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

В этой статье основные моменты.

Люди

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

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

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

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

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

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

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

Места

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

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

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

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

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

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

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

Процессы

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

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

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

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

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

В-третьих, для обеспечения безопасности устройств управление всеми корпоративными ресурсами будет построено так, чтобы доступ был защищенным и надежным. Независимо от того, где находятся сотрудники дома или в офисе, мы будем требовать, чтобы каждое мобильное устройство, которому необходим доступ к корпоративным ресурсам, было управляемым. Это включает развертывание Microsoft Defender for Endpoint в масштабах всей компании.

**

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

Подробнее об этом можно узнать вблоге, который ведет корпоративный вице-президент по современным методам работы Джаред Спатаро (на английском языке). Полное руководство читайте здесь:microsoft.com/hybridwork.

Подробнее..

Почему клавиатура всегда быстрее мыши

27.05.2021 10:19:54 | Автор: admin

Тепловая карта с клавиатуры высокоинтеллектуальных программистов, источник: r/ProgrammerHumor/

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

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

В чём же дело?

Экзотический манипулятор


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

Необычные манипуляторы с колёсиком стоили в районе 400 долларов. Затем вышел революционный компьютер Apple Lisa один из первых ПК с графическим интерфейсом. Компания Apple демпинговала она снизила стоимость манипулятора до 25 долларов и сделала сексуальный дизайн с одной кнопкой. Мышь из профессионального аксессуара превратилась в массовый гаджет.


Apple Lisa. Очень элегантный дизайн для своего времени

С тех пор мышь и GUI стали прочно ассоциироваться с компьютерами Apple и модным оконным интерфейсом.

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

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

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

В наше время редко встретишь компьютер без мыши. А вот удовольствие от работы в консоли осталось.

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

Крутые однострочники


Вот некоторые примеры интересного использования программ Linux.

ps aux | convert label:@- process.png

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

Примечание. Утилита convert входит в пакет ImageMagick, так что нужно сначала его установить.

А вообще, текст из консоли можно быстро запостить через интернет-сервис вроде termbin.com (это как pastebin, только для консоли):

ps aux | nc termbin.com 9999

Как обычно, с алиасом для частого использования:

alias tb='nc termbin.com 9999'

Следующая:

curl ipinfo.io

Это если хотите узнать свой внешний IP-адрес через сервис ipinfo.io.

git log --format='%aN' | sort -u

Очень удобная команда, если работаете над опенсорсным проектом и хотите посмотреть контрибуторов.

history | awk '{print $2}' | sort | uniq -c | sort -rn | head

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

ls -d */

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

du -hs */ | sort -hr | head

Эта команда показывает только 10 крупнейших директорий в текущем каталоге.

ss -p

Просмотр, какие приложения потребляют трафик (утилиты iftop и nethogs дают более подробную информацию).

rm -f !(test.txt)

Команда удаляет из директории все файлы, кроме одного, указанного в скобках. Это работает после включения расширенной глобуляции в баше (shopt -s extglob).

python3 -m http.server

Запускает http-сервер и начинает отдавать файлы. Удобно, если хотите пошарить какой-то html-файл по сети.

screen -S the-screen-name

Создание экран-сессии.

screen -x the-screen-name

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

Утилита screen поставляется по умолчанию со многими дистрибутивами Linux, хотя не со всеми.

alias copy='xclip -i -selection clipboard'

cat file.txt | copy

Копирование файла в буфер обмена, когда первый однострочник прописан как алиас copy в баше.

sudo !!

Запустить последнюю команду под рутом, если в предыдущей команде вы забыли набрать sudo. У этой команды первое место в рейтинге однострочников.

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

Горячие клавиши как наследие консоли


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

Алиасы bash служат той же цели: выполнить команду с наименьшим количеством усилий, то есть с наименьшим количеством нажатий клавиш.

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

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

Это фундаментальное преимущество клавиатуры как инструмента для ввода команд по сравнению с любыми манипуляторами. В этом же и сила консоли.

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

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

Ну а окошки и другие элементы графического интерфейса Windows, по мнению Apple, это вторичный продукт, скопированный с интерфейса Lisa (см. судебный процесс Apple против Microsoft c 1988 по 1994 гг).

Суд отклонил иск Apple к Microsoft. Но некоторые вещи обращают на себя внимание. Например, команда open . в консоли macOS открывает Finder в текущей директории. В Windows то же самое делает команда start . (Finder здесь называется Explorer). Окна в macOS закрываются крестиком в левом верхнем углу, а в Windows в правом углу. Возможно, на примере таких деталей Билл Гейтс доказал суду, что у него оригинальный графический интерфейс, который сильно отличается от macOS.

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



На правах рекламы


Наша компания предлагает аренду VPS для совершенно любых проектов. Создайте собственный тарифный план в пару кликов, максимальная конфигурация позволит разместить практически любой проект 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

C vs Kotlin

01.06.2021 08:12:59 | Автор: admin

Когда речь заходит о сахаре и модных фичах в языках программирования, среди первых вариантов на ум приходят C# и Kotlin. Поскольку эти два языка занимают схожие ниши, то есть, строго типизированы, обладают сборкой мусора, кроссплатформенны, применяются как на бекенде, так и в мобильной разработке, то сегодня мы попытаемся сравнить их синтаксические возможности и устроить небольшое голосование. Чтобы сравнение прошло честно, будем рассматривать последние версии обоих языков. Оговорюсь о своей непредвзятости: мне одинаково нравятся оба языка, они находятся в непрерывном развитии и не отстают друг от друга. Эта статья является сравнительной, а не обучающей, поэтому некоторые заурядные синтаксические возможности могут быть опущены.

Начнем с точки входа

В C# эту роль играет статический метод Main или top-level entry point, например

using static System.Console;WriteLine("Ok");

В Kotlin нужна функция main

fun main() = println("Ok")

По этим небольшим двум примерам в первую очередь заметно, что в Kotlin можно опускать точку с запятой. При более глубоком анализе видим, что в C#, несмотря на лаконичность показательного entry point, статические методы в остальных файлах по прежнему требуется оборачивать в класс и явно импортировать из него (using static System.Console), а Kotlin идет дальше и разрешает создавать полноценные функции.

Обьявление переменных

В C# тип пишется слева, а для создания экземпляра используется ключевое слово new. В наличии есть специальное слово var, которым можно заменить имя типа слева. При этом переменные внутри методов в C# остаются подвержены повторному присваиванию.

Point y = new Point(0, 0); var x = new Point(1, 2);x = y; // Нормально

В Kotlin типы пишутся справа, однако их можно опускать. Помимо var, доступен и val который не допускает повторного присваивания. При создании экземляров не нужно указывать new.

val y: Point = Point(0, 0)val x = Point(1, 2)x = y // Ошибка компиляции!

Работа с памятью

В C# нам доступны значимые (обычно размещаются на стеке) и ссылочные (обычно размещаются в куче) типы. Такая возможность позволяет применять низкоуровневые оптимизации и сокращать расход оперативной памяти. Для объектов структур и классов оператор '==' будет вести себя по разному, сравнивая значения или ссылки, впрочем это поведение можно изменить благодаря перегрузке. При этом на структуры накладываются некоторые ограничения связанные с наследованием.

struct ValueType {} // структура, экземпляры попадут на стекclass ReferenceType {} // ссылочный тип, экземпляры будут в куче

Что до Kotlin, то у него нет никакого разделения по работе с памятью. Сравнение '==' всегда происходит по значению, для сравнения по ссылке есть отдельный оператор '==='. Объекты практически всегда размещаются в куче, и только для некоторых базовых типов, например Int, Char, Double, компилятор может применить оптизмизации сделав их примитивами jvm и разместив на стеке, что никак не отражается на их семантике в синтаксисе. Складывается впечатление что рантайм и работа с памятью это более сильная сторона .NET в целом.

Null safety

В C# (начиная с 8ой версии) есть защита от null. Однако ее можно явно обойти с помощью оператора !

var legalValue = maybeNull!;// если legalValue теперь null, // то мы получим exception при первой попытке использования

В Kotlin для использования null нужно использовать два восклицания, но есть и другое отличие

val legalValue = maybeNull!! // если maybeNull == null, // то мы получим exception сразу же

Свойства классов

В C# доступна удобная абстракция вместо методов get/set, то есть всем известные свойства. При этом традиционные поля остаются доступны.

class Example{     // Вычислено заранее и сохранено в backing field  public string Name1 { get; set; } = "Pre-calculated expression";    // Вычисляется при каждом обращении  public string Name2 => "Calculated now";    // Традиционное поле  private const string Name3 = "Field"; }

В Kotlin полей нет вообще, по умолчанию доступны только свойства. При этом в отличие от C# public это область видимости по умолчанию, поэтому это ключевое слово рекомендукется опускать. Для разницы между свойствами, допускающими set и без него, используются все те же ключевые var/val

class Example {    // Вычислено заранее и сохранено в backing field  val name1 = "Pre-calculated expression"    // Вычисляется при каждом обращении  val name2 get() = "Calculated now"}

Классы данных

В C# достаточно слова record чтобы создать класс для хранения данных, он будет обладать семантикой значимых типов в сравнении, однако по прежнему остается ссылочным (будет размещаться в куче):

class JustClass{  public string FirstName { init; get; }  public string LastName { init; get; }}record Person(string FirstName, string LastName);...   Person person1 = new("Nancy", "Davolio");Person person2 = person1 with { FirstName = "John" };

В Kotlin нужно дописать ключевое слово data к слову class

class JustClass(val firstName: String, val lastName: String)data class Person(val firstName: String, val lastName: String)...val person1 = Person("Nancy", "Davolio")val person2 = person1.copy(firstName = "John")

Расширения типов

В C# такие типы должны находиться в отдельном статическом классе и принимать вызывающий первым аргументом, помеченным this

static class StringExt{  public static Println(this string s) => System.Console.WriteLine(s)      public static Double(this string s) => s + s}

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

fun String.println() = println(this)fun String.double get() = this * 2

Лямбда выражения

В C# для них есть специальный оператор =>

numbers.Any(e => e % 2 == 0);numbers.Any(e =>   {    // объемная логика ...    return calculatedResult;  })

В Kotlin лямбды органично вписываются в Си-подобный синтаксис, кроме того во многих случаях компилятор заинлайнит их вызовы прямо в используемый метод. Это позволяет создавать эффективные и красивые DSL (Gradle + Kotlin например).

numbers.any { it % 2 == 0 }numbers.any {  // объемная логика ...  return calculatedResult}

Условия и шаблоны

У C# есть очень мощный pattern matching c условиями (пример из документации)

static Point Transform(Point point) => point switch{  { X: 0, Y: 0 }                    => new Point(0, 0),  { X: var x, Y: var y } when x < y => new Point(x + y, y),  { X: var x, Y: var y } when x > y => new Point(x - y, y),  { X: var x, Y: var y }            => new Point(2 * x, 2 * y),};

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

fun transform(p: Point) = when(p) {  Point(0, 0) -> Point(0, 0)  else -> when {    x > y     -> Point(...)    x < y     -> Point(...)    else      -> Point(...)  }}// или такfun transform(p: Point) = when {  p == Point(0, 0) -> Point(0, 0)  p.x < y          -> Point(p.x + y, p.y)  p.x > y          -> Point(p.x - p.y, p.y)  else             -> Point(2 * p.x, 2 * p.y)}

Подводя итоги

Уложить в одной статье все отличия обоих языков практически нереально. Однако кое какие выводы сделать уже можем. Заметно что Kotlin-way скорее в том чтобы минимизировать количество ключевых слов, реализуя весь сахар поверх базового синтаксиса, а C# стремится стать более удобным увеличивая количество доступных выражений на уровне самого языка. У Kotlin преимущество в том что его создатели могли оглядываться на удачные фичи C# и лаконизировать их, а C# выигрывает за счет мощной поддержки в лице Microsoft и лучшего рантайма.

Подробнее..

11 анонсов конференции Microsoft Build для разработчиков

27.05.2021 10:19:54 | Автор: admin

Привет, Хабр! Сегодня, как и обещали*, делимся подборкой самых интересных для разработчиков конференции Microsoft Build 2021. Их получилось 11, но это не значит, что это все. Чтобы узнать еще больше, изучайте сайт конференции.

* пообещали это мы во вчерашней подборке 8 анонсов конференции Microsoft Build 2021, которую подготовила наша бизнес-команда.

1. Представлен Windows Terminal Preview 1.9

Поздравляем с Microsoft Build 2021 и вторым днем рождения Windows Terminal! Этот выпуск представляет версию 1.9 для Windows Terminal Preview и переносит Windows Terminal в версию 1.8. Как всегда, вы можете установить обе сборки из Microsoft Store, а также со страницы выпусков GitHub.

Среди новинок:

  • Дефолтный терминал

  • Quake mode

  • Обновления Cascadia Code

  • Обновления интерфейса настроек

  • Другие улучшения

Подробнее здесь.

2. Представляем Visual Studio 2019 v16.10 и v16.11 Preview 1

Мы рады объявить о выпуске Visual Studio 2019 v16.10 GA и v16.11 preview 1. Этот выпуск делает нашу тему продуктивности и удобства разработчиков общедоступной для пользователей Visual Studio! Мы добавили функции C ++ 20, улучшили интеграцию с Git, улучшили инструменты профилирования и множество функций, повышающих продуктивность.

Подробнее здесь.

3. Представляем .NET 6 Preview 4

Мы рады выпустить .NET 6 Preview 4. Мы почти наполовину закончили выпуск .NET 6. Это хороший момент, чтобы еще раз взглянуть на .NET 6 в полном объеме, как и в первом Preview. Многие функции находятся в близкой к окончательной форме, а другие появятся в ближайшее время, когда основные блоки будут готовы к выпуску. Предварительная версия 4 создает прочную основу для выпуска в ноябре финальной сборки .NET 6 с готовыми функциями и возможностями. Она также готова к тестированию в реальных условиях, если вы еще не пробовали .NET 6 в своей среде.

Говоря о финальном выпуске, у нас теперь запланирована дата! Добавьте в календарь даты с 9 по 11 ноября и .NET Conf 2021. Мы выпустим .NET 6 9-го числа с множеством подробных докладов и демонстраций, которые расскажут вам все, что вы хотите знать о .NET 6.

Подробнее здесь.

4. Представляем .NET MAUI Preview 4

Сегодня мы рады объявить о доступности .NET Multi-platform App UI (.NET MAUI) Preview 4. Каждая предварительная версия представляет больше элементов управления и функций для этого многоплатформенного инструментария, который станет общедоступным в ноябре этого года на .NET Conf. .NET MAUI теперь имеет достаточно блоков для создания функциональных приложений для всех поддерживаемых платформ, новые возможности для поддержки запуска Blazor на настольных компьютерах и впечатляющий прогресс в Visual Studio для поддержки .NET MAUI.

Подробнее здесь.

5. Обновления ASP.NET Core в .NET 6 Preview 4

Версия .NET 6 Preview 4 уже доступна и включает много новых крутых улучшений в ASP.NET Core.

Вот что нового в этой предварительной версии:

  • Добавлены minimal APIs

  • Async streaming

  • HTTP logging middleware

  • Использование Kestrel для профиля запуска по умолчанию в новых проектах

  • IConnectionSocketFeature

  • Илучшенные шаблоны single-page app (SPA)

  • Обновления .NET Hot Reload

  • Ограничения generic type в компонентах Razor

  • Blazor error boundaries

  • Компиляция Blazor WebAssembly ahead-of-time (AOT)

  • Приложения .NET MAUI Blazor

  • Другие улучшения производительности

Подробнее здесь.

6. Представляем Entity Framework Core 6.0 Preview 4: Performance Edition

Группа Entity Framework Core анонсировала четвертый предварительный выпуск EF Core 6.0. Основная тема этого выпуска - производительность.

Что нового:

  • Производительность EF Core 6.0 теперь на 70% выше в стандартном для отрасли тесте TechEmpower Fortunes по сравнению с 5.0.

  • Улучшение производительности полного стека, включая улучшения в тестовом коде, среде выполнения .NET и т. д. Сам EF Core 6.0 на 31% быстрее выполняет запросы.

  • Heap allocations уменьшены на43%.

Подробнее здесь.

7. Представляем .NET Hot Reload для редактирования кода во время выполнения

Рады представить вам возможность горячей перезагрузки .NET в Visual Studio 2019 версии 16.11 (предварительная версия 1) и с помощью инструментария командной строки dotnet watch в .NET 6 (предварительная версия 4). В полной статье коллеги познакомят вас с тем, что такое .NET Hot Reload, как вы можете начать использовать эту функцию, каково наше видение будущих запланированных улучшений и проснят, какой тип редактирования и языки в настоящее время поддерживаются.

Подробнее здесь.

8. SecretManagement Module v1.1.0

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

Подробнее здесь.

9. Новый бесплатный курс: создание бессерверных приложений с полным стеком в Azure

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

Подробнее здесь.

10. .NET Framework May 2021

Выпущена предварительная версия накопительного обновления для .NET Framework за май 2021 года.

Подробнее здесь.

11. Представляем сборку OpenJDK от Microsoft

Объявлена общая доступность сборки OpenJDK от Microsoft, нового бесплатного дистрибутива OpenJDK с открытым исходным кодом, доступного бесплатно для всех, с возможностью развертывания его где угодно. Корпорация Майкрософт активно использует Java, внутри компании работает более 500 000 JVM. Группа разработчиков Java очень гордится тем, что вносит свой вклад в экосистему Java и помогает управлять такими рабочими нагрузками, как LinkedIn, Minecraft и Azure!

Сборка включает двоичные файлы для Java 11, основанные на OpenJDK 11.0.11 + 9 x64 server и настольных средах в macOS, Linux и Windows. Мы также публикуем новый двоичный файл раннего доступа для Java 16 для Linux и Windows на ARM, основанный на последней версии OpenJDK 16.0.1 + 9.

Этот новый выпуск Java 16 уже используется миллионами игроков Minecraft с последней версией Minecraft Java Edition Snapshot 21W19A, которая была обновлена для объединения среды выполнения Java 16 на основе сборки Microsoft OpenJDK.

Посетите страницу, чтобы узнать подробности.

Подробнее здесь.

Подробнее..

21 мероприятия июня по профессиональной работе с Microsoft Teams

28.05.2021 10:14:13 | Автор: admin

В этой ежемесячной подборке я расскажу вам о трех наших мероприятиях, которые помогут вам профессионально настроить работу в Microsoft Teams (как собственную, так и всех в вашей компании). Один из эвентов на английском с субтитрами русском, 2 других полностью на русском. Присоединяйтесь!

1. Организация удаленной работы с помощью Microsoft Teams

3-4 июня, на русском3-4 июня, на русском

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

Примите участие в мероприятии и узнайте, как реализовать весь потенциал онлайн-собраний, звонков, видео и чатов Microsoft Teams, а также предоставить персоналу возможность работать с любого устройства и откуда угодно.

Во время обучения вы узнаете, как:

  • Предоставьте персоналу возможность встречаться и работать дома

  • Сделайте приложения для повышения производительности доступными на любом устройстве

  • организовать первоклассное удаленное взаимодействие с пользователями

Подробности и регистрация.

2. Microsoft Developers Meetup

16 июня, на русском16 июня, на русском

Приглашаем Вас принять участие в онлайн мероприятии Microsoft Developers Meetup, посвященное технологиям в области процессов разработки и сопровождения ПО.

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

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

Программа

10:00 - 10:10

Opening

10:10 - 10:30

Microsoft Dev platform roadmap and Build news Microsoft

10:30 - 11:00

AppDev on Azure + Industry case DataArt

11:00 - 11:30

GitHub news and roadmap Microsoft

11:30 - 12:00

DevOps with GitHub Actions + Industry case Softline

12:00 - 12:30

Secure DevOps and Supply chain + build updates Microsoft

12:30 - 13:00

Secure Development on Azure + Industry case AwaraIT

Подробности и регистрация.

3. Построение интеграции и рабочих процессов Microsoft Teams

17-18 июня, на английском с субтитрами на русском17-18 июня, на английском с субтитрами на русском

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

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

Во время этого тренинга, состоящего из двух частей:

  • Создавайте современные решения для совместной работы корпоративного уровня с Microsoft Teams

  • Преобразуйте повседневные бизнес-процессы с помощью интеграции платформы Microsoft 365 для Power Platform, SharePoint и Microsoft Office

  • Используйте множество данных в Microsoft Graph для расширения возможностей Microsoft 365 и создания уникальных интеллектуальных приложений.

Подробности и регистрация.

Подробнее..

4 бесплатных мероприятия по Azure в июне

01.06.2021 10:11:39 | Автор: admin

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

1. Перенос локальной инфраструктуры и данных

7-8 июня, на английском с субтитрами на русском7-8 июня, на английском с субтитрами на русском

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

Во время мероприятия:

  • Обнаружьте и оцените рабочие нагрузки в своей среде перед миграцией с помощью Azure Migrate и других инструментов.

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

  • Перенесите традиционные локальные рабочие нагрузки идентификации Windows Server и защитите от угроз с помощью Azure Active Directory (Azure AD), доменных служб Azure AD, Azure AD Connect и контроллеров домена Windows Server IaaS.

  • Перенесите свои локальные вычислительные нагрузки Windows Server в Azure, включая физические серверы и виртуальные машины, работающие на VMware или Windows Server Hyper-V.

  • Изучите службы баз данных SQL Azure, включая миграцию рабочих нагрузок SQL в SQL Azure, а также способы выполнения миграции в оперативном и автономном режиме.

Подробности и регистрация.

2. Основы ИИ

8 июня, на русском8 июня, на русском

Откройте для себя решения, которые можно создавать с помощью ИИ, и сервисы Azure, помогающие в разработке этих решений. Присоединяйтесь к нам на бесплатном мероприятии Microsoft Azure Virtual Training Day: основы ИИ, чтобы получить общее представление о том, что такое ИИ, и узнать, как начать работу с ИИ в Azure.

Посетите виртуальное обучающее мероприятие, чтобы:

  • Изучить основные концепции и области применения ИИ.

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

  • Подробнее узнать о разговорном ИИ, обработке естественного языка и компьютерном зрении в Microsoft Azure.

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

Вот, что мы вам предлагаем:

  • Введение

  • Введение в ИИ

  • Машинное обучение

  • Перерыв 10минут

  • Компьютерное зрение

  • Перерыв 10минут

  • Обработка естественного языка

  • Виртуальный собеседник

  • Завершающий сеанс вопросов и ответов

Подробности и регистрация.

3. Microsoft Developers Meetup

16 июня, на русском16 июня, на русском

Приглашаем Вас принять участие в онлайн мероприятии Microsoft Developers Meetup, посвященное технологиям в области процессов разработки и сопровождения ПО.

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

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

Программа

10:00 - 10:10

Opening

10:10 - 10:30

Microsoft Dev platform roadmap and Build news Microsoft

10:30 - 11:00

AppDev on Azure + Industry case DataArt

11:00 - 11:30

GitHub news and roadmap Microsoft

11:30 - 12:00

DevOps with GitHub Actions + Industry case Softline

12:00 - 12:30

Secure DevOps and Supply chain + build updates Microsoft

12:30 - 13:00

Secure Development on Azure + Industry case AwaraIT

Подробности и регистрация: регистрация приостановлена.

4. Основы Microsoft Azure

21-22 июня, на русском21-22 июня, на русском

Чтобы представить будущее, вам необходимо понять, какие возможности перед вами и вашей организацией открывает облако сегодня. В рамках этого вводного курса День виртуального обучения Microsoft Azure: основы рассказывается о концепциях, моделях и сервисах облачных вычислений. Рассматриваются такие темы, как публичное, частное и гибридное облако, а также инфраструктура как услуга (IaaS), платформа как услуга (PaaS) и программное обеспечение как услуга (SaaS).

Во время обучения вы узнаете, как:

  • начать работать с Azure;

  • интегрировать Azure с существующими сетями;

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

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

Подробности и регистрация.

Подробнее..

Представляем Windows Package Manager 1.0

02.06.2021 10:16:01 | Автор: admin

Мы начали путь к созданию собственного диспетчера пакетов для Windows 10, когда анонсировали предварительную версию диспетчера пакетов Windows на Microsoft Build 2020. Мы выпустили проект на GitHub как совместный с открытым исходным кодом, и участие сообщества было очень важным аспектом! И вот недавно прошла конференция Microsoft Build 2021.

И мы рады объявить о выпуске Windows Package Manager 1.0! Подробности под катом!

Клиент

Клиент winget - это основной инструмент, который вы будете использовать для управления пакетами на вашем компьютере. На изображении ниже показан winget, выполненный в Терминале Windows через PowerShell. Вы можете увидеть список доступных команд, используемых для управления пакетами и работы с манифестами. Вы можете искать пакет (поиск находит по имени, моникеру и тегам) с помощью winget search vscode. Установить что-либо на свой компьютер так же просто, как winget installPowerToys. Вы можете проверить обновления пакетов с помощью winget upgrade или просто обновить все с помощью winget upgrade --all. Вы настраиваете новую машину? Убедитесь, что winget export packages.json на вашем текущем компьютере (и скопируйте файл на новый компьютер), чтобы вы могли импортировать файл packages.json на новом компьютере. С winget list вы можете увидеть все, что установлено, в Установка и удаление программ, и вы можете winget uninstall , чтобы удалить его из вашей системы. Вы можете узнать больше о командах и синтаксисе в нашей документации.

Как мне это получить?

Если вы используете любую текущую сборку Windows Insider или подписались на группу Windows Package Manager Insider, возможно, она у вас уже есть. Диспетчер пакетов Windows распространяется вместе с установщиком приложений из Microsoft Store. Вы также можете загрузить и установить диспетчер пакетов Windows со страницы выпусков GitHub или просто установить последнюю доступную версию.

Версия 1.0 диспетчера пакетов Windows скоро будет поставляться в виде автоматического обновления через Microsoft Store для всех устройств под управлением Windows 10 версии 1809 и более поздних версий. Если вы являетесь ИТ-специалистом, мы опубликовали информацию об управлении диспетчером пакетов Windows с помощью групповой политики. Пользователи смогут определить, какие политики действуют, выполнив winget --info.

Репозиторий сообщества Microsoft

Сообщество внесло более 1400 уникальных пакетов в репозиторий сообщества Microsoft! Вы можете winget search , чтобы узнать, доступен ли пакет. Нас до сих пор поражает, сколько замечательных программ для Windows 10 есть в репозитории. Если поиск не дает никаких результатов, вы можете выполнить процесс, чтобы запустить Edge и выполнить поиск загрузки установщика программного обеспечения. Как только вы найдете его, вы можете добавить его в репозиторий сообщества, чтобы вам не пришлось снова проходить этот процесс. Написав десятки манифестов вручную, мы поняли, что для этого должен быть инструмент.

Windows Package Manager Manifest Creator Preview

Мы также выпускаем еще один инструмент с открытым исходным кодом, который поможет отправлять пакеты в репозиторий сообщества Microsoft. Откройте свой любимый интерфейс командной строки и выполните winget install wingetcreate, чтобы установить создатель манифеста диспетчера пакетов Windows (Windows Package Manager Manifest Creator Preview). После установки инструмента выполните wingetcreate new и укажите URL-адрес установщика. Затем инструмент загрузит установщик, проанализирует его, чтобы определить любые значения манифеста, доступные в установщике, и проведет вас через процесс создания действительного манифеста. Если вы предоставите свои учетные данные GitHub при появлении запроса, он даже создаст ветвь репозитория, создаст новую ветку, отправит pull request и предоставит вам URL-адрес для отслеживания его прогресса. На изображении ниже показано, как wingetcreate выполняется в Терминале Windows через PowerShell.

Приватные репозитории

И последнее, но не менее важное: мы выпустили эталонную реализацию для источника REST API, чтобы вы могли разместить свой собственный частный репозиторий. Это новый тип источника для диспетчера пакетов Windows. Нашим источником по умолчанию является пакет PreIndexed, поставляемый через Microsoft Store, но вы можете добавить дополнительные источники на основе REST, если они правильно реализуют схему REST API на основе JSON.

Подробнее..

4 бесплатных мероприятия по созданию бизнес- приложений в июне

03.06.2021 10:20:31 | Автор: admin

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

1. Технический марафон Microsoft Dynamics 365

10 июня, на русском10 июня, на русском

Приглашаем Вас принять участие в онлайн мероприятии Технический Mарафон Microsoft Dynamics 365, где Вы и Ваши коллеги познакомитесь с ключевыми сценариями использования платформы, а также с новыми предложениями, направленными на успешное внедрение и использование Dynamics 365.

Программа

10.00 - 10.20

Открытие технического марафона

Павел Чужмаров, руководитель отдела по технологическому развитию партнеров, Microsoft

Трек Dynamics 365 Finance and Operations (ERP)

10.20-10.50

Новости Finance and Operations

Владимир Ручкин, эксперт по бизнес-решениям, Microsoft

Вадим Корепин, ведущий функциональный архитектор, Microsoft

Александр Яковлев, эксперт по бизнес-решениям, Microsoft

10.50 -11.00

Использование хранилища Azure Synapse для построения высоконагруженных отчётов в D365 for Finance and Supply Chain

Илья Карякин, руководитель департамента корпоративных приложений, Awara IT

11.00 -11.10

Использование Electronic Reporting в интеграции с EDI и в печатных формах

Елена Терехова, функциональный архитектор департамента MS ERP, ГК Корус Консалтинг

11.10-11.20

Развертывание Dynamics 365 FO on premise: плюсы и минусы:

Денис Туров, заместитель руководителя департамента разработки, GMCS

11.20-11.30

Секреты успешного внедрения и поддержки Microsoft Dynamics 365 Finance на примере проекта в Финансовой группе БКС

Роман Приходченко, Dynamics 365&Power Platform Lead, Navicon; Андрей Жучков, Ведущий архитектор по ERP-решениям, Navicon

Перерыв, 5 минут

Трек Dynamics 365 Customer Engagement (CRM)

11.35-11.55

Новости Customer Engagement

Дмитрий Лобода, архитектор по работе с партнерами, Microsoft CEE Никита Усачев, эксперт по бизнес-решениям, Microsoft

11.55-12.05

Dynamics 365 Customer Insights и чем он отличается от for Sales/Marketing

Илья Карякин, руководитель департамента корпоративных приложений, Awara IT

12.05-12.15

Опыт внедрения Microsoft Dynamics Marketing в современном бизнесе.

Анатолий Инчеревский, эксперт по технологиям Microsoft, Ёлва

12.15-12.25

Эффективное управление сотрудниками в полях с помощью Dynamics 365 Field Service

Дарья Кагарлицкая, ведущий архитектор, Navicon

Перерыв 5 минут

Трек Power Platform

12.30-12.50

Новости Power Platform

Андрей Голубев, Power Platform Lead, Microsoft Никита Усачев, эксперт по бизнес-решениям, Microsoft

12.50-13.00

Построение low-code Центра компетенций и администрирование Power Platform

Михаил Головастиков, low-code / no-code евангелист , Руководитель GGroupp

13.00-13.10

Опыт реализации процесса найма сотрудников и разработки личного кабинета нового сотрудника и руководителя.

Андрей Браун, архитектор Low-Code решений, I-SyS

Подробности и регистрация.

2. Построение устойчивых цепей поставок

16 июня, на английском с субтитрами на русском16 июня, на английском с субтитрами на русском

Будьте впереди в сегодняшнем цифровом ландшафте с инструментами и обучением, чтобы быстро адаптироваться к сбоям и обеспечить непрерывность бизнеса. Виртуальный учебный день Microsoft Dynamics 365: создание устойчивой цепочки поставок знакомит вас с Dynamics 365 Supply Chain Management, упреждающим управлением активами, Dynamics 365 Commerce и многим другим. Это мероприятие разработано, чтобы помочь вам поддерживать непрерывную видимость и подготовить вашу организацию к тому, что будет дальше.

Во время этого учебного мероприятия:

  • Оптимизируйте свои процессы с помощью интеллектуальных цепочек поставок и упреждающего управления активами.

  • Улучшите свои розничные операции с Dynamics 365 Commerce.

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

Подробности и регистрация.

3. Microsoft Developers Meetup

16 июня, на русском16 июня, на русском

Приглашаем Вас принять участие в онлайн мероприятии Microsoft Developers Meetup, посвященное технологиям в области процессов разработки и сопровождения ПО.

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

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

Программа

10:00 - 10:10

Opening

10:10 - 10:30

Microsoft Dev platform roadmap and Build news Microsoft

10:30 - 11:00

AppDev on Azure + Industry case DataArt

11:00 - 11:30

GitHub news and roadmap Microsoft

11:30 - 12:00

DevOps with GitHub Actions + Industry case Softline

12:00 - 12:30

Secure DevOps and Supply chain + build updates Microsoft

12:30 - 13:00

Secure Development on Azure + Industry case AwaraIT

Подробности и регистрация: регистрация приостановлена.

4. Microsoft Power Platform: App Maker

26 июня, на английском с субтитрами на русском26 июня, на английском с субтитрами на русском

Развивайте свой технический опыт и расширяйте свои методы работы с низким кодом на Виртуальном учебном дне Microsoft Power Platform: Конструктор приложений. Это бесплатное обучение поможет вам лучше разрабатывать, создавать, внедрять и управлять более разумными бизнес-решениями. Присоединяйтесь к нам, чтобы изучить инновационные стратегии для улучшения ваших базовых методов моделирования данных, дизайна взаимодействия с пользователем, а также анализа процессов и требований. Получите возможность максимально эффективно использовать Power Platform - и сразу же научитесь упрощать, автоматизировать и преобразовывать свои бизнес-процессы.

Во время этого учебного мероприятия:

  • Создайте приложение на основе модели в PowerApps.

  • Автоматизируйте рабочие процессы с помощью Power Automate.

  • Используйте AI Builder в Power Automate для улучшения ваших процессов.

Подробности и регистрация.

Подробнее..

Jupyter в Visual Studio Code июньский релиз

17.06.2021 10:17:44 | Автор: admin

Мы рады сообщить, что стал доступен июньский релиз расширения Jupyter для Visual Studio Code. Если вы работаете с Python, мы рекомендуем загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Узнайте больше о поддержке Python в Visual Studio Code в документации.

В этом релизе основное внимание уделялось:

  • Усилению мер безопасности

  • Дополнительным настройкам макета Native Notebook

  • Улучшению средств Data Viewer и Variable Explorer

Если вам интересно, вы можете изучить полный список улучшений в нашем журнале изменений.

Подробнее о самых интересных новинках под катом.

Workspace Trust

Команда Visual Studio Code серьезно относится к безопасности. Функция Workspace Trust позволяет определить, каким папкам и содержимому проекта вы доверяете, а какие остаются в ограниченном режиме.

Что это значит для notebooks?

При открытии папки в VS Code вас спросят, доверяете ли вы авторам и содержимому папок.

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

** Примечание. Важно понимать, что notebooks могут содержать вредоносный код, встроенный в их выходные данные, и могут работать без выполнения вами ячеек. VS Code будет подавлять выходные данные до тех пор, пока вы явно не доверяете записной книжке. Важно определить, доверяете ли вы notebooks, загруженным из внешних источников.

Дополнительные сведения и сведения о доверии рабочей области см. в разделе Visual Studio Code - доверие рабочей области.

Улучшенная фильтрация в средстве просмотра данных

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

Сортировка в проводнике переменных

По многочисленным просьбам переменные в вашем notebook теперь можно сортировать. Щелкните заголовок Имя или Тип в проводнике переменных для сортировки. Направление стрелки в заголовке будет указывать, по какому заголовку сортируются переменные и в каком порядке выполняется сортировка: в алфавитном или обратном алфавитном порядке.

Новый взгляд на нативные notebooks

Чтобы опробовать нативные notebooks сегодня, загрузите VS Code Insiders и расширение Jupyter. Расширение Python настоятельно рекомендуется для работы с записными книжками Python.

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

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

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

Кастомизируемые нативные notebooks

Хотя приведенные выше основные моменты показывают, что уже работает в notebooks из коробки, вы всегда можете настроить все по своему вкусу. Мы добавили ряд настроек, чтобы по-настоящему сделать ваш notebook идеальным. Чтобы изучить настройки макета notebook, щелкните значок Дополнительные действия в конце панели инструментов и выберите Настроить макет notebook.

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

Полный список настроек компоновки notebook:

  • notebook.insertToolbarLocation

  • notebook.consolidatedRunButton

  • notebook.cellFocusIndicator

  • notebook.cellToolbarVisibility

  • notebook.compactView

  • notebook.consolidatedOutputButton

  • notebook.dragAndDropEnabled

  • notebook.globalToolbar

  • notebook.showCellStatusBar

  • notebook.showFoldingControls

  • notebook.editorOptionsCustomizations

Прочие изменения и улучшения

Мы также добавили небольшие улучшения и исправили проблемы, запрошенные пользователями, которые должны улучшить ваш опыт работы с notebooks в Visual Studio Code. Некоторые заметные изменения включают:

  • Ограничение количества языков, отображаемых в средстве выбора языка ячейки, языками, поддерживаемыми ядром

  • Добавление ABCMeta и ввод в список исключений проводника переменных

  • Настройка размера и вида переменных в соответствии с VS Code

  • Скрытие ядер, принадлежащих удаленным средам Python, из средства выбора ядра

Загрузите расширение Python и расширение Jupyter для Visual Studio Code сейчас, чтобы опробовать вышеуказанные улучшения. Если у вас возникнут какие-либо проблемы или у вас есть предложения, сообщите о проблеме на странице Jupyter VS Code GitHub.

Подробнее..

Регистрация на Microsoft Build 2021 уже началась

19.05.2021 10:20:52 | Автор: admin

Учитесь. Общайтесь. Пишите код.

Конференция Build ключевое событие года для Microsoft. На мероприятии выступают первые лица компании, в том числе, ее глава Сатья Наделла. Это 48 часов погружения в технологические инновации и общения с глобальным технологическим сообществом. Регистрация на конференцию бесплатна.

Что вас ждет

В течение двух дней вас будут ждать:

  • Технические доклады

  • Серии вопросов и ответов с экспертами

  • Обучающие мероприятия Learn Live

  • Общение с участниками из вашего локального сообщества (Local Connections)

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

Бесплатная регистрация необходима для участия в мероприятиях Microsoft Build, даже если вы уже регистрировались на прошлые мероприятия.

Подробности и регистрация.

Загляните в будущее технологий,
присоединяйтесь к Microsoft Build!

Подробнее..

Представляем Windows Terminal Preview 1.9

10.06.2021 10:07:14 | Автор: admin

По следам Microsoft Build 2021 у нашего Windows Terminal второй день рождения! Этот релиз впервые представляет версию 1.9 для Windows Terminal Preview и переносит основной Windows Terminal в версию 1.8. Как всегда, вы можете установить обе сборки в Microsoft Store, а также на странице выпусков GitHub. Под катом расскажем, что нового!

Терминал по умолчанию

Теперь вы можете установить Windows Terminal Preview в качестве эмулятора терминала по умолчанию в Windows! Это означает, что любое приложение командной строки будет запускаться внутри выбранного эмулятора терминала (т.е. дважды щелкните PowerShell, и по умолчанию оно откроется в Windows Terminal Preview). Этот параметр в настоящее время находится в сборке Windows Insider Program Dev Channel и может быть найден на странице свойств консоли. Мы также добавили этот параметр в пользовательский интерфейс настроек в Windows Terminal Preview.

Quake mode

Терминал Windows теперь поддерживает quake mode! Quake Mode позволяет быстро открыть новый экземпляр терминала из любого места в Windows, нажав Win+`. Окно quake появится в верхней половине экрана, и его можно легко закрыть с помощью того же сочетания клавиш. Если вы хотите дополнительно настроить способ вызова терминала, ознакомьтесь с новыми функциями, которые мы добавили для на нашем сайте документации.

Обновления шрифта Cascadia Code

Cascadia Code Italic

У Cascadia Code теперь есть курсивный вариант. Этот вариант по умолчанию используется в терминале, а также может быть загружен с GitHub. Версии шрифтов, в названии которых отсутствует Курсив, будут иметь стандартный шрифт без курсивных букв. Огромное спасибо Аарону Беллу за разработку Cascadia Code Italic и Виктории Грабовской за разработку курсивных символов кириллицы!

Арабские и ивритские символы

Мы также добавляем арабские символы и символы иврита в Cascadia Code в середине июня. Они добавляются к существующему набору шрифтов Cascadia Code, но пока не будут иметь курсивного шрифта. Огромное спасибо Мохамаду Дакаку за разработку арабских символов и Лирону Лави Тюркеничу за разработку ивритских символов! Если вы хотите узнать больше о дизайне арабских символов, ознакомьтесь с этим документом.

Обновления UI настроек

Редактируемая страница действий

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

Добавление нового профиля

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

Окно предварительного просмотра внешнего вида профиля

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

Подробнее..

Microsoft представила собственный бесплатный дистрибутив OpenJDK, пообещав длительную поддержку

01.06.2021 20:15:10 | Автор: admin

Корпорация Microsoft на днях начала распространять свой дистрибутив Java на основе OpenJDK. Проект бесплатный, он распространяется под лицензией GPLv2. В его состав входят исполняемые файлы для Java 11 и Java 16, базирующиеся на OpenJDK 11.0.11 и OpenJDK 16.0.1. Новый релиз Java 16 уже используется миллионами геймеров, играющих в Minecraft, вместе с Minecraft Java Edition Snapshot version 21W19A.

Компания подготовила сборки для всех популярных операционных систем, включая Linux, Windows и macOS для архитектуры x86_64. Есть еще и OpenJDK 16.0.1 для систем ARM, работающий под Linux и Windows. Загрузить и использовать новинку может любой пользователь, на полностью бесплатной основе.

Подробности от Microsoft


Каким-то откровением этот релиз не является о том, что он вскоре появится, стало известно еще в апреле 2021 года, когда Microsoft представила тестовые сборки на базе OpenJDK 11 под архитектуру x64 для серверного и десктопного применения в Windows, macOS и Linux. Тогда Microsoft заявила о поддержке Java 11 минимум до 2011 года.

Разработчики OpenJDK от Microsoft заявили, что их проект вклад компании в экосистему Java. Таким образом, компания пытается наладить и укрепить взаимодействие с сообществом Java. Дистрибутив заявлен как стабильный он уже используется в ряде сервисов корпорации и проблем с ним, насколько известно, нет.

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



Кроме основного анонса, компания заявила также о том, что стала членом рабочей группы Eclipse Adoptium. Эта группа распространяет бинарные сборки OpenJDK, которые совместимы со спецификациями Java и соответствуют критериям качества AQAvit. Группа полностью независима от каких-либо коммерческих проектов.

Представители компании заявили, что в Microsoft работает около полумиллиона виртуальных машин Java, обеспечивающих работу множества сервисов, игровых серверов, систем Big Data. И примерно треть виртуальных машин, около 140 тысяч, используют OpenJDK от Microsoft.

Компания давно применяет в работе самые разные проекты с открытым исходным кодом на языке Java, которые помогают ей обеспечить функционирование систем анализа больших данных и логов. Более того, бэкенды LinkedIn и Yammer также почти на 100% базируются на Java-микросервисах.

Активно участвовать в разработке собственной версии OpenJDK компания стала после покупки jClarity из Великобритании. Самые известные ее продукты Censum и Illuminate. Наработки jClarity корпорация планировала использовать для повышения эффективности работы инфраструктуры своих сервисов, а также создания собственного дистрибутива OpenJDK.

Немного подробностей от OpenJDK и Java


OpenJDK достаточно известный проект, цель которого создание Java Development Kit, состоящего исключительно из свободного и открытого исходного кода. В Kit входит несколько элементов, включая компилятор в байт-код Java (javac), стандартные библиотеки классов Java, примеры, документацию, утилиты и среду выполнения Java (JRE).

Еще в 2006 году создатель Java компания Sun (три года спустя поглощенная Oracle) пообещала сделать Java полностью свободным программным обеспечением. Сначала были опубликованы исходные коды виртуальной машины HotSpot и компилятора Java под лицензией GPL. Затем полные исходные коды библиотеки классов Java под GPL, кроме фрагментов, права на работу с которыми были у третьей стороны. Все это было опубликовано в мае 2007 года. Среди частей, которые не стали открытыми, остались компоненты Java для графического интерфейса.

Ну и потом последовал логичный этап создание проекта OpenJDK, который дал возможность участвовать в развитии платформы и другим компаниям. С 2018 года за право использования платформы Oracle JDK бизнес-пользователям приходится платить.

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

Подробнее..

Создание прекрасных приложений с помощью Xamarin.Forms

09.06.2021 10:16:43 | Автор: admin

Есть вопрос, который мне постоянно задают в Твиттере: как создавать приложения с крутым дизайном с помощью Xamarin.Forms? Это отличный вопрос, ведь любой может создавать красивые приложения, немного вдохновившись и поработав над стилем. Я не дизайнер и не претендую на звание дизайнера, но есть много отличных источников вдохновения для дизайна приложений, включая Dribbble, Uplabs и другие. Эти дизайны от талантливых людей со всего мира могут повлиять на внешний вид ваших собственных приложений.

Приложение для ресторана от Oludayo AlliПриложение для ресторана от Oludayo Alli

Встроенные возможности Xamarin.Forms

В Xamarin.Forms есть несколько функций, которые можно использовать, чтобы воплотить важные проекты в жизнь. Зачем вам что-то, кроме нового Shapes API для рисования фигур, линий, многоугольников и многого другого. Хотите, чтобы ваши собственные элементы управления были единообразными? Как насчет добавления Material Design с помощью одной строчки кода. А еще сгруппируйте свои коллекции с помощью CarouselView в сочетании с IndicatorView и, конечно же, CollectionView.

Приложение "Галерея напитков" от Javier SurezПриложение "Галерея напитков" от Javier Surez

Пойдите дальше с кастомными элементами управления от сообщества

Xamarin Community Toolkit добавляет отличные элементы управления, включая DockLayout, Shield, TabView и другие. Но есть еще более потрясающие элементы управления от сообщества, включая потрясающие Magic Gradients, PancakeView, MaterialFrame, CardView, Shadows и многие другие. Наконец, мы не можем забыть SkiaSharp, систему 2D-графики общего назначения для .NET.

Компонентная экосистема

Переиспользуемые компоненты пользовательского интерфейса от ведущих поставщиков компонентов, таких как Telerik, UX Divers, GrapeCity и Syncfusion, помогут вам быстро повысить продуктивность. Обязательно ознакомьтесь с множеством вариантов, когда будете готовы начать работу.

Вдохновляйтесь

Наш коллега Хавьер уже несколько лет собирает интересные примеры крутых приложений с открытым исходным кодом, созданных с помощью Xamarin.Forms, которые вы можете изучить на GitHub. Выше вы уже видели несколько из этих приложений, но вот еще, чтобы вас вдохновить.

Кошелек карт от Altevir Кошелек карт от Altevir Приложение для авиаперелетов от Leomaris ReyesПриложение для авиаперелетов от Leomaris ReyesКнига рецептов от Steven ThewissenКнига рецептов от Steven ThewissenCake app от Shaw YuCake app от Shaw Yu

И есть еще очень много прекрасных дизайнов. Вы даже можете добавить свой собственный, просто создав pull request в репозитории Хавьера на GitHub.

Adobe XD Exporter

Многие дизайны, которые вы найдете в интернете или получите от вашего дизайнера, могут быть созданы с помощью таких инструментов, как Adobe XD. Вы можете легко импортировать цвета и стили в свое приложение Xamarin.Forms благодаря экспортеру XD в Xamarin.Forms (его автор -- наш коллега Kym Phillpotts).

Создавайте красивые приложения

Расскажите нам о своих приложениях, оставив комментарии ниже или отправив pull request в репозиторий Хавьера на GitHub.

Подробнее..

Перевод Apple превращается в ещё одну Microsoft

24.05.2021 14:14:07 | Автор: admin
image

Фанаты Apple продолжают рассуждать о том, что может стать новым прорывным продуктом компании. Что-то сравнимое с первым Mac, первым iPod, первым iPhone революционный продукт, который изменит отрасль и даст Apple мощный толчок вперёд. В конце концов, именно так Apple всегда вела эту игру. Именно таким мы привыкли видеть успех Apple.

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

Что же сделал Стив Джобс?


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

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

Но Стив Джобс не был обычным менеджером или лидером. Я ненавижу заявления типа он был визионером! В подобных утверждениях так мало конкретики, что сложно понять, кто же такой визионер.

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


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

Стив Джобс никогда не обладал подобным техническим интеллектом Воза. Но у него имелось нечто совершенно иное. Воз был гиком, способным рассуждать в таком ключе: Смотри, как мало килобайт у этой машины, и как я хитро перепрограммировал таблицы векторов прерываний! Воз был очаровательным парнем с мальчишеской любовью к технологиям, которая близка мне. Я знаю, что когда додумываюсь до какой-нибудь крутой технологии и показываю её своей жене, она спрашивает: Здорово, но для чего это нужно?

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


Стив Джобс и Возняк.

Пока Воз создавал новые схемы, часто именно Джобс знакомил его с новыми технологиями и устройствами. Джобс всегда искал что-то новое. При создании Apple II Джобс настаивал на том, что компьютер должен быть совершенно беззвучным. Он хотел, чтобы люди могли сидеть в тишине и концентрироваться на работе с компьютером. Все компьютеры того времени имели шумный блок питания. Инженеров это не волновало, ведь всеми это воспринималось как должное. Об этом никогда не думал Воз. Но Стиву удалось найти чудаковатого типа, который смог спроектировать блок питания, почти не издававший шума, и эта разработка едва не разорила Apple в самом её начале.


38-ваттный блок питания Apple II был спроектирован Робом Холтом. Стив Джобс хотел, чтобы Холт разработал блок питания меньшего размера и ещё менее шумный, но на это у него не хватило денег.

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

Джобс настоял на том, чтобы Apple II имел красивый и профессионально выглядящий корпус. В то время домашние компьютеры продавались как комплекты для сборки, наподобие современных Arduino. У них не было собственных корпусов. Это были электронные гаджеты для гиков. Джобс хотел создать нечто, что обычный человек может принести домой и поставить на стол. Уже готовый собранный профессионально выглядящий домашний компьютер.

И это характерно для всего, чем занимался Стив Джобс. Он всегда был в поисках чего-то нового. И в отличие от большинства людей, он понимал, когда обнаруживал нужное. Xerox PARC разработала множество революционных идей, например, первые практичные GUI, объектно-ориентированное программирование, сети и многие другие вещи, поэтому Стив Джобс решил посетить компанию.

Недостаточно просто умных инженеров и компетентных руководителей


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


В Xerox PARC были разработаны современные GUI, а также быстрая разработка приложений при помощи современных интегрированных сред разработки (Integrated Development Environments, IDE) на основе Smalltalk. Однако руководство Xerox не смогло разглядеть их потенциала.

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


System 1 на первом Mac. Первая коммерческая операционная система с GUI.

На основании того, что он увидел в течение часового визита в Xerox PARC, Джобс, по сути, создал две компании. Mac был создан благодаря тому, что он увидел первые GUI. Компания NeXT, которую он основал позже, занималась быстрой разработкой при помощи объектно-ориентированного программирования, тоже впервые увиденного им в Xerox PARC.


Операционная система NeXTSTEP, разработанная в NeXT под руководством Стива Джобса, совершила революцию в разработке ПО, позволив быстро создавать GUI-приложения при помощи перетаскивания многократно используемых объектов.

Тот же принцип был использован когда Стив Джобс вернулся в Apple после своего изгнания. В то время компания терпела неудачи, но по-прежнему обладала блестящими инженерами и дизайнерами, наподобие Джонатана Айва, разработавшего линейку успешных Mac. В частности, он создал разноцветные iMac, спасшие и возродившие Apple.


Простите, никакого бежевого. Разноцветные iMac, спасшие Apple, были придуманы не под руководством Стива Джобса, но именно Джобс понял их потенциал и привлекательность. В то время каждый компьютер был бежевого цвета.

Ирония заключается в том, что эти разноцветные iMac изначально создавались не по указанию Стива Джобса. Айв уже их спроектировал. Проблема Apple была такой же, как у Xerox: руководство не могло увидеть потенциал или великолепие продуктов, созданных его собственными сотрудниками. Всё, что видело руководство это разноцветные материалы и сложные формы, повышающие стоимость компьютеров. С их крохоборской точки зрения они выбрасывали деньги, которые можно было потратить на увеличение памяти или более объёмный жёсткий диск.

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

Джобс заставлял работников выкладываться по полной


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

Джобс, в отличие от большинства CEO, проводил почти всё своё время в лаборатории разработки продуктов, где работал над идеями. Может, он и не сидел в программе CAD/CAM и не рисовал сам линии нового Mac или iPhone, но он следил за каждым этапом работы, давал свои отзывы и вносил предложения. Его волновала каждая малейшая деталь. Если посмотреть на имена владельцев патентов на блок питания Apple, то вы найдёте там и имя Стива Джобса. Многие ли CEO компаний-разработчиков ПК тратили недели на участие в проектировании блока питания?

Хотя я не могу сравниться с уровнем таланта тех, кто проделал замечательную работу в Apple, мне довелось поработать с начальниками, которые напоминали мне Стива Джобса и дали представление о том, каким он мог быть. Много лет назад у меня был начальник, которого я почти ненавидел. Он всегда был чрезвычайно требовательным и всегда занимался микроменеджментом. Его могло сорвать с катушек, если что-то шло не так, как задумал он. Во многих смыслах он казался самым худшим руководителем.

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

Хорошо, но как это связано с Microsoft?


Я понимаю, что мой рассказ слишком отклонился от темы и превратился в подробное описание характера Стива Джобса. В конце концов, история ведь о том, почему Apple может стать ещё одной Microsoft. Что конкретно я под этим подразумеваю?

В 90-х Microsoft имела гораздо больший успех, чем Apple, несмотря на отсутствие у неё навыков Стива Джобса по предсказанию будущего и созданию потрясающих устройств. Если Apple была Александром Македонским, то Microsoft мне больше напоминает римлян.

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


Microsoft Windows 1.0. Не очень популярная и не особо успешная.

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


Microsoft Windows 3.11, ставшая большим успехом для Microsoft. Это первая Windows, с которой я работал. До неё большинство из нас работало с MS DOS и командной строкой.

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

В Apple Александра сменил римлянин


Если Стив Джобс был Александром Македонским, то Тима Кука мы, вероятно, можем считать новым римским лидером Apple. Пусть римлянам не хватало военного гения Александра, как у Тима Кука не хватает продуктового и дизайнерского гения Стива Джобса, однако он, подобно римлянам, понимает, как строить империю. Он понимает, как создавать эффективные устойчивые организации.

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

Как будет выглядеть успех Apple в будущем


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

Apple имеет малую долю от общего рынка компьютеров, но уже получает примерно 60% от всех доходов. И похоже, компания вполне готова забрать ещё большую долю доходов рынка. Благодаря более дешёвым высокопроизводительным чипам с низким энергопотреблением компании, возможно, удастся выдавить ещё больше конкурентов из премиального сегмента, таким образом заставив производителей ПК сражаться насмерть на рынке с низкой маржей и высокими объёмами продаж.

Хотим ли мы такого будущего?


Признаюсь, я предпочёл бы, чтобы в будущем возникали потрясающие новые продукты. Однако желания и реальность две разные вещи. Тим Кук не собирается совершать революцию в Apple. Вместо этого он собирается камень за камнем, одно стратегическое решение за другим, строить империю.

Но на самом ли деле всё так плохо? Может быть, Тим Кук не так ярок, как Стив Джобс, но он мягче. Нам нужно и это. Такое будущее Apple имеет свои преимущества. Во многом они совпадают с теми преимуществами, которые своим пользователям даёт Microsoft: всемирное признание и поддержка.

Молодые не знают, каково было пользователю Apple лет двадцать назад. Это значило быть изгоем. Невозможно было подключаться к сетям. Браузер не мог отображать все страницы. Ты всегда ощущал себя в мире компьютеров гражданином второго сорта, которого не замечают и не воспринимают всерьёз. Сегодня владельцы Mac это граждане первого класса. Они есть во всех корпорациях. Двадцать лет назад такое трудно было представить. Теперь я не завидую ассортименту программ в Windows. Наоборот! Я чувствую, что сегодня на Mac у меня есть такой богатый выбор ПО, что под Windows я бы ощущал себя потерянным.

Именно это Microsoft дал пользователям Windows в 90-х. Мир вращался вокруг них и обслуживал их. Вот что нам даст Apple Тима Кука: Apple, который имеет вес. Теперь выбор Mac не какое-то странное, а вполне нормальное решение. Если вы создадите компанию, то есть высокая вероятность, что вам нужно будет подумать над выбором: Mac или PC.

Это значит, что когда выпускают новую крутую игру, то она может быть совместима и с Mac. Не знаю, как вы, а я с удовольствием приму это скучное будущее Mac, в котором у меня будут все те преимущества, которые раньше были свойственны Windows и PC. А как насчёт такого: пользователь может получить те же спецификации на Mac, что и на PC, не по премиальной цене? Именно это может предоставить нам Apple Silicon. А возможно, и уже предоставил.



На правах рекламы


Воплощайте любые идеи и проекты с помощью наших VDS с мгновенной активацией на Linux или Windows. Сервер готов к работе через минуту после оплаты!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Microsoft Windows 10X революции не случилось

22.05.2021 12:06:36 | Автор: admin

Несколько дней назад на Хабре опубликовали новость о том, что Microsoft закрывает свой масштабный проект революционную, как сообщалось компанией, операционную систему Windows 10X. Изначально эта ОС проектировалась для гаджетов с двумя экранами, но потом компания решила расширить количество совместимых платформ, добавив ноутбуки с базовой конфигурацией.

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

Как все начиналось


У Windows 10X было сразу несколько предварительных названий, включая Windows Core OS, Windows Lite и другие. Сначала компания Microsoft начала разрабатывать ее для установки на устройства нового типа с двумя экранами. Слухи об ОС ходили задолго до ее появления, но официальный анонс компания сделала в октябре 2019 года, одновременно с Surface Neo. Это был девайс с двумя экранами, на который и была установлена операционная система.


Разработчики заявили, что операционная система ориентирована на ARM, как до этого было с Windows RT и Windows 10S. Пытались добавить эмуляцию Win32-приложений, но в итоге отказались от этого, так что уже готовые наработки убрали из тестовой версии.

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

Что-то пошло не так


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

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

Правда, проект создания платформы прожил дольше, чем железо, поскольку Windows 10X решили позиционировать в качестве если не конкурента, то хотя бы аналога Chrome OS. Именно поэтому и была добавлена поддержка архитектуры ARM, чего, например, нет во взрослой Windows 10.

В середине декабря 2020 года сразу несколько интернет-СМИ заявили о том, что разработка Windows 10X закончена и вскоре эта ОС станет доступна для производителей ноутбуков. Речь идет об RTM-версии. Во втором квартале 2021 года ожидалось поступление в продажу устройств с этой платформой. В целом, шансы победить ту же Chrome OS у Windows 10X были, ведь до настоящего момента доля ОС от Google составляет немногим более 1% всего рынка настольных ОС.


У Windows 10X было несколько отличий от Windows 10:

  • Меню Пуск не только переименовано в Launcher (оригинальное название Start), но и переформатировано. В него входила строка поиска, выводились недавно используемые документы и приложения. Разработчики изменили интерфейс меню для того, чтобы пользователи могли оперативно запускать задачи.
  • Мгновенный выход из спящего режима. После того, как эту возможность добавила Apple в свои ноутбуки, разработчики Microsoft решили использовать моментальный выход из спящего режима и в своей ОС (возможно, это была оригинальная идея).
  • Быстрая настройка. Общее меню настроек было разделено на два основных элемента. Один из них, быстрые настройки, включал самые популярные пункты вроде беспроводной связи или языка ввода. Впрочем, нечто подобное есть и в Windows 10.
  • Упрощенный интерфейс и отсутствие возможности устанавливать обычные приложения с разных ресурсов только из Microsoft Store.

Неожиданная отмена


Несколько дней назад корпорация выпустила кумулятивное обновление Windows 10 May 2021 Update (21H1). Обычно его выпускают накануне или одновременно с конференцией Build, но на этот раз компания решила действовать более оперативно. И практически сразу же последовало заявление о закрытии проекта Windows 10X.

Большинство важных наработок отмененной операционной системы не пропадут их добавят во взрослую ОС. Для этого будет выпущено специальное обновление Windows 10 Sun Valley, которое вберет в себя все наработки Windows 10X, которые компания сочтет важными. Недавно в сети появился скриншот системы после обновления.


Насколько можно судить, в ОС изменяется Центр действий и уведомлений Windows 10, включая управление меню при помощи пальца (возможность показать или скрыть элементы). Кроме того, будут скруглены углы у некоторых элементов интерфейса.


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

Windows 10X не первая и, вероятно, не последняя отмененная ОС от Microsoft


У корпорации Microsoft, как и у многих других компаний, довольно много отмененных проектов, которые изначально считались перспективными. Что касается Windows 10X, это уже третья ОС, которую отменили по той или иной причине.

Первой (из относительно новых) операционных систем, разработку которых решили закрыть, стала Windows RT. Она тоже работала с ARM-процессорами и выполняла практически те же задачи, что и взрослая ОС. Она вышла в релиз, на ее основе разрабатывались устройства, включая планшеты линейки Microsoft Surface и Nokia Lumia. Но в итоге ОС прекратили развивать.

В 2017 году компания объявила о скором выходе Windows 10S упрощенной версии Windows 10. Здесь все было похоже на текущую ситуацию. Система была рассчитана на ARM, Windows 32-приложения запускать было нельзя, это была ОС для устройств базового уровня. Но она так и не вышла в свет, ее наработки использовали для развития основной линейки Windows 10.

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

Подробнее..

Команда Xbox представила самую большую линейку эксклюзивных игр в истории

15.06.2021 10:13:02 | Автор: admin

Недавно команда Xbox провела онлайн-мероприятие Xbox & Bethesda Games Showcase, показав самую масштабную игровую линейку за всю историю существования Xbox. В рамках шоу было продемонстрировано и анонсировано 30 игр от партнёров и внутренних студий, 27 из которых станут частью каталога Xbox Game Pass.

Самые крупные, эксклюзивные игры

Во время презентации команда Xbox анонсировала несколько горячо ожидаемых проектов от Xbox Game Studios и Bethesda, которые будут доступны в каталоге Xbox Game Pass в день релиза:

Forza Horizon 5(Xbox Series X|S, Xbox One, Windows 10, Steam) 9ноября2021года

Вас ждет невероятное приключение. Играя в Forza Horizon 5 исследуйте яркие и постоянно меняющиеся ландшафты открытого мира Мексики с безграничным, увлекательным вождением на сотнях лучших в мире автомобилей. Это долгожданное продолжение выйдет 9 ноября 2021 года на консолях Xbox Series X|S и Xbox One, ПК на Windows 10 и Steam, а также в каталоге Xbox Game Pass, включая консоли и ПК. Исследуйте яркие, постоянно меняющиеся пейзажи Мексики с безграничными возможностями для вождения!

Halo Infinite(Xbox Series X|S, Xbox One, Windows 10) Конец2021года

Сегодня 343 Industries представила мировую премьеру многопользовательского режима игры Halo Infinite. Легендарный многопользовательский бой Halo возвращается в новом виде благодаря сезонным обновлениям, новым режимам и картам, а также контенту, ориентированному на игровое сообщество. Игроки смогут исследовать бесконечные боевые возможности, смешивая и сочетая богатое разнообразие оружия и снаряжения на карте, чтобы испытать уникальный геймплей, в котором отчетливо ощущается дух Halo. Игра будет доступна в каталоге Xbox Game Pass в день релиза для ПК и консолей. Впервые многопользовательская игра Halo будет распространяться по моделиfreetoplay, приглашая миллионы игроков на консолях Xbox и ПК вступить в бой.

Starfield(XboxSeriesX|S,Windows10) 11 ноября 2022 года

Starfield первая за 25 лет новая игровая вселенная, разработанная в Bethesda Game Studios создателями The Elder Scrolls V: Skyrim и Fallout 4. В этой ролевой игре нового поколения, действие которой происходит в космосе, вы сможете создать любого персонажа и исследовать вселенную, наслаждаясь абсолютной свободой. Отправляйтесь в путь и раскройте величайшую тайну человечества. Присоединяйтесь к Созвездию и раньше других узнавайте обо всём, что касается Starfield, включая интервью с командой разработки и подробности создания проекта.

REDFALL(Xbox Series X|S, Windows 10) Лето2022года

Redfall шутер с видом от первого лица для совместной игры в открытом мире. Над игрой работает Arkane Austin знаменитые авторы Prey и Dishonored. Как принято у Arkane, Redfall совмещает в себе тщательно продуманный мир, креативные механики и ставший визитной карточкой студии уникальный игровой процесс.

S.T.A.L.K.E.R. 2 Heart of Chernobyl(Xbox Series X|S) 28апреля2022года

Отмеченная многочисленными наградами игровая серия для ПК, полюбившаяся миллионам игроков, дебютирует на консолях нового поколения в игре S.T.A.L.K.E.R. 2. Испытайте уникальное сочетание шутера от первого лица, захватывающего симулятора и хоррора. Чернобыльская зона отчуждения это уникальная, опасная и постоянно меняющаяся среда. Она обещает немало артефакты невероятной ценности могут стать вашими, если вы осмелитесь на них претендовать. С другой стороны, цена, которую вы можете заплатить, не меньше, чем ваша собственная жизнь. Испытайте острые ощущения в день релиза игры с подпиской Xbox Game Pass.

Пополнение каталогаXboxGamePass

Игры от внутренних студий и партнёров, которые появятся в каталоге Xbox Game Pass начиная с этого года:

  • Yakuza: Like a Dragon(Консоли и ПК) Доступно сегодня

  • Microsoft Flight Simulator(Xbox Series X|S) 27июля2021года

  • Hades(ПК и Консоли) 21 августа 2021 года

  • Back 4 Blood(ПК и Консоли) 12 октября 2021 года

  • Age of EmpiresIV (ПК) 28октября2021года

  • Among Us(Консоли) 2021 год

Также в конце этого года и начиная со следующего фанаты Xbox смогут сыграть в такие горячо ожидаемые проекты, какAtomicHeart,FarCry6,Battlefield2042,APlagueTale:Requiem,TwelveMinutes,TheAscent,TheOuterWorlds2,TheElderScrollsOnline|ConsoleEnhanced,Contrabandи многие другие.

Все игровые анонсы мероприятия Xbox & Bethesda Games Showcase доступныздесь. Актуальные новости об Xbox читайте в нашем русскоязычном блогеXbox Wire.

Подробнее..

Немного про нашу стратегию развития экосистемы XBOX и существующие достижения

16.06.2021 10:13:29 | Автор: admin

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

В воскресенье прошло первое в своем роде мероприятиеXbox & Bethesda Showcase, на котором мы представили одну из самых масштабных и лучших игровых линеек. А перед этим глава Xbox Фил Спенсер и руководитель Microsoft Сатья Наделлаобсудили значение игрдля Microsoft и для всего мира. Мы также поделились новостями о том, как Xbox Game Pass меняет наши возможности узнавать новое, общаться и играть, и о том, как Xbox и игры от всех 23 студий появятся на ещё большем количестве экранов.

Мы верим, что игры и интерактивные развлечения это не только оборудование и программное обеспечение. Не только пиксели. Это люди. Игры объединяют людей, уверен Спенсер. Они наводят мосты и укрепляют связи, создают взаимную эмпатию между пользователями по всему миру. Радость и игроки вот почему мы здесь.

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

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

Мы верим, что Microsoft может сыграть важную роль в демократизации игр и определении будущего индустрии интерактивных развлечений. Есть три основных аспекта, в которых у нас есть конкурентное преимущество. Первый: наше лидерство в облачных вычислениях. Второй: ресурсы для формирования сервиса подписки Xbox Game Pass. И третий: фокус на поддержке разработчиков.

Мы движемся дальше в нашем квесте, в котором хотим достучаться до миллиардов игроков и сегодня представляем новые слагаемые успехаXbox Game Passи рассказываем, что ждёт Xbox в будущем:

XboxGamePass расширяет возможности новых открытий, общения и игры

  • Обладатели подписки Xbox Game Pass пробуют на 30% больше жанров и на 40% больше игр. Более 90% подписчиков признались, что с удовольствием играли в те игры, которые не стали бы пробовать без Game Pass.

  • После включения своих игр в библиотеку Xbox Game Pass партнеры видят в среднем восьмикратный прирост вовлеченности игроков.

  • При покупке игр или дополнительного игрового контента из каталога Xbox Game Pass или за его пределами, подписчики тратят на 50% больше средств, чем те, кто не пользуется подпиской.

  • Подписка Xbox Game Pass стала настоящим инструментом открытия новых игр, платформой для взаимодействия игрового сообщества и способствовала повышению продаж. Вот несколько свежих инсайтов, которыми мы хотим поделиться сегодня:

    • После запуска партнерской программыEA Play в подписке Xbox Game Pass Ultimateнаши пользователи стали активнее использовать сервис EA. В сравнении с данными до интеграции подписка EA Play стала намного активнее использоваться на платформах Microsoft. Количество часов игры выросло более чем на 200%. В результате невероятное портфолио игр EA привлекло миллионы новых поклонников на платформе Xbox.

    • Новая играOutridersот студии Square Enix была включена в подписку Xbox Game Pass и заняла первую строчку в топ-10 цифровых продаж на Xbox за апрель. Миллионы игроков познакомились с этой игрой именно благодаря подписке.

    • За премьерную неделюMLB: The Show 21стала крупнейшей спортивной игрой года и второй крупнейшей спортивной игрой всех времен на Xbox. Подписка Xbox Game Pass подарила ей миллионы новых поклонников и существенно расширила игровую базу Major League Baseball. Кроме того, MLB: The Show 21 получила титул 1 по продажам платных игр на Xbox за апрель.

Xbox и подпискаXboxGamePass появятся на большем количестве экранов

  • Совместно с международными производителями телевизоров ведется работа над внедрением возможностей Xbox непосредственно в подключаемые к Интернету телевизоры без использования дополнительного оборудования (за исключением геймпада).

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

  • Xbox работает с телекоммуникационными провайдерами над новыми моделями покупки, такими как Xbox All Access, которая позволяет потребителям приобрести консоль и Xbox Game Pass за низкую ежемесячную плату, вместо того, чтобы платить всю сумму сразу.

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

  • В следующие несколько недель для обладателей подписки Xbox Game Pass Ultimate в некоторых регионах будет открытоблачный сервис в браузере. Пользователи браузеров Edge, Chrome и Safari окажутся в одном клике от игры практически на любом устройстве!

  • Мы находимся на завершающей стадии обновления наших центров обработки данных Microsoft по всему миру оборудованием последнего поколения на базе Xbox Series X. Это значит, что пользователи совсем скоро увидят более высокую скорость загрузки, улучшение скорости смены кадров и смогут насладиться играми, оптимизированными для Xbox Series X|S.

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

Невероятная линейка игр

  • Игры для Xbox разрабатывают более 23 студий со всего мира, и мы хотим добавлять по крайней мере по одной новой first party игре в библиотеку Xbox Game Pass раз в квартал. Ролевые игры, шутеры, стратегии, приключенческие игры и многое другое все это создается нашими first party командами, чтобы обеспечить постоянный поток интересного эксклюзивного контента.

  • Наша программа для независимых разработчиков ID@Xbox принесла участникам более 2 миллиардов долларов США с момента своего создания, за всё время её существования было выпущено более 2000 игр и еще много проектов на подходе. Эта модель теперь используется в программеID@Azure, которая позволяет независимым разработчикам создавать продукты на базе облачных технологий. Обе эти программы позволяют открыть новые таланты из различных уголков мира.

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

Подробнее..

Краткая история Windows и что у нее под капотом

21.06.2021 16:11:25 | Автор: admin


Несколько дней назад в сеть просочился образ ранней версии Windows 11. Различные издательства провели тесты по производительности и пришли к неутешительному выводу: Windows 11 в среднем работает хуже, чем Windows 10. Но расстраиваться рано! Проблемы производительности могут быть связаны с сыростью слитого образа и нюансами совместимости с текущими программами. Так или иначе, 24 июня состоится официальная презентация нового поколения операционных систем Windows, которая, возможно, даст ответы на многие вопросы. Если сегодня у вас есть настроение для ностальгии, предлагаем вам окунуться в мир Windows: познакомиться с историей, как менялась ось и что у нее внутри.

История Windows



В начале 80 годов прошлого века компания IBM работала над персональным компьютером на базе процессора Intel 8088. С середины 70 годов компания Microsoft была основным поставщиком Basic для восьмибитных микрокомпьютеров. Когда IBM обратилась к Microsoft для лицензирования Basic для их нового компьютера IBM PC, Microsoft согласилась, а также посоветовала обратиться к компании Digital Research для лицензирования операционной системы CP/M. Но, получилось так, что глава Digital Research не нашел в своем графике времени для встречи для IBM, и IBM снова обратилась к Microsoft, теперь уже с просьбой решить вопрос операционной системы для IBM PC. Microsoft купила клон ОС CP/M у компании Seattle Computer Products и перенесла её на IBM PC. Итоговым названием получившейся ОС стало MS-DOS 1.0.


IBM PC

Первые продукты с названием Windows от Microsoft не были операционными системами. Это были графические среды для MS-DOS. На фоне успеха, в том числе и коммерческого, пользовательского интерфейса на Apple Lisa, компания решила реализовать графический интерфейс на IBM PC с MS-DOS. В отличии от относительно дешевых IBM PC, Apple Lisa стоили дорого (почти 10 тысяч долларов), и немногие покупатели могли позволить купить их. Microsoft решила занять нишу дешевых компьютеров с графическим интерфейсом. При этом низкая стоимость достигалась экономией на комплектующих и более низкая производительность, по сравнению с Lisa, избежать не получилось. Так, в 1985, 1987 и в 1990 выходят первые три версии Windows 1.0, 2.0 и 3.0. Причем за первые шесть месяцев после релиза Windows 3.0 было продано более 1 миллиона экземпляров. Дальнейшее развитие Windows можно разделить на два направления Windows на базе MS-DOS и Windows на базе NT.


Windows 1.01

Windows 9x


Windows на базе MS-DOS или Windows 9x не были первыми ОС от Microsoft, но они продолжали старые традиции и были построены на основе 16-битного кода MS-DOS. В августе 1995 года была выпущена Windows 95 первая система семейства Windows 9x. Она уже была полноценной операционной системой с соответствующими возможностями. Однако у системы были проблемы с безопасностью (например, не было администратора) и с изоляцией приложений. Зависание 16-битного приложения приводило к блокировке всей системы. Проблемы со стабильностью достались и Windows 98 и Windows ME, которые отличались от выпуска 95 года рядом небольших обновлений.


Windows 95

Windows NT


В целом, к концу 80-х годов в Microsoft появилось понимание о необходимости разработки операционной системы не на базе MS-DOS. Параллельно с разработкой софта, связанного с MS-DOS, Microsoft наняла команду инженеров из компании DEC для разработки новой 32-битной операционной системы. Главой группы стал Дэйв Катлер один из главных разработчиков ОС VMS. Новая система была названа NT от сокращения New Technology. Основной упор при разработке NT делался на безопасность и надежность системы, а также на совместимость с Windows на MS-DOS. Так получилось, что опыт при разработке VMS повлиял на NT и сходство между ними стало причиной спора между DEC и Microsoft. По итогу спор был решен во внесудебном порядке.


Дэйв Катлер

Первая система Windows называлась Windows NT 3.1 и была выпущена в 1993 году. Это была первая ОС от Microsoft. Индекс 3.1 был выбран для соответствия Windows 3.1 на MS-DOS. Эта версия не имела особого успеха. Для NT требовалось больше памяти, 32-разрядных приложений на рынке было мало, возникали проблемы с совместимостью драйвером. Достичь поставленных целей смогли в NT 3.5. А первым серьезным обновлением для NT стала версия 4.0 в 96 году. Теперь эта система была мощна, надежна и безопасна, а также обеспечивала тот же интерфейс, что и Windows 95 (которая к тому моменту была чрезвычайно популярной).


Windows NT 3.1

В 2000 году вышла новая версия Windows Windows 2000. Она развивала идеи, заложенные в системы NT. Был добавлена технология Plug-and-Play, управление электропитанием и улучшен интерфейс пользователя.


Windows 2000

Успех Windows 2000 задал вектор развития для следующего поколения Windows XP. В хрюшке Microsoft улучшила совместимость, интерфейс стал более дружелюбным. Стратегия Microsoft завоевывать аудиторию уже знакомыми системами дала плоды за несколько лет Windows XP была установлена на сотнях миллионах ПК. Эпоха MS-DOS подошла к концу.


Windows XP

Следующий проект Microsoft пал жертвой собственных амбиций. Через пять лет после Windows XP, в 2006 году на свет вышла Windows Vista. В ней был переделан графический интерфейс, переработаны и добавлены функциональные возможности в плане безопасности. Была улучшена производительность, надежность.

Первоначальные планы Microsoft по поводу Vista были настолько обширны, что через несколько лет после начала разработки проект пришлось сильно ограничить. Vista включала в себе 70 миллионов строк кода, часть которого составлял причесанный код XP. Неудача Vista отчасти с тем, что она вышла не в то время. На 2006 год пришелся бум недорогих компьютеров, которые не могли обеспечить достаточную для Vista производительность.


Windows Vista

Проблемы Vista были учтены при разработке Windows 7. Microsoft уделила большее внимание тестированию и производительности новой системы. Windows 7 быстро вытеснила Vista, а затем и XP, став самой популярной версией Windows до появления Windows 10 (сейчас Windows 7 на втором месте по популярности).


Windows 7

Бум смартфонов в начале 2010-х подтолкнул Microsoft к созданию операционной системы, которую можно было бы развернуть на разных устройствах: на телефонах, планшетах, приставках и т. д. В результате этой работы мир узрел Windows 8. Восьмерка построена на модульном подходе MinWin для получения небольшого ядра ОС, которое можно было бы расширить на линейку других типов устройств. Но аудитория встретила холодно такой подход. Многие люди критиковали смартфоноподобный интерфейс на ПК, отсутствие кнопки пуск. Для решения многих проблем Microsoft выпустила обновление под названием Windows 8.1, которая, помимо исправления имеющихся ошибок, добавила новые функции.


Windows 8.1

И вот, к 2015 году Microsoft выпускает Windows 10. При разработке Microsoft продолжала развитие идеи единой системы для разных устройств. В десятке появилась голосовая помощница Кортана, вернули меню Пуск, улучшена системная безопасность.


Технические аспекты


Чтобы осветить все технические аспекты и тонкости операционной системы Windows понадобится не менее 1000 страниц. Для особо любопытных советуем 7-е издание Внутреннего устройства Windows Марка Руссиновича, специалиста по внутреннему устройству Windows. Также можно почитать Современные операционные системы Эндрю Таненбаума и Operating System Concepts: в обеих книгах есть главы, посвященные Windows. Здесь же ограничимся рассмотрением инструментов взаимодействия приложений пользователя с операционной системой (Windows API) и архитектуры оси.

Архитектура


Во многих многопользовательских операционных системах сама ОС отделяется от приложений. Код ядра ОС выполняется в привилегированном режиме процессора (режим ядра). Для него доступны системные данные и оборудование. В непривилегированном режиме (пользовательский режим) выполняется код приложений. Ему предоставляется ограниченный набор интерфейсов и ограниченный доступ к системным данным. Прямой доступ к оборудованию заблокирован. При вызове программой пользовательского режима системной функции процессор выполняет специальную команду, переключающую вызывающий поток (последовательность команд внутри процесса, планируемая Windows для исполнения) в режим ядра. Когда системная функция завершается, операционная система переключает контекст потока обратно в пользовательский режим и дает возможность вызывающей стороне продолжить работу.

Windows считается операционной системой с гибридным ядром. С одной стороны компоненты ядра Windows располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как в микроядерных системах. С другой стороны ядро слишком велико (более 1 Мбайт), а большая часть кода ОС и кода драйверов устройств использует одно защищенное пространство памяти защищенного режима, что свойственно монолитным ОС. Это означает, что в теории любой компонент ОС или драйвер устройства может повредить данные, используемые другими системными компонентами. В Windows эта проблема решается за счет повышения качества и контроля происхождения сторонних драйверов через такие программы, как WHQL или KMCS. Одновременно применяются дополнительные технологии защиты ядра, такие как безопасность на базе виртуализации, функции Device Guard.

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


Упрощенная схема архитектуры Windows

Вторая линия разделяет компоненты режима ядра и гипервизор (Hyper-V). Гипервизор перехватывает многие привилегированные операции, выполняемые ядром, и эмулирует их таким образом, чтобы позволить на одной и той же машине одновременно работать нескольким операционными системам. Гипервизор работает на том же уровне привилегий процессора (0), что и ядро. Но из-за использования специализированных команд процессора (VT-x у процессоров Intel, SVM у АMD) он может изолироваться от ядра с сохранением контроля над ним и приложениями. Поэтому некоторые иногда применяют термин кольцо -1.

Четыре базовых типа процессов пользовательского режима:

  • Пользовательские процессы. Эти процессы относятся к одному из следующих типов: 32- или 64-разрядные приложения Windows (приложения Windows Apps, работающие на базе среды Windows Runtime в Windows 8 и выше, включаются в эту категорию), 16-разрядные приложения Windows 3.1, 16-разрядные приложения MS-DOS, 32- и 64-разрядные приложения POSIX. Заметим, что 16-разрядные приложения могут выполняться только в 32-разрядных версиях Windows, а приложения POSIX в Windows 8 уже не поддерживаются.
  • Процессы служб. В эту категорию входят процессы, являющиеся хостами для служб Windows (например, службы планировщика задач и диспетчер печати). Обычно к службам предъявляется требование независимости выполнения от входа пользователя. Многие серверные приложения Windows (например, Microsoft SQL Server и Microsoft Exchange Server) также включают компоненты, выполняемые как службы.
  • Системные процессы. Фиксированные процессы, такие как процесс входа или диспетчер сеансов, не являются службами Windows. Другими словами, они не запускаются диспетчером служб.
  • Серверные процессы подсистем среды. Такие процессы реализуют часть поддержки среды ОС, предоставляемой пользователю и программисту. Изначально в Windows NT было три подсистемы среды: Windows, POSIX и OS/2. Подсистема OS/2 включалась только до Windows 2000, подсистема POSIX в последний раз была включена в Windows XP.Ultimate- и Enterprise-выпуски клиента Windows 7. Все серверные версии Windows 2008 R2 включают поддержку расширенной подсистемы POSIX, называемой SUA (Subsystem for UNIX-based Applications). Сейчас подсистема SUA не поддерживается и уже не включается как необязательное часть в версии Windows (Windows 10 версии 1607 включает подсистему Windows для Linux WSL, Windows Subsystem for Linux).

Обратим внимание на блок DLL подсистем под блоками Процессы служб и Пользовательские процессы. В Windows пользовательские приложения не вызывают низкоуровневые сервисные функции операционной системы напрямую. Вместо этого они проходят через одну или несколько динамических библиотек (DLL) подсистем. Их роль состоит в том, чтобы преобразовывать документированные функции в соответствующие внутренние (недокументированные) вызовы системных функций, реализованных в основном в Ntdll.dll. Преобразование может включать (а может не включать) отправку сообщения процессу, обслуживающему пользовательский процесс.

Компоненты режима ядра:

  • Исполнительная система. Она содержит базовые сервисные функции ОС: управление памятью, управление процессами и потоками, безопасность, ввод/вывод, сетевая поддержка и межпроцессные коммуникации.
  • Ядро Windows. Низкоуровневые функции ОС: планирование потоков, диспетчеризация прерываний и исключений и многопроцессорная синхронизация. Также ядро предоставляет набор функций и базовых объектов, которые используются исполнительной системой для реализации высокоуровневых конструкций.
  • Драйверы устройств. Сюда входят как драйверы физических устройств, преобразующие вызовы пользовательских функций ввода/вывода в конкретные запросы ввода/вывода к устройству, так и драйверы устройств, не относящихся к физическому оборудованию, например драйверы файловой системы или сетевые драйверы.
  • Слой абстрагирования оборудования (HAL). Прослойка кода, изолирующее ядро, драйверы устройств и прочий исполняемый код Windows от платформенно-зависимых различий в работе оборудования, например различий между системными платами.
  • Оконная и графическая система. Реализация функций графического интерфейса (GUI), также известных как функции GDI: работа с окнами, элементы пользовательского интерфейса и графический вывод.
  • Уровень гипервизора. Включает всего-навсего один компонент: сам гипервизор. В этой среде нет ни драйверов, ни других модулей. При этом сам гипервизор состоит из нескольких внутренних уровней и служб: собственный диспетчер памяти, планировщик виртуальных процессов, управление прерываниями и таймером, функции синхронизации, разделы (экземпляры виртуальных машин) и внутрипроцессные коммуникации (IPC, Inter-Process Communication) и многие другие.

В таблице ниже представлены некоторые файлы некоторых базовых компонентов Windows:

Имя файла Компоненты
Ntoskrnl.exe Исполнительная система и ядро
Hal.dll HAL
Win32k.sys Часть подсистемы Windows режима ядра (GUI)
Hvix64.exe (Intel), Hvax64.exe (AMD) Гипервизор
.sys в \SystemRoot\System32\Drivers Основные файлы драйверов: DirectX, Volume Manager, TCP/IP и поддержка ACPI
Ntdll.dll Внутренние вспомогательные функции и заглушки диспетчеризации системных сервисных функций
Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll Dll основных подсистем Windows

Windows API


Windows API (Application Programming Interface) это программный интерфейс пользовательского режима для Windows. До появления 64-разрядной версии операционной системы программный интерфейс 32-разрядных версий Windows назывался Win32 API в отличие от исходного 16-разрядного Windows API (программный интерфейс для исходных 16-разрядных версий Windows). На данный момент термин Windows API или Win32 API относят как к 32-разрядным, так и к 64-разрядным версиям.

В доисторические времена Windows API состоял только из функций в стиле C. Выбор языка C был обусловлен тем, что написанный на нем код также мог использоваться из других языков. Он являлся достаточно низкоуровневым для предоставления сервиса ОС. Но огромное количество функций в сочетании с недостаточной последовательностью выбора имен и отсутствием логических группировок (вроде пространств имен C++) привели к тому, что в некоторых новых API используется другой механизм модель COM.

COM базируется на двух основных принципах. Во-первых, клиенты взаимодействуют с объектами (серверные объекты COM) через интерфейсы четко определенные контракты с набором логически связанных методов, сгруппированных посредством механизма диспетчеризации по виртуальным таблицам. Такой же механизм, к слову, обычно применяется компиляторами C++ для реализации диспетчеризации виртуальных функций. Таким образом обеспечивается двоичная совместимость и снимаются проблемы с декорированием имен компилятором. Поэтому, такие методы могут вызываться из многих других языков и компиляторов, включая C, C++, VB, языки .NET, Delphi и т. д. Вторым принципом является динамическая загрузка компонентов (вместо статической компоновки с клиентом).

WinRT


В Windows 8 появился новый API и исполнительная среда поддержки Windows Runtime (WinRT). WinRT состоит из платформенных сервисов, предназначенных для разработчиков приложений Windows Apps (приложения Windows Apps подходят для устройств, начиная от миниатюрных IoT-устройств до телефонов, планшетов, десктопных систем, ноутбуков и даже Xbox One и Microsoft HoloLens).

С точки зрения API платформа WinRT строится на базе COM, добавляя в базовую инфраструктуру COM различные расширения. С архитектурной точки зрения она обладает намного большей целостностью: в ней реализованы иерархии пространств имен, последовательная схема назначения имен и паттерны программирования. На базовом двоичном уровне WinRT API все равно строится на основе унаследованных двоичных файлов и API Windows. Это не новый машинный API для системы: ситуация немного напоминает то, как .NET строится на основе традиционного Windows API.

.NET Framework


.NET Framework является частью Windows. Он состоит из двух основных компонентов:

  • CLR (Common Language Runtime). Исполнительная среда .NET, включает JIT-компилятор для преобразования инструкций языка CIL в низкоуровневый язык машинных команд процессора, сборщик мусора, систему проверки типов, безопасность обращения к коду и т. д. Среда реализована в виде внутрипроцессного сервера COM (DLL) и использует различные средства, предоставляемые Windows API.
  • .NET Framework Class Library (FCL). Обширная подборка типов, реализующих функциональность, часто используемую в клиентских и серверных приложениях, средства пользовательского интерфейса, поддержка сети, работа с базами данных и т. д.

На схеме представлены отношения между .NET Framework и ОС Windows:


Отношение между .NET и ОС Windows. Термин сервер COM обычно относится к DLL библиотеке или исполняемому файлу (EXE), в котором реализованы классы COM.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru