Pull to refresh
47
0
Ян Иванов @franzose

Веб-разработчик

Send message

Оптимизация OneToMany коллекций Doctrine

Reading time13 min
Views4.5K

В этой статье будет показан пример того, как уменьшить количество запросов к базе данных до одного при работе с коллекциями сущностей иерархической структуры в контексте PHP и Doctrine ORM. Полный пример решения вы можете посмотреть в специальном репозитории. Статья основана на решении проблемы из обсуждения на StackOverflow.

Поехали!
Total votes 12: ↑12 and ↓0+12
Comments9

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

Reading time19 min
Views56K

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

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

Валидировали, валидировали… и вывалидировали! Сравниваем валидаторы данных в PHP

Reading time12 min
Views19K

Изображение взято с сайта Michiana Stransportation (Bike Shops)


Если вы еще не в курсе, что такое Kontrolio, предлагаю прочесть первую часть — «Держите свои данные под контролем». Вкратце, это моя библиотека для валидации данных, написанная на PHP.

В предыдущей статье я обещал написать сравнение своей собственной библиотеки с другими имеющимися решениями, так что сегодня мы рассмотрим валидацию с помощью Aura.Filter, Respect Validation, Sirius Validation и Valitron.

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments31

Как по маслу, или анимируем со скоростью 60 FPS на CSS 3

Reading time5 min
Views61K

Изображения и текст принадлежат их авторам.


Анимация элементов в мобильных приложениях — это просто. Правильная анимация тоже может быть простой… если вы последуете представленным в статье советам.


Сегодня кто только не использует CSS 3 анимацию в своих проектах, тем не менее не только лишь все, но мало кто может делать это правильно. Даже описаны так называемые «лучшие практики», но люди продолжают делать всё по-своему. Скорее всего потому, что просто не понимают, почему всё устроено именно так, а не иначе.


Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments27

Держите данные под контролем

Reading time7 min
Views12K
Не секрет, что пользовательским данным доверять нельзя. Поэтому однажды человек и придумал валидацию данных. Ну а я, интереса ради и пользы для, написал свою реализацию валидатора на PHP.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments32

Подписан закон о хранении персональных данных российских интернет-пользователей

Reading time1 min
Views15K
Где? Ну, да, только на российских серверах. В этом и не стоило сомневаться. Этот закон обязывает почтовые сервисы, а также социальные сети размещать персональные данные российских пользователей исключительно на серверах, расположенных на территории России. Требования, изложенные в данном законе, вступят в силу 1 сентября 2016 года.

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

На основе материала газеты «Коммерсантъ». Схожий материал можно найти на «Ленте».
Total votes 60: ↑54 and ↓6+48
Comments110

CSS 3 Timing Functions и с чем их едят

Reading time15 min
Views102K


Хей народ, пристегните ремни и держитесь покрепче, ибо наступил действительно волнительный момент: вам предстоит разобраться в тонкостях чрезвычайно интересных временных функций CSS!


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

Полетели!
Total votes 77: ↑74 and ↓3+71
Comments8

12 малоизвестных возможностей CSS

Reading time8 min
Views137K
CSS — не очень сложный язык. Но даже если вы пишете таблицы стилей в течении многих лет, наверняка бывают моменты, когда вы узнаете еще что-нибудь новенькое: свойства или значения, которые вам не доводилось использовать, детали спецификации, о которых вы не имели понятия.

В процессе работы с CSS я постоянно нахожу что-нибудь интересненькое, так что решил написать пост и поделиться своими знаниями с вами. Правда, учитывайте, что не всё, о чем будет рассказано, имеет непосредственное практическое значение, но, на всякий случай, в хозяйстве пригодится.
Читать дальше →
Total votes 115: ↑99 and ↓16+83
Comments55

Одно из мнений о будущем PHP

Reading time7 min
Views34K


В последнее время в сообществе разработчиков наблюдается весьма оживленное обсуждение всего того, что касается PHP и его будущего. Что радует — большинство подобных разговоров проходят в позитивном ключе. Популярны дискуссии на тему PHP 6 и того, каким он мог бы выглядеть. Народ задает очень много вопросов об HHVM и её роли в будущем языка и сообщества. Так что позвольте и мне поделиться с вами некоторыми своими мыслями по этому поводу.

Читать дальше →
Total votes 79: ↑56 and ↓23+33
Comments83

Хранение деревьев в базе данных. Часть первая, теоретическая

Reading time4 min
Views129K
Полгода назад написал бандл ClosureTable для фреймворка Laravel 3. Поводом для написания стала вот эта замечательная презентация Билла Карвина о способах хранения и обработки иерархических данных в MySQL с использованием PHP.

Итак. Существует несколько шаблонов проектирования баз данных для хранения и обработки иерархических структур:
  • Adjacency List («список смежности»)
  • Materialized Path («материализованный путь»)
  • Nested Sets («вложенные множества»)
  • Closure Table («таблица связей»)

Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments66

Information

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

Specialization

Backend Developer
Senior