• Есть ли в Yii аналог файла init.php в 1С Битрикс?

    ap0stal
    @ap0stal
    Web-разработчик
    Вы можете это сделать например так:
    1. Создать каталог helpers и внутри пространства создать класс-помощник, например: \common\helpers\Paser.php
    2. Перенести пользовательские функции как статичные методы класса Parser.php и использовать их в любых частях проекта подключив Ваш класс-помощник в секции use

    use \common\helpers\Paser;

    Если у вас возникли подобные вопросы, то рекомендую уделить больше времени изучению официальной документации.
    Ответ написан
    1 комментарий
  • Почему не обновляются ресурсы?

    slo_nik
    @slo_nik Куратор тега Yii
    Доборое утро.
    Можно вместо
    public $publishOptions = ['forceCopy' => true];
    добавить в конфигурационный файл
    'assetManager' => [
               'linkAssets' => true,
            ],

    При этой настройке будут сразу обновляться файлы ресурсов, а так же они не будут дублироваться в web/assets, вместо этого будут создаваться символические ссылки на файлы.
    Ответ написан
    Комментировать
  • Есть ли в интернете ПОЛНЫЕ курсы Java бесплатно?

    lxsmkv
    @lxsmkv
    Test automation engineer
    1) Курс по Java 8 (версия 101). Подготовка к сертификации Oracle Java.
    https://www.youtube.com/playlist?list=PLUSohJYRsRB...

    2) Разработка на Java (весна 2016) курс Mail.ru Group
    https://www.youtube.com/playlist?list=PLrCZzMib1e9...

    3) Курсы Java (Иван Головач) Версия #1 (Core+Patterns+Junior)
    https://www.youtube.com/playlist?list=PLwcDaxeEINa...

    4) Java для начинающих
    https://www.youtube.com/playlist?list=PLmqFxxywkat...

    Лично мне больше всего нравится 3. Иван Головач - очень "прошареный" лектор.
    Ответ написан
    Комментировать
  • Как добавить новый пункт меню для гостя?

    @Quieteroks
    php программист
    Не использовать тернарный оператор?
    if (Yii::$app->user->isGuest) {
        $menu[] = ['label' => 'Вход' ,  'url' => ['/site/login']];
        $menu[] = ['label' => 'Регистрация' ,  'url' => ['/site/signup']];
        ...
    }
    Ответ написан
    Комментировать
  • Как в элемент формы Yii2 добавить свой тег?

    qonand
    @qonand
    Software Engineer
    Если я правильно понял, Вам необходимо настроить шаблон отображения чекбоксов внутри checkboxList. К сожалению в yii не предусмотрена возможность настройки одного шаблона для всех чекбосов в checkboxList, но вид каждого чекбокса можно генерировать самостоятельно. Собственно для решения Вашей задачи этим можно и воспользоваться, например так:
    $inp->checkboxList($inputParams['label_values'], [
        'encode' => false,
        'item' => function ($index, $label, $name, $checked, $value){            
            $id = "ch{$index}";
            return Html::beginTag('div',['class' =>'checkbox']) . Html::label($label,$id) . Html::checkbox($name,$checked,['id'=>$id]) . Html::endTag('div');             
        } 
    ]);
    Ответ написан
    Комментировать
  • Как учиться новому после рабочего дня?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1. 9 часов. Это уже ошибка. КЗОТ писали не дурни. 8 часов достаточно для работы, если человек не чаи пьет
    2. Пересмотрите процесс работы. По приходу на работу сначала делать самые важные. Прошу прочесть внимательно: сначала важные, а только потом срочные и другие. Отличие важных от срочных в том, что одни, как правило, делаются разово и про них забываются, а другие хоть и не срочные, но они влияют стратегически.
    3. Уделяйте время на то, чтобы подумать над "светлым будущим", т.е. создать\актуализировать список страгеческих целей и задач
    4. Делайте утром зарядку. Растяжку, отжимания, приседания. Это влияет на энергетику в организме
    5. Делайте перерывы во время работы.
    6. Чаще пейте воду
    7. Займитесь спортом. На своей шкуре опробовал и четко знаю то, что до занятия плаванием делал меньше, чем сейчас
    8. Окружите себя теми, кто куда-то стремится. Это не значит что надо всех других послать в Южную Америку на оз. Нахой. Это значит, что надо чаще общаться с одним типом людей и меньше с другим
    9. Стремитесь работать на результат, а не подсчет "жопочасов". В дальнейшем ставьте работодателю на собеседовании вопрос "Вам нужны жопо-часы или результаты?". Старайтесь выявить жмотов. Если вы вдруг справились не за 5, а за 4 часа, а работодатель жмотится и боится выделить время на самообучение сотрудника, хотя эти же знания будут применены при решении рабочих задач, то уходите от такого работодателя!

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

    После работы лучше тупить. Мозг должен "отдыхать". То есть заниматься структуризацией, обработкой того, что произошло за день.

    Старайтесь избегать рывко-образной работы. Все должно быть стабильно. Пусть даже небольшими кусками работы, но стабильно и бессбойно!
    Ответ написан
    6 комментариев
  • Какую удаленку проще получить: тестирование или разработка?

    @djay
    В какой отрасли наибольший шанс получить адекватную работу (удаленку) если у тебя не так много опыта


    Хочешь правду? Ни в какой. Почему? Конкуренция на удаленку наижесточайшая. Даже те кто с опытом, зачастую не получают удаленку.
    Ответ написан
    4 комментария
  • Очереди Laravel. Как выполнять задачи в фоне?

    xpert13
    @xpert13
    Full Stack Developer
    Читаем внимательно документацию: https://laravel.com/docs/queues

    Если коротко, то по умолчанию у вас в env используется QUEUE_DRIVER=sync, что по сути значит "никаких очередей, выполняй всё сразу". Если вы хотите, чтобы очереди выполнялись в фоне, вам нужно изменить драйвер на один из подходящих вариантов. К примеру, если изменить на database и создать в БД нужные таблицы, то все задания будут помещаться в эти таблицы. Для их выполнения нужно либо запускать php artisan queue:work (одноразовое выполнение всех заданий), либо php artisan queue:work --daemon (демон, который будет висеть и мониторить добавление заданий в очередь), либо, лучше всего, использовать supervisor, который будет сам следить за тем, чтобы демон висел в памяти.

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

    petermzg
    @petermzg
    Самый лучший программист
    Так учитесь новому, до начала рабочего дня. Вставайте раньше, учите нужное, затем на работу, а после работы отдых.
    Ответ написан
    7 комментариев
  • Как учиться новому после рабочего дня?

    x67
    @x67
    Как вариант, пренебречь профессиональным отношением к работе что-ли.. И прямо там, с утреца, пока котелок варит, час-полтора посвящать чему-то новому. Да, некрасиво.. Но нанимая человека за хлеб и еду на 9часовой день, они поступают еще менее красиво. Это вас не оправдает, просто каждая из сторон будет стараться быть эгоистичнее.
    Ответ написан
    11 комментариев
  • Как учиться новому после рабочего дня?

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

    Через год начинайте ходить на собеседования. Вас пугают требования в описании вакансии? Когда я читаю требования на работе, где сейчас тружусь, то задаюсь вопросом "кто этот бред писал? и на хрена нам вот это все что там написано?". А все потому что пишут тексты HRы со слов "кого-то из отдела", сказанных несколько лет назад.
    В реальности по моим наблюдениям можем отказать довольно сильному разработчику потому что просто в данный момент вакансия не горит, а иногда, когда отдел завален работой, берем вполне себе средних, просто потому что срочно нужен. Аналогичная ситуация была и на предыдущей работе. Поэтому лично мое мнение - чтобы устроиться на работу надо обладать не только и не столько перечисленными в вакансии навыками, а скорее откликнуться в удачное время :) Ну и что-то знать конечно.

    И самое главное: два-три месяца работы в компании с более высоким уровнем разработки, чем у вас в данный момент, дадут вам больше, чем год бессонных ночей после работы. Поэтому не стоит пытаться сначала дорасти до определенного уровня, а потом устраиваться. Скорее всего не дорастете, только время потеряете. Изучайте базу и в бой!
    Ответ написан
    7 комментариев
  • Как удалить метод delete() модели Django?

    @deliro
    Не майся ерундой. Устранять надо причины, а не последствия.
    Ответ написан
    5 комментариев
  • MVC составляющие во Flask и Django?

    @asd111
    MVC это абстрактное понятие, которое обозначает разделение логики. Как вы это назовете не суть. Главное чтобы работа с логикой, с данными и с внешним видом была разделена. Т.е. если у вас три класса в одном файле и с помощью одного вы делаете доступ к данным, с помощью другого делаете доступ к внешнему виду, а с помощью третьего связываете все это вместе, то у вас тоже MVC.
    В django логика работы программы(controller из MVC) описывается во view, работа с данными(model из MVC) происходит через model, а внешний вид(view из MVC) описывается в template. Во flask нужно самому думать что в какой файл положить и как делать структуру файлов.
    Ответ написан
    1 комментарий
  • Как перенести проект с Codeigniter на Yii2?

    @AlikDex
    Приходилось делать такое =)
    Как я делал. Сначала переработал бд, затем переписал CI под эту бд. Поставил все на рабочий сайт. Потихоньку начал переделывать морду сайта ипользуя Yii2 (на зеркале) не добавляя ничего нового. Просто повторяя тот старый функционал(благо его немного). Когда морда была закончена и протестирована - поставил ее. Админка уехала на домен 3 уровня и осталась на CI. Чуть позже также была переделана с минимальным необходимым и установлена как рабочая.

    Самым трудным было переписать код игнайтер под новую бд, т.к. бесил до состояния "аж трисет!". Но если базу не надо переделывать, то тут вообще нет проблем. Просто брать и пилить все по новой. А старое пусть работает пока так.

    Совмещать 2 фреймворка, как написал index0h: это по моему черезчур усложнено. Тут главное не торопится =) Хотя, наверное, смотря какой проект...
    Ответ написан
    Комментировать
  • Как перенести проект с Codeigniter на Yii2?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как безболезненно его портировать на Yii2?

    Безболезненно - никак, от слова "совсем".

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

    Самый большой вопрос о замене коробочных методов.

    Пишите обертки для использования в старом коде нового.
    Ответ написан
    1 комментарий
  • Как вы деплоите django приложение на сервер?

    @artinnok
    бекенд-программист
    Исходя из вашего вопроса - "деплой" это разворот сервера с нуля до рабочего состояния.

    Все зависит от количества деплоев:
    1. Если вам достаточно задеплоить 1 сервак и забыть про него - проще поднять руками.
    2. Если вы постоянно разворачиваете > 2 серваков - однозначно надо использовать автоматизированные инструменты.

    Рассмотрим несколько популярных инструментов:
    1. Ansible - на мой взгляд самый удобный инструмент для быстрой и удобноый работы с парком серверов, устанавливает весь софт и настройки на вашей VPS.
    2. Docker - позволяет создать на вашей VPS еще одну виртуальную машину с заранее прописанными настройками и софтом, также его иногда используют для параллельного запуска нескольких БД / веб - серверов и т.д.
    3. Также есть Puppet, Chef, Salt - ими не пользовался.

    Рассмотрим другое толкование слова "деплой" - заливка изменений проекта на сервер, который находится в рабочем состоянии (т.е. имеется уже рабочий проект)

    Тут все зависит от размеров проекта:
    1. Если проект маленький / средний fabric вполне справляется с такими задачами, как подтянуть изменения из репозитория / собрать статику / перезагрузить nginx и т.д., но использовать его для разворота сервера - это тяжелая работа, которую проще делать с помощью других инструментов (описано выше). Сам я тоже использую fabric для обновления прода.
    2. Если проект большой и приближается к хайлоаду - то надо использовать Continuous Integration, это позволит вам сделать автоматизированную выкладку кода на боевой сервер - к примеру, пушите коммиты в репозиторий на github, срабатывает хук, начинает работать Jenkins, идет прогон тестов, при успехе тестов обновляется прод.

    Инструментов для CI много:
    1. Jenkins - простой и бесплатный, с кучей расширений и прочих плюшек.
    2. Travis-CI - бесплатный для опен сорс, платный для приватных проектов (69$ минимальный план).
    3. Buildbot, tox - не использовал.

    P.S. Я думаю, что понятие "деплой" - это выкладка изменений на боевой сервер. То, что делаете вы - создаете новый сервер, разворачиваете окружение - ближе к развороту сервера. Если так делается каждый раз, когда льются изменения на боевой сервак - надо менять workflow.
    Ответ написан
    13 комментариев
  • Есть ли заготовка для сайта с личным кабинетом, контакной формой?

    leshikgo
    @leshikgo
    Логин/регистрация пользователей в Laravel идет с коробки https://laravel.com/docs/5.3/authentication
    Стоит просто прописать одну/две команды в консоли. Контактная форма тоже пару строк. Для чего вам фреймворк использовать если контактную форму написать не можете? Для корзины и оформления заказов можно найти на просторах интернета туториалы по реализации. Например Гитхаб || Туториал

    Не стоит тянуть что-то готовое со своими костылями на фреймворк если нету понимания, для этого есть CMS где можно установить всякие плагины ИМ и с лёгкостью управлять.
    Ответ написан
    Комментировать
  • Что означают двойные фигурные скобки в миграциях yii2?

    Urichalex
    @Urichalex
    Кратко о себе)
    Фигурные скобки заменяются на символы выделения имени таблицы. Например в mysql это символ `
    то есть {{user}} в запрос уйдет как `user`

    Знак процента заменяется на префикс таблицы, если он был установлен в конфиге подключения к базе
    Например, в конфиге указано
    'tablePrefix' => 'qwe_'
    то {{%user}} в запрос попадет как `qwe_user`
    Ответ написан
    Комментировать
  • С чего начать изучение 1С (Администрирование и разработка)?

    @tsapkin
    Полтора года назад пришлось срочно искать работу.
    До этого с 1С не работал, но как у программиста у меня резюме хорошее, опыт на других языках большой.
    Одна хорошая фирма рискнула и взяла меня.
    Т.е. на готовой конфигурации пришлось сначала делать отчеты (с первого дня работы),
    потом, через неделю и обработки.
    Книги хороши, но они для последовательного изучения, а непосредственно лучше, чем
    самому начать делать, ничего нет.
    К тому же можно смотреть, копировать чужие решения,
    учиться на них. Коллеги подскажут, в каком регистре чего хранится.
    Если вы знаете SQL, то никаких проблем нет.
    Привыкнуть нужно только к незнакомому языку, русскому :-)
    И к тому, что в 1С из SQL есть только SELECT.
    Остальное понимание приходит за несколько дней:
    1. Справочники
    2. Регистры накопления
    3. Регистры сведений.
    Остальное - по ходу дела.
    Если что - Ctrl/F1
    Ответ написан
    Комментировать
  • С чего начать изучение 1С (Администрирование и разработка)?

    zmitrok62
    @zmitrok62
    Очень хороший человек
    Радченко весьма не плох. Еще с поставкой идет очень хорошее руководство администратора. Спросите у любого франчайзи, они их там пинают ногами по офису.
    А технически так:
    1) На виртуалку ставите Windows Server
    2) Ставите сервер 1С приложения, MSSQL и админите =)
    3) На этой базе учитесь разрабатывать
    4) Учите бух учет, складской учет, торговлю и т.д. смотря чем будете заниматься
    Ответ написан
    Комментировать