• Почему JQuery формирует такой запрос?

    hzzzzl
    @hzzzzl
    OPTIONS всегда делается перед запросом к серверу, это вопрос "эй сервер, ты примешь post-запрос от меня или нет?"

    https://developer.mozilla.org/ru/docs/Web/HTTP/Met...
    https://developer.mozilla.org/en-US/docs/Glossary/...

    Если запрос может оказать влияние на пользовательские данные, то простого запроса недостаточно. Вместо этого, предполентый CORS запрос отправляется в перед отправкой необходимого запроса, чтобы гарантировать безопасность отправки запроса. Предполетные запросы необходимы в тех случаях, когда любой HTTP метод, отличный от GET, POST, HEAD или если тип содержимого POST запроса отличен от application/x-www-form-urlencoded, multipart/form-data или text/plain. Также, если запрос содержит любые собственные заголовки, то необходим предполетный запрос.

    https://spring-projects.ru/understanding/cors/
    Ответ написан
    6 комментариев
  • Как стать Junior верстальщиком?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Я все починил, теперь ваша карьера и ориентация в порядке!
    Не благодарите.
    5de34eb3a4d87370303583.png
    Ответ написан
    10 комментариев
  • Когда стоит разделять приложения?

    sarapinit
    @sarapinit
    Точу водой камень
    1 кейс.
    У вас есть запросы на которые нужно отвечать быстро (текущее состояние) и какой-то сервис с отчетами. Когда пользователи запрашивают большой отчет скорость ответа текущего состояния начинает проседать. Тогда вы делаете отдельный сервис для отчетов, выносите его в отдельное приложение и на отдельную виртуалку. Таким образом вы изолируете потребляемые ресурсы и устраняете влияние сервисов друг на друга. Плюс получаете возможность отдельно масштабировать сервис отчетов во времена наибольшей нагрузки.

    2 кейс.
    У вас есть сервис авторизации для которого нужно учесть множество разных требований и стандартов по безопасности. Вы привлекаете отдельную команду для его разработки с определенными навыками. В этом случае вы изолируете ресурс "навыки разработки безопасных сервисов" чтобы команда не тратила свое время на другие фичи.

    3 кейс.
    Вы делаете несколько сложных сервисов и решаете распаралелить разработку на несколько команд. Одна команда делает "Кинопоиск", другая "Афишу". Все они обращаются к серверу авторизации из кейса 2 и бекендам из кейса 1.

    Итог.
    Разделение на несколько приложений - это либо логическое разделение, когда приложения делают разные и несвязанные вещи. В этом случае удобно думать о разных задачах как о разных приложениях. Отдельно их разрабатывать, деплоить и т.д.
    Либо это управление вычислительными мощностями. Когда разные части системы требуют разделения ресурсов, нелинейного масштабирования или имеют совсем разный режим работы (например АПИ для загрузки фоток и асинхронный воркер который делает превьюшки для этих фоток)
    Либо это управление на уровне человеческих ресурсов, когда приходится вводить в разработку несколько команд.
    Ответ написан
  • Стоит ли создавать учебный и самый минимальный PHP-код для создания простого блога?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Кто ж вам запретит.
    Проектов чего-то с минимальным функционалом для обучения навалом.
    Для целей обучения главное не проект, главное что вокруг него построено - курс, документация, туториал, лично вы как куратор обучаете и т.п. Без этого всего это будет еще один кусок лежащего в интернете кода.

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

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

    glaphire
    @glaphire
    PHP developer
    Если данные запушены в репу - они уже скомпрометированы, нужно поменять реальные логин, пароль и токен.

    Тулза для вычищения таких данных из справочной гитхаба: ссылка
    Ответ написан
    2 комментария
  • Как лучше назвать у пользователя процент вопросов, в которых он отметил хоть один ответ решением?

    Moskus
    @Moskus
    Это нельзя назвать ни одним из предложенных способов.
    Потому что:
    - не только сам пользователь отмечает ответы решениями,
    - сами вопросы пользователя могут быть таковы, что никакой ответ не является решением,
    - пользователь может, наоборот, отмечать решениями всё подряд.
    Так что это просто "доля (процент) отмеченных решений", чтобы не вводить ложную интерпретацию статистики.
    Ответ написан
    9 комментариев
  • Будет ли Golang замещать PHP?

    @zhainar
    Гуглю за вас
    Если вопрос нужно ли учить го, то да, это полезный скилл. Если вопрос будут ли проекты переписываться на го, то отчасти. Если вопрос умрет ли рнр, то нет.
    Ответ написан
    Комментировать
  • Надо ли применять вежливость на проектах Хабра?

    Moskus
    @Moskus
    На Тостере - точно не нужно, это часть правил.
    Интересно, где вы на Хабре это писать собрались, в комментариях?

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

    Вот это всё - вежливость, настоящая. А написать "добрый день" может любой дурак.
    Ответ написан
    2 комментария
  • Зачем frontend девелоперу такой большой опыт?

    @bozuriciyu
    Зашел значит на hh.ru вбил


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


    React Redux javascript все эти Вебпаки и тд это нереально простые вещи не требующие так много опыта


    Если человеку понадобилось столько лет для освоения всего этого он очень глуп и бездарен, развивается медленно.


    Я просто посмотрел доки и понимаю насколько это просто. За неделю можно написать 1-2 проекта максимально использующие все что было изучено, чтобы закрепить знания. Потом почитать на стеке и в других местах основные проблемы которые возникают у других разработчиков, популярные практики и многое другое. И все!


    Так в чем проблема? Вперед, иди разрывай их всех. Или, дай угадаю, ты первым делом сюда прибежал, еще НИЧЕГО не попробовав?

    5d7584d95e90a804618712.png

    Ну не странная ли ситуация? Вместо того чтобы ГЕНИЮ, который за неделю может освоить реакт, всю экосистему, вебпак и тд на уровне исходников и рубить БАБЛО, он бежит на Тостер высмеивать макак-фронтендеров? Это много говорит о нашем герое. Жаль я не смогу проследить ваш процесс "вкатывания"))

    Я не понимаю почему этот вопрос вообще жив. Это не вопрос, это набрасывание говна на вентилятор.
    Ответ написан
    Комментировать
  • Зачем frontend девелоперу такой большой опыт?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Ну как бы человек просто глупеет с возрастом. Мозг хуже работает информация хуже усваивается.

    При всем уважении, я освоил программирование в 27 лет :) Мне сейчас 29, не чувствую отсталости ума :):) Вы можете сказать, что меня уделаете, но я могу утверждать, что вы меня и 19 летнего бы уделали с большей скоростью :)

    Его дело книжки писать бесполезные.
    Наверно ушатаю. Его школьник олимпиданик ушатает 200% на им же созданном языке )

    Вы же довольно умный, зачем вы соревнуетесь с остальными, а не с собой, улучшайте себя!
    Устройтесь в Гугл, напишите новую опен-сорс библиотеку, заработайте через год больше, чем сейчас, кого вы обогнать хотите? Есть куча людей, которые зарабатывают БОЛЕЕ несправедливые деньги БОЛЕЕ несправедливым способом и которые при этом БОЛЕЕ глупее, почему вы выбрали относительно честных и работающих людей в цели для уничижения?!

    Зачем frontend девелоперу такой большой опыт?

    я бы не отказался поработать пол годика с такой зп


    Кроме того, все олимпиадники или в ВК, или в Jetbrains или в Google, точно не без работы, и их всего лишь десятки. А в между прочим вакансий за 2 недели по одной только Java около 3000 штук только на одну Москву. И то в рынке HR воют, что нет инженеров.

    UPD:
    Проглядывается не просто максимализм, а некий снобизм, некая ненависть к тем,
    кто ПО ВАШЕМУ взгляду бездарь. Зря вы так.
    Ответ написан
    21 комментарий
  • Как вы оцениваете предложения от неизвестных компаний?

    DevMan
    @DevMan
    а зачем? что изменится от знания того, что это стартап или бюрократия?
    в компании любого типа может быть радость и веселье, а может быть бюрократия и уныние.
    в крупных компаниях от бюрократии не избавится, всё зависит лишь от её размера и гибкости/пробиваемости.

    у меня алгоритм простой: если офер интересен, я устраиваюсь и беру месяц для ознакомления (хотя достаточно и пары недель), если что-то пошло не так через месяц прощаюсь.
    Ответ написан
    Комментировать
  • Как присвоить объект по значению, а не по ссылке?

    It depends
    Если все свойства твоего объекта - простые, то const newObj = { ...sourceObj };
    Если свойства объекта могут быть объектами и тебе нужно их тоже скопировать, то нужно копировать рекурсивно
    можешь подсмотреть тут
    https://github.com/mateusmaso/underscore.deepclone...
    Ответ написан
    Комментировать
  • Что приходит в браузер?

    deepblack
    @deepblack
    Вот пример того, что возвращает веб сервер:
    HTTP/1.1 200 OK
    Date: Sun, 18 Oct 2009 08:56:53 GMT
    Server: Apache/2.2.14 (Win32)
    Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT
    ETag: "10000000565a5-2c-3e94b66c2e680"
    Accept-Ranges: bytes
    Content-Length: 44
    Connection: close
    Content-Type: text/html
    X-Pad: avoid browser bug
      
    <html><body><h1>It works!</h1></body></html>


    Прямо так, в текстовом виде.
    Можете проверить воспользовавшись telnet (только без использования https), в зависимости от сервера будут отличаться заголовки.

    Вот тут немного подробнее.

    + ознакомьтесь с RFC 2616
    и в догонку Resources and specifications
    Ответ написан
    3 комментария
  • Почему в конструкторе не могу написать так?

    e-vyushin
    @e-vyushin
    Frontend engineer
    Думаю основная причина почему кажется что это должно работать — это непонимание разницы между функцией в JS и методом объекта. Это не одно и то же, несмотря на то что оба варианта можно вызвать подписав скобочки () в конце :) Да, вызывать можно и функцию и метод объекта, а вот создавать экземпляры методов нельзя.

    В указанном Вами примере внутри функции Man вызывается new this.Man. Это означает, что создаётся экземпляр Man, а значит сам Man должен иметь конструктор (грубо говоря быть классом).

    Функции в JS имеют конструктор, а методы объектов не имеют. Функции и методы объектов это не одно и то же. Рассмотрим такой пример:

    const obj = {
       Man() {}
    }

    в данном случае Man() это просто метод объекта. У него нет своего конструктора. Т. е. нельзя создать его экземпляры через new. Но можно его вызвать:

    const obj = {
       Man() {}
    }
    obj.Man();

    это корректный вариант.

    Но создавать экземпляры нельзя. Например:

    const obj = {
       Man() {}
    }
    new obj.Man(); // Будет ошибка. TypeError: obj.Man is not a constructor

    А вот экземпляры функции можно создавать. Например:

    const obj = {
       Man: function() {}
    }
    new obj.Man(); // Всё ок

    для того чтобы создать экземпляр функции не обязательно конечно чтобы она была внутри объекта. Можно и так:

    const Man = function() {}
    new Man(); // Всё ок

    При желании можно поискать инфу на тему почему можно создавать экземпляры функции. Говоря вкратце, раньше в JS не было классов, по-этому наследование было реализовано через прототип функции. Это немного нелепо конечно, но в JS можно создавать экземпляры функции как если бы функция была классом. Сегодня в JS уже есть классы, так что лучше использовать их.

    Вывод: методы объекта и функции это не одно и то же.
    Ответ написан
    1 комментарий
  • Зачем придумали аргументы функций?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    А зачем в калькуляторе клавиатура? Давайте сделаем миллиард копий калькуляторов где каждый будет делать операции только с жестко заданными цифрами зашитыми в память. Зачем вообще юзеру давать возможность вводить свои цифры.
    Ответ написан
    Комментировать
  • Кто тупит: Premiere или я?

    nidalee
    @nidalee
    Так и должно быть, потому что у вас кодек inter-frame (один кадр ключевой, N после него - производные), а значит ПК постоянно производит расчеты, чтобы видео воспроизвести. Плюс когда перематываете - ПК сначала ищет I-фрейм, а потом рассчитывает тот, на который вы подмотались.
    Для монтажа придумали монтажные кодеки, у которых каждый кадр - отдельный, intra-frame. Например DNxHR\DNxHD, ProRes и прочие - конвертируйте видео в них, а потом работайте с конвертированным видео. Места занимают много, зато прекрасно перематываются.

    Можете почитать тоже самое, например, здесь: https://postproduction.emerson.edu/hc/en-us/articl...
    Ответ написан
    1 комментарий
  • Должны ли логи оставаться чистыми?

    glaphire
    @glaphire
    PHP developer
    Лучше переписать код так, чтобы "ненастоящие" ошибки не возникали, штатные ситуации хендлить, нештатные ловить в логах. Лишние логи это нездоровая ситуация для долгоиграющего проекта.
    Ответ написан
  • На каких языках можно задавать вопросы и писать ответы?

    Zoominger
    @Zoominger
    System Integrator
    Желательно на русском.
    Лишь бы не на смеси английского с рязанским, которым вы тут блещете.
    Ответ написан
    3 комментария
  • Почему кто-то может отметить ответ решением?

    Moskus
    @Moskus
    В вопросе содержатся ошибки.
    Во-первых, нет никаких "лучших ответов". Есть просто "решения". (Ну ещё голосование "нравится".)
    Во-вторых, отметка решением не делается "от имени автора". Признание ответа решением независимо от автора. Признать решением может автор, куратор тега или другие пользователи, если достаточное их число проголосуют за этот ответ.

    Делается это потому, что Тостер - это проект, цель которого - построение "базы знаний" по частным проблемам, а не удовлетворение потребностей и развлечение авторов вопросов. Потому, если ответ объективно решает проблему из вопроса, он может быть признан решением не только автором. Тем более, авторы часто забивают на то, чтобы отмечать решения, не понимают, что это нужно делать для тех, кто прочтет вопрос в будущем, или вообще стараются насолить некоторым отвечающим, потому что хотя ответ даёт решение, он может им не нравиться по каким-то совершенно субъективным причинам (например, потому что там говорится об объективном недостатке чего-либо).

    И нет, это никакое не "нарушение прав автора" (вы эти права сами только что придумали?), как вы пишете в комментариях. Каких прав? Права не отмечать ответ решением? Его никто не нарушает - автора никто не заставляет отмечать, отмечают другие. Или права запретить другим отмечать ответ решением? Ну так это вообще абсурд. То, что автор не может воспользоваться решением или что он недоформулировал вопрос так, что его реальная проблема не соответствует проблеме в вопросе, не делает решение неправильным.
    Ответ написан
    9 комментариев
  • Почему PHPunit не видит тесты?

    @Kirill-Gorelov
    С ума с IT
    Меня смущает вот это
    phpunit.xnl.dist и phpunit.xml.dist

    Два разных названия
    Ответ написан
    1 комментарий