Pull to refresh
0
0

Web-developer

Send message

Также стоит упомянуть про Docker образы от Bitnami со встроенными надстройками для быстрой репликации:


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

И по иронии судьбы, вероятно, по стечению обстоятельств, но по иронии судьбы

Пожалуйста, прочитайте свой же перевод.

Также хочу дополнить несколько проблем, которые "ужасно неочевидные" и нужны лишь мне.


А именно:


Поиск в своих треках


В мобильной версии эта функция есть. Но после некоторых гениальных доработок UX при опечатке поле ввода вместе с текстом исчезает, появляется одна кнопка "поискать в каталоге" и на этом всё. Чтобы повторить поиск нужно выполнить 3 клика: нажать на кнопку внизу "Моя музыка", выбрать "Треки" и нажать по полю поиска. Столько же, кстати, действий нужно выполнить и просто для того, чтобы открыть свою мызыку с главного экрана приложения. Главный экран без интернета не придоставляет вообще никакого функционала и является источником ненужных кликов.


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

Обычно после критики следует оставить хотя бы какое-то предложение. Вы же, после череды заявлений "но они не могут", ничего сами не предлагаете и просто напоминаете персонажа из одного известного мема:
image


Пожалуйста, оставьте хотя бы в комментариях несколько идей о том, каким вы видите свой идеальный файловый менеджер.

Название: Ely.by
Описание: альтернативные сервисы для Minecraft. Мы предоставляем игрокам и владельцам серверов бесплатные и централизованные альтернативы сервисам системы скинов и авторизации для игровых серверов и сайтов. Как такового логотипа у нас нет, а используется лишь название сайта:
Ely.by logo
Но, в силу того, что меня в детстве покусали дизайнеры, и в меру развития этой детской травмы, я стремлюсь делать сервис максимально привлекательным для пользователей и хотелось бы иметь какой-то логотип, который можно было бы использовать как у себя, так и на внешних сайтах на кнопках "войти через" и "поделиться в". В идеале было бы здорово, чтобы у логотипа был потенциал анимирования в лоадер, как это, например, сделано у GitLab :)

Здравстуйте. Спасибо за статью.


Скажите, не возникает ли в данной конфигурации проблем с деплоем новой версии? Если я правильно понимаю, то т.к. используются volume для обобщения кода между php-fpm и nginx контейнерами, после первого деплоя (т.е. когда volume был пустым) код уже не переписывается из контейнера в него, а наоборот: на новый контейнер накатывается старый код из volume. Я пока так и не смог решить эту проблему, оставив всё на docker-compose 2 и volumes_from и при деплое приходится пересоздавать как php-fpm контейнер, так и nginx. Но сейчас всё же нарастает необходимость в использовании swarm, а посему вариант заворачивать frontend и всю статику в nginx контейнер кажется всё более и более логичным.

А как же такое явление, как 2D-тян?

Понимаете, сегодня в среде программистов такие настроения: «global в коде? Сжечь его!»

Возможно (но это не точно), это связано с тем, что люди уже поняли, как легко и быстро писать на PHP плохой код и жаждят зрелищ в лице качественных и интересных решений, а не очередного решения со всё теми же "хорошо горящими" решениями, вроде использование глобальных переменных, прямого чтения из $_GET, явных include, отсутствия тестов или хотя бы шансов на них и так далее.

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

Зная это я сразу добавил статью в соответствующий хаб ;)

Я сейчас напишу какую-то дичь, а потом буду орать "it's a prank, man, it's a prank!".

Composer, присутствующий в проекте, прекрасно умеет работать со стандартами PSR-0 и PSR-4, а так же со статическими include, если уж так хочется. Зачем изобретать свой велосипед (куда менее гибкий), если в Composer уже давным давно это всё написано и имеются средства для оптимизации в production?

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

Можно примерчик такой строки?

У вас {n} друзей и {n} подписчиков.


Скорее всего решение будет будет каким то таким:
<?= i18n('hello') ?> <?= $currentUser->name ?>

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


en: {username} profile
uk: Профіль {username}
vi: Hồ sơ của {username}
be: Профіль {username}
pt: {username} perfil
ru: Профиль {username}

Возьмём тот же i18n. Как поведёт себя ваш фреймворк, если в строке будет 2 переменные с плюральной формой? Что делать, если нужно вставить подстроку вроде "Привет {username}"?

image




А если серьёзно, то больше всего порадовало наличие в проекте composer.json. То есть автор как бы в курсе, что это такое, но при этом реализации i18n, autoloader, acl, взаимодействия с бд и всех остальных фишек, описанных в самой статье сделана вручную, при чём далеко не самым лучшим образом.


Стоит ещё отдельно спросить про то, зачем, собственно, там autoloader, если в проекте вообще нет ООП?

Нет, я имел в виду заменить оригинальный класс \yii\web\Application и заставить его работать на себя. Так делают, это используют.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity