Архив за 01 января 1970

Вступление

Привет! В среде .NET есть компонент Graphics. Он позволяет рисовать в .NET форме.
Сегодня я расскажу о создании игры Пинг-Понг на C#.

Для начала немного истории о самой игре. Игра был сделана компанией Atari в 1972 году.
Цель игрока отбивать мяч и не промахнуться.

image
Читать полностью »

Подключение 2 HTC Vive к одному компьютеру. Пошаговая инструкция - 1

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

Данный способ скорее всего сработает и под другие VR гарнитуры, такие как Oculus или WMR, однако тестировалось всё на Vive.

Данный способ также сработает под 3 и более гарнитуры, если характеристики железа будут позволять.
Читать полностью »

На работе потребовалось сделать маленький проект на asp.net MVC и в нем необходимо обрабатывать Excel файлы и отдавать информацию в этом же формате. Причем нужно бесплатное решение. На хабре нашел пример с OpenXML, но мне данное решение показалось сложным.

В итоге посмотрел различные варианты (от csv файла до генерации xml) и больше всего приглянулся вариант с ClosedXML.

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

Продолжаю цикл статей по анализу продукта (начало)

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

Теперь общая схема анализа выглядит так:

Погружаемся в динамику клиентской базы: когортный анализ и анализ потоков - 1

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

Читать полностью »

Введение


Здравствуйте. Этот мини гайд для тех, кто хочет настроить подсветку Brackets (скобочек), как, например, в notepad++, при этом не используя сторонних плагинов.

image

Для этого нам понадобится сам Sublime Text 3, программа-архиватор, официальная документация.
Читать полностью »

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

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

Сразу оговорюсь, что с автором я полностью согласен и всего лишь хотел бы добавить свои «три копейки». Сначала думал сделать это прямо в комментах под статьей, но быстро понял, что «копейки» получаются довольно объемные. Так и родился этот текст.
Читать полностью »

Пример из практики. Понадобилось разобрать вот такие строки из 0 и 1, что на фото 1 в ячейке A2.

image

Это кусочки BMP, что, впрочем, неважно.

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

Для данного примера нужно было получить на выходе 1 2 1 2 7.

Можно было начать с распределения символов по столбцам, использовав штатную Экселевскую приблуду Данные/Текст по столбцам. Однако, это требует ручной установки 31 разделителя, что, конечно же, влом. Хотелось, чтобы было так: загрузил на лист кучку байт и сразу получил результат.

Поэтому пришлось нагородить набор костыликов.

В ячейке B2 избавился от лишних нулей формулой СЖПРОБЕЛЫ. Предварительно пришлось нули заменить на пробелы формулой ПОДСТАВИТЬ, а после сжатия вернуть их на место этой же формулой.

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

В D2 — формула (видна на фото 2).

image

Находит позицию первого нуля. В E2 — второго и т.д. Как видим, в сжатой последовательности (B2) первый ноль — в позиции 2, второй — в 5-й, третий — в 7-й и 4-й ноль — в 10-й. В последовательности всего 4 нуля, и поэтому в H2 отобразилась бы ошибка #ЗНАЧ, если бы не обработка этой ошибки формулой ЕСЛИОШИБКА. Она заменяет #ЗНАЧ на 99. «Почему 99?» — вы можете спросить. Это число нам понадобится в дальнейших расчетах, терпение.
Читать полностью »

Мне кажется, почти каждый кто сталкивался с linux и его обитателями встречал команду
sudo rm -rf /* .

Те, кто не видел и не знает — поясню:
Читать полностью »

1. Стриминг в браузеры в реальном времени – решения нет. Или есть?

Вот уже примерно как 20 лет пропускная способность сетей и вычислительные возможности компьютеров позволяют сжатие и транслирование звука и видео по IP протоколу в режиме, близком к реальному времени. За это время центральными стандартизирующими организациями, такими как W3C и IETF, а также множеством больших и малых компаний, разработаны сотни стандартов и протоколов для эффективного сжатия, упаковывания, пересылки, синхронизации и проигрывания аудио-видео контента на компьютерах и мобильных устройствах. Видеозахвату, сжатию и трансляции по IP в реальном времени было уделено особое внимание, так как, во-первых, именно IP наиболее дёшев и общедоступен на всех уровнях, а во-вторых, технологии видеоконференций и видеонаблюдения жизненно необходимы и пользуются огромным спросом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js