Профиль пользователя заблокирован сроком с 17 мая 2024 г. по 17 мая 2025 г. по причине: нарушение правил сайта
  • Топ пользователей, и вывод текущего места в профиле, как правильно реализовать в MYSQL + PHP?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Решение на чистом SQL - пронумеровать возвращённые строки через cross join
    SELECT 
    (@row_number:=@row_number + 1) AS pos, 
    `login`, `rating`, `team`
    FROM `users`, (SELECT @row_number:=0) AS t 
    ORDER BY  `rating` DESC 
    LIMIT  100


    Либо вывести вести счётчик при выводе на PHP
    <table style="margin-left: auto;margin-right: auto; margin-top: 20px;">
               <tr><th style="color: black; text-align: center;">Игрок</th><th style="color: black; text-align: center;">Команда</th><th style="color: black;">ROT <i style="cursor: pointer;" title="ROT- Raiting One Tour" class="fas fa-question-circle"></i></th></tr>
               <?php 
    db();
    
    $rait = mysqli_query($db, "SELECT `login`, `rating`, `team` FROM `users` ORDER BY  `rating` DESC LIMIT  100");
    
    if(mysqli_num_rows($rait)) {
    
    $position = 0;
    while ($row = mysqli_fetch_assoc($rait))
     echo '<tr><td>'.(++$position).'. '.$row['login'].'</td><td>'.$row['team'].'</td><td>'.$row['raiting'].'</td></tr>';
    }
                ?>
               
           </table>


    Позиция в рейтинге для профиля = посчитать сколько записей с рейтингом который больше чем текущий рейтинг игрока
    SELECT (COUNT(*)+1) as rating_pos FROM users WHERE `rating` > 'рейтинг_текущего_профиля'
    Ответ написан
    5 комментариев
  • Спрятать RDP сервер... а как?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    Да, это возможно, и делается очень просто.
    Арендуете промежуточный сервер, настраиваете на нем проброс портов на сервер терминалов и все.
    В общем VDS за 200-300рублей в месяц, и три строчки в iptables для проброса портов на нем. Делается за 15минут.
    Никаких прокси, VPN, и прочего городить не нужно совсем в данной ситуации.

    Но я крайне не рекомендую арендовать сервер далеко ибо задержки приличные, работать неудобно. Арендуйте в том же регионе где сервер терминалов.
    Ответ написан
    5 комментариев
  • Спрятать RDP сервер... а как?

    @dronmaxman
    VoIP Administrator
    Что тут сложного? Достаточно 2х правил в iptables. Минус конечно есть - не будет видно IP клиента, на терминальном сервере все будут сидеть с IP VPS сервера (WAN_IP).

    RDP_IP='192.43.76.78'
    WAN_IP='54.23.45.43'
    WAN_INTERFACE=ens33
    SRC_PORT_FORWARD=3389
    DST_PORT_FORWARD=3389
    echo 1 > /proc/sys/net/ipv4/ip_forward
    sudo iptables -t nat -A PREROUTING -i $WAN_INTERFACE -p tcp  --dport $SRC_PORT_FORWARD -j DNAT --to-destination $RDP_IP
    sudo iptables -t nat -A POSTROUTING -d $RDP_IP -p tcp  --dport $DST_PORT_FORWARD -j SNAT --to-source $WAN_IP
    Ответ написан
    1 комментарий
  • Производителен ли запрос лайв поиска на AJAX + PHP + RedBeanPHP?

    @kirill-93
    У вас обычный примитивный поиск. "тяжесть" поиска зависит от размера таблицы, длины поля, индексов и мощности сервера. В целом, если значения в полях короткие, то нормально. Если у вас там тексты, то нужен полнотекстовый поиск (sphinx, elasticsearch).
    Оптимизировать можно следующее:
    1. нужно на стороне клиента тот момент, что сейчас у вас при каждом нажатии клавиши летит запрос. То есть если я наберу слово из 5 букв, то полетит 5 запросов. А нужен один. Используйте для этого тайм-аут. Гуглите js debounce.
    2. Используйте не keyup keydown, а input. Сейчас при нажатии на клавишу у вас летит 2 запроса - при нажатии и при отжатии.

    В каких случаях сервер может лечь? В случае слишком большого количества запросов к этому скрипту. Ну тут стоит отметить, что при большом количестве запросов любой сервер и любой скрипт положат рано или поздно сервер. Тут беспокоиться не о чем.
    Ответ написан
    1 комментарий
  • Какая из IDE для PHP 7 удобнее?

    miraage
    @miraage
    Старый прогер
    PhpStorm.
    Не могу пересесть на другие IDE из-за:
    - автокомплита
    - рефакторинга
    - гибкости/настроек
    - плагинов

    Если работаете по найму и не можете себе позволить лицензию - попросите компанию ее Вам купить.
    500р/месяц в первый год, -20% за второй год, -40% в последующие, если подписка всё время активна - это совсем немного.

    Просто подумайте, сколько денег тратите в месяц на ненужную фигню, типа шоколадок/чипсов/сигарет. Сразу деньги на лицензию найдутся.
    Ответ написан
    5 комментариев
  • Стоит ли лезть на фриланс?

    KlVV
    @KlVV
    битриксоид
    Верстак не джун, не путай, верстак серьезная профессия предполагающая глубокое знание предмета. И еще верстак не прог, это тоже надо знать и понимать. Дорога из верстака в бекенд трудна и извилиста, не говоря уж о дороге из верстака во интерпрайс.
    Если хочешь работать во фрилансе иди и работай. Найди эти копейки на проф аккаунт и начни к N-ному отзыву на заказ добавлять свой N+1, тем более что большая часть из них не джуны а боты. Сбивай цену по началу, работай за 100 рублей, за + в карму. Быстро разберешься что к чему и определишь свою цену.
    Ну а как с учебой совмещать сам решишь, твоя жизнь - тебе жить.
    Ответ написан
    Комментировать
  • Как сделать функционал подтверждения номера телефона?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Принимаете данные формы с телефоном, рисуете форму ввода кода для подтверждения.
    На бекенде генерите некий случайный код, связываете его с введенным номером и помечаете как непроверенный. Через СМС-гейт или сервисы оправки СМС отправляете этот код на телефон. Клиент получив код - вбивает его в форме ввода. Если код совпадает - номер телефона подтвержден.
    Ответ написан
    Комментировать
  • Старт проекта на NodeJS+MongoDB или PHP+MySQL?

    @d-sem
    Если не мучаться с нормализацией данных на входе как в реляционных базах данных, то придется мучаться с ней на выходе. Обратная сторона удобства.

    В целом, итоговая производительность будет больше зависеть больше зависит от качества конкретной реализации, нежели от конкретного стека. У каждого есть куча ньюансов, которые могут создать проблем. Из них низкая сферическая производительность PHP + MySQL на старте - далеко не самая большая проблема.

    Лучше не заниматься преждевременной оптимизацией. Сделать прототип на том стеке, что лучше известен. Уточнить требования и уже дальше решить - стоит оптимизировать или нет. А еще лучше сделать два прототипа и решить, что лучше на практическом сравнении. Практическое же сравнение делать на основании тестов из сформированных требований.
    Ответ написан
    5 комментариев
  • Как средствами PHP конвертировать XLSX большого размера в CSV?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    PHPExcel уже deprecated, есть PHPSpreadsheet, в нем есть небольшая оптимизация для больших файлов (дока).
    Недавно начали рекомендовать box/spout - там меньше функционала, но лучше справляется с большими файлами.
    Ответ написан
    1 комментарий
  • Что такое COM объект, как происходит его разработка, какие особенности реализации COM Microsoft?

    gbg
    @gbg
    Любые ответы на любые вопросы
    1) Еще одна безумная инкарнация попытки микрософта по встраиванию одной программы в другую. До этого были DDE, OLE, ActiveX и прочий зоопарк. Про это даже легенды слагают.

    Сначала были Windows API и DLL Hell. Революцией N1 было DDE - помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell. Но другая группа в Microsoft нашла в DDE фатальный недостаток - его писали не они!

    2) Долго, мучительно и с кучей копания в дебаггере. Спецификация COM - огромный многостраничный документ, которых вы боитесь.
    3) Они были популярны в 1998 году и около того времени. Тогда даже рабочий стол форточки сделали таковым объектом. За 10 лет популярность пошла на спад, так как оказалось что кроме встраивания экселя в ворд, это все нафиг никому не надо (особенно в ТАКОМ виде), а программы могут общаться между собой не при помощи монструозного бинарного интерфейса с маршалингом, и даже не при помощи километров XML в SOAP, а гораздо более легковесными посылками и обращениями к REST API. Сейчас это чудо можно встретить разве что при работе с DirectX.
    Ответ написан
    6 комментариев
  • А знает кто хорошую CRM на PHP для бизнеса (оптовая торговля)?

    Sanes
    @Sanes
    Битрикс24
    Ответ написан
    Комментировать
  • Быть разработчиком веб-сайтов невыгодно?

    AngryYumy
    @AngryYumy
    Заплати фрилансеру чеканой монетой
    Боже сижу на тостере уже 2 год, но ласт полгода не заходил , но список топ вопрос так не изменится.
    Аля хочу стать "вставь свою профу" - я чел идейный , я люблю эту профессию, но вот как-то нету миллионов которые мне тот мужик на курсах обещал. А есть только лендосы за 500, которые с правками делаются месяц(((
    И ты глянь вроде полно разрабов - а работать то некому, а почему - да все просто ибо рынок переполнен людьми с курсов которые готовы работать за 500р но ничего толком не умеют. А с чего такие выводы? Да все просто не раз уже приходят - сколько стоит Х проект ты говоришь Х₽ и Х дней, и ответ - оооо нет мне там вон Вася за сутки и 500р сделает , ну окей идите. Через две недели приходит тот же человек и говорит , ну тут Василий все сделал - но потом немного правок (правок больше чем тз сайта) , а он пропал можете доделать за 500р. Или пример вон знакомый в скилл боксе полгода учился, насколько знаю обучение там не дёшево, а итог попросил его сверстать лендос (у самого времени не было) так он дата атрибут не умеет прописывать (реальная история).
    А к чему эта простыня текста? Да к тому, что если ты реально что-то умеешь - то ты не будешь работать за 10к/2 месяца
    Ответ написан
    1 комментарий
  • Подключение сторонних разработчиков в стартап?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Как это вообще по уму делают?

    составляют контракт, дают доступ к коду, получают результат, оплачивают, закрывают доступ к коду.

    Если весь ваш стартап состоит из технологического ноу-хау, которое дает уникальное преимущество и легко копируется в новый продукт то странно что вы привлекаете фрилансеров для его разработки. Это должны быть внутренние разработчики - либо фаундеры либо команда.

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

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

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Как уже сказал BasiC2k - модульность проекта спасение в данном случае. Вообще, я большой сторонник предварительного проектирования контрактов. Это совершенно не типичный подход к разработке что сегодня, что 20 лет назад, но при заминке на старте позволяет безболезненно масштабировать команду на дистанции. В этом плане очень хорошо ложится на микросервисную архитектуру и при правильной архитектуре позволяет раздать в разработку разные части системы нескольким командам, которые даже не до конца знают что вы там строите.

    Один нюанс - нужен сильный архитектор из вашего домена)
    Ответ написан
    Комментировать
  • Подключение сторонних разработчиков в стартап?

    @juxifo
    ОЧЕНЬ люблю таких ребят :)

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

    таких вопросов уже была уйма, но специально для тебя вкратце напишу еще раз: ЛЮБАЯ ИДЕЯ НИЧЕГО НЕ СТОИТ. любой код достаточного объема, увы, имеет кучу костылей и спорных решений, поэтому легче написать с нуля свое, чем взять код из готового проекта.

    кроме того, во-первых, 90+% трат — маркетинг и продвижение, код (тем более, идея) — вторичен, во-вторых, что будем делать, когда конкуренты на коленке запилят клоны, м? любая коммерчески выгодная идея будет скопирована сотни раз, запатентовать такие вещи нельзя по большому счету.

    из вариантов — не выкладывайте разработчикам планы на развитие проекта. этого будет достаточно. то есть фичи должны быть только у тебя (в голове или на бумаге, не важно), и должны раскрываться по ходу разработки. можно подписать NDA (если в юрисдикции США) или договор о неразглашении / коммерческой тайне, но это, извини, пердеж на зажигалку.
    Ответ написан
    3 комментария
  • Как рассчитать время от даты окончания изготовления товара?

    OxCom
    @OxCom
    Если вы можете просчитать время вперед, то что мешает сделать просчет назад? Хотя бы сделать так:
    - просчитать все вперед и получить дату окончания $dEndNow, если мы стартуем сейчас $dStartNow
    - находим дельту $delta времени между $dEndNow и временем, когда необходимо закончить работу $dEndReq
    - к текущему времени $dStartNow добавляем дельту $delta и получаем время старта. Да, дельта может быть отрицательной, но это случай когда мы уже упустили момент старта, чтобы закончить вовремя.

    Используя эту дельту можно так же указать время старта каждой задачи.
    Ответ написан
    1 комментарий
  • Как правильно выносить данные аналитики в отдельное хранилище?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Ну, проблема в концептуальном не понимании что такое аналитика и Warehouse или Data Lake.
    Во-первых давайте определимся чем аналитика отличается от метрик, агрегатов и отчетов.
    • Аналитику делают люди, не регулярно, скорость для них не важна
    • Отчеты происходят автоматически на регулярной основе. Для них важна периодичность
    • Метрики нужны чтобы что-то измерять во временном ряду
    • Агрегаты - сбор данных из разных источников вне зависимости от остальных факторов


    Если мы все еще говорим про аналитику то она не должна обращаться к живым данным вообще. Ее складывают в отдельный Warehouse или Data Lake и анализируют по необходимости. Основными инструментами являются Power BI, Tableau или даже пресловутый Excel.

    Если мы говорим про репортинг то чтобы не нагружать живую систему к нему применяются те же правила что и для аналитики.

    Если мы говорим про метрики то для них отдельный сервис строится, из которого получают дашборды, API и все в таком духе
    Ответ написан
    Комментировать
  • Вычесть две даты и получить время Carbon?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    зачем через getTimestamp() вычисляете diff, когда есть методы diff() у даты?!

    и почему из диффа (разницы) вы создаете время
    допустим разница будет 10 секунд, если для 10 секнуд вы время будете создавать, тогда выдавать вам будет как 10 секунд от начала отсчета (полуночи 1 января 1970 года)

    Решения:
    Считать разницу через difference

    $date1 = Carbon::createMidnightDate(2016, 1, 5); // <-- тут любой способ создания объекта
    $date2 = Carbon::createMidnightDate(2017, 3, 15);
    
    echo $date1->diffInDays($date2);                   // 435
    echo $date1->diffInWeekdays($date2);               // 311
    echo $date1->diffInWeekendDays($date2);            // 124
    echo $date1->diffInWeeks($date2);                  // 62
    echo $date1->diffInMonths($date2);                 // 14
    echo $date1->diffInQuarters($date2);               // 4
    echo $date1->diffInYears($date2);                  // 1

    https://carbon.nesbot.com/docs/#api-difference
    Ответ написан
    Комментировать