• Где найти практику\работу\стажировку?

    daager
    @daager
    Судя по вашему прошлому вопросу за два месяца вы ничего не сделали и не продвинулись. Мне кажется вам просто лень самому разбираться и вы ждете, когда вам покажут ссылку на линейный путь развития PHP-разработчика, список пунктов, который весь прошел и значит ты разработчик. Нет, такого не будет. Это развитие нелинейное. Ставится задача, ты её решаешь, нашел сложность, пошел изучать её, потом вернулся и так всегда.
    Ваша просьба будто "как сделать cms из одного файла, чтобы подряд написать", когда файлов много и вам нужно параллельно их развивать.
    Пробегитесь по документации php, по её функциям. Можете не запоминать их все, хватит того, что вы будете знать, что есть функция, которая что-то делает, название как-нибудь найдете. Нагуглите топ используемых функций и вот их нужно хотя бы примерно запомнить. Боитесь своего проекта? А как кодить-то научиться? Что-то делать же надо. Начните решать какие-нибудь свои задачи на php. Разберите csv и постройте таблицу. Сделайте форму с текстовыми полями и посчитайте квадратное уравнение на php, попробуйте сделать форму создания, редактирования, удаления, обновления(CreateReadUpdateDelete) какой-нибудь записи из бд. Я начинал с того, что сразу начал кодить небольшие хаки для простенькой cms. Придумываете себе задачу и начинайте её решать. Возьмите и скачайте страницу какую-нибудь, вытащите оттуда все заголовки (h1,h2,h3,etc) и отсортируйте по алфавиту. Отсортируйте ряд чисел 5,1,1,7,9,2 по возрастанию.
    PHP-разработчик, это разработчик, который может решить задачу на PHP, но именно разработчик. Нужно какое-то время на перестроение мышления и дальше вам пофиг на язык, вы думаете конструкциями, а дальше просто ищете вариант решения на конкретном языке.
    Ответ написан
    5 комментариев
  • Как в php скрипте определить, что его запустил Cron?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Передать ему входной параметр, например -cron.
    Ответ написан
    Комментировать
  • Ноутбуки с надежными петлями/прочные ноутбуки?

    plin2s
    @plin2s
    IT, инженер
    "упал раз 6 со стола и 1 раз с лестницы" с таким подходом вам разве что специальный защищенные ноуты брать.
    Типа линейки Panasonic Toughbook. Или может дешевле будет не ронять их?
    Ответ написан
    Комментировать
  • Как в JS сделать численное значение от и до?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    1)
    if ( i>=30 && i<=120) { ... }

    2)
    if ( x % 1 == 0 ) { true }
    Ответ написан
    Комментировать
  • Динамическая проверка инпута на наличие содержимого?

    var inp = document.getElementById("note_input");
    
    inp.addEventListener("input", function (e) {
        if (e.target.value.length > 0) {
            e.target.classList.add("disabled");
        } else {
            e.target.classList.remove("disabled");
        }
    });
    Ответ написан
    2 комментария
  • Запись в бд добавляется 2 раза. Что не так с .htaccess?

    @mr_ko
    Javascript, Node.js. React.js, Vue.js, Wordpress
    Проблема в фав_ико, когда ее нет. Вот более подробно https://habrahabr.ru/post/309436/
    Ответ написан
    Комментировать
  • Это хорошая стратегия вёрстки?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    это техника не для новичков. когда ты научишься создавать дивы и запоминать классы, не смотря в html, и не смотря в браузер после задания каждого стиля - тогда такой способ сильно ускоряет верстку. тобишь ты просто сначала создаешь элементы в dom а потом начинаешь их стилизовать. и из за того что большой опыт - ты уже знаешь наперед какой стиль как и куда поставит тот или иной элемент, не смотря в браузер. тем самым ты просто сразу пишешь стили для 10 элементов вслепую, а потом только смотришь и правишь если вдруг все же ошибся где то. и так далее
    Ответ написан
    1 комментарий
  • Как заменить значение в многомерном массиве?

    @a_ovchinnikov
    Web developer
    Если я вас правильно понял, то что-то вроде этого:

    <?php
    
    $arr = [
        [
            'result' => 'a',
            'components' => [
                2,
                41
            ],
            'formula' => '2 + 41',
            'answer' => 43
        ],
        [
            'result' => 'd',
            'components' => [
                'a',
                1
            ],
            'formula' => 'a - 1',
            'answer' => ''
        ]
    ];
    
    $resultArr = doReplacement($arr);
    var_dump($resultArr);
    
    function doReplacement(array $arr)
    {
        foreach ($arr as &$item)
        {
            $components = &$item['components'];
            $formula = &$item['formula'];
            foreach ($components as &$component)
            {
                if (!is_numeric($component))
                {
                    $value = findComponentValue($arr, $component);
                    $formula = str_replace($component, $value, $formula);
    
                    $component = $value;
                }
            }
    
            if (empty($item['answer']))
            {
                // calculate formula
            }
        }
    
        return $arr;
    }
    
    function findComponentValue(array $arr, $component)
    {
        $value = 0;
        foreach ($arr as $item)
        {
            $result = $item['result'];
            if ($result == $component)
            {
                $value = intval($item['answer']);
            }
        }
    
        return $value;
    }


    Сам код подсчета формулы я писать не стал. Быстрое решение - с использованием eval, но это большое зло. По уму нужно парсить строку и вычислять значение. Возможно вот эта ссылочка сможет помочь stackoverflow.com/questions/18880772/calculate-mat...
    Ответ написан
    2 комментария
  • Как уйти с распутья технологий?

    @0x131315
    Стратегию уже подсказали: найти любую работу, чтобы кушать, и тем самым выиграть время на изучение чего-то, что поможет зарабатывать больше, и тем самым выиграть еще больше времени, и в конце концов изучить то, благодаря чему будешь работать не на зарплату, а на удовлетворение.

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

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

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

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

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

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

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

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

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

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

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

    Недоведение решений до конца - следствие неверного подхода: либо берешь задачи, к которым еще не готов, слишком сложные, либо не имеешь возможности работать - у тебя нет условий для решения задачи: времени, места и внимания. Либо просто тебе это реально не нужно - тебя и так все устраивает, и планов на будущее нет.

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

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

    С первым все просто: не можешь что-то решить - отложи, и спустись на ступеньку ниже по шкале сложности.
    Есть такой психологический феномен: от решенных задач ты получаешь удовлетворение, силы и мотивацию двигаться вперед, от нерешенных - негатив, апатию, потерю воли и мотивации.
    Причем мозг устроен так, что запоминается лишь негатив. Поэтому крайне важно решать задачи, и не допускать незавершенных задач. Отложи, но не забрасывай.
    Нерешенная задача - это как психологический запой, нечто вроде депрессии: одна нерешенная задача тянет за собой другую нерешенную задачу, и так быстро уходишь на дно, теряя мотивацию и веру в себя. Замкнутый круг. Ты находишься именно в нем.

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

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

    Сложность задачи не особо влияет на мотивацию, а вот факт решения/нерешения - влияет сильно. Не решил - значит не осилил, не осилил - значит не достоин, не достоин - значит иди ко дну и не рыпайся. Это как импотенция: импотент - значит не мужик, не мужик - значит никто, ничего не достоин и об тебя можно ноги вытирать. Подсознание портит всю малину, так что не следует давать ему шанса - лучше решить задачу попроще, чем не решить по сложнее.
    Ответ написан
    7 комментариев
  • Как оптимизировать php код для разных конфигураций?

    DevMan
    @DevMan
    > кодировки внутри скрипта
    приведение к нужной кодировке (если данные со стороны). у себя все в utf-8.

    > отсутствие каких-то расширений
    проверять все системные требования с показом чего не хватает.

    > относительные пути
    использовать абсолютные

    > конфликты с родительскими htaccess
    это не проблема php
    Ответ написан
    7 комментариев
  • Почему странное поведение трансформации в firefox?

    trampick
    @trampick
    Веб-разработчик
    Кроссбраузерная трансформация
    -moz-transform: $transform; /* Для Firefox */
    -ms-transform: $transform; /* Для IE */
    -webkit-transform: $transform; /* Для Safari, Chrome, iOS */
    -o-transform: $transform; /* Для Opera */
    transform: $transform;

    Кроссбраузерное поведение анимации
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    Ответ написан
    Комментировать
  • Как сделать следование за :checked?

    Sivkoff
    @Sivkoff
    Web Developer
    Вот, возьмите за основу: https://css-tricks.com/creating-an-animated-menu-i...
    Ответ написан
    Комментировать
  • Как расширить Wi Fi сеть используя 3 роутера обьединенных кабелем, прозрачно для пользователей??

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    Задайте на всех точках одинаковый SSID и ключ.

    А каналы поставьте разные - 1, 6, 11, например.
    Ответ написан
    3 комментария
  • Как быстро отредактировать статический сайт?

    Грузите страницу, разбираете, пишите парсер в который вносите все правила, что искать и на что исправлять, говорите ему "фас" :)

    Либо ищите редактор, который сможет сравнить файлы между собой и выделить общие фрагменты, правите их с сохранением изменений во всем проекте.
    Ответ написан
    Комментировать
  • На каком уровне необходимо знать php чтобы приступать к изучению фреймворков?

    master2016
    @master2016
    Всё нормально.
    На уровне, когда вам
    1. надоест писать с нуля каждую страничку отдельно,
    2. вы увидите, что все они имеют много общих элементов,
    3. и поэтому у вас возникнет желание написать свой маааалеький фреймворчик.

    Это значит, что вы созрели для изучения фреймворков :-)
    Ответ написан
    4 комментария
  • Скрипт для подключения по SSH, как сделать?

    gr1mm3r
    @gr1mm3r
    50% ответа в правильном вопросе. Остальное мануал.
    2 комментария
  • Кулеры крутятся, спикер молчит, экран черный, что случилось и как с этим бороться?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    После чего это случилось?

    - Проверить проц на другой матери (в эту мать других не пихать нивкоем случае, большая вероятность кончины нового проца)

    - В практике было где-то 3-4 таких матери с слетевшим биосом, причём даже резервный битый. Прошивка помогала. (нужен программатор и дампы)

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

    - Попробовать другой БП, иногда БП не отдаёт PowerGood сигнал, но при этом мать запускается но мультиконтроллер не получив этого сигнала не даёт инициализацию (некоторые гигабайт и msi страдают от такого)

    Ну и остаётся ещё сам "южный мост", залипший резет и т.п. но это уже задача сервисов.
    Без показаний ПОСТ карты сложно судить, но хотя я более уверен что она кроме залипшего резета и не покажет ничего :)
    Ответ написан
    6 комментариев
  • Как вообще рекомендовано удалять программы с OS X чтобы они подтирали за собой свои папки?

    @mmjurov
    С некоторым ПО идет дополнительно и деинсталлятор (например антивирус Avast, или Little Snitch).
    Но в основном народ пользуется специальными утилиты, которые подчищают все лишнее. Лучшее, что доводилось видеть - это CleanMyMac.
    Ответ написан
    1 комментарий
  • Что должен знать веб-дизайнер для того, чтоб максимально облегчить задачу верстальщикам?

    gr1mm3r
    @gr1mm3r
    50% ответа в правильном вопросе. Остальное мануал.
    0) GRID! - это первое и незыблемое правило слаженной работы дизайнера и верстальщика. Если в макете присутствует сетка 50% вопросов решается.
    1) Основы HTML CSS. Чтобы дизайнер понимал поведение элементов на странице.
    2) Проблемы рендеринга браузеров и проблему идентичности пикселя. Опять же образно.
    3) Понимание mobile-first и desktop-first это решит проблемы с версткой отрисованных макетов в плане позиций элементов.
    4) Принцип работы анимации js/canvas, чтобы понимать что хрен верстак сделает 7 красных перпендикулярных линий превращающихся в котенка.
    Ответ написан
    2 комментария
  • Как бы вы сверстали такой input?

    @tarthur Автор вопроса
    Ответ написан
    Комментировать