• Где граница между Джуном и Мидлом?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    если уже может любые рабочие задачи решать самостоятельно, без чьей-то поддержи - то мидл.
    если нет, то джун.
    Ответ написан
    2 комментария
  • Системный диск C: с утра стал девственно чистым, как такое возможно?

    DevMan
    @DevMan
    ответ очень простой: щит хэппенс и бэкапы - рулят.
    и если у вас нет регулярных бэкапов как минимум в двух разнесенных локациях, вы рано или поздно окажетесь в сами знаете где.
    Ответ написан
    7 комментариев
  • Должен ли руководитель обучать?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Нужно отличать работу стажером от ученика на курсах.

    Тебя взяли на работу. Вдобавок тебе видимо платят за работу деньги. Не за твое обучение, а за выполнение задач, которые тебе более-менее по силам. Конечно предполагается, что ты будешь развиваться, получать опыт и решать более сложные задачи, и чем быстрее - тем лучше. Возможно даже с ростом в должности и ЗП.

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

    Ну а код - учи все в гугле. Если задаешь вопрос коллеге, то он должен звучать примерно так:
    "Я не понимаю один момент в коде. Посмотрел в гугле - там говорят что это делается вот так, но у нас в коде вроде как не совсем тот случай. Подскажи в какую сторону копать"

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

    @orbit070
    Тут многое уже посоветовали и сказали, внесу свои пять копеек исходя из своего опыта: просто забудь что кроме тебя и гугла существует еще что-то во вселенной. Я тоже помню как по каждой мелочи бегал спрашивал и в ответ слышал "гугл закрыли?" Самое стыдное было то, что потратив 20-30 минут удавалось находить решение таких проблем, которые мне казались кошмаром. Поверь, лучше делать медленно но самостоятельно, чем бегать спрашивать.

    Кто бы что ни говорил, но умение гуглить это первостепенный навык современного начинающего программиста и в первую очередь прививай себе не просто эту привычку, а освой этот навык, он позволит тебе решать задачи, что на данном этапе самое главное. А вникать в решения и степень паршивости этих решений ты сможешь с опытом, но сейчас главное решать. В >80% случаев одна из первых трех ссылок гугла решит твою проблему, из-за которой ты дергаешь остальных. Возьми за правило: если ты за 25 минут не нагуглил решение проблемы, то только в этом случае идешь к руководителю. Поверь, твои походы к нему будут сведены к минимуму.
    Ответ написан
    1 комментарий
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    @nrgian
    стыдно спрашивать каждую мелочь у коллег.

    Как руководитель - я уволю того, кто не спрашивая, всякую фигню делает.

    Спрашивать - это нормально.

    Более того, вы будете очень много спрашивать еще месяцы и месяцы подряд.

    А более-менее сложившимся специалистом вы станете года через 2.

    Сегодня две недели как я переехал.

    2 недели - это нужно опытному специалисту, чтобы более-менее начать понимать дела новой организации, где он начал работать. К вам это не относится.

    Дело в том, что ИТ - сфера деятельности с довольно высоким порогом вхождения.

    Вполне нормально довольно долго входить в курс дела.

    А уж если с нуля - то ранее, чем месяца через 3 вы вообще не станете фирме полезным (пока вы им вредны). Это нормально. Все это понимают. И сейчас вы учитесь, а вам платят деньги. Пользуйтесь этим. Учитесь.
    Ответ написан
    Комментировать
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    @ClusterBias
    Вы в век капитализма живете. То что вы не тянете, не должно вас особо смущать. Я еще понимаю, если бы вы были белой овцой в группе первоклассных инженеров, тогда да. Парни с мозгами 10кг и вы еле понмающий как вас вообще сюда взяли. Запонимте, что вас должно волновать благополучие и жизнь только вас и ваших близких. Если вас взяли, а вы не тянете не ваша вина, а работодателя, если он хотел самостоятельного юнита, а взял интерна, если и хотел интерна, то вообще вопроса не существует. Смело сидите и учитесь за зарплату, самому уходить не стоит. Это так сказать был подогрев отношения к этой жизни. А по факту. Научитесь еще, все через это проходят, приходя и тупя как дятлы в монитор, не понимая базовых вещей. У меня точно так же было, у вас точно так же есть, у ваших детей будет также, у их детей тоже самое. Это нормальный процесс. У вас сейчас вместо задачи в голове, моральные истязания, что тоже очень вам мешает. Просто работайте дальше. Если уволят, то начальник видимо вас неверно воспринял, как самостоятельного юнита. Его ошибка, его вина, не ваша.

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

    qlkvg
    @qlkvg
    python backend developer
    Был в похожей ситуации года 3 назад, только без обрубания концов и релокации. Совсем не тянул, спрашивал мелочи у коллег и стыдился, ничего не понимал. Хотелось все бросить и вернуться на прошлое место работы, где можно было спать до обеда. В итоге через 3 месяца ада, ощущения собственной ничтожности и штудирования книг в любой удобный момент, что-то начало получаться. В итоге дорос до человека, у которого джуны спрашивают мелочи.
    Сейчас понимаю, что первые несколько месяцев нужно было просто пережить. Это нормально для зеленого новичка в индустрии. Если вы не устроились на позицию сеньер фул-стека, адекватный работодатель не будет от вас требовать мгновенного результата. Если переживаете, честно поговорите с непосредственным начальником, что не вывозите, нужно время на раскрутиться
    Ответ написан
    4 комментария
  • Курсы это налог на тупость или что?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Зависит от курса. Конкретно эти упомянутые я не смотрел.
    Может быть очень грамотный и окупающий свою цену с лихвой за счет того что сэкономит вам кучу времени и сил на "самокопание" в интернете (90% вопросов на тостере от тех кто "все сам" и не знают как переменную присвоить).
    А может быть полная ерунда и разводняк чтобы срубить бабла на людей мечтающих о "легких IT бабках".

    В любом случае идти или нет - это простое решение. Если курс вас устраивает и цена меньше чем предполагаемая отдача (ее вы для себя определяете сами) то идете. Если нет - то не идете.

    Например курс 4500, вы предполагаете что он вам сэкономит например три полных дня времени на самообучении по гуглу, то если ваш день вам приносит 1500 и больше - стоит идти. Если меньше - то нет.
    Оценить это неподготовленному человеку непросто, но тут у меня готового ответа нет.

    Альтернатив курсам много, они - один из инструментов.
    Ответ написан
    1 комментарий
  • Курсы это налог на тупость или что?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Подобные курсы - обычный инфобизнес. Новички, которые хотят в айти и которые не понимают что это и как это, при этом если они научились ставить хром или фаерфокс самостоятельно и думают что они то умнее всех остальных - очень много.

    Платить за курсы можно в следующих случаях:
    1. Курсы с признанной сертификацией - от Microsoft, Cisco, Oracle, можно специфические от производителей какого-либо продукта
    2. Обзорные курсы по продукту/движку/технологии более продвинутого уровня, но это не должна быть базовая технология, и курсы не могут быть дорогими. Обычно это максимум несколько часов.
    3. Если за курсы платит компания
    4. Английский, немецкий, японский, в общем гуманитарный язык, индивидуальное репетиторство по сложным областям - какой-нить матан, дизайн с практикой.
    Ответ написан
    2 комментария
  • Как начать зарабатывать начинающему web-разработчику в 17 лет?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Блин, а я-то думал - что же так прорвало-то? А это ж отгремели "ночи пьяных бантиков" :)

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

    В-вторых:
    Никто и никогда не берет джунов на удаленку

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

    Да, на фрилансе люди зарабатывают. И иногда даже прилично так, что не стыдно сказать :)

    Но они к этому заработку идут годами. Если кто-то думает, что вот он зарегился на freelance.ru и тут же к нему потекут дорогие и простые заказы - ему лучше треснуть себя по лбу, чтобы проснуться.

    Быстро и много в ИТ во фрилансе джуну заработать невозможно

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

    Хотите за лето заработать денег, а не считать копейки на проезд - оставьте мечты о том, чтобы работать дома. Дома работать не получается и у людей с в стопицот раз большим уровнем самоорганизации, чем у вчерашнего школьника. Идите в Макдональдс - только не балдеть, а работать, на стройку, в промоутеры, листовки разносить, собак чужих выгуливать...

    Добро пожаловать в жесткий и безжалостный мир взрослых. Вы все, кажется, в него так торопились - бухать и девок щупать? You are welcome. Но не обижайтесь на жесткость реакции - миру на вас на самом деле плевать...
    Ответ написан
    2 комментария
  • Как начать зарабатывать начинающему web-разработчику в 17 лет?

    Zoominger
    @Zoominger
    System Integrator
    Как начать зарабатывать начинающему web-разработчику в 17 лет?

    Макдональдс, стройка, кошение травы.

    зарабатывать на вебе

    Пхаха.

    Хочу устроиться джуном в веб-студию удаленно

    Никто. Никогда. Не берёт. Джунов. На удалёнку. Точка.

    Может устроиться к кому-нибудь на фриланс

    Нет.

    Как начать зарабатывать на фрилансе?

    Никак.

    Каждую, чёрт бы её побрал, неделю такие посты. Ну погуглите хоть по Тостеру-то.

    Коротко: это очень плохой план, дикая конкуренция людей со знаниями и опытом выше вашего не дадут вам никаких шансов. Выбирайте другую область.
    Ответ написан
    29 комментариев
  • Странное поведение unset и array_walk

    AMar4enko
    @AMar4enko
    Вполне ожидаемая история из-за модификации массива во время его итерации.
    Вы встали на элемент A, запихали его в новый массив, удалили А из массива, попросили следующий элемент.
    А массив-то уже изменился, элемента А нет, текущий элемент уже В. И итератор даст вам следующий элемент, т.е. С
    Ответ написан
    Комментировать
  • В каких случая и зачем нужно использовать трейты ?

    KorsaR-ZN
    @KorsaR-ZN
    Они нужны для избавления от дублирования кода, ну или например для множественного наследования.

    Грубый пример:
    У вас есть много классов, которые что-то записывают в лог, из класса в класс, это один и тот же участок кода, к примеру Logger::write(str), вот этот участок кода можно вынести в трейт LoggerTrait c методом logWrite, и потом во всех классах использовать $this->logWrite(str).
    Потом удобно будет эту функцию переопределить в каком-то конкретном файле, если скажем там нужна какая-то специфичная запись в лог.

    При таком подходе вы всегда класс логгера можете заменить, просто отредактировав всего один файл трейта, а не 100500 классов.

    Еще пример:
    В трейт можно вынести функцию isAjaxPost, для проверки, что запрос в контроллер пришел ajax post, и подключать в нужные контроллеры.

    Да вообщем море примеров привести можно, где это удобно применять, для избавления от дублирование в коде, от однотипных операций и т.д.
    Ответ написан
    9 комментариев
  • В чем отличие процедурного от функционального программирования?

    rockon404
    @rockon404
    Frontend Developer
    Пример в контексте JavaScript:

    Процедурный стиль:
    const array = ['first', 'second'];
    
    let output;
    
    function allOdd(words) {
      let result = true;
    
      for (let i = 0; i < words.length; ++i) {
        const len = words[i].length;
    
        if (len % 2 !== 0) {
          result = false;
          break;
        }
      }
    
      return result;
    }
    
    output = allOdd(array);
    
    alert(output);

    Функциональный стиль:
    function length(string) {
      return prop('length', string);
    }
    
    function odd(number) {
      return equals(modulus(number, 2), 0); 
    }
    
    function allOdd(...words) {
      return every(compose(odd, length), words);
    }
    
    alert(allOdd('first', 'second'));

    Реализации prop, modulus, equals, every и compose оставлены за кадром. Думаю, из их названия легко понять какой результат они возвращают.
    Ответ написан
    3 комментария
  • Как распарсить URL из JS?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    var path = location.pathname.split('/');
    var path = path[path.length-1];


    PROFIT!
    Ответ написан
    Комментировать
  • Как проверить авторизован ли пользователь в yii2 через javascript?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Отправлять ajax запрос в экшен, например такой:
    public function actionIsGuest(){
    return Yii::$app->user->isGuest;
    }
    Ответ написан
    Комментировать
  • Как в Yii2 задать универсальный ЧПУ?

    sidorenkoda
    @sidorenkoda Автор вопроса
    Программист, верстальщик, руководитель проектов
    Сам решил задачу =)
    Может кому будет полезно:
    'pattern' => 'katalog_<modul:(\w+)(/(\w+))?(/(\w+))?>',
    Ответ написан
    Комментировать
  • Чем отличается with от joinWith?

    qonand
    @qonand
    Software Engineer
    with - делает жадную загрузку связанных данных
    joinWith - делает жадную загрузку/отложенную загрузку связанных данных при этом для выборки основных данных использует JOIN построенный из связей

    Например, есть модель:
    class User extends \yii\db\ActiveRecord {
    
        public function getPosts(){
           return $this->hasMany(Post::className(), ['user_id' => 'id']);
        }
    }


    User::find()->with('posts') сделает следующее:
    1. Найдет всех пользователей c помощью запроса SELECT * FROM user
    2. У всех найденных пользователей выберет идентификаторы
    3. Найдет все связанные данные с помощь запроса SELECT * FROM post WHERE user_id IN (1,2,3) // где 1,2,3 идентификаторы найденные в предыдущем пункте
    4. Раставит соответствия между User и Post

    User::find()->joinWith('posts') сделает все тоже, но вместо запроса SELECT * FROM user будет выполнен запрос
    SELECT user.* FROM user
    LEFT JOIN post ON post.user_id = user.id

    Это удобно например для сортировки данных. Кроме того если в joinWith параметру eagerLoading задать значение false пункты 2-4 не будут выполнены, а будет просто сформирован и выполнен джойн.
    Ответ написан
    2 комментария
  • Насколько адекватно требовать домашнего развития от разработчиков?

    @MamaLuyba
    все просто: если специалист ценен, то даже если он скажет, что в свободное время употребляет собак в разные места, то ему ничего не скажут, ибо он тогда может огорчиться и уйти.
    а если не ценен, то тут можно что угодно придумывать. "охладей к жене, но не к программированию!", "лучше дочь проститутка, чем ты, лежащий на диване!", "продай друзей, продай родных - купи лампового кнута и УЧИ!"
    Ответ написан
    2 комментария
  • Насколько адекватно требовать домашнего развития от разработчиков?

    @majstar_Zubr
    C++, C#, gamedev
    Это вполне адекватно, потому что в таком случае работодатель преследует лишь одну цель - помочь вам как можно скорее найти другое место работы.
    Ответ написан
    1 комментарий