• Что делать с жалобой на торрент-клиент от хостинг-провайдера?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Люди добрые, как так получается: логов не ведем, но знаем именно то, что нам надо об использовании вами наших ресурсов.

    Даже если не ведут, здесь скорее всего правообладатель пожаловался, т.к. с твоего IP раздавался пиратский контент.
    Получается что провайдер при желании с легкостью может посмотреть весь мой трафик

    да
    и передаваемые данные, в том числе передаваемые логины, пароли, банковские реквизиты и прочее?

    нет, только те, что не шифрованы, а сейчас очень мало сайтов не используют https
    как быть в такой ситуации?

    Не делать ничего запрещённого/делать это так, чтоб никто не видел/делать это в той стране, где разрешено. Кстати, твой провайдер домашнего интернета может видеть всё тоже самое.
    Ответ написан
    Комментировать
  • Как проверить список прокси к определенному домену?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Смотря как он делает редирект. Грузить либо клиентом вроде curl, либо чем-то вроде selenium'а и смотреть, есть ли в этих данных капча. Только ещё нужно учитывать, что капча появляется не всегда и может быть такое, что проверил IP, потом делаешь запрос, а там капча.
    Если нужно решение, которое можно запустить на сервере и постоянно получать рабочие прокси, у меня есть проект https://github.com/DevAlone/proxy_py Он собирает прокси из открытых источников и чекает, если в настройках изменить PROXY_CHECKERS, то сможет проверять именно для вашего сайта, сейчас проверяет на ipinfo.io https://github.com/DevAlone/proxy_py/blob/master/c...
    Ответ написан
    Комментировать
  • Как составить план обучения по C++?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Лучше пиши код, теория это конечно хорошо и нужно, но без практики бесполезно.
    Ответ написан
    Комментировать
  • Возможно ли ip браузера TOR использовать через прокси?, например в своем софте через https запросы?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Да, TOR грубо говоря состоит из двух частей: собственно браузер и софт, который устанавливает соединение с сетью TOR и создаёт локально прокси, т.е. тебе нужна только вторая часть, можно установить отдельно, а можно запустить TOR браузер, открыть раздел прокси в настройках, скорее всего будет 127.0.0.1:9050 и вписать этот прокси в нужную тебе программу.
    Ответ написан
  • Как обнаружить утечку памяти?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    valgrind
    Ответ написан
  • Перегрузка [] на запись В C++?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    #include <iostream>
    
    template <typename T, size_t N>
    class TestArray {
    public:
    	T& operator[](size_t i) {
    		return data[i];
    	}
    private:
    	T data[N];
    };
    
    int main() {
    	TestArray<int, 10> arr;
    	arr[0] = 99;
    	arr[1] = -1;
    	std::cout << arr[0] << std::endl;
    	std::cout << arr[1] << std::endl;
    	return 0;
    }
    Ответ написан
    Комментировать
  • Как избавиться от постоянно рекапчи при использовании VPN Proxy?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Купить VPS с выделенным IP(они дешёвые, рублей за 200 в месяц можно найти) и настроить там VPN/Прокси с авторизацией и не спамить, через какое-то время google поймёт, что IP хороший и отстанет.
    Ответ написан
    Комментировать
  • Как с помощью Python редактировать файлы, защищенные привилегиями sudo?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Что значит защищённые привилегиями sudo? У файла есть владелец и права доступа, соответственно нужно либо указать правильно владельца файла и права доступа, либо запускать скрипт от рута(sudo), второе не рекомендуется в общем случае.
    Ответ написан
    Комментировать
  • Как вы обходитесь без ORM?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Мне больше нравится, когда можно и ORM и вручную запросы писать. В python, например, есть отличная либа sqlalchemy, там можно использовать orm, sqlalchemy core(что-то среднее) и писать запросы вручную(но sqlalchemy синхронный и это минус). Обычно вручную пишут для оптимизации или каких-то не тривиальных штук, вроде построения гистограммы.
    Если вы это делаете, можете привести пример кода?

    users = await connection.fetch('''
                                SELECT * FROM core_user
                                WHERE is_updated = true and last_update_timestamp <= $1 - updating_period LIMIT $2
                                ''', int(time.time()), settings.BOT_CONCURRENT_TASKS)

    Как вы потом работаете со строками, просто как со словарями?

    Да
    user['password']
    , есть либы, которые позволяют обращаться так
    user.password

    Как вы защищаетесь от опечаток в названии столбцов таблицы?

    Так ошибка ж будет.
    Или вот пример, не представляю, как сделать с ORM
    sql_request = '''
            WITH stats AS (
                SELECT MIN(:field_name) as min_value, MAX(:field_name) as max_value
                FROM :table_name
            )
            SELECT 
                width_bucket(:field_name, min_value, max_value, :window_size) as bucket,
                MIN(:field_name) as x,
                COUNT(*) AS y
            FROM 
                :table_name, stats
            GROUP BY
                bucket
            ORDER BY
                bucket;
        '''.replace(':field_name', field_name)\
            .replace(':table_name', table_name)\
            .replace(':window_size', str(window_size))
    
    items = await asyncpgsa.pg.fetch(sql_request, *sql_arguments)
    
    return [PostgreSQLSerializer(['x', 'y']).serialize(item) for item in items if item['y'] != 0]
    Ответ написан
    Комментировать
  • Как защитить Rest API от использования третьими лицами?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Если кратко, - никак, т.к. любую защиту можно обойти, а реверсить андроид приложения очень просто.
    А так, часто используют подпись запросов, в идеале алгоритм подписи должен быть написан на компилируемом языке вроде C++. Ещё к запросу нужно добавлять timestamp, чтоб нельзя было просто отправлять запросы тупо скопировав пакет снифером. Также можно обфусцировать API, чуть усложняя его использование. Но что не делай - обойти это всё можно.
    Ответ написан
    Комментировать
  • Невозможно преобразовать double в void*?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    template <typename T>
    void print(const T& obj) {
        std::cout << obj;
    }
    Ответ написан
    Комментировать
  • Нужно ли Высшее Образование если есть опыт?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Если захочешь свалить, с дипломом будет проще.
    Ответ написан
    Комментировать
  • Какую книгу по C++ стоит прочитать новичку?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Читал "Стивет Прата - Язык программирования C++. Лекции и упражнения"
    Ответ написан
    Комментировать
  • Как через Telegram Bot API отправить несколько сообщений одному пользователю за раз?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Комментировать
  • Изучение нескольких технологий однвременно при малом количестве времени. Это возможно?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    6 часов и не хватает времени? Значит неправильно организуешь его. Одновременно изучать C++, Python, английский и всё что ты там перечислил - не проблема, можно изучать ещё и намного больше, главное не тратить время на плохие книги(гугли отзывы), к таким лично я отношу Шилдта(куча воды и копипасты документации в перемешку с говнокодом), смотреть видеоуроки на ютубе(редко встречается что-то хорошее, в большинстве своём - уг).
    Кстати, не пытайся учить все тонкости какого-то языка(я пытался одно время, но вовремя понял, что плохая идея), время не бесконечно и лучше потратить его на изучение таких основ, как архитектура ПК(Петцольд, Таненбаум), сети(Таненбаум, можно Олиферов), структуры и алгоритмы, паттерны, ты упомянул геймдев, поэтому математика и конечно практика, много практики, имея базу в виде теории и опыт, можно будет легко пересесть на любой язык за пару недель(на простые языки вроде Go можно и намного быстрее), а всякие синтаксические тонкости языка обычно нужны лишь на собеседованиях.
    Ответ написан
    Комментировать
  • Почему игровые движки пишут на C++?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Почему ни один из этих движков не написан на Java или Python?

    Java и тем более Python дают ооочень большой оверхед, да безусловно можно написать на них движок, но он будет не такой производительный. Также в отличии от большинства языков(включая Java и Python) C++ позволяет выжимать максимум производительности, в джаве сборщик мусора, там нельзя размещать объекты на стеке, там размер переменной привязан к виртуальной среде, а не к машине, на которой исполняется программа, куча проверок вроде выхода за границы массива, которые дают оверхед и в конце концов, джава использует виртуальную машину. AFAIR, в джаве даже нет аналога вектора, где элементы(а не ссылки на них) будут храниться последовательно в памяти и также нельзя включить один объект в другой не по ссылке, а в C++ можно.
    Ответ написан
    Комментировать
  • Как поднять свой уровень английского?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Essential Grammar In Use
    Ответ написан
    1 комментарий
  • Как понять, где ссылка и где копия?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    На стеке создаётся область, куда копируется значение, например тут:
    void doSomething(Type obj);
    Объект при передаче будет скопирован, т.е. выделится память на стеке(сдвинется указатель стека) и вызовется конструктор копирования, а после при выходе из функции деструктор
    void doSomething(Type &obj);
    копирования не произойдёт, т.к. передастся адрес, вообще стандарт не гарантирует, как именно реализованы ссылки но обычно как указатели. Т.е. можно думать о ссылке как об указателе с синтаксическим сахаром.
    как можно вернуть псевдоним (ссылку) на тип, который размещается не в управляемой куче и вообще почему на него можно создать указатель

    а почему нет? Если речь про стек, то создать то можно, другой вопрос, что указывать после выхода из функции он будет на мусор
    Type& doSomething(Type& obj) {
    	Type anotherObj = obj;
    	return anotherObj;
    }
    int main() {
            // .... 
    	Type &obj = doSomething(something);
    	// здесь при работе c obj будет UB
            // .... 
    }
    Ответ написан
    Комментировать
  • Какой учебник по Django лучше для изучения?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Никакой, официальную документацию на английском языке, там самая свежая информация
    Ответ написан
    Комментировать
  • Как развиваться в программировании не привязываясь к языку?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    писать код. Как бы это банально не звучало, но многое постигается с практикой. Также полезно читать всякие умные статьи с best practies, умные книжки, но писать код важнее.
    maxresdefault.jpg
    Ответ написан
    Комментировать