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

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

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

Нет, динамические системы типов по своей сути не более открыты

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

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


Читать дальше →
Всего голосов 77: ↑69 и ↓8 +61
Комментарии 440

Создание бизнес-процесса на языке BPEL с использованием платформы Serena Business Manager

Время на прочтение 3 мин
Количество просмотров 13K
Пройдясь поиском по Хабрахабру, удалось обнаружить не так уж и много информации, посвященной, надо сказать, не очень распространённому языку BPEL (Business Process Execution Language). Если говорить в общем, то BPEL – это язык, основанный на формате XML, который позволяет описывать логику бизнес-процессов через использование веб-служб.


Реализаций движков, позволяющих создавать процессы с использованием этого языка, мне известно не так уж и много. В частности, можно упомянуть Oracle BPEL Process Manager и продукт, о котором пойдет речь дальше – Serena Business Manager (SBM). SBM позволяет быстро создавать web-приложения, автоматизирующие какой-нибудь процесс. В модели процесса (workflow) предусмотрена возможность в момент изменения состояния вызвать внешнюю web службу. А если нужно реализовать какую-нибудь логику и одного вызова недостаточно? Вот тут и пригодится процедура, написанная на языке BPEL и исполняемая средствами той же платформы BPM.

Подробнее на самом языке я останавливаться не буду, в сети можно найти достаточно информации на эту тему, например, здесь. Я же опишу реализацию конкретной задачи.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 6

Языки описания интерфейсов

Время на прочтение 10 мин
Количество просмотров 17K
Наткнулся на любопытный обзор языков описания интерфейсов на сайте www.raleigh.ru. Обзор, правда, не первой свежести, но все еще вполне актуальный.
Подробнее о UIML, XUL, XAML, MXML и Web Applications
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Веб-сервисы в теории и на практике для начинающих

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

Что такое веб-сервисы?



Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

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

Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.

Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Комментарии 30

Типизируя техническое интервью

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

Предлагаю читателям "Хабрахабра" перевод статьи Kyle Kingsbury, a.k.a "Aphyr".
Ранее: Заклиная техническое интервью


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

Читать дальше →
Всего голосов 27: ↑20 и ↓7 +13
Комментарии 7

Почему люди не используют формальные методы?

Время на прочтение 20 мин
Количество просмотров 14K
На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле это верно, но мало что объясняет. Я написал эту статью, чтобы дать более широкую историческую картину формальных методов (FM), почему они на самом деле не используются и что мы делаем для исправления ситуации.

Прежде чем начать, нужно сформулировать некоторые условия. На самом деле существует не так много формальных методов: всего несколько крошечных групп. Это означает, что разные группы по-разному применяют термины. В широком смысле есть две группы формальных методов: формальная спецификация изучает запись точных, однозначных спецификаций, а формальная проверка — методы доказательства. Сюда входят и код, и абстрактные системы. Мало того, что мы используем разные термины для кода и систем, мы часто используем разные инструменты для их верификации. Чтобы ещё больше всё запутать, если кто-то говорит, что создаёт формальную спецификацию, обычно это означает и верификацию дизайна. А если кто-то говорит, что делает формальную верификацию, обычно это относится к верификации кода.
Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Комментарии 18

Идея, взятая из физики, помогает ИИ работать в высших измерениях

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

Законы физики не меняются от смены точки зрения. Однако эта идея помогает компьютерам распознавать определённые особенности в искривлённом пространстве высших измерений.




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

Но в применении к наборам данных, не сводимых к геометрии на плоскости – к примеру, к моделям неправильных форм, используемых в трёхмерной компьютерной анимации, к облакам точек, генерируемых робомобилями для разметки окружающего их мира – эта эффективная архитектура машинного обучения (МО) уже не так хорошо работает. В 2016 году появилась новая дисциплина, геометрическое глубокое обучение (ГГО), целью которой стало вывести СНС за пределы плоскости.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 1

Марвин Мински «The Emotion Machine»: Глава 5 «Обдумывание»

Время на прочтение 10 мин
Количество просмотров 2.2K
Как привнести «человеческое» в технологии и как технологии помогают понять и улучшить и масштабировать «человеческое»?

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

image


§5-3. Обдумывание


image


Когда Джоан выбирала что ей делать – перебегать дорогу вперёд или убежать назад, ей нужно было выбрать одно из следующих правил:

Если ты на проезжей части, То убеги с неё
Если ты на проезжей части, То быстро перебеги её


Однако, для того, чтобы Джоан приняла эти решения, ей необходим какой-то механизм, который бы предсказывал и сравнивал возможные варианты разрешения этой ситуации. Что помогает Джоан делать подобные предсказания? Простейший способ – иметь при себе коллекцию трёхсоставных правил «Если –> То –> В таком случае», в котором каждое Если описывает конкретную ситуацию, каждое То описывает конкретное действие, а каждое Затем описывает возможный результат проделанной работы.

