• На IP моего сервера перенаправляются сотни доменов, как исправить?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Да просто разные боты ходят, ищут уязвимости, а в refereer пихают разный мусор.
    Ответ написан
    1 комментарий
  • Как посчитать метрику предсказательной функции дифференцируемыми методами?

    Griboks
    @Griboks
    В первом вероятности бинарного события в диапазоне (0, 1)

    Случайное событие всегда бинарно, иначе оно называется случайная величина.
    Вероятность всегда задаётся от 0 до 1.

    Вероятность p <=0,5 значит что событие не случится.

    Какая-то ерунда. Вероятность не может обозначать факт.

    Для оценки эффективности прогнозирования считаем метрики детекций:

    Это не метрики, а условия. Сами метрики, я полагаю, - это количество случаев, которые удовлетворяют это условие.

    Тогда можно подумать насчёт масштабирования векторов следующим образом:
    - вероятности заменятся на +1, когда p>=0.5, иначе на -1;
    - бинарный результат заменяется на -1, когда 0.

    Тогда попарное перемножение элементов векторов даёт +1 в случае правильно предсказания и -1 - неправильного. Затем можно масштабировать (+1→+1, -1→0) и сложить - получится количество верных предсказаний в виде дифференцируемой функции (кроме 0).
    Ответ написан
    7 комментариев
  • Будет ли работать веб-страница на телефоне без Интернета?

    SemanticMoscow
    @SemanticMoscow
    смотреть в сторону PWA,
    например: https://habr.com/ru/post/418923/

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

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Могу их изменять/удалять/редактировать

    Вы создаёте коммиты прямо в веб-интерфейсе гитлаба? Лучше конечно забрать репозиторий к себе на рабочий компьютер и работать с файлами локально.

    если я изменил главную ветку, то чтобы данные изменялись на сервере

    git pull заберет изменения с гитлаба и применит их к рабочему каталогу.

    Если нужно чтобы гитлаб сам автоматически публиковал изменения на сервер, то изучайте GitLab CI/CD. При этом разработку в любом случае желательно вести на рабочем компьютере, а не править файлы сразу на гитлабе.
    Ответ написан
    Комментировать
  • Отличия GET от POST?

    vabka
    @vabka Куратор тега Веб-разработка
    Два главных отличия:
    1. У GET-запроса нет тела (как правило, но в теории никто не запрещает отправить с телом).
    А у POST как правило нет query-параметров, но в принципе никто не запрещает одновременно указать и их, и тело
    2. GET-идемпотентный, в отличие от POST.
    Если ты отправишь два одинаковых идемпотентных запроса, то ничего не изменится-это безопасно.
    И этим свойством пользуются браузеры и всякие прокси, которые в случае каких-то сетевых ошибок тихо отправляют идемпотентные запросы повторно.

    Кроме GET есть ещё PUT и DELETE, которые тоже идемпотентные


    Есть ли какая-то информация на этот счёт?

    Всё это описано в википедии в статье об HTTP


    И каким образом ссылку site/?page=2 можно отправить методом POST?

    Через curl или через форму
    Ответ написан
  • Зачем нужен статический анлизатор и как он работает?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Например для линтеров, очень подробное руководство зачем они нужны
    https://habr.com/ru/post/457970/

    Чтобы написать линтер — часто нужно сделать статич анализ кода.

    Проверять цикломатич сложность, форматирование кода, находить ошибки или некорректное использование кода.

    Для динамически-типизированных языков стат-анализ может взять роль компилятора и проверять корректность типов и прочих штук. Например описать типы массива (который не типизирован в PHP) или даже имитировать функционал дженериков. Это повысит качество кода и его надежность, избавит от ошибок в боевой среде.

    И ещё интересно, как именно происходит анализ кода?

    Все зависит от того, какую проверку вы делаете... Например (из воздуха) вы хотите сделать проверку, что метод слишком сложный (большой) — делаете анализ кода и по каким-то критериям выдаете оценку/предупреждения. Находите метод (начало и конец) и число строк сравниваете с "приемлимым для вас".

    Или например есть код, но на самом деле он не вызывается никогда (утверждения всегда true дают, а IDE не может этого понять), вы находите такие случае в работе/на ревью со временем и вырабатываете правила как это детектить... Чтобы задетектить, вам надо разобрать инструкции кода, как понимаете без статанализа этого не возможно, не регулярками же делать.
    Ответ написан
    Комментировать
  • Как поступить с заказчиком?

    @vism
    А заказчик то причем.
    Это ты оценил проект
    Это ты продолбал уточнения по ТЗ
    Заказчик не должен разбираться в том, как тебе ТЗ составить. Ты должен добиться верного полного ТЗ для тебя. Чтоб ты оценил верно.

    Заказчик вобще не знает что ты там делал, ему сказали цену, он согласился.

    Ты думаешь, что прав, но нет. Все это следствие твоих решений и действий. Ещё и навгокодил, раз код только ты поймёшь.
    Сделать сложно - просто, а сделать просто - сложно.
    Мало того, что хочешь кинуть заказчика, так ещё по сути всю работу зашифровал.

    Щас ты ведёшь себя как строители-кидалы. Которые берутся за ремонт квартиры/стройку дома, а посреди процесса говорят - доплачивай ещё 30% или уйдём. Уйдём = сгнивший дом.

    Вобщем если у тебя ещё осталось что-то честное и человечное, прими свою отвественность, доделай проект и дальше продумывай свои действия и решения наперёд, продумывай риски и страхуйся от них.
    Но не будь, не будь очередным кидалой, который объяснил себе почему "он прав".

    P.S.
    Если этот проект
    https://qna.habr.com/q/1159728
    То вобще стыдно должно быть от таких мыслей.
    Заказчик то ждет от вас хорошую работа наверное, а вы на нём учитесь. Вы уйдёте, а он потеряет и время, и деньги. Мде...
    Ответ написан
    Комментировать
  • Как поступить с заказчиком?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Вы ведь сами понимаете, что это ваш косяк, а не заказчика? А чего ему за него платить?

    Мне прям вспомнилась ситуация, когда я пришёл к стоматологу вылечить кариес (пусть будет 2 000 рублей), мне рассверлили весь зуб и заявляют "батюшки, да тут же пульпит!" (12 000 рублей).
    Помогите Маше найти фразу для стоматолога, которая позволила бы сохранить хорошие отношения.

    И вот вы сейчас, по прошествии 2 месяцев, оставите заказчика один на один с незавершённым проектом, в котором никто не разберётся (то есть по сути ни с чем) - то вы поступаете как чудак. Я же вижу по тексту, что понимаете.
    А сюда вы за индульгенцией пришли? :)

    Хотите "сохранить отношения" - доделывайте как есть, в будущем будете мудрее.

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

    Два совета на будущее:
    1) Перезакладывать стоимость и время разработки;
    2) Если понимаешь, что всё идёт не по плану/пропал интерес / слишком сложно / некомфортно / whatever - сказать об этом сразу и отказаться от проекта, так всегда получается честнее

    Опыт всегда стоит дорого, а 53 000 рублей - ну не самая большая цена его получения :)
    Ответ написан
    8 комментариев
  • На каком сайте останется клиент, быстрый или красивый?

    vabka
    @vabka Куратор тега Веб-разработка
    То что вы назвали не является решающими критериями.

    Для практически любого продукта, включая магазин будут справедливы такие критерии:
    1. УТП. В случае магазина - это ассортимент, цены, скорость доставки, доступность, и поддержка после покупки. (Какими-то можно жертвовать в пользу других)
    2. UX. На сколько очевиден для клиента интерфейс, на сколько субъективно быстро и удобно в нём работать, на сколько легко допустить фатальную ошибку.
    3. Визуальный дизайн, который на функцию не влияет и не даёт пользователю дополнительную информацию. Это всякие излишние анимации и спецэффекты.

    Красота и скорость - штуки субъективные и могут как оттолкнуть, так и привлечь покупателя в любой комбинации. Всё зависит от ЦА.
    Есть примеры, когда тормозящий сайт с дизайном а-ля 90-е начало 2000-х был успешней, чем конкуренты с современным дизайном. Просто из-за привычек ЦА и доверия

    Я бы для начала сделал "как проще", а потом уже экспериментировал со скоростью загрузки и украшательствами.
    Ответ написан
    2 комментария
  • Указатели в языке Си?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    почему программа завершилась? Вмешалась ОС? Но если так, то почему?

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

    Почему я не могу поменять значение самого указателя (ведь указатель - это всего лишь ссылка на адрес памяти, а не на значение).

    Значение указателя ты поменять можешь, но это не то, что было написано в коде. В коде было написано поменять значение на которое указатель указывает. Поменять указатель было бы a = (int *)10;

    могу ли я указателю дать ссылку на конкретную ячейку в памяти?

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

    получаю ошибку, ведь вряд ли адрес памяти у указателя хранится в виде 16-ричного целочисленного литерала.

    В памяти всё хранится как последовательность байтов. Любую последовательность байтов можно проинтерпретировать как указатель. Но чтобы компилятор С понял что ты имеешь в виду, ему надо явно сказать, что ты хочешь проинтерпретировать целое число как адрес: int *a = (int *)0x0061FF18;
    Ответ написан
    Комментировать
  • В каких ЯП мало или вообще нет фреймворков?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    В результате всего этого ты вроде и работаешь и вроде как бы опыта набираешься, а по факту знания весьма поверхностные, зачастую после полугода вообще забываются некоторые вещи.
    На самом деле - и да и нет.
    Во первых - 90% фреймворков похожи как родные братья, отличие в десятке настроек и чуть разном подходе к передаче параметров, ну +- десяток нюансов. Вникнуть в них вполне реально за приемлемое время.

    Во вторых - ну вот выучили лару и нет желания колупаться в условном уйй - ищите вакансии под нее, че париться, их мульён же, где-то да найдется под вас.

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

    Ну и анек в тему:
    HR:
    - Вы нам не подходите. Нам нужны молодые, амбициозные, способные творчески расти!
    Пожилой прогер:
    - Запишите мой телефон. Когда выяснится, что у вас все амбициозно растут, а работать некому - позвоните!
    Ответ написан
    7 комментариев
  • Что означает -'0' на C?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Это вычитание значения '0' из значения str[j]. И то и другое - символы, они же char. В языке Cи, это целочисленный тип. Просто каждому символу дается его ascii код.

    Тут это используется для получения численнного значения цифры из ее символьного значения, ведь символы '0'-'9' в ascii идут подряд в натуральном порядке.
    Ответ написан
    Комментировать
  • Как сделать 2 слова не делимыми?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Вставить неразрывный пробел.

    Как-то так, примерно
    $string = preg_replace('/(г\.)\s([А-ЯЁ])/ui', '$1&nbsp;$2', $string);
    Ответ написан
    4 комментария
  • Как сделать 2 слова не делимыми?

    Fragster
    @Fragster
    помогло? отметь решением!
    &nbsp;
    Ответ написан
    Комментировать
  • Как написать свою собственную операционную систему под кнопочный телефон?

    mayton2019
    @mayton2019
    Bigdata Engineer
    До того как писать нужно знать хотя-бы примерно архитектуру самого телефона. Какой процессор стоит? Какая разрядность? Где найти документацию на систему команд? Где найти ассемблер? Или Си? Где эмулятор чтоб потестировтаь? Как залить прошивку? Это вообще отдельный челледж. Возможно старые модели этого и не позволяли и надо брать паяльник чтобы снять эти барьеры.

    Вобщем перед тем как писать ОС надо пройти этот вопросник и отметить что есть.
    Ответ написан
    4 комментария
  • Js массив как прописать return?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    А почему бы не объединить списки?
    module.exports = function toReadable (number) {
        let a = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine','ten', 'eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
        if (0 <= number && number < 20){
            return a[number];
        }
    }


    ну или если нужно именно 2 списка, то
    module.exports = function toReadable (number) {
        let a = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
        let b = ['ten', 'eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
        if (0 <= number && number <= 9){
            return a[number];
        }
        else if(10 <= number && number < 20){
            return b[number-10];
        }
    }
    Ответ написан
    5 комментариев
  • Не форматирует код eslint?

    Fragster
    @Fragster
    помогло? отметь решением!
    Придется понажимать кнопки самому
    s6rATkV.png
    https://eslint.org/docs/latest/rules/
    Ответ написан
  • Как запустить .cs файлы без компиляции в exe?

    Знаю, что .php файлы можно запустить без компиляции, закинув какую-то папку с файлами на диск с

    Потому что php - интерпретируемый язык.

    Каким образом я могу запускать .cs файлы без компиляции/ide?

    Никак, так как C# - компилируемый язык.
    Чисто теоретически ты можешь использовать C# Interactive, но там всё достаточно специфично и ограниченно.
    Ещё ты можешь компилировать C# из консоли через dotnet SDK
    Ответ написан
    Комментировать
  • Как остановить проверку?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Ваш код очень бажный. Во-первых, вы не проверяете результат выполнения indexOf и проверка работает ровно наоборот. Во-вторых, значение поискового поля вы добавляете не в виде get-параметра, а прямо в тело адреса, что снова делает предыдущую проверку нерабочей. Ну и наконец, даже если всё это исправить, у вас всё равно будет баг - любой get-параметр, название которого заканчивается на "q", будет попадать под условие и подстановка не произойдёт.

    Максимально тупое решение в лоб с перезагрузкой страницы:
    if (
        window.location.search.indexOf('?q=') === -1 &&
        window.location.search.indexOf('&q=') === -1
    ) {
        window.location.search += (window.location.search ? '&' : '?' ) + 'q=' + searchInput.value;
    }


    В современном же js есть куда более удобные инструменты для решения этой задачи:
    https://developer.mozilla.org/en-US/docs/Web/API/U...
    https://developer.mozilla.org/ru/docs/Web/API/Hist...
    Ответ написан
    Комментировать