en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Data Science: Алгоритмы и Структуры данных

Data Science: Алгоритмы и Структуры данных

Open in Telegram

Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata

Show more
7 577
Subscribers
-424 hours
-187 days
-6330 days
Posts Archive
Если у вас есть хоть 1 банковская карта — можете смело сломать ее пополам Горько признавать, но 97% людей используют карты то
Если у вас есть хоть 1 банковская карта — можете смело сломать ее пополам Горько признавать, но 97% людей используют карты только ради покупок. И даже не подозревают, что можно: обнулить любой кредит, получить льготную ипотеку и спокойно жить на кешбэках «Хитрые» сотрудники банков не говорят о скрытых функциях и молчат про халявные условия. Но есть канал — Беспощадный банкстер, где раскрывают все карты Загляните и до конца жизни сможете законно брать кредиты под 0%, навсегда уберёте с карт все списания и комиссии, поставите себе 10-процентный кэшбэк НА ВСЁ. Вот ссылка — @bezposhady

PQ3, Apple’s New iMessage Security Protocol: что нового? Хоть убейте, не нашёл отличий. Впервые увидел на Коде Дурова, там, как обычно, не дали подробностей. Ключи используются от устройств, ну и что? Сейчас не также? Также. Приватный ключ здесь, публичный остальным, приватный никому не показываем. Всё, пошло поехало. Но это же Apple! Не может всё так быть просто. Окей, ищу дальше, натыкаюсь на securitylab, там уже побольше подробностей: Примечательно, что каждое устройство в системе iMessage генерирует уникальный набор ключей шифрования, а приватные ключи никогда не покидают устройство. Протокол предусматривает регулярную замену публичных ключей на новые, усиливая тем самым защиту данных пользователя. PQ3 использует уникальный подход к шифрованию каждого сообщения, вводя новую энтропию, что делает невозможным детерминированное восстановление ключей из текущего состояния беседы. Это обеспечивает, так называемые, самовосстанавливающиеся свойства протокола. https://habr.com/ru/articles/796065/ Алгоритмы и Структуры данных

Когда в первый рабочий день джуном смотришь на свои задачи… Человек прошел обучение, отбор посредством собеседования, имеет багаж знаний. После освоения навыков, набравшись практики (в наши дни стать junior-разработчиокм без практики нереально) добравшись до цели в виде трудоустройства. Не успев толком продышаться сразу сталкивается с такой вещью как бизнес процессы. Пытается понять что от него хотят коллеги по работе и как тут вообще все устроено. Он чувствует растерянность. Но тут стоит оговориться что бизнес это конкурентная среда. Там всем приходится непросто. Смотрите: программист это ремесленник, инструмент которым он пользуется сложный и не понятный - это его собственный мозг. Своим мозгом он обслуживает бизнес процессы. Решает задачи за счет которых приложение работодателя остается в рабочем состоянии и развиваются с точки зрения прибыли. Поток этих задач такой, что нет времени плавно погружаться в процесс, надо срочно в бой. Если вы не знакомы с программированием, взгляните на примеры кода и вы примерно ощутите тоже самое что junior-разработчик в свой первый рабочий день. Если ИТ вас заинтересовало С мемом вроде понятно, но раз мы на Хабре, давайте копнем глубже. Представим что junior-разработчик чувствует после того как открывает книгу на 900 страниц что-бы разобраться в PHP (к слову пропорционально количеству вкладок в браузере). Думаю ощущения эти мягко говоря так себе. Открывать все это он вынужден по причине огромного количества языковых конструкций в проекте. За неимением опыта разработчику тяжело погрузиться в уже выстроенную работу с языком. И давайте поговорим зачем вообще нужно понимать что делает код. https://habr.com/ru/articles/796047/ Алгоритмы и Структуры данных

