• Почему composer не может решить зависимости?

    @SilverSlice
    Коротко: используйте только стабильные релизы при указании версий в зависимостях в своих пакетах.

    Подробно.
    В composer есть флаг minimum-stability, который используется для отбора пакетов на основе стабильности при установке. По умолчанию он равен stable, т.е. устанавливаются только стабильные пакеты. Вы можете изменить это поведение, добавив параметр "minimum-stability" в composer.json. Обратите внимание, что этот параметр применяется только к корневому пакету - вашему основному composer.json файлу.

    Что происходит, когда вы вводите команду composer require nullref/yii2-cms:
    • Создается composer.json файл, в котором не определен minimum-stability, поэтому он рассматривается как stable.
    • В корневом пакете у вас определен в зависимостях только один пакет - nullref/yii2-cms, который имеет стабильный релиз - он и начинает устанавливаться.
    • Пакет nullref/yii2-cms имеет в зависимостях пакет nullref/yii2-admin с версией dev-master. Это нестабильный релиз и он не может быть установлен, т.к. в корневом пакете minimum-stability считается равным stable.

    Что можно сделать:
    • Установить minimum-stability в dev в корневом composer.json файле. В этом случае также следует добавить "prefer-stable": true, чтобы по возможности ставились стабильные пакеты.
    • Использовать stability flags, явно указав флаг в корневом пакете: "nullref/yii2-admin": "@dev".
    • Убрать dev-master отовсюду из зависимостей, выпускать релизы и указывать версии любым из доступных способов.

    И в заключение привожу ссылку на статью с подробным объяснением minimum-stability.
    Ответ написан
    1 комментарий
  • ООП в высоконагруженных проектах считается устаревшим?

    miraage
    @miraage
    Старый прогер
    Мужик дегенерат, однозначно.

    // EDIT

    Посмотрел прикрепленные исходники. Закапал святую воду в глаза.
    Выкиньте это всё, покажите ему, например, PHP: The Right Way.

    Я бы на Вашем месте уволился, незадумываясь.
    Ответ написан
    Комментировать
  • JavaScript ООП подход с DOM?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    https://jsfiddle.net/QW01_01/2qouqx81/1/
    'use strict';
    
    class BaseDomWrapper{
    	constructor(node){
            this._d = typeof node == "string" ? [].slice.call(document.querySelectorAll(node)) : node;
        }
        forEach(callBack){
            this._d.forEach(callBack);
        }
        hide(){
        	this.forEach(function(e){
                e.style.display = 'none';
            })
        }
        show(){
            this.forEach(function(e){
                e.style.removeProperty('display');
            })
        }
    }
    
    class Slider extends BaseDomWrapper{
    	constructor(node){
            super(node);
            
            console.log(this._d);
        }
        makeRed(){
        	this.forEach(function(e){
                e.style.backgroundColor = 'red';
            })
        }
    }
    
    var sl = new Slider('div.slider');
    sl.makeRed();
    Ответ написан
    3 комментария
  • Angular.js нужно учить со второй версии или начать с первой?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Angular 1.5 задумывался авторами как переходная точка, что бы проще мигрировать людей с первого на второй. Так что учите angular 1.x и соблюдайте стайл гайд. Ну и почитайте про MVC, про компонентный подход к разработке на Angularjs. (отказ от двустороннего датабиндинга, данные должны идти только в одном направлении, упор на классическую схему MVC).
    Ответ написан
    Комментировать
  • Из чего состоит окружение продвинутого php разработчика?

    nonlux
    @nonlux
    Поправил ответ, так будет логичнее.
    Ниже приведены инструменты, которые использую лично я и причины почему.

    1. docker-окружение
    (в 90% случаев для веб-разработки достаточно php -S 0.0.0.0:8000)
    виртуальные машину становятся нужны:
    - когда надоест переустанавливать хост-систему из-за обилия хлама
    - когда работаешь с несколькими проектами имеющие специфические (разные) настройки окружения(php, web-сервер, база)
    - когда надоест решать проблемы в команде из-за того что по разному настроено окружение

    2. git - система контроля версий
    Помнить что ты и когда изменял, должен не человек, а машина.
    Это необходимо:
    - чтобы не испортить всю работы за прошедший год нажав del
    - чтобы определить кто из команды злодей и все испортил
    - чтобы не думать как перенести свежую версию проекта с одной машины на другую

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

    4. behat + phpspec
    Тесты нужны:
    - когда хочется почувствовать себя безопасности и для сладко спать ночь, забыв о кошмарах о сломанном коде
    - когда в production все снова сломалось
    - когда ты написал одну новую фичу, а сломал три

    5. zsh
    Хорошей консолью приятно пользоваться, работа идет быстрее.
    Консоль есть жизнь, жизнь есть shell.

    6. tmux
    Мало одно окошка в консоли, тогда tmux идет к вам.
    В качестве бонуса получите возможность парного программирования совершенно бесплатно

    7. tmuxinator
    Надоело каждый раз открывать кучу окон для tmux, попробуйте его )
    8. vim
    - Потянуло на что-нибудь необычное?
    - Хочется эффективнее писать код ?
    Ну что открыли vim? В первый раз? Поздравляю закрыть вы его не сможете )
    Вызывает зависимость при частом потреблении


    9. continuous integration сервер
    Вообще ci сервер это одушевленная машина. Это твой тамагочи, ты кормишь его хорошим кодом, он радуется и ты видишь приятный зеленый огонек. Если ты дал с код от скажет что не вкусно. Ну а если ты ему, что гнилое он будет долго на тебя орать плохими словами. Со временем он растет и учится делать более серьезные вещи, и начнет помогать тебе:
    Его скилы:
    - он может сам выполнить 10 минутные тесты
    - подготовить и опубликовать проект
    - рассказать о твоем коде, даже то что ты не знаешь
    Он легко обучается и ты легко сможешь научить его удивительным вещам.

    10. куча линтеров на pre commit hook
    Чтобы ci не кормить плохими продуктами, хорошо бы проверять что ты сделал до отправки на сервер. Что бы не забыть это сделать git сам работу.

    11. gulp
    gulp - это еще один твой помощник.
    как если использовать, как watcher файлов + livepreview, можно забыть о F5 в браузере

    12. bower
    Тоже что и composer но для управления ассетами. Это я о всяких jQuery и Bootstrap

    666. Линукс
    Даже если не хочется ставить как хост-систему, его все равно надо знать. Ваш код будет работать на нем )
    Ответ написан
    16 комментариев
  • Как правильно делать визуальную тему оформления для Xfce?

    Говорят, что здесь есть официальная документация с отличными примерами =)
    Ответ написан
    Комментировать
  • Почему файл из mPDF не открывает Chrome?

    @dmitryim
    Рекомендую открыть результирующий файл в текстовом редакторе и убедиться, что в нем нет ничего лишнего (лишних пробелов в начале, ошибок РНР и другого мусора).
    Ответ написан
    2 комментария
  • Как правильно работать с GIT?

    mmmaaak
    @mmmaaak
    Используйте GIT Flow.
    Ответ написан
    Комментировать
  • Почему apt-get dist-upgrade выдает ошибку?

    apt-get upgrade
    ребут
    только потом
    apt-get dist-upgrade

    если тоже самое, удалите все пакеты с суффиксом "dkms"
    обновитесь затем установите нужные
    Ответ написан
    1 комментарий
  • Где взять первых клиентов?

    myfirepukan
    @myfirepukan
    Жарим поиск
    У меня была такая "конторка" контекст и вообще графическую рекламу в сети не давайте - всё скликают нафиг. Никто не заказывает сейчас сайт погуглив "Сделать сайт в Урюпинске" все идут к знакомым и знакомым знакомых - это ваш канал. У меня по нему приходило 90% клиентов.

    Бесплатные консультации раздавайте в ВК и на других сайтах где предприниматели (но не айтишники тусуются) можете делать несложный сайт бесплатно а зарабатывать на продвижении.
    До студии я тоже работал в другой сфере и как раз из этой "другой сферы тоже пришёл один заказ".
    На фрилансе заказы не искал.
    И вообще, на самом деле найти клиентов легко, тяжело потом с ними работать )))
    Ответ написан
    1 комментарий
  • Как правильно делать тему для woocommerce?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Парни из WooThemes действительно огонь, но делают они не так ровно по другой причине. Они Производят и плагин и тему, соответственно зачем им включать плагин в тему, если там их и так все устраивает?

    Ежели вы хотите менять по всякому, то путь именно такой копируете папку templates, и меняете всякое в ней, но и всю папку копировать не надо, а ровно те шаблоны, которые вы меняете, зачем нагружать тему лишними файлами,

    у меня это устроено так
    1e1c2cf5ab.jpg
    настройки выношу в отдельный файл.

    По поводу остального, WooCommerce тем и крут, что его можно крутить как хочется, и именно для этого там во всю и используются фильтры и экшены.

    Да и вообще использование данных возможностей, есть хороший тон при разработке к примеру, я разрабатываю всякое на собственном фреймвоке, все акшены вынесены у меня в отдельный файл, что позволяет без каких либо лишних телодвижений гнуть проект в любую сторону.
    d99cde57a7.jpg
    Ответ написан
    8 комментариев
  • Как быстро прочитать xlsx-файл большого объема в PHP?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Перегоните его csv ручками.
    И читаем построчно
    php.net/manual/ru/function.fgetcsv.php
    Ответ написан
    7 комментариев
  • Как быстро прочитать xlsx-файл большого объема в PHP?

    AloneCoder
    @AloneCoder
    [object Object]
    xlsx - это обычный xml
    https://github.com/nuovo/spreadsheet-reader
    Ответ написан
    Комментировать
  • Зачем нужны таск менеджеры GULP и GRUNT?

    Мне кажется тут не хватает образного примера:

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

    Вот и сказочке конец, а кто слушал, тот и gulp.

    Простите - пятница.
    Ответ написан
    Комментировать
  • Как освоить Composer?

    @SilverSlice
    Обзор на русском можно посмотреть здесь . Дальше читайте и переводите документацию на официальном сайте, там всего несколько основных команд.
    А важность этого инструмента определяется вашими задачами: если вы пишите плагины под wordpress или настраиваете bitrix, знать его необязательно, а если используете современные фреймворки и open source библиотеки, то без него никуда.
    Ответ написан
    Комментировать
  • Apache cordova на node.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    нагуглировал

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

    В данный момент phonegap это консольный инструмент и инфраструктура для сборки проектов на базе cordova. Поскольку эти штуки (типа управление плагинами и подобное) написаны на JS то вам нужен node.js для их запуска.

    Сама же cordova это webview и API для связи js-а и нативного кода посредством колбэков и json-а.

    Если возьметесь за это дело, рекомендую ionic
    Ответ написан
    1 комментарий
  • Как в Angular организовать методы, общие для нескольких контроллеров?

    miraage
    @miraage
    Старый прогер
    Философия такая, что вся логика, на мой взгляд, должна храниться в сервисах.
    А контроллер лишь связывает интерфейс с этими сервисами.
    Ответ написан
    Комментировать