Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга

Нейронка для нейротоксинов

Научно-популярное Химия Машинное обучение *

В феврале прошлого года я впервые обращался к теме прогнозирования новых химических соединений методами глубокого обучения — когда опубликовал перевод об инструменте FermiNet. Такие исследования, находящиеся на стыке физики, химии, биоинформатики и фармакологии, призваны смоделировать потенциально возможные химические связи и конфигурации молекул. Так можно одновременно удешевить и значительно ускорить разработку новых лекарств. Также я затрагивал эту тему в статье о выращивании кристаллов, но в несколько ином аспекте: гравитация вносит коррективы в форму молекул, поэтому некоторые конфигурации молекул быстро «сминаются». Эта проблема остро стоит при производстве баснословно дорогих препаратов (прежде всего, противораковых), терапевтический эффект которых заключается в поддержании строго определенной формы молекул, блокирующих патологические биохимические процессы. Если бы мы могли поставить на поток производство филигранных молекул (в частности, ферментов), блокирующих работу определенных белков, это преобразило фармакологию, в значительной степени ее персонализировав. Но у такой линии исследований есть и обратная сторона: она открывает путь к созданию чрезвычайно токсичных и цепких веществ, которые было бы практически невозможно «выковырять» из биохимического аппарата, если они там окажутся.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 57
Комментарии 0

Новости

Reactive Spring Cloud Gateway: конвейер WebSocket в Restful и обратно

Анализ и проектирование систем *Разработка мобильных приложений *Сетевые технологии *Kotlin *

Spring Cloud Gateway официально служит следующим целям: слоем безопасности, маршрутизатором, балансировщиком, провайдером протоколов сжатия. Gateway ничего не знает о передаваемых данных и тем более о бизнес-логике – это инфраструктурный сервис.

Связь Gateway с WebSocket обуславливает здравый смысл. Если перенести логику WebSocket в Gateway, то при высоких нагрузках потребуется ненамного увеличить количество подов с одной стороны, а с другой если через WebSocket работают не только браузеры, но и мобильные приложения – то такой подход становится естественным.

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

Читать далее
Рейтинг 0
Просмотры 162
Комментарии 0

4K Ultra HD в проекторах с технологией Pixel Shifting. Правда или маркетинг?

Гаджеты Видеотехника Мониторы и ТВ

Разрешение 4K Ultra HD уже давно превратилось из некой экзотики для энтузиастов в обычный повседневный формат изображения, и трудно найти в продаже телевизоры и мониторы с Full-HD матрицей. На этой волне несколько лет назад начали появляться относительно недорогие китайские проекторы с технологией Pixel Shifting, которые, имея нативную матрицу 1920-1080px, могли путем быстрого сдвига пикселей воспроизводить разрешение 3840-2160px. В этой статье мы разберемся насколько хорошо они справляются с этой задачей и не водят ли нас маркетологи за нос, пытаясь продать кота в мешке.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 456
Комментарии 0

Сложение векторов со скоростью 154 Гб/с на WebAssembly

Блог компании SkillFactory JavaScript *Программирование *C++ *WebAssembly *
Перевод

Автор ускорил сложение векторов до ~12 000 000 сложений 1024-мерных векторов в секунду. Делимся подробностями и представляем генератор WASM из С++ от автора статьи к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 559
Комментарии 2

Рыцарь Машинной Графики

Программирование *Работа с векторной графикой *Компьютерная анимация *История IT

Эта статья не относится к жанру официозных юбилейных публикаций. Скорее – это небольшой,  очень личный, не совсем упорядоченный и причёсанный набор воспоминаний и раздумий о пути, пройденном Машинной Графикой в в СССР и о человеке, посвятившему ей всю свою жизнь - докторе технических наук, лауреате Государственной Премии СССР, Викторе Алексеевиче Дебелове.

Уверен, что Виктора Алексеевича, учитывая его колоссальный вклад в становление советской Машинной Графики,  без особой натяжки можно было бы назвать одним из её основоположников в СССР.
Но… зная его скромность и пренебрежительное отношение к почестям и наградам, позволю себе «наградить» его в этом рассказе званием, которого он безусловно заслуживает – Рыцарь Машинной Графики.

Читать далее
Всего голосов 29: ↑29 и ↓0 +29
Просмотры 1.5K
Комментарии 0

