Задать вопрос
  • Как осуществить замену в строке данными из массива?

    DevMan
    @DevMan
    $str = "/hello/{:num}/{:str}/";
    $replace = [
    	"num" => "[0-9]",
    	"str" => "[a-zA-Z]"
    ];
    $str = preg_replace_callback(
    		'/{:(.*)}/U',
    		function ($matches) use ($replace) {
    			if(isset($replace[$matches[1]])) {
    				return $replace[$matches[1]];
    			}
    			else {
    				return $matches[0];
    			}
    		},
    		$str
    	);
    echo $str;
    ideone.com/6OT3Wl
    Ответ написан
    2 комментария
  • Как отправить _POST запрос в PHP?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    function httpPost($url, $params) {
        $ch = curl_init();  
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_HEADER, false); 
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);    
        $output=curl_exec($ch);
        curl_close($ch);
        return $output;
      }
    Ответ написан
    6 комментариев
  • Как подключить файл в PHP?

    stanislav-belichenko
    @stanislav-belichenko
    Backend PHP Developer
    Есть несколько моментов, которые нужно учесть при подключении файлов.

    • В целом есть два варианта их подключения, через require и через include. Оба сделают одно и то же, но второй вариант выдаст warning при отсутствии файла, а первый - fatal error.
    • Оба варианта имеют свои подварианты, а именно require_once и include_once - в случае использования такой записи файлы включаются в код единожды, и если вы где-то два раза попытаетесь подключить их, подключение произойдет только один раз.
    • Путь, который по умолчанию используется в обоих вариантах, зависит от настроек среды, в каких-то случаях он может быть не задан, и тогда путь считается от файла, в котором вы подключаете другие файлы, а в каком-то будет установлена переменная конфигурации include_path и вся ваша логика нарушится. В связи с этим настоятельно рекомендуют подключать файлы с помощью такой конструкции: include __DIR__ . '/dir/file';, где __DIR__ - "магическая" переменная, содержащая абсолютный путь до папки вашего срипта.
    • Слеши в пути отличаются в разных системах, получить нужный вам можно через предопределенную константу DIRECTORY_SEPARATOR.
    • Если вы подключаете конкретно конфиг вашей системы, вы можете сделать вот так в скрипте: $config = include __DIR__ . '/config.php';, а в конфиге сделать что-то вроде return = ['pass'=>'...', login=>'...'], после чего в основном скрипте получать переменные через что-то вроде config['pass'] - в целом, работать все будет и без этого, но зато так повысится читаемость вашего кода.
    Ответ написан
    Комментировать
  • Как нарисовать данный макет для сайта с помощью html, css, js?

    nata-ponchik
    @nata-ponchik
    Учусь на веб-дизайнера
    думаю можно попробовать это сделать с помощью canvas

    задаётся поле
    <canvas id="canv" width="500" height="500"></canvas>


    и затем в тегах script пишется код
    <script>
                var canvas=document.getElementById("canv");
                var x=canvas.getContext("2d");
                x.quadraticCurveTo(250, 120, 280, 80);
                x.quadraticCurveTo(250, 100, 220, 80);
    </script>


    quadraticCurveTo - это функция для рисования кривой, параметры сейчас не помню точно (в интернете найти можно), там параметры задают начальную, конечную и прогиб. значения в функции примерные
    также у canvas есть функции для рисования кружков, овалов и так далее

    ответьте, если получится
    Ответ написан
    6 комментариев
  • С чего начать карьеру ИТ?

    Мне 30 лет. Начал свою карьеру в ИТ в 27.
    У меня ИТшное высшее образование, но жизнь сложилась так, что во время учебы нашел работу не по специальности, которая сразу начала приносить неплохой доход (производство рекламы: наружка, полиграфия). В один "прекрасный" день, спустя 10 лет работы, я понял, что достигнут потолок и мне совершенно не интересно дальше развиваться в этом направлении. Тогда то я и начал искать чем заняться.
    Я прекрасно понимаю страхи и мысли, которые крутятся в голове у человека уже с семьей.
    "А не поздно ли?", "А с чего начать?", "А как на меня будут смотреть другие люди/друзья/коллеги?", "А на какой доход и через сколько времени можно рассчитывать?", "А откуда взять время на жену/детей и учебу?" и еще куча других...
    В 16-22 все эти вопросы совершенно не волнуют - ты еще юн, свободен от обязательств и в какой-то мере финансово не обременен...

    Немного порассуждаем :)

    Отвечу на самые-самые вопросы:
    А не поздно ли?
    Нет. Никогда не поздно! Звучит банально, но это работает.
    Нужно срочно забыть сколько тебе лет и оперировать только понятием жизненный опыт. А его к 30 уже порядком. Мозги еще не "заржавели", тело еще не барахлит.
    НО нужно сразу условится - любая сфера ИТ требует ПОСТОЯННОГО самосовершенствования и изучение нового материала. ЛЮБАЯ.

    Чем заняться-то?
    Я для начала для себя определил две области ИТ в которых возможен быстрый прогресс за короткий срок и достаточно быстрое трудоустройство. 1С-программирование и веб-программирование.
    Они были выбранные после тщательного анализа локального рынка труда + низкий порог входа + возможность быстрого прогресса. Долго сомневался, читал форумы и статьи, что бы выбрать окончательно, но в итоге победило направление веб-программирования. Решающим стали два критерия: возможность удаленной работы на зарубежных биржах и отсутствие привязки к конкретной узкой технологии. В финансовом плане 1Сники на начальном этапе получаю больше, но со временем Веб вырывается вперед.
    Многие написали выше, что надо учить основы основ. Разложить всю теорию по полочкам. Понять принципы ООП и паттерны проектирования. Это правильно, НО... время+семья+деньги накладывают некоторые свои ограничения. Как мне кажется главная цель - это смена сферы деятельности, т.е. добиться результата. Да, по началу будут жуткие "решения" и "ужасный вырвиглазный лапшевидный говнокод", НО плох тот программист, который не продолжает свое обучение ПОСТОЯННО. Но учиться уже на работе под руководством более опытных товарищей НАМНОГО проще.

    А с чего начать это ваше "веб-программирование"?
    Сразу оговоримся, что есть принципиально два разных направления: "фронт-энд" и "бэк-энд". "Фронт-энд" проще и дружелюбнее для совсем начинающих. Его изучение позволит быстрее прийти к выполнениюглавной цели. Поэтому дальше я буду рассматривать именно это направление.
    Да-да, конечно, потом можно и "бэк-энд" изучить и даже полностью перейти на него. Можно совмещать, обв.
    И еще одно отступление: уровень английского Pre-Intermediate. Это само собой разумеющееся. В любом случае придется читать, слушать и понимать.
    Итак по теме вопроса.
    Рекомендую начинать с: htmlacademy.ru - пожалуй лучший русский ресурс для новичков. Интерактивные задания с самых азов. Все основные курсы бесплатные. Платная подписка открывает доступ к продвинутым курсам - рекомендую покупать эту подписку уже после прохождения всех базовых курсов. Есть два платных месячных "интенсива" - весьма неплохие и стоят своих денег.

    Остальные ресурсы рекомендую проходить параллельно с HTML-академией, начинать где-то после 7 курса:
    www.codecademy.com - на английском. Помимо курса по HTML&CSS можно попробовать JavaScript и jQuery + неплохие ознакомительные курсы по "бэк-энду"
    https://dash.generalassemb.ly - на английском. Интересны тем, что имитируют выполнение реального заказа на фрилансе.
    Есть еще куча ресурсов и курсов, но для начала этого вполне хватит.
    В любом случае придется изучить JavaScript. В этом деле поможет уже упоминаемый выше www.codecademy.com + learn.javascript.ru

    И главное - больше практики. Применяйте свои знания.
    Верстайте псдшники хотя бы ради практики и портфолио. Прикручивайте к ним что-нибудь простенькое на jQuery.

    А откуда взять время на жену/детей и учебу? Как совмещать-то все еще же работа есть...
    Если уделять учебе хотя бы 1 час в день, то можно вполне все успевать.
    Я учился так:
    - на работе была возможность почитать и поделать небольшие занятия в течение дня ( в сумме полчаса)
    - еще часик уже ночью, когда все спят дома.
    - в выходные вставал пораньше и в субботу за два часа пока все спят повторял все сделанное за неделю, а в воскресенье подбивал итоги и планировал следующую неделю.
    Придется пожертвовать сериальчиками и какими-нибудь излишествами нехорошими - всегда есть что-то. Все время дисциплинировать себя первое время. Можно вести блог или поставить цель на смартпрогресе. Главное регулярно заниматься. даже 15 минут в день - это уже большой плюс.
    Еще очень важно, что бы домашние знали к чему вы стремитесь и чем заняты.

    А на какой доход и через сколько времени можно рассчитывать?
    Тут все ОЧЕНЬ индивидуально. Все зависит от усердия и желания.
    Можно грубо прикинуть "скоростное прохождение этого квеста":
    1) материальные вложения: 30-32 т.р. два интенсива(базовый и продвинутый) и помесячная платная подписка на htmlacademy.
    2) временные вложения: 5-7 месяцев на курсы и интенсивы от htmlacademy + 2-3 месяца на основы JavaScript и jQuery

    После этого вполне можно пойти работать верстальщиком с перспективами карьерного роста с окладом от 15 т.р. или попробовать себя на фрилансерских биржах.
    Почему так мало?В моем регионе именно столько получают стажеры-верстальщики в первый месяц, но это уже работа + на реальных проектах прогресс пойдет намного быстрее. А следовательно и вырастет доход.

    А не будет ли мне сложно "работать" в молодом коллективе?
    Возможно первое время будут какие-то сложности, но как мне кажется в любом случае ценятся базовые человеческие качества + профессионализм. А если учесть, что к 30 уже есть достаточно богатый жизненный опыт, то я не думаю, что возникнут проблемы.

    Как-то так :)
    Удачи. И главное помните - все зависит только от вас. От ваших желаний и вашего трудолюбия.
    Ответ написан
    3 комментария
  • Один сервер на один сайт или несколько сайтов на один сервер?

    b0nn1e
    @b0nn1e
    Alcohol & Ruby on Rails
    Как написали выше, используйте один сервер и поставте туда VestaCP(для сайтов на php)
    И один пользователь - один сайт.

    Если для каждого сайта брать отдельный VPS у вас как минимум перелата будет за ~5 ГБ за ОС за каждый сайт(VPS).
    Ответ написан
    Комментировать
  • Почему cron не отправляет http запрос?

    @Fixid Куратор тега Linux
    создайте command.sh и вызывайте * * * * * bash /root/command.sh
    Ответ написан
  • Нужен ли закрытый ключ yandex pdd?

    Если вы используете smtp.yandex.ru - вам нужно взять открытый ключ яндекса, который можно получить с dns1.yandex.ru
    nslookup mail._domainkey.вашдомен dns1.yandex.ru
    и опубликовать его в своей зоне как mail._domainkey.вашдомен, больше ничего делать не надо.

    Если вы отправляете напрямую, то вам необходимо сгенерировать новую ключевую пару и опубликовать открытый ключ с другим селектором (не mail), например mymailsrv._domainkey.вашдомен
    и самостоятельно подписывать исходящие письма селектором mymailsrv.
    Ответ написан
    22 комментария
  • Как сделать так, чтобы при отправлении письма посредством ajax страница не обновлялась?

    @Firik67
    Middle PHP Developer
    После alert() добавить return false;
    Ответ написан
    Комментировать
  • Как сделать маску ввода "http:/"?

    EreminD
    @EreminD
    Кое-что умею
    А просто
    value.startsWith("http://")
    ?
    Ответ написан
    Комментировать
  • Язык Си (Керниган. Ритчи). Помощь с упражнением. Компилятор ругается?

    @res2001
    Developer, ex-admin
    ideone.com/QfgoV8

    Я исправил ваш код. Только он делает не совсем то что нужно, имхо. Как мне кажется, нужно считать количество вхождений каждого символа, а не вообще символов, а потом строить гистограмму. Так что доведите программу до нужной кондиции.
    Ответ написан
  • Подобрать формулу для нахождения шага между значениями?

    Immortal_pony
    @Immortal_pony
    function calcStep($min, $max, $maxStepsQty=7) {
        return ceil(($max-$min)/$maxStepsQty);
    }
    Ответ написан
    2 комментария
  • Как защитить данные на экране от снимка фотокамерой?

    @Fixid
    Никак. Максимум можете установить ватермарк или скрытые метки.
    Все что видит пользователь, увидит и камера. Ну можно заставить пользователя наклеивать поляризационную пленку и одевать спец очки и не забывать пристегивать его к батарее в подвале
    Ответ написан
    2 комментария
  • Как отключить разрешение уведомлений в chrome и firefox?

    Stalker_RED
    @Stalker_RED
    В хроме есть кнопочка по адресу chrome://settings/content
    В лисе about:config и поменять параметр dom.webnotifications.enabled на false.
    Ответ написан
    Комментировать
  • Почему не создают компьютеры с машинным языком на C/C++?

    15432
    @15432
    Системный программист ^_^
    Процессор это тупая железяка из транзисторов. Ну ладно, не настолько тупая, в современных x86 процессорах машинные коды на лету транслируются в еще более низкий уровень встроенным микрокодом. Но все все равно предположим, что это тупая железяка типа Intel 8086. Как происходит выполнение программы - процессор считывает очередной байт кода и смотрит, что же он такое считал. По значению байта, он определяет, что это за команда (сложение, вычитание) и сколько ещё нужно считать байт конкретно этого машинного слова (а они в x86 могут быть разной длины). Все это происходит на уровне железа, то есть нечто вроде "пятый бит 0, третий бит 1, ага! Это команда сложения двух восьмибитных регистров, надо переключить линию данных на арифметико-логическое устройство и считать туда еще два байта на шину данных. То есть операции очень и очень простые, на уровне бит, сигналов и чтения данных, никакого анализа кода и уж тем более никаких имен переменных. Вы же предлагаете на аппаратном уровне парсить сишный код, в котором при последовательном чтении иногда невозможно определить, что делать в данный момент!! А процессор в это время будет простаивать и считывать из памяти кучу ненужного текста.
    Я вообще не представляю, как на уровне железа и транзисторов можно сделать синтаксический и лексический анализ сишного файла. Разве что сделать настоящий электронный мозг с миллиардом нейронов. Это уж точно не будет быстро, это вообще работать не будет. Изучите устройство компьютера, как именно работает процессор, научитесь думать на языке ассемблера, и поймёте всю абсурдность вашего предложения.
    Ответ написан
    4 комментария
  • Как работают замыкания?

    @JuniorNoobie
    Сижу в поддержке, пишу мелкие проекты
    buffer = makeBuffer();
    makeBuffer() = function(piece);
    buffer('blah-blah-blah') = makeBuffer()('blah-blah-blah') = function('blah-blah-blah');
    Ответ написан
    2 комментария
  • Как работают замыкания?

    @DuckerMan
    buffer = Makebuffer(); // buffer уже объект
    buffer('duck') // вызовет так сказать construct buffer
    Ответ написан
    Комментировать
  • Как соединить lan + wifi сеть?

    @koronabora
    Человек
    WAN первого соединить с LAN второго. При этом, на первом тип подключения по wan - dhcp. Также, в настройках dhcp обоих нужно дать разные подсети. Например, у первого 192.168.88.1-192.168.88.254, у второго - 192.168.1.1-192.168.1.254.
    Ответ написан
    Комментировать