All streams
Search
Write a publication
Pull to refresh
0
0
Send message
Не смущает, что по правилам RM публиковать решения плохо? Там вот буквально: «We remind you that publishing solutions on Internet (Youtube, Github, personal blog, ...) is forbidden.»
Вы напрасно иронизируете, опираясь на свой опыт небольшой компании с одним кофепоинтом на этаж. На моём этаже их семь. Не Дубаи. Не Газпром. На всякий случай: этажей и зданий с ними тоже не по одному. Правда, и не Новосибирск.

Про офисы IT-компаний России немало статей с десятками фотографий. Почитайте. Посчитайте «экономию», учитывая стоимость аренды и обслуживания квадратного метра в Москве, например. Подумайте, почему этим компаниям выгоднее не занимать разработчиков тасканием пакетов с колбасой на свой этаж, но обеспечивать условия работы от мандаринки на кофепоинте до компенсируемого (а и то и собственного) спортзала и хорошего ДМС.
> Кстати, всякие корпоративные печеньки, тимбилдинги, пуфики, в которых можно лежать — это прежде всего способ сэкономить на зарплате.

Нормальная экономия зарплаты, да:
  • Обеспечение кофепоинтов посудой-техникой — от чайников до кофеварных автоматов с различным наполнением.
  • Логистика припасов — чаи (20 видов), сиропы (2), печенья (10), орешки (3), сухофрукты (3), фрукты-овощи (5-10), молоко (3), питьевая вода (от баков для кулеров до бутылочек просто так) и т.д.
  • Штат персонала с белым оформлением, полный рабочий день занимающегося доставкой, помывкой, нарезкой и т.д.
  • Мимимишная мебель, включая пуфики (кстати, вот мне удобнее стула) с периодическим клинингом.
  • Аренда помещения под промежуточное хранение.
  • Сопутствующие расходы в виде платежей за электроэнергию, воду, вывоз мусора.

Всё это умножаем на масштабы больших компаний (если вода, то приезжает небольшая фура; если молоко, то на этаж развозят по грузовой тележке — ежедневно), добавляем ещё десяток пунктов, о которых я забыл (скажем, менеджеров на штате — должен же кто-то со стороны компании всем этим рулить)… Ёлки-моталки, как же выгодно экономить на зарплате, а.
Вот потому я и написал «в хоть сколь явно виде». :)

Моя критика этого пункта основана на разборе кода на собеседованиях и кода junior'ов. Так вот, пусть в множестве статей и описывается опасность range(), крайне редко читающий осознаёт, чем это оборачивается на практике. Когда начинаешь спрашивать, мол, товарищ, а что же такое «сразу готовый список», чем это плохо, как выглядит это «плохо», начинаются проблемы.

Потому в педагогических целях (вы ведь новичкам помогаете) мне видится гораздо более конструктивным явная и ясная демонстрация, а не информация глубиной в n уровней: [готовый список] —> [выделение памяти, о чём начинающие питонисты не думают никогда] —> [памяти может не хватить] —> [в продакшене MemoryError].

У вас хорошая статья, но ведь её можно и улучшить.
М… Возможно, у меня замылился взгляд, но после двух дополнительных прочтений статьи не нашёл в хоть сколь явном виде информации о том, что Python 2.x range() создаёт структуру целиком.
Ни один рассказ про range() в Python 2.x не должен умалчивать о том, что range(очень_большое_число) валится по памяти, потому при code review всегда надо либо заменять на xrange(), либо очень внимательно следить за тем, чтобы не влепить туда большое число. Выглядит примерно так:

>>> range(100000000000000)
python(5218,0x7fff797dc000) malloc: *** mach_vm_map(size=800000000000000) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "", line 1, in MemoryError
Есть некоторая ловушка во всём этом. Человек, у которого «настоящая» депрессия, подавлен и апатичен. У него нет мотива ставить цели и что-либо решать. Да и мозг работает несколько менее продуктивно. И как-то наивно, пардон, в качестве сопутствующей терапии рекомендовать то, что депрессирующий выполнить не может:
— Я плохо бегаю, мне плохо.
Начни бегать хорошо! Тебе станет лучше!
— Ооок...

Information

Rating
Does not participate
Registered
Activity