Pull to refresh
0
0
Send message

Как за 10 минут сделать клиент к HTTP API на Swagger

Reading time 3 min
Views 80K

Когда нужно сделать несколько запросов к HTTP API, разработчик обычно берет свой привычный язык/фреймворк и быстро пишет аналог curl в коде: HTTP-запрос, минимальный контроль ошибок, query- или json-аргументы, парсинг json body с названиями полей в виде строк. Все это замечательно работает, пока проект не начинает расти и несколько вызовов не превращаются в несколько десятков, а куски низкоуровневого кода не начинают размножаться копипастой. А дальше — стандартный набор багов, рожденных копипастой, которые начинают понемногу есть время у разработчика.

Swagger/OpenAPI — один из «комбайнов» для работы с HTTP API. Это язык описания API (недавно произошло объединение проектов генератора и спеки), генераторы серверного и клиентского кода, документации, тестов — много всяких полезных штук. Под катом я покажу, как по «человеческому» описанию API на сайте компании в несколько строк кода составить OpenAPI-описание и сгенерировать клиент на Python. И чем такой клиент будет лучше, чем вручную написанный код.
Total votes 34: ↑32 and ↓2 +30
Comments 4

Инструкция по обходу блокировки Telegram. Как активировать SOCKS 5

Reading time 2 min
Views 274K
В телеграм-канале tnews_ru опубликовали инструкцию по обходу возможной блокировки Telegram — популярного мессенджера, разработанного командой Павла Дурова. В статье описывается способ обхода, который основывается на использовании сетевого протокола SOCKS5. Этот протокол незаметно пересылает пакеты данных от клиента к серверу через прокси-сервер.
Читать дальше →
Total votes 46: ↑32 and ↓14 +18
Comments 53

Home Assistant или еще один «мозг» для проекта типа «Умный Дом»

Reading time 11 min
Views 77K
Добрый день, уважаемый читатель. На днях довелось мне поиграться с многим уже известной игрушкой от Google – Google Home. Штука хорошая — обзор ее я делать конечно не буду. В чулане совершенно случайно завалялись Raspberry PI 3 (RPi), Arduino Mega и еще им подобная мелочь, которую захотелось подключить к Google Home (GH) с целью голосового управления. Простого API у GH нет, но есть возможность с помощью стороннего сервиса организовать голосовое управление системой на RPi + Arduino с задержкой команд в несколько секунд.

Читая буржуйские форумы (справедливости ради, нужно отметить, человек я повернутый на автоматизации и IoT), обратил внимание на доселе мне неизвестное нечто, что называют Home Assistant (HASS), эту систему умельцы-то и прикручивают к GH.

В двух словах о самой платформе:

Система написана на Python, последний релиз был 29 января, текущая версия: 0.37.0

Поддерживаемые ОС:

  • Windows 10
  • Mac OS X
  • Ubuntu 14.04
  • Raspbian (Raspberry PI)
  • iOS App – beta

Поддерживаемые компоненты: 545 шт., включая почти все TV/AV receivers, Broadlink, ZigBee, iCloud, Yandex TTS и многое, многое другое.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 27

Выключатель Gira + Z-Wave. 4-кнопочный радио выключатель на базе Z-Uno

Reading time 5 min
Views 14K


Какие задачи решает радио выключатель:

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

На данный момент существуют Z-Wave выключатели на батарейках, например Z-Wave.Me Wall Controller, но эти выключатели идут с определенным дизайном клавиш. Если вы хотите использовать выключатели Legrand, Gira и др., то тут на помощь приходит Z-Wave плата Z-Uno.

Я покажу как из обычно выключателя Gira сделать радио выключатель на батарейках, который можно установить в любое удобное место. Видео работы выключателя в конце статьи.
Total votes 12: ↑12 and ↓0 +12
Comments 24

Как я 8 месяцев переписывал свою криптовалюту с PHP на Go. Часть 1

Reading time 6 min
Views 69K


«Не звони и не пиши мне больше!!!!» — пришла смс-ка от моей девушки Кати. Через пару часов я осознал, что теперь у меня появилась куча свободного времени и я решил переписать Dcoin на Go.


Читать дальше →
Total votes 100: ↑78 and ↓22 +56
Comments 58

Программируем 1С на Ruby

Reading time 12 min
Views 18K
Механизм управления «толстым клиентом» 1С по OLE дает полный доступ ко всем функциям и данным. Это дает возможность при кастомизации 1С или ее интеграции с внешними системами вообще не использовать встроенный язык программирования и, соответственно, не ограничивать себя его синтаксисом, возможностями и средой исполнения.

Вместо этого можно воспользоваться любым современным языком, имеющим библиотеку для работы с Win32 OLE. Например, JavaScript (Win32 OLE поддерживает Node.JS) или Ruby (нужная библиотека входит в набор стандартных библиотек языка).

Ниже будет описан некоторый практический опыт работы с OLE-интерфейсом на Ruby. Описание не претендует на полноту, отобрано и описано только то, что нужно для простой автоматизации или интеграции на уровне данных: чтение-запись справочников и документов, выполнение запросов.
Читать дальше →
Total votes 25: ↑20 and ↓5 +15
Comments 8

Домашние GSM сигнализации. Галактеко опасносте. 18+

Reading time 6 min
Views 52K
Слуги народа все никак не примут законы, разрешающие активную защиту жилья. Похоже, пока воры не украдут пару бриллиантовых авторучек, подвижек не появится. Зато потом у айтишников появятся заказы на arduino-платформы с электрошокерами и баллонами с НПГ. Особо бедные закажут квадрокоптеры с травматикой, стразиками и управлением по iPad. Но все это дело недалекого будущего. А что же будет делать в этом будущем «народ»? Будет как всегда трястись за нажитое непосильным трудом.

В прошлом году на «Хабре» было несколько статей о GSM сигнализациях для дома: восторги про то, какие они надежные и удобные.
Псс! Эй парень! Хочешь немного правды?

image
Читать дальше →
Total votes 100: ↑86 and ↓14 +72
Comments 87

Как мы объясняли детям, кто такой программист

Reading time 7 min
Views 73K

Он волосат, небрит и очень программист

@bobuk показал человека-паука и сказал, что айтишники спасают человечество. Потому что помогают решать проблемы. И ещё в качестве примера привёл Леонардо да Винчи с его вертолётом. Дети вертолёт не запомнили, но прыжки человека-паука на экране оценили. И ещё все узнали Нотча, написавшего Майнкрафт практически в одну харю.

Но давайте-ка я начну сначала и расскажу, что привело нас к открытию исходников игры «Такси», пришиванию пуговиц к сосискам и рассказу целой толпе детей про сложную и опасную профессию программиста.
Читать дальше →
Total votes 83: ↑73 and ↓10 +63
Comments 41

Выбираем нано-квадрокоптер за 20$

Reading time 3 min
Views 62K
Актуально на февраль 2016

Прошёл ровно год, после того, как я написал пост "Прощай квадрокоптер или будьте осторожны с летательными аппаратами". Напомню, что тогда мой DJI Phantom, вместе с подвесом и GoPro, улетел в неизвестном мне направлении, а его поиски ничего не дали. Какого же было моё удивление, когда перед новым годом мне пришло сообщение:
«Привет Юра и Надя! Вчера я нашел ваш хеликоптер. Случайно увидел в серванте у одного местного. Зашел в дом к нему по делам. Смотрю на шкафу штучка интересная. Вряд ли полезная в этой семье. Спросил: Нашел? Да, нашел. На поленнице лежало. В мае нашел».

Письмо было от организатора гонок на собачьих упряжках, которые я тогда ездил снимать. И радости моей не было предела, даже новый год мы встретили в компании с этим человеком, проехав на машине 1600 км до самого сердца глубинки Карелии.

Состояние коптера — это большая тема для отдельной статьи, а пока скажу лишь, что основные элементы отлично функцонируют и коптер уже летает. Однако я решил не повторять своих ошибок и учиться пилотированию, начиная с более бюджетных моделей, а именно с нано-квадрокоптеров стоимостью ~20$, о них и пойдёт речь.


DJI Phantom в сравнении с нано-коптерами SYMA X12 и Cheerson CX-10
Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Comments 26

Как конкретно можно сделать детское образование в России лучше (и первый практический шаг)

Reading time 10 min
Views 60K


У нас 41-43 место из 65 по образованию по исследованию ОСЭР и 49 место по Education Index ООН.

После получения трёх высших, 13 лет я занималась тем, что учила айтишников, учёных и других странных людей, последний проект – Курсера в России. Год назад начала изучать детское образование. Ниже – моё ИМХО, но, думаю, многое вам хорошо знакомо. На мой взгляд, в детском образовании в России есть несколько важных областей для развития.

Вот с позиции детей:
  1. Дети не видят практического применения получаемым знаниям.
  2. Нет механизмов выбора профессии. Дети могут, например, выбирать своё будущее по наиболее доброму учителю (любимый предмет — желаемая профессия — специальность в универе — приплыли).
  3. Дети в целом жаждут знаний, но им очень хочется разнообразить процесс их получения и в школе.
  4. Ну, и они почти никуда не выходят, а их надо водить на разные интересные экскурсии и встречать с интересными людьми.

