Search
Write a publication
Pull to refresh
2
0
Send message

Прорыв в диагностике депрессии: идентифицировано 290 генов-провокаторов

Level of difficultyEasy
Reading time5 min
Views1.7K

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

Читать далее

Кэш. Теория кэширования. Устройство и разновидности кэша

Level of difficultyEasy
Reading time7 min
Views17K

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

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

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

Стать гуру кэша

Транскриптомный анализ: как посчитать гены?

Level of difficultyEasy
Reading time20 min
Views3.6K

Вся информация о нас закодирована в ДНК. Но как она реализуется? Как при помощи анализа данных секвенирования ученые находят количественные соотношения между группами генов? Что такое транскриптомика? Давайте разберемся, как находят закономерности в экспрессии генов и построим красочные визуализации.

Читать далее

Распознавание образов в мозге с помощью микроплееров

Level of difficultyMedium
Reading time8 min
Views3.7K

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

Здесь что то не так. Рассмотрим другой подход.

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

Читать далее

Создание алгоритма для мультиагентной системы

Level of difficultyEasy
Reading time5 min
Views3.1K

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

Существует 2 вида структуры агента: гетерогенное и гомогенное. Гомогенные агенты сконструированы идентично, то есть особо не отличаются друг от друга. А гетерогенный вид означает, что агенты отличаются друг от друга.

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

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

Мультиагентная система (МАС) — это система, состоящая из нескольких интеллектуальных агентов. Например, муравейник, он состоит из множества агентов, муравьев.

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

Цель работы — Создание математической модели и алгоритма для роботизированной системы. Задачи:

Читать далее

Что случилось с легковесными десктопными приложениями? История Electron

Level of difficultyEasy
Reading time7 min
Views39K

Electron — это один из самых известных инструментов современного разработчика. Если присмотреться, то это родственник React Native, манящий лозунгом «пиши один раз, запускай везде!», но с гораздо меньшими издержками по сборке и релизу, чем в случае мобильной разработки. Его уникальное преимущество заключается в комбинации Node.js и Chromium, создающей мощную десктопную среду для веб-технологий. Официальный блог Electron не так давно отметил своё десятилетие, что весьма удивляет с учётом того, насколько глубоко этот инструмент успел проникнуть в культуру разработки.
Читать дальше →

Что такое ООП (объектно-ориентированное программирование)

Reading time3 min
Views8.9K

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

Когда-то, лет 30 назад, мне посчастливилось поработать в одном очень продвинутом коллективе известного ВУЗа, и там один из научных руководителей регулярно приходил в бешенстве с конференций, на которых обсуждались видения ООП и подходы к реализациям, потому что его понимание сильно отличалось от коллег-участников конференций с других кафедр. Кстати сказать, он написал java-подобный язык, который вроде до сих пор с успехом используют. Этим воспоминанием я хочу подчеркнуть, что проблема не такая уж и новая, и не такая уж и надуманная.

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

Ну, посудите сами, парадигмы процедурного программирования основанные на теореме структурного программирования окончательно сформировались только к началу 70-х годов прошлого века, а первые языки ООП появились еще в начале 60-х годов. Но современное поколение, в основной своей массе, почему-то считает, что ООП - это что-то новое, и к тому же неудачное, и поэтому его надо срочно заменить чем-то типа Питона или на худой конец Скалы итп.

Читать далее

Исследование производительности свободных хранилищ LINSTOR, Ceph, Mayastor и Vitastor в Kubernetes

Reading time10 min
Views21K

Кажется это уже стало традицией: каждый раз, когда я выхожу на новое рабочее место, моя деятельность начинается с бенчмарков различных SDS-решений. Мой приход во «Флант» не стал исключением. Я попал в команду разработки Kubernetes-платформы Deckhouse, где решили развивать возможность запуска виртуальных машин в Kubernetes. Но для этого сначала потребовалось найти простое и надежное хранилище блочного типа, которое можно предложить клиентам платформы.

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

Но рынок программно-определяемых хранилищ не стоит на месте и постоянно растёт. Появляются новые амбициозные проекты, включая недавно релизнутый Mayastor и pet-проект моего товарища-соратника Vitastor. Результаты оказались очень интересными.

Читать далее

Сказ о том, как я «умный дом» делал

Reading time6 min
Views30K

Давным-давно был такой фильм "Один дома". А в фильме был эпизод с автоматически включающимся светом в домах - имитация присутствия.
И вот тогда-то и захотелось сделать что-то подобное.

Времена были дикие, никаких "умных домов" тогда в наших краях не знали, не ведали, и пришлось городить колхоз лютый, самолепный.
За основу был взят старый компьютер, из тех, у которых были аппаратные LPT-порты.
Там было как минимум 8 проводов, на которых можно было выставить 0 или 1 (+5в), просто записав в порт соответствующий байт.
(забегая вперед - это почти то же самое что сейчас использовать Ардуино).

Читать далее

Запускаем советский процессор из журнала «Радио» с помощью Arduino

Level of difficultyHard
Reading time17 min
Views48K

Привет! Меня зовут Илья Мамай, я инженер-программист в группе разработки операционных систем YADRO. В этой статье я хочу поделиться опытом некромантии сборки советского компьютера по мотивам «Микро-80», схемы которого были опубликованы в журнале «Радио». Но собирать я буду не по этим схемам. Используя их как опору и источник вдохновения, я начну с запуска процессора КР580ВМ80А (советского клона Intel 8080), определения признаков жизни и продолжу постепенным наращиванием функционала и возможностей системы. Здесь мы займемся и радиотехникой, и DIY, и программированием как самого процессора, так и современных микроконтроллеров. Но перед этим поделюсь историей, как я, будучи студентом 4 курса, дошел до этого…

Читать далее

Программируем SFP-модули на программаторе CH341A

Reading time2 min
Views9K

Прошло уже более года с момента моей публикации о программаторе для CH341A под Linux - IMSProg и у меня возникло желание избавиться от еще одной программы, не дающей навсегда забыть о существовании Windows. Мой прежний программатор SFP собран на чипе FT232RL и имел софт только под Windows.

Каждый SFP-модуль имеет с своем составе стандартную микросхему 24C04 или 24C02, что натолкнуло меня на мысль использования простейшего переходника для программатора CH341 с использованием четырех проводов - земли, питания, I2C сигналов SDA и SCL. После просмотра разработок различных фирм я добавил в переходник джамперы на сигналы питания для снятия защиты от записи медных модулей - J1, J2 и J3 (контакты SFP TxPWR, RxPWR и TxEN). В результате получилась такая схема:

Читать далее

CMake: Настройка проекта, подключение библиотек и мучения с Vulkan

Level of difficultyEasy
Reading time10 min
Views5K

Oh, and the documentation: It's extensive but never tells me what I need to know.

Эта цитата взята из обсуждения CMake на Reddit, и она очень точно описывает большую часть моих проблем с CMake: когда я хочу что-то сделать, документация не помогает с этим вообще, - приходится искать решения в чужих проектах и статьях.

В этой статье будут разобраны проблемы, с которыми я столкнулся в процессе изучения Vulkan. Однако материал будет полезен и тем, кто настраивает любой другой проект.

Читать далее

Цикл в RegEx для поиска подстрок с условием

Level of difficultyEasy
Reading time7 min
Views2.8K

Я хочу поделиться своим изобретением, которое позволяет вам использовать только одно регулярное выражение, которое будет искать подстроку в строке с определенным условием. Если хотите, называйте это циклом в RegEx, которого раньше не существовало!

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

Посмотреть идеи и шаблоны

Безумные и забавные факты о SQLite

Level of difficultyMedium
Reading time5 min
Views32K

  1. SQLite — самая часто разворачиваемая и используемая база данных. На текущий момент активно используется более одного триллиона (1000000000000 или миллиона миллионов) баз данных SQLite.

    Её поддерживают три человека. Они не допускают внешних контрибьюторов.
Читать дальше →

Постквантовая криптография в Java

Level of difficultyEasy
Reading time4 min
Views2.2K

Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам. 

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

Читать далее

Небольшая переделка одного устройства

Level of difficultyMedium
Reading time3 min
Views15K

Понадобился мне на самолете цифровой компас, какое-то подобие привычному КИ-13.
Чтобы можно было определить направление на истинный север.

Читать далее

Как сгладить облачные турбулентности

Level of difficultyMedium
Reading time6 min
Views761

В условиях ограничения доступа к самым современным технологиям компании всё чаще стремятся переложить заботу о поддержании работоспособности ИТ-инфраструктуры на профессионалов. И вариантов тут два: либо консолидировать вычислительные ресурсы на собственной технологической площадке, развитием которой будут заниматься своя ИТ-служба, либо отдавать вычислительные ресурсы на аутсорсинг, то есть пользоваться услугами облачных провайдеров. Проще, конечно же, доверить управление ИТ-инфраструктурой сторонним профессионалам, однако надежнее и безопаснее развивать собственные компетенции за счет внедрения современных средств автоматизации управления Центрами обработки данных (ЦОД).

Читать далее

Портативное прототипирование электроники #02. Нужно больше STLink-ов

Level of difficultyMedium
Reading time10 min
Views5K

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

Читать далее

Массовый переход с AutoCAD и Civil 3D на nanoCAD в дорожном строительстве. Опыт АО «ДСК “АВТОБАН”»

Reading time2 min
Views4.8K

Рассказываем, как переход на Платформу nanoCAD и nanoCAD GeoniCS позволил АО ДСК “АВТОБАН”» реализовать импортозамещение САПР без сбоев в производственных процессах.

Читать далее

Git Stash: заначка в репозитории

Reading time5 min
Views5.5K

Преимущества использования системы контроля версий Git трудно переоценить. Данная система позволяет нескольким разработчикам одновременно работать над одним проектом, разделять проект на отдельные ветви и затем снова объединять код в одну ветку.

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

Читать далее

Information

Rating
Does not participate
Registered
Activity