Станьте IT-специалистом с зарплатой от 100 000 рублей бесплатно 👉 Только в феврале GeekBrains дарит 3 недельное обучение на профессию Python разработчика бесплатно. Записавшись на обучение, вы получите не только технические знания, но и возможность войти в профессию с высоким спросом и перспективами для карьерного роста. Не упустите шанс начать свой путь в IT с поддержкой опытных преподавателей и располагающей обучающей средой. Зарегистрируйтесь сейчас и получите бонусом карьерную консультацию. Реклама. Информация о рекламодателе по ссылкам в посте.

Переворачивающиеся при умножении числа Расскажу о серии задач, которая случайно возникла в процессе решения другой задачи. Мне на глаза попалось равенство: 81 * 27 = 2187 – Интересно, – подумал я. – А бывают ли ещё такие числа, чтобы цифры слева и справа повторялись? Всего нашлось 7 двузначных пар, включая одну с теми же цифрами: 15 * 93 = 1395 21 * 60 = 1260 21 * 87 = 1827 27 * 81 = 2187 30 * 51 = 1530 35 * 41 = 1435 80 * 86 = 6880 Затем я решил посчитать, сколько пар n-значных чисел удовлетворяют этому свойству: набор цифр и количество повторений каждой из них слева и справа от знака "равно" совпадают. Заметим, что произведение двух n-значных чисел может иметь как 2n-1, так и 2n знаков. (Можно вычислить, что доля пар n-значных чисел, для которых в произведении 2n знаков составляет примерно 82,7%). Для небольших значений n я получил результат с помощью программы на Питоне. Алгоритм очень простой - берём все пары чисел, переводим в десятичное представление и сравниваем наборы цифр в паре чисел и в их произведении. На вычисление количества пар для n=5 ушло более 3 часов. Переписав на С++, на вычисление ушло 25 минут, но т.к. следующее значение требует рассмотрение в 100 раз больше пар, то ждать так долго не хотелось. https://habr.com/ru/articles/795935/ Алгоритмы и Структуры данных

Интерактивная диаграмма Ганта для тысяч работ В этой статье будут рассмотрены следующие проблемы: Наши пользователи хотят отображать на диаграмме 1, 3, 5, а то и 10 тысяч работ. На диаграмме работы должны быть отсортированы, при этом у некоторых имеются вложенные работы, т.е. у работы с номером '1.' может быть работа с номером '1.1.'. Работа с номером '1.1.' должна идти перед работой с номером '2.', и в то же время работа с номером '11.' должна идти после работы '2'. Лексикографическая сортировка здесь не подходит. Данные в БД изначально не отсортированы (удовлетворяют 1NF). Пользователи хотят сворачивать вложенные работы. Если есть работа с номером '1.' с 1e3 вложенных работ, и пользователь её скрывает, он должен незамедлительно увидеть сразу после неё работу '2'. Далее максимум внимания уделен архитектурным и алгоритмическим решениям сначала на фронт-энде, затем на бэк-энде. Мы используем популярное сочетание React + Nest + PostgreSQL, поэтому далее будут небольшие пояснения, как именно они ложатся на этот стэк. https://habr.com/ru/articles/795923/ Алгоритмы и Структуры данных

Pornhub заплатит $14 за просмотр каждого ролика, который длится больше 20 минут А «Вкусно и точка» подарит сертификат на 3000р, если оставить положительный отзыв в телеграме и отметить их аккаунт в сториз. Канал Лимон 🍋 находит СОТНИ бизнес-подработок, с которыми даже лодырь сможет получать лишние 60-70 тысяч. – Зритель фильмов на Кинопоиске – 4.000р за 2 часа – Автор отзывов на Google Maps – 100р/штука – Помощник блогера на ютубе – $600/мес Подпишитесь, если хотите работать на себя и получать за это неплохие деньги: https://t.me/+EZ8uccJ8lX80MWYy

Как хранить токены и пароли в программах на Python Уже на первом этапе изучения языка python я думаю все, как и я, озадачиваются вопросом – как быть с секретными данными – логины, пароли, токены и т.п. Как и где их хранить? Ну не прописывать же их явно в тексте программы, а потом еще и на Гитхабе размещать. Особенно эта тема актуальна в сфере алготрейдинга, здесь думать о доступах и секретности паролей надо в первую очередь. Информации в сети достаточно. Но я решил кратко законспектировать основные варианты, для быстрого понимания только начинающих изучать этот вопрос. https://habr.com/ru/articles/795881/ Алгоритмы и Структуры данных

