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

Разработка

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

Алгоритм пересечения полигонов

Время на прочтение20 мин
Количество просмотров249

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

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

Новости

Мега-Учебник Flask Глава 7: Обработка ошибок (издание 2024)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров284

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

Начать изучение
Всего голосов 1: ↑2 и ↓-1+3
Комментарии0

Как обойти лимит Telegram API для групп свыше 10,000 участников

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров533

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

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

Эта инициатива казалась нам многообещающей, однако в процессе реализации мы столкнулись с серьёзным ограничением. При попытке загрузить список пользователей из группы на 13,000 человек, система смогла обработать только 10,000. Это ограничение API Telegram значительно усложнило выполнение задуманного плана, требуя от нас дополнительных технических решений.

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

Главные отличия PCA от UMAP и t-SNE

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров888

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

Читать далее
Всего голосов 12: ↑14.5 и ↓-2.5+17
Комментарии1

Истории

Лазеры, сервопривод, WiFi MESH-сети и сноуборд

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров992

Первое мое воспоминание про горные лыжи было примерно в 5 летнем возрасте. Я лечу вниз по горке, а ко мне неумолимо приближается бетонный забор. Несмотря на эту неприятность, я все равно освоил горные лыжи, благо жили мы недалеко от гор. Правда после поступления в Москве в институт временно пришлось забыть об этом. Но оказалось, что и в Москве тоже есть горки и я решил уже попробовать более модное увлечение - сноуборд. И первые самостоятельно заработанные 300$ были потрачены на покупку самого дешевого комплекта. Ближе к окончанию института я уже уверенно катался, так что даже попробовал поучаствовать в реальных соревнованиях. В результате у меня теперь есть даже FIS код и суммарно 7,3 балла, набранные в сезоне 2002-2003 годов, когда я сумел три раза доехать до финиша без падений и гордо занять последние места в результирующих списках. Это была вершина моей спортивной карьеры, после чего я решил дальше сосредоточиться на профессии, полученной в институте - электронике. А сноуборд и горные лыжи окончательно перевести в разряд хобби.

Читать далее
Всего голосов 10: ↑12 и ↓-2+14
Комментарии1

Что нужно знать, чтобы успешно пройти System Design Interview

Время на прочтение16 мин
Количество просмотров4.6K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее
Всего голосов 14: ↑14.5 и ↓-0.5+15
Комментарии11

Zigbee датчик мониторинга углекислого газа EFEKTA Pixel Open Air

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3K
Приветствую всех читателей Habr. Время от времени я выкладываю в открытый доступ некоторые свои проекты по электронике. В эти майские праздники я подготовил для всех любителей что-то собрать своими руками достаточно интересный проект бытового zigbee-датчика мониторинга углекислого газа с LCD-дисплеем. Это неплохо проработанный проект, ничем не уступающий фабричным аналогам, да и по многим параметрам и функциональности гораздо превосходящий их.

Читать дальше →
Всего голосов 22: ↑23.5 и ↓-1.5+25
Комментарии5

Как Алексей Пажитнов сделал сиквел Тетриса и забыл про него

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.4K

Тетрис — одна из самых (если не самая!) известных видеоигр, чьё имя известно даже людям, бесконечно далёким от этой индустрии. Когда в 1989 году «Тетрис» вышел на Nintendo Game Boy, он стал мировым хитом, продавшись миллионами копий и зарекомендовав себя как самая любимая в мире видеоигра-головоломка.

Для старинной видеоигры, которая начиналась как любительский проект компьютерного разработчика из СССР, влияние «Тетриса» по-прежнему сильно, доказательством чему служит огромная база игроков, по сей день пытающихся полностью пройти игру. Его успех также породил желание создать продолжение. Появились побочные продукты: такие как Hatris, Welltris и Wordtris, а также итеративные продолжения, такие как Tetris 2, Tetris DS и Tetris Effect. Но у игры могло бы быть ещё одно продолжение, которое так и не вышло. Сам создатель Тетриса, Алексей Пажитнов, придумал другую, более интеллектуальную версию игры.

На Game Developers Conference (GDC) 2024 Алексей Пажитнов рассказал о своих первоначальных планах по выпуску продолжения «Тетриса» и о том, почему мы только сейчас слышим об этом публично. Это запланированное продолжение, получившее название Tetris Reversed, было призвано изменить способ игры в тетрис. Но сиквел игры уже более десяти лет находится на стадии прототипа.
Читать дальше →
Всего голосов 12: ↑13 и ↓-1+14
Комментарии8

Библиотека GopherJS в Golang

Время на прочтение5 мин
Количество просмотров922

GopherJS позволяет переводить Go-код в JavaScript — он предоставляет полноценную совместимость с большинством пакетов стандартной библиотеки Go. Также Gopher поддерживает горутины и каналы!

