• Как правильно закрыть всё и открыть только необходимое(входящий\исходящий) iptables и debian?

    @enixpp
    # Разрешит локалный траффик
    iptables -A INPUT -i lo -j ACCEPT
    
    # Разрешит пинг
    iptables -A INPUT -p icmp -j ACCEPT
    
    # разрешит порты 21,22,25,80,81,443
    iptables -A INPUT -p tcp -m multiport --port 21,22,25,80,81,443 -j ACCEPT
    
    # Разрешит сессии
    iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
    
    # ну и запретит все остальное
    iptables -A INPUT -j DROP
    Ответ написан
    8 комментариев
  • 6/2(1+2) =? (простой вопрос по школьной программе)

    PaukCher
    @PaukCher
    Прежде всего хочу напомнить, что в советской школе нас учили, что есть разница между умножением со знаком и без знака. А разница состоит в том, что при умножении без знака произведение рассматривается как цельная величина. На бытовом уровне, если 2а это литр жидкости, то 2×а это два пол-литра жидкости.
    Рассмотрим пример:
    2а:2а=1
    при а=1+2
    2(1+2):2(1+2)=6:2(1+2)=6:6=1
    Для тех, кто не помнит этого правила, предлагаю решить пример на понимание:
    59d60ca479d1f224968147.jpeg
    Этот пример из «Сборника задач по алгебре», Часть I, для 6-7 классов. (П.А. Ларичев)
    В интернете можно скачать его бесплатно и убедиться в моей правоте.
    Исходя из вышесказанного 6:2(1+2)=1

    И вот что я ещё нашёл недавно:
    В пособии для математических факультетов педагогических институтов по курсу методики преподавания математики, по которому учили наших преподавателей алгебры в педагогических ВУЗах Советского Союза, однозначно сказано, что в алгебре знак умножения связывает компоненты действия сильнее, чем знак деления. А тот факт, что в спорном примере знак умножения опущен, говорит о том, что спорный пример алгебраический.
    5a5dbb4596aed550405876.jpeg
    По нижеприведённой ссылке Вы можете скачать:
    Методика преподавания алгебры, Курс лекций, Шустеф М. Ф., 1967 г.
    https://russianclassicalschool.ru/biblioteka/matem...
    Приложенный мной текст на 43-й странице пособия.

    Так что, для тех, кто хорошо учился в советской школе 6:2(1+2) = 1
    Ответ написан
    11 комментариев
  • Как из одной ветки перенести определённые файлы в другую ветку?

    @aol-nnov
    git checkout otherBranch -- path/to/file

    но это только содержимое файла с края otherBranch, никакой истории изменений.
    Ответ написан
    Комментировать
  • Почему не работает?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    https://developer.mozilla.org/en-US/docs/Web/CSS/:...

    1. Применяется только к ссылкам и area
    2. Не все стили применяются (в целях конфиденциальности), тень в список разрешенных не входит.
    Ответ написан
    2 комментария
  • Как посмотреть содержимое TTF?

    @Maxim_Q
    Тут можно шрифт загрузить и посмотреть все символы внутри https://fontdrop.info/
    Ответ написан
    1 комментарий
  • Можно ли отлаживать telegram web app?

    @Redeve
    Веб-макаке не хватит и 640гБ
    Ответ написан
    Комментировать
  • Как сделать auto width для поля input?

    premas
    @premas
    Full-stack web-developer
    В одну строку и без зависимостей это делается так:
    <input type="text" onkeydown="this.style.width = ((this.value.length + 1) * 8) + 'px';">
    Ответ написан
    2 комментария
  • Что быстрее 10 запросов к файлам или 10 к базе?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    На Ваш вопрос нет однозначного ответа. Аналогично вопросу: что быстрее, поезд или автомобиль? Кто то будет сравнивать советский поезд с бугатти, другой будет сравнивать японские скоростные поезда с жигуленком.

    Базы с поддержкой SQL бывают разные: MySQL, MsSQL, Oracle и т.д. У каждой из них своя методика работы с кэшем, индексами, памятью. Очень многое зависит от размеров базы, размеров таблиц, построения индексов, самого запроса, настроек сервера БД и операционки. Если база нормально сконфигурирована, таблицы с нормальной архитектурой, правильно построены индексы, сервер обладает достаточным количеством памяти, то запрос будет быстрее большинства самопальных решений для работы с файлами.

    Если же файлы проектировала группа высококлассных специалистов, обвязка спроектирована именно под такие запросы, то выигрыш по скорости может быть значительным в этом варианте. Но такой "путь самурая" предполагает перенос объема вычислений в более быструю область сервера: память-процессор. У тебя будет меньше работа с дисковой системой, но вся логика работы приложения должна быть перелопачена под такой вид данных. Без фундаментальных знаний алгоритмов программирования и математики-информатики в целом, такие велосипеды лучше не городить. Теория графов, матрицы, хеши, алгоритмы сортировки должны быть у тебя на уровне выше институтского. Про удобные таблицы на 5-10 полей можешь забыть. У тебя будет куча небольших упорядоченных файлов со списками ключ-значение. Индексы, хеши, хеши по хешам, индексы по хешам и т.д. - это на долгое время будет твой кошмар, который ты должен будешь представлять у себя в голове. Работа с файлами напрямую не имеет смысла, если ты не планируешь создавать высоконагруженное приложение с большими объемами данных. В этом случае у тебя проработка архитектуры хранения данных займет на порядок больше времени, чем проработка архитектуры базы. Предварительный поиск по одному символу, по двум, трем, ссылка на файлы, которые содержат следующую часть, по которой уже идет поиск. Не забудь блокировки файлов, обработку ошибок доступа, обработку оборванных транзакций, уникальность значений, индексов или ключей и т.д. Отсутствие удобных select-ов с join-ами и блэкджеком потребует от тебя проработки возможных видов запросов, чтобы сам вид хранения данных оптимизировать под кастрированные возможности. А из запросов будут только аналоги простейших "SELECT xxx FROM file_yyy WHERE Id=zzz", "UPDATE file_xxx SET yyy WHERE Id=zzz", "INSERT INTO file_xxx yyy=zzz", "DELETE xxx FROM file_yyy WHERE Id=zzz". Этими 4-мя операциями тебе придется обходиться.

    Сейчас есть уже готовые "велосипеды" noSQL, но это не "путь джедая". Типовой сайтик, с десятком или сотней уников в час не стоит такого геморроя.
    Ответ написан
    Комментировать
  • Есть ли нормальный способ получить все поля модели Eloquent, без чтения из базы?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Нет.

    Только описывать их в модели аннотациями/атрибутами и держать этот список в актуальности. Или вот ide-helper умеет добавлять докблок со свойствами, который парсит из БД. Но всё это разной степени костылизация.
    Ответ написан
    Комментировать
  • Из-за чего ошибка 419 (unknown status)?

    @empirikk
    У меня рабочая схема, без form выглядит, не вдаваясь в детали, вот так:
    HTML:
    <div>
    @csrf{{--эта конструкция преобразуется в input c именем _token, пример: <input type="hidden" name="_token" value="tyiV5lsNJy9aA245dke7979aW1otyutV5D">--}}
    <input class='text' type='text'>
    <input type='submit'>
    </div>


    JQuery:
    let someV = $('.text').val();
    let token = $("input[name='_token']").val();
                    $.ajax({
                        type: 'POST',
                        url: '/someurl',
                        data: {
                           '_token': token,
                            "someV" : someV
                        },
                        success:function (res){
                            console.log('F**k yeah');
                        }
    
                    })

    Надеюсь кому-нибудь поможет)
    Ответ написан
    1 комментарий
  • Всегда, когда усилитель повышает своё питание, блютуз модуль начинает думать что садиться акумулятор и отвлекает. Можно как то избавиться?

    @Oleg1345140
    как вариант добавить в схему диод и электролит, диод в разрыв цепи между блютуз и аккумулятором, электролит поле диода параллельно блютузу, диод не даст усилителю вытянуть электролит, электролит даст питание блютузу на время просадки аккумулятора
    Ответ написан
    Комментировать
  • Можно припаять jack 3.5 стерео на один наушник?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Теоретически запараллеливать нельзя, на практике - в вашем конкретном случае можно.
    Почему в теории нельзя? Потому что теоретически может случиться такой стереосигнал, когда по каналам будут выданы на выход строго противофазные сигналы. А это хуже чем КЗ, поскольку оба выходных каскада УЗЧ будут работать друг против друга.
    Почему на практике можно? Да потому, то выходная мощность на наушнике - несколько милливатт, от такой мощности ничего не выгорит даже в наихудших условиях. Есть и вторая причина: вероятность появления вышеописанного опасного противофазного стереосигнала исчезающе мала. Чтобы он появился, это какой-то недоброжелатель должен совершить специальную диверсию против вашего усилителя - раздобыть стереогенератор, подключить, да ещё устроить всё это во время вашего отсуствия.
    Ответ написан
    Комментировать
  • Можно ли подключить 4 кулера к простой зарядке?

    @VT100
    Embedded hardware & software.
    Да.
    Но вентиляторы не "дают", а "потребляют". И не 1,8 А, а 2 А.
    Ответ написан
    Комментировать
  • Как дождаться выполнения dispatch'а с передачей в него async action в redux?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Если вы хотите дождаться выполнения асинхронных вызовов в асинхронных функциях, то их надо делать с использованием ключевого слова await. Вызовы dispatch с передачей обычных объектов действий выполняются синхронно.
    const someCall = () => async dispatch() => {
      dispatch({type: Constant.SOME_OPERATION_1});
      await dispatch(createAccount());
      dispatch({type: Constant.SOME_OPERATION_2});
    };

    export const createAccount = () => async (dispatch) => {
      await request api;
      dispatch({type: SMTH});
      await another request api;
      dispatch({type: SMTH2});
    }


    Так же для обработки неудачных ответов сервера можно использовать try/catch:
    export const createAccount = () => async (dispatch) => {
      try {
        await request api;
        dispatch({type: SMTH});
        await another request api;
        dispatch({type: SMTH2});
      catch (e) {
        // handle error here
      }
    }
    Ответ написан
    2 комментария
  • На каком языке написан Python?

    suguby
    @suguby
    программист, python, django, mysql, git, hg, linux
    ответ в википедии
    https://ru.wikipedia.org/wiki/Python#.D0.A0.D0.B5....
    если в двух словах, то есть много реализаций, стоящий на большинстве систем CPython написан на С.
    Ответ написан
    1 комментарий
  • На каком языке написан Python?

    @VovanZ
    Есть разные реализации питона.
    Например:
    основная реализация - CPython написана на С;
    PyPy написан на RPython (их собственный диалект питона, созданный специально, чтобы написать на нём PyPy);
    Jython написан на Java.

    Подробнее про разные реализации питона можно прочитать здесь: habrahabr.ru/post/209812

    Библиотеки для питона написаны либо на C, либо на самом питоне.
    Ответ написан
    1 комментарий
  • В чем разница между css-loader vs style-loader?

    @Miozzz
    css-loader - преобразовывает CSS - в модуль JavaScript.
    (Входные данные: CSS, Выходные данные: JavaScript)
    style-loader - внедряет CSS, экспортируемый модулем JavaScript, в тег
    Ответ написан
    Комментировать
  • Зачем в React так записывают в state?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Во-первых в setState в корень предыдущее состояние передавать не нужно, так под капотом к нему так и так подмешается предыдущее состояние, в не зависимости от того, что вы туда передадите. Примерно так:
    state = { ...prevState, ...newState };

    Во-вторых не правильно передавать в setState this.state, так как setState выполняется асинхронно и ваше текущее состояние может успеть измениться. Если надо обновить состояние на основе предыдущего, в setState по-хорошему надо передавать функцию, в которую первым аргументом при вызове придет ваше состояние:
    this.setState(prevState => ({
      some_data: {
        ...prevState.some_data,
        ...input,
      },
    });
    Ответ написан
    3 комментария