• Есть ли такие ресурсы на которых разбирают базовые проблемы вёрстки?

    @President42
    Как делается сетка: тыц, тыщ, тыдыщь

    Как делается меню: раз, два, три

    SVG: адын, два, три, четыре

    Parallax: вот, и вот, и ещё вот. И вот тут почти Parallax, думаю тоже пригодится

    Бонус:
    • JavaScript Garden -- тонкости JavaScript
    • Learn X in Y minutes -- краткие туториалы по куче языков (там и JS, и CSS и много чего ещё есть), некоторые с русским переводом (но не все)
    • Material Design -- гайдлайн по Material Design
    • PrimerCSS -- стайлгайд Github + их CSS фреймворк
    Ответ написан
    7 комментариев
  • Так в чём преимущество паттерна репозиторий?

    @GoodBoy123
    По сути репозиторий это более высокий уровень абстракции. При использовании репозитория вы программируете к интерфейсу, а не к реализации. На примере Laravel. У вас есть MessagesRepository:

    interface MessagesRepository {
    
     // Выбрать все сообщение
     public function all();
    
     // Выбрать сообщение по id
     public function findById($id);
    
     //Записать  сообщение
     public function store($id, $userId);
    }


    В остальном коде вы обращаетесь именно к этому интерфейсу используя IOC контейнер:
    MessagesController.php
    protected $messages;
     public function __construct(MessagesRepository $messages){
            $this->messages = $messages;
     }
    
    public function index() {
     return view('messages.index')-with('messages', $this->messages->all());
    }


    После этого вы с помощью Laravel IOC контейнера связываете интерфейс с конкретной реализацией
    $this->app->bind(
                'App\Repositories\Messages\MessagesRepository',
                'App\Repositories\Messages\MysqlMessagesRepository'
            );


    И в MysqlMessagesRepository уже делаете реализацию применяя интерфейс
    class MysqlMessagesRepository implements MessagesRepository {
    
     // Выбрать все сообщение
     public function all() {
     MysqlGetAllMessages();
    }
    
    
     // Выбрать сообщение по id
     public function findById($id);
    
     //Записать  сообщение
     public function store($id, $userId);
    }


    Преимущество в том что код работает с интерфейсом, а не с реализацией, поэтому для того, чтобы поменять Mysql на redis нужно:
    создать реализацию MessagesRepository интерфейса
    class RedisMessagesRepository implements MessagesRepository {
    
     // Выбрать все сообщение
     public function all() {
     RedisGetAllMessages();
    }
    
    
     // Выбрать сообщение по id
     public function findById($id);
    
     //Записать  сообщение
     public function store($id, $userId);
    }


    Сказать IOC контейнеру, что нужно брать другую реализацию:
    $this->app->bind(
                'App\Repositories\Messages\MessagesRepository',
                'App\Repositories\Messages\RedisMessagesRepository'
            );


    И на этом все. Менять код в MessagesController не нужно, так как он работает с интерфейсом.
    Ответ написан
    1 комментарий
  • Как в Laravel 4 отлавливать ошибки?

    @romach3
    За вывод ошибок отвечает этот класс:
    laravel.com/docs/5.0/errors#handling-errors

    Идея такова: ошибки можно отловить как брошенное исключение (как вами, так и laravel). К примеру TokenMismatchException для не совпавшего токена:
    $e instanceof TokenMismatchException
    Либо по статусу:
    $e->getStatusCode();
    Так же, можно не заморачиваться, а просто создать шаблон для ошибки и сохранить в /resources/views/errors/код.blade.php (где код - 403, 404...). Laravel сначала ищет его и только если не находит вываливает стандартное сообщение.
    Ответ написан
    2 комментария
  • Как в Laravel 4 отлавливать ошибки?

    Тут всё просто: писать нужно в файлики и писать нужно код. Ничего нового пока не придумали. :)
    laravel.com/docs/5.0/errors#http-exceptions
    Ответ написан
    Комментировать
  • Как автоматический записывать поисковый запрос в БД (Laravel)?

    @miki131
    Сделать scope, вынести его в trait и использовать в нужных вам моделях
    Ответ написан
    Комментировать
  • Как проверить наличие файла на удаленном сервере?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Для начала надо открыть тебе страшную тайну: на удаленном сервере не бывает файлов.
    После усвоения этой истины следует приступить к изучению протокола НТТР и, в частности, кодов ответа.
    Не бог весть какой точный индикатор, конечно, но других вариантов все равно нет.

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

    Кстати, у меня твой первый код работает, есличо.
    Ответ написан
    Комментировать
  • Как выстроить отношения между Eloquent моделями Laravel 5?

    cha-cha
    @cha-cha
    class Article extends Eloquent{
        public function images(){
            return $this->belongsToMany('Image', 'article_images', 'article_id', 'image_id');
        }
    }
    Ответ написан
    3 комментария
  • Как поменять скроллбар на сайте?

    standy
    @standy
    Самый лучший способ, это css. Поскольку большинство скроллбаров на javascript подменяют нативный интерфейс скрола, из-за чего, например, перестают работать клавиши (приходится эмулировать на js), и перестает работать плавная прокрутка при нажатии средней кнопки мыши.

    Статьи на тему кастомизации скроллбара на css:
    css-tricks.com/snippets/sass/custom-scrollbars-mixin
    codemug.com/html/custom-scrollbars-using-css
    Нужно учитывать, что в данный момент нет способа для ФФ

    Для большей кроссбраузерности, и чтобы получить больше свободы в кастомизации, я написал собственный плагин на jquery: jquery.custom-scroll
    Отличительная особенность от других плагинов — он не убирает нативный скролл полностью, а прячет, благодаря чему нет проблем описанных выше.
    Есть похожее решение на js - baron.js - он не требует jquery, но весит вчетверо больше.
    Ответ написан
    5 комментариев
  • Yii2 (front, back) + github. Howto?

    ghost404
    @ghost404
    PHP Developer
    рекомендую почитать про модули
    Ответ написан
    Комментировать
  • Есть ли видео курс по git и github?

    xSkyFoXx
    @xSkyFoXx
    Ответ написан
    Комментировать
  • Как правильно настроит почту в Laravel (4.2)?

    Поставьте либо true для pretend, либо драйвер log, чтобы проверить, что оно (письмо) формируется и пытается быть отправленным. И если в логах что-нибудь обнаружите, то копайте в сторону возможностей Вашего окружения работать с почтой...
    Ответ написан
    7 комментариев
  • Запуск Laravel - Error in exception handler?

    @vadimstroganov Автор вопроса
    Решил проблему!

    php artisan cache:clear 
    
    chmod -R 777 app/storage 
    
    php artisan dump-autoload
    Ответ написан
    2 комментария
  • Откуда взять информацию по созданию дата-центров (от А до Я)?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Что касается каналов связи в датацентрах, то даже если провайдер физически может предоставить линк только в 1гб, то ничего не стоит попросить подключение по двум, трём, десяти (далее везде) линкам. Это называется бондинг или транкинг, когда несколько физических линий объединяются в один логический линк.
    Ответ написан
  • Откуда взять информацию по созданию дата-центров (от А до Я)?

    @throughtheether
    human after all
    К сожалению, узбекскими реалиями я не владею, но пару мыслей могу высказать.
    То есть как подключить свои серверы к интернету.
    Как вообще устроен интернет. Основа - физическая инфраструктура, то есть, грубо говоря, кабельные сети. Не будет канальной емкости - не будет быстрого интернета. Затем, поверх этой инфраструктуры обеспечивается IP-связность, для обмена данными об IP-сетях используется протокол BGP. У каждого "кусочка интернета" есть свой номер автономной системы (AS в терминах BGP), своя доля адресного пространства IP и оборудование, обеспечивающее IP/BGP функциональность. Каждая такая автономная система устанавливает отношения с другими автономными системами, может слать трафик до их сетей и принимать трафик от них. Очень часто в этих отношениях доминирует коммерческая нота или политика другого уровня.
    Нужно чтобы и Узбекистанцам не было проблем с трафиком. Трафик внутри Узбекистана бесплатен, а мир дороговато (ваши 20-100 мб/с (безлимит) = у нас 1-4 мб/с (500 - 10000 мб)).
    Теперь применим это к Узбекистану. Насколько я понял (а помог мне этот сайт), "точкой входа" зарубежного трафика для Узбекистана является Узбектелеком, AS28910. Узбектелеком меняется трафиком с российскими, казахским и немецким операторами связи, притом, практически наверняка, платит за это приличные деньги.

    Теперь, какие пути к улучшению ситуации.
    1) Увеличить объемы трафика между Узбектелекомом и его аплинками (Ростелекомом, Вымпелкомом, Транстелекомом, Казахтелекомом, Мегафоном, немцами). Для кардинального улучшения, предполагаю, может потребоваться обновление оборудования и увеличение канальной емкости (проложить дополнительные волокна и т.д.). Это большие деньги. Кроме того, не надо быть особым знатоком узбекских реалий, чтобы предположить, что такие вопросы контролируют уважаемые люди, которые отвечают перед еще более уважаемыми людьми. У этих людей может быть свое видение развитие узбекского сегмента интернета, отличное от вашего. Например, они могут иметь основания опасаться повторения "твиттер-революций".
    2) Самому стать новым Узбектелекомом. Это, в моем представлении, потребует еще больших денег и протекции.
    3) Просто ждать и надеяться на лучшее. С развитием интернета (и его узбекского сегмента) объемы трафика будут увеличиваться, что заставит и Узбектелеком развивать соответствующую инфраструктуру. Развитие потребительского интернета во многих странах идет схожим образом, только с некоторым опережением/запаздыванием.
    4) Развитие пункта 3 - развивать узбекский сегмент интернета, приближая будущее, с роботами и оптикой в каждый дом. Если вы создадите востребованный (не только в Узбекистане, но и в странах СНГ) сервис, рабочие места, налоговые отчисления, то обосновать необходимость перемен будет проще, на мой взгляд.

    Вкратце - построить дата-центр недостаточно, надо развивать отношения с зарубежными операторами связи. Ждать, что ситуация кардинально изменится по мановению волшебной палочки, не стоит. Но и отчаиваться тоже - прогресс неизбежен.
    Ответ написан
    1 комментарий
  • Как работать с браузерами (Н: заполнить форму) на языках Java или Python?

    @maxoot
    Grab - простой и понятный способ.
    Selenium - использование браузера.
    Если в формах присутствует JS, то подойдет второй вариант.
    Недавно нужно было спарсить оприделенную инфу со страницы, которая подгружалась средствами JavaScript. Помог Selenium, браузером указал PhantomJS.
    Ответ написан
    1 комментарий
  • Какие приложения пишут на python web разработчики?

    Изначально Django вырос из контентного проекта (CMS газеты Lawrence Journal-World), соответственно в первых версиях Джанго был заточен именно под такого рода вещи. Сейчас, конечно можно делать абсолютно любые проекты.
    Ответ написан
    Комментировать
  • Какие приложения пишут на python web разработчики?

    Tiendil
    @Tiendil
    Разработчик ПО.
    На Python+Django пишут всё.

    Вот, например, worldoftanks.ru (и большинство сопутствующих сервисов на них сделано).

    Небольшой перечень сайтов на Django: https://www.djangosites.org/
    Ответ написан
    Комментировать
  • Как установить NPM на ubuntu 14.04?

    mahnunchik
    @mahnunchik
    https://about.me/vlasenko
    Советую использовать последний стабильный релиз из ppa:

    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install python-software-properties python g++ make nodejs


    npm идет в одном пакете с nodejs

    Подробнее в официальной документации: https://github.com/joyent/node/wiki/Installing-Nod...
    Ответ написан
    Комментировать
  • Какой язык выбрать для написания самообучаемого бота MMORPG?

    stream13
    @stream13
    Тяга к творчеству это хорошо, но в планах наблюдается бардак.
    Я бы посоветовал использовать один язык для всего, не использовать С и С++, и пока не делать веб морды. Код на С++ пишется дольше и требует больше знаний, а на С и подавно.

    1) выбрать Java. из-за простоты, гибкости и неплохой производительности.
    2) написать минимальского бота, который может хотя бы законнектиться к серверу.
    3) по очереди добавить в бота возможности банально ходить, атаковать, и что там еще можно.
    4) научить бота делать эти вещи по команде/таймеру/etc . А именно, научить его парсить JSON или обрабатывать LUA-скрипты или еще что-то
    5) научиться адекватно передавать в программу полученные от сервера данные об локации и окружающих существах. и обрабатывать их (скриптом - ?)
    6) RTFM про перцептрон
    7) Начать совмещать обработчик комманд и входящих данных с инфой по ИИ: дать боту цель и заставить анализирвоать возможные пути ее достижения, перебирая их. Научить бота выбирать оптимальные пути. Добавить новые цели и параметризацию целей.

    И вот когда бот начнет хотя бы более-менее осознанно дрыгаться и бить монстров, вполне можно наворотить вывод его инфы в MySQL/MongoDB/etc и начать отрисовывать страницы через отдельный кусок софта.
    Через Python/PHP/..., на приснопамятном, последнем Ubuntu Server.

    Почему так? Ну как минимум потому, что вебморда -- это не более чем интерфейс для телеметрии и управления, и пишется она за вечер-два(простенькая). Это маленькая и минимально полезная часть системы.
    А вот написать демона, который бегает по игровому миру и пытается анализировать происходящее -- задача нетривиальная и объемная.
    Ответ написан
    4 комментария