Станьте Python-разработчиком за 0₽ Зарплата начинающего Python разработчика от 100 000₽, а стоимость обучения на профессию в
Станьте Python-разработчиком за 0₽ Зарплата начинающего Python разработчика от 100 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 300 000 рублей. Получите основы профессии и ключевые навыки за 3 недели практики. ⚠️ Переходите по ссылке и забирайте курс по Python — только до 26 февраля: https://go.2038.pro/785ad3d589bc03c0?erid=LdtCK7b7u&m=1

Разделяй и Властвуй. Разбор задач Решение задач с помощью метода "Разделяй и Властвуй" или по-английски "Divide and Conquer" является одним из базовых методов по ускорению алгоритмов. Примером тому служит переход от квадратичной сложности пузырьковой сортировки или сортировки вставками к сложности \inline O(n\log{n}) при сортировке слиянием. Или переход от линейной сложности к логарифмической, при реализации поиска элемента в отсортированном массиве (см. бинарный поиск). В этой статье мы рассмотрим два примера задач с пояснениями и кодом, в которых будет использоваться этот подход. Для начала сформулируем, разделение и властвование. Решение задачи с помощью данного подхода обладает следующими тремя свойствами: https://habr.com/ru/companies/otus/articles/599309/ Алгоритмы и Структуры данных

Подготовка к собеседованию на позицию Data Scientist. Часть 1: Live Coding Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor). Мы строим скоринговые (credit scoring), лидогенерационные (lead generation) и антифрод (anti-fraud) модели на телеком данных, а также делаем гео-аналитику (geoanalytics). В январе 2022 года я создал репозиторий, чтобы хранить там ссылки на материалы по различным темам: подготовка к собеседованиям, computer science, data science, git, математика и многие другие. За все это время репозиторий разросся до таких размеров (и по количеству материалов, и по набору топиков), что я пришел к выводу, что нужно каким-то образом структурировать эту информацию. В итоге, блок с материалами для подготовки к собеседованиям я решил выделить в отдельный репозиторий, а для того, чтобы было понятно как эти материалы использовать, было решено написать серию статей, первую из которых вы читаете прямо сейчас. https://habr.com/ru/companies/megafon/articles/795261/ Алгоритмы и Структуры данных

Как устроен языковой сервер В этом посте я хочу прокомментировать один любопытный комментарий из базы кода rust-analyzer. Вот этот комментарий. Здесь описан интересный рекурсивный алгоритм, неоднократно встречающийся в разных аспектах программирования языковых серверов. Я видел реализации такого алгоритма на Kotlin и C#, а затем сам реализовал его на Rust. https://habr.com/ru/companies/piter/articles/795335/ Алгоритмы и Структуры данных

Новый рекорд производительности FizzBuzz 283 ГБ/с на AMD Ryzen 9 7700X. https://habr.com/ru/articles/794925/ Алгоритмы и Структуры данных

О чем говорят руки. 2 место на соревновании Kaggle Соревнование под названием Google - Isolated Sign Language Recognition проводилось на платформе Kaggle и длилось около трех месяцев. Помимо Google в организации соревнования приняли участие Технологический институт Джорджии и организация D-PAN, которая поддерживает творческих профессионалов с нарушениями слуха. Целью данного соревнования было разработать алгоритмы для распознавания жестового языка. Эта инициатива была направлена на сокращение коммуникационного барьера между глухими и слышащими людьми, предлагая технологическое решение, которое могло бы облегчить процесс обучения языку жестов. В следующих разделах я расскажу более подробно о технических аспектах соревнования, нашем подходе к решению задачи и о том, какие проблемы возникли у нас на этом пути. https://habr.com/ru/articles/795109/ Алгоритмы и Структуры данных

Полиномиальные корневые методы синтеза САУ ч.2 Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения автора, читатели Хабр будут первыми кто сможет оценить. Первая часть здесь... https://habr.com/ru/articles/793010/ Алгоритмы и Структуры данных

