[Перевод] Регулярные выражения: никакой магии |
.
: соответствие любому символу|
: соответствие abc
или cde
+
: соответствие одному или более предыдущего паттерна*
: соответствие 0 или более предыдущего паттерна(
и )
для группировкиm (t|n| ) | b
позволяющий найти субтитры к Star Wars без субтитров к Star Trek, или (..)*
для нахождения множества всех строк чётной длины.
Метки: author PatientZero регулярные выражения алгоритмы scala regexp конечные автоматы синтаксический анализ парсинг |
[Из песочницы] Пишем макросы для TODO и FIXME в Sublime Text, или как немного кода позволяет сэкономить много времени |
Великий Мастер бился с Хаосом. И чем крепче он бился, тем больше к нему приходило мыслей. Когда приходили мысли о толковом, он записывал их, предваряя магическим словом TODO. Мысли же о бестолковом он тоже записывал, но для таких мыслей у него было другое магическое слово — FIXME. И надо сказать, что от Начала Времён для победы над Хаосом не было более сильных заклинаний, чем эти два.
Предлагаю порассуждать о том, как облегчить себе жизнь и обзавестись простым инструментом с горячими клавишами для вставки в код TODO и FIXME комментариев в популярном редакторе Sublime Text.
Читать дальше →
Метки: author YuriyBakutin управление разработкой программирование sublime text macros todo |
[recovery mode] Анализ регулирования криптовалют на мировых рынках в начале 2018 года |
В острый вопрос регулирования криптовалюты на государственном уровне в разных странах были внесены существенные изменения в новом году. Кратко пройдемся по основным из них:
Метки: author Tugush исследования и прогнозы в it децентрализованные сети блокчейн инвестиции криптовалюта |
Сборка проектов с dapp. Часть 1: Java |
Метки: author diafour блог компании флант dapp java docker |
[Перевод] Фейс-контроль для питомцев |
|
Вебинар «Новые системы хранения данных Fujitsu ETERNUS» |
Метки: author FeeAR хранилища данных хранение данных it- инфраструктура блог компании fujitsu fujitsu вебинар схд eternus |
LL(*) парсер с использованием Rust макросов |
Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo
Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем есть конструкции и принципы, которые еще не скоро появятся в "плюсах", ввиду инерции комитета и множества других причин. Поэтому, для всех личных проектов я предпочитаю использовать именно Rust.
Так сложилось, что с переменным успехом я пишу компиляторы. Не успел правда написать ни одного, но мне более интересен сам процесс, чем результат.
Однажды, когда я в очередной раз застрял с синтаксическим анализатором (он же "парсер"), я подумал, что уж очень много я пишу однотипного кода. И этот однотипный код один в один ложится на грамматику в форме Бэкуса — Наура (БНФ).
Немного подумав, я решил, что мне надо написать генератор кода на основе грамматики. И для этой задачи как нельзя хорошо подходят макросы в Rust.
В статье описана реализация LL(*) парсера с использованием макросов. И реализован парсер простых математических выражений.
В итоге парсер для БНФ грамматики:
expr ::= sum
sum ::= mul "+" sum | mul "-" sum | mul
mul ::= atom "*" mul | atom "/" mul | atom
atom ::= "(" expr ")" | number | neg;
neg ::= "-" atom
Можно сгенерировать с помощью серии макросов:
rule!(expr, sum);
rule!(sum, or![
and![(mul, token('+'), sum) => make_operator],
and![(mul, token('-'), sum) => make_operator],
mul
]);
rule!(mul, or![
and![(atom, token('*'), mul) => make_operator],
and![(atom, token('/'), mul) => make_operator],
atom
]);
rule!(atom, or![
and![(token('('), expr, token(')')) => |_lbrace, stat, _rbrace| Some(stat)],
num,
neg
]);
rule!(neg, and![(token('-'), atom) => |_, number| Some(Box::new(expression::Expression::Negate(number)))]);
Читать дальше ->
Метки: author cosmrc программирование компиляторы rust compilers parsers parser-generator только не макросы опять |
Из спутниковых снимков в графы (cоревнование SpaceNet Road Detector) — попадание топ-10 и код (перевод) |
Привет, Хабр! Представляю вам перевод статьи.
Это Вегас с предоставленной разметкой, тестовым датасетом и вероятно белые квадраты — это отложенная валидация (приват). Выглядит прикольно. Правда эта панорама лучшая из всех четырех городов, так вышло из-за данных, но об этом чуть ниже.
Ссылка на соревнование и подробное описание.
Мы закончили предварительно на 9-м месте, но позиция может измениться после дополнительного тестирования сабмитов организаторами.
Также я потратил некоторое время на написание хорошего читаемого кода на PyTorch и генераторов данных. Его можно без застенчивости использовать для своих целей (только поставьте плюсик). Код максимально простой и модульный, плюс читайте дальше про best practices для семантической сегментации.
Кроме того, не исключено, что мы напишем пост про понимание и разбор Skeleton Network, которую в итоге использовали все финалисты в топе соревнования для преобразования маски изображения в граф.
Суть соревнования на 1 картинке
Метки: author snakers4 обработка изображений машинное обучение python big data satellite imaging pytorch computer vision machine learning data science |
Видео с митапа UralJS #6 — избавляемся от this, типизируем Redux-приложение и пишем на Реакте без тормозов |
На прошлой неделе в Екатеринбурге прошла встреча UralJS. Мы снова собрали сотню разработчиков и порвали коворкинг — пришлось ставить дополнительный монитор на кухне и дублировать экран проектора, чтобы снять нагрузку на основной зал.
По традиции было три спикера — фрилансер, контуровец и злой марсианин. Вот что мы обсуждали:
Читать дальше ->
Метки: author tenebricosa разработка веб-сайтов конференции reactjs javascript блог компании контур uraljs |
Универсальыне приложения React + Express |
Метки: author apapacy разработка веб-сайтов веб-дизайн reactjs node.js javascript react.js redux universal isomorphic next.js |
[recovery mode] Прототип читерского ASO продвижения |
Всем привет!
Сразу скажу, что ещё ни одно мое приложение не пользовалось популярностью, поэтому скорее неверны мои личные суждения о бесполезности настройки ключевых фраз и описания приложения в Google Play. Но знаете, первое желание после публикации долгожданного приложения, чтобы пользователи, наконец, начали его устанавливать и пользоваться. Какое же это разочарование, когда этого не происходит и спустя длительное время, думаю, многие знают. Кажется, что вовсе нет смысла создавать что-то стоящее, если все равно его судьба храниться на свалке маркета.
Метки: author androidovshchik разработка под android продвижение игр поисковая оптимизация аналитика мобильных приложений aso android google play |
[Из песочницы] Вспомнить всё |
Метки: author AG10 читальный зал учебный процесс в it карьера в it-индустрии обучение память человека книги обзор чтение |
Открытый урок «Диаграммы UML» |
Метки: author MaxRokatansky ооп анализ и проектирование систем c++ блог компании отус uml activity diagram проектирование |
Платёжная система в 50 строк кода, реально? |
Метки: author zhek программирование платежные системы solidity javascript blockchain ethereum web3.js smart contracts metamask |
Deep Learning in Natural Language Processing |
Метки: author grachikova учебный процесс в it машинное обучение machine learning nlp machine translation neural networks машинный перевод |
[recovery mode] Анализ регулирования криптовалют на мировых рынках в начале 2018 года |
В острый вопрос регулирования криптовалюты на государственном уровне в разных странах были внесены существенные изменения в новом году. Кратко пройдемся по основным из них.
Метки: author Tugush исследования и прогнозы в it децентрализованные сети криптовалюта анализ |
[Перевод] Подсчитываем коллективный интеллект Хабра (и любой другой организованности людей) |
Метки: author MagisterLudi управление сообществом блог компании philtech-акселератор сообщество community management филтех филантропия open source |
[Перевод] Как стать веб-разработчиком и не сойти с ума |
Метки: author urticazoku разработка веб-сайтов карьера в it-индустрии карьера программиста перевод web- разработка medium.com |
[Перевод] HTTP-коды в комиксах ко Дню Святого Валентина |
Метки: author Cloud4Y читальный зал терминология it браузеры it- стандарты блог компании cloud4y http коды статуса комиксы юмор на хабре |
[Из песочницы] Ещё одна статья про кватернионы и углы Эйлера |
Метки: author tminnigaliev разработка игр математика алгоритмы unity3d кватернионы 3d- графика |