Задать вопрос
  • Надо ли применять вежливость на проектах Хабра?

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

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

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

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


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


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


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


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


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

    5d7584d95e90a804618712.png

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

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

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

    При всем уважении, я освоил программирование в 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 комментарий
  • Почему компонент unknown?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Суть проблемы в том, что у анонимной функции пустое свойство name.
    React использует либо заданное свойство displayName, либо собственное свойство функции name. Ни одно из свойств не найдено и вы видите Unknown
    connect в свою очередь, если при создании обертки не находит одно из этих свойств использует слово Component, которое вы и видите в скобках.

    По-хорошему, компоненты описывают так:
    const MovieList: React.FC<MovieListPropsType> = ({ ... }) => { ... };
    
    const mapStateToProps = createStructuredSelector({ ... });
    
    const mapDispatchToProps = { ... };
    
    export default connect(mapStateToProps, mapDispatchToProps)(MovieList);


    P.S. у вас ошибка в слове Desktop.
    Ответ написан
    4 комментария
  • Зачем в современном php фреймворки?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Ну вот вы сами себе противоречите
    плохо не использовать фреймворки в современном php?

    наш микро фреймворк документирован

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

    Ну а на Ваш вопрос - Зачем в современном php фреймворки можно ответить очень просто - А зачем Вы в процессе разработки создали свой микрофреймворк?
    Ответ написан
    Комментировать
  • Как внутри программы определить куда вывод идет в терминал или в файл?

    @lil_Toady
    Автор заметил что вывод разный, то что он сам направил вывод в файл он в курсе :)

    Узнать пишем ли мы в терминал можно так:
    isatty(fileno(stdout));

    istty находится в io.h, а fileno в stdio.h

    И ls, действительно смотрит если вывод в терминал - то в одну строку, иначе - в несколько:
    https://github.com/coreutils/coreutils/blob/master...
    Ответ написан
    Комментировать
  • Может ли тег быть частью вопроса?

    Moskus
    @Moskus
    Какой-то свирепый поток сознания.
    Теги на Тостере используются для выборки, поиска, подписок. Иногда они уточняют контекст. Например, если кто-то спрашивает про регулярное выражение, а теги прописал "RegEx", "PHP" - тогда сразу понятно, о каком синтаксисе речь.
    Однако, если вопрос про селектор CSS, из текста вопроса не следует никакой контекст, а в тегах, внезапно, "Блокировка рекламы", сходу догадаться о том, что речь о CSS-подобном синтаксисе uBlock - весьма сложно. Потому этот тег выглядит ошибочным, лишним.
    Дублировать теги в тексте вопроса - не нужно. А вот формулировать вопрос так, чтобы было понятно, о какой конкретно задаче идёт речь - обязательно. Из хорошей формулировки и смысл тегов будет лучше ясен, так что их никто не удалит.
    А иммунитет от редактирования - это зло. В 95% случаев авторы не хотят принимать правки, это делают модераторы. Кто-то считает правки оскорбительными, кто-то считает, что лучше знает, как по-русски писать, и так далее. Один малолетний идиот мне в комментариях даже череп раскроить за правку его "шедевра" грозился. Я очень долго смеялся, но это меня дополнительно убедило, что функционал редактирования, контролируемый модераторами и кураторами, а не авторами - это очень правильно.
    Ответ написан
    4 комментария
  • Как убрать эти огромные пробелы в строке в microsoft word?

    Kalombyr
    @Kalombyr
    Вы ведь по "ширине" растягиваете, по-моему, такие пробелы и есть принцип его работы...
    Какое поведение вы ожидаете тогда?
    Ответ написан
    Комментировать
  • Чем отличается вторая форма нормализации от третьей?

    Третья нормальная форма не допускает наличия транзитивных зависимостей.

    Допустим, у нас есть БД автосалона. Имеется отношение Автомобиль(СерийныйНомер, Модель, Цена). Имеется зависимость СерийныйНомер -> Модель (т.е. для каждого авто мы всегда точно знаем модель этого авто). Также, так как у нас фирменный автосалон, а не продажа подержаных авто, цена автомобиля зависит только от его модели (т.е. все новые авто одной и той же модели будут стоить одинаково, всякие комплектации в расчёт не берем). Т.е. имеется зависимость Модель -> Цена.

    Т.к. по серийному номеру мы можем определить модель, а по модели - цену, то цена также зависит от серийного номера: СерийныйНомер -> Цена. Однако эта зависимость транзитивная: цена зависит не непосредственно (!) от СерийногоНомера, а от Модели. Следовательно, это отношение не находится в третьей нормальной форме (хотя находится во второй). Для приведения отношения в 3НФ его нужно разбить на два - МодельАвтомобиля(СерийныйНомер, Модель) и ЦенаМодели(Модель, Цена).

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