Задать вопрос
  • Какими сервисами полезен KeyCollector? Он теперь перестал корректно собирать ядро?

    vpetrov
    @vpetrov
    частный SEO-специалист
    За свои деньги KC и сейчас живее всех живых для работы с семантикой под Яндекс. Да, из Вордстат он теперь тянет данные с бубном: либо через XMLriver, либо с фокусами. Но
    а) Не вижу смысла сейчас тянуть из Вордстат весь мусор с "хвостами"
    б) Можно вытянуть всё это из Wordkeeper или Букварикс или Кейссо.
    Всё остальное работает как работало. Я обычно там просто вытягиваю частотки из Директ, плюс оценка посадочных страниц на релевантность и ранжирование. Можно там и кластеризовать, но я предпочитаю KeyAssort - мне это удобнее и результаты нравятся больше.
    Ответ написан
    Комментировать
  • Как отсортировать массив?

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT name, `text`
    FROM product
    JOIN product_attribute USING (product_id)
    JOIN attribute_description USING (attribute_id)
    -- JOIN attribute USING (attribute_id)   -- таблица в запросе не нужна
    GROUP BY 1, 2
    HAVING COUNT(*) > 1;

    fiddle

    Если нужна именно сортировка как в эталоне - ну добавить ORDER BY MAX(attribute_id)

    Таблица attribute потребуется лишь в случае, если данные из неё нужны (например, в запрос добавится отбор по значению attribute_group_id).

    Если надо сравнивать атрибуты у более чем 2 товаров, то соотв. образом откорректировать условие пост-отбора. Например, для 3 товаров и атрибутов, имеющихся у всех трёх, это будет HAVING COUNT(*) = 3
    Ответ написан
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

    4) в принципе использование переменных там где их быть не должно

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

    1) если вы пишите комментарии к таким маленьким кускам кода - стало быть у вас хромает именование вещей. Все должн быть понятно просто из названий методов/функций/переменных. При работе в команде над серьезными проектами это немаловажно, ибо код чаще читают чем пишут и экономить нужно именно это время.

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • Сайт с упражнениями по SQL?

    gobananas
    @gobananas
    finishhim.ru
    sql-ex.ru
    Ответ написан
    Комментировать
  • Нужно ли регистрировать частный мессенджер?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Рассматривай вопрос с точки зрения государства :) Тебе нужно, чтобы каждый клиент мессенджера был идентифицирован, чтобы если он скажет что нехорошее - взять его за ... воротник :)

    Поскольку все клиенты известны, я думаю не нужно.
    Ответ написан
    6 комментариев
  • Хороший ли вариант использовать Wordpress для API форума?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Если это будет именно "форум", с разделами, темами итд, то нет, WP не очень подходит для этого. У него и дизайн не такой, и структура базы, так что допиливать придётся много. И прямо на php, не такой знакоый js-код на фронте. До кучи, допиливать придётся и плагины. Богатство WP и одновременно его ахиллесова пята - это именно плагины - без них его практически никто не использует, но их регулярно приходится доделывать под многочисленные нюансы конкретной инсталляции. А использование "не по назначению" это очень даже большой нюанс.

    Если же нужно "коллективный блог", как хабр, с "хабами", они же по сути тэги постов, то WP под это допилить всяко проще. чем под форум. Но так как WP изначально индивидуальный блог, то тоже не всё так просто.

    PS: С точки зрения минимизации расходов на инфраструктуру и разработку оптимально вообще не делать фронт-бэк архитектуру и какой-то сложный кастом. Это лишние усилия и ресурсы на внедрение и самое главное поддержание (то, что многие недооценивают!), а большого смысла для собственно "форумной" функциональности тут вообще нет. Поэтому я бы посоветовал ограничиться стандартным популярным движком, подходящим под нужную задачу и активно поддерживаемым разработчиками, а не пилить свой очень слишком мудрый комбайн.
    Ответ написан
    3 комментария
  • Хороший ли вариант использовать Wordpress для API форума?

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ, боты и пр.
    Подскажите, это нормальная идея?

    Нет. Использовать ВП для форумов - плохая идея в принципе.
    Для форумов есть специальные движки. Бесплатные в тч и на php. Т.е. вполне ставятся на шаред.

    ЕМНП у SМF есть API.
    Ответ написан
    5 комментариев
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

    не включая основы js

    Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

    React
    0) Какую проблему решает react ?
    1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
    2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
    3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
    4) Что будет если вызвать this.setState в render методе компонента?
    5) зачем нужен componenWIllUnmount, приведите пример..
    6) Контролируемые, не контролируемые компоненты
    7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
    8) Зачем нужны propTypes? Что происходит с ними в production сборке?
    9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
    ...

    Redux
    0) Какую проблему решает redux?
    1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
    2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
    3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
    4) Как компоненты приложения получают "пропсы" из "стора"?*
    5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
    6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
    6.5) А так же, "как в js вообще это работает?". Например:
    let obj1 { name: 'Test', age: 100 }
    let obj2 = obj1
    obj2.name = 'Test_new'

    Что будет в obj1, почему? В каких случаях объекты могут быть равны?
    7) Что возвращает функция connect (из react-redux)?
    ...

    Общее:
    0) package.json
    1) Webpack, gulp, etc...
    2) node.js
    3) promise

    Что-нибудь практическое:
    1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
    2) Почему не работает следующий код, сделайте чтобы работало
    ...
    На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

    p.s. возможно дополню...
    p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
    Ответ написан
    31 комментарий
  • Как оптимизировать производительность Node.js при запуске множества фоновых Telegram-ботов?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Сделать отладку и профилирование вашего кода
    2. Найти проблемные места и бутылочные горлышки
    3. Решить их

    Или же вы уже это всё сделали и получили явные признаки/доказательства, что проблема именно в ноде?
    Ответ написан
    Комментировать
  • Возможно ли написать бота для сайта если там нет API?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, написание бота возможно.
    Да, администрация может определить бота и заблокировать аккаунт/IP.
    Ответ написан
    Комментировать
  • Как прозвонить механическую клавиатуру?

    @alexalexes
    Не включайте больше, пока не будет доступа к внутренности корпуса.
    Когда разберете - увидите наглядно, что окислилось, что вышло из строя, где остались лужи и подтеки.
    Ветошь без ворса, изопропиловый спирт, старая зубная щетка и паяльник вам в помощь после разборки.
    PS: Если клава имеет автономное питание, то я бы не медлил с разборкой.
    Ответ написан
    Комментировать
  • Смена профессии. Локализация. Имеет ли смысл при нынешнем рынке труда?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Написал, что один из них - локализация ПО/игр.


    Это ж тот же самый перевод. Чем он отличается от того что щас у вас?
    Ну и сразу скажу что как раз таки с локализацией игр LLM справляется на отлично. Многие компании щас отказываются от услуг агенств по переводу (свой штат мало кто держит) и все переводят в GPT,
    Ответ написан
  • Как забанить список IP по первым двум числам?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    nft add element inet deny ban { 123.45.0.0/16 }
    Ответ написан
    2 комментария
  • PostgreSQL, как осуществить поиск по вложенному json?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    через jsonpath
    jsonb_field @@ '$[*].name like_regex "st"'

    или более традиционным способом
    where exists(select from  jsonb_array_elements(jsonb_field) j where j->>'name' like '%st%')
    Ответ написан
    Комментировать
  • Как реализовать переезд хостов с одной сети в другую (WIN Server 2012R2 при создании двух областей IPv4)?

    @Dupych
    У меня 5 подсетей.
    10.1.1.0/24 - сервера, коммуиаторы, точки доступа. Все админское
    10.1.2.0/24 - ПК и принтеры
    10.1.3.0/24 - IP телефония.
    10.1.4.0/24 - SB камеры и СКУД
    10.1.5.0/24 - WIFI с доступом в локалку
    10.1.15.0/24 - Wifi без доступа в локалку.
    На микротике настроил маршрутизацию и все.
    На микротике для DHCP relay на IP контроллера доменов например. 10.1.1.1 для каждого VLAN.
    На контроллере домена в DHCH 5 областей.
    Сами подхватят свои подсети.
    WIFI GUEST DHCP на самом микроте с 8.8.8.8, 8.8.4.4
    Незачем ему во внутренний DHCP лезть да и не получится.
    Ответ написан
    7 комментариев
  • Стоит ли брать б/у сервер?

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

    смотрю на бенчмарки, а железо то еще неплохое. ddr4 ecc 128гб и за такие деньги надо брать
    Ответ написан
    2 комментария
  • Какой посоветуете модем для sms/звонков под Ubuntu?

    @dronmaxman
    VoIP Administrator
    huawei e1550 в связке с smstools долго использовал для SMS, работало стабильно.

    Можно тут посмотреть
    https://smstools3.kekekasvi.com/index.php?p=hardwa...
    и тут
    www.raspbx.org/documentation/gsm-voip-gateway-with-
    chan_dongle/#:~:text=Hardware%20requirements,better%201.2A%20or%20more.
    Modems reported working/not working
    On top of the compatibility list on the original chan_dongle wiki, users of RasPBX have reported several modems to work fine with the RPi:
    
    E153
    E1550
    E1552
    E156G
    E160
    EG162
    E166
    E169
    E171
    E173 (some types of E173 seem to not work, only E173 with Qualcomm chipsets do work)
    E1750
    E180
    E303
    K3520 (not to confuse with K3520-z)
    K3715
    K3765a
    The following modems had issues and could not me made working so far. Please let us know if they work for you nonetheless:
    
    E150
    E1752
    E303C
    E352
    K3520-z


    Не самый дешевый, но стабильный и гибкий
    goip 1
    Ответ написан
    4 комментария
  • Почему JWT-авторизация использует два раздельных токена (access + refresh), а не один комбинированный?

    @Everything_is_bad
    В очередной раз когда кто-то пытается доработать jwt, надо показывать это 2f74bcb83b6555d85f8c65ab68b22d98.png
    Ответ написан
    2 комментария
  • Почему с wifi не перестал работать vpn (vless+reality) на ростелеком?

    CityCat4
    @CityCat4 Куратор тега VPN
    Жил да был черный кот за углом...
    Неужто ль теперь и vless фиговый протокол?

    Тут дело не в протоколе.

    "Алиса, покажи мне десять клиентов, у которых во всем трафике доля одного IP составляет 90%"...

    Идея понятна? Пров (возможно даже случайно) глянул на структуру Вашего трафика - а в нем 90% идет на один IP, неважно какой. Трафик шифрованый, а то, что порт 443 - сейчас уже ничего не значит :) "А забаню-ка я целевой сервер - если что-то важное - придут разбираться". И забанил :D
    Ответ написан
    Комментировать