• Как настроить Laravel и smtp Яндекс (почта для доменов)?

    @svazist
    Fullstack developer
    Необходимо в настройках аккаунта, на яндексе (Янекс Паспорт):
    1. заполнить персональную информацию
    2. В блоке "Пароли и авторизация" есть блок "Пароли приложений" и ссылка "Создать ещё один" - создать там новый пароль и его использовать в конфиге Laravel
    Ответ написан
    2 комментария
  • Bootstrap-Vue - В чём фишка данного симбиоза?

    copist
    @copist
    Empower people to give
    Расскажите плиз о технологии, и чем развёрнутей, тем лучше.

    Вот захотел ты сделать сайт SPA или PWA с любимой тебе вёрсткой на базе Twitter Bootstrap и любимой библиотеки Vue. Сверстал. Поповеры не появляются, дропдауны не выпадают, модалки не открыватся, формы не валидируются, клики не работают.

    Оригинальный Twitter Bootstrap имеет поддержку интерактивных элементов на Javascript. Реализовано это на библиотеке jQuery. Если делаешь на Vue, придётся подключать ещё и jQuery, что лишняя библиотека на 100+ килобайт, что, конечно, не катастрофа (пока ты не на мобилке).

    Vue работает с состояниями привязывает данные к отображению, а jQuery работает с DOM и событиями. Это вопрос производительности. Работа JQuery начитается когда загружен и распарсен JS и HTML. Работа Vue начинается в тот момент, когда загружен и распарсен JS, то есть чуть раньше. jQuery модифицирует DOM на лету, перестраивая текущий документ. Vue работает с shadow DOM, а затем подсовывает уже готовую интерактивную страницу в пустой документ, что быстрее (разница в секунды на десктопе, десятки секунд на м...).

    Vue реализует компонентную парадигму. Куски страницы являются изолированными кусочками кода (HTML CSS JS), которые цепляются между собой динамически, а обмениваются данными через аттрибуты и события. Предположим, что вы решили следовать компонентной парадигме, тогда согласно вот такому примеру нужно будет увязать самостоятельно все интерактивные компоненты. Компонента-кнопка. Компонента-поле ввода. Компонента-форма. Компонента-контейнер. Получается около 50 компонент. Для некоторых надо будет написать логику на jQuery. Если посмотреть на код jQuery этих микрокомпонент, то он окажется несложный, его вполне можно переписать на Vue. Ну там класс заменить или клик отработать. Когда от кода jQuery не останется следа, его можно будет из проекта удалить.

    И вот получается Bootstrap-Vue

    На компоненты побили. От Jquery избавились. Написано в единой парадигме. Работает быстрее.

    Добавляем тот факт, что в Vue можно не импортировать компоненты, которые не нужны (например, я не работаю с дропдаунами и модальным окнами) и код становится меньше, грузится быстрее, работает быстрее.

    Так же будет Не лишним оценить технологию: плюсы, минусы, стоит ли вообще с этим работать ...

    Это сам изучай и сравнивай. Навыки и опыт воздушно-капельным и через Internet не передаётся
    Ответ написан
    4 комментария
  • GIT: Как подсчитать вклад каждого разработчика?

    Есть такая штука как Caelum git reports
    Ответ написан
    Комментировать
  • Как в bootstrap 4 поменять размер container?

    Приведу пример как я делал в своем проекте (бутстрап ставится через npm, но это не принципиально):
    app.scss:
    @import 'custom';
    @import '~bootstrap/scss/bootstrap';
    @import 'main';

    custom.scss:
    $grid-breakpoints: (
            xs: 0,
            sm: 576px,
            md: 768px,
            lg: 992px,
            xl: 1200px,
            xxl: 1920px
    );
    
    $container-max-widths: (
            sm: 540px,
            md: 720px,
            lg: 960px,
            xl: 1200px,
            xxl: 1918px
    );
    
    $colors: (
            blue: #1799d3,
            pink: #e20073
    );
    
    $theme-colors: (
            primary: #1799d3,
            pink: #e20073
    );
    
    $body-color: #444;
    $line-height-base: 1.2;

    Нужные переменные можно посмотреть в исходниках бутстрапа, куда смотреть написано в документации.
    Ответ написан
    1 комментарий
  • Как подключить шрифт в sass, чтобы он компилировался в css?

    shvaika
    @shvaika
    Front-end developer
    Я бы посоветовал использовать пакет для подключения, в разных форматах.
    Компиляция происходит очень просто https://fontie.pixelsvsbytes.com/webfont-generator
    Выбираете: Formats ставите галочку на TrueType Font.
    После этого, загружаете любой из скачанных шрифтов (формат не важен) нажав на ссылку выше "Add your font files (or just drop them on the page)". Жмем "Generate & download your @font-face package" и скачиваем архив с генерированными шрифтами.

    Следующий шаг: Открываем архив и копируем все шрифты(.ttf, .eot, .svg, .woff и .woff2) в директорию с проектом в папку fonts. В скачанном архиве, открываем файл *.css он там один и копируем стиль для шрифта в отдельный файл стилей шрифтов (как правило это файл _fonts.sass) подключенный к основному стилевому файлу к примеру так: 64c67ead6d0547e2ab7b7c592fb51a72.PNG ...где fonts это имя вашего sass файла со шрифтами.
    Пример комплекта подключения:
    8a10e6026d6544d0a331c68a34aa52fe.PNG
    (копируем в файл _fonts.sass) структура может изменяться исходя из имени вашего шрифта.

    Данный способ универсален и более насыщен для работы, является более кроссбраузерным. Интеграция шрифта - как обычно.
    Ответ написан
    3 комментария
  • Как в Revive AdServer/OpenX получть код HTML баннера для сайта?

    @Monty
    Пишу по памяти. В админке создаете вебсайт, у него создаете баннерную зону, получаете баннерный код этой зоны.
    Потом создаете рекламодателя, создаете рекламную компанию, в ней заводите баннеры, настраиваете что эта рекламная компания показывается на созданном вами сайте. Готово. Извините за возможные неточности.
    Ответ написан
    Комментировать
  • Почему шрифт Raleway не подгружается на моб. устройствах?

    @Mr_Edward
    Добавьте еще формат woff2 и svg.
    У меня подключение выглядит вот так. С сафари работает отлично, хром тоже распознает.
    @font-face {
    	font-family: 'Raleway';
    	src: url('hinted-subset-Raleway-SemiBoldItalic.eot');
    	src: local('Raleway SemiBold Italic'), local('Raleway-SemiBoldItalic'),
    		url('hinted-subset-Raleway-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
    		url('hinted-subset-Raleway-SemiBoldItalic.woff2') format('woff2'),
    		url('hinted-subset-Raleway-SemiBoldItalic.woff') format('woff'),
    		url('hinted-subset-Raleway-SemiBoldItalic.ttf') format('truetype'),
    		url('hinted-subset-Raleway-SemiBoldItalic.svg#Raleway-SemiBoldItalic') format('svg');
    	font-weight: 600;
    	font-style: italic;
    }
    Ответ написан
    5 комментариев
  • Легковесная Data Mapper PHP ORM?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    да и для проекта она тяжеловата.


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

    В целом рекомендую глянуть на Spot2 или analogue, но количество "лишнего" для молодого проекта кода будет намного выше чем в случае с доктриной.

    Если же вам нужен именно data mapper а не ORM, то... тут сложно, все что я видел так себе. Из интересных проектов разве что https://github.com/idr0id/Papper порекомендую.
    Ответ написан
    Комментировать
  • Есть сайты для общения начинающих программистов, или что-то подобное?

    Judixel
    @Judixel
    Front-end Engineer
    Помоему чаты только время убивают в основном, никогда не любил трепаться ни в офисе и ни уж тем более в чате, а по теме попробуйте slack
    Ответ написан
    2 комментария
  • Есть сайты для общения начинающих программистов, или что-то подобное?

    27cm
    @27cm
    TODO: Написать статус
    Список русскоязычных IT чатов (Gitter, Slack, Skype):
    https://github.com/mr-mig/ru-it-chats
    Ответ написан
    Комментировать
  • Есть сайты для общения начинающих программистов, или что-то подобное?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Сергей прав, многие не сидят ВК, но есть те, кто довольно активно общается, вот списочек групп:
    https://vk.com/jsraccoon
    https://vk.com/forwebdev
    https://vk.com/freebiestruck
    https://vk.com/webtackles
    https://vk.com/proglib
    https://vk.com/uwebdesign
    https://vk.com/tproger
    https://vk.com/go_stash

    В первой группе есть альбомчик, куда можно загружать скрины/код своих проектов для обсуждения.
    Ответ написан
    Комментировать
  • Стоит ли вьюхи отучать от методов объектов в пользу ассоц. массивов?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    На самом деле, такая оптимизация не будет иметь смысла - если мы между контроллером и вью добавим слой, который будет преобразовывать объект, с которым работал контроллер, в массив, с которым будет работать вью, это только ухудшит производительность. Для оптимизации нужно будет вообще отказаться от объектов и работать только с массивами. И этот шаг ни в коем случае нельзя делать, пока вы не будете на 146% уверены, что он необходим.

    Вдобавок, такая "оптимизация" может даже ухудшить дело, потому что не получится реализовать ленивый подсчет данных. Простой пример - если заказ не подтвержден, то не нужно выводить сумму его товаров, а если подтвержден - нужно. Представим, что сумма нигде не хранится и считается на лету из товаров в корзине заказа. При использовании объекта, подсчет суммы не выполнялся бы вообще для неподтвержденных заказов, потому что метод getTotal() не будет вызван в шаблоне. А при конвертации в массив нужно будет высчитывать всё, ведь неизвестно, что пригодится в шаблоне, а что - нет.

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

    Так я и подумал, может стоит сразу приучать вьюхи использовать только ассоц. массивы?

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

    А так вьюха навязывает логику контроллерам и моделям, что та или другая переменная должна быть именно объектом.

    Наоборот, это контроллеры отдают данные и по определению именно они навязывают шаблону логику его работы. И это нормально.

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

    Да, можно во все классы запилить поддержку ArrayAccess, но какой в этом смысл? Если вью будет работать с объектом, то это только трата времени. Если вью будет работать с массивом, то ArrayAccess тут ничем не поможет - никакого объекта уже нет. Я не вижу смысла делать такой hot swap.

    Это как делать framework-агностик приложение, чтобы в любой момент можно было заменить Симфони на Ларавел - идея прикольная и дизайн в итоге, возможно, будет лучше (но далеко не факт, потому что такое усложнение может сделать всё только хуже), но на практике такие переезды происходят очень редко и даже когда происходят, безболезненно они не проходят.

    Гораздо эффективнее сделать минимально необходимый дизайн, а потом, если уж припрет, потратить дополнительное время на перенос. По большому счету, то, что вы предлагаете, это Big Upfront Design и я не сторонник такого подхода. Лучше вносить изменения итеративно, исходя из текущих потребностей бизнеса, оплачивающего работу, и не заглядывать далеко в будущее. Есть ненулевая вероятность, что пока вы будете имплементировать в классах ArrayAccessable Interface, заказчик разорится и ваш красивый, расширяемый, поддерживаемый код окажется никому не нужным.

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

    P.S. Я это всё написал как альтернативную точку зрения для всех, кто будет читать этот вопрос впоследствии. Используйте whatever floats your boat, как говорится, в вопросах архитектуры нет серебряной пули.
    Ответ написан
  • Стоит ли изучать Symfony?

    kzakhariy
    @kzakhariy Автор вопроса
    PHP Developer
    Спасибо всем за ответы! Еще нашел классные уроки , но платные https://knpuniversity.com/tracks/symfony
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Конечно, учить symfony нужно, потратив одни выходные вы получите кучу опыта, который пригодится даже если вы будете программировать на Laravel, тем более там используются компоненты sf. Обязательно нужно попробовать Doctrine, каким бы куском говна на мой взгляд она не была, но с концепцией должен познакомиться любой уважающий себя программист.
    Ответ написан
    6 комментариев
  • Стоит ли изучать Symfony?

    @djay
    Итак, обо всем по порядку:

    1. Дописать новую фичу можно в любой системе и в любом фрейморке (ZF/Laravel/SF/Cake/CI/Phalcon ... ), даже если все было спроектировано не правильно изначально. Единственно на это уйдет чуть больше времени и нервов.

    2. Симфони второй по востребованости в СНГ, после Yii - согласно hh и brainstorage. Остальное - ZF/Laravel. В Европе/США - наоборот, ZF2/Laravel, потом Symfony, а Yii вообще редко попадается.

    3. Да Ларавел работает быстрее и есть меньше памяти. Это потому в симфони очень много слоев абстракции. Но как правило, память дешевая и многие могут её себе позволить. То есть в основном никого не волнует какие-то 9-10 лишних МБ памяти.

    4. Симфони - не для слабаков. Его API гораздо сложнее всех остальных. Нужно уже знать и понимать DI контейнеры, принцип разделения концепций и аналогичное. Для работы с Yii/Laravel - знать этого не нужно, поэтому каждый второй школьник Yii/Laravel программист (образно говоря).

    5. Не встречал адекватных мануалов для новичков на русском языке, к сожалению. Могу посоветовать только англоязычные:

    Symfony2 Registration and Login
    Creating a blog in Symfony2

    Пройдя эти мануалы, уже сможешь писать приложения.

    6. В любом фрейворке, тебе нужно будет в основном только это:

    - Роутер / контроллеры
    - Компонент валидации форм
    - Слой над базой данных

    И все! Фремворк предоставляет только инструменты, не более того. Т.е фреймворк - это не цель, а средство.
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Хотите развиваться - поймите архитектуру того, что уже есть и попробуйте сделать лучше по скорости работы и по скорости разработки.
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не составит труда, если изначально все было спроектировано правильно.

    И тут приходим к тому что нужно учить не фреймворк, он тут много погоды не делает (хотя в Symfony чуть сложнее накосячить, хотя всегда можно сделать ужасно). Так же есть определенные нюансы. Скажем если вы захотите проникнуться настоящим феншуем, DDD всякими и т.д. придется отказаться от MySQL в пользу PostgreSQL (если конечно вы не работаете с ораклами какими, в mysql все плохо с автоинкрементами, что накладывает определенные ограничения при работе с Doctrine и заставляет писать кучу лишнего бойлерплейта что бы все было красиво, хотя этот бойлерплейт можно реюзать).

    По сути единственная разница между приложениями на Laravel и Symfony - ORM идущая из коробки (как бы все можно подменить под себя). Все остальное - минимальные различия. А с нормальным ORM (а в PHP мире она пока одна - Doctrine) уже можно делать дела красиво и эффективно с точки зрения трудозатрат. Но даже с ActiveRecord можно жить и не тужить.

    Словом, я не знаю что вы хотите получить от Symfony, по сути переход с одного фреймворка на другой вам мало чего даст.

    Прочитал много мнений о том что Laravel намного быстрее работает чем Symfony.

    Вот этот параметр просто не учитывайте. Как минимум Laravel основан на компонентах Symfony и единственное узкое место, которое явно работает медленнее это Doctrine ORM, но та гибкость которую она дает слихвой оправдывает прожерливость. Да и смысл вообще по этому поводу загоняться этом есть только на больших нагрузках, а так вы с большей вероятностью убьете производительность не расставив где надо индексы в базе.

    подскажите правильный путь

    А правильного нет. Каждый сам свой путь выбирает. Хотите развиваться? Читайте книги. Кента Бэка почитайте, Эрика Эванса и других персонажей... Расширяйте кругозор, а далее что понравится. А да, не ограничивайтесь книгами только для программистов. Почитайте чего по процессам разработки (чего-нибудь про скрамы, канбаны, лины, континиус импрувмент).
    Ответ написан
    4 комментария
  • Чего нет в Laravel в отличие других framework - ов?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Не хватает нормальной работы с ассетами, прикрутили нодовскую поделку сомнительной удобности.

    А в остальном функционал легко добавляется с нужными пакетами. Тому же gii есть пяток замен и не только на кодогенерации. administrator, cruddy, rapyd-laravel, SleepingOwl ...
    Ответ написан
    Комментировать
  • Какие есть современные альтернативы FoxPro?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Жесть какая... либо препод ограбил музей, либо это - курсовая по археологии!

    Современная альтернатива - это MS Access (Win) или Filemaker Pro (Mac).

    Но альтернативой это можно назвать весьма условно, т.к. реальная современная альтернатива - это не десктопные БД, а все же БД с архитектурой клиент-сервер + UI к ним на любой основе (от жирных клиентов, и вплоть до веб-приложений в облаке).
    Ответ написан
    2 комментария
  • Почта для домена: gmail vs. яндекс

    @psthv2
    У меня есть действующая доменная почта для гугла и яндекса. Если кратко:
    Google Apps Яндекс
    Платно — бесплатно
    Фильтры плохи — хорошие
    Скорость загрузки низкая — высокая
    Возможность пересылать несколько писем отсутсвует — присутсвует
    Удобство гугл аккаунта как единственного аккаунта — нет такой опции
    Интерграция с гугл диском и гугл докуементами есть — жалкое подобие в виде яндекс диска
    Синхоронизация контактов с телефоном отличная — через жопу
    Интерфейс ногу сломаешь — отличный
    Встроенный календарь отличный — говно
    Возможность встраивать приложение для почты (например плагины для систем управления проектами) прямо в веб-морду gmail — нет таких опций (насколько мне известно).
    Возможность отправлять письма с задержкой с помощью сторонних платных приложений — бесплатная встроенная возможность.
    Возможность создавать любое количество псевдонимов для почты — можно использовать в качестве псевдонима формат типа <номертелефона>yandex.ru
    Приятный интерфейс написания нескольких писем без закрытия основного веб-интерфейса — нет такого интерфейса.
    Нет уведомления получателя по СМС — есть такое уведомление.

    Функциональность Gmail огромна, но во многих местах реализована не шибко юзерфрендли.
    Ответ написан
    2 комментария