• Как улучшать качество кода?

    DanielMcRon
    @DanielMcRon
    C# && Unity
    Посмотрел ваши предыдущие вопросы.
    Тебе скорее всего будет сложно стать программистом. После Clean Code у тебя должно было отпасть 95% вопросов. Если ты до сих пор не понял, как оформлять код и к чему стремится - то ты тратишь своё и чужое время

    И да... Тебе уже 4 человека сказали что да как. Твой код уже улучшился до разряда "мой код поймут даже те, кто не шарит в этом"?
    Ответ написан
    1 комментарий
  • Долгая обработка запроса php как передать браузеру что бы ждал ответа?

    solotony
    @solotony
    покоряю пик Балмера
    отключи проксирование/буферизацию и отдавай ему контент порциями. у меня так по несколько часов работали скрипты.
    Ответ написан
    2 комментария
  • Остановить выполнение скрипта python?

    longclaps
    @longclaps
    Зачем так жестоко?
    Придумайте себе имя переменной окружения или любой другой объект-флаг, хоть файл. При запуске скрипта устанавливайте этот флаг, потом в фоновом цикле проверяйте, не исчез ли он. Вот его-то пусть и убивает ваш скрипт-убийца.
    Бонусом получаете возможность завершить свой скриптец корректно и аккуратно. Справитесь, "далёкий от кодинга"?
    Ответ написан
    5 комментариев
  • Как строку перевести в JSON, что бы вытащить параметр?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    JSON.parse
    Ответ написан
    Комментировать
  • Как раскодировать JS код?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    В интернете ничего толкового найти не могу

    Иногда кажется, что умение гуглить это дар божий. Почему люди не умеют составлять поисковые запросы? У меня, например секунд 7 ушло.
    https://lelinhtinh.github.io/de4js/
    Ответ написан
    6 комментариев
  • Почему выдает фатальную ошибку js?

    Seasle
    @Seasle Куратор тега JavaScript
    Выключай/удаляй JSHint/JSLint, ставь ESLint.

    UPD:
    Чтобы избежать данной ошибки, можно обернуть элемент в проверку:
    const sortAscButton = document.querySelector('#sort-asc');
    const sortDescButton = document.querySelector('#sort-desc');
    
    if (sortAscButton) {
        sortAscButton.addEventListener('click', event => {
            event.preventDefault();
            mySort('data-price');
        });
    }
    
    if (sortDescButton) {
        sortDescButton.addEventListener('click', event => {
            event.preventDefault();
            mySortDesc('data-price');
        });
    }


    ES5 вариант

    var sortAscButton = document.querySelector('#sort-asc');
    var sortDescButton = document.querySelector('#sort-desc');
    
    if (sortAscButton) {
        sortAscButton.addEventListener('click', function (event) {
            event.preventDefault();
            mySort('data-price');
        });
    }
    
    if (sortDescButton) {
        sortDescButton.addEventListener('click', function (event) {
            event.preventDefault();
            mySortDesc('data-price');
        });
    }

    Ответ написан
    1 комментарий
  • Библиотека обрезки изображения перед загрузкой на сервер?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Комментировать
  • Почему OffsetParent возвращает body, а не table?

    dicem
    @dicem

    Свойство offsetParent содержит первый родительский элемент у которого CSS свойство position не равно static, либо body если его нет. То есть родителя относительно которого происходит позиционирование элемента.

    Ну и собсна

    The HTMLElement.offsetParent read-only property returns a reference to the element which is the closest (nearest in the containment hierarchy) positioned ancestor element. If there is no positioned ancestor element, the nearest ancestor td, th, table will be returned, or the body if there are no ancestor table elements either.

    https://developer.mozilla.org/en-US/docs/Web/API/H...

    Пример:
    Ответ написан
    Комментировать
  • Как работает данный код?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Функция sum() возвращает функцию f.
    Функция f() тоже возвращает функцию f.

    Но к результату можно обратиться по-разному:
    1. вызвать как функицию – вторая и последующие скобки;
    2. попытаться вывести как строку – метод alert() ожидает именно строку, а не функцию и не объект.
      На второй случай у f определён «волшебный» метод toString().
      Подробнее: преобразование объектов в примитивы
      Недавно был вопрос про это: Почему оператор сложения + складывает массивы как строки?


    При этом значение суммы накапливается в переменной currentSum, которая определяется при (первом) вызове sum(), а при последующих вызовах f() это значение по-прежнему «видно».
    Ответ написан
    7 комментариев
  • Как подключить к node js ssl от cloudflare?

    @nastyskafomka Автор вопроса
    Проблема решена.

    Как всегда виновата невнимательность, и желание "все и сразу".

    Для того, чтобы подключить к node сертификат от Cloudflare нужно выполнить следующие действия:

    1) Сгенерировать TLS сертификат от Cloudflare. Для этого переходим в панель управления доменом, далее Crypto и там находим пункт Origin Certificates
    5cae399254f58892146189.png
    2) Создать TLS сертификат, выбрав следующие параметры:
    5cae3a04086c4580548489.png
    (Срок можно выбрать другой)
    3) Теперь на сервере создать папку где будут лежать наши сертификаты и создать в ней файлы:
    your-domain.ltd.pem и your-domain.ltd.key
    Где your-domain.ltd - ваш домен.
    4) В your-domain.ltd.pem вставить первый ключ
    Пример первого ключа
    5cae3ac918b0d339617028.png

    5) В your-domain.ltd.key вставить второй ключ
    Пример второго ключа
    5cae3b0c2d009139184631.png

    6) Далее на сервере подключить их:
    var app = require('express')();
    
    var options = {
        key: fs.readFileSync('ssl/your-domain.ltd.key'), // PRIVATE KEY
        cert: fs.readFileSync('ssl/your-domain.ltd.pem') // CERTIFICATE
    };
    
    var http = require('https').createServer(options,app);


    Далее, нужно чтобы сервер работал на SSL порте, который использует Cloudflare (ссылка)

    spoiler

    Может это не обязательно, но мы сделали именно так
    5cae3c320abd0767586155.png
    spoiler

    На http не обращайте внимания, просто так получилось.


    Вот и все, теперь можно запустить node.js сервер и перейти по адресу your-domain.ltd:port
    spoiler
    По идее...

    И мы успешно попадем на сервер.

    Надеюсь это кому-нибудь поможет.
    Ответ написан
    2 комментария
  • Как переделать изображения в SVG?

    @thedexploit
    Сайтами маюсь
    Оптимально будет использовать Webp форматом, чего и требует тот же гугл для оптимизации. Вес на много ниже, потерь в качестве практически нет.
    Ответ написан
    Комментировать
  • Как добавить комментарии в кастомных типах записей wordpress?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    При регистрации типа записи, нужно включить для него поддержку комментариев
    https://wp-kama.ru/function/register_post_type#sup...
    Ответ написан
    Комментировать
  • Правильно ли я нарисовал план ООП игры шашки?

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

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

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

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    С каждым годом все меньше и меньше проектов для Desktop'ов

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

    script / front, back-end / mobile development

    Вы сейчас перечислили почти все области, кроме нативного десктопа. Ну хотите сменить, попробуйте.
    Но может имеет смысл найти проект, где востребован ваш текущий опыт?
    Ответ написан
    Комментировать
  • Что делать дальше?

    Anitamsk
    @Anitamsk
    Frontend Dev
    К примеру сверстать макет

    Это не фронтенд.

    Сверстать макет - это к веб-мастеру, который далек от фронтенда.
    Фронтенд - это когда вы берете сложную логику, и делаете веб-приложение.
    Веб-мастера -берут макет, делают из него сайт, где максимальная логика - это popup окно(если копнуть дальше, написать скрипт на php или jquery).

    Хотел бы что бы кто то дал совет куда двигаться дальше.

    Совет: учите нормально html\css. Берете 3 макета - лендинг, корпоративный сайт, интернет магазин - верстаете их без сеток, на чистом css - адативно, кроссбраузерно.
    Как только сверстали - берете еще 3 макета - верстаете их с помощью bootstrap\bem\sass\less\gulp и его пакетов(если хватит сил, посадите хотя бы один проект на вордпресс\любую cms - что бы хотя бы понять как работает система управления), дарите свои проекты соседям, друзьям, коту.

    Как только вы поняли как делается верстка - переходите к изучению JS.
    И дальше на выбор - либо вы кидаетесь в создание сайтов и становитесь веб-мастером. Либо кидаетесь в более сложную и интересную работу фронтендера.

    Уже в этом деле полтора месяца.

    На то что я написала выше - у вас 4 месяца уйдет, что бы научиться не плавать, и сверстать 4 -6 макетов с хорошей версткой, попутно изучив прикладные инструменты - не спешите рваться в бой.
    Ответ написан
    6 комментариев
  • Почему появляется [object HTMLSpanElement]?

    hzzzzl
    @hzzzzl
    js позволяет напрямую обращаться к элементу на странице по его айдишнику (не выбирая заранее его через querySelector / getById)

    <span id="cifri2">df</span>
    ......
    cifri2 += ", " + i;


    вот тут ты прибавляешь i не к значению спана, а к самому спану, который является объектом HTMLSpanElement
    Ответ написан
    Комментировать
  • *NIX (Linux) или Windows (или другое)?

    GavriKos
    @GavriKos
    а сейчас нужно сконцентрировать своё внимание на школьных предметах: особенно на математике и физике

    Вполне здраво.

    в написании приложений (в вебе) или сайтов, используя Windows

    Теоретически - все равно в какой ОС они писали. Особенно для веба.

    Как вы считаете, является ли выбор *nix-подобной ОС для программиста/IT-шника весьма желательным (кроме узкоспециализированных задач/.NET/UWP/...)

    Является, но когда он уже ПРОГРАММИСТ.

    А судя по вашему вопросу - вы еще себя таковым не считаете (что кстати правильно). Так что не забивайте себе голову ОС-ями - учитесь программировать +школа. По факту даже на языках можете не сосредотачиваться - это инструмент.
    Ответ написан
    Комментировать
  • Обтекание текстом фиксированного блока?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На CSS такое обтекание никак не сделать. Но можно пойти одним весьма хитроподвывернутым способом - продублировать текст и скроллить два блока с контентом одновременно. Как в этом примере, только в одной плоскости, без "перевернутой" трансформации:



    Это позволит сделать плавное движение, без рывков при перестроении элементов в DOM-дереве.
    Ответ написан
    3 комментария
  • Почему SVG не прорисовывается без фиктивного апдейта?

    Dr_Elvis
    @Dr_Elvis Автор вопроса
    В гугле забанен
    Подсказали вот такую вот документацию Namespaces crash course
    Там хорошо всё описывается. В разделе "Scripting in namespaced XML" описано какие методы нужно использовать когда работаешь с элементами с неймспейсом, в частности с SVG. Переписал свой код под данные спецификации - всё работает без нужды фиктивного ападейта.
    Ответ написан
    1 комментарий
  • Как превратить svg файл в массив координат и обратно?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Chrome убрал исключённый из нового стандарта SVG path.pathSegList, но при этом не добавил path.getPathData() - предлагаемую этим стандартом альтернативу. Гениальный ход, надо сказать.
    Так что варианты:
    1. юзать полифил для pathSegList - так по крайней мере в фоксе оно будет работать нативно(до поры).
    2. юзать полифил для getPathData() - так когда-нибудь везде заработает нативно(пока - нигде).
    3. использовать какую-нить svg-либу общего назначения - так либа подумает за вас, а у вас в проекте будет лежать сотня-другая кило мусорного кода.
    4. написать совой велосипед - так у вас будет кусочек кода подходящий именно вам, и плевать на нативность, чай не тысячами путей ворочаем.
    Ответ написан