• Почему RIGHT JOIN ведет себя как INNER JOIN при объединении с третьей таблицей?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    не понятно, какой влияние оказывает третья таблица на вторую
    Напрямую никакого. У вас INNER JOIN `wp_company_rates` и `wp_term_relationships`, поэтому естественно, что в финальную выборку попадут только те строки, которые совмещаются по условию JOIN'a. Если после RIGHT JOIN вы получили в объединённой строке `wp_company_rates`.`post_id` равное NULL, то, естественно, в INNER JOIN эта строка не войдёт.
    Ответ написан
    5 комментариев
  • Как устроиться django-developer без опыта коммерческой разработки?

    Jacen11
    @Jacen11
    очень хреновое резюме. Причем многие выражения в любом случае нельзя использовать. Много мало того что ненужной воды, так еще и выставляет тебя в худшем свете!

    КАК ПРИШЁЛ К DJANGO
    да всем насрать как. Могут иногда на самом собесе спросить чтобы начать разговор

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

    Данный проект я начал создавать, чтобы проверить на что я способен это всё же интереснее, чем просто создавать сайты-блоги, визитки и тд. Я не завершил его по причине острой необходимости в подработке( начал писать на php об этом говорится в разделе СОПУТСТВУЮЩИЕ НАВЫКИ).
    очень интересно. На самом деле нет. Прям автобиографию написал. У hr сотни резюме, эта писанина им не нужна и не интересна. Они ищут человека с определенными навыками, не более.

    В проекте "социальная сеть" начал применять паттерн MVC, но не везде отрефакторил код.
    Твой проект скорее всего никто не посмотрит, а если посмотрит увидит МВС, но ты сразу признался что работаешь через жопу

    То что ты там дальше понаписал записывается так
    git, web-socket, django-channels, docker + redis.

    Postman
    впервые вижу это как некий плюс. Все в курсе что это и умеют пользоваться, если нет, то пяти минут хватит разобраться

    на данный момент из-за проблем с подключением удалил его как вторую ОС при необходимости я оперативно верну linux назад
    опять автобиография пошла, не связанная с вакансией. Может книги лучше будешь писать?

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

    Заранее хотел бы извиниться
    опять не успел начать уже сам говоришь что рукожоп. Нельзя так говорить в принципе

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

    но зато я точно знаю, что могу находить решения для реальных задач
    пафосно. Только все так говорят, а доказательства где.

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

    Я быстро разбираюсь во всём новом
    это уже давно стало позорным клише в резюме

    Вообще можно объяснить почему неправильно буквально каждое предложение, но я уже устал.

    Вывод
    Это беспонтовое резюме от школьника, который не то что питон, русский знает на 3. Такое сразу идет на помойку. Любой выпускник универа или свитчер инженер сходу будет предпочтительнее. Посмотри как другие люди составляют резюме и сделай так же
    Ответ написан
    Комментировать
  • Какие lazy load-плагины для изображений лучше?

    @SergeiB
    После появления Intersection Observer API надобность в плагинах отпала. Всё решается парой десятков строк кода.
    Пример.

    const options = {
      root: null,
      rootMargin: '0px',
      threshold: 0.05
    };
    
    const lazyload = function(entries, observer) {
      entries.forEach(function(entry) {
        const target = entry.target;
        const dataset = target.dataset;
    
        if (entry.isIntersecting) {
          try {
            if ('src' in dataset) {
              target.src = dataset.src;
            }
    
            if ('bg' in dataset) {
              target.style.backgroundImage = `url(${dataset.bg})`;
            }
    
            target.classList.add('lazyloaded');
            observer.unobserve(target);
          } catch (error) {
            console.error(error);
          }
        }
      });
    };
    
    const observer = new IntersectionObserver(lazyload, options);
    
    document.querySelectorAll('.js-lazyload').forEach(elem => observer.observe(elem));

    <!-- Изображение без плейсхолдера -->
    <img class="js-lazyload" data-src="path/to/image/elephant.jpg" alt="The pink elephant">
    
    <!-- Изображение с плейсхолдером -->
    <img class="js-lazyload" data-src="path/to/image/elephant.jpg" src="path/to/placeholder.jpg" alt="The pink elephant">
    
    <!-- Ситуация, когда изображение надо задать как фон -->
    <div class="js-lazyload" data-bg="path/to/image/elephant.jpg"></div>

    Ответ написан
    3 комментария
  • Какие есть варианты повышения для вебмастера?

    @HellWalk
    Больная тема. Прошел этот путь.

    В дополнение к тому, что уже писали (что нужно переходить в чистые программисты), дополню.

    Забавно, но ценность специалиста иногда может зависеть только от одного названия резюме. Можно делать работу фулл-стека, поверхностно знать бэк и фронт фреймворки, при этом иметь должность "веб-мастер" и заниматься еще всякой хренью, типа SEO. Но стоит только изменить название резюме с "веб-мастер" на фулл-стек веб программист - и ценность такого человека в глазах рекрутеров сразу вырастает. Так что подтягивайте, если их нет, знания фреймворков, делайте себе аккаунт на github с примером простого блога на каком-нибудь laravel + vue.js и забудьте слово "веб-мастер"

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

    Tomio
    @Tomio
    backend developer (python, php)
    Когда-то очень давно я был в такой же ситуации, как и вы. Просто упёрся в потолок. И тут дело даже не в зп, мне могли ее повысить. Дело в пуле задач, которые я решал. Он был ограничен веб-мастерингом, очень разрозненным (сео, формошлёпство, вёрстка, контент).
    В итоге, как бы комфортно мне ни было, я решил, что нужно двигаться дальше. Сменил работу, стал чисто бэкендером. В итоге хорошо прокачал PHP, MySQL, освоил Git. Потом снова сменил работу, освоил на ней Symfony, Clickhouse, Kubernetes. А потом вообще сменил язык и сейчас активно работаю на Python с очень крутым стэком. Соответственно, зп моя очень сильно выросла, так как знаний и опыта стало больше и цениться на рынке я стал выше. А главное, я кайфую сейчас от того, чем занимаюсь)
    Не бойтесь, вырывайтесь из этого болота, пока не поздно. Думайте наперёд.
    Ответ написан
    Комментировать
  • Возможно ли сделать невидимую метку для символа в строке?

    @syntaxorange
    Я бы использовал индексы исключающих символов `X` в качестве меток исходной строки.

    const pattern = '...XX....XX.............X.......';
    const parseStr = '...XX....XX.....X.......X...XX.X.';
    
    const indices = pattern.split('').map((v, i) => v === 'X' ? i : '').join('');
    const result = parseStr.split('').filter((v, i) => !~indices.search(i) ).join('');
    Ответ написан
    1 комментарий
  • Почему не принимается POST-запрос от Ajax?

    @green_goo
    php не парсит тело запроса в json.
    Если хочется json, то так
    <?php
    var_dump(json_decode(file_get_contents('php://input'), true));
    Ответ написан
    Комментировать
  • Почему не принимается POST-запрос от Ajax?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    print_r(json_decode(file_get_contents('php://input'), true))
    Ответ написан
    Комментировать
  • Как показать определённое количество блоков по клику?

    Deonisius
    @Deonisius
    Родился в 11110110111 году, 11000 января.
    Пример в песочнице
    var items = $('.item'),
    per = 4,
    i = 1,
    total = 0;
    $('.more').on('click', function(){
    	total = per * (i++);
    	items.slice(0, total).show();
        $(this)[total >= items.length ? 'hide' : 'show']();
    }).click();
    Ответ написан
    3 комментария
  • Как полностью убрать блок при определённом разрешении?

    authoris
    @authoris
    Основал небольшую Курскую студию
    На самом деле никак (почти). Дело в том, что браузеры не отправляют серверу информации о разрешении окна. Пока запрос идет на сервер, пользователь может изменить его размер (на телефоне тоже реально, так как можно изменить ориентацию экрана).

    Если очень хочется, есть библиотека Tera-Wurfl. Она построена на основе xml, где сопоставлены User-Agent клиента и разрешение этого устройства, она не точная, часто ошибается, но может быть вам подойдет.

    UPD:
    Судя по тэгу AJAX, могу предположить что часть верстки вы гоняете через него (что не очень хорошо), тогда можно просто при отправке запроса передать полученные средствами JS width и height окна.

    Когда-то у меня стояла похожая задача. Тогда я отошел от попыток получить разрешение экрана и стал использовать Mobile Detect. Просто для планшетов отдавать одну версию, для телефонов другую, для настольных компьютеров и ноутбуков другую.
    Ответ написан
    Комментировать
  • Как вернуть view mode анонс (teaser) в Друпал 8?

    drupby
    @drupby
    В D8 имеется возможность импорта/экспорта конфигураций с помощью yml файлов - можно импортировать конфиги и через админку на странице /admin/config/development/configuration/single/import, конфиг для teaser находится в файле cgit.drupalcode.org/drupal/tree/core/modules/node/...
    Ответ написан
    Комментировать