Pull to refresh
-1
0
Artem Doronin @smidtsam

User

Send message

«По вертикали и по горизонтали»: как перенести бумажные сканворды в онлайн, чтобы решать с друзьями на удаленке

Reading time9 min
Views12K

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

Как оцифровать сканворд по фотографии? Насколько сложно сделать систему общего доступа? Действительно ли интересно разгадывать бумажные сканворды на электронном устройстве? Ответы на эти и другие вопросы — под катом.
Читать дальше →
Total votes 71: ↑71 and ↓0+89
Comments9

Mojo: убийца Python и будущее AI

Level of difficultyEasy
Reading time5 min
Views33K

Всем привет! Меня зовут Вадим, я Data Scientist в компании RAFT. Сейчас технологии AI применяются и развиваются во многих сферах деятельности человека, в особенности LLM, про которые уже слышал каждый. В большинстве случаев подобные технологии реализуют на Python, используя различные библиотеки, такие как pytorch, tensorflow, jax. Все они имеют свои преимущества и недостатки. Например, всем известная скорость вычислений.

Читать далее
Total votes 43: ↑34 and ↓9+27
Comments77

Как развивать мышление: уроки гениев

Reading time12 min
Views19K

Что общего между Биллом Гейтсом, физиками Майклом Фарадеем и Ричардом Фейнманом, математиком Андреем Колмогоровым и поэтом Эзрой Паундом? Их идеи изменили мир, а сами они стали новаторами в своих областях. Но как они этого добились? Автор статьи, Nabeel Qureshi, размышляет, как отказ от самообмана, отсутствие спешки и страха показаться глупым делают мышление гибким, а суждения – глубокими. 

Под катом читайте, какие мыслительные привычки отличают гениев и о том, как эти навыки развивать, ведь они, в той или иной мере, есть у каждого из нас.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 41: ↑39 and ↓2+41
Comments10

Амортизационный анализ

Reading time6 min
Views30K
Привет, Хабр!

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

Читать дальше...
Total votes 26: ↑24 and ↓2+22
Comments2

Big O

Level of difficultyEasy
Reading time5 min
Views234K
бинарный поиск
Примечание. Сокращенный перевод, скорее пересказ своими словами.
UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах».


Big O нотация нужна для описания сложности алгоритмов. Для этого используется понятие времени. Тема для многих пугающая, программисты избегающие разговоров о «времени порядка N» обычное дело.

Если вы способны оценить код в терминах Big O, скорее всего вас считают «умным парнем». И скорее всего вы пройдете ваше следующее собеседование. Вас не остановит вопрос можно ли уменьшить сложность какого-нибудь куска кода до n log n против n^2.

Структуры данных


Выбор структуры данных зависит от конкретной задачи: от вида данных и алгоритма их обработки. Разнообразные структуры данных (в .NET или Java или Elixir) создавались под определенные типы алгоритмов.

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

Здесь мы будем использовать только массивы чисел (прямо как на собеседовании). Примеры на JavaScript.
Читать дальше →
Total votes 39: ↑30 and ↓9+21
Comments30

Это база машинного обучения

Level of difficultyEasy
Reading time4 min
Views9.4K

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

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

Можно, конечно, попытаться обойтись и без машинного обучения. Самый простой подход — проанализировать данные и составить понятный набор правил формата if-else (если-то). Между прочим, это применяется в реальной жизни, например, при анализе потребительской корзины. Составляется набор ассоциативных правил вида {хлеб, чай} → {молоко}. Это означает, что если покупатель приобретает хлеб и чай, то, скорее всего, он также купит молоко. Вуаля — мы сделали прогноз на будущее. 

Читать далее
Total votes 8: ↑7 and ↓1+7
Comments9

Популярные алгоритмы машинного обучения. Теоретические основы и реализация с нуля на Python

Level of difficultyHard
Reading time1 min
Views37K

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

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

Читаем QR код

Reading time5 min
Views1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

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

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Total votes 623: ↑614 and ↓9+605
Comments109

Скрапинг современных веб-сайтов без headless-браузеров

Reading time9 min
Views26K


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

Для его демонстрации вместо Selenium, Puppeteer или любого другого решения на основе безголовых браузеров мы просто используем запросы на Python. Я объясню, как можно скрапить информацию из публичных API, которые потребляет на фронтэнде большинство современных веб-сайтов.

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

Но существует и другой способ, которым можно довольно часто пользоваться.
Читать дальше →
Total votes 38: ↑28 and ↓10+28
Comments31

Книга «Python для сложных задач: наука о данных. 2-е межд. изд.»

Reading time11 min
Views9.2K
image Привет, Хаброжители!

Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы найдете подробное описание IPython, NumPy, pandas, Matplotlib, Scikit-Learn и др.

Специалисты по обработке данных, знакомые с языком Python, найдут во втором издании решения таких повседневных задач, как обработка, преобразование и подготовка данных, визуализация различных типов данных, использование данных для построения статистических моделей и моделей машинного обучения. Проще говоря, эта книга является идеальным справочником по научным вычислениям в Python.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments3

Рынок труда и перспективы карьеры в Data Science в 2024 году

Level of difficultyEasy
Reading time8 min
Views16K

На связи команда курсов Data Science OTUS. В данной статье Product Manager Мария Кузьмина собрала аналитические выкладки c hh, бизнес-секреты от Tinkoff и комментарии профессионалов о том, что они думают о специфике рынка труда в Data Sciencе/ML, а также какой стек нужен для разных позиций. 