С позиции родителей и преподавателей:
  1. Дети недогружены: знаний даётся куда меньше, чем при СССР, например. С другой стороны они в конце обучения перегружены подготовкой к ГИА, ЕГЭ.
  2. Дети изначально живут в новой информационной среде, которая комфортна для них, но не очень комфорта для учителей.
  3. Дополнительное образование в крупных городах — это, порой, дичайшая логистика, например, нужно посреди дня везти ребёнка на другой конец города.
  4. Проблемы с кадрами: нужно быть реально круто замотивированным, чтобы полноценно и качественно работать с детьми.
Читать дальше →
Total votes 96: ↑86 and ↓10 +76
Comments 106

Java-конференция Joker 2014 глазами докладчика из Сибири

Reading time 4 min
Views 15K
Недавно в Санкт-Петербурге прошла Java — конференция Joker 2014. На мой взгляд, самая технически насыщенная и масштабная из всех подобных в России.

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



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

Казалось бы, после принятия заявки я как обычно смогу дудеть в дуду и ничего не делать, ваять потихоньку презентацию. Но не тут-то было! Мне пришлось пройти строгое предпрослушивание и пару тренингов, перед тем как сдать окончательный вариант доклада организаторам. Имейте это ввиду, когда сами будете посылать заявки этой команде маньяков!
Читать дальше →
Total votes 43: ↑28 and ↓15 +13
Comments 7

Как нам улететь с Земли: краткое пособие для выезжающих за орбиту

Reading time 5 min
Views 138K
Недавно на хабре появилась новость про планируемую постройку космического лифта. Для многих это показалось чем-то фантастическим и невероятным, вроде огромного кольца из Halo или сферы Дайсона. Но будущее ближе, чем кажется, лестница в небо вполне возможна, и может быть мы даже увидим ее на своем веку.
Сейчас я постараюсь показать, почему мы не можем пойти и купить билет «Земля-Луна» по цене билета «Москва-Питер», как нам поможет лифт и за что он будет держаться, чтобы не рухнуть на землю.

С самого начала развития ракетостроения головной болью инженеров было топливо. Даже в самых современных ракетах топливо занимает где-то 98% массы корабля.
Если нам захочется передать космонавтам на МКС пакетик пряников массой в 1 килограмм, то на это потребуется, грубо говоря, 100 килограмм ракетного топлива. Ракета-носитель одноразовая, и на Землю вернется только в виде обгоревших обломков. Дорогие получаются прянички. Масса корабля ограничена, а значит и полезный груз на один запуск строго лимитирован. И каждый запуск требует расходов.
А если мы хотим полететь куда-то дальше околоземной орбиты?

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

Читать дальше →
Total votes 111: ↑100 and ↓11 +89
Comments 215

Что хабровчане носят с собой, или хвастаемся EDC (+ обзор рюкзака Thule TCBP-217)

Reading time 8 min
Views 115K
С каждым днем количество электроники которую человек берет с собой за пределы дома растет, и несмотря на ее тотальное уменьшение и облегчение, количество гаджетов у отдельных особей может составлять весьма длинный список. Встает вопрос: в чем носить? Да так, чтобы удобно и безопасно для электроники? Сегодня расскажу о годном гик-рюкзаке на 32 литра Thule TCBP217 ну, и конечно же, всех приглашаю в EDC тред.


Осторожно: много картинок!
Читать дальше →
Total votes 74: ↑57 and ↓17 +40
Comments 361

Правильная сумка для правильного гика

Reading time 7 min
Views 185K
Есть вещи, от которых, попробовав раз, невозможно отказаться. Я говорю о хороших наушниках, хорошем телефоне, удобном ноутбуке и о хорошей сумке. Да-да, именно о сумке. Мы тратим много времени на выбор самого-самого прекрасного и производительного девайса, а потом кладем его в первый попавшийся рюкзак или портфель. И живем, не подозревая, что может быть иначе. В то время как правильная, продуманная сумка может принести немногим меньше удовольствия и пользы, чем дополнительная память или более быстрый процессор.

Помните пост «Что хабровчане носят с собой», где народ хвастался содержимым своего рюкзака? Меня, если честно, больше интересовало не содержимое, а то, в чем народ носит свои вещи. Вот так, к слову, выглядела одна из наиболее интересных вещей — фотосумка Boomburum.



Сегодня мне бы хотелось зайти к той теме с другой стороны и показать десяток отличных (действительно отличных) сумок на разный вкус, цвет и кошелек.
Читать дальше →
Total votes 102: ↑80 and ↓22 +58
Comments 147

Открытое письмо генерального директора Autodesk CIS российским клиентам и партнерам

