• Как найти процесс в debian linux?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    stealth и mh видимо
    Посмотреть список исходящих http/https
    netstat -ptn | grep -E "80|443"
    Поможет в поисках если не через прокси работает
    Можно и tcpdump
    Ответ написан
    4 комментария
  • Правильно ли я нарисовал план ООП игры шашки?

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

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

    В приведённой схеме не учитана возможность цепочек «атакующих» ходов. В т.ч. с трансформацией в дамку в процессе обжорства )

    Можно ввести сущность «ход». Тогда можно складывать ходы в массив игры. Сохранять игру, воспроизводить её. Перехаживать! )

    Протяженность во времени: если делать красиво, то будут анимации перехода шашки между клетками. В это время нельзя вмешиваться, например. Хотя, вероятно, это пока излишнее усложнение.

    Доске понядобятся методы инициализации, может загрузки позиции, оценки позиции.
    Ответ написан
    1 комментарий
  • Правильно ли я нарисовал план ООП игры шашки?

    myks92
    @myks92
    Нашёл решение — пометь вопрос ответом!
    В целом не плохо. Но бы сделал по другому.

    1. Свойства не выносить отдельно в схеме. Не совсем понятно что вы изменяете в методах. Какие условия при изменении. Какие параметры. И т. д. Свойства нужны больше для проектирования БД.

    Например лучше так:
    Подвесить клетку
    - цвет (string(6))

    2. Шашка это неотъемлемая часть доски. Поэтому модификация шашек будет из сущности доски.

    Для примера можете посмотреть как строится любое API. Везде есть метотоды и описание что они делают. Какие параметры принимают. Какой результат возвращают. Какого типа и так далее. Зайдите VK API сразу поймёте. Вам нужно сделать некое подобие API.

    В остальном нормально)
    Ответ написан
    2 комментария
  • Почему не происходит замыкание?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Вы не там поставили immediate invocation. Должно быть так, чтобы получилось замыкание:
    $('#elem').click((() => {
      // Основное тело функции будет исполнено один раз при установке обработчика
      // Таким образом создастся замыкание для переменной count
      let count = 0;
    
      // А вот здесь уже вернётся настоящий обработчик клика,
      // который будет вызваться при каждом нажатии
      return () => {
        count++;
        console.log(count)
      };
    })());


    Ваш текущий код, по сути, является вот этим:
    $('#elem').click(() => {
        let count = 0;
        count++; 
        console.log(count);
    });
    Ответ написан
    Комментировать
  • Как передать названия шаблона через роут laravel?

    kimono
    @kimono
    Web developer
    Route::get('/', 'Equip@allItems');
    Route::get('equipment', 'Equip@allEquipmentItems');


    private function allItemsInternal(string $template){
        return view($template, [
            'all' => $this->eqs(),
            'types' => $this->types()
        ]);
    }
    
    public function allItems(){
        return $this->allItemsInternal('all');
    }
    
    public function allEquipmentItems(){
        return $this->allItemsInternal('equipment');
    }
    Ответ написан
    Комментировать
  • Почему append работает не правильно?

    XanXanXan
    @XanXanXan
    Потому что переменная tohandler создается один раз и ты гоняешь ее пять раз.

    Нужно создавать ее внутри цикла.

    var   container = $('<div></div>').addClass('container');
    for(var i = 0; i<5; i++){
    var tohandler = $('<div></div>').text('lol');
      container.append(tohandler);
    }
    $('#render').html(container);
    Ответ написан
    Комментировать
  • Как реализовать плагин для синхронизации для WordPress?

    REST API
    Ответ написан
    Комментировать
  • Как сделать плавную заливку svg?

    RAX7
    @RAX7
    Можно с помощью библиотеки Polymorph, но она малость глючная.
    Ответ написан
    2 комментария
  • Кнопка - переключатель на jQuery?

    Вот идея кастомного чекбокса на CSS без всякого JS.
    https://codepen.io/vitiok78/pen/pmbyzE
    Ответ написан
    Комментировать
  • Как работать с php в WordPress?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Хотел перейти в разработку на cms. Но мне непонятно как, че, куда php писать.

    Начните с developer.wordpress.org. Вероятно, там Вы найдете ответы на большинство базовых вопросов по разработке на WordPress.

    Из русскоязычных можно почитать wp-kama.ru и misha.blog.

    Также, для получения общих знаний о WordPress попробуйте https://wordpress.org/support/ . Там можно найти ответы на большинство вопросов по использованию WordPress.
    Ответ написан
    Комментировать
  • Как работать с php в WordPress?

    @cema93
    WordPress разработчик
    Рекомендую начать с изучения Codex и тематических ресурсов, например wp-kama
    Ответ написан
    Комментировать
  • Что можно сделать чтобы сократить код?

    profesor08
    @profesor08 Куратор тега JavaScript
    Задача кода чтоб он выполнялся, и чтоб ты его понимал. Если тебе для понимания надо написать несколько if else, пиши так. Лично я бы раскидал все по массивам, объектам и вызывал бы нужные вещи оперируя структурами данных.
    Ответ написан
    Комментировать
  • Что можно сделать чтобы сократить код?

    @PavelPikat
    Нет ничего плохого в том, что писать код по-простому и, как говорится, verbose. Это делает его более потнятным и читабельным. С другой стороны, у вас проблемы с читабельностью из-за недостающих пробелов, использования одинарных и двойных кавычек одновременно, == вместо === и т.д. Советую поставить плагин а-ля JSLint/TSLint который бы подсвечивал все косяки в соответсвии с общепринятыми нормами. Так вы научитесь писать более чистый код.

    По структуре я бы отметил чрезмерное использование else/if. Посмотрите где можно заменить на switch. Также, конструкцию
    speechSynthesis.speak(new SpeechSynthesisUtterance(fform + "покрашен на зелёный цвет"));
    можно вынести в отдельную функцию
    function speak(message) {
    speechSynthesis.speak(new SpeechSynthesisUtterance(speak));
    }

    и вызывать speak(fform + "покрашен на зелёный цвет");
    Ответ написан
    Комментировать
  • Как анимировать фон состоящий из 2ух картинок?

    lamer350
    @lamer350
    กำลังสูงสุด
    Проще всего внедрить какой нибудь валидный параметр для div, например data-speed.
    Тоисть в HTML ваш DIV выглядел бы так:
    <div class="section-1" id="container" data-speed="1">

    Это некий коэффициент, который вы можете регулировать как вам угодно, к примеру 0.5 если поставить - будет скролится в 2 раза медленнее, а если поставить 3 - будет скроллится в 2 раза быстрее.
    Тогда js код будет выглядеть так:
    function update() {
      var pos = $(window).scrollTop();
      $('.container').each(function() {
        var $element = $(this);
        var height = $element.height() - 18;
        var speed - $element.attr('data-speed');
        $(this).css('backgroundPosition', '50% ' + Math.round((height - pos*speed) * velocity) + 'px');
      });
      $('#container').css('backgroundPosition', '50% ' + Math.round(($('#container').height() - pos*speed) * velocity) + 'px' + '50% ' + Math.round(($('#container').height() - (pos*speed) / 2) * velocity) + 'px');
    };

    если кратко, чтобы легче было найти в чем отличии, вводите новую переменную speed и все pos умножаете на speed
    И потом в HTML методом перебора коэффициентов добиваетесь нужного вам эффекта.
    Ответ написан
    6 комментариев
  • Как создать функцию, которая будет плюсовать элемент массива n раз?

    Stalker_RED
    @Stalker_RED
    Можно еще так:
    function paster(char, count, result = '') {
      while (count--) result += char
      return result
    }


    Или даже:
    const paster = (char, count) => Array(count).fill(char).join('')
    Ответ написан
    2 комментария
  • Как создать функцию, которая будет плюсовать элемент массива n раз?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вам нужно всего лишь понимать, что у вас происходит. И тогда всё получится. Попробуйте мысленно выполнять код шаг за шагом. В любом случае, вот решение:
    var one = ["a", "b", "c"], two = ["d", "e", "f"];
    
    function paster(c, iter){
    	var summa="";
    	for(var i = 0; i<iter; i++){
    		summa = summa + c;
    	}
    	return summa;
    }
    
    one[0] = one[0]+paster(two[0], 10);
    alert(one[0]);
    Ответ написан
    1 комментарий
  • Как оптимизировать или сократить код который повторяется?

    SagePtr
    @SagePtr
    Еда - это святое
    Если делаете переключатель между тремя темами оформления, то проще сделать так:
    CSS:
    /* общие для всех тем */
    .navigation { /* style */ }
    .sect-one { /* style */ }
    .project-title { /* style */ }
    /* конкретные для темы evil вдобавок к общим */
    body.theme-evil .navigation { /* style */ }
    body.theme-evil .sect-one { /* style */ }
    body.theme-evil .project-title { /* style */ }
    /* конкретные для темы hacker вдобавок к общим */
    body.theme-hacker .navigation { /* style */ }
    body.theme-hacker .sect-one { /* style */ }
    body.theme-hacker .project-title { /* style */ }
    /* ..... */

    Тогда JS вообще легко уменьшится до нескольких строк:
    $(document).ready(function() {
      var themes = ['evil', 'hacker', 'basic'];
      var oldTheme = 'basic';
      themes.forEach(function(theme) {
        $('#' + theme).click(function() {
          $('body').removeClass('theme-' + oldTheme);
          $('body').addClass('theme-' + theme);
          oldTheme = theme;
        });
      });
    });
    Ответ написан
    6 комментариев