Введение в $mol. Часть 1. Модульная система

Разработка веб-сайтов *JavaScript *Системы сборки *TypeScript *
Tutorial

Эта статья открывает серию публикаций по обучению фреймворку $mol. Сегодня мы разберемся в модульной системе MAM. Речь пойдет об организации кода, отделении его от инфраструктуры, сборке, версионировании, нейминге, минимизации размера бандла, автоматическом выкачивании зависимостей, фрактальных моно-поли-репозиториях, разделении кода на платформы, альтернативе импортам/экспортам, автоматическом разруливании циклических зависимостей.

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Просмотры 1.5K
Комментарии 5

Как мы думаем? Вступление к курсу о когнитивных искажениях

Читальный зал Научно-популярное

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

Как происходит процесс мышления, и почему в нём появляются ошибки?

Представь, что кто-то описывает тебе своего знакомого: «Сергею 35 лет. Он высокий, в хорошей физической форме, сильный и ловкий. Хорошо водит машину и любит быструю езду, занимается экстремальными видами спорта. Из особых примет — шрам на руке».

На твой взгляд, более вероятно, что Сергей каскадёр или что Сергей бухгалтер?

Пожалуйста, ответь на этот вопрос, прежде чем читать далее.

Узнать правильный ответ (и не только)
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 946
Комментарии 3

Фиалку поливать не нужно

Программирование микроконтроллеров *Производство и разработка электроники *Гаджеты 3D-принтеры DIY или Сделай сам

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

- Возьмешь фиалку? Марина выращивает, не везти же их все с собой. Мы их всем друзьям раздаем.

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

- Эту фиалку поливать не нужно.

Он принес из комнаты цветок, и я был вынужден признать верность его заявления. Фиалка имела «систему автополива». Растение было посажено в маленький горшок, который помещался в большой пластиковый стакан, вроде бы из под кваса. Из горшка спускалась веревочка, через которую и поступала необходимая для жизни влага. Таким образом, залив один раз пол литра, можно было не беспокоиться о цветке несколько месяцев. Фиалку я взял.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 4K
Комментарии 2

«Синхронизируй это»: компактный обзор примечательных решений и протоколов для передачи звука по Ethernet

Блог компании Аудиомания IT-стандарты *Звук

На неделе один из участников Hacker News запустил тематический тред с целью узнать, как «связать» компьютер, колонки и другую акустику в единую звуковую систему.

Мы решили рассмотреть несколько стандартов, которые используют музыканты в студиях, а также open source решения, доступные для развертки любому аудиоману.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 984
Комментарии 1

ЧудESA защиты корпоративной почты или внедрение свободных почтовых шлюзов на базе Proxmox Mail Gateway

Спам и антиспам Open source *Системное администрирование *

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1K
Комментарии 2

Дайджест интересных материалов для мобильного разработчика #440 (18 — 24 апреля)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашем дайджесте снова стейт-машины и исходники Telegram, собственный 3D движок и KMM, чтение кода, пространственная логика, ностальгия Waze и многое другое!

Читать дальше →
Рейтинг 0
Просмотры 485
Комментарии 0

PHP фреймворк отечественной разработки

PHP *
Из песочницы

Друзья, всем пример. Меня зовут Макс и я хочу познакомить вас с IsEngine framework.

Это новый фреймворк отечественной разработки для простого и быстрого создания web-приложений.

Я занимаюсь его разработкой в течение последних 5 лет. Сейчас готовлю его к релизу, и поэтому начинаю продвигать.

