Профиль пользователя заблокирован сроком с 20 сентября 2021 г. и навсегда по причине: систематические нарушения правил сервиса
  • Зачем вообще использовать брокеры очередей?

    glaphire
    @glaphire
    PHP developer
    Для простого приложения, как в описании вопроса, это действительно оверхед)
    По ответам из разных источников получается, что реббит становится полезен тогда, когда в системе появляется много продюсеров и консюмеров, и реббит, как самостоятельная прослойка, инкапсулирует логику рассылки, попыток переотправки и т.д. То, что сообщеня могут теряться это да, проблема, но можно снизить ее вероятность, если углубиться в настройки и покрутить экстеншены реббита
    Ответ написан
    4 комментария
  • Как эффективно чему либо учиться, как изучают новые вещи(программирование в том числе)?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Чтобы успешно учиться, нужно научиться учиться.
    Именно этим занимаются в школе, затем в институте - получая практику на различных задачах типа "зазубрить наизусть", "разобраться", "сделать контрольную", "сделать курсовую", "сделать диплом" - по нарастающей.

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

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Например в Эльдорадо менеджеры повелись на маркетинг 1С и выбрали битрикс, не спросив технарей. В его оптимизацию и заточку под нужды компании грохнули миллионы, но как ни старайся - это битрикс, он будет тормозить и глючить.
    Ответ написан
    5 комментариев
  • Как найти работу программисту-самоучке?

    Gremlin92
    @Gremlin92
    Целеустремленный
    В колледже учился по специальности 'Техник по информационным системам", где за 4 года научился писать простые скрипты в Excel и нам рассказали, что такое сеть.

    Считай что это прошлый век.
    Сделай портфолио, заведи собственный веб-сайт
    Ответ написан
    3 комментария
  • Остается ли Java все еще актуальной для разработки под Андроид?

    Конечно java был и остаётся самым популярным языком для Android разработки. И на то есть несколько причин:
    1. По этому языку существует множество обучающих материалов: курсов, книг. Это немаловажно.
    2. Java - родной язык для android. Приложения, написанные на ней, могут использовать все технические возможности устройства. Именно поэтому java позволяет разрабатывать сложные приложения.
    А вот всякие там react native позволяют создавать только простые приложения. К тому же интерфейсы приложений можно выстраивать с помощью языка разметки xml, это по моему очевидный плюс.
    3. Огромное количество вакансий. Если посмотреть сайты типа hh ru, то можно увидеть много вакансий по java-разработке. К тому же java используется ещё и в бэкенд разработке, и в создании ПО.
    Ответ написан
    3 комментария
  • Имеет ли значение название домена?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Как показывает практика (создание небольших страниц-заглушек на домене, который пока не развивается и не используется), как минимум, гугл учитывает вхождение ключевых слов запроса (или их близких синонимов) в название домена, и выделяет их болдом. Пример: https://DataRecoveryMoscow.ru/

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

    Однако, если стоит выбор между красивым и коротким доменом (вдруг сумеете такой найти) и длинной конструкцией, то я бы скорее выбрал первый, чем второй. Второй можете зарегистрировать "про запас", и разместить там либо небольшой тематический текст, либо поставить редирект.
    Ответ написан
    Комментировать
  • Как сжать видео размером 2,5 ГБ?

    @romancelover
    программист C++ под Linux
    ffmpeg - бесплатно, но работает через командную строку. Есть под Windows и под Linux.
    Пример перекодирования видео из 720 в 480:
    ffmpeg -i input.mp4 -vf scale=720:480 output.mp4
    размер файла уменьшился с 55 Мб до 14 Мб.
    Через параметры командной строки можно задавать что угодно: формат, битрейт, разрешение, можно обрезать по времени и т.п. Примеры командной строки для разных действий можно нагуглить.
    Ответ написан
    Комментировать
  • Как создать Viber бот?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    так это не делается

    делается декомпозиция и по форме пацанам докладывается:

    телефон - скрипт - проблем нет
    скрипт - бот - проблем нет, ответ такой: "pnx mamkin hacker"

    и тогда общественность подскажет в чем и где
    Ответ написан
    Комментировать
  • В чем закономерность?

    Griboks
    @Griboks
    Принцип в том, что тут нет неправильного ответа.
    Ответ написан
    8 комментариев
  • Почему полностью зависает компьютер?

    @Firecodex
    В мене тож таке було само собою пройшло
    Через пару днів
    Ответ написан
    4 комментария
  • Какое состояние у современного фриланса на конец 2020?

    opium
    @opium
    Просто люблю качественно работать
    Все так же
    Говнокодеры в жопе, профи в шоколаде
    Ответ написан
    4 комментария
  • Как безопасно отправлять пользовательский текст в базу POST запросом?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Перед тем как что-то куда-то добавлять надо сначала разобраться что ты делаешь.
    В частности понять что браузер, веб-сервер, и база данных - это разные вещи, и для каждой нужна своя обработка данных.

    В-первых, POST запросом ничего добавить в базу нельзя.
    База вообще ничего не знает про пост запросы. POST запросом можно отправить текст только в РНР.
    А РНР уже будет добавлять в БД.

    Про HTML база данных тоже ничего не знает. Поэтому "htmlspecialchars" к базе данных не имеет никакого отношения. И делать это для добавления в БД не нужно. Это функцию надо применять при выводе данных в браузер, а не при сохранении в базу данных.

    Вот теперь, когда мы разобрались что у нас где, можно наконец ответить на твой вопрос

    Для безопасного добавления данных в БД из РНР, надо отправлять их отдельно от самого запроса. Это непреложное правило, которое надо соблюдать всегда.
    И не важно - пользовательский у тебя текст, или какой-то другой, POST у тебя запрос, или вообще никакого запроса не было - все эти вещи к работе с БД из РНР не имеют никакого отношения. Важно только то, что данные всегда отправляются в БД отдельно от запроса.
    Для этого надо
    • Заменить все переменные в запросе на специальные маркеры, которые называются плейсхолдеры или параметры, а по сути - просто знаки вопроса
    • Подготовить запрос к исполнению с помощью функции prepare(). Эта функция принимает строку запроса и возвращает экземпляр специального класса stmt, с которым в дальнейшем и производятся все манипуляции
    • Привязать переменные к запросу.
    • Выполнить подготовленный ранее запрос с помощью с помощью execute()

    В mysqli это будет так
    $sql = "INSERT INTO  table (name, text, message, date, rating) VALUES (?,?,?,?)";
    $stmt = $link->prepare($sql);
    $stmt->bind_param("sssss", $name, $text, $message, $date);
    $stmt->execute();

    bind_param() принимает в качестве параметров все переменные, которые должны попасть в запрос, в том же самом порядке, в котором стоят плейсхолдеры в запросе. Но кроме того, сначала в этой функции должны быть указаны типы для всех переменных, в виде строки, где тип переменной обозначается одной буквой. То есть букв в этой строке должно быть ровно столько, сколько дальше будет переменных. К счастью, можно особо не париться с типами и для всех переменных указывать тип "s".

    Но по-хорошему для работы с БД в РНР лучше использовать PDO, Тем более что там колупаться с bind_param не нужно, а можно сразу отправить все данные в execute
    $sql = "INSERT INTO  table (name, text, message, date, rating) VALUES (?,?,?,?)";
    $stmt = $link->prepare($sql);
    $stmt->execute([$name, $text, $message, $date]);

    А дураков, которые сами не знают, как текст в базу сохранить, слушать не надо.
    Ответ написан
    Комментировать
  • Какая сейчас лучшая читалка для Windows?

    Foxit reader - хорошая, бесплатная читалка
    foxit-reader-download.png
    foxitsoftware.com/pdf-reader/
    Ответ написан
    1 комментарий
  • Ноутбук под Linux. Какой выбрать?

    @AVKor
    Размер экрана как можно больше, разрешение должно быть адекватное, иначе глаза сломаются читать мелкий текст. Матрица - матовая (иначе будут блики). Оперативки как можно больше.

    Потенциального кандидата пробивать в Гугле [название модели] + Linux, чтобы не нарваться на проблемное железо.
    Ответ написан
    4 комментария
  • Какой сервер выбрать для телеграм бота на python?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    любой VDS какой найдете
    Ответ написан
    1 комментарий
  • Нужно сделать программу покороче. Как?

    0xD34F
    @0xD34F
    нужно в 24 строки уложиться

    Замените тело функции invert на

    return ''.join('0' if n == '1' else '1' for n in d)

    Получится ровно 24.

    Тело второй функции тоже сократим до одной строки:

    return '1' if n == 1 else ((s := dracon(n - 1)) + '1' + invert(s)[::-1])

    Сами функции теперь ничего не мешает переписать в виде лямбд.

    Наконец, заметим, что две строки перед циклом, который перебирает dr, идентичны одной из веток условного оператора внутри цикла - так что удалим их, а цикл пусть сделает ещё одну итерацию, для этого в начале dr должно оказаться что-то, отличное от '1'.

    Достаточно коротко получилось?
    invert = lambda d: ''.join('0' if n == '1' else '1' for n in d)
    dracon = lambda n: '1' if n == 1 else ((s := dracon(n - 1)) + '1' + invert(s)[::-1])
    
    dr = '0' + dracon(int(input()))
    print(dr)
    
    import turtle as t
    tt = t.Turtle()
    
    for n in dr:
      if n == '1':
        tt.right(90)
        tt.forward(4)
      else:
        tt.left(90)
        tt.forward(4)
    
    input()

    Тут конечно надо отметить, что на данный момент далеко не везде используется python версии 3.8+, так что приведённый код может у вас и не взлететь, по причине наличия в нём assignment expression (оператор :=).
    Ответ написан
    3 комментария
  • Условие JS не равняется?

    wisgest
    @wisgest
    Не ИТ-специалист
    Не знаю как gender, но sex — это не man/woman, а male/female.

    Совместимо с ранними изданиями языка:
    if (!/^male$|^female$/.test(this.sex)) console.log("Wrong sex");

    или, например,
    if (!({male: 1, female: 2}[this.sex] > 0)) console.log("Wrong sex");
    Ответ написан
    1 комментарий
  • Как мне подсчитать сколько всего id в таблице sql через язык python?

    @MrBrainop
    Начал изучать html, Python и QT Designer
    выведи в переменную id_list список всех id
    и выведи их количество
    id_list = #Список ID(из БД прочитай)
    print(len(id_list))
    Ответ написан
    Комментировать
  • Как мне подсчитать сколько всего id в таблице sql через язык python?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    К сожалению, из вопроса не понятно как ты из питон работаешь с базой. Через клиент, через курсоры? Потому останется открытым вопрос как тебе из самой базы результат запроса в питон втянуть.

    А в общем, тебе надо выполнить в базе запрос типа:
    SELECT
      COUNT(table.id) AS num_id
    FROM table
    в num_id будет твой ответ.
    Ответ написан
    Комментировать