Подробный обзор Wolfram Programming Cloud (Облака Программирования Wolfram)

d6ed4df82cc50b4d6ca13b4671f8199a.png23 июня 2014 г., менее недели назад, после долгой разработки, вышел в свет новый продукт от компании Wolfram Research, который называется Wolfram Programming Cloud (Облако Программирования Wolfram). Об этом своем блоге написал Стивен Вольфрам и его пост был переведен на Хабрахабре.

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

Мне бы хотелось поделиться с вами первым подробным видео-обзором на русском языке этого продукта, а также его реализации для обычного рабочего стола — Wolfram Desktop.

[embedded content]Из обзора вы узнаете о том, как работать с Wolfram Programming Cloud, создавать формы ввода и API, использовать Wolfram Desktop и пр.

В видео рассмотрены конкретные примеры работы в Облаке с географическими данными, API ВКонтакте, отправкой сообщений на e-mail из Облака, обработкой и подгрузкой изображений (как с устройств пользователя, так и из сети Интернет), применение встроенных функций Wolfram Language и др.

Основные коды на языке Wolfram, использованные в видео-обзоре:

График рельефа местности CloudDeploy@FormFunction[ {«city» → «ComputedCity»}, Module[{data}, data = GeoElevationData[GeoBoundingBox[GeoDisk[#city, Quantity[10, «Kilometers»]]]]; Grid[{{#city}, {ListPlot3D[data, MeshFunctions → {#3 &}, Mesh → {{1, 0}}, MeshStyle → Thick, ColorFunction → ColorData[«HypsometricTints»], ColorFunctionScaling → False, ImageSize → 600]}}, Alignment → {Center, Center}]]&, «HTML»] Приложение для обработки изображений im1=Import[«путь к файлу или веб-ссылка»];

im2=Import[«путь к файлу или веб-ссылка»];

images =RemoveAlphaChannel[ColorConvert[#, «RGB»] , White]&/@{im1, im2};

webString[str_]:=StringReplace[ExportString[Cell[str], «HTML», «FullDocument» → False],»»|»» → »]

CloudDeploy[ FormFunction[ {{«im1», «Первая картинка»} → «Image», {«im2», webString@«Вторая картинка»} → «Image»}, Module[{images, imDims, minX, minY, image, head}, images = RemoveAlphaChannel[ColorConvert[#, «RGB»] , White]&/@{#im1, #im2}; imDims = ImageDimensions /@ images; minX = Min[imDims[[;; , 1]]]; images = ImageResize[#, minX] & /@ images; imDims = ImageDimensions /@ images; minY = Min[imDims[[;; , 2]]]; Table[image[i] = ImageData[ImageCrop[images[[i]], {minX, minY}]], {i, 1, Length[images]}]; head = 1; Image@Table[head = Replace[head, {1 → 2, 2 → 1}]; image[head][[i, j]], {i, 1, minY}, {j, 1, minX}]]&, «PNG», AppearanceRules → <|"Title" -> webString@«СМЕШИВАТЕЛЬ ИЗОБРАЖЕНИЙ», «Description» → webString@ «Выберите два изображения, смесь которых вы хотите получить.», «SubmitLabel» → webString@«Готово»|>]] Работа с API ВКонтакте $VkAPIAccessToken =«ваш accesstoken»;

VkAPIMethod[method_, {options___}] := Module[{response}, «response» /.ImportString[URLFetch[«https://api.vk.com/method/» <> method, «Parameters» → {«access_token» → $VkAPIAccessToken, options}], «JSON»]];

message:= Module[{fromId, date, text, Body, Subject, password}, {currentId, fromId, date, text} = {«id», «from_id», «date», «text»} /.VkAPIMethod[«wall.get», {«owner_id» → »-1172233», «offset» → »0», «count» → »1»}][[2]]; Body = ToString[TableForm@{Row[{«От пользователя:», «http://vk.com/id» <> ToString@fromId}], DateString[AbsoluteTime[{1970, 1, 1, 0, 0, 0}] + date, {«Hour»,»:», «Minute»,»:», «Second»,» », «Day»,».», «Month»,».», «Year»}], text}]; Subject =«Новое сообщение в группе Русскоязычной поддержки Wolfram Mathematica ВКонтакте»; password = CloudSymbol[«pass»]; If[currentId === lastId, Null, SendMail[«To» → «r.a.osipov@gmail.com», «Subject» → Subject, «Body» → Body, «Password» → password]; lastId = currentId]]

message; Надеюсь, что этот видео-обзор заинтересует вас и позволит вам быстрее начать работать с Wolfram Programming Cloud!

© Habrahabr.ru