Задать вопрос
  • Где почитать про разработку под фитнес браслеты?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Тебе нужно понимание работы BLE (Bluetooth Low Energy).
    А вообще, для твоей задачи лучше всего подойдёт библотека Gadgetbridge, там есть поддержка большого зоопарка браслетов.
    https://gadgetbridge.org/
    https://github.com/Freeyourgadget/Gadgetbridge
    P.S. Никогда не ищи в поисковиках на русском языке проблемы, связанные с программированием. Только на английском!
    Ответ написан
    Комментировать
  • Как посчитать и проверить равенство?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Возьмите функцию f(x)=(1+1/x)^(1+x)-x.

    Через матан (взять производную, убедиться, что она всегда отрицательна. Подсчитать значение f(x) при x=1) можно убедится, что у функции нет корней, кроме одного на отрезке (1, +inf), ведь она всегда убывает и для единицы она положительна.

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

    Судя по всему, корень не пи: https://www.wolframalpha.com/input/?i=%281+%2B+1%2...

    То, что он где-то там можно понять, если подсчитать функцию в точках 3.1, 3.2, 3.3 - между двумя, где функция меняет знак, и лежит корень.
    Ответ написан
    Комментировать
  • Скорость чистого перебора - как такое может быть?

    profesor08
    @profesor08
    Придется признать победу windows.

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

    @U235U235
    Если кривая задана в параметрическом виде X=X(t), Y=Y(t), то все проще. Касательная равна (dY/dt)/(dX/dt), ну а вектор нормаль -(dX/dt)/(dY/dt).
    Ответ написан
    5 комментариев
  • Как распознать текст определенного цвета?

    @U235U235
    Еще можно бинаризировать, а затем удалить слишком большие по площади элементы.
    В том же imagemagick это делается элементарно.
    Ответ написан
  • Как разложить изображение по частотным октавам и потом снова собрать?

    @U235U235
    Эта идея называется вейвлет-разложением.
    В частности, то что вы описываете, похоже на вейвлеты Хаара.
    Вейвлеты используются, например, в jpeg2000 кодеках
    Примеры редактирования картинок ("в отдельном слое можно убрать крупные морщины и прыщи, не повредив мелкую текстуру кожи") есть в Wavelet toolbox, Matlab.
    Ответ написан
    Комментировать
  • Как корректно потянуть время до принятия оффера?

    Zoominger
    @Zoominger
    System Integrator
    Лол. Был в вашей же ситуации. Тянул-тянул, в "другую известную компанию" не взяли, а в "одной известной компании" к тому времени вакансию уже закрыли. Предупредил, да.

    P. S. Правда, я тогда ещё не был таким человеком, которого "известные компании" зовут самого.
    Ответ написан
    6 комментариев
  • Как корректно потянуть время до принятия оффера?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Расставить приоритеты. Именно в данный момент(ковид, сокращения, индексация зп), я бы на вашем месте поторопился, иначе как написал Рональд Макдональд есть шанс не присесть на длинный и большой оффер, и остаться на "улице". К тому же вы ничего не теряете, если у вас оффер уже в компанию с именем и бэкграундом - это не плохо.

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

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    - как бороться?
    Ни как. Понять, простить и забить.
    Я уже подумывал о ддосе
    - DDoS(даже с благими намерениями) является преступлением - так как создается нагрузка на сеть не только мошенникам, но и третьим лицам. В таком случае наказание можете понести уже вы.
    Ответ написан
    3 комментария
  • Как "соединить" NASM и C#?

    Griboks
    @Griboks Куратор тега C#
    Вы пишите C# рантайм и другие низкие вещи на ассемблере, а затем всё остальное пишете на шарпе.
    Ответ написан
    Комментировать
  • Какую книгу по assembler посоветуете?

    frosty7777777
    @frosty7777777
    Для начала посмотри этот сайт. Там очень коротко и доходчиво изложены основные концепции.

    Затем, если тебя интересует теория и ты готов потратить время на её изучение, то самая лучшая книжка - это
    Юров В.И. - Assembler 2-е издание
    Кстати, к этой книге есть замечательный практикум:
    Юров В.И. - Assembler. Практикум.

    Если ты мечтаешь сразу начать писать программы и предпочитаешь практические навыки, то немедленно приступай к чтению
    Калашников О. А. - Ассемблер — это просто.

    Так же, как программист программисту, настоятельно рекомендую ознакомиться c двумя замечательными книгами:
    Пильщиков В.Н. - Программирование на языке ассембл...
    Марек. Р. - Ассемблер на примерах

    Если затянет и захочется стать гуру ассемблера, то, пожалуй, самые серьезные и глобальные книги, которые я могу тебе посоветовать:
    Ирвин К.Р. - Язык ассемблера для процессоров Intel
    Абель П. - Язык Ассемблера для IMP PC

    Дорогу осилит идущий. Удачи!
    Ответ написан
    2 комментария
  • Какой web framework для Go использовать?

    @JohnDoeJdh
    Можете посмотреть на BeeGo. Есть рускоязычная документация.
    Из всех существующих, пожалуй один является полноценным full stack фреймворком, который имеет ORM, Query Builder и другие полезности из коробки.
    Да, и судя по активности на github, самое активное комьюнити у него.
    Ответ написан
    3 комментария
  • Где хранить сессии? SQLite? MySQL? Memcached? Redis? FS?

    @deliro
    SQLite и ФС — абсолютно не подходят, если приложение будет масштабироваться

    Серверы БД (MySQL/PostgreSQL/etc.) — надёжный но самый медленный вариант

    In-memory БД (Redis/memcached) — отличный вариант, из всех выше, самый производительный, но можно упереться в оперативку

    Signed Cookie Session (и его частный случай — JWT) — неописанный тобой вариант, самый экономный по памяти и диску и самый производительный. Сессия хранится прямо в куке. Сами данные сериализуются, например, JSON'ом и сжимаются, например, gzip'ом (но можно и msgpack + lzma взять, как угодно). После, чтобы пользователь (или хакер) не поменял куку по своему желанию, она подписывается, например, HMAC'ом + любой криптостойкой хэш-функцией
    Из плюсов: 0 байт занятой оперативы (кроме момента выполнения запроса), 0 байт занимаемого места на диске, нет зависимостей от баз данных
    Из минусов: нет возможности "разлогинить все остальные сессии" по запросу пользователя, небольшой сетевой оверхэд, так как сессия от браузера отправляется на каждый запрос, ограничение на размер данных в сессии, потому что данных должны влезть в куку, включая подпись и разделители. Но ради эксперимента, мне удалось засунуть в такую сессию первую главу Войны и мира сжатой, прежде чем упереться в лимит.
    Ответ написан
  • Где хранить сессии? SQLite? MySQL? Memcached? Redis? FS?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Храни в мускуле.

    Файлы, действительно - самый неудачный вариант. Сара Големон, отвечая недавно на подобный вопрос, написала
    File storage is only a default because the runtime doesn't know in advance what database engine or credentials you're going to use unless you tell it. So... ya know.... tell it.

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

    Редис и мемкеш - это кэш, а не хранилище. Подумай над тем, что такое кэш и для чего он используется. И подходит ли кэш для хранения сессий.

    Про скулиту ты все правильно написал. Те же файлы, вид сбоку.

    А про мускуль очень смешно. Какая-то прямо повальная датабазебоязнь. Откуда это "я вообще хочу минимизировать запросы к MySQL"? Что за ерунда про "соединение может оборваться"? И как ты вообще можешь сравнивать по производительности файл на диске, который открывается при каждом запросе, с демоном, который держит все данные в памяти и отдает по сокету?
    Ответ написан
    32 комментария
  • Как сделать полнотекстовый поиск с синонимами в django?

    loader777
    @loader777
    Python/django разработчик
    Я для полнотекстового поиска использую связку haystack + Solr. Как раз на днях написал рецепт - djbook.ru/examples/68/. Связка не самая простая для новичка.
    Добавить туда поиск с учетом синонимов будет несложно (строчка-две в конфиг файлах).

    Многие советуют elasticsearch - в новом проекте хочу попробовать его.
    Ответ написан
    Комментировать
  • Где можно купить/достать хорошие прокси?

    @kami4ka
    Если вопрос в экономии: мы собрали по открытым листам из интернета прокси лист сервис, постоянно добавляем в базу новые прокси и по кругу чекаем по latency и вообще по рабочести, большинство из них residential, тоесть ютуб должен хорошо отнестись, вот собственно сам сервис: https://scrapingant.com/free-proxies/
    Если вопрос в качестве и можно заплатить: любой сервис с платными residential проксями, типа Luminati, но цены достаточно зверские за гигабайт траффика, можно еще прокси с мобильных мобильного трафика купить, но там еще дороже.
    Ответ написан
    Комментировать
  • Multilangual URLs для Laravel 5.8?

    Hecc
    @Hecc
    Frontend. Дизайн. Шрифт.
    https://github.com/mcamara/laravel-localization

    Мы через вот эту либку делали локализацию. Там очень простая, пошаговая инструкция по установке.

    + чтобы при переключении языка не перекидывало на главную страницу, а оставалось на той же и обновлялся язык и url.

    Эту штуку достаточно легко можно написать. Получаете текущий урл, из него получаете ссылку без языка и на свич ставите переключение на уже полную ссылку с нужным вам языком.
    Ответ написан
    Комментировать
  • Как решить проблему с доступом? PROXY или VPN?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Регистрируйте себе VPS ссылка есть у меня в разделе 'обо мне'(около 300 руб. в месяц, только сервер выбираете не в России) и запускаете все что угодно, при этом получаете:
    1 ГБ RAM
    1 core
    30 ГБ NVMe
    32 ТБ Трафик
    В придачу, можете на нем еще и vpn себе поднять, для пк, телефона(делается это парой команд в голой Ubuntu)
    Ответ написан
    8 комментариев
  • Как сайты понимают, что их посетил бот на Selenium, а не реальный юзер?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Алексей очень хорошо описал причины, которые подтверждаются некоторым личным опытом.

    Очень часто, в логах сервера, в user-agent можно встретить selenium. Достаточно в конфиг прописать правило отклонения запросов с user-agent: (*selenium*) и проблема исчезает.

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

    Обходить это, можно загружая страницу через браузер и случайно сдвигать мышь, случайное количество раз (от 5-10), через случайные промежутки. Спасет от ручной проверки, для большинства сайтов.

    Для 100% гарантии, чтобы не банили, нужно "наводиться" на ссылки, которые нужно распарсить следующими (по очереди). Однако, в этом случае, вы пожертвуете производительностью парсера.

    Как реализовать: Поднять сервис (несколько) на машине с vnc и получать страницу через браузер, имитируя работу мышкой.

    Но, обычно, указать корректный user-agent достаточно. (Я, почему-то уверен, что вы остановитесь на этом варианте).

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

    Владельцу сайта проще заблокировать тот ip, с которого сыпятся запросы, чем проводить оптимизацию кода сайта и выяснять, по какой причине вообще создалась нагрузка (например, из-за не проставленных индексов в бд).
    А порой, это является единственным вариантом, т.к. на сервер, может прилететь за час свыше 10000 запросов к сайту с одного ip.
    Для сравнения от yandex/google, за сутки, может прийти около 4000 запросов (с минимальными настройками индексации).

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

    alekciy
    @alekciy
    Вёбных дел мастер
    Вариантов много. Из простого:
    • по User-Agent
    • по IP адресу через отслеживание количества запросов с одного адреса
    • по используемым публичным прокси (многие такие сервисы явно сообщают, о себе кто они)
    • и т.д.

    Из сложного:
    • отслеживают перемещение мыши
    • ведут аналитику на о типичных поведениях пользователя и ищуют анамалии


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