Pull to refresh
5
0
Рустам @RustamS

Пользователь

Send message

Я обучил нейросеть на своих рисунках и отдаю модель бесплатно (и научу вас делать это)

Reading time2 min
Views24K

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

Хочу всё знать!
Total votes 38: ↑34 and ↓4+30
Comments31

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

Reading time18 min
Views26K

Это - полный разбор алгоритма подписи на эллиптических кривых (ECDSA), который является ключевым элементом большинства блокчейнов (типа Bitcoin, Ethereum, ...). С примерами кода и реализацией с полного нуля. Всё сведено к уровню школьной математики, а читать код не обязательно!)

Читать
Total votes 83: ↑83 and ↓0+83
Comments35

Где брать изображения в 2022 году

Reading time9 min
Views29K

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

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

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments1

Как работают нейронные генераторы картинок (в формате ELI5)

Reading time9 min
Views17K

Хочу очень кратко рассказать, на каких принципах построены современные нейронные генераторы картинок, чтобы немножко разбавить флёр волшебства и магии, который окружает публичное обсуждение результатов их работы. Для того, чтобы понимать перспективы собственных профессий в мире, где похожие генераторы производят вообще все виды электронных артефактов (видео, тексты, программы, 3D-модели и так далее), – а этот мир нас, безусловно, ожидает в самом ближайшем будущем – надо понимать, что за генерацией стоит довольно простая математика на основе данных, которые ввели клавиатурой и мышкой и закачали в интернет люди.

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

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

Шаринг сокет-соединения между вкладками

Reading time5 min
Views5.1K

В каждом современном сервисе должны быть сториз и чат, и для начала мы решили запилить в hh.ru переписки. Меня зовут Влад Коротун, я фронтенд-разработчик. В этой статье расскажу, как неординарный подход к использованию Web Workers помог нам решить эту задачу.

Для желающих посмотреть на предмет сабжа в динамике у нас есть видеоверсия этой статьи. 

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments7

Находим более качественные решения при помощи boost

Reading time9 min
Views17K

Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комитета по стандартам C++ и именно они определяют, в каком направлении будет развиваться язык – поэтому можете считать Boost своеобразным дорожным указателем. Возвращаясь к заголовку этой статьи - 'Boost' содержит много популярного функционала, вспомогательных библиотек, так, что, если вы столкнулись с какой-нибудь распространенной проблемой – первым делом обращайтесь к Boost, так как велики шансы, что там для вас найдется готовое решение.

Читать далее
Total votes 23: ↑15 and ↓8+7
Comments5

Почему всем стоит попробовать шрифты для разработчиков

Reading time3 min
Views32K


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

Разработчики день-деньской смотрят на код. Разве не стоит попытаться усовершенствовать этот опыт, чтобы продуктивность возрастала? Существует большое количество шрифтов, которые служат именно этой цели. К самым популярным относятся Fira Code, Source Code Pro, Jetbrains Mono и Ubuntu Mono, но это только несколько примеров – есть еще множество других.

Вот несколько причин, по которым выбор подходящего шрифта поможет разработчику в работе:
  • Проще замечать баги
  • Быстро находятся переменные и функции
  • Легко опознаются специфичные для программирования символы
  • Снижается нагрузка на глаза

Ну и смотрятся они здорово, а это разве плохо?
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments151

Основы внутреннего устройства JavaScript

Reading time6 min
Views40K
image

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

Введение


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

В этом посте мы подробно разберём эти концепции и объясним, как же работает JavaScript. Благодаря знанию этих подробностей вы сможете писать более оптимальные приложения, надлежащим образом использующие API. Если вы работаете с JavaScript относительно недавно, этот пост поможет вам понять, почему JavaScript настолько «странный» по сравнению с другими языками. А если вы опытный разработчик на JavaScript, то он позволит вам по-новому взглянуть на внутреннее устройство JavaScript Runtime, с которым вы работаете каждый день.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments5

Пишем nest.js с нуля на typescript

Reading time28 min
Views18K

Nest.js - популярный node.js фреймворк с отличной архитектурой, основанной на Angular.

Под капотом Nest использует надежные платформы HTTP-серверов, такие как Express (по умолчанию), и при желании также может быть настроен для использования Fastify! Nest обеспечивает уровень абстракции по сравнению с этими распространенными платформами Node.js (Express/Fastify), но также предоставляет свои API-интерфейсы непосредственно разработчику. Это дает разработчикам свободу использовать множество сторонних модулей, доступных для базовой платформы.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments0

Ускоряем работу с графами в 20000 раз

Reading time5 min
Views11K

Использовать стандартные библиотеки и общеизвестные реализации алгоритмов — признак хорошего тона. Вместо изобретения своего алгоритма шифрования данных или своей хэш функции лучше взять уже готовое решение. Избегаем ошибок и не изобретаем велосипед заново. Но что если готового решения нет? В наше время это что-то невероятное. Есть github.com, есть набор платных решений.Тем интереснее обсудить необычную проблему. В данной статье расскажу о своем опыте оптимизации работы с данными, которые по своей природе представляют граф. А точнее сеть — разновидность графов.

Читать далее
Total votes 29: ↑26 and ↓3+23
Comments22

Способы представления аудио в ML

Reading time5 min
Views6.5K

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

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

Гудбай AV/EDR или как обойти защиту EDR в Windows

Reading time11 min
Views8.5K

При проведении Red Team операций часто возникает вопрос обхода средств защиты. В данной статье будет рассмотрен один из методов отключения антивирусов и EDR.

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

Автоматическая генерация протоколов совещаний

Reading time10 min
Views12K

Привет! Меня зовут Максим Бондарев, я работаю младшим разработчиком в компании Digital Design и заканчиваю обучение на математико-механическом факультете СПбГУ. В рамках своей исследовательской работы я занимался решением задачи по автоматической генерации протоколов совещаний в составе команды научной лаборатории (aka Конструкторское Бюро) под руководством Максима Панькова. Что из этого получилось, и над чем еще предстоит поработать, расскажу в этой статье.

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments13

Объяснение фильтра Калмана в картинках

Reading time9 min
Views41K
image

Я обязан рассказать вам о фильтре Калмана, потому что он выполняет просто потрясающую задачу.

Как ни удивительно, о нём, похоже, знают немногие разработчики ПО и учёные, и это печалит меня, потому что это очень обобщённый и мощный инструмент для объединения информации в условиях присутствия неопределённости. Иногда его способность извлечения точной информации кажется почти магической, а если вы думаете, что я слишком много болтаю, то взгляните на это видео, в котором я показываю, как фильтр Калмана определяет ориентацию свободно плавающего тела, посмотрев на его вектор скорости. Потрясающе!
Читать дальше →
Total votes 116: ↑116 and ↓0+116
Comments31

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

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



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


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

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

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


Прежде чем начать, напомним основные термины из предыдущей части.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments4

Почему инициализировать веса нейронной сети одинаковыми значениями (например, нулями) – это плохая идея

Reading time11 min
Views15K

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

Кто хочет быстрый и короткий ответ на этот вопрос, вот он: если инициализировать веса нулями, то нейросеть может не обучаться совсем или обучаться плохо.

Кто хочет более развёрнуто узнать, что значит «плохо», может просто перемотать к заключению в конце статьи.

А тем, кто хочет в деталях разобраться с основами обучения нейронных сетей, добро пожаловать в мир математических формул. Мы детально разберём, из-за чего в механизме обучения может произойти «сбой».

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

Красивые визуализации GitHub с помощью PyGraphistry

Reading time7 min
Views8.1K

В чёрную пятницу, пока у нас стартует флагманский курс Data Science, делимся интерактивными графами подписок веб-разработчиков и разработчиков моделей ML, а также знакомим читателей с инструментом визуализации больших графов — PyGraphistry.

Такие данные — косвенный индикатор конкуренции языков и технологий. К примеру, можно попробовать выяснить, сколько разработчиков C++ следят за разработчиками Rust и наоборот. За подробностями и кодом приглашаем под кат.

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

JavaScript: заметка о WebAssembly

Reading time8 min
Views11K


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


В 2019 году WebAssembly (далее — WA или wasm) стал четвертым "языком" веба. Первые три — это, разумеется, HTML, CSS и JavaScript. Сегодня wasm поддерживается 94% браузеров. Он, как утверждается, обеспечивает скорость выполнения кода, близкую к нативной (естественной, т.е. максимально возможной для браузера), позволяя портировать в веб десктопные приложения и видеоигры.


Что не так с JS?


JS — это интерпретируемый язык программирования с динамической типизацией. Динамическая типизация означает, что тип переменной проверяется (определяется) во время выполнения кода. И что с того? — спросите вы. Вот как определяется переменная в C++:


int n = 42

Такое определение сообщает компилятору тип переменной n и ее локацию в памяти. И все это в одной строке. А в случае с определением аналогичной переменной в JS (const n = 42), движку сначала приходится определять, что переменная является числом, затем, что число является целым и т.д. при каждом выполнении программы. На определение и (часто) приведение (преобразование) типов каждой инструкции уходит какое-то время.

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

Выбраться из пирамиды Маслоу

Reading time29 min
Views31K

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

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

Где искать потребности
Total votes 29: ↑25 and ↓4+21
Comments20

Прогулка по заводу желаний

Reading time36 min
Views31K
Откуда приходят и куда исчезают желания?

Иногда трудно заставить себя делать что-то нужное: мыть посуду, делать зарядку, работу работать… В интернете есть много статей с рецептами преодоления нежелания, и каждый день добавляются новые. Я вижу во многих статьях одну и ту же проблему.

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

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

Ближе к теме — почему иногда трудно заставить себя работать? Заглядываем в интернет, и сразу получаем решения — надо закрыть соцсети, разбить задачу на мелкие шаги и хвалить себя.

Или еще проще — проблемы нет, у вас воля слабая, отговорки ищете, возьми и сделай (just do it).

Позвольте усложнить.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments37
1
23 ...

Information

Rating
Does not participate
Location
Казахстан
Registered
Activity