Pull to refresh
17
0
Евгений Владимирович Никифоров @UrbanRider

Администрирование windows / linux. Сети. БД.

Send message

В двух словах: Лучшие практики Async/Await в .NET

Reading time11 min
Views38K
В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала.




Async/Await — Введение


Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий себя C# разработчик, должен использовать ее для повышения производительности приложений, общей отзывчивости и разборчивости кода.

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

Ну что ж, давайте углубимся в тему.
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments27

Разработка более быстрых приложений на Vue.js

Reading time14 min
Views24K
JavaScript — это душа современных веб-приложений. Это — главный ингредиент фронтенд-разработки. Существуют различные JavaScript-фреймворки для создания интерфейсов веб-проектов. Vue.js — это один из таких фреймворков, который можно отнести к довольно популярным решениям.

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



В этом материале будет описан процесс создания простого Vue.js-приложения, предназначенного для работы с заметками о неких задачах. Вот репозиторий фронтенда проекта. Вот — репозиторий его бэкенда. Мы, по ходу дела, разберём некоторые мощные возможности Vue.js и вспомогательных инструментов.
Читать дальше →
Total votes 41: ↑32 and ↓9+23
Comments11

Как создать свой датасет с Киркоровым и Фейсом на Яндекс.Толоке

Reading time6 min
Views33K


Нейронными сетями уже никого не удивишь. Практически каждый человек знает, что такое машинное обучение, линейная регрессия, random forest. Каждый год тысячи людей проходят курсы по машинному обучению на ODS и Coursera. Любой школьник за пару недель теперь может освоить keras и клепать нейроночки. Но в нейронных сетях, как и во всем машинном обучении, помимо создания хорошего алгоритма, необходимы данные, на которых алгоритм будет обучаться.

Читать дальше →
Total votes 87: ↑85 and ↓2+83
Comments27

Тренинг Cisco 200-125 CCNA v3.0. День 34. Расширенная концепция VLAN

Reading time14 min
Views7.6K
Мы уже рассматривали локальные сети VLAN в видеоуроках День 11, 12 и 13 и сегодня продолжим их изучение в соответствии с тематикой ICND2. Я записал предыдущее видео, которое ознаменовало окончание подготовки к сдаче экзамена ICND1, несколько месяцев назад и все это время до сегодняшнего дня был очень занят. Думаю, многие из вас успешно сдали этот экзамен, те же, кто отложил тестирование, могут дождаться окончания второй части курса и попробовать сдать комплексный экзамен CCNA 200-125.

Сегодняшним видеоуроком «День 34» мы начинаем тематику курса ICND2. Многие спрашивают меня, почему мы не рассмотрели OSPF и EIGRP. Дело в том, что эти протоколы не включены в тематику курса ICND1 и изучаются при подготовке к сдаче ICND2. С сегодняшнего дня мы начнем охват тем второй части курса и конечно же, изучим проколы OSPF и EIGRP. Перед тем, как начать сегодняшнюю тему, я хочу рассказать о структурировании наших видеоуроков. При изложении тематики ICND1 я не придерживался принятых шаблонов, а просто логически объяснял материал, так как считал, что такой способ легче для понимания. Теперь же, при изучении ICND2, я по просьбам слушателей стану подавать учебный материал в соответствии с учебным планом и программой курса Cisco.
Total votes 15: ↑14 and ↓1+13
Comments0

Написание змейки для Android на Kivy, Python

Reading time21 min
Views21K
Привет!

[UPD от 2021: этот туториал создан исключительно из-за отсутствия нормальных туториалов по теме на момент написания, а не из побуждения научить мир программистов чему-то правильному]

Много людей хотели бы начать программировать на андроид, но Android Studio и Java их отпугивают. Почему? Потому, что это в некотором смысле из пушки по воробьям. «Я лишь хочу сделать змейку, и все!»



Начнем! (бонус в конце)
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments13

Генерация звука на микроконтроллерах AVR методом волновых таблиц с поддержкой полифонии

Reading time12 min
Views32K
Микроконтроллеры AVR довольно дешевы и широко распространены. Наверно, с них начинает почти любой embedded разработчик. А среди любителей правит балом Arduino, сердцем которого обычно является ATmega328p. Наверняка многие задумывались: как можно заставить их звучать?

Если посмотреть на существующие проекты, то они бывают нескольких типов:

  1. Генераторы квадратных импульсов. Генерация с помощью ШИМ или дергать пины в прерываниях. В любом случае, получается очень характерный пищащий звук.
  2. Использование внешнего оборудования типа MP3 декодера.
  3. Использование ШИМ для вывода 8 битного (иногда 16 битного) звука в формате PCM или ADPCM. Поскольку памяти в микроконтроллерах для этого явно не достаточно, то обычно используют SD карту.
  4. Использование ШИМ для генерации звука на основе волновых таблиц, подобных MIDI.

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



Заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments71

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn

Reading time16 min
Views16K
Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры принесла студия Guerrilla Games вместе с игрой Horizon Zero Dawn. Конечно, такие облака умели рендерить и раньше, но студия сформировала что-то вроде промышленного стандарта на исходные ресурсы и используемые алгоритмы, и в настоящее время любая реализация объемных облаков так или иначе этому стандарту соответствует.

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


Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments18

Что на самом деле случилось с исчезнувшим малайзийским Боингом (часть 1/3)

Reading time11 min
Views174K
1. Исчезновение
2. Прибрежный бродяга
3. Золотая жила
4. Заговоры
5. Возможный сценарий
6. Капитан
7. Истина



1. Исчезновение


Тихой лунной ночью 8 марта 2014 года Боинг 777-200ER, эксплуатируемый Malaysia Airlines, вылетел из Куала-Лумпура в 0:42 и повернул в сторону Пекина, поднявшись на предназначенный ему эшелон 350, то есть на высоту 10 650 метров. Обозначение авиакомпании Malaysia Airlines — MH. Номер рейса — 370. Самолетом управлял Фарик Хамид, второй пилот, ему было 27 лет. Это был его последний тренировочный рейс, после которого его ждало завершение сертификации. Действиями Фарика руководил командир воздушного судна, человек по имени Захари Ахмад Шах, который в 53 года был одним из самых старших капитанов в Malaysia Airlines. По малайзийским обычаям, его звали просто Захари. Он был женат и имел троих взрослых детей. Жил в закрытом коттеджном посёлке. Имел два дома. В первом доме у него был установлен авиасимулятор, Microsoft Flight Simulator. Он регулярно летал на нем и часто писал на онлайн-форумах о своем хобби. Фарик относился к Захари с почтением, но тот не злоупотреблял своей властью.

В салоне самолёта находились 10 бортпроводников, все малайзийцы. Им предстояло позаботиться о 227 пассажирах, включая пятерых детей. Большинство пассажиров были китайцами; из числа остальных 38 были малайзийцами, а прочие (в порядке убывания) были гражданами Индонезии, Австралии, Индии, Франции, США, Ирана, Украины, Канады, Новой Зеландии, Нидерландов, России и Тайваня.
Читать дальше →
Total votes 102: ↑90 and ↓12+78
Comments117

Написание шейдеров в Unity. GrabPass, PerRendererData

Reading time9 min
Views28K
Привет! Я хотел бы поделиться опытом написания шейдеров в Unity. Начнем с шейдера искажения пространства (Displacement/Refraction) в 2D, рассмотрим функционал, используемый для его написания (GrabPass, PerRendererData), а также уделим внимание проблемам, которые обязательно возникнут.

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


Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments9

Принцип работы протокола MSTP

Reading time10 min
Views105K
Сегодня поговорим об MSTP. Перед тем, как разбираться с MSTP, надо ознакомиться с протоколами STP и RSTP. MSTP является модификацией RSTP, а значит и STP. Если RSTP это тот же STP, только с более оптимизированной отправкой BPDU и в целом работы STP, то почему надо придумывать MSTP, который работает на основе RSTP? Основная фишка MSTP — это умение работать с VLAN-ми. Некоторые читатели могут сказать — «Подождите, а разве на Cisco pvst+ и rpvst+ не умеют работать с вланами?» RPVST+ и PVST+ просто запускает автономные инстанции RSTP или STP в пределе одного влана. Но тут возникают проблемы:

  • RPVST+ и PVST+ есть только на оборудовании Cisco, а на Cisco нет классического STP и RSTP. Что нам делать, если в топологии участвуют другие вендоры?
  • Каждая инстанция STP и RSTP отправляют каждые две секунды BPDU. Если на транк порте пропускаются 100 вланов, то, значит, будет 100 сообщений в 2 секунды отправляться. Что не слишком хорошо.
  • На Cisco есть ограничение в количестве инстанций STP или RSTP на одном коммутаторе в зависимости от модели. То есть добавив 128 вланов на каком-то коммутаторе, мы сталкнемся с таким ограничением. Ссылка тут
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments18

Открытый вебинар «Асинхронное программирование в Python»

Reading time1 min
Views4.9K
Всем привет!

Андрей Кравчук, преподаватель курса «Разработчик Python», провёл на прошлой неделе открытый урок на тему «Асинхронное программирование в Python», где, собственно, разбирались с организацией асинхронной обработки данных под высоконагруженные системы.


Как всегда ждём комментарии и вопросы здесь или можно зайти с ними к нам на день открытых дверей.
Total votes 12: ↑10 and ↓2+8
Comments1

Простая работа со Steamworks

Reading time9 min
Views42K


Unity, C#, Steamworks.NET и Facepunch.Steamworks


Введение


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

Как и большинству инди-разработчиков игр, мне не хватает доступа к ресурсам/знаниям, которые дали бы мне чётко понять, что же действительно значит «быть в Steam».

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

