• Какой язык программирования учить для создания самых сложных и многофункциональных сайтов?

    Lakika
    @Lakika
    Sicario
    php а далее уже на выбор фреймворки, типа yii, larevel
    Ответ написан
    Комментировать
  • NGINX + LUA = Benchmark. У кого есть опыт?

    yellow79
    @yellow79
    Senior Software Engineer
    Вы тестируете не производительность кода, а производительность сети от вашего компа до сервера в Германии. Если хотите реальные тесты производительности, то нужно убирать сеть. Описаный вами стек, без учёта сети, должен быть чуть хуже, чем производительность Nginx, и скорее всего это будут десятки, а то и сотни тысяч запросов в секунду
    Ответ написан
    1 комментарий
  • NGINX + LUA = Benchmark. У кого есть опыт?

    @rPman
    Увеличивай количество потоков тестирования, очевидно же что основные тормоза у тебя из-за сетевой латенси
    Локальный nginx на совсем убитой машине дает гигабайты на hello world статике и тысячи запросов в секунду.

    В доказательство, попробуй запустить тесты локально на сервере.
    Ответ написан
    2 комментария
  • Как избавится от двойной отправки формы, методом POST?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    1. отправлять форму через XHR / fetch (ajax post).
    2. редирект после отправки формы - типовое и надёжное решение
    3. можно сохранять в сессию последнюю отправленную форму. и если видим дубликат данных то игнорировать этот post-запрос.

    Если редирект "не помогает" то прошу в студию минимальный пример кода где у вас форма + страница которая после получения формы делает редирект, а мы проверим правда ли "не помогает".
    Ответ написан
    3 комментария
  • Как разбить строки на массив?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    https://www.php.net/split

    Warning
    This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.
    Alternatives to this function include:
    preg_split()
    explode()
    str_split()


    оставляете точно такой же код, но вместо split() используйте explode()
    Ответ написан
    Комментировать
  • Linux, как основная ОС?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Нет. Ставьте линукс в виртуалки или используйте wsl
    Ответ написан
    Комментировать
  • Что не так в коде?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    У вас просто опечатка в .cachce. Если мы говорим об английском, то должно быть .cache.
    Ответ написан
    Комментировать
  • Как передать данные сообщения в шаблон письма Lumen/laravel?

    glaphire
    @glaphire
    PHP developer
    Традиции есть традиции - ссылка на доку первым делом)
    https://laravel.com/docs/8.x/mail#via-the-with-method
    Там даже два способа - один через with, второй через свойства класса.
    Ответ написан
  • Как правильно обнавить данные laravel?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    1) update сам вызывает save (save надо убрать)
    2) Можно использовать магию и итоговый вариант будет таким

    public function update(Request $request, Crud $crud){
            $crud->update([
                'name' => $request->get('name'),
                'email' => $request->get('email')
            ]);
            return redirect('/')->with('update', 'Вы успешно Изменили Данные');
        }


    Важный момент:
    - переменная $crud должна быть названа как в роуте
    - использовать валидацию
    Ответ написан
    Комментировать
  • Есть ли какой-то смысл делать сайт на symfony вмето laravel, с пиковой посещаемостью 10 000?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Нет.
    Ради странных фантазий о том что код, написанный Симфони тем же самым программистом будет работать в 10 раз быстрее чем код под Ларавель, менять точно не стоит.

    Ради будущего расширения проекта, если писать с соблюдением рекомендованных практик - вполне стоит, средний проект на Симфони обычно более расширяемый и поддерживаемый, чем типичное фигак-фигак и в продакшен на Ларе

    А вообще забыл самое главное сказать - фреймворк сам по себе составляет небольшую часть проекта. Вся логика все равно лежит в модели. И если писать с соблюдением минимального набора хороших практик, то сменить феймворк будет в принципе подъемной задачей.
    Ответ написан
    1 комментарий
  • Есть ли какой-то смысл делать сайт на symfony вмето laravel, с пиковой посещаемостью 10 000?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    У Laravel огромнейшее сообщество и опытные лидеры. Шанс того что ты напишешь лучше весьма низок. Если тебе что-то не понравится можно отключить и сделать лучше. Но имхо кроме лишних часов разработки ничего из этого не выйдет.

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

    glaphire
    @glaphire
    PHP developer
    Нет. Фреймворк тут играет последнюю роль. 10000 человек в день это немного, меньше одного запроса в секунду в среднем, надо смотреть на нагрузку в пике. В любом случае надо анализировать слабые места - запросы к базе, количество веб серверов для обработки запросов, возможность кеширования и асинхронной обработки...
    UPD. У Вас в вопросе написано и пиковая нагрузка 10000, и 10000 за день, что в итоге?))
    Все равно результат нужно сводить к предварительному профилированию и только потом к тюнингу серверов или рефакторингу
    Ответ написан
    5 комментариев
  • Какими средствами можно осуществить прием звонков в самописной CRM?

    NeiroNx
    @NeiroNx
    Программист
    взять что-то типа этого: https://habr.com/ru/post/144293/ статься уже пылью покрылась: 8 лет
    Ответ написан
    Комментировать
  • Какими средствами можно осуществить прием звонков в самописной CRM?

    Sanes
    @Sanes
    WebRTC + программист.
    Ответ написан
    Комментировать
  • Как решить эту задачу(ЕГЭ информатика 2021)?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Тут задачки постить запрещено, но какой-то код вы предложили, хотя и неправильный, поэтому заслужили подсказку. Вам бы я осоветовал не код сперва писать, а порассуждать о том как собираетесь решать задачу. Придумайте алгоритм сначала на русском языке в свободной форме. У вас нет никакого опыта, поэтому язык программирования вас слишком сильно отвлекает от сути задачи.

    Есть такая классическая задача "упаковка рюкзака". Там даны неделимые предметы и их массы. У рюкзака есть максимально допустимая масса. Все предметы в рюкзак не влезут, но нужно нужно пдобрать такой набор, чтобы нагрузить рбюкзак максимально. Эта задача вычислительно сложная при большом числе предметов. Она решается полным перебором.

    Ваша же задача гораздо проще. Вам нужно положить в такой рюкзак как можно больше предметов из имеющихся, чтобы не превысить максмальную массу (в вашем слуае объём бэкап-диска).
    Вот у вас есть большой набор разных гирек, и нужно максимальное число гирек разместить на чаше весов, чтобы не превысить какой-то вес. Как вы будете выбирать гирьки?

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

    Давайте я вам ещё рефакторинг вашего кода сделаю. Это не сделает его правильным, но он станет лучше.
    with open("zadanie26_var_1.txt") as f:  # Так открытый файл будет закрыт после считывания
        # Так вы считаете первые два числа в отдельные переменные:
        total_volume, users_count = map(int, f.readline().strip().split())
        # А так считаете остальные строки в список и нечаянные пустые строки вас не смутят:
        user_sizes = [int(line.strip()) for line in f if line]  
    
    # Хорошо бы вынести логику решения в отдельную функцию:
    def solve(s, n, lst):
        # Вот так можно сделать проверки корректности (ну чисто для себя) входных данных:
        assert s <= 10000, 'Invalid total volume'
        assert len(lst) == n, 'Users count is not valid.'
        assert n <= 2000, 'Wrong users count.'
        assert all(0 < x <= 100 for x in lst), 'Invalid user size.'
    
        # Вот здесь вот вы сделаете нужные вычисления ;)
        backup_users_count = ...
        max_backup_file_size = ...
    
        return backup_users_count, max_backup_file_size
    
    # Ну а вызвать функцию и напечатать ее результат вы тоже сумеете, правда?
    Ответ написан
    4 комментария
  • Как обезопасносить себя на работе при использовании WiFi?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Защититься так, чтобы быть уверенным, что не смогут прочитать - точно нет!
    Даже при том, что телефон шифрует "трафик" - "утечка" данных во внутреннюю сеть, всё же, возможна.

    Необходимо использовать менее заинтересованный канал в ваших данных: мобильный интернет или иной Wi-Fi, не подключенный никак к рабочей сети.
    Ответ написан
    2 комментария
  • Как обезопасносить себя на работе при использовании WiFi?

    @antonwx
    В большинстве случаев достаточно убедиться в использовании протокола https. Для успокоения души можно дополнительно пользоваться vpn, например от Cloudflare
    Ответ написан
    Комментировать
  • Делать 1 большую таблицу или разбивать на части?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Чтобы не громоздить тонны колонок и делать по канонам 3 нормальной формы — разделяют сущности, атрибуты и их значения отдельно.

    Свойства обычно хранят отдельно( у них могут быть свои поля)
    5a68a3b0baf0c785050166.png
    а значения к ним тоже отдельно (EAV)
    product_id, feature_id, value (где featured_id — id свойства из таблички выше)

    пример с моего интернет-магазина — 1 товар, много характеристик
    5a68a6c2b19f2067082314.png

    Пример запроса:
    SELECT   p.id, p.url, p.name
    FROM e_products p		
    WHERE 1 
    AND p.id in (SELECT product_id FROM e_options WHERE feature_id=8 AND value in('Бежевый','Белый') )
    AND p.id in (SELECT product_id FROM e_options WHERE feature_id=1 AND value in('Лето 2011') )
    время выполнения запроса — 0.019 s для 10 тыс товаров, 100тыс значений свойств и десятка свойств

    В запросе два параметра фильтра (1 значение коллекции и 2 значений цвета, выше можете увидеть в табличке)
    как понимаете — строку с нужным свойством подставляете в зависимости от GET запроса...

    * Можно упростить — вместо feature_id хранить сразу название параметра, но лучше сразу разделите... чтобы можно было параметру поставить напрмиер поле включать или нет его в фильтр и задать порядок, или нужно будет выводить поля в саму форму фильтра (гонять большую таблицу — так себе решение)
    Ответ написан
    3 комментария
  • Сможет ли Django полностью заменить PHP?

    Tomio
    @Tomio
    backend developer (python, php)
    Django никогда не заменит PHP или какой-либо из его фреймворков или CMS, потому что это лишь инструмент, с помощью которого достигаются поставленные задачи. Это всё равно, что написать, заменит ли Symfony или Bitrix когда-нибудь Python, а то куда не посмотри, на серьезные проекты нужен симфони, а в сфере e-commerce подавляющее большинство сайтов сейчас ни битриксе.
    Всё взаимозаменяемо. Вы, как разработчик, должны понимать, какой инструмент сможет решить вашу задачу лучше и быстрее, и в каком инструменте вы лучше разбираетесь. Не тянитесь за трендами, прокачивайте навыки в том, что вам интересно, и где вы чувствуете себя как рыба в воде.
    Ответ написан
    Комментировать