Pull to refresh
5
0
Сергей Аганисянец @sergey126992

Разработчик ПО

Send message

SOA на Laravel и JSON-RPC 2.0

Reading time4 min
Views6.8K
SOA (Сервис-Ориентированная Архитектура) строится путём комбинации и взаимодействия слабо-связанных сервисов.

Для демонстрации создадим два приложения Клиент и Сервер и организуем их взаимодействие посредством протокола удаленного вызова процедур JSON-RPC 2.0.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Оптимизация запросов. Основы EXPLAIN в PostgreSQL

Reading time3 min
Views212K

Почему запрос выполняется так долго? Почему не используются индексы?
Наверное, все слышали об EXPLAIN в PostgreSQL. Но не так много тех, кто понимает, как его использовать. Сам длительное время не мог найти доступного для понимания учебника (плохо искал?).
Надеюсь, эта статья поможет желающим разобраться с этим замечательным инструментом.
Читать дальше →
Total votes 35: ↑24 and ↓11+13
Comments14

Язык Go для начинающих

Reading time9 min
Views493K
Gopher

Цель этой статьи — рассказать о языке программирования Go (Golang) тем разработчикам, которые смотрят в сторону этого языка, но еще не решились взяться за его изучение. Рассказ будет вестись на примере реального приложения, которое представляет из себя RESTful API веб-сервис.
Читать дальше →
Total votes 73: ↑67 and ↓6+61
Comments71

Нейро-стимуляция спинного мозга позволит ходить людям, парализованным после травм позвоночника

Reading time6 min
Views12K
«Это потрясающее чувство. Я вновь могу согнуть колени, самостоятельно поднять ноги и даже пошевелить пальцами», — рассказывает один из участников экспериментального лечения, которому удалось вернуть свои двигательные способности за счет технологии спинномозговой стимуляции. После травмы позвоночника, полученной 2010 году, его ноги были парализованы.



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

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

Какие механизмы реабилитации уже существуют и могут быть использованы для лечения?
Total votes 18: ↑18 and ↓0+18
Comments5

Расширяем Laravel за счет собственных компонентов

Reading time3 min
Views4K

Задача


Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера.

Решение


Оптимальным решением, на мой взгляд, является добавление собственного компонента.
Компонент — это блок программы с четко определенным набором действий (контрактом), способный решать возложенные на него задачи посредством различных драйверов. Так, например, встроенный компонент Cache может использовать драйвера: file, memcached или redis.

При построении нашего компонента, мы применим принцип проектирования Мост, тот же принцип, на котором построены компоненты Laravel.

Итак, приступим.
Читать дальше →
Total votes 10: ↑7 and ↓3+8
Comments5

Принцип Единой Ответственности (SRP) на примере Laravel

Reading time4 min
Views9.2K
Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel.

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

Конечно, в статьях и книгах это описывается в качестве примера, но часто воспринимается как призыв к действию в рабочих проектах. Такой подход неизбежно приведет к неконтролируемому разрастанию класса и сильно усложнит поддержку кода.
Читать дальше →
Total votes 12: ↑9 and ↓3+9
Comments14

Принцип DRY на примере Laravel

Reading time4 min
Views10K
Рассмотрим простой модуль, отвечающий за добавление новых пользователей.

И на его примере увидим, какие возможности открывает применение принципа DRY.

