Останні кілька місяців я працюю над новим способом створення крос-платформних додатків для Чоловічий і iOS з назвою Jasonette. Він дозволяє написати програму від початку до кінця, використовуючи тільки розмітку JSON.



Якщо ваш додаток цілком написано через розмітку JSON, з них можна звертатися, як з будь-якими іншими даними, а також віддалено обслуговувати його на вимогу з хмари.

Більше немає необхідності в тому, щоб додаток був захардкорено на девайсі, Ви можете оновлювати його за бажанням допомогою оновлення розмітки JSON на серверній стороні. При кожному запуску ваш додаток буде заново завантажувати з сервера.

Читати далі →

Twitter-боти можуть значно більше, ніж просто спамити популярні хештегі і невтомно підписуватися на користувачів.

Взяти хоча б оповіщення від Twisst ISS бота, який надсилає вам повідомлення щоразу, коли Міжнародна космічна станція (МКС) буде видно з вашого місця розташування.



Або боти публічних сервісів на зразок Earthquake Robot, який відправляє твіт про підземні поштовхи більше 5 балів за шкалою Ріхтера, як тільки вони трапляються.

Ну і звичайно, poem.exe, робот, який постить вірші, а також Accidental Haiku, який ретвитит пости, випадково написані у формі хайку.


Читати далі →

WebSocket Akka HTTP на практиці

Досить тривалий час існувала лише одна гідна реалізація роботи з HTTP поверх Akka — spray. До цієї бібліотеки пару умільців написали розширення для WebSocket,
яке було цілком зрозуміло у використанні і проблем не виникало. Але роки йшли і spray, в тому чи іншому вигляді, перекочував в Akka HTTP із реалізованою підтримкою WebSocket з коробки.
Для роботи з WebSocket хлопці з Akka пропонують нам використовувати Akka Stream, тим самим спрощуючи нам життя з потоковими даними і, одночасно, ускладнюючи її. Akka Stream не так простий в розумінні. Далі я спробую показати базові практичні приклади використання.

Читати далі →

jl-sql: працюємо з JSON-логами в командному рядку за допомогою SQL

Вступ нікому не цікаво, тому почну відразу з прикладів використання
json-pipe-sql
% cat log.json

{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "hit", "client": {"ip": "127.2.3.4"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.2.3.4"}}

Виконуємо запит:
% cat log.json | jl-sql 'SELECT client.ip, COUNT(*) AS count WHERE type = "hit" GROUP BY client.ip'

{"client":{"ip":"127.1.2.3"},"count":2}
{"client":{"ip":"127.2.3.4"},"count":1}
{"client":{"ip":"127.3.4.5"},"count":2}

Читати далі →

Yii2 RESTful API-інтерфейс для AngularJS


Здрастуйте, дорогі читачі! Судячи з вашим коментарям попереднім статтям, багатьом з вас дуже цікаво, як саме ми будемо використовувати AngularJS в зв'язці з нашим додаток на Yii2 фреймворку. У цій статті я підніму завісу і опишу процес підключення фреймворку AngularJS і способи його застосування.
Читати далі →

Swagger в Magento 2

Тенденція переходу від складання HTML-сторінок на стороні сервера до їх складання на стороні клієнта вже навіть не тенденція, а тренд. Magento 2, крокуючи в ногу з часом, у міру своїх можливостей, намагається бути в тренді, розносячи обробку даних та їх подання. Як простому розробнику заглянути в "чисті" дані, якщо їх подання винесено досить далеко? Є безліч інших добрих рішень (починаючи c tcpdump, swagger.
image
Swagger досить добре інтегрований в Magento 2 (якщо тільки вам в голову не прийшла дурна затія змінити код для "default" вітрини). Все, що потрібно для того, щоб почати розглядати "чисті" дані в Magento 2 з точки зору віддаленого програми — використовувати інтегрований в неї Swagger. В даному матеріалі я не розглядаю особливості використання самого Swagger'а, а просто наводжу приклад того, як використовувати Swagger, інтегрований в Magneto 2, в режимі анонімного користувача і в режимі аутентифицированного користувача.
Читати далі →

Працюємо з JSON в SQL Server 2016

JSON зараз один з найбільш використовуваних форматів даних в розробці. Більшість сучасних сервісів повертають інформацію у вигляді JSON. JSON також бажаний формат для зберігання структурований інформації у файлах, наприклад. Так як дуже багато даних JSON-форматі, то підтримка JSON в SQL Server стає особливо актуальною, щоб мати можливість обмінюватися даними з іншими сервісами.

JSON став однією з найбільш затребуваних функцій, доданих в SQL Server 2016. Далі в статті ми розглянемо основні механізми роботи з JSON.

Читати далі →

Приклад використання Product API від Fetchee для парсингу товарів інтернет-магазину

image

У цій інструкції ми розповімо про те, як з допомогою Fetchee Product API отримати дані про товар URL на прикладі інтернет-магазину lamoda.

Для тих, хто не читав нашу минулу замітку — Product API буде корисний розробників, яким потрібно отримувати дані про товари з будь-якого магазину, але які не хочуть витрачати час на створення власної системи парсинга або вже усвідомили, що open-source бібліотеки володіють істотними обмеженнями і вимагають багато часу на підтримку. Наш автоматичний і не вимагає налаштування API для парсингу eCommerce даних дає можливість зосередиться на розробці основних функцій програми. До того ж спробувати його дуже просто. Деталі під катом.

Читати далі →

Дізнаємося поточну погоду простеньким скриптом на Python'е

На Хабре є цікава стаття про те, як ентузіасти роблять погоду. Ентузіасти роблять, а ми скористаємося плодами їхньої праці — отримаємо цю саму погоду від OpenWeatherMap.org скриптом на Python'е.

Для отримання доступу до сервісу погоди доведеться пройти нескладну процедуру реєстрації на сайті OpenWeatherMap.org. Сформуємо і відправимо запит, розберемо пакет у форматі JSON, і отримаємо поточну температуру з описом стану погоди.



Читати далі →

Qt / QML REST Client

Побачив сьогодні у стрічці статті і згадав, що хотів адже про свій проект пару рядків на Хабр написати.

Загалом, якийсь час я працював техлидом з програмістами iOS/Android, які багато використовували в своєму коді API на Django/Yii2/проприетарщине. І подивившись збоку на інструменти, наявні для роботи з REST API, я вирішив щось подібне додати і в Qt, т. к. нормальних коштів по роботі з REST з використанням Qt моделей не існувало.

Сказано — зроблено. На картинці нижче отримана в результаті схема, а під нею, власне опис ідеї, архітектури та коротка інструкція по використанню.

image

Читати далі →