• Кто такой web stack engineer, что входит в обязанности?

    Под web stack обычно подразумевают программное обеспечение среды веб-разработки, то есть это и операционная система, и веб-сервер, и БД, и язык программирования, и прочие технологии. Следовательно web stack engineer это человек, который работает в этой среде или с этой средой и должен быть способен поднять с нуля рабочее приложение, а это frontend, backend, сеть и т.д. Так что в целом это выглядит как full stack, но возможно обязанностей меньше, это уже надо уточнять у работодателя.
    Ответ написан
    Комментировать
  • Как правильно выдавать 404?

    Раз уж вы сделали какую-никакую cms, то все-таки советую улучшить ее и
    отойти от формирования ссылок в htaccess. Сделайте ЧПУ на чистом PHP и
    ваша мобильность не будет иметь границ, а управление ошибками будет
    куда примитивней и сведется к обычным логическим конструкциям if else.

    Немного погуглил, вот отличная статья о том, как создавать ЧПУ при помощи
    PHP. Сначала рассказывается о том, как сделать посредством htaccess, а после
    идет как раз то, что вам нужно, начиная с заголовка ЧПУ на PHP и два примера
    с разной реализацией.

    Не поленитесь и разберитесь с этим :).

    А ответ сервера - 404 Not Found, на PHP будет выглядеть вот так:

    header("HTTP/1.0 404 Not Found");

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

    Я правильно вас понял? - codepen.io/anon/pen/JGZOEX

    <canvas id="setka" width="400" height="400"></canvas>


    var c_canvas = document.getElementById("setka");
    var context = c_canvas.getContext("2d");
    
    for (var x = 0.5; x < 400; x += 10) {
    	context.moveTo(x, 0);
    	context.lineTo(x, 400);
    }
    
    for (var y = 0.5; y < 400; y += 10) {
    	context.moveTo(0, y);
    	context.lineTo(400, y);
    }
    
    context.strokeStyle = "#888";
    context.stroke();
    Ответ написан
    Комментировать
  • Как сделать ссылки такого типа, (php)?

    Возможно я не правильно вас понимаю, но предположим, что вы совсем новичок и спрашиваете об этом:

    <a href="http://gameportal.ru/game.php?game=game1">Ссылка на игру 1</a>
    <a href="http://gameportal.ru/game.php?game=game2">Ссылка на игру 2</a>

    И кликнув на такую ссылку у вас откроется страница с нужным вам URL :)

    И дальше вы уже используете GET параметры в своем коде, на PHP это выглядит так:

    $game = $_GET['game']; // получаем название игры из URL

    В переменной $game будет храниться или game1, или game2, в зависимости от ссылки, на которую кликнули.
    Ответ написан
    Комментировать
  • Как в PHP округлить значение до тысячных, например 107115 до 107000?

    echo round(107115,-3);

    Извините, действительно округляет вверх :).
    У функции round есть третий параметр PHP_ROUND_HALF_DOWN,
    он заставляет округлять в низ, но работает вроде только для дробных.

    Можно применит обычную математику. Например так:

    echo 107001 - (107001 % 1000);
    echo 107999 - (107999 % 1000);

    Вычитаем из нашего числа остаток и получаем округленное вниз!
    Ответ написан
    Комментировать
  • Как заменить выделенный текст на свой?

    Залил пример, попробуйте - codepen.io/anon/pen/rxKGwZ

    <textarea id="text"></textarea>
    <button id="go">Кнопка</button>


    function replaceSelectedText(elem, str){
    	elem.focus();
    
    	if (document.selection){
    		var s = document.selection.createRange(); 
    		if (s.text){
    			eval("s.text="+str+"(s.text);");
    			s.select();
    			return true;
    		}
    	}
    	else if (typeof(elem.selectionStart) == "number"){
    		if (elem.selectionStart!=elem.selectionEnd){
    			var start = elem.selectionStart;
    			var end = elem.selectionEnd;
    
    			eval("var rs = "+str+"(elem.value.substr(start,end-start));");
    			elem.value = elem.value.substr(0,start)+rs+elem.value.substr(end);
    			elem.setSelectionRange(end,end);
    		}
    		return true;
    	}
    	return false;
    }
    
    //оборачиваем текст в нужные теги и т.д.
    function change_str(s){return "<b>"+s+"</b>"}
    
    // по клику на кнопку, выделенный текст будет заменен на текст с тегами
    document.getElementById('go').onclick = function() {
    	replaceSelectedText(document.getElementById('text'), 'change_str');
    }
    Ответ написан
    1 комментарий
  • Как вывести количество записей в рубрике за последние 24 часа WordPress?

    // Получаем время отсчета. То есть текущее время минус 24 часа = точка старта.
    $day = date('Y-m-d H:i:s', strtotime('-1 day'));
    
    // Делаем запрос к бд, получая в ответ все записи, которые
    // были опубликованы за последние 24 часа
    $numpost = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND post_date > '$day'");
    
    // Выводим результат 
    echo $numpost;

    Я не внимательно прочитал. Оказывается надо для каждой рубрики.
    Поэтому добавляю код, который выводит и для рубрик:

    $this_cat = get_the_category();
      
    $this_cat = $this_cat[0]->cat_ID; // id текущей рубрики
    
    $day = date('Y-m-d H:i:s', strtotime('-1 day'));
    
    $numpost = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts 
    							WHERE post_status = 'publish' AND post_type = 'post' AND post_date > '$day' AND 
    							id IN (SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = '$this_cat')");
    
    echo $numpost;
    Ответ написан
    1 комментарий
  • .encrypted файлы на сервере?

    Для Windows подобный вирус давно существует, но осенью 2015 появился вирус-шифровальщик и для Linux. Делает он именно то, что вы описали и требует оплаты, после которой вам высылается ключ для расшифровки. И обычно просят оплачивать криптовалютой - биткойнами. Месяца два назад это был 1 биткойн, около 30 тысяч рублей получается. Мой друг не стал платить, обновил систему сервера и проверил файлы сайта, пока что все в порядке. В англоязычном интернете писали, что проникновение вируса не связано с файлами сайта, а имеет иной характер происхождения. Возможно, какой-то софт, поэтому можно посоветовать лишь более внимательно относится к его установке и настройки.

    P.S. А то, что нет бэкапов, это не тру :)
    Ответ написан
    Комментировать
  • Не работает highlight.js?

    Возможно вы неправильно инициализируете highlight.js...

    Когда инициализируете только лишь посредством этой строки:

    hljs.initHighlightingOnLoad();

    То необходимо установить его после HTML разметки, в противном случае ничего сработает.

    Либо делайте проверку на загрузку страницы при помощи window.onload:

    window.onload=function(){
        hljs.initHighlightingOnLoad();
    }

    Либо при помощи других библиотек, например, Jquery:

    $(document).ready(function() {
        hljs.initHighlightingOnLoad();
    });

    То есть инициализируем highlight, только после полной загрузки html-документа.
    Попробуйте на codepen.io обернуть инициализацию в функцию ожидания загрузки страницы и все должно заработать.

    P.S. Хотя по идеи должно работать и так, и так, если верить документации, но у меня не работало, когда я вызывал функцию до html разметки.
    Ответ написан