• Как передать переменную из html в sql запрос python?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Вам надо на время оставить программирование и изучить две гораздо более важные вещи:
    Во-первых, надо научиться структурно мыслить. В частности, разобраться, что ваш вопрос состоит из двух совершенно разных, никак не связанных между собой частей:
    1. как в Flask получить данные формы
    2. как передать переменные в sql запрос

    А во-вторых, научиться пользоваться интернетом. Потому что ответов на оба эти вопроса, в том числе и на данном сайте, просто миллионы.
    На первый (ссылка из ответа на qna.hab.com): https://flask.palletsprojects.com/en/1.1.x/quickst...
    На второй: https://qna.habr.com/q/1002781
    Ответ написан
    Комментировать
  • Как найти самую высокую точку в svg?

    neuotq
    @neuotq
    Прокрастинация
    Смотрите.
    viewBox="0 0 1000 100" - определяют вьюпорт пользователя, те как бы то окошко через которое мы смотрим когда видим картинку svg. Первые две цифры - это минимальные(верхний левый угол) x,y координаты, далее размер длинна вдоль x и y
    Следовательно, самая высокая точка, с тчк зрения этого окошка, будет та, у которой координаты по y будет 0.
    У вас там рисуется <polygon points="0,0 9.090909090909092,11 .... вот как видно первая точка имеет координаты по 0,0 - те по x - самая левая с нулевым отступом от лева, и по y- самая верхняя, с нулевым отступом от min y - верха окошка. Таким образом все у кого будет y - 0 (второе число в паре ч/з запятую) - будут на самом верху, относительно окна просмотра.
    Но координаты могут уходить и за окно просмотра: как в лево/вверх, тогда отрицательные будут, так и в право/низ - будут больше окно просмотра(в вашем случае больше 1000 и 100 для x и y соответвенно)
    Ответ написан
    Комментировать
  • Как раздать git hook для всей команды?

    Например есть husky - очень удобно, если с фронтом работаете.

    Если без сторонних инструментов, то можно хуки сложить в папку, которая будет трекаться в репозитории и поправить git config:
    git config core.hooksPath .githooks
    - это нужно выполнять для каждого репозитория у каждого разработчика. Можно упростить жизнь, вставив это в какой-нибудь скриптовый файл, который все обязательно запускают.
    Ответ написан
    4 комментария
  • Хочу понимать биты/байты и их друзей. Литература?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Петцольд "Код тайный язык информатики"
    Ответ написан
    1 комментарий
  • Laravel не выдать товар разным пользователям?

    Sanes
    @Sanes
    Кладите товар в корзину без привязки к ключу. Контролируйте только количество.
    Потом по очереди рассылайте или привязывайте к заказу ключи. Соответственно после оплаты. Обработка очереди это не долго.
    Ответ написан
  • Почему в LIKE возвращает пустой результат?

    i229194964
    @i229194964
    Веб разработчик
    Данная проблема чаще всего возникает различия строк сравнения между PostgreSQL. Версия 15 может использовать другие настройки по умолчанию.
    В PostgreSQL сравнение строк зависит от настройки collation.
    Попробуйте изменить настройки collation для PostgreSQL 14, чтобы они соответствовали настройкам версии 15.
    return User::where("name", "LIKE", "%{$query}%")->collate('utf8mb4_general_ci')->get();
    Ответ написан
    2 комментария
  • Как правильно составлять конспект о полученной информации?

    Конспекты - это очень индивидуальная вещь.
    Так что вырабатывай самостоятельно схему, которая тебе будет комфортна.
    Ответ написан
    Комментировать
  • Почему все говорят что писать ботов это сложно?

    Vindicar
    @Vindicar
    RTFM!
    А сложность начинается, как только задачи, стоящие перед ботом, перерастают уровень примера в документации видеотуториале пятилетней давности.

    Нужно сделать несколько под-команд у команды. Напишу цепочку if-elif-else, делов то. Ой, а теперь простыня кода на пять экранов, в которой фиг чего найдёшь. Потому что нет привычки структурировать код.

    Нужно, чтобы несколько команд/событий формировали цепочку (сценарий). Например, пользователь отправил тре сообщения, первое с именем, второе с возрастом, третье с адресом. Ой, а как это сделать вообще? Не зная понятия "конечный автомат" (finite state machine, FSM), очень трудно догадаться, как тут поступить.

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

    Нужно, чтобы бот выполнил длительную задачу, и написал сообщение, когда она выполнится. Не вопрос, напишу функцию, вызову её, а сразу после отправлю сообщение. Ой, а бот не отвечает! Потому что рабочий цикл asyncio занят этой длительной операцией и не может отреагировать на поступающие данные. Нужно иметь хорошее представление о том, как работает асинхронная программа.

    Нужно добавить боту графический интерфейс - админку. Ой, а работает или интерфейс, или сам бот! Потому что нужно представлять, как устроено большинство GUI-фреймворков, и как устроена асинхронное приложение. А заодно понимать многопоточность, вопросы синхронизации действий между двумя потоками, и особенности работы с asyncio в многопоточных приложениях. Потому что одним потоком тут обойтись будет очень непросто.

    Нужно хранить данные в БД. Ой, а почему у меня проблемы при записи в БД имени пользователя? А потому что погромист собирает SQL-запрос через форматирование строк. Надо было почитать доки, чтобы наткнуться на prepared statements, они же parameterized queries.

    Нужно хранить данные в БД. Вот только данные имеют связи многие-ко-многим. Я знаю! Я буду просто добавлять или удалять столбцы в таблицу! Потому что не освоены даже азы проектирования БД. Тут уже nuff said. И да, я такое видел на этом сайте.

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

    Alexandroppolus
    @Alexandroppolus
    кодир
    вызов колбэка в setChildren происходит немножечко асинхронно, потому надо сохранять для него индекс в замыкании:

    ...
            const i = setInterval(() => {
                const savedIndex = index;
                setChildren(array => [...array, props.children[savedIndex]])
                index++
                if (index === props.children.length)
                    clearInterval(i)
            }, props.delay)
    ...
    Ответ написан
    Комментировать
  • Что за фильтр используется?

    pozZzitiv
    @pozZzitiv Куратор тега Дизайн
    Дизайнер и перфекционист
    Это не фильтр и даже не фотография. Это векторное изображение, где каждый объект автор окрасил в желаемый цвет.
    https://www.shutterstock.com/ru/image-vector/horiz...

    Ну и дополню:
    • сделать/перекрасить такое же векторное изображение можно в любом векторном редакторе — Adobe Illustrator, Corel DRAW, Inkscape и др.;
    • обрабатывать растровые изображения (фото) можно в Adobe Photoshop, Lightroom, Corel Painter и др.

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

    @sand3001
    Всего по немногу
    Пакет установщика windows это не просто архив файлов, и в рамках одного ответа достаточно трудно описать как это работает.
    Более детально можно ознакомиться тут.
    Ответ написан
    Комментировать
  • Как определить, когда нужны спрайты а когда LazyLoading?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    Оно другому не мешает. Спрайт тоже можно грузить лениво.

    Спрайты, как правило, используются либо для загрузки большого количества небольших изображений - иконок. Это было более актуально до http2. Сейчас нужно проверять, даёт ли это действительно прирост. Либо когда нужно сделать анимацию. Суть оптимизации - сокращение количества сетевых запросов.

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

    Таким образом - если контентные тяжёлые изображения - лэйзи лоад.
    Если много небольших или кадры анимации - спрайт.

    Таким образом. если изображений из спрайта нет во вьюпорте и рядом с ним, то и спрайт можно грузить лениво.
    Ответ написан
    Комментировать
  • Как правильно сделать рендер массива в React?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Селект на 5 тыс. опшенов? Чертовы наркоманы...

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

    Или что-то подобное. Смысла вываливать 5-километровую простыню нет никакого

    В самом крайнем случае, если без длинного списка не обойтись, то пакет react-window в помощь.
    Ответ написан
    2 комментария
  • Creative Commons. Как это работает?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    И даже если я возьму фото с лицензией, требующей указ автора, почему я должен его указывать его?

    Странный вопрос. Потому что это требование лицензии. Почему я должен покупать винду, хотя я могу скачать сборку от Зверя? Потому что у Зверя - пиратка и я нарушаю закон.
    Автор лицензирует свою работу на тех условиях, которые ему придут в голову - он вполне может запросить оплату борзыми щенками :)
    Использование фото ведь будет считать добросовестным использованием?

    В закондательстве РФ нет понятия "добросовестное использование", это термин, применимый исключительно к Штатам (fair use). Есть еще "честное использование" (fair dealing), оно определено в законодательстве нескольких стран - Австралия, Индия...
    Ответ написан
    6 комментариев
  • Creative Commons. Как это работает?

    И даже если я возьму фото с лицензией, требующей указ автора, почему я должен его указывать его?

    Потому что это требование лицензии. Иначе ты нарушаешь закон о защите авторских прав.

    Использование фото ведь будет считать добросовестным использованием? А значит автора указывать необязательно?

    Нет, обязательно.
    + термин "добросовестное использование" существует не во всех странах.

    Если после каких-то поисков не нашёл автора (или например впервые фото публиковалось в каком-то советском журнале/газете), то можно и не указывать (на практике - врядли кто-то будет тебе предъявлять претензии)
    Ответ написан
    Комментировать
  • Как определить объем поддерживаемых браузеров в компании при разработке сайтов?

    @alexalexes
    Берете статистику использования браузеров в проектах, которые охватывают основную аудиторию.
    Смотрите наиболее старые версии браузеров, которые используют более 1% пользователей - это будет нижняя планка поддерживаемых браузеров. Узнаете названия движков этих браузеров и их версии - эти данные вписываем в тех. задание.
    Через год снова смотрим статистику, и примечаем, как изменились версии, какие версии ушли ниже 1%.
    Если ваш начальник или какой-то ключевой пользователь, находящийся в этом 1%, упорно сидит на старом браузере, то этот момент прописываем отдельным пунктом в ТЗ - также регулярно интересуемся, не изменились ли у него предпочтения, чтобы занести эти изменения.
    Ответ написан
    Комментировать
  • Dot notation в композиции компонентов React?

    В документации всего один абзац посвящён этой возможности:
    You can also refer to a React component using dot-notation from within JSX. This is convenient if you have a single module that exports many React components. For example, if MyComponents.DatePicker is a component, you can use it directly from JSX with:
    import React from 'react';
    
    const MyComponents = {
      DatePicker: function DatePicker(props) {
        return <div>Imagine a {props.color} datepicker here.</div>;
      }
    }
    
    function BlueDatePicker() {
      return <MyComponents.DatePicker color="blue" />;
    }


    Вроде бы всё просто: если модуль экспортирует много компонентов, как вариант, удобно использовать запись через точку, чтобы не писать длиннющий импорт.

    Интересует мнение
    Собирать мнения и проводить опросы тут нельзя. Правила. Лучше задавать вопрос, на который можно дать однозначный проверяемый воспроизводимый ответ.
    Ответ написан
    Комментировать
  • Порекомендуйте варианты построения и оборудования для ЛВС в строящемся административно-складском здании 1500м2?

    @Akina
    Сетевой и системный админ, SQL-программист.
    • Выделение отдельного помещения для размещения внешнего ввода (Интернет и телефонные линии), кросса, серверов и активного оборудования. Металлическая дверь, кодовый замок.
    • Три линии питания - две для питания оборудования, причём запитанные от разных лучей, или хотя бы от разных фаз, плюс одна для питания кондиционера (минимум 7 кВт), плюс дежурное освещение.
    • Система пожаротушения - газовая, углекислота или фреон. Порошок - нафиг, случись что, всё оборудование можно выбрасывать и закупать новое. Воды быть не должно в принципе - даже просто проходящих через помещение труб.
    • Обязательно стойка (или стойки). Лотки, органайзеры, включая органайзеры электропитания.
    • Обязательно бесперебойники - причём время удержания должно быть минимум часа полтора, причём с учётом рабочей деградации батарей.
    • СКС разводится от розеток возле рабочих мест и до патч-панелей стойки витой парой 5 или 5е категории, чистой одножильной медью, многожилка или омеднённый алюминий ни в коем случае. Какие-то промежуточные и местные коммутаторы - забудь как страшный сон. Прокладка - по запотолочным металлическим лоткам, последний метр в коробе, монтаж на встраиваемые в короб розетки (для рабочих мест в центре комнаты - напольные короба и встраиваемые в пол розеточные блоки). Прокладка до внешних камер соответственно проводом для внешней прокладки, розетки во влагозащищённых распаечных коробках (по опыту - минимум 100х150). С розетками внутри не жадничать - на одно рабочее место минимум 2 розетки (локальная сеть, телефон), плюс дополнительные для сетевых принтеров и для точек доступа, ну и учесть, что сотрудники любят переставлять мебель самым идиотским образом. Судя по чертежам и описанию - будет штук 200 розеток.
    • Коммутаторы - управляемые как минимум L2+, PoE для подключения точек доступа, видеокамер и IP-телефонов, обычные для подключения компов и сетевых принтеров. Модель не сильно важна, но лучше сразу иметь дохрена резервных портов, чем потом докупать. Клиентские порты гигабит однозначно. Но я бы рекомендовал брать с хотя бы парой 10-гигабитных портов. Вендор по вкусу (лично я бы ставил D-Link).
    • Маршрутизатор - согласен с предыдущими товарищами насчёт Микротика вменяемой старшей модели.
    • Точки доступа - лучше сразу брать комплект для бесшовного покрытия всего здания. Насчёт количества, размещения и необходимости внешних антенн вместо встроенных ничего не скажу - это только по месту решается.


    Ну по минимуму где-то так.
    Ответ написан
    6 комментариев
  • Какую тему взять для преддипломной практики?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Декан должен вам определить преподавателя, который будет вашим дипломным руководителем. Дипломный руководитель обязан решать вместе с вами все вопросы, касающиеся вашего диплома, включая тему диплома, а также место прохождения преддипломной практики.
    То, что вы ищете тему преддипломной практики на Тостере - это ошибка. Так быть не должно.
    Ответ написан
    Комментировать
  • Может ли api-сервер отправить 200 браузеру, и при этом продолжить выполнять вызванный браузером запрос?

    paran0id
    @paran0id
    Умный, но ленивый
    В таких случаях положено возвращать 202, и выполнять задачу асинхронно на сервере. Можно вернуть клиенту id задачи и предоставить api для проверки статуса задач по id.
    Ответ написан
    Комментировать