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

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

Отправить сообщение

[в закладки] Инструменты JS-разработчика, на которые стоит обратить внимание

Время на прочтение10 мин
Количество просмотров22K
Программист Трэвис Фишер, перевод статьи которого мы публикуем сегодня, решил рассказать о самых полезных, с его точки зрения, модулях и вспомогательных инструментах для JS-разработки. Полезными он считает технологии, которыми пользуется постоянно и в ценности которых убедился на собственном опыте. В частности, речь пойдёт о библиотеках и утилитах, предназначенных для серверной и клиентской разработки на JavaScript. Трэвис говорит, что не стремился к тому, чтобы включить в свой материал нечто узкоспециализированное, или сделать что-то вроде очередного awesome-списка, которые сами по себе весьма полезны, но обычно оказываются несколько перегруженными. Здесь речь пойдёт лишь о том, самом лучшем, что он с полной уверенностью может порекомендовать другим.

image
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии12

Yargy-парсер и библиотека Natasha. Извлечения структурированной информации из текстов на русском языке

Время на прочтение12 мин
Количество просмотров86K
В 2020 году библиотека Natasha значительно обновилась, на Хабре опубликована статья про актуальную версию. Чтобы использовать инструменты, описанные в этом тексте, установите старую версию библиотеки pip install natasha<1 yargy<0.13.

Раздел про Yargy-парсер актуален и сейчас.


Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами:



Задача старая и хорошо изученная, для английского языка существует масса коммерческих и открытых решений: Spacy, Stanford NER, OpenNLP, NLTK, MITIE, Google Natural Language API, ParallelDots, Aylien, Rosette, TextRazor. Для русского тоже есть хорошие решения, но они в основном закрытые: DaData, Pullenti, Abbyy Infoextractor, Dictum, Eureka, Promt, RCO, AOT, Ahunter. Из открытого мне известен только Томита-парсер и свежий Deepmipt NER.

Я занимаюсь анализом данных, задача обработки текстов одна из самых частых. На практике оказывается, что, например, извлечь имена из русского текста совсем непросто. Есть готовое решение в Томита-парсере, но там неудобная интеграция с Python. Недавно появилось решение от ребят из iPavlov, но там имена не приводятся к нормальной форме. Для извлечения, например, адресов («ул. 8 Марта, д.4», «Ленинский проезд, 15») открытых решений мне не известно, есть pypostal, но он чтобы парсить адреса, а не искать их в тексте. C нестандартными задачами типа извлечения ссылок на нормативные акты («ст. 11 ГК РФ», «п. 1 ст. 6 Закона № 122-ФЗ») вообще непонятно, что делать.

Год назад Дима Веселов начал проект Natasha. С тех пор код был значительно доработан. Natasha была использована в нескольких крупных проектах. Сейчас мы готовы рассказать о ней пользователям Хабра.
Natasha — это аналог Томита-парсера для Python (Yargy-парсер) плюс набор готовых правил для извлечения имён, адресов, дат, сумм денег и других сущностей.
В статье показано, как использовать готовые правила из Natasha и, самое главное, как добавлять свои с помощью Yargy-парсера.
Читать дальше →
Всего голосов 87: ↑86 и ↓1+85
Комментарии33

Как не стать Python-разработчиком

Время на прочтение2 мин
Количество просмотров105K
Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии42

С 8 марта, хабрадевчонки! Выдающиеся женщины в мире компьютерных технологий

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

Мир информационных технологий очень часто называют миром мужчин. Но это далеко не так. Женщины привнесли в его становление и развитие немало усилий. К сожалению, заслуги многих из них не получали должного общественного внимания и признания в виду социальных «норм» тех времен, когда они творили поистине чудеса. Сейчас же общество изменилось. Конечно, предвзятое отношение к человеку с оглядкой на его национальность, религиозные убеждения, ориентацию и пол все еще встречается. Возможно даже чаще, чем хотелось бы. Однако каких-то 50 лет назад все обстояло еще сложнее. «Не женское это дело — компьютеры собирать» — такую фразу можно было услышать сплошь и рядом. Сегодня я хотел бы познакомить вас с женщинами, для которых не было трудно создавать что-то в мире ИТ, а трудно было об этом рассказывать, ибо мало кто готов был слушать. Поехали.
Всего голосов 34: ↑29 и ↓5+24
Комментарии18

9 лучших книг про IT и программирование, которые вы могли пропустить

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