image


Если ты находишься на проезжей части, То убеги назад, В таком случае попробуй перейти дорогу немного позже
Если ты находишься на проезжей части, То перейди её, В таком случае ты прибудешь гораздо раньше
Если ты находишься на проезжей части, То перейди, В таком случае ты можешь получить раны

Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 0

Ричард Хэмминг: «Необъяснимо высокая эффективность математики»

Время на прочтение 23 мин
Количество просмотров 49K
«Это самое глубокое эссе, которое я видел относительно философии науки; на самом деле, оно важно для всего нашего понимания мысли, познания или реальности.»

image

Пролог


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

Человек, насколько мы знаем, всегда задавался вопросом о себе, мире вокруг и смысле жизни. Во множестве мифов повествуется о том почему и как Бог или боги создали человека и вселенную. Это теологические объяснения. Их отличительная черта — нет смысла спрашивать почему вещи таковы, как они есть, если боги создали их такими.

Философия возникла тогда, когда человек задался вопросом о мире вне этих теологических рамок. Например, мир древние философы представляли как сочетание земли, огня, воды и воздуха. Без сомнения их убеждали в том, что мир создан богами и не нужно беспокоиться по этому поводу.

Из этих ранних попыток объяснить мир постепенно возникла философия, также как и современная наука. Не то чтобы наука объясняет «почему» вещи таковы, как они есть — гравитация не объясняет «почему» предметы падают, но наука дает нам столь детальное объяснение «каким образом» это происходит, что у нас появляется чувство, будто мы знаем «почему». Давайте проясним; море связанных между собой фактов позволяет науке сказать «почему» вселенная именно такая.
Читать дальше →
Всего голосов 43: ↑39 и ↓4 +35
Комментарии 76

Алгоритм Беллмана-Форда

Время на прочтение 5 мин
Количество просмотров 71K
В преддверии старта курса «Алгоритмы для разработчиков» подготовили очередной перевод интересной статьи.




Задача: Дан граф и начальная вершина src в графе, необходимо найти кратчайшие пути от src до всех вершин в данном графе. В графе могут присутствовать ребра с отрицательными весами.

Мы уже обсуждали алгоритм Дейкстры в качестве способа решения этой задачи. Алгоритм Дейкстры является жадным алгоритмом, а его сложность равна O(VLogV) (с использованием кучи Фибоначчи). Однако Дейкстра не работает для графов с отрицательными весами ребер, тогда как Беллман-Форд — вполне. Алгоритм Беллмана-Форда даже проще, чем алгоритм Дейкстры, и хорошо подходит для распределенных систем. В то же время сложность его равна O(VE), что больше, чем показатель для алгоритма Дейкстры.

Рекомендация: Прежде, чем двигаться к просмотру решения, попробуйте попрактиковаться самостоятельно.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 4

Машинное обучение столкнулось с нерешенной математической проблемой

Время на прочтение 4 мин
Количество просмотров 27K
Салют, хабровчане! В преддверии запуска новых потоков по продвинутому и базовому курсам «Математика для Data Science» хотим поделиться с вами достаточно интересным переводом. В этой статье не будет практики, но материал интересен для общего развития и обсуждения.





Группа исследователей столкнулась с открытой математической проблемой, связанной с рядом логических парадоксов, которые были открыты знаменитым австрийским математиком Куртом Гёделем еще в 1930-х годах.

Математики, работавшие над проблемами машинного обучения, доказали, что возможность «обучаемости», то есть то, может ли алгоритм извлечь паттерн из ограниченных данных, тесно связана с парадоксом, известным как гипотеза континуума. Гедель говорил о том, что с помощью стандартных возможностей математического языка гипотезу нельзя ни подтвердить, ни опровергнуть. Последние результаты исследований на эту тему были опубликованы в Nature Machine Intelligence от 7 января.
Читать дальше →
Всего голосов 31: ↑24 и ↓7 +17
Комментарии 13

Как прошел 2019 год в области математики и Computer Science

Время на прочтение 6 мин
Количество просмотров 8.6K
Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science».




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

Для математиков и специалистов по computer science 2019 год был годом повторений и пристального изучения. Одни пересматривали основополагающие принципы, в том время как другие находили поразительно простые доказательства, новые методы решения проблем или постигали неожиданные решения давних задач. Некоторые из этих достижений уже нашли широкое применение в физике и других научных дисциплинах. Другие же существуют исключительно в качестве теории (или просто для развлечения), и с практической точки зрения на сегодняшний день не несут никакой пользы.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 0

Информация

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