Pull to refresh
80
-2
Антон Сердюков @devzona

Programistik

Send message

WebAPI: автогенерация веб-документации REST API

Reading time7 min
Views18K
В этой записи блога мы близко рассмотрим ApiExplorer, являющийся реализацией IApiExplorer по умолчанию и увидим как с помощью него можно быстро сгенерировать веб-документацию по доступному REST API. В этой документации будет содержаться разнообразная информация, например, правильные URL, допустимые HTTP-методы, ожидаемые для запросов параметры. Такого рода информация для вашего REST-сервиса позволит сторонним разработчикам, потребляющим ваш API, точно знать как правильно вызывать его части. Наверное, самое приятное в такой странице веб-документации состоит в том, что она будет обновляться автоматически вместе с обновлением вашего REST API.

ApiExplorer


Основной целью этого класса является генерирование коллекции элементов ApiDescription. Это производится с помощью статической проверки маршрутов и доступных действий внутри ваших контроллеров. Каждый элемент ApiDescription описывает API доступный через ваш сервис. Как вы можете видеть на упрощенной диаграмме (рисунок 1) ApiDescription содержит базовую информацию такую как, HttpMethod, RelativePath, Documentation и т.д. Но кроме того, он содержит элемент ApiDescriptor, который является частью ядра WebAPI знающей все о соответствующем действии. Вы можете использовать этот элемент для получения доступа к обширной информации, такой как имя действия, возвращаемый тип, пользовательские атрибуты и т.д. Точно так же вы можете использовать элемент ParameterDescriptor для изучения ожидаемых параметров данного API.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments0

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 9

Reading time23 min
Views88K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я перевожу девятое занятие. Редактор Astropilot.

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments17

Пробуем на вкус API v2 карт под Android от Google

Reading time4 min
Views28K
И на нашей улице переворачиваются грузовики с печеньками мороженым и мармеладками! Как уже было сказано, вышла новая версия API. И даже вкратце было рассказано, что же там есть новенького. Я, пока, не могу раскрыть всех улучшений, с точки зрения разработчика. Но некоторые особые плюсы разработки приложений, использующих карты, готов выделить.

Первое, и самое, наверное, вкусное — теперь можно во всю использовать fragment’ы, вместо MapView. Для этого достаточно вставить следующий код в разметку:

<fragment
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.SupportMapFragment"/>

Во-вторых стало гораздо удобней работать с пинами. Правда, теперь нужно привыкнуть к тому, что они называются маркерами, и будет гораздо удобней. Теперь не нужно городить ItemizedOverlay, и тому подобное. Теперь достаточно просто выполнить метод addMarker(MarkerOptions options) с нужными параметрами, и маркер будет красоваться на указанной позиции.

Третий плюс — стало совсем удобно рисовать на карте объекты, которые без проблем будут зумиться и скролиться вместе с картой, без единой заморочки! Достаточно просто добавить фигуру(метод addPolygon(PolygonOptions options)) или линию(метод addPolyline(PolylineOptions options)) на карту, и всё. Это значит, что теперь без проблем можно закрасить страну, город, район… Свою машину?) Да всё, что угодно!

Круто, но ведь наверняка есть минусы? И как мне приготовить пример?
Total votes 6: ↑5 and ↓1+4
Comments7

Кто такой менеджер

Reading time3 min
Views80K
Прочитал я публикацию 13 причин не быть управленцем с комментариями, и что-то закипело внутри, да так, что решил я написать свой первый пост на Хабр. Понимаю, что большинство хабровчан — это разработчики, инженеры, многие из которых стали менеджерами проектов, тим-лидами, не хочу никого обидеть, но все же выложу свои мысли.

Удивительно, что человек проработал 10 лет менеджером в ИТ, а у него нет инструкций и документации, что же должен делать менеджер в течении дня. Так может учебник «Основы менеджмента» хотя бы стоило прочитать. А вообще-то менеджмент — это такая научная специальность отдельная… Тысячи научных специалистов трудятся в ней, какие-то теории управления придумывают, книги издают, исследования проводят, те же agile-методы (scrum и другие) развивают. Может там следует инструкции поискать? Ах да, там же одна «водичка» написана, а у нас тут реальные проекты, да еще и работники какие-то неправильные, ни под одну теорию менеджмента не вписываются.
Читать дальше →
Total votes 144: ↑97 and ↓47+50
Comments89

Программирование под Android для начинающих. Часть 1

Reading time5 min
Views1.2M
Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.

Читать дальше →
Total votes 84: ↑50 and ↓34+16
Comments29

Слежение за изменениями в директории: как это делается в разных ОС

