Pull to refresh
17
0

Пользователь

Send message
Есть вопрос по поводу второго абзаца: от какого момента отсчитываем сотни тысяч лет?
Если от момента большого взрыва, то за это время разве что успели сконденсироваться первые атомы. Образование звезд — это уже миллионы лет от большого взрыва.
C жаркой Вам лучше сюда.
А попу Jennifer Selter Вы не трогайте, она для науки.
Релиз это конечно хорошо, но невозможность переключать раскладку по CapsLock была для меня неприятной неожиданностью.
Давайте проясним ситуацию.

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

В алгебре, деление определяется через обратный элемент. Т.е. условно: если есть действительное число a, то обратным к нему элементом будет A, такой что a * A = A * a = 1. Тогда деление b / a, это просто умножение на обратный элемент b * A. Но если a = 0, то такого A просто не существует, т.е. операция деления на 0 не определена.

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

Например:

1) Если у нас есть частное c = 1/x и x -> 0, то чем ближе x к нулю, тем больше c, и понятно, что с будет все возрастать и возрастать с приближением x к нулю, т.е. c будет бесконечно большой величиной. Тут-то и появляется эта самая ∞.

2) Пусть теперь имеем с = (1/2 * x) / (2*x), x -> 0. Тут, 1/2 * x стремится к 0, при x -> 0; 2*x тоже стремится к 0, при x -> 0, и вроде бы у нас получается неопределенность 0/0. Но это не так, фактически мы имеем тут отношение двух бесконечно малых величин (в пределе равных нулю), но эти бесконечно малые, что называется, одного порядка малости и
lim_{x -> 0} (1/2*x)/(2*x) = 1/4,
т.е. данная неопределенность раскрылась в обычное конечное действительное число.

3) Пусть теперь с = x^2/(2*x), x -> 0. Тут, как и в пункте 2) имеет место неопределенность 0/0, однако отличие в том, что x^2 стремится к нулю гораздо быстрее, чем 2*x, т.е. это величина большего порядка малости, и
lim_{x -> 0} x^2/(2*x) = 0,
т.е. в данном случае 0/0 у нас, грубо говоря, равен 0.

Но все это только с точки зрения предельных величин — частное от деления на обычный 0, как было, так и остается неопределенным.

P.S. Прощу прощения у профессионалов, возможно читающих данный комментарий, за не совсем идеологически верные примеры и серьезное упрощение — сложно в таком объеме строго прояснить данный вопрос.
Прямо всегда-всегда? ^_^ А 0/0 — что получится? Или ∞/0?
Вообще деление на 0 — не такая однозначная процедура, и по сути является абстракцией при работе с бесконечно малыми, как собственно и ∞.

Но мой комментарий не про математику, а про то, что пушку еще нужно разогнать до скорости света, и вообще говоря масса ее при этом будет равна той самой ∞, а для этого нужно ∞ количество энергии, как справедливо заметил камрад в комментарии выше.
Если что, это был намек на преобразования Лоренца в СТО. Правда, похоже, понятный только мне :(
Я смотрю, все вспоминают «Свет былого», но что-то не все вспоминают про CTRL+F.
Вы, никак, на 0 собрались поделить? В нашей вселенной это, знаете ли, не очень поощряется :)
Забыл надеть свою шапочку из фольги перед просмотром, и вот результат :)
Как показали грамотно — я почти поверил! Интересно, что будет в голове, если смотреть телевизор каждый день?
Адепты Copy-Paste Driven Development возликовали.
Ой-вей, только j < n-i, опечаточка вышла.
Как насчет этого?

Или, если брать Ваш пример кода, то нужно сделать следующие небольшие изменения:
for (int i=1;i<n;i++)
  for (int j=0;j<i;j++) 
    if (to_sort[ref[j]] > to_sort[ref[j+1]])
      swap(ref[j],ref[j+1);


В чем суть: это небольшое изменение снизит количество сравнений с n*(n-1) до n*(n-1)/2, при этом оставив сортировку корректной. Насколько я знаю, это лучшая возможная реализация сортировки пузырьком.

О корректности:
К концу первой итерации внешнего цикла максимальный элемент будет находится в конце массива. Потому, на второй итерации, когда мы будем гнать «второй сверху» элемент на предпоследнее место в массиве, нам нет смысла сравнивать его с последним, потому что тот, заведомо больше. Отсюда и условие j < i.
Это Вы так шутить изволили? :)
Не совсем понятно, что автор имеет в виду, говоря, что после преобразования Фурье каждый бит информации касательно временных данных будет потерян. «Не будет в прямой доступности» — да, но потерян? Обратное преобразование Фурье еще никто не отменял.
А можете указать конкретный юзкейс? У меня просто с этим проблем не возникало.
Да установка любого нативного гема, часто превращается в кошмар, тот же json, например, или therubyracer, который вообще не собрать под виндой. В принципе, сборка чего либо по Windows, мне видится гораздо менее тривиальной задачей, чем сборка под Linux.

Без обид, но это конечно уж совсем какой-то не корректный вывод, не подкреплённый ничем. Вообще это тема для отдельного спора. Разумеется, когда мы говорим о рельсах и рубях — имеем ввиду GNU/Linux окружение, что называется, by default. Но есть множество людей, которые пишут и деплоят приложения на винде и у них проблем не возникает абсолютно. И я в их числе.
Успешность использования того или иного инструмента зависит во многом от задач, которые Вы решаете с его помощью. Если мне нужен Sidekiq для своего проекта, я не рискну связываться с Windows. Мой комментарий, что для Ruby\Rails разработки лучше использовать Linux означал, что при прочих равных возникнет гораздо меньше проблем связанных с настройкой рабочего окружения и функционированием отдельных его компонент при использовании Linux, а не Windows. Т.е. все, что я могу сделать в Windows я могу сделать и в Linux и скорее всего это будет даже проще, но не все, что я могу сделать в Linux, я могу сделать в Windows. Default, он, знаете ли, не просто так default.
Я понимаю, что пост нацелен на то, чтобы помочь поднять рельсы людям, которые не рискнули немного поднапрячься и погуглить или заглянуть в pick axe. И возможно это дело благое, все-таки все по разному обучаются, и не мне судить. Но упрощая, не создавайте дополнительный хаос высказываниями вроде
"@" означает, что переменная будет передана в шаблон.
не стоит забывать, что мы все-таки не на рельсах программируем, а на руби.
Ну, на винде, к слову гораздо меньше проблем с тем, чтобы поднять рельсы — railsinstaller.org/; на все про все пару кликов.
Вот когда у Вас возникнуть проблемы на винде, так это когда Вам нужно будет собирать гемы — процесс до того временами тяжкий, что даже сильного мужчину заставит плакать.
В общем, лучше не использовать винду для разработки на руби и для работы с рельсами.
Okay. Alright. А как насчет задач из курса? Практическая часть полезная/интересная?
Похоже интересный курс. Жаль, что начался 3 недели назад.

Information

Rating
Does not participate
Registered
Activity