Задать вопрос
  • Какую бесплатную среду для программирования и верстки php, css, html с ftp клиентом посоветуете под Windows?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Накопи денег на PhpStorm, на данный момент - это лучшая IDE под этот стек технологий. Да, есть NetBeans - но ему до шторма - как до луны пешком.
    Ответ написан
    Комментировать
  • Go Lang, как правильно поставить компилятор на Ubuntu?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz
    sudo tar -C /usr/local -xzf go1.7.4.linux-amd64.tar.gz
    rm go1.7.4.linux-amd64.tar.gz
    cat <<EOT >> ~/.bashrc
    export GOROOT=/usr/local/go
    export PATH=\$PATH:\$GOROOT/bin
    export GOPATH=\$HOME/go
    EOT
    Ответ написан
    1 комментарий
  • Как на PHP подключить удалённый файл?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вы пытаетесь отстрелить себе яйцы, причем баллистической ракетой.

    1. Скачиваете файл
    2. Сохраняете его во временный файл
    3. require-ите его
    4. Удаляете временный файл
    Ответ написан
  • Как перенести проект с Codeigniter на Yii2?

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

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

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

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

    Пишите обертки для использования в старом коде нового.
    Ответ написан
    1 комментарий
  • Стоит ли делать составные внешние ключи в БД?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Для мускуля:
    Стоит ли делать в БД составной внешний ключ из двух колонок?

    Без контекста задачи на этот вопрос нельзя ответить

    В каких случаях составной ключ лучше/хуже набора из двух одинарных?

    Если связка уникальна ИЛИ поиск будет выполняться строго по двум ключам - можно сэкономить и поставить составной.

    Правильно ли я понимаю, что внешний ключ должен быть помечен как: 1. key 2. как unique

    UNIQUE пишется, когда он уникальный. Можно вместо KEY писать INDEX

    Как принято задавать имена для ключей?

    Вопрос из серии соглашений на проекте. Стандартов множество, единого всем нравящегося не существует. Например в моем текущем проекте принято соглашение: ключ именуется так же как и колонка, если ключ составной - то конкатенация через символ подчеркивания. Например userId, или userId_categoryId

    Какие есть нюансы с внешними ключами для нецелочисленных типов?

    Используйте только в случае, если БД не нагружена. Целостность через констрейнты стоит реально дорого.
    Ответ написан
    Комментировать
  • Нововведения в php, использование?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Дык уже ж на обсуждении, PSR-12
    Ответ написан
    Комментировать
  • Репозиторий и ActiveRecord, хорошая ли идея возвращать модели?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ну и основной вопрос, в правильном ли я направлении формирую мысли, и как подобный подход с репозиториями можно реализовать правильно ?

    Если хотите по правильному - не используйте ларавелевскую ORM, "воевать" с фреймворком - это дело не благодарное.
    Паттерн Repository как правило предполагает еще наличие Entity. Entity - это объект, умеющих хранить в себе данные и проверять их при установке. Репозиторий работает только с Entity и только с БД. Никаких bcrypt, работы с файлами, никаких уведомлений...
    Не стоит использовать публичные свойства. В противном случае вы не сможете гарантировать корректность данных в вашем Entity, как следствие всюду их придется проверять. Используйте тайпхинтинг.
    Так же рекомендую почитать: Попросили проверить код, на что смотреть нужно?
    Ответ написан
    Комментировать
  • Нормально ли хранить логи в основной базе?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    eto-norma_17169846_orig_.jpeg
    Ответ написан
    Комментировать
  • Error: Undefined offset: 1 - ну и как теперь найти причину ошибки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Причина ошибки уже вами указана: вы обращаетесь к несуществующему элементу массива.

    Это шутка? Как найти строку и, соответственно, причину ошибки?

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

    Проще всего найти ошибку с помощью xdebug
    Ответ написан
    Комментировать
  • Расскажите что в реальной жизни на самом деле делают девопс?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    DevOps - специалист широкого профиля. Объединяющий в себе Dev, Sysadmin и QA. Из за того, что направление очень широкое в каждой компании в devops можно вложить все что угодно. У одних это будет ansible+docker+php+jenkins+... у других - java+chef+oracle+solaris+... у третьих - еще что-то.
    Ответ написан
    Комментировать
  • Единый сервер доступа ssh, возможно ли?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    э... а чего ssh ключи не подходят?
    Ответ написан
    Комментировать
  • Как при работе единственным веб-мастером-на-все-руки в компании максимально эффективно прогрессировать в веб-разработке?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    TL;DR
    Увольняйтесь

    Необходимо завтра сделать сайт с тем-то и тем-то функционалом и вот как нибудь, чтобы на нем всплывала надпись **** и картинка ****, я это так вижу

    Руководитель у вас - так себе. Специалист оценивает сроки, руководство же - либо принимает их, либо меняет свои пожелания.

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

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

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

    Был у меня с коллегами разговор за стопочкой чая N лет назад: кто в скольких проектах участвовал? У меня на тот момент (твердый мидл) насобралось ~15 проектов, у моего коллеги (слабенький джун) было ~300. Резонный вопрос: а что так? Оказалось, что он делал только сайты-визитки.

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

    В IT компании первое, что вам бы сказали: "Наркоман штоле? Не позорься, вот тебе PhpStorm"

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

    Научитесь трезво оценивать сроки И старайтесь соблюдать их. Чужие горящие сроки вас должны волновать в последнюю очередь.
    У меня как-то случай был: прибегает маркетолог и спрашивает: когда будет выполнена таска #N? Я ответил, что код будет написан в срок A, но далее будет процесс code review, так как мой TL загружен по уши - я не могу сказать точно, сколько времени это займет, соответственно когда таска #N будет вылита на продакшн сервер (а это тоже время) - тоже сказать не могу. Маркетолог пришел через время A.
    М: Почему таска #N не на продакшне?
    Я: Потому что она на ревью.
    М: Но ты же обещал сделать ко времени A!
    Я: Верно, и я сдержал свое обещание, код написан, но про время на рвеью и выливку на продакшн я тоже говорил.
    М: Но мы же пообещали партнерам сделать таску к времени A!
    Я: Очень жаль, но я акцентировал внимание на том, что помимо написания кода в процессе разработки есть еще этапы, которые тоже требуют времени. Ты же указал партнерам заведомо не правильный срок. Извини, но это твоя личная анальная боль.

    Как в сложившейся ситуации саморазвиваться?

    В вашей текущей компании - никак.

    Продолжать решать поставленные на работе задачи и по мере необходимости учиться то одному, то другому и "мастер на все руки всегда сгодится"?

    Fullstack сейчас отмирает. Дело в том, что объем знаний, необходимых под web растет с геометрической прогрессией, распыляясь и на дизайн и на верстку и на фронт и на бэк - качество ваших знаний будет оставаться слабеньким.

    Или мастер на все руки может вырасти в фулл стэк (лет так через 5-7)?

    Через 5-7 лет объем требуемых знаний только увеличится.
    Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!

    Fullstack - это пытаться попасть сразу в: дизайн, верстку, фронтенд и бэкенд.

    Помимо разнообразия на работе, брать какое-то направление и погружаться в него ночами и выходными?

    Если вы еще и овощем хотите стать - отличная идея. Работа на износ эффективна только очень короткий промежуток времени.
    Ответ написан
    2 комментария
  • Почему на Тостере так популярен тег Linux?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Но почему Linux на 8 месте? Ведь Windows и macOS намного популярнее.

    Win популярнее только на десктопах.
    Ответ написан
    Комментировать
  • Как запереть пользователя в домашней папке?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    chroot
    Ответ написан
    Комментировать
  • С чего начинать обучение backend-разработчику и какой минимум знаний нужен на junior'а в 2016-2017?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Начните с выбора, чем вы все таки хотите заниматься)). Выучить язык - это не просто знать синтаксис, это еще и понимание целевого применения языка, знание стандартной библиотеки, знание популярных решений на базе этого языка и конечно же знание сопутствующих технологий. Попробовать все у вас жизни не хватит.
    Ответ написан
    Комментировать
  • Меньше стек технологий, больше шанс устроиться на удаленную работу?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Меньше стек технологий, больше шанс устроиться на удаленную работу?

    Вовсе. Шанс устроиться на работу определяется качеством знаний И умением себя преподнести, а не маленьким стеком технологий.

    Понимаю, что со временем разработчик "обрастает" знаниями и навыками, описанными выше, но на начальном уровне зачем такое?

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

    Подскажите, от какого программиста(ЯП) требуется минимум технологий на начальном уровне, чтобы устроиться на работу?

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

    Учишь "ЯП" -> "технология1", "технология2", "технология3" -> проходишь собеседование -> Profit!!!

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

    "Выучить язык" - это не просто знать синтаксис, а еще и владеть основным стеком его применения И смежными технологиями.
    Ответ написан
    Комментировать
  • Как вы откатываете базу данных после результатов тестирования?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Перед каждым тестом БД приводиться к исходному состоянию, только так. Удаление нафиг всех таблиц и накатка всех фикстур. Иначе результаты тестов будут перемешиваться между собой, что мягко говоря - хреновая практика.
    Ответ написан