• Насколько актуален чистый PHP?

    php666
    @php666
    PHP-макака
    Отвечу как автор того самого обширного ответа.

    Первое. В голове у тебя тотальное непонимание. Вопрос твой звучит примерно так же, как "можно ли быть хирургом не зная анатомию человека и не закончив 5 лет мед института?". Естественно нет.

    Есть ли сейчас смысл в оттачивании чистого PHP
    Язык всегда первичен. Да.

    Далее. Вот эта фраза
    если мне +- хватает понимания, как работает та же Ларавел?
    Ты серьезно думаешь, что у тебя "хватает понимания", как работает фреймворк? Больше не повторяй вслух эти слова. Никогда. Особенно на собеседовании. Иначе собеседующие тебя похоронят за плинтусом.

    Может, при возможности стоит обратить внимание на другой язык(Го, шарп, нода)?
    Сегодня разговаривал с HR-ом, дословно: php-шников и фронтов много. Больше остальных. Спрос на другие языки - go и питон - там низкая конкуренция. Не могу ей не поверить, т.к. php существует более 20 лет и за это время в отрасль вкатилась куча людей. Откровенно говоря, очень скоро значительный % пхп-макак пойдет в такси, включая меня. Конкуренция, судя по собеседованиям - адовая. Спрашивают сам язык и ещё 250 сопутствующих технологий.

    не рискую пока идти на собеседования потому что хочу закрыть чеклист: несколько проектов в портфолио на чистом PHP, laravel; подучить JS с Аяксом; Добить тестирование, а также чуть разобраться с докером, линуксом и теоретической частью этих ваших интернетов.
    мертвому припарка. Ты никогда в "домашних условиях" не получишь боевой опыт. Лучше иди работай за "ничего", больше пользы будет.
    Ответ написан
    1 комментарий
  • Как разобраться с многопоточностью и асинхронностью в веб-приложении?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Многопоточность
    Седой и строгий
    Flask синхронный и однопоточный. Конкурентность в нём реализуется запуском нескольких процессов web-приложения. Естественно, при таком подходе web-приложение не должно иметь состояния, в идеале быть 12-факторным.
    Ответ написан
    Комментировать
  • Проблемы с Virtual Box?

    Adamos
    @Adamos
    Кали.Классика.
    Правда, вместо того, чтобы поставить "крутой хакерский" дистрибутив и прибежать сюда с первой же ошибкой, "хакер" даже поставить его не может и прибежал сюда с этим.
    Вот зачем тебе та Кали, мил человек, если ты даже такую фигню не можешь нагуглить? Никакой инструмент не сделает тебя круче, если ты не готов потратить время и силы им овладеть.
    Ответ написан
    Комментировать
  • Лучший способ изучения Vue?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    1. Правильный: читать документацию и желатьло хорошую книжку и делать тестовые проекты. По времени вы потратите примерно 2-3 месяца
    2. Как обычно: Володя заэстимейти проект! Это срочно! О классно, только вместо ангуляра используем реакт, в остольном клиент согласен. И вот несешься по эстимейту по ходу изучая реакт. Ну а потом читаешь то что пропустил.

    В общем берите книгу и реальный проект. Желательно с VUEX авторизацией роутером и что то сложнее TODO
    Ответ написан
    4 комментария
  • Если ли виртуальный кошелек всех nfc устройств?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Фишка в том, что большинство школьных турникетов использует не то NFC, что есть в телефоне - телефонный чип работает на частоте 13,56 МГц, что подходит, в частности, для карт MIFARE (билеты Тройка и Подорожник в Москве и Питере) и банковским картам PayPass и PayWave.

    Школьные пропуска, домофоны и другой СКУД-ширпотреб работает на 125 килогерц. Так что увы.

    Однако, телефон может прикидываться картой "Тройка" - для этого нужна специальная симкарта с поддержкой "Мобильного билета" (Брендовое название технологии Мосметро и операторов большой тройки).

    И конечно же, вы можете купить flipper.
    Ответ написан
    Комментировать
  • Существует ли алгоритм выравнивания входящих данных на python?

    @dmshar
    Пожалуйста, перечитайте свое сообщение, и попытайтесь представить, как оно читается глазами тех, кто хочет вам помочь
    Получаете три числа. ОК. Что значит "объект находится статически" - что за объект, что значит "находится"? Вы что, делаете распознавание объекта?
    Какое отношение имеет "координаты меняются незначительно" и то, что вы уже готовые данные получили на вход? Как только вы их "получили" уже никаких координат нет, а есть просто полученные данные, с которыми что-то там надо сделать. Что именно?
    "может быть есть какой то существующий вариант в библиотеках, который сможет это выровнять, или свести к нет." - что выровнять? Куда свести? С какой точностью свести? Что считать "подергиванием", а что сменой положения? Вам надо координаты объекта определять или весь объект (его изображение??) стабилизировать? Как можно решать эту задачу не сформулировав требования?
    Что значит "из за неточности 5-10 фреймов"?? Фрейм - это "рамка" или "кадр". А неточность - это (могу только предположить) некое различие в координатах, которое может быть измерено в километрах, микронах, пикселах, но точно не во фреймах и не в секундах.

    Пока, по вашему вопросу можно дать только одну рекомендацию - ну усредняйте ваши координаты за ваши 5-10 фреймов. Делов то - найти три скользящие (или даже не скользящие) средние по последовательности кортежей из трех элементов.

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

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Показать плашку с текстом:
    Отключите блокировщик рекламы чтобы продолжить пользоваться сайтом.
    Инфа сотка. Меня выкидывало с сайта безвозвратно.
    Ответ написан
    Комментировать
  • Можно использовать sqlite3 в асинхронном боте?

    @DollaR84
    Если ваша бд сильно нагружена, то действительно лучше использовать специализированные продукты типа postgres. Но в ином случае многие sqlite сильно недооценивают.
    Эта база может и простая, но имеет много возможностей, о которых большинство и не задумываются.
    Во первых, есть несколько вариантов указания работы с многопоточностью, указывается при сборке библиотеки, по умолчанию sqlite3.dll собрана с многопоточным доступом.
    https://www.sqlite.org/threadsafe.html
    Во вторых, у sqlite есть набор интересных ключей при открытии прагмы. Советую использовать, как минимум, journal_mode='wal'. Это освободит запросы чтения от ожидания завершения запросов записи.
    Также есть прагма threads, указывающая сколько лимитов потоков можно создавать, по умолчанию стоит 0, можно увеличить данное число.
    Со всеми прагмами можно ознакомиться тут: https://www.sqlite.org/pragma.html
    В третьих, если вы работаете с базой не напрямую запросами, а через какую-то ORM, то у них тоже могут быть дополнительные опции для потокобезопасности. Например, в простой ORM peewee при открытии базы, наряду с прагмами можно также указать флаг: thread_safe=True. Не разбирал подробности как он работает, но думаю он использует в своей работе ту же прагму threads.
    Поэтому все зависит от нагрузки и роли базы в ваших ботах. В некоторых задачах sqlite оправданный выбор. Надо подбирать инструмент под задачу.
    Ответ написан
  • Как из библиотеки JQuery перисать на читый Js?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как решить вечную проблему со сбором данных?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Гугл формы. В визуальном редакторе создается опрос - выбираются типы возможных ответов (вплоть до регулярок). Можно запрашивать некоторые данные в зависимости от предыдущих ответов. В итоге все это добро автоматически собирается в гугл spreadsheet.

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

    Если в компании есть gsuite - то так еще проще, но он не обязателен.
    Ответ написан
    Комментировать
  • Соглашаться ли получать меньше на испытательном сроке?

    petermzg
    @petermzg
    Самый лучший программист
    Соглашаясь на такое вы идете на противозаконные действия:
    "Если работодатель заключит с сотрудником соглашение о том, что оклад (зарплата) на период испытательного срока будет меньше, чем после его окончания, то это условие не может применяться в силу ч. 2 ст. 9 ТК РФ (поскольку ухудшает положение работника в сравнении с нормами законодательства)."
    Ответ написан
    5 комментариев
  • Переработка в маленьких IT-компаниях?

    glaphire
    @glaphire
    PHP developer
    У меня в самой первой компании, где были мелкие дешевые заказы и аутсорс, было четкое разделение на работу бекендера и фронтендера (разве что js иногда приходилось дописывать или править), а в крупной компании на энтерпрайз проекте приходилось фуллстечить, поэтому закономерность весьма условная. Лучше при поиске работы четко проговорить, что хотите работать только с бекендом, потому что много где пытаются добавить работу с джс фреймворком и версткой, чтобы сэкономить на поиске отдельных фронтендеров
    Ответ написан
    Комментировать
  • Переработка в маленьких IT-компаниях?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    Да конечно, в маленьких компаниях, где один человек на фронт, один на бэк и один студент верстальщик, постоянные перекосы производительности, в мелкой конторке руководитель будет один для всех, который и будет тебя постоянно просить поработать за соседа. Петя не успевает с фронтом, давайте все поможем Пете, а через неделю Вася не успевает с бэком, давайте все поможем Васе.
    Чем больше штат, тем меньше переработок чужих, если 20 человек в трёх отделах занимаются бэком а ещё 20 фронтом, крайне маловероятно что попросят делать чужую работу чужого отдела, у тебя своих тасков на месяц вперёд запланировано, никто не даст тебе бросить своё и заниматься чем-то другим.
    Ответ написан
    Комментировать
  • Получить контракт на этапе получения оффера. Нормально ли?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Ничто не заставляет Вас подписывать документы в момент их предъявления. Вы можете их взять прочитать, подумать, проконсультироваться с юристом и тд. Если работодатель принуждает к подписанию "не глядя", это плохой признак.
    Ответ написан
    Комментировать
  • Как понять достоин ли ты более лучшей зар.платы или ещё не дорос и не надо высовываться даже?

    opium
    @opium
    Просто люблю качественно работать
    Чувак о каком достоин может быть речь если тебе не хватает грубо говоря на Доширак чтобы не умереть с голоду?
    Тебе повышения зп процентов на 50 чтобы не умереть вот и все, о каком достоинстве может идти речь?
    Или может ты их какого то знатного рода, тогда зачем ты работаешь за еду.
    Я понимаю когда там программист получает 200к и задаётся вопросом может я достоин получать 600к

    В таком случае речь идёт о выживании, либо поднять зп на текущем месте либо устроиться на новую работу и тут думать даже не о чем
    Ответ написан
    21 комментарий
  • Почему не меняется адрес с прокси?

    @Alexa2007
    url = f"https://yandex.ru/search/?lr=39&text=купить самокат" - Ростов
    url = f"https://yandex.ru/search/?lr=22&text=купить самокат" - Калининград
    Ответ написан
    Комментировать
  • Можно ли сделать модели относительно зависимыми друг от друга с обеих сторон?

    @javedimka
    Хочу сока
    Конечно можно сделать, переопредели метод save() на модели Question таким образом, чтобы перед сохранением он получал связанный объект Test и инкрементировал поле questions_amount .

    А лучше забудь эту идею и сделай по-нормальному, через аггрегации:
    https://docs.djangoproject.com/en/dev/topics/db/ag...
    Ответ написан
    1 комментарий
  • Как это понять?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    1)let arr = str.split(' ');
    Возьмет строку, в данном случае 'aa bb cc aa bb aa', разобьет на части используя пробел как разделитель. В результате получим:
    let arr = ['aa', 'bb', 'cc', ' aa', 'bb', 'aa']
    2) Следующий кусок кода просто произведет подсчет одинаковых частей.
    return arr.reduce((acc, rec, index) => {
        return (typeof acc[rec] !== 'undefined')
          ? { ...acc, [rec]: acc[rec] + 1 }
          : { ...acc, [rec]: 1 }
      }, {});
    Рассмотрим его подробнее. Начнем с аргументов:
    acc – последний результат вызова функции, он же «промежуточный результат».
    rec – текущий элемент массива, элементы перебираются по очереди слева-направо.
    index – номер текущего элемента.

    Что собственно происходит:
    -typeof acc[rec] !== 'undefined' проверит есть ли в объекте 'acc' ключ 'rec'.
    - и если мы уже встречали такой( например когда "aa", но уже во второй раз ), тогда изменить значение этого ключа прибавив 1.{ ...acc, [rec]: acc[rec] + 1 }
    - если же такого ключа еще не было, то создадим его со значением 1, ибо он в первый раз попался{ ...acc, [rec]: 1 }
    Ответ написан
    6 комментариев