Чтобы понять любой продукт, вообще любую систему, нужно понимать, какие задачи она решает. И здесь самый первый и самый главный вопрос - это для кого она создана. Для программистов? Разработчиков? Или для обычных людей (я имею ввиду не специалистов в web'е).

Читать далее
Всего голосов 38: ↑17 и ↓21 -4
Просмотры 6K
Комментарии 40

Простой способ создания и переиспользования модальных диалогов во Vue 3

Разработка веб-сайтов *JavaScript *Программирование *VueJS *
Tutorial


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


Хорошим решением было бы создать функцию, которая принимала бы компонент диалога и управляла бы его рендерингом в шаблоне, а этот диалог можно "промисифицировать" и работать с ним как с асинхронной функцией. Как например в этой библиотеке vue-modal-dialogs. К сожалению она давно не обновлялась и не опддерживает Vue 3.


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


Все это есть в плагине vuejs-confirm-dialog, о котором я хочу вам рассказать.

Читать дальше →
Рейтинг 0
Просмотры 858
Комментарии 3

Большая статья о переезде на остров Пенанг, Малайзия. Часть 2

IT-эмиграция Карьера в IT-индустрии

В первой статье я рассказывал о переезде в Малайзию. Здесь я расскажу о ценах в Малайзии и каких-то вещах о жизни. Цены буду писать в малайзийских рингитах, поделив эти цифры на 5, вы получите цены в евро.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 2K
Комментарии 7

Изоляция зубов в стоматологии

Здоровье

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

Коффердам - это немецкое слово, которое можно дословно перевести как: "резиновая преграда", что очень ярко отражает весь смысл.

Читать далее
Всего голосов 12: ↑7 и ↓5 +2
Просмотры 3K
Комментарии 16

Эпичная реклама кредитки

Работа с 3D-графикой *Графический дизайн *Медийная реклама DIY или Сделай сам

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.1K
Комментарии 3

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

Тестирование игр *
Из песочницы

Тестирование — неотъемлемая часть разработки игр, и мобильные тайтлы не исключение. Рынок полон устройств самых разных форм-факторов, мощности и совместимости. При этом чем больше игроков, тем игра успешнее и тем доход больше. Чтобы игроков было как можно больше, нужна поддержка максимального количества смартфонов и планшетов. Чтобы этого добиться, нужно “отполировать билд” для работы даже на самых бюджетных девайсах.

Ускорить, оптимизировать и автоматизировать процесс можно и нужно. Как это сделать? Установить тестовую ферму.

Читать далее
Рейтинг 0
Просмотры 373
Комментарии 0

Telegram bot на aiogram + Google Analytics 4

Python *Статистика в IT Криптовалюты
Из песочницы

Статья о том как удалось прикрутить гугл аналитику к Telegram боту на aiogram.

Дело в том, что гугл объявил о закрытии Universal Analytics и полном переходе на Google Analytics 4. Погуглив стало ясно что инфы про новую аналитику крайне мало, а о её работе с питоном инфы в принципе нет.

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

В качестве примера будет использоваться python + aiogram, но здесь описывается взаимодействие с api аналитики посредством обычных http запросов. Так что статья актуальна для любого языка.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.8K
Комментарии 0

Обзор всего доступного в С++ type erasure

Программирование *C++ *C *

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

Если спросить современного С++ разработчика какие примеры type erasure он видел / использовал, то вероятно он ответит что то про std::function и возможно про std::any, но это лишь малая часть всех применений этого замечательного инструмента!

В статье я постараюсь описать все возможные виды type erasure в современном С++, но начать стоит с определения.

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

Начнём с того, что было уже в С и о чём часто забывают говоря об erasure

void* - мы стёрли всю информацию о типе под указателем, не можем ничего прочитать, но с другой стороны доступ к данным у нас абсолютно без оверхеда! Достаточно угадать тип. Часто внутри именно на этом и построены другие более сложные стирания. Ну и конечно примерно в эту труху из байтов компилятор перетирает всю нашу систему типов в процессе работы.

Кстати, насчёт байтов:

std::byte (since C++17) / unsigned char / char так исторически сложилось, что в С все использовали чары для работы с сырыми байтами, поэтому для них в языке С++ исключение и указатель на них можно приводить к указателю на любой другой тип. Это не обходится без последствий и иногда из-за этого строки теряют некоторые оптимизации, поэтому сначала добавили std::byte, а потом начали потихоньку заменять чары (char8_t since C++20), но это уже совсем другая история. В контексте стирания типов нам важно, что мы получили способность читать данные из стёртого типа, а составив массив мы получим ещё и верхнюю границу размера типа, что конечно немного, но с void и так нельзя.

[erased]
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 2.3K
Комментарии 15

«Скрытый код» принятых решений

Искусственный интеллект

Есть способные к обучению объекты, как живые, так и некоторые математические конструкции. Обучение можно формулировать по-разному, но будучи обученным - что происходит при принятии решения? Некоторое соображение по этому поводу приведено в этой (нет, не научной) статье, не претендующей на какие-то откровения, а скорее на размышления.

Читать далее
Рейтинг 0
Просмотры 856
Комментарии 0