Как стать автором
Обновить
1
0
Андрей Овчинников @a_ovchinnikov

Backend developer

Отправить сообщение

Symfony как использовать FOSRestBundle

Время на прочтение6 мин
Количество просмотров34K
В данном посте я бы хотел рассказать о том, как нужно правильно выстраивать RESTfull API для AngularJS и других фронтенд фреймворков с бекендом на Symfony.

И, как вы уже наверное догадались, я буду использовать FOSRestBundle — замечательный bundle, который и поможет нам реализовать backend.

Здесь не будет примеров как работать именно с Ангуляром, я буду описывать исключительно только работу с Symfony FosRestBundle.

Для работы нам так же понадобится JMSSerializerBundle для сериализации данных из Entity в JSON или другие форматы, исключения некоторых полей для той или иной сущности (например пароль для API метода получения списка пользователей) и многое другое.

Подробнее можете почитать в документации.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии10

8 советов начинающим программистам или ретроспектива моей карьеры

Время на прочтение5 мин
Количество просмотров44K


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

Но перенесемся в настоящее. Сейчас я пишу эти строки, сидя в удобном офисе престижного БЦ в центре Москвы. За плечами работа с крупными международными брендами и разработка сложных fintech приложений. Сотни книг прочитано и десятки статей написано. Мания величия давно вылечена. Менеджерские позиции опробованы и отвергнуты. Душевное равновесие найдено. Любовь к профессии сохранена. Однако это не статья из серии “Какой я молодец. Делай, как я и тоже будешь молодцом”. Эта статья о том, какие ошибки я совершал и что можно было сделать лучше. Эта статья — ретроспектива моей карьеры.
Читать дальше →
Всего голосов 73: ↑61 и ↓12+49
Комментарии47

Спецификации в PHP

Время на прочтение8 мин
Количество просмотров11K
Happyr Doctrine Specification

Кратко о спецификациях:


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

На сегодня существует два (если знаете другие проекты, напишите пожалуйста в комментариях) успешных и популярных проекта на PHP, позволяющих описывать бизнес-правила в спецификациях и фильтровать наборы данных. Это RulerZ и Happyr Doctrine Specification. Оба проекта являются мощными инструментами со своими преимуществами и недостатками. Сравнение этих проектов потянет на целую статью. Здесь же я хочу рассказать, что нам привнес новый релиз в Doctrine Specification.

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии4

Установка имплантата: как это делается?

Время на прочтение4 мин
Количество просмотров79K
image

Добрый день уважаемые друзья! Сегодня мне бы хотелось рассказать, а главное, показать вам — как проходит операция по установке имплантата — со всеми инструментами и прочим. Если про процесс удаления зуба, в частности зуба мудрости — я уже рассказывал, то настало время поговорить о чем-то более серьезном.
ВНИМАНИЕ!-Uwaga!-Pažnju!-Attention!-Achtung!-Attenzione!-ВНИМАНИЕ!-Uwaga!-Pažnju!

Ниже будут представлены фотографии сделанные во время операции! С видами зубов, дёсен, крови и расчлененки. Слабонервных прошу отказаться от прочтения данной статьи.
Читать дальше →
Всего голосов 91: ↑86 и ↓5+81
Комментарии146

Основы CQRS

Время на прочтение14 мин
Количество просмотров103K
Данная статья основана на материале из различных статей по CQRS, а также проектов, где применялся такой подход.

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

Поэтому при разработке зачастую можно наблюдать одни и те же проблемы в организации кода и архитектуры, а также в их усложнении. При неправильном подходе к проектированию рано или поздно может наступить момент, когда код становится настолько сложным и запутанным, что каждое внесение изменений требует все больше времени и ресурсов.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии88

Как мы попробовали DDD, CQRS и Event Sourcing и какие выводы сделали

Время на прочтение9 мин
Количество просмотров76K
Вот уже около трех лет я использую в работе принципы Spec By Example, Domain Driven Design и CQRS. За это время накопился опыт практического применения этих практик на платформе .NET. В статье я хочу поделиться нашим опытом и выводами, которые могут быть полезными командам, желающим использовать эти подходы в разработке.

Факты, цифры, код
Всего голосов 39: ↑39 и ↓0+39
Комментарии45