Reading time3 min
Views73K
Я бы хотел посвятить статью обзору API, предоставляемых разными ОС для слежения за изменениями в директории. Статья появилась как результат моей работы над демонами слежения за изменениями для утилиты dklab_realsync (статья на хабре, github репозиторий) и своей собственной, которую я пока что не хочу анонсировать.
Читать дальше →
Total votes 93: ↑88 and ↓5+83
Comments76

Подключение win form в проект xna

Reading time3 min
Views9.7K


Как известно, в xna не предусмотрен типовой GUI, поэтому каждому разработчику приходится решать — рисовать его самим, подключать готовые GUI библиотеки разработанные специально для xna (коих не так уж много), либо пытаться подключить стандартные winform / wpf (по подключению wpf уже есть замечательная статья).
Я не стал разбираться в многочисленных вариантах решения данной задачи и решил пойти как мне казалось наиболее простым путем — подключением winform. Как оказалось, winform имеет ряд нюансов и ограничений.
В итоге после активного поиска я пришел к двум возможным реализациям интерфейса:
1. Весь интерфейс без участия клавиатуры, т.е. кнопки, списки и т.п. Если необходимо ввести что-то с клавиатуры — создавать внешнюю форму и получать с нее данные.
2. Интерфейс полностью работоспособен и можно вводить данные с клавиатуры. Но создание внешних форм невозможно + еще пара нюансов.
Подробнее:
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments7

Эмиграция в Польшу как студент либо как фрилансер

Reading time11 min
Views195K
Прокомментировав хорошую статью IT-эмиграция в самое сердце Европы, в Словакию я получил сразу же много писем по внутренней почте хабра с вопросами по этому поводу, и с просьбами рассказать подробнее. Увидев такой ажиотаж, решил что не будет лишним попробовать расписать подробно для широкой аудитории.
Так как я переезжал вместе с девушкой, которая ехала сюда учиться на магистратуру, то у меня есть возможность описать оба способа переезда, вместе с подводными камнями с которыми мы сталкивались. Таким образом статья разделена на 2 части — переезд фрилансера, и переезд на учебу.
Читать их полностью
Total votes 100: ↑82 and ↓18+64
Comments150

NIST SP 800: библиотека по информационной безопасности

Reading time5 min
Views65K
NIST Хочу познакомить хабрапользователей, касающихся прямо или косвенно вопросов защиты информации, с практически не упоминавшимся на Хабре замечательным методическим ресурсом: “NIST Special Publications 800 Series”.

NIST – National Institute of Standards and Technology – американский национальный институт стандартизации, аналог отечественного ГосСтандарта. В его составе функционирует компетентный и имеющий серьезный вес в США центр по компьютерной безопасности – CSRC, объединяющий специалистов федеральных служб, университетов, крупнейших ИТ-компаний США. Центр публикует с начала 1990-х годов Стандарты (FIPS) и более детальные разъяснения/рекомендации (Special Publications) в области информационной безопасности. Рекомендациям (Special Publications), созданным CSRC, присваивается код 800. О них я и предлагаю поговорить подробнее.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments17

OpenWeatherMap – как энтузиасты делают погоду

Reading time7 min
Views117K

Мы живем в удивительное время, то что раньше казалось очень сложным внезапно становится доступным и простым. Задачи для решения которых надо было создавать научные институты и крупные организации, сейчас решаются саморганизованными группами энтузиастов. Энтузиасты создают карты и энциклопедии снимают фильмы и разрабатывают software. Я хочу рассказать о той области, в которую этот свежий ветер перемен еще не подул в полную силу – это погода. И нашим проектом – OpenWeatherMap — мы хотим изменить эту ситуацию!

Читать дальше →
Total votes 110: ↑108 and ↓2+106
Comments100

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №36 (15 — 21 декабря 2012)

Reading time5 min
Views32K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments19

Введение в TDD «на пальцах» (Rails + Rspec)

Reading time4 min
Views45K
Лично для меня, довольно тертого разработчика, процесс внедрения TDD был непростым и местами тернистым.

Вкратце законспектирую, поскольку порог входа в тестирование действительно выше, чем просто сесть и писать код на RoR. Сделаю несколько, как написали бы пиндосы, highlights.
image

Теоретически процесс TDD должен выглядеть так:



1. Написали падающий тест, прогнали rspec, убедились что тест не проходит (красный)

2. Написали кусок кода, прогнали rspec, убедились что тест проходит (зеленый)

3. Отрефакторили, убедились что все хорошо и тесты не падают.

4. Отправили код в продакшн

