Задать вопрос
  • Насколько сложно реализовать теллеграм чат бота с подвязанной платежкой?

    kawabanga
    @kawabanga
    как всегда, делите на этапы.
    платежка, это только часть всего алгоритма.

    1) вы должны идентифицировать своего клиента. это на уровне сайта и бота.
    2)а - клиент должен выбрать продукт.
    2) вы должны дать возможность выбрать клиенту способ оплаты. даже линком на сайт и потом выбор оплаты.
    3) вы должны выдать клиенту ордер на оплату.
    4) вы должны подтвердить оплату.

    выглядит легко, за 1-4 дня легко собрать, исходя из ваших вводных. И потом дорабатывать под нужды. А там еще с несколькоих десятков вводных по 1 часу.

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

    kawabanga
    @kawabanga
    Вам нужно олимпиадное мышление. Язык по большему счету не так важен, можно в течении пары часов олимпиады выучить его. Выучите основные инструкции по языкам (сортировки, перебор, условия, в общем базу по языку ), научитесь решать сложные задачи (тег декомпозиция). Про мышление - я имею ввиду - как решить задачу с минимальными требованиями. Это касается и математики и программирования.

    успею ли выйти на призовые места и т.д. и т.п.?

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

    Совет -
    загрузить базу в чатгпт заданий олимпиад по алгоритмам и программированию за последние 2-3 года, и пройтись по каждому,

    Chatgpt сразу ответил, я в ~2006 сталкивался с 1/3 задач по подготовке и самих задачах. Просто берете каждую задачу и просите разъяснить, как ее решать, попутно задавай вопросы. тут все просто.

    Вот тебе список из 30 топовых заданий по олимпиадному программированию. Взял из личного опыта, олимпиадных архивов, классики и того, что реально прокачивает мозги. Сначала идут задачи-«must have», потом — для бодрого челленджа и разогрева с разными алгоритмами и структурами данных. Некоторые названия формулирую вольготно, чтобы не звучало как пересказ boring списка с acmp/Codeforces. Если нужна подробная формулировка какой-то — скажи, расшифрую любую.



    Топ 30 заданий по олимпиадному программированию

    1. Двоичный поиск на массиве
    Классика: найти элемент в отсортированном массиве, или позицию вставки.

    2. Сортировка слиянием/быстрая сортировка
    Написать одну из них с нуля, желательно обе.

    3. Поиск суммы в подмассиве (префиксные суммы)
    Для каждого запроса на диапазон — выдать сумму элементов.

    4. Кратчайший путь в графе (алгоритм Дейкстры)
    Реализация для графа с неотрицательными рёбрами.

    5. Обход графа (BFS/DFS)
    Вычислить компоненты связности, циклы, топологическую сортировку.

    6. Задача о рюкзаке (динамическое программирование)
    Классический 0/1 knapsack.

    7. Динамика по строке: наибольшая общая подпоследовательность (LCS)
    Две строки — ищем длину максимальной общей подпоследовательности.

    8. Поиск подстроки (алгоритм Кнута-Морриса-Пратта)
    Найти все вхождения подстроки в строку.

    9. Наибольшая возрастающая подпоследовательность (LIS)
    DP + бинарный поиск.

    10. Сортировка топологическая (граф без циклов)
    Выстроить вершины в порядке зависимостей.

    11. Система непересекающихся множеств (DSU/Union-Find)
    Следить за компонентами графа при объединениях.

    12. Поиск в ширину в лабиринте
    Минимальное число шагов от точки А до Б по клеткам.

    13. Задача о скобках (балансировка)
    Проверить, правильная ли последовательность скобок.

    14. Максимальное дерево отрезков (Segment Tree)
    Ответ на запросы суммы/максимума на отрезке.

    15. Обратный путь Фибоначчи (DP)
    Сколько способов дойти до клетки N, двигаясь по правилам.

    16. Решето Эратосфена
    Все простые числа до N.

    17. Задача о друзьях (DFS на компоненту связности)
    Сколько компаний друзей по парным знакомствам.

    18. Самый длинный палиндром в строке (Manacher’s algorithm)
    Найти максимальный палиндром.

    19. Быстрая экспонентация (быстрое возведение в степень)
    Вычислить A^B по модулю M.

    20. Минимальный остов (алгоритм Крускала или Прима)
    Найти минимальный скелет графа.

    21. Самая глубокая вложенность (скобки, рекурсивные структуры)
    Найти максимальную глубину вложенности.

    22. Два указателя (длина минимального подмассива с заданной суммой)
    Метод двух указателей на массиве.

    23. Самый длинный периодический префикс (Z-функция)
    Z-функция для поиска периодов в строке.

    24. Комбинаторика: количество способов разложить N в сумму K слагаемых
    DP, разбиения чисел.

    25. Алгоритм Флойда–Уоршелла (все пары кратчайших путей)
    Матрица расстояний в графе.

    26. Жадный алгоритм сдачи (размен монет)
    Минимальное количество монет.

    27. Обход дерева: прямой/обратный/симметричный
    DFS в дереве.

    28. Обработка запросов: RMQ с построением Sparse Table
    Быстрые запросы минимума на отрезке.

    29. Поиск циклов (DFS, топологическая сортировка)
    Проверка на циклы в графе.

    30. Модульное деление, обратный элемент по модулю (Ферма/Евклид)
    Найти обратный элемент по модулю.



    Бонус:
    • «Число инверсий в массиве» (сортировка слиянием+подсчёт)
    • «Максимальная площадь прямоугольника в гистограмме»
    • «Поиск эйлерова/гамильтонова пути»
    • «Минимальное окно, содержащее все символы другой строки»



    Если нужно подробное описание любой задачи или решение на конкретном языке (PHP, JS, MySQL, ну, вдруг ты решил всех удивить олимпиадой на Yii2 — ну что ж…), пиши номер задачи или суть, разжую по косточкам, не пожалею слов и шуток.

    Хочешь что-то для командных олимпиад или больше математики? Тоже подкину!

    Дальше — твой ход. Что-то из этого зацепило?
    Ответ написан
  • Лучше ли будет macbook air m4, чем honor 14 art?

    kawabanga
    @kawabanga
    1. Если читать "отзывы", то у них там вообще 1% за 1 час уходит в офисных задачах. Удивлён, что не пишут "когда стоит без дела - самозаряжается". Какой будет разряд в час при нагрузке: браузер + текстовый редактор + веб-сервер? Какой расход будет в photoshop в час?

    Минимальный. Не, разумеется он будет садиться быстрее, чем если вы с таблицами работать будете. Но у жены моей air m1, вообще спокойно заряд держит. При этом мы разве что зарядку на baseus GaN заменили 65W (размер тот же, но 3 порта вообще решают).

    2. Что с нагревом? Допустим в браузере он будет холодным (холодным же, да?). Но если серьёзно, то видел несколько отзывов, где писали, что даже в браузере перегрев может быть. Правда? Если работаю в photoshop с макетом сайта - станет некомфортно горячо на коленях?

    Холодный он почти всегда, у моего первого air m1 - я даже не помню когда он вентиляторы включает.
    Жена ни разу не пожаловалась что ее эир тротлил. Причем, 4к монитор почти всегда подключен был.

    3. По поводу мощности. Вроде как photoshop, говорят, оптимизирован и на M процессорах он работает превосходно, поэтому хочу уточнить: те, кто работал за windows десктопом и на Apple M - вы разницу ощущали?

    смотря какой PC, если брать гиганты на I7 128гб и топ видюхами, то может быть где-то будет хуже, но если вы выберите к примеру 14" дюймов 1pro, и как вы сказали выше - для вас магия 120грц, по сути в обычном использовании разницу не увидите, ну кроме игр.

    Ну и извечный вопрос: 16гб в маке хватит для моих задач?

    Для фотошопа, и например обработке 4к видео ( вот prores и raw я как то не застал уже, ушел из видеомонтажа) - обрабатывает на ура. причем у вас может еще с десяток приложений в фоне висеть, в том числе сложных.

    Обратите внимание на внешний портативный монитор или ipad хотя бы, для лайтрума пригодится и других приложений. я поэтому сменил 13тый размер на 16, и мне ок.
    Ответ написан
  • С чего начать в направлении "Сборка дронов"?

    kawabanga
    @kawabanga
    Дрон какой? коптеры или самолеты?
    Начать лучше с готовых решений.

    Но учтите, что вход сам по себе дороже обычного DJI мавика на авито. А технологий - минимум. Я свой первый еще в году 2008 собирал на алюминиевых уголках на дешевом полетном контроллере и самых дешевых комплектующих.
    Позже дособирался до 700мм гексы, продал и ушел в DJI.

    Форум https://rcopen.com/ там помогут и подскажут.

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

    После - освойте технику, принципы полета, настройки. Как работает коптер. Какие винты нужны на какую раму, какой вес и тд. Параллельно учитесь хорошей пайке.

    Следующим этапом - научитесь считывать с приемника от аппаратуры - показатели. И дальше все встанет на места.

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

    https://www.youtube.com/watch?v=Iz1v_oNRQIE&ab_cha...
    ну вот 6 летней давности парень собирает.
    STM32 + Baseflight
    Ответ написан
    Комментировать
  • Какие VPN ставить если у провайдера стоит ЕШДИ?

    kawabanga
    @kawabanga
    чистые сервера с разных локаций, от ситуации - подмешивать смену серверов (есть приложения, которые умееют переключаться) .

    По протоколам - vless / trojan. на 443 порт, если сервер ваш личный - минимальная вероятность того что найдут.
    Ответ написан
    Комментировать
  • Может ли стоимость продления домена увеличиться в цене если сайт станет сверх популярным?

    kawabanga
    @kawabanga
    Может.
    У меня домен 3 буквы .pro, регистратор попросил за продление 430 долларов. Хотя покупал я его за 30 баксов.
    И ладно, если бы только этот регистратор так поступил, godaddy - 500+ баксов, regru - 95к рублей.
    Ответ написан
    7 комментариев
  • Как управлять положением окон в mac os с клавиатуры?

    kawabanga
    @kawabanga
    https://apps.apple.com/de/app/magnet/id441258766?mt=12
    Magnet
    пользуюсь давно. без проблем.
    Ответ написан
    Комментировать
  • Что делает Cron для Yii2?

    kawabanga
    @kawabanga
    смотрите console/croncontroller (actionIndex).

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

    kawabanga
    @kawabanga
    В правилах проблема скорее всего.
    Скорее всего у вас срабатывает правило - https://[orgsite.ru]/show/[статья, материал] и вы получаете 404
    вместо https://[orgsite.ru]/show.

    Я бы подключил дебаг панель временно в настройках, получил 404 и посмотрел бы, откуда проблема.
    Ответ написан
    6 комментариев
  • Можно ли сделать аутентификацию приложения на сессиях?

    kawabanga
    @kawabanga
    Или все же надо переделывать аутентификацию на сервере на JWT?

    Да
    Ответ написан
  • Каким образом оцифрововать видеокассеты при помощи мощного компа?

    kawabanga
    @kawabanga
    Решение для 576p.
    Я сталкивался в прошлом (~2006) с подобной задачей, но не в коммерческом русле (для себя).

    Подключаете к камере через тульпаны к -
    sony DCR-SR100E ( у меня еще живая кстати валяется камера. https://www.ebay.com/p/99977765 ) или подобной. компьютер вам даже не особо и нужен, можно в современные форматы форматы моментально через ffmpeg перекинуть.
    Ответ написан
    Комментировать
  • Как выполнить файл из консоли laravel?

    kawabanga
    @kawabanga
    Чекпоинты на ум приходят сразу (проверяйте на локальном сервере тоже) -

    1) проверить, что команда console отрабатывается из папки лары
    2) проверить, что команда console отрабатывается с абсолютными путями на проде
    3) если не отрабатывается - сбросьте кэши, как минимум, и разбирайтесь почему
    4) проверьте версию PHP и самое смешное, проверьте shortags. Я уже лет 10 как отказался от shorTags.
    Ответ написан
    Комментировать
  • Можно ли в Macos разделить диск как в Windows?

    kawabanga
    @kawabanga
    или не очень дорогих

    Мое имя Джек Воробей. Думайте.

    WinCP (два окна с SSH, FTP)

    Я подружился с этим приложением. Даже переезд на новый мак дался легко. Но есть еще одно, не помню как называется, мой друг devops использует его.
    https://github.com/electerm/electerm

    Как быть на macos?

    Ни разу не столкнулся с подобной проблемой за 14 лет работы на разных маках.
    Самое главное - храните данные и купите подписку на 2тб для файлов важных.

    p.s. - аналог TC я бы тоже хотел, но типа filezilla на маке есть, но не подружился в итоге.

    p.s. Из удобного , советую поставить -
    magnet, удобное приложение для работы с окнами. можно сразу два проводника раскидать по половинам экрана.
    Ответ написан
    2 комментария
  • Можно ли видео на сайте без сохранение на диск показывать в меньшем разрешении?

    kawabanga
    @kawabanga
    На хостинге есть видео. Размер видео 100 Мб.

    Установите ffmpeg и просто базовым запросом перекодируйте в тот же размер что у вас есть. Удивитесь сокращению размера раза в два.

    Видео запускается через тег video

    Используйте библиотеки, типа videojs. они действительно имеют больше возможностей.

    На смартфонах такое разрешение не нужно.

    Настройки пользователя или конфиги пользователя в вашей системе.

    К примеру, на десктопах показываем исходник = 1080, на планшетах = 720, на смартфонах = 560.

    Изначально нужно закодировать. ffmpeg перегоняет очень быстро файлы в разные форматы на m1 макбуках (4x от изначального 1080 файла), думаю современные процессоры умеют так же.
    В любом случае придется хранить все 3 версии, но тут нюанс -
    576 - может весить 5-10мб
    1080 - 20-30 мб
    720 - около 15.

    В итоге все 3 версии готовые - меньше вашего изначального файла. Продумайте им названия и внедрите в систему.
    Ответ написан
    Комментировать
  • Существует ли бесплатная Корп. почта?

    kawabanga
    @kawabanga
    Ответ написан
    Комментировать
  • Как вывести крайние диалоги пользователей?

    kawabanga
    @kawabanga
    В общем ключе вот так -
    SELECT * FROM
    (SELECT max(id) as maxId, from_id 
    GROUP BY from_id
    WHERE from_id in (1,2,3)
    ORDER BY maxId desc
    ) as t1
    INNER JOIN messages m on t1.maxId = m.id


    ЧатГПТ Laravel далее код сгенерировал, выглядит корректно. Заметьте, что первую часть запроса в любом случае выполнять через Query Builder, но можно вывести ее в получение конкретных id последних сообщений. И дальше двумя, можно отдельными запросами уже через модель - получить данные по сообщениям и пользователям. Они будут работать по первичным ключам и срабатывать моментально.
    А можно просто добавить жадную загрузку по связи Users на втором запросе, что в целом облегчит вам задачу и не нужно будет связывать далее сообщение и его автора.
    // Подзапрос для получения maxId и from_id
    $subQuery = (new Query())
        ->select(['maxId' => 'MAX(id)', 'from_id'])
        ->from('messages')
        ->where(['from_id' => [1, 2, 3]])
        ->groupBy('from_id')
        ->orderBy(['maxId' => SORT_DESC]);
    
    // Основной запрос с INNER JOIN
    $query = (new Query())
        ->select('*')
        ->from(['t1' => $subQuery])
        ->innerJoin('messages m', 't1.maxId = m.id');
    
    // Выполнение запроса
    $results = $query->all();
    Ответ написан
    Комментировать
  • Как грамотно деплоить тг бота? Как сделать так, что даже когда он на доработке, он не молчал а присылал отбивку а ля "сервисное обслуживание"?

    kawabanga
    @kawabanga
    На полугодовом опыте, тезисы:
    1) Иметь тест бота, если вы положили что-то, чтобы не фиксировалось на проде.
    2) Иметь лог сообщений, так как 403 ошибка попадается стабильно. Ее нужно обрабатывать. В крайнем случае - ваша рассылка должна заново отправляться.
    3) Проверять досконально кнопки, я к примеру как лох отправил 100+ кнопок клиенту, что сломало его клиент.
    4) Обрабатывать ошибки. Еще раз говорю. и это важно.
    5) он не молчал а присылал отбивку а ля "сервисное обслуживание" -- обрабатывать ошибки отличные от 403.
    У вас есть точки -
    webhook от бота (про nginx выше написали)
    ваша обработка (если php то try catch)
    сообщение клиенту (try catch)
    Ответ написан
    Комментировать
  • Как закрыть страницу благодарности от прямых заходов?

    kawabanga
    @kawabanga
    1) Получать с сервера ссылку, а не подставляя ее в js.
    2) Записывать куда то определенный hash на открытие страницы
    https://мойсайт.ru/страница-благодарности.php?hash=123 и потом гасить его, чтобы человек не мог повторно открыть страницу.

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

    kawabanga
    @kawabanga
    // Создаем объект DateTime с текущей датой
    $date = new DateTime();
    
    // Вычитаем 100 дней
    $date->modify('-100 days');
    
    // Выводим результат в нужном формате
    echo  $date->format('N'); // 1 (понедельник) до 7 (воскресенье)


    Ну а дальше подставляете свой массив.
    Ответ написан
    8 комментариев
  • Какой тайм-трекер выбрать для фрилансера?

    kawabanga
    @kawabanga
    Apploye - 5 баксов вроде за аккаунт, и чуть больше если надо фиксировать активность (и скриншоты, аля upwork)
    Trackingtime - для личного контроля времени.

    В целом, полезная вещь для анализа своего времени или сотрудника, к примеру по задачам получать срез. Но крайне неэффективная штука, если говорить, что работник напечатал 10 символов за час.
    Для фрилансера - самое адекватное решение описания стоимости работы.

    Руководитель поставил задачу подобрать тайм-трекер

    Уточните у руководителя, какую цель он преследует? Если вы в найме, то кол-во часов никак не влияет.
    И я даже больше скажу, условные 4 часа фрилансера -> часто больше, чем полноценный рабочий день сотрудника.
    Ответ написан