Поэтому я решил написать высокоуровневый обзор для людей, которые только начинают разбираться в том, как заставить Steam работать с их играми. В частности, я подробно рассмотрю Steamworks SDK, программную библиотеку Valve, предоставляющую доступ к таким аспектам, как мастерская (Workshop), таблицы лидеров (Leaderboards), достижения (Achievements) и так далее.

Steamworks хорошо задокументирована компанией Valve, но документация написана с точки зрения человека, использующего нативную библиотеку C++ и уже имеющего представление о том, как все эти функции пересекаются. Если это не ваш случай, то так даже лучше! Ниже представлено объяснение для другого человека, который пишет игру на языке более высокого уровня и просто хочет обеспечить простую интеграцию со Steamworks (а это возможно, я гарантирую!). Конкретнее, этот пост предназначен для людей, использующих в той или иной форме C#, а в идеале — работающих в игровом движке Unity.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments2

Применение PowerShell для ИТ-безопасности. Часть II: анализ доступа к файлам

Reading time7 min
Views11K
При работе над этой серией статей я почти поверил, что с PowerShell у нас появилась технология, которая непонятным образом попала к нам из будущего. Помните сериал «Звездный путь» — оригинальный, конечно же, — когда старший офицер звездолета «Энтерпрайз» Спок смотрел в свой визор, сканируя парсеки космоса? На самом деле Спок разглядывал результаты работы одобренного Звездным флотом скрипта PowerShell.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments1

Генерация лабиринта алгоритмом Эллера в Unity

Reading time4 min
Views23K
Всем привет!

Сегодня хотелось бы рассказать о том, как генерировать лабиринты алгоритмом Эллера, и о том, как сделать красивую 3д визуализацию в Unity, чтобы потом использовать её в своих играх. Также немного рассказать о том, как можно настроить пост обработку внутри данного решения. И по традиции ссылка GitHub с самим генератором.


Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments8

Спидометр/одометр на ИН14

Reading time5 min
Views23K

Доброго времени суток!
В очередной раз напало творчество. Решил обновить старый спидометр в боевом танке ВАЗ 2121. Сделав ревизию закромов, нашёл 3 штуки ИН14. Для часов — мало, для термометра — много. Ни туда — ни сюда. В спидометр — самое то.
Подробности
Total votes 49: ↑49 and ↓0+49
Comments72

Преимущества стекирования Juniper

Reading time8 min
Views20K
Часть 1. Технология виртуального шасси

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

Часть 1. Virtual Chassis



Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments11

Щелевая съёмка: реализация на bash (ffmpeg + imagemagick)

Reading time3 min
Views26K
Не помню что и почему я искал в интернете несколько дней назад, но я наткнулся на интересную статью с необычными фотографиями. А позже на еще одну статью, где описывалась реализация алгоритма создания таких фотографий на python. После прочтения меня заинтересовала эта тема и я решил провести вечера майских праздников с пользой для себя, а именно реализовать алгоритм «конвертирования» видео в щелевое фото. Правда, не на питоне, но подручными средствами на bash'е. Но обо всем по порядку.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments56

Различные опыты с приемом и передачей радиосигналов в ПЛИС

Reading time3 min
Views17K

Поскольку сегодня, 7-го мая, мы отмечаем День Радио, то позвольте представить вашему вниманию серию проектов для FPGA плат, которые были выполнены мной в разное время, но так или иначе связаны с радио. На этом видео выше есть демонстрация маленького чуда — сеанс радиосвязи на столе. Две одинаковые платы с ПЛИС служат одна передатчиком, а другая радиоприемником.
Далее расскажу, как я это сделал.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments6

Да, вы можете запускать десктопные Linux приложения под Windows 10

Reading time2 min
Views56K


Сообщение корпорации Microsoft о нативной поддержке Bash on Ubuntu в среде Windows 10 наделало много шума. При этом компания решила не растягивать удовольствие ожидания для пользователей своей ОС, и выпустила Windows 10 Insider Preview Build 14316 с интегрированным Ubuntu спустя всего несколько дней после анонса. Полноценное крупное обновление Windows 10 с новой возможностью будет выпущено летом, а пока можно изучить возможности системы в превью билде.

Пользователи, которые опробовали новинку, сообщают, что все действительно работает. При этом возник вопрос — можно работать только в командной строке, или же есть какой-то способ запустить десктопное приложение с графическим интерфейсом? После проверки у ряда пользователей получилось запустить кое-какие десктопные Linux приложения. Официально заявляется, что такой возможности нет, но пользователь Reddit с ником w2qw нашел способ запуска «иксов» в Windows 10, что открывает возможность установки и работы с VIM и Firefox.
Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments90
1
23 ...

Information

Rating
Does not participate
Location
Сочи, Краснодарский край, Россия
Date of birth
Registered
Activity