Pull to refresh
0
0
Send message

Простой API gateway на базе PHP и Lumen

Reading time7 min
Views41K
Термин «микросервисы» сегодня у всех на слуху – внезапно это стало очень модно, и многие компании объявляют переход на этот архитектурный паттерн даже толком не разобравшись в нём. Впрочем, обсуждение полезности микросервисов оставим за пределами этой статьи.

Традиционно перед коллекцией микросервисов предлагается дополнительный слой – так называемый API gateway, который решает сразу несколько проблем (они будут перечислены позже). На момент написания этой статьи open source реализаций таких gateway почти нет, поэтому я решил написать свой на PHP с использованием микрофреймворка Lumen (часть Laravel).

В этой статье я покажу насколько это простая задача для современного PHP!
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments12

Разработка динамических древовидных диаграмм с использованием SVG и Vue.js

Reading time12 min
Views11K
Материал, перевод которого мы сегодня публикуем, посвящён процессу разработки системы визуализации динамических древовидных диаграмм. Для рисования кубических кривых Безье здесь используется технология SVG (Scalable Vector Graphics, масштабируемая векторная графика). Реактивная работа с данными организована средствами Vue.js.

Вот демо-версия системы, с которой можно поэкспериментировать.


Интерактивная древовидная диаграмма
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments5

Управляем устройствами NooLite с роутера Zyxel Keenetic

Reading time4 min
Views14K
image

В этой статье я расскажу о том, как управлять устройствами nooLite через USB переходник РС1ххх прямо из роутера Zyxel Keenetic — без участия компьютера.

Преамбула


Темы про NooLite уже не раз тут мелькали, но, на всякий случай напомню, что это компоненты для построения «умного дома», общающиеся между собой посредством радиоканала. А ещё к их системе можно заказать USB адаптер, позволяющий отправлять команды с компьютера (на самом деле есть и тот, который может эти команды получать, но мы сейчас его рассматривать не будем). Когда-то давно я специально поднимал у себя на машине Web-сервер, на который можно было зайти с компьютера или телефона в домашней сети и управлять освещением, а также добавлять запланированные задачи. Например — я, как истинный сова, с трудом просыпаюсь рано утром, и даже с удовольствием не делал бы этого, но надо. И пробуждаться в темноте от звука будильника, было крайне тяжело, даже если поставить на него самую милую мелодию, из всех милых мелодий на земле. И я решил провести эксперимент, написав скрипт для плавного включения света, когда яркость увеличивается с 0 до 100% за 20 минут, тем самым имитируя восход солнца, и эксперимент удался — просыпаться стало значительно легче, когда свет не резко бьёт по глазам, а едва заметно нарастает, и организм реагирует на подобное пробуждение намного лучше будильника… Но что-то я ушёл от темы. Все это работало себе спокойно, и впрочем меня даже не напрягало то, что требуется постоянно включенный компьютер, у меня стоят тихие вентиляторы и его практически не слышно, но не так давно узнав, что на Zyxel Keenetic с прошивкой второй версии снова можно ставить пакеты OpenWRT у меня в голове начала созревать идея. И когда эта идея совсем меня допекла, никак не желая оставить в покое мой мозг, я решился — а, черт с ним! Впереди выходные, и я сделаю это!
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments28

Облачный ресайзинг изображений

Reading time3 min
Views15K

Привет, мир!


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

Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments28

Коллекция практических советов и заметок по вёрстке

Reading time32 min
Views177K

CSS Refresher


Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

От переводчика


Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

Содержание


  1. Позиционирование (position)
  2. Отображение элемента в документе (display)
  3. Плавающие элементы (float)
  4. CSS селекторы
  5. Эффективные селекторы
  6. Переотрисовка и перерасчет
  7. CSS3 свойства
  8. CSS3 медиа-запросы
  9. Адаптивный web-дизайн
  10. CSS3 переходы
  11. CSS3 анимации
  12. Масштабируемая векторная графика (SVG)
  13. CSS спрайты
  14. Вертикальное выравнивание
  15. Известные проблемы

Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments33

Научиться программировать сложнее, чем кажется

Reading time12 min
Views119K

Просто «El clasico»

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

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