Reading time 3 min
Views 45K
На Хабре, как и в других источниках, публиковалась разная информация о действиях Autodesk и других ведущих ИТ-компаний в связи с санкциями США, в том числе здесь и здесь. Во всей этой истории домыслы порой превалировали над фактами и официальными комментариями. Чтобы пролить свет на ситуацию, генеральный директор Autodesk CIS Алексей Рыжов написал открытое письмо российским клиентам и партнерам.

Ниже приводим полный текст письма. Оно также доступно на сайте Autodesk.

Читать дальше →
Total votes 60: ↑41 and ↓19 +22
Comments 102

HD FPV на Raspberry Pi. Работа над ошибками

Reading time 3 min
Views 25K
В предыдущей статье я рассказал о возможности полетов HD FPV на базе Raspberry Pi с организацией вайфай моста с помощью модулей Ubiquiti Bullet M2 HP.

Первый блин вышел комом. Результат эксперимента получился, как говорится: «третий сорт — не брак», с некоторыми серьезными оговорками и «граблями», но основная цель эксперимента была достигнута. Идея получить HD FPV по проводам вайфаю была успешно опробована.
Как я и предполагал, публикация на хабре не только непомерно завышает ЧСВ повышает карму, но и позволяет услышать мнение хабрасообщества и получить очень ценные рекомендации и дельные советы. В комментариях к статье советы были получены, чуть позже осмыслены и третьего дня реализованы.

Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 40

Один крутой Gist: whiteboardCleaner

Reading time 1 min
Views 30K
Доброго времени суток уважаемые хабравчане. На просторах интернета мне повстречался один миниатюрный и очень интересный Bash скрипт. С помощью ImageMagick он потрясающим образом обрабатывает фотографии белой учебной доски, очищая «содержимое» от всего лишнего:

#!/bin/bash
convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2


До:


image

После:


image
Читать дальше →
Total votes 137: ↑122 and ↓15 +107
Comments 42

Как распространять iOS приложения минуя AppStore

Reading time 3 min
Views 120K
При создании мобильного приложения под iPad для одной крупной компании перед нами встал вопрос — как распространять данное приложение. Самый распространённый вариант — конечно, через AppStore.

Но данный вариант нам не подошел, так как приложение создавалось для работников компании, а не для общего пользования. Остался только второй вариант — Enterprise Program (подробнее о Developer Program и Enterprise Program).

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

Читать дальше →
Total votes 82: ↑74 and ↓8 +66
Comments 21

iPhone разработка: Интегрируем In-App Purchases

Reading time 8 min
Views 88K
In-App Purchases — это простой и удобный механизм для организации продаж своих приложений или дополнительных фич непосредственно из своего приложения. In-App Purchases легко встраивается и открывает для Вас новый канал продаж. Взаимодействие с App Store осуществляется с помощью StoreKit.framework, который поставляется вместе с SDK, начиная с версии 3.0.
Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Comments 22

Arcanum и Fallout 2 с сенсорным экраном и стилусом в Windows 8

Reading time 7 min
Views 59K
Как-то так вышло, что завелся у меня Windows 8 планшет. Не очень удачная модель — громоздкий как помощник, слабоватый как рабочая станция, но зато с стилусом, а самое важное, с 32-битной Win32 системой. Имея некое количество старых игр с распродаж GOG и Steam, я планировал как-нибудь засесть с этой таблеткой и переиграть все, что можно и нельзя. Но вот как-то не хватало времени и настроения, да еще и пробные запуски показали, что играть надо с мышью — курсор от тач-скрина убегал неизвестно куда, да и правый клик долгим нажатием был бы откровенно неудобным. Планшет пылился пол-года в углу до недавней раздачи Fallout от GOG и эта раздача подтолкнула меня к действию. Начинался вечер пятницы, планшет обзавелся USB мышью, а я устроился поудобнее на диване и начал по списку с самого верха — с Arcanum.
Через пол-часа создания персонажа (а ведь это дело очень важное и ответственное!) левая рука с трудом держала устройство, а запястье правой подозрительно начало тянуть, намекая о туннельном синдроме и прочих радостях неудобного хвата. Вспомнив нехорошим словом разработчиков некой эргономичной складывающейся мыши, я полез искать драйвера, патчи или еще хоть что-то, чтобы играть с тачскрина или хотя бы стилуса.
Патчей не нашлось. Единственный похожий драйвер был платным и без пробного режима. Вот в этот момент в голову и пришла идиотская (это я теперь понимаю!) мысль — «там ведь наверняка приходит какой-то WM_TOUCH и неправильно преобразуется в WM_MOUSEMOVE»… Забегая вперед, Арканум теперь у меня полностью управляется с тачскрина, правда, выходные закончились и больше хочется спать, чем играть.
Как не надо проводить викэнд
Total votes 93: ↑86 and ↓7 +79
Comments 23
1

Information

Rating
Does not participate
Registered
Activity