Для меня принцип DRY (Don't Repeat Yourself) всегда воплощался в двух основных определениях:

  1. Дублирование знаний — всегда нарушение принципа
  2. Дублирование кода — не всегда нарушение принципа

Начнем с контроллеров содержащих минимальное количество логики.
Читать дальше →
Total votes 7: ↑6 and ↓1+10
Comments22

REST API на Laravel в 100 строк кода

Reading time5 min
Views112K

inb4: копипаста из документации


В гайде упор на быстрое развертывание минимального набора для полноценной разработки API в соответствии с best practice, взятыми из документации Laravel 5.7, собранными в одном месте. Писал для себя и коллег как шпаргалку, надеюсь пригодится кому-нибудь еще.

Читать дальше →
Total votes 31: ↑17 and ↓14+3
Comments12

Концепция фильтрации моделей на примере Laravel

Reading time4 min
Views25K
Хочу представить вашему вниманию концепцию организации фильтрации по URL-запросу. Для примера буду использовать язык PHP и фреймворк Laravel.

Концепция


Идея заключается в создании универсального класса QueryFilter для работы с фильтрами.

GET /posts?title=source&status=active

Использую данный пример, мы будем фильтровать посты (модель Post) по следующим критериям:

  • Наличие слова «source» в поле title;
  • Значение «publish» в поле status;
Читать дальше →
Total votes 5: ↑2 and ↓3+1
Comments6

Что должен уметь фронтенд-разработчик

Reading time6 min
Views557K
Редактор Нетологии Светлана Шаповалова разбирается в том, кто такой фронтенд-разработчик, что он должен уметь (или не должен) и за что ему платят прекрасную зарплату (или не очень).

Кто такой фронтенд-разработчик


Согласно ежегодному исследованию StackOverflow, самая популярная профессия среди пользователей сервиса в 2017 году — это Web developer. Именно в эту категорию входят все фронтенд-разработчики.


Читать дальше →
Total votes 21: ↑10 and ↓11-1
Comments33

The End of PHP?

Reading time2 min
Views4.2K


A hot topic in recent years is that whether PHP is losing its leading positon or even going to its end. After all, many internet companies are making a trial on other languages. There are laguanges which draw our attention greatly. Golang is well known for the coroutine. Java is best for the perfect ecological system. And python is skilled in computing and artifical intelligence. But surely, PHP won't go to its grave. And we will analyse it in the below schedules.


  • The development of PHP
  • The various framework of PHP
  • The packagist of PHP
Read more →
Total votes 13: ↑8 and ↓5+3
Comments0

PHP-Дайджест № 153 (25 марта – 8 апреля 2019)

Reading time3 min
Views15K

Свежая подборка со ссылками на новости и материалы. В выпуске: принят PSR-14 Event Dispatcher, JIT в PHP 8, тройка RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое.

Приятного чтения!


Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments3

DDD на практике. Проектирование списка желаний

Reading time19 min
Views58K

В интернете довольно много разрозненного материала по DDD. Если не считать синей книги, то в основном это короткие статьи с теорией, надёрганной из этой же книги, и которая мало пересекается с практикой. Возможно, конечно, что я просто плохо искал, но мне давно хотелось найти какой-нибудь цельный пример, что называется, «от и до». И я решил такой пример создать на Symfony 3 и VueJS. Сразу хочу сказать, что я изучаю DDD недавно, поэтому взял довольно простую предметную область — список желаний (wish list).

Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments56

PhpStorm 2019.1: Отладка шаблонов Twig и Blade, поиск мертвого кода, улучшенное автодополнение и многое другое

Reading time6 min
Views19K


Привет, Хабр!

Рады представить первый мажорный релиз PhpStorm в этом году!
Обзор релиза можно посмотреть на странице “What’s new”. А под катом дополненный перевод этой страницы с демонстрацией самых интересных новых возможностей.
Читать дальше →
Total votes 71: ↑69 and ↓2+67
Comments23

Как не понимать принципы развития архитектуры SOLID

Reading time8 min
Views21K

Есть проблема с описанием и толкованием принципов развития архитектуры SOLID (авторства Роберта Мартина). Во многих источниках дается их определение и даже примеры их использования. Изучая их и пробуя использованием примерить на себя, стабильно ловил себя на мысли, что не хватает объяснения магии их применения. И пытаясь увидеть внутренние шестеренки, понять — и для меня значит запомнить — разложил их по своим "терминам-полочкам". Хорошо если это будет полезно еще кому-нибудь.


image

Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments14

PHP-Дайджест № 149 (28 января – 11 февраля 2019)

Reading time4 min
Views15K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHPUnit 8 и другие релизы, PSR-14 и PSR-12 в стадии ревью, JIT для PHP, стартовала работа над PHP 8, пачка свежих RFC из PHP Internals, порция полезных инструментов, и многое другое.

Приятного чтения!


Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments19

Продуктивное использование PHPStorm

Reading time7 min
Views327K
В процессе использования IDE иногда случайно, иногда специально находятся полезные фишки, сочетания клавиш и прочие заложенные разработчиками приятные штуки, которые никогда не оседают в памяти без регулярного их использования и всячески ускользают при чтении мануалов.

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?
Total votes 120: ↑117 and ↓3+114
Comments124

PhpStorm — повышаем производительность (клавиатурные сокращения). Часть 1

Reading time4 min
Views210K
imagePhpStorm — повышаем производительность (плагины и темы оформления). Часть 2

У всех нас есть любимые IDE или редакторы в которых мы пишем код. Для меня это PhpStorm, и потребовалось некоторое время, чтобы освоить все клавиатурные сокращения и ускорить свой рабочий процесс. В этой статье я поделюсь с вами некоторыми сочетания клавиш и советами, которые возьмут на себя часть рутинной работы, если вы тоже делаете свою работу в этой IDE. Эта статья была частично вдохновлена этим Reddit тредом, и я буду упомянать и демонстрировать некоторые трюки найденные там.

Обратите внимание, что я разрабатываю на Linux в Vagrant, размещенном в Windows, я буду использовать клавишу CTRL вместо CMD. Если вы работаете в OS X, замените CTRL на CMD.

Клавиатурные сокращения и хаки


PhpStorm позволяет настроить себя практически до бесконечности — вы можете заточить этот инструмент под себя так, что постороннему может показаться, что это совсем другая IDE.

(осторожно, много gif изображений)
Давайте посмотрим, чем мы можем воспользоваться
Total votes 77: ↑68 and ↓9+59
Comments58

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity