Pull to refresh
1
0
GadPetrovich @GadPetrovich

User

Send message

Машины состояний и разработка веб-приложений

Reading time17 min
Views51K
Настал 2018-й год, найдено множество замечательных способов создания приложений, но бесчисленные армии фронтенд-разработчиков всё ещё ведут борьбу за простоту и гибкость веб-проектов. Месяц за месяцем они проводят в попытках достигнуть заветной цели: найти программную архитектуру, свободную от ошибок, и помогающую им делать их работу быстро и качественно. Я — один из этих разработчиков. Мне удалось найти кое-что интересное, способное дать нам шанс на победу.


Инструменты вроде React и Redux позволили веб-разработке сделать большой шаг в правильном направлении. Однако, самих по себе их недостаточно для создания крупномасштабных приложений. Похоже, что ситуацию в разработке клиентских частей веб-приложений может значительно улучшить применение машин состояний. О них и пойдёт речь в этом материале. Кстати, возможно вы уже построили несколько таких машин, но пока ещё об этом не знаете.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments11

Применение принципов SOLID при разработке React-приложений

Reading time8 min
Views39K
Недавно мы публиковали материал о методологии SOLID. Сегодня мы представляем вашему вниманию перевод статьи, которая посвящена применению принципов SOLID при разработке приложений с использованием популярной библиотеки React.

image

Автор статьи говорит, что здесь, ради краткости, он не показывает полную реализацию некоторых компонентов.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments6

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

Level of difficultyMedium
Reading time14 min
Views26K

Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotlib и т.д., но всегда полезно знать о других предложениях Python, особенно если это поможет улучшить ваши проекты.

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments4

Вливаемся в Data Science: подробный roadmap что и где изучать

Level of difficultyEasy
Reading time10 min
Views60K

Привет, Хабр!

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

Читать далее
Total votes 40: ↑37 and ↓3+34
Comments14

Позиционирование бионического предплечья взглядом

Level of difficultyMedium
Reading time6 min
Views1.4K

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments1

Электронный конструктор, не бьющий током

Reading time13 min
Views37K

Дайте угадаю: вы в детстве заворожённо рассматривали печатные платы? Вам было любопытно узнать, как работает этот мини-город из разноцветных деталек? Возможно, у вас был опыт сборки электронных схем по книгам Борисова и Свореня? Советский сорокаваттный паяльник, кусочек канифоли в спичечном коробке? А ещё штаны с намертво влипшей в ткань каплей припоя?

Современные программные средства иллюстрируют процессы, происходящие в электрических цепях, с недосягаемыми для радиолюбителей недавнего прошлого наглядностью и интерактивностью. Они визуализируют протекающие по схеме токи и показывают напряжения в её различных частях. Это снижает порог понимания для людей, которым сложно даются абстрактные знания и язык формул.
Читать и смотреть картинки
Total votes 163: ↑163 and ↓0+163
Comments153

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

Reading time18 min
Views40K

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

Сегодня создаются и уже используются сети, в которых машины способны распознавать символы на бумаге и банковских картах, подписи на официальных документах, детектировать объекты и т.д. Эти функции облегчают труд человека и повышают точность и надежность различных рабочих процессов благодаря исключению из задачи человеческого фактора. Но научить компьютер распознавать объекты не так уж и просто. Одна из сложностей заключается в том, что компьютер видит не так же, как люди. У компьютера нет жизненного опыта и способности так же, как человеческий мозг идентифицировать объекты на изображения и видео. Изначально он не способен отличить дом от дерева, не имея каких‑то исходных данных. Чтобы научить компьютер видеть и понимать, что находится на изображении, люди используют технологии машинного обучения.

Для этого собирают большие базы данных, из которых формируют дата‑сеты. Выделив признаки и их комбинации для идентификации похожих объектов, можно натренировать модель машинного обучения распознавать нужные типы закономерностей. Конечно, даже после загрузки нескольких дата‑сетов модели могут неверно распознавать некоторые объекты. Если такое случается, модели «дообучают» на новых наборах данных.

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments8

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views72K
image

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

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

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Total votes 110: ↑109 and ↓1+108
Comments77

Настройка среды для работы с Deep Learning в браузере, используя Облачную операционную систему

Reading time9 min
Views2.8K

Привет Хабр! Меня зовут Ильдар. Сегодня я расскажу вам как настроить Visual Studio Code Server с плагином Jupyter ноутбук для работы с нейронными сетями в браузере на выделенном сервере используя Облачную ОС.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

Современная микросервисная архитектура: принципы проектирования

Reading time7 min
Views22K

Первые упоминания о практическом использовании микросервисной архитектуры появились в 2010-х годах. Но сейчас она стала стандартом для отрасли. Ведущий архитектор Группы «Иннотех» Александр Соляр рассказал о некоторых нюансах микросервисов, а также принципах их использования.

Читать далее
Total votes 14: ↑7 and ↓70
Comments5

React: полное руководство по повторному рендерингу

Reading time8 min
Views47K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, посвященной повторному рендерингу (re-render, далее — ререндеринг) в React.


Что такое ререндеринг?


Существует 2 основные стадии, которым следует уделять пристальное внимание, когда речь заходит о производительности в React:


  • первоначальный рендеринг (initial rendering) — происходит, когда компонент впервые появляется на экране;
  • ререндеринг — второй и последующие рендеринги компонента.

Ререндеринг происходит, когда React необходимо обновить приложение некоторыми данными. Обычно, это является результатом действий пользователя, получения ответа на асинхронный запрос или публикацию при подписке (паттерн "pub/sub" — публикация/подписка или издатель/подписчик) на определенные данные.

Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments10

Ищем боттлнеки за 30 минут с помощью Jaeger трейсов

Reading time8 min
Views5K

Всем привет! Меня зовут Артем, я бэкенд-разработчик в команде клиентского бэкенда. Одна из важных частей моей работы — это снижение латенси нашего бэкенда. История, о которой я расскажу в статье, как раз и началась с одной из таких задач. Звучала она следующим образом:


В одном из эндпоинтов чекаута 99 перцентиль латенси пробивает SLO. Нужно это исправить.

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

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments3

Два вида последовательного перебора пикселей

Reading time4 min
Views2.6K
Пространство плоскости часто делят на квадраты. Или, наоборот, квадратные вещи собирают вместе. Наверняка у кого-нибудь уже возникала идея собрать гирлянду из квадратных светильников и с помощью неё заполнить светом фигуру выбранной формы, с квадратными элементами детализации, как пикселями. Такой квадратный светильник может быть устроен так, что с предыдущим и следующим светильником соединён углами одного ребра.



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

Логика построения такая: расстановку в виде квадрата 2 на 2, нужно представить как один большой светильник и составить из него светильник ещё больше. Именно поэтому, если у вас на каком-то этапе получается квадрат, то его размер кратен степени двойки.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments10

Чего не хватает ИИ?

Reading time3 min
Views7.5K
Это пост-вопрос, в нем я попробовал сформулировать основные проблемы нейросетей, решение которых может сделать прорыв в технологии ИИ. В основном речь о сетях, что работают с текстом (GPT, BERT, ELMO и т.п.). Как известно, хорошая формулировка задачи — половина ее решения. Но сам я эти решения найти не могу. Надеюсь на «помощь зала», так как тут много тех, кто сталкивается с такими же проблемами и возможно «видит» их решение.

Итак.

1. Самое казалось бы простое, но нейросеть не учитывает факты. Нейросеть выучивается на частных фактах, но как бы не знает о них. На когнитивном языке NN обладает семантической, а не эпизодической памятью грубо говоря.
Читать дальше →
Total votes 37: ↑27 and ↓10+17
Comments260

Как обучать огромные модели машинного обучения на случайных GPU

Reading time11 min
Views9K
Вы можете спросить: почему эти полумагические модели машинного обучения работают так хорошо? Короткий ответ: эти модели чрезвычайно сложны и обучаются на огромном количестве данных. На самом деле, Lambda Labs недавно подсчитала, что для обучения GPT-3 на одном GPU потребовалось бы 4,6 миллиона долларов — если бы такое было возможно.

Такие платформы, как PyTorch и Tensorflow, могут обучать эти огромные модели, потому что распределяют рабочую нагрузку по сотням (или тысячам) GPU одновременно. К сожалению, этим платформам требуется идентичность графических процессоров (они должны иметь одинаковую память и вычислительную производительность). Но многие организации не имеют тысячи одинаковых GPU. Малые и средние организации покупают разные компьютерные системы, что приводит к неоднородной инфраструктуре, которую нелегко адаптировать для вычисления больших моделей. В этих условиях обучение моделей даже среднего размера может занимать недели или даже месяцы. Если не принять меры, университеты и другие небольшие организации рискуют потерять конкурентоспособность в погоне за разработкой новых, лучших моделей машинного обучения. Но это можно исправить.

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


Приятного чтения!
Total votes 23: ↑23 and ↓0+23
Comments0

Установка Windows 98 на современный ПК

Reading time3 min
Views98K


Решил поделиться своим рецептом, как я установил Windows 98SE на относительно современный ПК. На Интернет форумах много сообщений, что Windows 98SE не устанавливается на современные ПК, не запускается на PCI-e видеокартах и т.п., поэтому статья может быть полезна тем, кто хочет позапускать старые звуковые карты типа Aureal Vortex 2, поностальгировать или просто ради спортивного интереса.
Читать дальше →
Total votes 118: ↑116 and ↓2+114
Comments136

Deep Learning: как это работает? Часть 1

Reading time3 min
Views15K

В этой статье вы узнаете



-В чем суть глубокого обучения

-Для чего нужны функции активации

-Что такое FCNN

-Какие задачи может решать FCNN

-Каковы недостатки FCNN и с помощью чего с ними бороться

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments3

Миграция с .NET Core 2.2 на .NET Core 3.1 на примере реального проекта

Reading time8 min
Views9.4K

image


Эта статья является логическим продолжением обновления проекта nopCommerce — бесплатной CMS с открытым исходным кодом для создания интернет-магазинов. В прошлый раз мы рассказали о нашем опыте миграции проекта с ASP.NET MVC на ASP.NET Core 2.2. Теперь мы рассмотрим процесс миграции на .NET Core 3.1. Учитывая, что официальная поддержка .Net Core 3.1 будет длиться до декабря 2022 года, сейчас тема миграции очень актуальна. Поэтому, если вы хотите получить все преимущества обновленного фреймворка, идти в ногу с технологическими новинками и соответствовать набирающим популярность общемировым трендам, то самое время заняться миграцией.

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments12

Всего 5 минут в день

Reading time11 min
Views25K

Спортивный блоггер из YouTube: "Делай это упражнение всего 5 минут в день и у тебя будет стальной пресс"
Твой менеджер проекта: "Чтобы пройти этот опрос нужно 2 минуты, неужели так сложно?"
Онлайн-школа английского языка: "В изучении английского языка - главное регулярность!"
Тренинг по тайм-менеджменту: "Просто заносите все в список задач и проводите еженедельные обзоры."


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

Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments32

Тензоры для C#. И матрицы, и векторы, и кастомный тип, и сравнительно быстро

Reading time5 min
Views7.1K
Привет!

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


Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments15
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity