» Материалы за Май 2014 года » Страница 5

 

Thunderargs: практика использования. Часть 1

Автор: admin от 30-05-2014, 02:38, посмотрело: 268

Недавно я писал пост про то, как был придуман и написан thunderargs. Сегодня я раccкажу о том, как его можно применять.

Напомню, что эта штука предназначена для обработки параметров функции при помощи аннотаций. Например, так:

OPERATION = {'+': lambda x, y: x+y,
             '-': lambda x, y: x-y,
             '*': lambda x, y: x*y,
             '/': lambda x, y: x/y,
             '^': lambda x, y: pow(x,y)}

@Endpoint
def calculate(x:Arg(int), y:Arg(int),
                       op:Arg(str, default='+', expander=OPERATION)):
    return str(op(x,y))


Постараемся по ходу тутора решать вполне определённые проблемы, а не какие-то эфемерные задачки. Ну а теперь — к делу.

Категория: Программирование, Веб-разработка

 

Обучение со сверх-человеческой скоростью

Автор: admin от 30-05-2014, 01:13, посмотрело: 353

Хотите научиться играть на музыкальном инструменте? Или может танцевать? Легко! Носимые компьютеры могут помочь вам в этом, воздействуя непосредственно на мышечную память.

Обучение со сверх-человеческой скоростью

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

Категория: Железо » Гаджеты

 

Как тестировать не-публичные методы в .NET

Автор: admin от 30-05-2014, 00:36, посмотрело: 377

Как тестировать не-публичные методы в .NET Любишь покрывать код тестами? Тебе нравится приятное теплое чувство защищенности, которое возникает при прохождении тестов?

Молодец!

Настоящие профессионалы не полагаются на случай, они стелют соломку заранее держат все под контролем.

Хочешь чтобы внутри, за публичным интерфейсом, тоже все было покрыто тестами?

Пойдем, я расскажу, как это сделать

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

 

Разворачиваем сервис построения маршрутов OSRM

Автор: admin от 30-05-2014, 00:34, посмотрело: 558

Совсем недавно, в одном из проектов, нам была поставлена задача — научиться строить маршруты на карте для велосипедных прогулок.
Первым делом, мы начали смотреть маршруты Google и Яндекс. И к сожалению, пришлось от них отказаться, т.к. первые разрешали показывать их только на родных картах, вторые, не знали что есть велосипеды и даже пешеходы.
Немного изучив предметную область, мы нашли наконец что искали: Open Source Routing Machine. Проект, с открытым исходным кодом, который позволяет развернуть у себя на сервере, свой собственный сервис построения маршрутов.
Разворачиваем сервис построения маршрутов OSRM
Разобравшись, как его настраивать и запускать, мы решили поделиться этим и пересказать своими словами процесс установки, и то с чем пришлось столкнуться в процессе.

Категория: Программирование » Веб-разработка

 

Инженер НАСА высказал идею печатать людей на других планетах

Автор: admin от 29-05-2014, 19:50, посмотрело: 372

Инженер НАСА высказал идею печатать людей на других планетах

Адам Стелцнер (Adam Steltzner), ведущий инженер проекта Curiosity в NASA JPL, выступая на конференции Future Is Now, предложил несколько вариантов колонизации других планет. По его мнению, отправить людей в другие звёздные системы можно двумя способами: или за счёт манипуляций с пространством-временем (путешествия через червоточину или с варп-двигателем), или после переосмысления фундаментальной идеи того, что мы сами собой представляем.

«Лучшим вариантом для покорения космоса может быть печатать людей, органически, на другой планете», — сказал Стелцнер.

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

 

Сверхзвуковое напыление позволяет получить высококачественное графеновове покрытие без постобработки

Автор: admin от 29-05-2014, 18:45, посмотрело: 454

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

Второй способ — гораздо более неприхотлив, но вместо монокристаллического графена на поверхности образуется слой из множества перекрывающихся чешуек графена с далёкой от идеальной структурой — для многих применений достаточно и этого. Для улучшения качества такого покрытия используются разные способы — отжиг, плазменная или химическая обработка. Учёные из Иллинойсского университета в Чикаго совместно с коллегами из Южной Кореи разработали простой и хорошо масштабируемый вариант второго способа получения графенового покрытия без какой-либо постобработки.

Сверхзвуковое напыление позволяет получить высококачественное графеновове покрытие без постобработки
Стеклянная пластинка с графеновым напылением и её поверхность под электронным микроскопом

Категория: Железо

 

Разворачиваем App Fabric на свежесозданном Windows Server скриптами

Автор: admin от 29-05-2014, 18:45, посмотрело: 687

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

Вводные:

  • У нас есть Windows Server 2008r2-2012;

  • Приложение – это Windows workflow приложение, работающее в IIS и использующее appfabrichosting.

  • Писать будем на Powershell.

Категория: Операционные системы » Windows

 

Лазерный автофокус на свой смартфон LG переставила с пылесоса

Автор: admin от 29-05-2014, 18:45, посмотрело: 526

Предъявленный рынку во вторник корейский флагман LG G3, как положено, отличился рядом интересных характеристик, но самая яркая инновация — лазерный автофокус. Идея в том, что в момент запуска камеры, встроенный лазер сканирует пространство коническим лучом в невидимом человеческому глазу инфракрасном диапазоне, вычисляя расстояние до объекта съёмки. Выглядит это как-то так:

Лазерный автофокус на свой смартфон LG переставила с пылесоса

Категория: Железо » Гаджеты

 

Lumo Lift: миниатюрный фитнес-трекер и «контролер» осанки

Автор: admin от 29-05-2014, 18:45, посмотрело: 441

Lumo Lift: миниатюрный фитнес-трекер и «контролер» осанки

Сейчас в роли фитнесс-трекеров обычно выступают разного рода «умные» часы, браслеты и прочие подобные гаджеты. Не так давно на горизонте появилось еще одно устройство для любителей спорта, называется оно Lumo Lift. Впервые оно было показано «вживую» на CES 2014, после чего многие ресурсы опубликовали информацию об интересной малютке. Давайте посмотрим, что умеет девайс.

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

Категория: Железо » Гаджеты

 

Лямбда-выражения в Java 8

Автор: admin от 29-05-2014, 17:45, посмотрело: 645

В новой версии Java 8 наконец-то появились долгожданные лямбда-выражения. Возможно, это самая важная новая возможность последней версии; они позволяют писать быстрее и делают код более ясным, а также открывают дверь в мир функционального программирования. В этой статье я расскажу, как это работает.

Java задумывалась как объектно-ориентированный язык в 90-е годы, когда объектно-ориентированное программирование было главной парадигмой в разработке приложений. Задолго до этого было объектно-ориентированное программирование, были функциональные языки программирования, такие, как Lisp и Scheme, но их преимущества не были оценены за пределами академической среды. В последнее время функциональное программирование сильно выросло в значимости, потому что оно хорошо подходит для параллельного программирования и программирования, основанного на событиях («reactive»). Это не значит, что объектная ориентированность – плохо. Наоборот, вместо этого, выигрышная стратегия – смешивать объектно-ориентированное программирование и функциональное. Это имеет смысл, даже если вам не нужна параллельность. Например, библиотеки коллекций могут получить мощное API, если язык имеет удобный синтаксис для функциональных выражений.

Главным улучшением в Java 8 является добавление поддержки функциональных программных конструкций к его объектно-ориентированной основе.

Категория: Программирование, Веб-разработка