• Как узнать пересечение линий?

    @abcd0x00
    fshp:
    Немного другой способ, значения нормализованы.

    Это не немного другой способ - это система уравнений с векторами.

    Вот твой пример
    min(A.x, B.x) <= x <= max(A.x, B.x)

    Вот так не прокатит. Хоть по условию отрезки соединены последовательно, но мы можем рассматривать, допустим, первый и пятый, которые могут быть расположены как угодно по отношению друг к другу. И, значит, они имеют такие координаты: два отрезка AB и CD.
    AB A(0; 0) B(10;10)
    CD C(5; 4) D(9; 0)

    У них нет точки пересечения, но точка пересечения прямых - X(4.5; 4.5), вот она попадает в твоё условие.
  • Как узнать пересечение линий?

    @abcd0x00
    fshp: это известная задача, она так не решается. Можешь подыскать два отрезка, которые не пересекаются, но располагаются так, что попадают в твоё условие.
  • Существует ли аналог команды test из linux на windows?

    @abcd0x00
    Команда test на linux выводит тип файла

    Тип файла выводит команда file.
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    @abcd0x00
    spotifi:
    1. Не бывает неизвестных форматов. По заголовку файла можно опеределить название формата. И поставить вполне конкретный кодек.
    2. Не ставлю кодеки уже лет 5. Media Player HomeCinema, скачиваемый только с официального сайта, все понимает.

    Это если ты только киношки смотришь в распространённых форматах. Если же это специальный формат какой-то или просто редкий или очень новый, то распространённые кодеки могут его не знать и тогда выбирать особо не из чего. А при поиске может быть найден пакет, который вместе с кодеком включает ещё какую-то нагрузку. Ну, и бывают люди, который заражают на чужих сайтах софт своими пэйлоадами; где-то даже дистрибутив линукс заразили, но быстро обнаружилось. А сколько скрытых таких?

    Даже ребята из угасающего Рамблера давным-давно уже там (ngnix).

    Ты всерьёз считаешь, что nginx - заслуга Рамблера? Где-то даже суд был или около того, когда они примазаться пытались. Знаешь, любят у нас люди на всё готовенькое прийти (так же и с ВКонтакте было, когда готовую соцсеть просто отобрали у владельца), почему Яндекс и не регистрируется в России - отберут на раз два совершенно левые дяденьки.

    А уж Яндекс с их несомненно более мощными ресурсами разработчиков - вполне.

    Да ладно, спектр их разработчиков довольно широкий, набирают всех от мала до велика. По крайней мере, лекции у них слабые. А количеством такие вещи не возьмёшь, nginx вообще разработан одним человеком - 70000 строк кода, а PostgreSQL - тоже небольшой группой товарищей. Дело не в количестве, а в том, что довольно грамотные люди работают ради самой идеи, а не за деньги.

    Мы обсуждаем десктопную ОСь чисто для рабочего места разработчика.
    А ты приводишь в пример описание чисто серверного ПО.

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

    За это время было несколько переездов на новое железо - методом копирования диска. Без переустановки. Если бы была бы проблема, давно бы все рухнуло.

    Да тебя просто никто не ломал. Там же дос-атаки проводить - милое дело, просто что-то куда-то посылаешь и весь сервер падает. Неуловимый Джо - никто не поймал, потому что никто не ловил.

    На клиенте у Linux все гораздо хуже. Например, попытайся установить современный Firefox.

    А зачем? Несовременный почти не отличается от современного. Или тебе расширения нужны?
    Главное, что в том старом виде его можно юзать и сегодня. А в винде так нельзя, выпадет браузер, потому что сделан по принципу костылей на костылях.

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

    А что, там разве нельзя ставить без зависимостей и добирать потом только то, что надо? У меня можно, хотя и такие драйвера мне не мешают, так как в отличие от виндовых они жрут не больше килобайт.
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    @abcd0x00
    АртемЪ:
    По поводу парсеров - зачем мне парсер на рабочей машине? На рабочей машине работаю я.
    А всякие скрипты крутятся на сервере, и не мешают мне работать.

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

    Во вторых, если она сломалась, кто мешает откатить к прежней контрольной точке?

    А ты не откатывал ;) иначе бы знал, что при этом происходит.

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

    Да это были кодеки для промотра неизвестного видеоформата. Вместе с кодеками пролезла хрень в службы. И ты это никак не пресечёшь, потому что виндовая фирма не предоставляет все эти средства. Приходится искать сторонние, которые могут содержать в себе что угодно.

    spotifi:
    Стабильно работать - это без обновлений ПО что ли? Или компилировать самому?

    Приведи пример ПО, которое ты обновляешь.

    Используем Yandex.Cocaine. Штука хорошая, написана и поддерживается серьезной конторой.

    Ну, это ты преувеличил. Яндекс ещё не вышёл на международный уровень в разработке.

    Описание Cocaine
    Вот цитата оттуда
    Поддержки Windows, к сожалению, нет, и не планируется, но это не значит, что пользователи, например, C# не смогут воспользоваться облачными сервисами, которые крутятся где-то в другом месте — достаточно написать подходящий фреймворк (что это такое будет рассказано далее).

    Странно, да? Такую хорошую систему если и поддерживают, то в последнюю очередь.

    Ты застрял в 2002 году - году выпуска Windows XP без SP.

    Так в лине-то можно сидеть на эквивалентных релизах и всё будет работать, как часы, без всяких обновлений. В винде же что-нибудь надо будет починить (исправить), а для этого надо будет поставить Internet Explorer, потому что без него хелп не читается к какой-нибудь вспомогательной программе. Как-то завис так с установкой одной программы, когда необходимо было поставить кучу ненужных компонентов, которые к ней вообще не относятся, иначе без них она не ставилась. И среди них был Internet Explorer, который мне вообще нафиг не нужен.
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    @abcd0x00
    АртемЪ:
    И нафиг мне собирать парсер под винду? Я парсеры пайтоновские обычно под дебианом запускаю.

    Так запускай виндой, если есть что запускать, конечно. У меня, кстати, наоборот, - винда в виртуалке стоит и грузится из снимка всегда новенькая. И то это не для работы какой-то, а для проверок всяких типа запустится ли там очередная хрень или ОПЯТЬ выпадет где-нибудь.

    Если такого желания нет - зачем переставлять?

    А как ты откатишь винду, если она сломается?

    spotifi:
    Милок, за 12 лет репы по 5 раз у linux отваляться

    Да в лине и без реп можно работать стабильно. В винде же поставишь какой-нибудь софт (а необходимость в этом есть с самого начала) и из него тебе прямо в службы пролезет какая-нибудь очередная рекламная фигня, прочно там сядет и будет советовать куда-нибудь сходить из своих dll-шек.
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    @abcd0x00
    АртемЪ:
    Хотя на windows это делается как правило проще, и не требует специальных знаний.

    Есть, например, парсер сайта на питоне, который базируется на lxml. Вот с виндой ты должен будешь новый парсер писать, потому что lxml не сможешь собрать под винду. Пока ты будешь писать новый парсер, я буду передавать собранные данные дальше по цепочке даже не в БД, а другому скрипту.

    spotifi:
    Не переставлял Windows на серверах с 2004 года.

    Это, конечно, целое достижение, и можно даже медаль на грудь повесить за непереустановку винды (все поймут, в чём суть медали). Но в лине - это только вызывает вопрос: "А что, надо что-то где-то когда-то переставлять? Неужели в 21-м веке существуют такие непродуманные системы?"
  • [С++ ]Поставил begin — поставь и end. Как распознать вложения и правильно поставить в коде end?

    @abcd0x00
    fshp: да я удалил ответ по той же причине. В первый раз не заметил про проверку. Вообще, сойдёт, пока к begin end не добавится ещё какая-нибудь пара.
  • Как линкуются .cpp файлы к файлам .h?

    @abcd0x00
    Артём Петренков: заголовок бинарника добавляется и с внутренними адресами в программе там ещё что-то происходит. И процесс линковки всё это включает.
  • Как линкуются .cpp файлы к файлам .h?

    @abcd0x00
    jcmvbkbc: Он спросил, как из .h файлов получается информация из .cpp файлов. Вот и я ему ответил, что .h включаются в .cpp как текст с помощью препроцессора. А потом это всё всё-равно одним файлом становится. Но не файлом, а уже готовым кодом, и вот он уже транслируется. Даже если ты сделал объектные файлы, даже если ты их связал, то это ещё не конечная программа. Он там ещё дальше транслирует это всё.
  • Как линкуются .cpp файлы к файлам .h?

    @abcd0x00
    jcmvbkbc: согласен на счёт неточности, что после препроцессора это всё-таки несколько файлов. Потом оно компилируется в несколько объектных файлов, а уже потом они соединяются воедино.
  • Как линкуются .cpp файлы к файлам .h?

    @abcd0x00
    jcmvbkbc: я это и имел в виду, что после разрешения всех конфликтов имён всё это становится единым кодом. А файлом назвал, чтобы ему было легче представить, поэтому там написано "как бы".
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp: Ты думал, он про C спрашивает, а он не про C спрашивает, а про C89, который толи подмножество, толи не подмножество. Это тонкий вопрос, с которым все сталкиваются, и это просто надо знать, что там есть незначительные отличия.
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp: Он конкретно спросил "почему не является подмножеством? ведь оно же является подмножеством, я же помню" - значит, в виду имеется C89.

    Вот он пишет
    Спорить-то и нечего, но сколько помню, то все функции языка Си поддерживаются в C++.

    И это правда, все функции поддерживаются, но функции из C89. А в C99 уже появились ещё функции. Вот они не поддерживаются.

    А ты ему массив переменной длины в том плане, что C не является подмножеством C++. Он-то справшивает, почему C89 не является подмножеством C++. И мы ему отвечаем.
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp:
    Это вы уже пытаетесь притянуть за уши, что c89 является подмножеством

    Так он им почти является, потому что всё из C89 включено в C++. Почему почти, потому что C++ включает его полностью, но накладывает свой стандарт, отменяя некоторые вещи. Например приведение к void *. В C это можно, а в C++ - нельзя.
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp: Ты можешь понять или нет, что ты не можешь их сравнивать, потому что это разные языки?
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp: Тебе ещё раз говорю, ты не разбираешься в этих вопросах. Это в старых книжках пишут такую фигню про C, и значит она не C99 и не C11, а именно C89, потому что ни на каком новом стандарте C++ не основывался. Когда эти книжки писались, был в ходу C89, поэтому они его называют C, имея в виду именно C89. Они не имеют в виду C99. А ты привёл пример из C99, потому что никаких массивов с переменной длинной не было до него. Ты-то думаешь, что C99 какое-то отношение к C++ имеет. Так вот никакого отношения он к нему не имеет ВООБЩЕ.
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp: Ты ответил про C99, а он не входит вообще в C++. Его просто нельзя так рассматривать. Все эти разговоры про то, является ли C++ надмножеством C или не является, следует переводить как "является ли C++ надмножеством C89 или не является". Ты просто не знал этого, вот и ошибся (плохо разбираешься).
  • Код C, который не будет работать в C++?

    @abcd0x00
    fshp: Во-первых, C и C++ - это разные языки. Поэтому рассматривать, что входит в C++ из C просто неправильно. Это всё равно, что рассматривать, что входит в C++ из Go. Во-вторых, исторически C++ основывался на C (чтобы пересадить пользователей с C) и большинство конструкций взято из C напрямую без каких-либо изменений. Так как было это ещё до C99 - естественного развития C89 - фишки из C99 просто не попали в C++ (тот же модификатор restrict и новые составные литералы). Так что мы не можем рассматривать даже C99 в контексте C++, потому что в том же C99 уже давно есть тип long long int, тогда как в C++ его добавили только лет через 10. Поэтому всё можно рассматривать только в сравнении с C89. А в C89 не было массивов переменной длины.