Search
Write a publication
Pull to refresh
40
0

Инженер-программист

Send message
Думаю этого достаточно чтобы по достоинству оценить «эксперта» и технического директора компании «Мы делаем сервисы» Никиту Соболева.


Вот не понимаю я такой манеры общения, хочется, чтобы хабр был профессиональным и конструктивным, но будем обвинять всех в тупости?
Вы привели ссылки на публикации, и что?

Если вы считаете, что человек не прав, приведите цитату из его утверждений (с ссылками разумеется), потом на источник, который доказывает, что он не прав, желательно сделать так несколько раз. Вы же просто привели публикации, но при этом у него есть публикации и на хабре и на других сайтах, а вы пока лишь, крикнули, что все вокруг плохие специалисты, а вы, видимо, Д’Артаньян. Ну и вставили несколько цитат великих, видимо, чтобы подчеркнуть свою элитарность. Но опять же, и что? Теперь совсем никому ничему не учить и не учиться, потому что три цитаты говорят, что все учителя не профессиональны?

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

P.S. Интересно, как тся\ться звучало в оригинале.
А математику с пределами, производными, интегралами и прочими вычетами оставили на потом?

Интересно, насколько это быстрее/медленнее аналогов.
Я в лекциях Савватеева наблюдал момент, когда по ходу лекции он забыл формулу нахождения корней квадратного уравнения (а это д.ф.-м.н. между прочим). Он слегка смутился, но тут же ее вывел и доказал.


Я вы часом не помните название? Может, сохранили ссылку, буду весьма признателен.
Разумеется правильно, но не всегда интуитивно, если подойти к человеку и спросить, чему равна целая и вещественная часть -2,7, скорее всего он скажет -2 и 0,7, а не -3 и 0,3. :)
Лучше не использовать целочисленное деление и floor/ceil для отрицательных чисел.
import math

e = 2.7

print(math.floor(e), math.floor(-e)) # - > 2 -3
print(math.ceil(e), math.ceil(-e))   # - > 3 -2


А по мат. определению дробная часть {-2,7} = 0.3.

А возвращаясь к остатку от деления, как правильно сказано в приведённой вами ссылке, обычный способ проверки на нечётность — это y % 2 == 1

Будет обидно, если эта проверка сломается из-за того, что для некоторых чисел данный остаток будет равен -1. Так что лучше не вводить отрицательных остатков.
А какую задачу вы решаете, что упираетесь в это?
В статье, ссылку на которую, я сбросил, сказано, что обычно в математике остаток считают положительным, число -22 представляется в виде:
-22 = -3 * 10 + 8
Прежде всего спасибо за наводку. (Скоро рекомендаций наберётся на отдельную статью).

Мы уже обсуждали этот вопрос.

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

У вас вот нет времени читать все статьи из цикла и комментарии к ним, у кого-то нет времени читать несколько книг. :) Так как перекинули на новый проект, который нужно сдавать вчера\вдруг что-то навернулось в работавшей несколько лет системе\через неделю сдавать курсач.

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

Надеюсь, всё же в цикле было несколько фактов, которые вы не знали.
А сколько должно быть?)
print(-22 // 10)    # -> -3
print(-22 % 10)   # -> 8

В руби так же
ideone.com/eMm8Dh
Происходит это потому, что остаток от деления принято делать лежащим в интервале от 0 до делителя, то он отрицательным быть не может.
ещё можно положить в стек ссылку на переменную, которую мы передаём в функцию.

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


не понял, о чем речь — на стеке значение переменной?

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

уточните, пожалуйста, от какого именно механизма отказались

Весь комментарий про это, внизу есть ссылки, или вас интересует реализация?

Если вкратце там словарь (имя переменной: ссылка на объект).
ideone.com/LPrD5j
Вчера тупил интернет, не получилось вставить этот комментарий в тред, а сегодня все его игнорируют, может здесь он позаметнее будет. :)
Текст статьи тоже изменил.
Если мне не изменяет память, в Delphi, Java и C# так же.


Изменила, в Java и C# коллекции, поддерживающие CoW, вынесены в отдельные пакеты.
Возможно, я не совсем понятно объяснил, что ж, попытаюсь быть понятнее.
В таких языках как C++ есть переменные, хранящиеся на стеке и в динамической памяти. При вызове ф-ции мы помещаем все аргументы на стек, после чего передаём управление ф-ции. Ф-ция знает размеры и смещения переменных на стеке, соответственно может их правильно интерпретировать.
При этом у нас есть два варианта: скопировать на стек память переменной или положить ссылку на объект в динамической памяти (или на более высоких уровнях стека).
Очевидно, что при изменении значений на стеке ф-ции, значения в динамической памяти не поменяются, а при изменении области памяти по ссылке, мы модифицируем общую память, соответственно все ссылки на эту же область памяти «увидят» новое значение.

В python отказались от подобного механизма, заменой служит механизм связывания(assignment) имени переменной с объектом, например при создании переменной:
var = "john"


Интерпретатор создаёт объект «john» и «имя» var, а потом связывает объект с данным именем.
При вызове ф-ции, новых объектов не создаётся, вместо этого в области видимости ф-ции создаётся имя, которое связывается с существующим объектом.
Но в python есть изменяемые и неизменяемые типы. К первым, например, относятся числа: при арифметических операциях существующие объекты не меняются, а создаётся новый объект с соответствующим значением, с которым потом связывается существующее имя. Если же со старым объектом после этого не связано ни одного имени, оно будет удалено с помощью механизма подсчёта ссылок.
Если же имя связано с переменной изменяемого типа, то при операциях с ней изменяется память объекта, соответственно все имена, связанные с данной областью памяти «увидят» изменения.

Можно почитать про это в документации, более подробно изложенно здесь.
Прошу прощения, можно поподробнее объяснить то, в чём, как вы думаете, я плаваю?
Честно говоря, не знаю, введено ли подобное поведение в спецификацию языка или является особенностью реализации CPython. Но многие языки явно требуют наличие подобного механизма. Например.
Вот здесь небольшой список, где ещё это поведение является стандартом.
Если мне не изменяет память, в Delphi, Java и C# так же.
даже после удаления всех объектов класса вся коллекция остается в памяти со всеми аттрибутами, созданными для каждого объекта.

Не удаляйте объекты. :)
А если серьёзно, то и так сложно придумать пример, когда такое может быть полезно (вот для форм или эмуляции физических систем), вряд ли мы захотим удалять такие объекты, а если и захотим, то удалять скорее всего будем с помощью метода класса.
Я бы вообще переменные отдельных экземпляров не хранил в таких случаях:
def init_system():
    Class(1)
    Class(2)
    Class(3)


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

Information

Rating
Does not participate
Registered
Activity