Как стать автором
Обновить
4
0
Afanasy Argunov @ooby

developer

Отправить сообщение

Создание простой Roblox игры без особого знания Lua

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.4K

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

Прежде чем мы начнем, вам нужно зарегистрироваться на сайте roblox.com и загрузить Roblox Studio - инструмент, который позволяет создавать игры на платформе Roblox. После установки запустите программу и выберите пустой шаблон для создания новой игры.

Читать далее
Всего голосов 3: ↑4.5 и ↓-1.5+6
Комментарии2

Миллер, Рабин, вектор

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров4.2K

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

У меня давно было желание с ним поиграться, стараясь оптимизировать различными способами. Например, векторизовать и посмотреть, станет ли быстрее.

Читать далее
Всего голосов 23: ↑25.5 и ↓-2.5+28
Комментарии14

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров6.9K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Всего голосов 19: ↑22 и ↓-3+25
Комментарии13

Задача Эйнштейна — большой тест LLM нейросетей на логическое мышление

Время на прочтение28 мин
Количество просмотров3.6K

Я был вдохновлен ранее вышедшей статьей автора MikeMSN - "Задача Эйнштейна. ChatGPT, YaGPT2, Gigachat, Mistral Large" и решил провести большой тест наиболее популярных LLM нейросетей. Использовал для этого сайт Chatbot Arena, а также свой компьютер, на котором можно запустить локальные LLM нейронные сети.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии26

Разбираем самый маленький PNG в мире

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров35K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

В качестве небольшой затравки скажу, что в конце предстоит неожиданный поворот. Хотя, надеюсь, вам и без того интересно побольше узнать о PNG.
Читать дальше →
Всего голосов 140: ↑132 и ↓8+124
Комментарии112

Лабиринты: классификация, генерирование, поиск решений

Время на прочтение44 мин
Количество просмотров81K

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

Классификация лабиринтов


Лабиринты в целом (а значит, и алгоритмы для их создания) можно разбить по семи различным классификациям: размерности, гиперразмерности, топологии, тесселяции, маршрутизации, текстуре и приоритету. Лабиринт может использовать по одному элементу из каждого класса в любом сочетании.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии13

Программирование с использованием PCAP

Время на прочтение16 мин
Количество просмотров34K

Данный текст является переводом статьи Тима Карстенса Programming with pcap 2002 года. В русскоязычном интернете не так много информации по PCAP. Перевод сделан в первую очередь для людей, которым интересна тема захвата трафика, но при этом они плохо владеют английским языком. Под катом, собственно, сам перевод.

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Введение в DPDK: архитектура и принцип работы

Время на прочтение11 мин
Количество просмотров57K
DPDK

За последние несколько лет тема производительности сетевого стека Linux обрела особую актуальность. Это вполне понятно: объёмы передаваемых по сети данных и соответствующие нагрузки растут не по дням, а по часам.

И даже широкое распространение сетевых карт 10GE не решает проблемы: в самом ядре Linux имеется множество «узких мест», которые препятствуют быстрой обработке пакетов.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии14

Автоматическая сегментация дыхательных органов

Время на прочтение8 мин
Количество просмотров7.5K

Ручная сегментация легких занимает около 10 минут и требуется определенная сноровка, чтобы получить такой же качественный результат, как при автоматической сегментации. Автоматическая сегментация занимает около 15 секунд.


Я предполагал, что без нейронной сети удастся получить точность не выше 70%. Также я предполагал, что морфологические операции – это только подготовка изображения к более сложным алгоритмам. Но в результате обработки тех, хоть и немногочисленных 40 образцов томографических данных, что есть на руках, алгоритм выделил легкие без ошибок, причём после теста на первых пяти случаях алгоритм уже не претерпевал значительных изменений и с первого применения правильно отработал на остальных 35 исследованиях без изменения настроек.


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


Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии8

Мета-кластеризация с минимизацией ошибки, и почему я думаю, что так работает мозг

Время на прочтение8 мин
Количество просмотров7.4K
Привет всем! Хочу поделиться с Вами своей идеей машинного обучения.

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

Я подумал, почему бы не попробовать создать что-то похожее на живой мозг. Этакий реинжиниринг. Поскольку у всех животных, несмотря на различия в интеллекте, мозг состоит из примерно одинаковых нейронов, в основе его работы должен лежать какой-то базовый принцип.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии21

Используем Web Bluetooth API для подключения пульсометра и разрабатываем приложение используя Vue.js

Время на прочтение12 мин
Количество просмотров25K

Продолжаем обсуждать темы затронутые на You Gonna Love Frontend конференции. Эта статья вдохновлённая докладом Michaela Lehr. Видео с конференции будут доступны уже на этой недели, пока есть слайды. (Видео уже доступно)


Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии2

Руководство по фоновой работе в Android. Часть 5: Корутины в Котлине

Время на прочтение4 мин
Количество просмотров14K

Остров Котлин

Предыдущие тексты этой серии: про AsyncTask, про Loaders, про Executors и EventBus, про RxJava.

Итак, этот час настал. Это статья, ради которой была написана вся серия: объяснение, как новый подход работает «под капотом». Если вы пока не знаете и того, как им пользоваться, вот для начала полезные ссылки:


А освоившись с корутинами, вы можете задаться вопросом, что позволило Kotlin предоставить эту возможность и как она работает. Прошу заметить, что здесь речь пойдёт только о стадии компиляции: про исполнение можно написать отдельную статью.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

Как использовать USB-камеру с ROS на Raspberry Pi или BeagleBone Blue — для потокового стрима видео на большой компьютер

