При изучении дата‑инжиниринга часто возникает вопрос: «откуда брать данные?»
В данной статье вы узнаете про крутые инструменты, которые позволят вам создавать свои pet‑проекты c использованием разнообразных данных.
User
При изучении дата‑инжиниринга часто возникает вопрос: «откуда брать данные?»
В данной статье вы узнаете про крутые инструменты, которые позволят вам создавать свои pet‑проекты c использованием разнообразных данных.
Привет, друзья!
В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это пятая часть серии.
Сегодня мы рассмотрим систему непересекающихся множеств, фильтр Блума и кэш актуальных данных.
Код, представленный в этой и других статьях серии, можно найти в этом репозитории.
Интересно? Тогда прошу под кат.
Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки. Моя цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но пожалуйста, относитесь к этому контенту, как просто к альтернативному мнению. Мои техники не являются единственными правильными решениями.
Сегодня мы рассмотрим:
height
со значением auto
для изображений;Давайте посмотрим, что я вам подготовил.
Теория вероятностей — важный инструмент, который помогает создавать случайные числа для симуляций и криптографии, улучшать алгоритмы и структуры данных, а еще — разрабатывать точные модели для машинного обучения.
Вместе с Ильей Котовым, специалистом по Data Science в МТС Big Data, разбираемся в основных понятиях теории вероятностей и рассказываем, где и как ее используют.
Hibernate — очень мощный и функциональный ORM (Object-Relational Mapping) фреймворк. Он связывает базы данных с помощью объектно-ориентированных языков программирования. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить».
В статье делимся рецептами работы с Hibernate и Spring Data JPA: они помогут решить многие проблемы, возникающими при использовании фреймворка.
ИИ готовится заменить сотни тысяч должностей не только в разработке ПО, но и во множестве других областей: в журналистике, творческой работе, общении с покупателями и так далее. Это та же самая мантра, которую мы слышим по поводу каждой технологической инновации: «Компьютер полностью заменит людей». Старая история из фильмов про терминаторов.
Хотя я уже перечислил некоторые возможные последствия для ПО в своей статье «Мы снова в кризисе ПО, но в ближайшее время ИИ никого не заменит», мне бы хотелось рассмотреть, что произойдёт, если большие языковые модели (Large Language Model, LLM) полностью заменят человеческий труд. Содержание дилеммы будет практически одинаковым для всех областей, но я сосредоточусь на разработке ПО, потому что самые громкие заявления об LLM звучат как раз в её сторону.
Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".
В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительности запросов, разбор [не]эффективного применения индексов и особенностей работы транзакций и блокировок в этой СУБД.
Курс не претендует на лавры "войти в айти", поэтому подразумевает наличие у слушателя опыта программирования или работы с другими СУБД, и, главное, желания самостоятельно изучать тему работы с PostgreSQL глубже.
Для тех, кому комфортнее смотреть и слушать, а не читать - доступна видеозапись и слайды.
Сегодня я расскажу о том, как был подготовлен материал об одиночестве, «24 hours in an invisible epidemic», опубликованный на платформе Pudding.
Всё началось с моей одержимости материалами Американского обследования использования времени (American Time Use Survey, ATUS). Каждый год в ходе соответствующего мероприятия проводится опрос десятков тысяч американцев. Им предлагают проследить за одним днём своей жизни. Полученные данные позволяют получить некие общие показатели и, при желании, добраться до каждого респондента и узнать о том, чем занимался именно он.
В последнее время большие языковые модели (Large Language Models, LLM) стали невероятно популярными — кажется, их обсуждают везде, от школьных коридоров до Сената США. Сфера LLM растёт бурными темпами, привлекая внимание не только специалистов в области машинного обучения, но и обычных пользователей. Кто-то высказывает массу опасений насчет их дальнейшего развития, а кто-то и вовсе предлагает бомбить дата-центры — и даже в Белом Доме обсуждают будущее моделей. Но неужели текстом можно кому-то навредить? А что если такая модель приобрела бы агентность, смогла создать себе физическую оболочку и полностью ей управлять? Ну, это какая-то фантастика из (не)далёкого будущего, а про агентов нашего времени я расскажу в этой статье. И не переживайте — знание машинного обучения вам не понадобится!
Привет, Хабр!
NLTK предлагает удобные инструменты для множества задач NLP: токенизация, стемминг, лемматизация, морфологический и синтаксический анализ, а также анализ настроений. Библиотека идеально подходит как для начинающих, так и для опытных разработчиков, предоставляя интуитивно понятный интерфейс и обширную документацию.
В NLTK включены корпуса текстов и словарные ресурсы, такие как WordNet, позволяющие работать с огромным объемом текстовых данных. Это делает NLTK мощным инструментом для анализа и обработки текста на разных языках.
NLTK — это свободно распространяемая библиотека Python, разработанная для работы с человеческим языком. Это комплексный набор инструментов, предназначенный для символьной и статистической обработки естественного языка. Она предоставляет легкий доступ к более чем 50 корпусам текстов и лексическим ресурсам, таким как WordNet, а также набор библиотек для классификации, токенизации, стемминга, метки частей речи, синтаксического анализа и семантического рассуждения.
Недавно отвечал на вопрос почему аннотации @Scheduled
и @Async
иногда используют вместе, данный вопрос попался человеку на собеседовании.
Многие начинающие разработчики на java не до конца понимают в каких потоках происходит выполнение программы в таком случае.
В данном материале постараюсь объяснить зачем аннотации @Scheduled
и @Async
ставят вместе, какая проблема при этом решается, в каких потоках происходит работа программы и как делать правильно.
Подписывайтесь на мой блог в телеграм, где я раньше всего публикую все материалы.
Про городской округ Сочи я высказывал свое мнение в "Я бы не жил в Сочи в этих местах…"
В этой статье найду места на оставшейся части побережья Краснодарского края на основе данных OpenStreetMap где могут быть проблемы из-за близости к жилью не самых комфортных мест для уютной жизни на побережье Черного Моря. Показать результаты работы моей модели для Туапсе просили еще в комментариях к первой статье "Где бы вы точно не жили и не остановились даже на время, если бы знали и выбирали на основе фактов".
Этот документальный фильм стал для меня справочным пособием по маркетингу. Интервью с участниками торжества, видеохроники и реальные факты, которые я потом перепроверял по первоисточникам. Но с фильмом как с методичкой трудно работать, поэтому мои труды последнего года — это переводы научных статей, публикации лит.обзоров, расширенные в контентной части статьи по теме.
Задача: в БД необходимо фиксировать кто создал сущность, кто её обновил, и кто её удалил.
Все знают, как взять пользователя из контекста и сунуть его в сущность. Допустим, на уровне сервиса в методе извлечь информацию о нём и «засетать» его в нужные поля (придётся везде таскать этот кусок кода по сервису), а с аспектами как‑то выглядит не явно и накладывает ряд обязательств (например, развешивание аннотаций над методами всякий раз, когда мы что‑то пытаемся сделать с сущностью (новые участники команды могут не знать о такой неявной практике, а старые забыть о ней)).
Мне хотелось полностью делегировать это приложению, но погуглив, я не нашёл какого‑то явного решения. Сейчас расскажу, как мне удалось это сделать:
Весь месяц мы делись разработческими процессами и всякими полезностями: где сэкономить, как улучшить. Но ни разу не говорили о том, чем занимаемся сами — исправляемся! Расскажем, как оптимизировали бизнес, автоматизировав работу суровых дальнобойщиков, потому что вопрос эффективности сегодня чуть ли не самый острый.
Кстати, рекомендуем читать кейс под «Тихий огонёк моей души» :)
Хабр, привет! В прошлой статье про UML мы узнали что такое язык моделирования UML, зачем он нужен, основные плюсы и минусы UML, а также рассмотрели диаграмму классов. Сегодня я хочу продолжить тему проектирования процессов и остановиться на диаграмме компонентов.
Хабр, привет! Меня зовут Витя, я работаю системным аналитиком, сегодня хочу рассказать про такой обязательный навык аналитиков, как проектирование процессов. Думаю, что каждый, кто будет работать на позиции системного/бизнес аналитика, рано или поздно столкнется с такой задачей.
Руководство? Гайд? В общем ремейк описания моего опыта создания простой, а главное понятной любому новичку нейросети :)
Дисклеймер: хочу сказать, что смысл этой статьи не в правильном способе создания нейросетей, таких статей сотни, а в способе понять, что такое нейросети и наконец перейти от теории к практике.
Привет, Хабр!
На связи участник профессионального сообщества NTA Максим Алёшин.
Сегодня создание интерактивной карты на python не составляет большого труда: стоит подключить библиотеку (например, Folium или Bokeh), указать картографический сервер, и после выполнения нескольких «магических» строк кода ваши данные как на ладони!
Но что делать, если данные есть, визуализировать их хочется, а в сети, в которой вы работаете, нет доступа к картографическим серверам? В этом случае помогут Plotly и GeoPandas. Но придётся провести ряд подготовительных работ. В этом посте шаг за шагом я покажу, как построить интерактивную карту России по регионам с помощью Plotly, которая будет работать без интернета, регистрации и смс.
Spring Framework позволяет сфокусироваться на бизнес-логике, а вся настройка инфраструктуры выполняется автоматически благодаря постобработке бинов. Зачастую для реализации дополнительной функциональности применяется Spring AOP - аспектно-ориентированное программирование.
Spring AOP бин, который накручивает дополнительную функциональность другим Spring бинам, помечается аннотацией @Aspect
, но как потом этот бин используется для добавления дополнительной функциональности в поток исполнения?
В статье будет рассмотрен механизм проксирования объектов и его применение в Spring Framework.