Согласно прогнозу американской консалтинговой компании Gartner, мировые расходы на информационные технологии в 2024 году увеличатся на 8% и составят порядка 5,1 трлн долларов. Это говорит об очередном повышении спроса на ИТ-специалистов в мире и росте профильных вакансий на рынке труда. А среди языков программирования 1‑е место в области Data Science / ML Engineering занимает Python.

На российском рынке труда, есть хорошие новости для кандидатов из возрастной группы 35+. Ситуация в России в 2023 году характеризовалась значительным дефицитом кадров, который связывают в том числе с последствием демографического спада 90-ых годов. Уровень дефицита достиг максимальных значений за всю историю наблюдений, с hh.индексом опустившимся до 3,1 пункта​​. Количество вакансий увеличилось на 76% по сравнению с началом 2021 года, в то время как число резюме за этот же период выросло всего на 15%​​. Рекрутеры прогнозируют и рекомендуют компаниям расширять привычную воронку найма и смотреть на кандидатов вне определенных негласных стереотипов даже в ИТ сегменте.  

Средняя зарплата российского специалиста по Data Science / ML enginer / Аналитика-разработчика варьируется от 115 до 180 тысяч рублей, причем джуниоры зарабатывают от 60 до 80 тыс. руб., миддлы — от 100 до 250 тыс. руб., а синьоры — от 250 тыс. руб. и выше. Ведущие специалисты с опытом около 5-6 лет могут зарабатывать до 400-500 тыс. рублей в месяц. 

Комментарии экспертов отрасли
Total votes 13: ↑7 and ↓6+2
Comments2

Автоматизируем все с помощью Python: 10 процессов, которые можно сделать лучше

Level of difficultyEasy
Reading time9 min
Views52K

Перевод и адаптация статьи Analytics Vidhya выполнены ProductStar специально для Хабра

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

Читать далее
Total votes 21: ↑7 and ↓14-5
Comments6

Математика для Data Science и машинного обучения за 8 месяцев. Подробный план обучения

Level of difficultyEasy
Reading time7 min
Views97K

Беспилотные автомобили, продвинутые голосовые ассистенты, рекомендательные системы – это только малая часть тех классных продуктов, которые создаются с помощью инженеров по машинному обучению и, думаю, не для кого не секрет, что за кулисами сего чуда стоит математика. Именно она играет главную роль в понимании алгоритмов машинного и глубокого обучения.

Машинное обучение держится на трёх основных столпах:

Читать далее
Total votes 19: ↑18 and ↓1+22
Comments45

Защищённые прокси — практичная альтернатива VPN

Reading time9 min
Views88K

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

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

В этой статье расказано о преимуществах защищённого прокси перед VPN и предложены различные реализации, готовые к использованию.
Читать дальше →
Total votes 23: ↑22 and ↓1+27
Comments52

Где искать достоверную информацию о здоровье: тайничок медицинского копирайтера

Level of difficultyMedium
Reading time4 min
Views6.5K

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

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

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments6

Погружаемся в базы данных и SQL: полезные материалы и инструменты от сотрудников Selectel

Reading time4 min
Views12K

Почему программисты SQL так плохо шутят? Потому что их юмор — это всегда "SELECT * FROM jokes WHERE is_funny = 1".

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

Мы попросили наших коллег порекомендовать полезные ресурсы, которые помогут сделать первые шаги в работе с базами данных и SQL. Сохраняйте подборку в закладки, чтобы сэкономить время на изучение темы, и делитесь своими вариантами в комментариях.
Читать дальше →
Total votes 35: ↑33 and ↓2+40
Comments3

Платформа для анализа данных за вечер

Reading time11 min
Views7.4K

Текущее состояние российского рынка аналитических и ML-решений сложно назвать стабильным. Какие-то инструменты более недоступны, а на их место регулярно приходят новые. Причем не только вендорские, но еще и open source, а также облачные сервисы.

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

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

В статье рассказываем, как всего за час (или почти) подготовить облачное окружение, создать свою небольшую платформу для анализа данных и спарсить весь Hugging Face.
Читать дальше →
Total votes 34: ↑31 and ↓3+36
Comments0

Как учиться учиться и для чего интровертам телеграм-канал

Level of difficultyEasy
Reading time8 min
Views13K

«Лучший способ в чём-то разобраться до конца — это попробовать научить этому компьютер». Дональд Кнут (как минимум викицитатник говорит, что он так сказал).

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

Для тех, кто, как и я, испытывал похожие проблемы, я решил поделиться своим методом.

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

6 развлекательных проектов на Python: от шаверма-бота до игры в слова

Reading time4 min
Views19K

Все, кто кодят на Python, знают, что это далеко не скучный и серьезный язык. При определенной доле фантазии на нем можно написать логику работы любого приложения, даже совершенно гиковского. И есть немало примеров, когда такие пет-проекты становились не только полем развития навыков разработчика, но и коммерческой идеей. Под катом собрали шесть подобных задач от Selectel — для вдохновения и прокачки навыков. Сохраняйте статью в закладки: пригодится всем, кто разрабатывает на Python.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments3
1

Information

Rating
Does not participate
Location
Tübingen, Baden-Württemberg, Германия
Registered
Activity