читатели, привет.
Вкратце: этот пост про неофициальный рейтинг зданий, Хакатон компании 2ГИС и про то, как мы сами немного обалдели от того, что натворили.
читатели, привет.
Вкратце: этот пост про неофициальный рейтинг зданий, Хакатон компании 2ГИС и про то, как мы сами немного обалдели от того, что натворили.
Привет хабра-человеки,
Сегодня мы запустим JavaScript приложение, которое выписывает счет-фактуру прямо с сервера используя взаимодействие с АПИ BaaS платформы. Для разработки приложения потребовалось написать 0 строчек кода на стороне сервера, не смотря на то что приложение имеет удаленное (и полноценное) хранилище данных, возможность регистрации пользователя и поддержку логина. Исходный код доступен на гитхабе.
Под катом находятся подробности демонстрирующие простоту BaaS подхода в работе со сложными объектами используя Backendless.
Читать полностью »
Привет!
Минула волна постов про редизайн новой версии ОС, и теперь самое время дожидаться первых постов про изменения для нас, разработчиков. Не так давно на портале macrumors появилась информация об очередном нововведении.
С выпуском второй беты для семёрки apple добавили новую функцию, которая позволит разработчикам получить доступ к обнаружению и распознаванию мимики на фотографиях пользователей. Ранее многие могли заметить, что теперь можно использовать зум во время съёмки видео.
Читать полностью »
Вот и вышел финальный релиз PHP 5.5.0. Кратко о новых возможностях можно прочитать в посте на официальном сайте или «Переведенное на русский».
На хабре уже были статьи о некоторых новых возможностях PHP 5.5.0, такие как «Coroutines в PHP и работа с неблокирующими функциями» и «В PHP 5.5 возможно появится Finally»
В данной статье будет затронута одна из новых возможностей PHP 5.5.0 "API хэширования паролей".Предоставляющий застрахованные от ошибок разработчиков и более простые в использовании высокоуровневые функции для генерации и проверки валидности паролей по хэшам. Основное отличие нового API в том, что он берёт на себя генерацию надёжных хэшей, скрывая от разработчика операции ручного указания salt-а и выбора алгоритма хэширования (по умолчанию используется Bcrypt). Создание хэша сведено к выполнению "$hash = password_hash($password, PASSWORD_DEFAULT);", а проверка к вызову «password_verify($password, $hash)». В качестве причины внедрения нового API послужило безалаберное отношение многих разработчиков к генерации salt-ов и повсеместный выбор нестойких к перебору алгоритмов хэширования.
Будут рассмотрены константы, функции и код использующий их.
Читать полностью »
В продолжение статьи, где описана похожее решение под Питон.
Дано: клиенты вызывают серверное API вашего приложения.
Задача: мониторить количество вызовов API.
Предлагаемое решение: использовать Google Analytics.
Как: вызывать Google Analytics API. В принципе, мы заимствуем решение, созданное Google для мониторинга в мобильных приложениях.
Зачем это может быть нужно? Если вы уже пользуетесь Google Analytics для мониторинга вашего веб-проекта, то почему бы не собирать и статистику по API в том же интерфейсе?
Рисунок 1 — статистика по использованию API
Плюсы такого подхода:
Рисунок 2 — использование API в реальном времени
Минусы:
В чем прелесть высокоуровневых языков программирования?
Программист перестает задумываться о том «как оно на самом деле фунциклирует» и выдает на гора тонну не сопровождаемого кода, который иногда даже работает, но периодически подтормаживает. Более того, частенько, он даже не собирается об этом задумываться, так как у него банально отсутствуют необходимые знания (увы, так сейчас учат).
Потом из всего этого появляются такие умные слова как «паттерны проектирования», внутренние фреймфорки, на которые без слез не взглянешь и прочая светотень включая техдокументацию, которую нужно написать так, чтобы ее смог понять некий сторонний пейзанин, который к программированию, по сути (да и по должности), имеет самое отдаленное отношение.
Слова умные, для высокоуровневого кода вполне даже может подходят, но…
А потом, выполнив очередной умный «паттерн» он начинает разбираться — где же тормозит алгоритм. Причем, если программист более настырен, он изучает реализацию VCL и иногда даже докапывается до сути, где получается так, что тормоза упираются в вызовы известных ему по документации API, пройдя к которым он со спокойной душой останавливается и закрывает тикет в багтрекере фразой: «функция ХХХ тормозит, вариантов обхода нет».
Не встречались с ситуацией?
Значит повезло…
Привет!
Пост будет интересен тем, кого интересует, как выиграть время при разработке мобильных, десктопных или браузерных приложений. Данная информация поможет вашим приложениям быть более функциональными и выходить в мир в разы быстрее.
(Осторожно: под катом много примеров простого кода. Любителям «велосипедов» читать не рекомендуется. После роста популярности данного сервиса ожидается ликвидация угрозы глобального потепления массовое сокращение депрессий от рутинных задач при написании серверной части.)
Читать полностью »
Zapier запустил новый сервис API Status Board, позволяющий определить статус популярный веб сервисов. API Status Board анализирует коды HTTP запросов: 2xx — все нормально, 4xx – что-то не работает (возможно Zapier) и 5xx – произошел сбой. Однако, делать выводы, основываясь на одном ответе не хорошо, поэтому zapier status для маленьких нарушений наводит некоторые справки и это приводит к задержке ~5-10 минут. Серьезные сбои сразу отобразятся в сервисе. Посмотреть список неполадок можно в json формате по адресу Читать полностью »
В жизни любой достаточно большой программы наступает момент, когда нужно вывести наружу какой-нибудь API — для плагинов, для интеграции с другими системами, для автоматизации и т.д. Для этого есть много разных технологий, но как-то так исторически сложилось, что сейчас принято делать API в виде REST-сервисов. В принципе, если не гнаться за экономией каждого байта и микросекунды, то в этом есть смысл: HTTP-запрос сделать легко из любого языка, это хорошо работает и локально, и по сети, не нужно сильно глубоко погружаться в недры сетевых протоколов.
Давайте посмотрим, как к уже существующей программе на C++ можно быстренько прикрутить Web API, используя для этого библиотеку POCO.
Читать полностью »
Всем привет!
Со времени первой статьи про VDS на Хабре мы успешно прошли запуск услуги, получили огромный опыт в предоставлении услуги и представили несколько новинок, о которых и хотим рассказать.