В статье в общих деталях рассмотрим эту замечательную библиотеку.

Читать далее
Всего голосов 7: ↑2 и ↓5-3
Комментарии2

Standard Time как его видит IBM

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.7K

Более 6-ти лет занимаюсь разработкой под IBM i (бывшая AS/400). В основном, конечно, это работа с БД и разная бизнес-логика, но иногда приходится и что-то низкоуровневое писать.

Не так давно занимался разработкой удобного и простого в использовании API для работы с User Queue (есть на АС-ке такой системный объект - очередь *USRQ). И в заголовке извлекаемого из очереди сообщения есть такой параметр - message enqueue time (время размещения сообщения в очереди). Который описан как _MI_Time. Которое, в свою очередь, определено как

Читать далее
Всего голосов 12: ↑14 и ↓-2+16
Комментарии10

Создание простой Roblox игры без особого знания Lua

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.2K

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

Прежде чем мы начнем, вам нужно зарегистрироваться на сайте roblox.com и загрузить Roblox Studio - инструмент, который позволяет создавать игры на платформе Roblox. После установки запустите программу и выберите пустой шаблон для создания новой игры.

Читать далее
Всего голосов 3: ↑4.5 и ↓-1.5+6
Комментарии1

Воплощаю мечту, создавая собственную игру

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.5K

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

Читать далее
Всего голосов 34: ↑36.5 и ↓-2.5+39
Комментарии28

Библиотека dplyr в R

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров403

Библиотека dplyr в R позволяет манипулировать данными, проводить фильтрацию, выборку, сортировку, группировку данных и многое другое.

В этой статье как раз и рассмотрим эту библиотеку.

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии1

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Перевод Spring Boot приложения с HTTP на HTTPS без ругани браузера

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.5K

Актуальный способ перевода вашего Spring Boot приложения с HTTP на HTTPS.

Текущие способы и гайды в интернете на эту тему мне не понравились, поэтому написал свой.

Читать далее
Всего голосов 4: ↑2 и ↓20
Комментарии13

Мощные GPU в Китае: полное самообеспечение к 2027 году. Реально ли?

Время на прочтение4 мин
Количество просмотров1.6K

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

Особенное внимание уделяется процессорам GPU, на производство и продажу которых негативное влияние оказал экспортный контроль со стороны США. Кроме того, Китай продолжает продвигать инициативы в области искусственного интеллекта. Субсидии будут выделяться компаниям, которые готовы покупать графические процессоры у отечественных производителей. И не стоит забывать о нескольких триллионах долларов, которые выделяются в течение последних лет самим производителям. Подробности — под катом.

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

Что учесть если используешь SignalR и захочешь масштабировать .Net-приложение?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров910

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

Однако и тут есть пара подводных камней, с которым я с командой столкнулся на продакшне...

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Какие должны быть пароли в 2024 году?

Время на прочтение7 мин
Количество просмотров3.5K

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

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

В 2020 году была впервые опубликована таблица паролей, основанная на данных с сайта www.howsecureismypassword.net (сейчас им управляют сотрудники security.org) и собранная Майком Хэлси, Microsoft MVP. В этой таблице рассматривалась относительная стойкость хешированного пароля к попыткам взлома в зависимости от длины пароля, его сложности, алгоритма хеширования, который использует жертва, и оборудования, которое использует злоумышленник.

В 2022 году компания углубилась в изучение данных и используемого оборудования, чтобы составить более точную картину. Данные в этой таблице основаны на том, сколько времени потребуется обычному хакеру, чтобы взломать хеш пароля с помощью настольного компьютера с топовой видеокартой, а затем сколько времени потребуется организованному преступному хакеру, который использует ресурсы облачных вычислений. Были рассмотрены такие известные провайдеры, как Amazon AWS и Microsoft Azure, а также растущие некорпоративные варианты, где можно арендовать компьютер человека по цене за час.

Читать далее
Всего голосов 3: ↑4 и ↓-1+5
Комментарии17

Ехал handler через handler, или почему всё тормозит

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.5K

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

К ленивой отладке
Всего голосов 18: ↑20.5 и ↓-2.5+23
Комментарии4

Rust 1.78.0: Диагностические атрибуты, проверка предусловий unsafe и детерминированное повторное выравнивание

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.6K

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


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.78.0 вам достаточно выполнить команду:


$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать дальше →
Всего голосов 13: ↑15 и ↓-2+17
Комментарии2

Bodyfuck – как писать программы без клавиатуры и c пользой для здоровья

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров3.1K

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


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


Смотрите, не перепутайте! :-)


Всего голосов 18: ↑20 и ↓-2+22
Комментарии4
1
23 ...