Авторизация для ленивых. Наши грабли

Время на прочтение57 мин
Количество просмотров29K


Всем привет! Недавно мы решали задачу авторизации пользователей мобильного приложения на нашем бекенде. Ну и что, спросите вы, задача-то уже тысячу раз решённая. В этой статье я не буду рассказывать историю успеха. Лучше расскажу про те грабли, которые мы собрали.

Поехали!
Всего голосов 40: ↑39 и ↓1+38
Комментарии15

10 принципов самодокументируемого кода

Время на прочтение6 мин
Количество просмотров41K
Привет! Сегодня я хочу поделиться советами по написанию совершенного понятного кода, взятые из книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода».

Конечно, неплохо было бы прочитать эту занимательную книгу каждому кто пишет код, но для особо ленивых, но желающих перестать меньше мучить и вводить коллег в заблуждение (совесть имейте) представляю под катом 10 принципов самодокументируемого кода:
Читать дальше →
Всего голосов 61: ↑49 и ↓12+37
Комментарии134

Принцип SOLID в языке Go

Время на прочтение14 мин
Количество просмотров38K

Приветствую вас, хабровчане, решил поделиться с сообществом переводом довольно часто (по личным наблюдениям) упоминаемого поста SOLID Go Design из блога Dave Cheney, который выполнял для собственных нужд, но кто-то говорил, что нужно делиться. Возможно для кого-то это окажется полезным.


SOLID дизайн Go


Этот пост на основе текста из основного доклада GolangUK прошедшего 18-ого Августа 2016.
Запись выступления доступна в YouTube.

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии63

Книга «Микросервисы. Паттерны разработки и рефакторинга»

Время на прочтение8 мин
Количество просмотров60K
image Привет, Хаброжители! Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились — переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности.

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

Предлагаем ознакомиться с отрывком «Управление транзакциями в микросервисной архитектуре»
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии26

Самодокументируемый код – это (как правило) чушь

Время на прочтение7 мин
Количество просмотров37K
Всем привет!

Предваряя сегодняшнюю переводную публикацию, сразу отметим, что этот текст задуман как follow-up недавнему дискуссионному материалу "Прекратите усердствовать с комментариями в коде". Нас настолько впечатлила развернувшаяся там дискуссия и 189 комментариев по состоянию на 19.07.2019, что мы решили дать здесь слово и другому автору с портала Medium (Кристоферу Лейну), который практически по всем принципиальным вопросам полемизирует с тезисами Брайана Норлендера, автора первой статьи. Отметим, что в оригинале данная статья вышла на месяц позже предыдущей (16 мая и 16 июня), но собрала практически вдвое меньше аплодисментов (706 против 1,5K на момент публикации перевода). Посмотрим, что будет на Хабре…



Снимок взят с сайта rawpixels.com от автора Pexels
Читать дальше →
Всего голосов 70: ↑45 и ↓25+20
Комментарии213

DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе

Время на прочтение14 мин
Количество просмотров105K


Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы прочитаете предыдущие статьи в серии.

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

С тех пор я всегда чувствовал, что мне нужно восстановить «потерянное» время и узнать как можно больше, как можно быстрее. Поэтому я стал немного увлекаться экспериментами, много читать и писать, уделяя особое внимание дизайну и архитектуре программного обеспечения. Вот почему я пишу эти статьи, чтобы помочь себе в обучении.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии14

Современный PHP без фреймворков

Время на прочтение13 мин
Количество просмотров91K


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

Читать дальше →
Всего голосов 96: ↑78 и ↓18+60
Комментарии265

PhpStorm 2019.2: Типизированные свойства PHP 7.4, поиск дубликатов, EditorConfig, Shell-скрипты и многое другое

Время на прочтение10 мин
Количество просмотров20K


Всем привет! Мы рады представить вам второй мажорный релиз PhpStorm в этом году!


Обзор релиза можно посмотреть на странице “What’s new”. А под катом подробный разбор всех заметных изменений и новых возможностей. (Осторожно — очень много картинок!)


Скачать новую версию можно на сайте или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также бесплатно студенты и разработчики проектов с открытым исходным кодом.


Всего голосов 79: ↑77 и ↓2+75
Комментарии125

Почему Senior Developer'ы не могут устроиться на работу