Помните, Льюис Кэрролл писал: «Здесь приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее»? Это фраза прекрасно подходит для IT-мира: технологии быстро развиваются, и каждый день нужно осваивать что-то новое, чтобы оставаться востребованным специалистом. У каждого программиста наверняка есть 5-6 бумажных книг, ставших классикой. О некоторых таких книгах мы уже писали. Но чтобы оставаться востребованным кодером, надо постоянно обновлять библиотеку. В прошлом году портал DevMountain сделал подборку из семи не слишком популярных книг для начинающих программистов. Учитывалась не только оценка портала, но и отзывы на Amazon, а также рекомендации популярных блогов. Автор GeekBrains Илья Бубнов внимательно изучил этот список, а также дополнил подборку парой свежайших экземпляров.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии3

Как правильно лгать с помощью статистики

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

Существуют три вида лжи: ложь, наглая ложь и статистика (источник)

Есть такой замечательный жанр — "вредные советы", в котором детям дают советы, а дети, как известно, всё делают наоборот и получается всё как раз правильно. Может быть и со всем остальным так получится?

Статистика, инфографика, big data, анализ данных и data science — этим сейчас кто только не занят. Все знают как правильно всем этим заниматься, осталось только кому-то написать как НЕ нужно этого делать. В данной статье мы именно этим и займемся.


Hazen Robert "Curve fitting". 1978, Science.

Структура статьи:
  1. Введение
  2. Предвзятая выборка (Sampling bias)
  3. Правильно выбираем среднее (Well-chosen average)
  4. И еще 10 неудачных экспериментов, про которые мы не написали
  5. Играем со шкалой
  6. Выбираем 100%
  7. Скрываем нужные числа
  8. Визуальная метафора
  9. Пример качественной визуализации
  10. Заключение и дальнейшее чтение

Читать дальше →
Всего голосов 312: ↑309 и ↓3+306
Комментарии74

«Репетитор: математика» для подготовки к ЕГЭ и ВПР — от идеи до релиза. Рассказ об уникальном образовательном проекте

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

Содержание


Вступительное слово
С чего все началось?
Зарождение идеи и задач
Как перевести в цифровой формат то, что делает профессиональный репетитор?
Основные идеи приложения
Как обеспечить индивидуальный подход к каждому пользователю?
Продумывание основных элементов проекта
Дизайн приложения и его флоу-чарт
Дизайн бэк-энда (системы создания и управления ресурсами приложения)
В какой последовательности все делать?
Создание контента
Авторский контент
Перевод авторского контента в систему создания и управления ресурсами
Разработка IT-решения
Разработка бэк-энда
Разработка фронт-энда
Разработка дизайна
Трудности перед релизом
Функционал покупки
Единство дизайна
Логотип приложения
Релиз
Дальнейшие планы развития проекта: что мы делаем сейчас?
Функционал экспертной поддержки
Чат
Кроссплатформенная покупка
Партнерская программа
Блог для учеников и их родителей, учителей и репетиторов и другой контент
Эпилог



Вступительное слово


Уже более года назад — в декабре 2016 г. мы начали продумывать идею приложения «Репетитор: математика», которое позволило бы любому школьнику самостоятельно, просто и эффективно готовиться к экзаменам, которые встретятся в его жизни. При этом хотелось, чтобы наше приложение также было полезно учителям, репетиторам и родителям, являясь для них своего рода "готовыми рельсами" для работы с детьми.



Самый актуальный экзамен в жизни любого школьника — своего рода кульминация всего 11-летнего обучения — это Единый государственный экзамен, известный всем под аббревиатурой ЕГЭ. Подготовка к нему сложна и терниста, особенно если учесть, что в современных реалиях нашего образования далеко не каждый школьный учитель может подготовить своих учеников к сдаче этого экзамена на максимальный балл.
Читать дальше
Всего голосов 24: ↑23 и ↓1+22
Комментарии17

Как мы делали олимпиаду по SQL

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

В самом начале осени 2016 года руководство поставило мне задачу подготовить техническую часть олимпиады по SQL. Обсудив ситуацию с коллегами, в том числе с бывшими, я был ткнут (ткнён?) в статью, где в декларативном стиле на SQL решалась задача по построению кратчайшего выхода из лабиринта. Собрав в одну кучку части запроса и запустив его на настоящей базе, я прошептал "магия!.." и понял, что олимпиаде быть.


Думаю, что типичный читатель Хабра на олимпиадах хоть раз да бывал, но скорее в роли участника, а не организатора. Я тоже бывал на разных, и мне всегда было удивительно, почему на одних олимпиадах интересно, а на других тоска смертная. Могу показать, как выглядит этот театр с другой стороны занавеса, и как я старался, чтобы эта олимпиада оказалась из тех, которые интересные. Интриги, скандалы, расследования — ничего этого не будет. Зато расскажу как готовились задания, что от них ожидали и что получалось в результате.

В кроличью норку сюда
Всего голосов 21: ↑19 и ↓2+17
Комментарии16

Кастомные анимации в мобильном приложении

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

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

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

Кастомные (нестандартные) анимации — это большое поле для экспериментов и развития приложения. Какие знания понадобятся дизайнеру и какие проблемы могут поджидать в процессе разработки? Давайте рассмотрим эти вопросы на примере приложения iFunny.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии0

3D-движок, написанный на формулах MS Excel

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

Скриншот экрана игры

Эта статья посвящена тому, как я смог написать 3D-движок только на формулах Excel. Я реализовал следующий функционал:

  • бесконечная процедурно генерируемая карта лабиринта
  • рендеринг трассировкой лучей в реальном времени
  • вычисление окклюзии
  • рендеринг простейшего освещения
  • шейдер освещения и вычислений
  • движок естественного движения
  • в 3D-движке не используются макросы

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

Можете скачать файл и протестировать его самостоятельно!
Всего голосов 229: ↑226 и ↓3+223
Комментарии101

Чем заняться айтишнику в армии или как я на VBA игры писал

Время на прочтение3 мин
Количество просмотров183K
Прошло уже больше двух месяцев с момента моей демобилизации. Я уже освоился на свободе, пришло время рассказать интересную историю со службы. Служил я в разведке!.. По распределению попал в центр радиоперехвата. Работенка не пыльная, сидишь ночами в наушниках и слушаешь врага. Но речь пойдет не об этом.

У каждого оператора поста радиоперехвата (таковыми мы числились) был в распоряжении компьютер с подключенными к нему радио-приемными устройствами. На компьютере стоял спецсофт + Excel. Все остальное было заблочено. После N-ного дежурства я стал скучать… Зачесались руки.
Читать дальше →
Всего голосов 282: ↑269 и ↓13+256
Комментарии155

Моделирование динамических систем: введение

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

Предисловие


Трудно переоценить значение компьютерного моделирования в современном мире. Давным давно канули в Лету времена, когда траектории выведения спутников на околоземную орбиту вычислялись толпой девушек-расчетчиц с «Феликсами» наперевес (была такая вычислительная машина). Сегодня скромных размеров ящик около вашего рабочего стола решает все мыслимые и немыслимые задачи. Но есть одно «но».



Состояние инженерного образования, не знаю, как там в столицах, а здесь, на периферии, выглядит в контексте данного вопроса удручающе. Винить тут стоит подход к преподаванию в вузах таких дисциплин как «Численные методы решения инженерных задач на ЭВМ», «Математическое моделирование в %нужное впишите сами%» и прочих. Эта беда инженерного образования вытекает из того факта, что в курсах, подобным перечисленным, порой напрочь отрублены междисциплинарные связи. У обучаемого не складывается в голове цепочка: фундаментальная теория -> практическое применение -> инструмент решения задачи.

У меня давно зрела мысль написать цикл, в котором будет разобрано по полочкам всё то, что мы называем современным математическим моделированием. Но сделать это просто и доступно для тех, кто только начинает познавать эту необъятную дисциплину современной науки. Что из этого выйдет, неизвестно, но тех кому стало интересно я приглашаю под кат.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии36

Большой тест термокружек. Личный опыт и тесты на себе

Время на прочтение7 мин
Количество просмотров110K
Некоторое время назад я делал большой сравнительный тест термосов. И в комментариях меня попросили сделать тест термокружек. Что ж, я не мог остаться равнодушным, да и мне самому интересна эта тема, ведь термокружка – это верный спутник автомобилиста.
По традиции, в конце материала видеообзор.


Всего голосов 27: ↑22 и ↓5+17
Комментарии114

Бухгалтерский учет для программистов

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

Введение


Занимаюсь автоматизацией бухгалтерского учета 17 лет. После универа поработал как программист бухгалтерской программы. Выяснилось, что есть спрос на программистов этой программы. Поменял одну работу, вторую. Начал брать заказы на стороне. Выяснилось (или показалось), что выполнять заказы выгоднее, чем получать зарплату. Стал частным предпринимателем. Выяснилось (или опять показалось), что продавать программу выгоднее, чем программировать. Стал дилером. Оказалось, что выгоднее всего – подписка на обновления и обслуживание. Возможно, еще выгоднее сделать веб-сервис для онлайн-бухгалтерии…

