С этим небольшая проблема :) У меня CWM 5.x, а в нем, как он говорит, убрали поддержку amend скриптов, поэтому пришлось конвертить ваш патч в edify. Использовал конвертер amend2edify-v1.0.1.1. Не уверен, может быть и он поломал. По сути еще одна проверка ничего не должна изменить, поскольку файлы все равно перезаписываются. Видимо дело в самих файлах.
HTC Desire CM7 — после обновление через программу из маркета зависал при загрузке.
После обновления через recovery поверх — также зависал. Пришлось CM7 ставить поверх, тогда завелся (но со старыми таймзонами, понятно дело).
Вот несогласен. Хорошо переведенная игра слов помогает поддерживать тон статьи, заданный автором. Часто можно видеть развязную и свободную статью в оригинале которая превращается в сухой неинтересный текст.
В данном случае даже по названию можно понять, что статья научно-популярная с долей шуток-прибауток. Поэтому переводить её исключительно по смыслу было бы не правильно.
С другой стороны перевод с роликами тоже ввел в меня в ступор изначально, быть может вообще не стоило пытаться переводить это предложение попыткой поиграть словами, а вставать просто что-то с претензией на шутку. Быть может вида «куда же подевались наши шарики». По-моему изначальный смысл про «потерю шариков» был важнее смысла «сойти с ума», хотя тут на каждый вкус фломастеры разные.
Конечно можно воспользоваться слабыми ссылками. И я даже думаю нужно, если кеш достаточно большой. Только в данном случае «в лоб» воспользоваться не получиться, потому что Dictionary будет хранить слабую ссылку на объект, а больше ссылок не будет. Потому при первой же сборке мусора они все «улетучаться».
Вообще в нете тема слабых ссылок очень тонкая и деликатная. Я бы сказал даже интимная. Нужно 100 раз подумать и просчитать ситуации, прежде чем их использовать. Особенно в кешах где время жизни объекта просчитать трудно.
Для уменьшения кеша я бы в данном случае наверное просто бы завел счетчики времени последнего доступа
P.S.: Ну это не пост про новый айфон, тут каждый комментарий на вес золота :)
Хвостовая рекурсия в данном случае не даст эффекта memoization. Потому что при memoization будут сохранены уже вычесленные результаты для функции factorial с конкретным аргументом. В данном случае для всех от 0 до 10100. Поэтому в данном случае рекурсия нам нужна как воздух чтобы применить memoization. Без рекурсии у вас будет оптимизированный цикл, который, понятно дело, не будет вызывать себя же с другими параметрами. И мемоизация сработает только на самом верхнем уровне. Для аргументов от 10000 до 10100. И когда вы будете вычислять факториал для 9999, оно начнет считаться с самого начала.
А так оптимизация хвостовой рекурсии очень нужная вещь, да :)
На самом деле я не знаю зачем корежить язык в данном случае. Довольно давно есть термин «меморизация», который означал сохранение промежуточных результатов вычислений с целью потом их использовать. Например динамическое программирование очень часто это использовало.
Потом появляется спаситель на белом коне и придумывает термин «memoization». И понеслось. Причем это же не слово какое-то. Человек сознательно выкидывает одну букву чтобы было «не как у всех». А потом у нас появляются идиотсткие термины. Типа «тред» или «нить». Хотя «поток» так и просится как перевод к слову thread.
Собственно это вопрос предпочтений. Менять в статье наверное не буду, либо если кому-то еще не все равно то поменяю на латиницу. А «мемоизацию» глаз как-то не терпит.
Поясню еще раз свою позицию, так как оригинальный термин memoization был придуман специально для данного случая. Я использую более общий термин означающий в данном случае «сохранение вычисленных значений», а не «avoid repeating the calculation of results for previously-processed inputs». И как мне кажется, термин с «р» в данном случае подходит больше, чтобы не плодить buzzwords, поскольку смысл все равно настолько близкий, насколько это возможно.
Можно, конечно, объяснять на MS IL. Но не думаю что от этого будет проще :) В данном случае не используются какие-либо синтаксические подсластители C#. Думаю, он вполне выполняет свою задачу.
После обновления через recovery поверх — также зависал. Пришлось CM7 ставить поверх, тогда завелся (но со старыми таймзонами, понятно дело).
Эх, бекапы наше все :)
В данном случае даже по названию можно понять, что статья научно-популярная с долей шуток-прибауток. Поэтому переводить её исключительно по смыслу было бы не правильно.
С другой стороны перевод с роликами тоже ввел в меня в ступор изначально, быть может вообще не стоило пытаться переводить это предложение попыткой поиграть словами, а вставать просто что-то с претензией на шутку. Быть может вида «куда же подевались наши шарики». По-моему изначальный смысл про «потерю шариков» был важнее смысла «сойти с ума», хотя тут на каждый вкус фломастеры разные.
Вообще в нете тема слабых ссылок очень тонкая и деликатная. Я бы сказал даже интимная. Нужно 100 раз подумать и просчитать ситуации, прежде чем их использовать. Особенно в кешах где время жизни объекта просчитать трудно.
Для уменьшения кеша я бы в данном случае наверное просто бы завел счетчики времени последнего доступа
P.S.: Ну это не пост про новый айфон, тут каждый комментарий на вес золота :)
Хорошо что у нас не немецкий профессиональный язык, а то бы ведь намного хуже было.
P.S.: Щас подумал, прикинул… в работе я все-таки больше пользуюсь англоязычными терминами, видимо именно по этой причине.
А так оптимизация хвостовой рекурсии очень нужная вещь, да :)
На самом деле я не знаю зачем корежить язык в данном случае. Довольно давно есть термин «меморизация», который означал сохранение промежуточных результатов вычислений с целью потом их использовать. Например динамическое программирование очень часто это использовало.
Потом появляется спаситель на белом коне и придумывает термин «memoization». И понеслось. Причем это же не слово какое-то. Человек сознательно выкидывает одну букву чтобы было «не как у всех». А потом у нас появляются идиотсткие термины. Типа «тред» или «нить». Хотя «поток» так и просится как перевод к слову thread.
Собственно это вопрос предпочтений. Менять в статье наверное не буду, либо если кому-то еще не все равно то поменяю на латиницу. А «мемоизацию» глаз как-то не терпит.
yandex.ru/yandsearch?text=меморизация
yandex.ru/yandsearch?text=мемоизация
Количество результатов явно не в пользу бездумной кальки :)
Пишется и так и так. По английски memoization, без да.