Время на прочтение3 мин
Количество просмотров18K


Эта инструкция о том как подключить USB-камеру к Raspberry Pi или BeagleBone Blue и использовать ее с ROS (Robot Operating System) — чтобы читать данные с камеры через ROS image_view и даже транслировать видео поток в веб-браузер!

В конце видео демонстрация на роботе EduMip.
Всего голосов 20: ↑20 и ↓0+20
Комментарии13

Пишем свой протокол поверх UDP

Время на прочтение24 мин
Количество просмотров41K
Первые прямые трансляции с места событий появились в России почти 70 лет назад и вели их из передвижной телевизионной станции (ПТС), которая внешне походила на «троллейбус» и позволяла вести эфиры не из студии. А всего лишь три года назад Periscope позволил вместо «троллейбуса» использовать мобильный телефон.

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


Еще через полгода, летом 2016, Одноклассники запустили свое мобильное приложение OK Live для стриминга, в котором постарались решить эти проблемы.

Александр Тоболь отвечает за техническую часть видео в Одноклассниках и на Highload++ 2017 рассказал про то, как писать свой UDP протокол, и зачем это может потребоваться.

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


Говорят, что надо всегда начинать с архитектуры и ТЗ — якобы без этого нельзя! Так и сделаем.
Всего голосов 55: ↑53 и ↓2+51
Комментарии44

Перехват функций в ядре Linux с помощью ftrace

Время на прочтение22 мин
Количество просмотров10K
ниндзя-пингвин,  En3lВ одном проекте, связанном с безопасностью Linux-систем, нам потребовалось перехватывать вызовы важных функций внутри ядра (вроде открытия файлов и запуска процессов) для обеспечения возможности мониторинга активности в системе и превентивного блокирования деятельности подозрительных процессов.

В процессе разработки нам удалось изобрести довольно неплохой подход, позволяющий удобно перехватить любую функцию в ядре по имени и выполнить свой код вокруг её вызовов. Перехватчик можно устанавливать из загружаемого GPL-модуля, без пересборки ядра. Подход поддерживает ядра версий 3.19+ для архитектуры x86_64.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Человек машине помощник

Время на прочтение9 мин
Количество просмотров6.2K
Этот блог обычно посвящен распознаванию автомобильных номеров. Но, работая над этой задачей, мы пришли к интересному решению, которое можно с легкостью применять для очень широкого круга задач компьютерного зрения. Об этом сейчас и расскажем: как делать систему распознавания, которая вас не подведет. А если подведет, то ей можно подсказать, где ошибка, переобучить и иметь уже чуть более надежное решение, чем прежде. Добро пожаловать под кат!


Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии3

МИС. Хранение медицинских данных

Время на прочтение9 мин
Количество просмотров8.1K


Автоматизация… Сегодня уже никого не удивишь этим словом. С каждым годом создается всё больше и больше различных программ и механизмов, призванных помочь человеку в его работе. Одни организации оснащены лучше, другие – хуже, но все без исключения стремятся к сокращению производственных затрат, увеличению прибыли и улучшению качества конечного продукта. Не обошла эта тенденция и область медицины. Вместе с количеством диагностических центров растет и спрос на соответствующее программное обеспечение. В одних центрах используют ЛИС (лабораторная информационная система), в других – РИС (радиологическая информационная система), а третьих во всю эксплуатируют МИС (медицинская информационная система), хотя есть и те, что работают по старинке со всеведущей тётушкой, указывающей тебе – неприкаянному пациенту – в какой кабинет держать свой путь.

Оставим в покое родной бюрократический ад, попортивший крови не одному поколению пациентов, и вернёмся к благу современной медицины – к МИС. Мы хотим рассказать о внутреннем устройстве современной медицинской системы, и эта статья – первая из цикла публикаций на эту тему.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии22

Как я начал любить Vue

Время на прочтение15 мин
Количество просмотров61K

Вступление



Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular.
Рекомендуется к ознакомлению перед прочтением.


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

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии56

Понимая, как используется дисковое пространство в Linux

Время на прочтение11 мин
Количество просмотров49K
Прим перев.: Автор оригинальной статьи — испанский Open Source-энтузиаст nachoparker, развивающий проект NextCloudPlus (ранее известен как NextCloudPi), — делится своими знаниями об устройстве дисковой подсистемы в Linux, делая важные уточнения в ответах на простые, казалось бы, вопросы…

Сколько пространства занимает этот файл на жёстком диске? Сколько свободного места у меня есть? Сколько ещё файлов я смогу вместить в оставшееся пространство?



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

Однако в современных Linux-системах такая интуиция может вводить в заблуждение. Давайте разберёмся, почему.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии16

Небольшое расследование: как YouTube использует WebRTC для стриминга

Время на прочтение6 мин
Количество просмотров8.1K

WebRTC — это JavaScript API в современных браузерах для видеозвонков. А еще для голосовых звонков, шаринга экрана, пробития NAT, раскрытия локального адреса и других интересных штук. В последние пару лет крупные игроки начинают переходить с пропиетарных API и расширений браузеров на WebRTC: с его помощью работает Skype for Web, частично — Hangouts, а теперь и возможности YouTube по броадкасту прямо из браузера. Пока только из хрома и с пятисекундной задержкой — но велика беда начало. Под катом мы предлагаем адаптированный для Хабра перевод детективной истории, где эксперты по WebRTC разбирают код клиентской части YouTube и рассказывают нам что и как сделали разработчики из Гугла.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Якутск, Саха (Якутия), Россия
Зарегистрирован
Активность