?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Организация вещей - morfizm


Nov. 20th, 2018 12:23 pm Организация вещей

Меня спросили, почему я вешаю футболки на вешалки (для земляков-соотечественников: тремпели).

Отвечаю. По целому ряду причин:

1. Для скорости доступа. Скорость извлечения и добавления в любое место структуры под названием "шкаф с вешалками" - O(1). Для стека имеем O(N).

2. Для лимитирования количества вещей, чтобы их количество было гарантированно manageable. Шкаф с вешалками один, а разных ящиков, куда можно пихать вещи, много. Соответственно, с ящиками куда легче допустить бесконтрольное размножение вещей.

3. Для уменьшения когнитивной нагрузки. Когда все вещи инкапсулированы в одного типа wrapper class (класс "вешалка", на которой может висеть одна вещь), доступ к ним быстрее, чем когда они в разных ящиках, или часть на вешалке, часть в ящиках. У меня на вешалках футболки, штаны и рубашки, а в ящиках только трусы и носки.

4. Для того, чтобы я мог позволить себе иметь разные вещи. Чтобы получить O(1) для ящика, там должны быть одинакового типа вещи. Соответственно, трусы и носки годятся для этой цели: они одинаковые*, и мне никогда не потребуется доставать что-то из середины или класть в середину. Я всегда работаю только с верхним элементом, к которому доступ O(1). А вот рубашек у меня несколько (три штуки целых!). Футболок два типа. Нужен контейнер с быстрым случайным доступом.

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

22 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:birdwatcher
Date:November 21st, 2018 12:03 am (UTC)
(Link)
Ну не знаю, у меня рубашки на вешалках потому, что именно в таком виде их выдают в прачечной. Если бы выдавали в ящиках, держал бы в ящиках.
From:morfizm
Date:November 21st, 2018 12:37 am (UTC)
(Link)
Да, надо присмотреться к Чикаго. Я тут по-плебейски покупаю Cup Noodles, а они, значит, в прачечную ходят.

Edited at 2018-11-21 12:37 am (UTC)
From:metaller
Date:November 21st, 2018 12:51 am (UTC)
(Link)

Небось  ездят в прачечную на такси ;)

From:freeborn
Date:November 21st, 2018 04:06 am (UTC)
(Link)
А развёрнутый пост, как программисту в долине прожить на cup noodles, будет?
From:metaller
Date:November 21st, 2018 06:37 am (UTC)
(Link)

Noodles это углеводы - самый лучший, быстрый и  эффективный способ набрать вес.

From:fizzik
Date:November 21st, 2018 02:02 am (UTC)
(Link)
Но ведь рубашку, пролежавшую в ящике, придется перед использованием гладить!
From:morfizm
Date:November 21st, 2018 02:08 am (UTC)
(Link)
Поинт!
From:morfizm
Date:November 21st, 2018 02:25 am (UTC)
(Link)
Профсоюзы протестуют! Нужно немедленно запретить вешалки, чтобы создать гладильщикам рубашек рабочие места.

Edited at 2018-11-21 02:26 am (UTC)
From:birdwatcher
Date:November 21st, 2018 03:49 am (UTC)
(Link)
Ты прав. Наверное, потому и выдают на вешалках.
From:li111
Date:November 21st, 2018 02:42 pm (UTC)
(Link)
Эту проблему легко решает правильно подобранная мебель.
Паровой шкаф для ухода за одеждой LG S3RERB Styler - все гладится само и всегда свежее, даже если не стиралось (это для верхних вещей, ну и курильщикам )
From:dennyrolling
Date:November 21st, 2018 03:38 pm (UTC)
(Link)
аааа у него вайфай и он продается в костко!!!!

https://www.costco.com/LG-Styler-WiFi-Enabled-Steam-Clothing-Care-System.product.100428026.html
From:li111
Date:November 21st, 2018 03:56 pm (UTC)
(Link)
Хотели бы такой дома?
From:dennyrolling
Date:November 25th, 2018 08:31 pm (UTC)
(Link)
начинаю уже думать об этом!
From:li111
Date:November 21st, 2018 03:59 pm (UTC)
(Link)
From:morfizm
Date:November 21st, 2018 11:09 pm (UTC)
(Link)
Чудесно! Всего килобакс
From:dennyrolling
Date:November 21st, 2018 03:34 pm (UTC)
(Link)
а мне не нравятся вешалки из прачечной (у нас тонкие проволочные) и каждый раз когда рубашки на них приходят я, матерясь, перевешиваю на обычные.
From:birdwatcher
Date:November 21st, 2018 03:40 pm (UTC)
(Link)
Рекомендую представить, что вы перевешиваете не все рубашки одновременно, а по одной, причем каждую в тот момент, когда ее надеваете. Тогда становится понятно, что можно ничего никогда не перевешивать, а только надевать каждый день новую рубашку и выбрасывать при этом ее вешалку.
From:dennyrolling
Date:November 21st, 2018 03:43 pm (UTC)
(Link)
брейнхак :)
From:morfizm
Date:November 21st, 2018 11:10 pm (UTC)
(Link)
Lazy approach - вы экономите на инициализации, но потом всё тормозит.
From:birdwatcher
Date:November 21st, 2018 11:12 pm (UTC)
(Link)
Я профайлил, на моей архитектуре деревянные вешалки не быстрее проволочных.
From:dennyrolling
Date:November 21st, 2018 03:41 pm (UTC)
(Link)
у меня футболки рассматриваются как (практически) неотличающиеся, и поэтому лежат стопочкой. иногда приходит в голову "а, вот эта футболка подойдет лучше через несколько дней" (например, нуглерская футболочка близко к годовщине начала работы в гугле), и я такую откладываю во вторую стопочку (которая никогда не больше чем две футболки, так что доступ к ним практически константный).
From:morfizm
Date:November 21st, 2018 11:12 pm (UTC)
(Link)
Это тоже метод, но потом разрастается: футболки - вот уже две стопочки, штаны стопочка, рубашки на вешалках, вот тебе уже 4 разных storage systems, с которыми надо interface. У меня всё в одной!