Время на прочтение3 мин
Количество просмотров153K


Сначала о том, как 5 месяцев назад я проходил собеседование на работу. Меня посоветовал друг, и прошло уже немало времени, с момента как я ответил рекрутеру. Я был поражён, как сильно весь процесс изменился за последние 5 лет.


После первичного созвона меня отправили на сторонний сайт (HackerRank), чтобы я решил три небольших задачки за 1 час. Для меня это был первый подобный опыт. Первые две задачки были простыми, но третья оказалась посложней. Когда время подошло к концу, моё решение не проходило все тесты, а только где-то 8 из 10 необходимых.

Читать дальше →
Всего голосов 165: ↑151 и ↓14+137
Комментарии909

Что на самом деле случилось с исчезнувшим малайзийским Боингом (часть 3/3)

Время на прочтение11 мин
Количество просмотров76K
Не претендую на лавры товарища five, но мне кажется, что цикл статей прервался на самом интересном месте, и позволю себе восполнить этот пробел.

  1. Исчезновение
  2. Прибрежный бродяга
  3. Золотая жила
  4. Заговоры
  5. Возможный сценарий
  6. Капитан
  7. Истина
Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии108

Закон Деметры

Время на прочтение5 мин
Количество просмотров50K

Введение


На данный момент существует множество доказанных временем практик, помогающих разработчикам писать хорошо поддерживаемый, гибкий и удобно читаемый код. Закон Деметры — одна из таких практик.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии27

«Сгоревшие» сотрудники: есть ли выход?

Время на прочтение18 мин
Количество просмотров160K
Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — живи да радуйся!

Но в твоём коллективе есть Грустный Игнат. Игнат всегда мрачный, циничный и уставший. Он отличный специалист, давно работает в компании и знает, как всё устроено. Игнату все хотят помочь. Особенно ты, ведь ты его менеджер. Но, поговорив с Игнатом, ты и сам начинаешь чувствовать, как много вокруг несправедливости. И тоже начинаешь грустить. Но особенно страшно, если грустный Игнат — это ты.

Что же делать? Как работать с Игнатом? Добро пожаловать под кат!


Всего голосов 224: ↑210 и ↓14+196
Комментарии400

Методология как конструктор: инструкция по сборке

Время на прочтение23 мин
Количество просмотров18K
Из современного конструктора LEGO можно собрать только одну модель игрушки, например, самолет. Кастомизировать? Можете поменять местами кресла пилотов — вот и вся кастомизация. Лет 30 назад из конструктора можно было собрать примерно все, от самолета до грузовика, при том же количестве деталей как и в современных. Создатели большинства современных методологий в детстве играли в старое Лего. Те, кто сейчас пользуется методологиями — играли уже в современный. Разница в инженерных практиках огромна.



Под катом Филипп Дельгядо (dph) расскажет об инженерном подходе к формированию методологии. Все проекты и команды разные, а лидеры — неповторимы. Подогнать одну методологию под всех не получится — таких просто нет. Придется брать конструктор и строить из него что-то свое, уникальное. В расшифровке одного из лучших докладов TeamLead Conf не будет секретных тайн шаолиньских монахов — только банальности, проверенные опытом. Нас ждет каталог деталей методологии разработки, на что обращать внимание при ее конструировании и внедрении, правила перестраивания методологий. Для всех идей приведены реальные примеры из опыта Филиппа. За свою карьеру он попробовал все — от Visual Basic до хардкорного SQL, разрабатывал крупнейший в России букмекерский движок и Яндекс.Деньги, а сейчас работает над нагруженными проектами на Java. Регулярно делает доклады на разных конференциях, в том числе и на HighLoad++.
Всего голосов 47: ↑46 и ↓1+45
Комментарии27

Бережная обработка ошибок в микросервисах

Время на прочтение11 мин
Количество просмотров13K

В статье показано, как в Go реализовать обработку ошибок и логирование по принципу "Сделал и забыл". Способ расчитан на микросервисы на Go, работающие в Docker-контейнере и построенные с соблюдением принципов Clean Architecture.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии14

Информация

В рейтинге
Не участвует
Откуда
Йошкар-Ола, Марий Эл, Россия
Дата рождения
Зарегистрирован
Активность