Хотите построить карьеру в сфере IT, но не знаете, с чего начать? Начните с изучения легендарного языка программирования — C+
Хотите построить карьеру в сфере IT, но не знаете, с чего начать? Начните с изучения легендарного языка программирования — C++. Разработчики на C++ работают в крупных IT-компаниях, геймдеве, веб-разработке, создают корпоративные и банковские приложения, проектируют операционные системы и софт для роботов. Зарплаты разработчиков на С++ одни из самых высоких в отрасли. По данным сервиса zarplan. com, средняя зарплата таких специалистов на декабрь 2023 — 226 300 руб. На онлайн-курсе «Профессия Разработчик на C++ с нуля» от Skillbox вы сможете освоить профессию всего за 7 месяцев: ✔️ Выучите С++ — универсальный язык, на котором пишут веб-приложения, игры, драйверы и десктопные программы. ✔️ Пополните портфолио проектами, среди которых поисковый движок. ✔️ Получите гарантию трудоустройства после курса. В противном случае — вам вернут деньги за курс. Узнать подробнее и получить скидку до 50% можно здесь: https://epic.st/TUS01p Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

Обзор библиотеки Stan в R Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм оптимизации LBFGS для максимизации целевой функции, к примеру как логарифмическое правдоподобие. Для облегчения работы с Stan из языка программирования R доступен пакет rstan, который предоставляет интерфейс R для Stan. Сегодня мы и рассмотрим этот пакет. https://habr.com/ru/companies/otus/articles/794196/ Алгоритмы и Структуры данных

Вороной, Манхэттен, рандом Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться. Итак, у нас был один программист, один художник, абсолютное непонимание рабочего процесса, незнакомый нам игровой движок и желание что-то намутить. Если вам интересно, как в одном месте сошлись карта Вороного, частный случай расстояния Минковского, преобразования над полигонами, процедурная генерация и шумы — и все это в красивой стилизованной обертке, то вам под кат. https://habr.com/ru/articles/794572/ Алгоритмы и Структуры данных

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность. При изучении алгоритмов расслабьтесь и получайте удовольствие, ведь есть ненулевая вероятность, что вам понадобятся полученные знания вне собеса. Кто знает, может однажды умение быстро обходить двоичное дерево поможет спасти вам мир (как и знание регулярок): https://habr.com/ru/articles/794556/ Алгоритмы и Структуры данных

Работа процессора (физический препроцессор) без счётчика команд Тех кто ожидает наукоёмкости от чтения - сразу прошу не читать, тут нет ничего на что можно было-бы сослаться кроме собственнных работ, а значит и наукоёмкости публикации не содержит - прошу простить заранее за такую дерзость, и заметить что предупреждение мной всё же об этом было. На самом деле, ввиду прошлой публикации (последствия которой я постараюсь исправить, так как наверное многие решили что это плод воображения - новая архитектура) - препроцессора, так как рассматриваю процессор и пост процессор. Для того, чтобы понять ход мыслей лучше, и то, что всё это не фантазии, а результат работы - стоит ознакомиться с этой предыдущей публикацией, она не сильно длинная - но время отнимет, хоть и не сильно сложная. Ознакомившись с ней станет понятно что имеется ввиду под модификациями кода (смена формул и выключение строк кода в рантайме), под модификациями кода подразумевается просто включение и выключение исполняемых команд, кода. Изначально мной предполагалось, что кэш мостов будет состоять из параллельных частей, и скорее всего в такой архитектуре конвейера он должен будет и обеспечивать работу меток и указателей (но сейчас не про них). В каких-то публикациях мне сделали замечания что мало графики и рисунков (вроде как про поляризацию для машинного зрения), но как можно увидеть из публикации по ссылке выше - оказалось достаточно одной блок-схемы чтобы отполировать и видоизменить весь код, и даже до той степени, чтобы задуматься о новой архитектуре. https://habr.com/ru/articles/794544/ Алгоритмы и Структуры данных