Средства массовой информации не перестают освещать тему нехватки квалифицированных программистов («программистов», «кодировщиков», «разработчиков ПО», поскольку все термины означают одно и тоже, я буду использовать из как взаимозаменяемые). Постоянно ведутся споры по поводу низкого уровня квалификации программистов. По сути мы просто не в состоянии подготовить кадры, соответствующие «солидным запросам завтрашнего дня». Вот что пишет The Telegraph:

«Согласно данным Научного Совета, к 2030 году количество специалистов в сфере информационно-коммуникационных технологий вырастет на 39%, а в отчете О2 за 2013 год отмечалось, что для удовлетворения спроса на такого рода специалистов в период до 2017 года потребуется порядка 745 000 новых сотрудников.

Кроме того, по результатам исследований, проведенных в прошлом году City & Guilds, три четверти работодателей из сферы IT, компьютерных и информационных услуг отметили явную нехватку квалифицированных кадров, в то время как 47% опрошенных заявили о неспособности действующей системы образования подготовить хороших специалистов».
Читать дальше →
Total votes 76: ↑68 and ↓8+60
Comments196

CoffeeScript и AngularJS

Reading time6 min
Views19K
Перевод статьи Александра Хилла CoffeeScript and AngularJS. Это мой первый перевод и буду рад получить любые замечания и исправления.

AngularJS и CoffeeScript это отличная комбинация, не смотря на то, что CoffeeScript не пользуется большой популярностью в комьюнити AngularJS. В статье будут представлены несколько приемов, которые «облегчат» ваш код на AngularJS.
Читать дальше →
Total votes 37: ↑24 and ↓13+11
Comments6

Автомобильная безопасность: какие уроки мы можем вынести из отзыва машин?

Reading time7 min
Views9.1K
Cтатью про автомобильную безопасность я решил написать после новости о том, что серия автомобилей Chrysler была отозвана из-за уязвимости в программном обеспечении. По разным причинам она пылилась в полусыром состоянии еще с лета, и вот наконец-то я нашел время между поездками ее дописать и опубликовать. Нет, не угадали, это не будет статья про уязвимости в микроконтроллерах, об этом и так уже написано столько, что хватит на целую книгу. Я же хочу рассмотреть проблему с другой стороны.

Конечно, вы слышали о двух хакерах, которые перехватили управление джипом, ведь об этом писали все. Я хотел копнуть глубже и предположить, что не именно эта, но другие схожие проблемы могут быть не случайными, а запланированным результатом атаки. То есть, теоретически, атакующий может намеренно внедрить уязвимость в продукцию. Хотя пока это больше напоминает сценарий новой серии Мистера Робота, но скандал, связанный с другим крупным автоконцерном, Volkswagen, показывает, что подобную атаку вполне можно провернуть и в реальности (окей, если не сейчас, то уже в ближайшем будущем).
image
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments6

Best practices от Google по разработке Android приложений

Reading time8 min
Views45K
В данной статье я хотел бы вкратце рассказать про самые последние best practices от Google. Я постарался выделить самые основные моменты, чтобы читатель сразу мог понять, что именно какая-либо фича дает разработчику. Не удивляйтесь, если где-то повторяюсь. Конспектировал + добавлял от себя по ходу просмотров видео в www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg

Также к каждому пункту приводятся все необходимые ссылки для более подробного ознакомления с конкретной best practice.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments18

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views190K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Reading time14 min
Views345K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Total votes 126: ↑116 and ↓10+106
Comments180

Yii — обмен опытом: модели

Reading time4 min
Views31K

Материал в данной статье предназначен для разработчиков, которые уже имеют навыки работы с YII фреймворком. Опытным программистам материал может показаться неинтересным.
Статья написана для фреймворка версии YII 1.1.14. Под катом много текста с фрагментами кода.
Читать дальше →
Total votes 37: ↑24 and ↓13+11
Comments46

Простенькая страница настроек для Yii-приложения

Reading time6 min
Views20K
Привет.

Хочу поделиться небольшим модулем, предназначенным для создания страницы настроек в своём приложении. А заодно узнать у сообщества, что в нём можно было бы улучшить.

Задача по своей идее простая — сделать табличку в БД, хранящую параметры типа «ключ -> значение», а к ней сделать страничку редактирования, позволяющую изменять данные значения. ну и конечно же реализовать программный интерфейс для доступа к параметрам хранимым в БД.

Срок реализации — около получаса. В интернете почему-то готового решения было не найти. Исправим положение, авось кому пригодится.
Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments14

Information

Rating
Does not participate
Registered
Activity