[DotNetBook]: Span, Memory и ReadOnlyMemory

Автор: admin от 13-08-2018, 15:05, посмотрело: 18

[DotNetBook]: Span, Memory и ReadOnlyMemory Этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат.



Memory и ReadOnlyMemory



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



Эта статья — вторая из цикла про Span и Memory. Она является вводной для Memory в том плане что здесь я решил расписать общую терминилогию, а вот примеры совместного использования — решил вывести в отдельную статью


  • Span: новый тип данных .NET

  • Span и ReadOnlyMemory

  • Практика использования Span и Memory



Категория: Программирование

 

Клиент-серверное взаимодействие в новом мобильном PvP-шутере и устройство игрового сервера: проблемы и решения

Автор: admin от 13-08-2018, 12:50, посмотрело: 24

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



Клиент-серверное взаимодействие в новом мобильном PvP-шутере и устройство игрового сервера: проблемы и решения

Категория: Веб-разработка, Game Development

 

Безопасность Bluetooth по NIST

Автор: admin от 13-08-2018, 12:10, посмотрело: 50

В настоящее время Bluetooth переживает возрождение. Этому способствует развитие IoT, отсутствие выхода под наушники в современных смартфонах, а также популярные bluetooth-колонки, беспроводные мыши /клавиатуры, гарнитуры и прочее. Мы решили посмотреть, какие рекомендации по безопасности представлены в стандарте NIST для Bluetooth.



Безопасность Bluetooth по NIST
Почему «синий зуб»? Название Bluetooth появилось от прозвища короля викингов Харальда I Синезубого, который правил в X веке Данией и частью Норвегии. За время своего правления он объединил враждовавшие датские племена в единое королевство. По аналогии Bluetooth тоже объединяет, только не земли, а протоколы связи.

Категория: Гаджеты

 

Автономные дроны будут отгонять стаи птиц от аэропортов

Автор: admin от 13-08-2018, 12:10, посмотрело: 24

Автономные дроны будут отгонять стаи птиц от аэропортов


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



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

Категория: Гаджеты

 

Искусство подбирать чужие пароли

Автор: admin от 13-08-2018, 12:05, посмотрело: 33

В культовом фильме начала двухтысячных «Рыба-меч» талантливому хакеру необходимо подобрать пароль в течение одной минуты. В этом ему помогает приятель, который заботливо держит пистолет у виска и темпераментная блондинка, прячущаяся под столом. Что делать, если таких друзей поблизости нет, а пароль подобрать необходимо? Например, в ходе тестирования на проникновение…



Искусство подбирать чужие пароли

Небольшое, но важное предупреждение: если предлагаемым в статье подходом пользоваться не в рамках проектов по тестированию защищенности, то ваши действия легко могут подпасть под статью 272 УК РФ (Неправомерный доступ к компьютерной информации).

Категория: Программирование

 

Поиск по MAC-адресу на коммутаторах Juniper

Автор: admin от 13-08-2018, 12:05, посмотрело: 21

В локальной сети часто нужно узнать, на каком порту коммутатора находится определенный MAC-адрес устройства. Задача решается легко, если в сети несколько коммутаторов, но, когда их больше 30, всё значительно усложняется. Хочу поделиться небольшим скриптом на Python, который ищет нужный MAC-адрес в сети и возвращает имя и порт коммутатора, на котором зарегистрирован этот MAC.



Поиск по MAC-адресу на коммутаторах Juniper


Конструктивная критика приветствуется. Подробности под катом.

Категория: Программирование

 

Cохранение состояний в android приложениях

Автор: admin от 13-08-2018, 12:00, посмотрело: 20

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



Cохранение состояний в android приложениях



Сколько боли он нам принес.

Категория: Android

 

Непрофессиональное видеонаблюдение квартиры занятно и недорого

Автор: admin от 13-08-2018, 11:55, посмотрело: 21

Непрофессиональное видеонаблюдение квартиры занятно и недорого С момента как у меня в квартире на страже появилась GSM сигнализация, появилась мысль о том, что неплохо бы иметь в мое отсутствие в квартире и «глаза» в случае срабатывания датчиков сигнализации (а может срабатывание ложное?). Поскольку я инженер в области информационных технологий, ни о каком профессиональном решении в виде регистратора и кучи камер речь не шла — только все сам, своими руками. Бюджет тоже сразу было решено обнулить ограничить, а в случае успешности проекта уже думать о его дальнейшем улучшении и модернизации.

Категория: Программирование

 

Собеседование по TypeScript: 20 вопросов и ответов

Автор: admin от 13-08-2018, 10:15, посмотрело: 20

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



TypeScript-программа компилируется в обычный javascript-код, который может выполняться в любом браузере или в среде Node.js. Этот код будет понятен любому JS-движку, который поддерживает стандарт ECMAScript 3 или более новый.



Собеседование по TypeScript: 20 вопросов и ответов



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

Категория: Веб-разработка

 

[DotNetBook] Исключения: архитектура системы типов

Автор: admin от 13-08-2018, 06:45, посмотрело: 23

[DotNetBook] Исключения: архитектура системы типов С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат.



Архитектура исключительной ситуации



Наверное, один из самых важных вопросов, который касается темы исключений — это вопрос построения архитектуры исключений в вашем приложении. Этот вопрос интересен по многим причинам. Как по мне так основная — это видимая простота, с которой не всегда очевидно, что делать. Это свойство присуще всем базовым конструкциям, которые используются повсеместно: это и IEnumerable, и IDisposable и IObservable и прочие-прочие. С одной стороны, своей простотой они манят, вовлекают в использование себя в самых разных ситуациях. А с другой стороны, они полны омутов и бродов, из которых, не зная, как иной раз и не выбраться вовсе. И, возможно, глядя на будущий объем у вас созрел вопрос: так что же такого в исключительных ситуациях?

Категория: Программирование