Читать дальше →
Total votes 38: ↑28 and ↓10+18
Comments9

История взаимодействия «чайника» и DS18B20 посредством Raspberry Pi с отправкой данных на narodmon.ru

Reading time7 min
Views179K
Доброе время суток, уважаемое хабрасообщество!
Неделю назад я наконец-то дождался свою Малинку. Этот пост о том, как можно набить шишки в такой простой задаче как работа с датчиками температуры.
Кому интересно — добро пожаловать под кат.
Читать дальше →
Total votes 47: ↑36 and ↓11+25
Comments34

10 заблуждений о Windows Azure и Open Source

Reading time5 min
Views32K
В последнее время все чаще приходится сталкиваться с неправильными мнением относительно использования Open Source на базе Windows Azure. Будь то вопросы на мероприятии, или обсуждение на форуме периодически возникают мифы о платформе Windows Azure, самые популярные, на мой взгляд, я развею:
Читать дальше →
Total votes 72: ↑45 and ↓27+18
Comments40

MSP430 LaunchPad и DHT11

Reading time6 min
Views44K
Здравствуйте!
Недавно приобрел MSP430 LaunchPad и стал изучать документацию в надежде когда-нибудь применить в быту. В этом сообщении опишу получение влажности и температуры с датчика DHT11.

Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments6

Битвы экосистем: как технологические империи могут начать войну за контроль цифровой жизни пользователей

Reading time12 min
Views36K
Пища для мозгов: перевёл неплохую статью The Verge (Dieter Bohn @ November 20, 2012):
First strike: how tech's superpowers could start an ecosystem war.
Wargames, mutually assured destruction, and the coming battle to control your digital life

image

Мы — в эпицентре холодной войны между крупнейшими компаниями IT-отрасли.


Это — война за пространство между экосистемами, в которой компании борются, чтобы сохранить пользователей на своей территории, и совершают маленькие, но стратегически важные атаки на периферию других игроков. Война экосистем между Apple, Microsoft, Google, и Facebook, при ограниченном количестве ассиметричных уязвимых мест, стала в основном борьбой на истощение. За небольшими исключениями, эти структуры заняты стандартными стратегиями вроде привязки (lock-in), и сделали несколько ограниченных вылазок на территории друг друга. Тем не менее, относительно «прохладная» природа войны не должна вводить в заблуждение из-за возможности более агрессивных тактик в будущем.

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

Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments18

OpenCog — проект создания ИР (AGI)

Reading time6 min
Views17K


OpenCog — инструмент для создания искусственного интеллекта на основе открытого исходного кода.

«Сегодня нет задачи более важной, чем создание искусственного разума (AGI), с широкими возможностями на уровне человека и, в конечном итоге за его пределами.» ©

OpenCog-проект, нацеленный на создание инструментов для создания искусственного интеллекта с открытым исходным кодом. OpenCog Prime — это познавательная архитектура с определенным набором взаимодействующих компонентов, предназначенных для создания человеко-подобного искусственного разума (AGI). Дизайн OpenCog Prime — это прежде всего работы Бен Герцеля, но OpenCog структура предназначена в качестве общей основы для ИР (AGI) исследований. OpenCog выпускается в соответствии с условиями GPL лицензии.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments10

Microsoft добавил 121 терабайт спутниковых и аэро-снимков в Bing Maps

Reading time1 min
Views29K


Microsoft анонсировал, что они добавили впечатляющие 121 терабайт новых спутниковых и аэро-снимков (проект Global Ortho) к своим картам Bing Maps. Одна из наиболее полных баз снимоков Земли стала ещё детальнее. Новые спутниковые снимки покрывают 15 миллионов квадратных километров планеты, описывая многие новые места, но в основном Южную Америку, Африку, Азию и Восточную Европу, вкючая страны СНГ.
Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments28

Minecraft официально портирован на Raspberry Pi

Reading time1 min
Views31K


О создании официального порта Minecraft Pocket Edition для миникомпьютера Raspberry Pi было объявлено в субботу на конференции Minecon в Париже. Minecraft Pi Edition будет распространяться бесплатно, кроме того, в ней можно будет манипулировать игровым миром программно, причём на нескольких языках. Создатели игры надеются, что Pi Edition будет не только развлечением, но и инструментом для обучения программированию, ведь программировать в мире Minecraft намного более увлекательно, чем писать сухие скучные учебные примеры или рисовать узоры «черепашкой» из языка Лого. Точная дата выхода Pi Edition пока неизвестна, но в Mojang говорят, что это произойдёт «скоро».

Total votes 32: ↑29 and ↓3+26
Comments17

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity