Search
Write a publication
Pull to refresh
4
0
Send message

Создаем CLI-приложение с помощью React.js

Reading time7 min
Views8.7K

Приложения с интерфейсом в виде командной строки (Command-Line Interface — CLI) стали популярными в экосистеме разработчиков по целому ряду причин. Самые банальные из них — это простота использования (CLI) и то, что многие важнейшие инструменты разработки представляют из себя терминальные приложения или предоставляют интерфейс командной строки, и многие разработчики уже к ним привыкли.

Читать далее

Вычисляем на видеокартах. Технология OpenCL. Часть 1b. Пишем для OpenCL

Reading time9 min
Views12K
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



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


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

У программы для OpenCL есть две части: kernel-код и host-код — то, что выполняется на видеокарте, и то, что выполняется на компьютере. Кроме того, программу нужно скомпилировать и запустить. Всё это будет рассмотрено в сегодняшней статье. Начнём с самого интересного — напишем часть kernel.

В предыдущих сериях


Прежде чем начать, напомним основные термины из предыдущей части.
Читать дальше →

Разделяй и властвуй: детерминированный и скриптованный Match-3 движок

Reading time11 min
Views7.8K

Привет! Я Павел Щеваев, CTO студии BIT.GAMES, части MY.GAMES. Вы можете знать нас по таким играм, как «Гильдия Героев» и «Домовята» в Одноклассниках (да, это тоже были мы), а также по нашему текущему флагману Storyngton Hall — это классическая три-в-ряд с сюжетом в викторианском стиле. О нем-то и пойдет речь далее.

Когда я писал про тестовую ферму из Android-устройств, я не раз упоминал наш самописный детерминированный движок Match-3, благодаря которому и возникла возможность повсеместного покрытия игры тестами без ущерба для жизни и здоровья QA-команды.

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

Читать далее

Процедурная генерация бумажных снежинок

Reading time16 min
Views23K

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

Читать далее

Как компьютеры рисуют странные формы: метаболы, marching squares, электрические поля

Reading time15 min
Views8.1K

Пару месяцев назад я наткнулся на очень красивые анимации. В основе этих анимаций лежат несколько простых окружностей, но выделяет их то, насколько органично они сливаются друг с другом. Мне стало любопытно, как это работает, и моё исследование оказалось гораздо интереснее, чем я ожидал. Выяснилось, что соединяющиеся друг с другом круглые объекты называются метаболами (metaballs) и с ними связано множество математических и вычислительных понятий. Если вы в чём-то похожи на меня, то посмотрев на эти анимации, вы бы сразу задались вопросом, как подойти к решению такой задачи. Допустим, нам поручили разобраться с тем, как генерировать метаболы. Как сформулировать эту задачу? Что означает возможность органичного слияния окружностей? Как компьютер рендерит нечто подобное на экране? Всё это очень сложные вопросы.

В этой статье мы совершим путешествие и узнаем, как люди решают эту задачу. Базовый алгоритм, играющий неотъемлемую роль в генерации таких анимаций, называется marching squares. Он используется во многих сферах графики, а также медицинской визуализации. Но каким бы полезным ни был алгоритм, самым важным в нашем путешествии будет то, насколько изящен этот подход при решении подобной задачи. Есть истинная красота в том, что мы берём расплывчатую задачу и преобразуем её в конкретный решаемый вид. Главная цель этой статьи — дать вам ощущение радости при исследовании смены точек зрения, превращающих подобные сложные задачи в решаемые.
Читать дальше →

Хабр… не такой уж и токсичный? Сравнение с другими площадками

Reading time4 min
Views36K


Пожалуйста, не спешите сразу закрывать или идти в комментарии. Выслушайте, буду краток. Нет, я не считаю, что Хабр движется в правильном направлении в целом. Но в современных реалиях я считаю, что по сравнению с прочими ресурсами с хоть какой-то похожей аудиторией Хабр не такой уж и токсичный. Грубо говоря — интернет "испортился", Хабр тоже, но в меньшей степени.


Недавно я попробовал примерить на себя роль автора контента сразу на нескольких площадках и естественно разложить их модели на составляющие и сравнить их с Хабром. За деталями прошу под кат.


Заранее прошу всех уважать друг друга в комментариях, тема дискуссионная.

и почему же?

Стоит ли подружить QA и разработку с помощью практики хранения тестов в коде?

Reading time6 min
Views3.1K

Заводить тест-кейсы руками в тестохранилищах — долго и скучно. Но ведь есть еще много юнит-тестов, которые пишут разработчики. И не всегда понятно, что они покрывают и как пересекаются с E2E-тестами. Head of QA в Авито, Александр Матвеев, на Test Driven Conf расскажет о том, как можно комплексно решить эти две проблемы.

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

Читать далее

Как общаться в проприетарном зоопарке или проблема совместимости медицинских устройств

Reading time9 min
Views4.9K

Проблема совместимости медицинских устройств

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

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

Читать далее

Как сегодня делают игры в браузере? Часть 2

Reading time3 min
Views2.7K

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

Как вообще-то передвигать персонажа (который есть набор отдельных 3D-объектов) в пространстве? Я уже рассказывал ранее в 4 шаге о том, об объединении объектов в группу. Еще раз: вы можете перемещать группу с линейной скоростью; в сумме с подходящей анимацией это будет выглядеть как ходьба или бег, в зависимости от вашей задумки.

Читать далее

Видеокарта на дискретной логике

Reading time8 min
Views24K

Всем привет. Эта третья статья про мой самодельный компьютер на логических микросхемах. Как вы догадались из названия, речь пойдет о видеокарте. Видеокарта – это, на мой вкус, лучшая часть этого проекта. Да, процессор – это интересно и круто, но всё же в нем много компромиссных решений. В видеокарте компромиссов почти нет. И рабочая частота у нее 25,175 МГц – это не жалкие 1,5 МГц у процессора.

Читать далее

Блокчейн на C# (.Net Core 3.1), Часть 0

Reading time5 min
Views19K

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

под кат

Как сегодня делают игры в браузере? Часть 1

Reading time4 min
Views8.8K

Игра в браузере на React и Three.js!

Я занимаюсь фронтендом уже очень давно, порядка 10 лет. И как любой уважающий себя фронтендер, я люблю тащить javascript туда, где обычно его не используют: на сервер, в мобильные приложения, в геймдев. С тех пор как я увидел первые WebGL демосцены в 2013-м, я мечтал сделать что-то похожее, скажем, на это.

Так что я провел немало времени экспериментируя и читая документацию, и вот что у меня получилось.

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

Читать далее

Африка почти не пострадала от COVID. Ученые не могут понять, почему

Reading time6 min
Views79K


Смертность от пандемии в странах Африки к югу от Сахары (т.н. «Черная Африка») — остается заметно ниже по сравнению с Америками, Европой и Азией.


Взять Зимбабве. Страну с населением 16 млн человек. За счет благотворительных организаций она сделала не так уж и мало тестов: 1,6 млн. При этом по количеству смертей от ковида на 1 млн человек — они на 128 месте в мире. То есть, ситуация хуже, чем в Японии или Сингапуре, но намного лучше, чем в Канаде, Турции, Армении или Монако. И почти в 20 раз лучше, чем у стран-рекордсменов по смертям (Перу, Болгария).


Самые «ковидные» страны континента — это более развитые ЮАР (со своим южноафриканским штаммом), Марокко, Египет, Ливия и Тунис. На них приходится 18% населения (217 млн из 1,2 млрд), но почти треть случаев заражений, и большинство смертей. Почему так? Ученые до сих пор бьются над этим вопросом, но несколько последних исследований позволяют прийти к довольно странному выводу…

Читать дальше →

Подшивка газеты «Комсомольская правда» за 1941—1945 годы опубликована на Викискладе по свободной лицензии

Reading time5 min
Views7.4K

21 ноября военная подшивка газеты «Комсомольская правда» появилась в интернете на сайте Викисклад — в фотобанке, который обслуживает Википедию и другие проекты фонда «Викимедиа». Выпуски с 22 июня 1941 года по 9 мая 1945 года переданы в свободный доступ. Их можно использовать по лицензии «Creative Commons Attribution ShareAlike». Читайте подробности в интервью, которое дал нам Станислав Козловский.

Нажимая на кнопку, вы соглашаетесь читать!

Проект под кодовым названием: «Бульболёт». Часть 1. Погружение в MPU6050 (или нет)

Reading time7 min
Views21K

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

С начало я изучил основы, а именно посмотрел что там придумали китайцы, а придумали они "полётные контролеры" в основу которых входит микроконтроллер (в основном STM32), гироскоп, барометр и т.д. В принципе, подумал я, всё выглядит довольно просто, значит можно повторить.

И так мой путь начался с выбора начинки нашего "полётника". В основу я выбрал микроконтроллер STM32F103C8T6, расположенный на распаянной плате (blue pil)в периферию: микросхему MPU6050 (3 осевой гироскоп и акселерометр) разведенную на плате под кодовым названием (GY-521), BMP280 (датчик давления), HMC5883L (3-осевой цифровой компас) распаянный на плате (модуль GY-273). Для передачи и приёма я использую MRF49XA (трансивер). В последствии всё будет выпаяно и припаяно по месту назначению, а пока ограничимся макетной платой.

И так начнём, для работы с камнем я буду использовать STM32CubeMX (библиотека HAL), а для редактирования прослойки будем юзать STM32CubeIDE. Почему именно эти проги, во-первых, они официальные с поддержкой STM, во-вторых, имеют привлекательный и понятный интерфейс, а как же большое обилие примеров для изучения. Для дебагинга я использую USART, но в иделае надо бы юзать ST LINK (поэтому не экономим и берём вместе с blue pil-ом).

Занырнуть

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Reading time8 min
Views71K

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.

Читать далее

Это птица? Это самолет? Нет, это электронный носодрон

Reading time10 min
Views2.4K


Жители больших городов прекрасно знают, что чистый воздух найти в мегаполисе порой сложнее, чем купить выигрышный билет. Автомобили, заводы, стройки и, конечно же, канализационные очистные сооружения (КОС) вносят свой вклад в спектр малоприятных ароматов, окружающих горожан. Чтобы запах сточных вод не накрыл всех жителей близлежащих районов, на КОС станциях периодически выполняется проверка степени «благоухания». Но она требует сложного и дорогого оборудования. Посему ученые из института биоинженерии Каталонии (Испания) разработали портативное устройство, способное собирать и анализировать состояние атмосферы. Какой принцип работы электронного носа, какие именно данные он может собирать, и как он показал себя на практике? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →

Создал дом Симпсонов в 3D

Reading time8 min
Views9.4K

Всем привет это Денис Вебер.

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

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

Читать далее

«Выстрелить и забыть» в Cats Effect

Reading time6 min
Views2.8K

Последнее время меня часто спрашивают о паттерне "fire-and-forget": как его применить в Cats Effect и какие потенциальные проблемы могут возникнуть. Поэтому я решил написать небольшой пост. Надеюсь, вам понравится!

Подробнее о Cats Effect и конкурентности читайте в моей книге Essential Effects.

Читать далее

Компактный сгусток знания — систематика растений

Reading time18 min
Views4.4K

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

Читать далее

Information

Rating
Does not participate
Registered
Activity