В ходе работы приходилось нанимать программистов и обучать основам бухгалтерского учета. Когда обучал программистов бухучету, мне нравилось за час рассказать им всю базовую теорию. Приятно срывать покровы сложности и таинственности. Оказывается, курсы бухгалтеров никому не нужны. Нет такой науки. Разве что набор терминов, в которых путаются сами бухгалтера…
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии182

7 бесплатных курсов по Data Science для начинающих

Время на прочтение2 мин
Количество просмотров127K
Большие данные перестали быть просто модным словом и теперь применяются в сферах от IT до ритейла. Самое время начать разбираться в моделях анализа данных, погрузиться в массивы информации и получить опыт в интересном направлении — Data Scientist. Держите курсы, в которых изучите теорию и наберетесь практики. Профи не станете, но первый шаг сделаете.


Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии1

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

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

Теперь же возник новый тренд — “доступность”. Ведь сейчас сайты просматривают не только с больших мониторов в спокойной обстановке, но и со смартфонов в трясущихся автобусах и ноутбуков в шумных кафе, а среди пользователей появляется все больше пенсионеров и даже людей с ограниченными возможностями.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии14

Анализ публикаций на Хабрахабре за 2017 год. Статистика, полезные находки и рейтинги

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


Подходит к концу 2017 год. Пришло время подвести некоторые итоги. Каким был этот год на Хабрахабре? Чтобы ответить на этот вопрос мы, в Cloud4Y, решили собрать статистику по всем публикациям за прошедший с начала года период. В этой статье мы расскажем о том, что показалось нам наиболее интересным.

С 1 января по 18:00 22 декабря 2017 года на Хабрахабре было опубликовано 10684 поста, которые посмотрели около 123 миллионов раз! Мы не включили в счёт 46 мегапостов и публикации, которые были скрыты или перенесены на Geektimes. В среднем в месяц публиковалось около 900 постов, а рекордным стал март.


Читать дальше →
Всего голосов 92: ↑90 и ↓2+88
Комментарии35

Linux-2017: самые перспективные дистрибутивы

Время на прочтение6 мин
Количество просмотров329K
Настал новый год, а значит – пришло время посмотреть в будущее, найти самые лучшие, самые перспективные дистрибутивы Linux.



Дистрибутивы Linux часто бывают ориентированы на конкретные задачи. Поэтому не получится просто составить список операционных систем и сказать: «они – самые лучшие». Здесь выделены несколько областей использования Linux и выбраны те дистрибутивы, у которых есть все шансы стать первыми в своей нише в 2017-м.
Читать дальше →
Всего голосов 63: ↑46 и ↓17+29
Комментарии184

ИИ для личных целей: помощь с образованием, работой и планированием

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


На фоне новостей в области ИИ обычные стартапы как-то теряются. На arxiv.org в геометрической прогрессии растут исследования по machine learning (computer vision, natural language processing, etc.). AlphaGo Zero порабощает Землю разгромно обыгрывает прошлые версии сети и не требует человеческого участия в процессе тренировки. Нейросеть NVIDIA меняет на фото время года и погодные условия, а умельцы с помощью выложенного алгоритма меняют в фильмах актрис на… других актрис.


Как на фоне роста новостей по ИИ остаться жизнеспособным проектом? Когда-то Рэй Курцвейл предсказывал: «В 2029-м году программа не только сможет полностью пройти тест Тьюринга, а сделает это лучше многих реальных собеседников. Компьютер за тысячу долларов будет на порядки превосходить мозг среднего человека в большинстве областей». Однако сейчас эксперты говорят, что есть шансы получить сильный ИИ «в течение 5 лет с вероятностью 80 % и в течение 10 лет с вероятностью 99 %».


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

Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии15

Создание игр на Python 3 и Pygame: Часть 3

Время на прочтение5 мин
Количество просмотров28K
image
(Остальные части туториала: первая, вторая, четвёртая, пятая.)

Это третья из пяти частей туториала о создании игр с помощью Python 3 и Pygame. Во второй части мы рассмотрели класс TextObject, используемый для рендеринга текста на экран, создали основное окно и узнали, как отрисовывать объекты: кирпичи, мяч и ракетку.

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

Обработка событий


В Breakout есть три типа событий: события нажатий клавиш, события мыши и события таймера. Основной цикл в классе Game обрабатывает нажатия клавиш и события мыши и передаёт их подписчикам (вызывая функцию-обработчик).

Хотя класс Game очень общий и не обладает знаниями о реализации Breakout, сама подписка и способы обработки событий очень специфичны.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность