Аппликативные парсеры на Haskell

Автор: admin от 15-01-2019, 20:45, посмотрело: 52

Аппликативные парсеры на Haskell

Мотивация



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



Мне не хватало хорошего примера, где бы окупались усилия, потраченные на освоение "матчасти". Для меня одним из самых удачных таких примеров оказались парсеры. Теперь я довольно часто рассказываю про них, когда у меня спрашивают, для каких распространённых задач можно красиво использовать Haskell.



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



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

Категория: Программирование

 

Звук тишины: сколько безумных гаджетов требуется для достижения обстановки, оптимальной для сна?

Автор: admin от 15-01-2019, 16:35, посмотрело: 45

Звук тишины: сколько безумных гаджетов требуется для достижения обстановки, оптимальной для сна?


Зимними ночами приложение для генерации белого шума, работающее на моём смартфоне, выдаёт звук кондиционера воздуха: дребезжащий металлический звук, похожий на механический шум, раздающийся в глубине вентиляционной системы огромного офисного здания. (Приложение также может предложить такие звуки, как «полоскание в посудомоечной машине», «комнату, полную людей» и «пылесос»).



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



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

Категория: Веб-разработка

 

Я растерял веру в разработку, выгорел, но меня спас культ инструмента

Автор: admin от 15-01-2019, 16:35, посмотрело: 44

Я растерял веру в разработку, выгорел, но меня спас культ инструмента


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



Уколы в адрес технологий разрабы воспринимают на свой счет. Культ инструмента — очень странная штука, которую не объяснить логически. Одни говорят, что культ есть у всех, потому что мышление плотно сплетается с япом. Другие говорят, это джунироская болезнь — ты впервые что-то написал, оно получилось, от восторга ты посчитал свой яп чудом божьим.



Чем бы оно ни было, я эту фигню не понимал никогда.



Сторонники культов кажутся мне непроходимыми тупицами. А я всегда пытаюсь понять, как тупицы стали тупицами, и почему тупицей не стал я. Начал думать и бам! — понял, что все-таки стал. Я тупица-культист, который восхваляет F#. И конечно за этим есть история.

Категория: Веб-разработка

 

PADS Professional — Быстрый старт

Автор: admin от 15-01-2019, 16:35, посмотрело: 100

PADS Professional — Быстрый старт


Доброго времени суток, уважаемый читатель!



Компания Mentor Graphics совместно с Нанософт разработали краткое руководство пользователя в виде серии уроков, которые познакомят начинающих пользователей с базовым функционалом САПР PADS Professional.



За более подробной информацией добро пожаловать под кат.

Категория: Веб-разработка

 

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры)

Автор: admin от 15-01-2019, 16:35, посмотрело: 45

Введение



Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучим структурные паттерны — ValueObject и Entity. Разрабатывать мы будем на языке ruby. В дальнейших статьях разберем все паттерны, необходимые для разработки с использованием Вариативной архитектуры. Все наработки, являющиеся приложениями к данному циклу статей, соберем в отдельный фреймворк.



Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры)



И мы уже подобрали подходящее название — LunaPark.

Текущие наработки выложенны на Github.

Разобрав все шаблоны, соберем один полноценный микросервис.

Зачем нам еще один велосипед?

Категория: Веб-разработка

 

[] Браузерная симуляция физики

Автор: admin от 15-01-2019, 16:20, посмотрело: 48

[] Браузерная симуляция физики



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

Категория: Веб-разработка

 

Плагин kubectl-debug для отладки в pod'ах Kubernetes

Автор: admin от 15-01-2019, 11:40, посмотрело: 117

Плагин kubectl-debug для отладки в pod'ах Kubernetes


В конце прошлого года на Reddit представили плагин к kubectl, помогающий производить отладку в pod'ах кластера Kubernetes — kubectl-debug. Эта идея сразу же показалась интересной и полезной нашим инженерам, так что мы решили посмотреть на её воплощение и рады поделиться своими результатами с читателями хабры.

Категория: Программирование

 

История одного джуниора — как начать работать и не бояться всего подряд

Автор: admin от 15-01-2019, 11:05, посмотрело: 54

История одного джуниора — как начать работать и не бояться всего подряд


От переводчика: сегодня публикуем для вас статью Саиды Аймен Батул, которая рассказывает, как начинающему программисту преодолевать проблемы на пути к профессионализму.



Мне кажется, что синоним программирования — проблемы. И если вы новичок, то проблем у вас в сто раз больше, чем у профессионала. Изучение различных аспектов программирования, создание портфолио, практика в качестве джуна, а затем реальная работа над проектом — все это может быть проблемой.
Read more

Категория: Программирование

 

Компания Google все еще не оплатила штраф в размере 500 тыс. рублей за неисполнение указаний Роскомнадзора

Автор: admin от 15-01-2019, 10:45, посмотрело: 47

Компания Google все еще не оплатила штраф в размере 500 тыс. рублей за неисполнение указаний РоскомнадзораПресс-секретарь Роскомнадзора Вадим Ампелонский заявил о том, что ведомство повторно направило в корпорацию Google требование о необходимости присоединиться к Федеральной государственной информационной системе для фильтрации запрещенного в России контента.



«Второй запрос о необходимости присоединения к ФГИС направлен в Google», — сказал Ампелонский, о чем сообщает ТАСС. Кроме того, пресс-секретарь ведомства заявил, что корпорация Google еще не оплатила штраф в размере 500 тыс. рублей за неприсоединение к ФГИС: «Пока нет. У них еще есть время до 20 февраля».

Категория: Google

 

OceanLotus: атака watering hole в Юго-Восточной Азии

Автор: admin от 15-01-2019, 10:45, посмотрело: 38

Специалисты ESET выполнили анализ новой кампании watering hole, которая нацелена на несколько сайтов в Юго-Восточной Азии. Предположительно атакующие действуют с начала сентября 2018 года. Кампания отличается масштабом – нам удалось обнаружить 21 скомпрометированный ресурс, в том числе – сайты Министерства обороны Камбоджи, Министерства иностранных дел и международного сотрудничества Камбоджи, а также нескольких вьетнамских газет и блогов.



OceanLotus: атака watering hole в Юго-Восточной Азии

По итогам анализа мы установили, что кампанию выполняет группа OceanLotus, также известная как АРТ32 и АРТ-С-00. Группа действует как минимум с 2012 года и специализируется на кибершпионаже, проявляя особый интерес к правительственным учреждениям и диссидентам.

Категория: Веб-разработка

 
Назад Вперед