Как стать автором
Обновить
49
0

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

Отправить сообщение

Про Garbage Collector, Unity и слабые ссылки

Время на прочтение5 мин
Количество просмотров21K
Есть у меня в проекте некий интерфейс IT и factory метод типа

interface IT {}
public IT CreateT(IA a, IB b, IC c, Type concreteType)
{
    // куча говнокода, который создает объект типа concreteType, определяемого в месте вызова в рантайме.
}


Классы, реализующие IT, имеют конструкторы с разными сигнатурами, принимающими какую-то комбинацию объектов типов IA, IB или IC, поэтому с ростом количества реализаций IT, код их создания начинал пахнуть все сильнее, и, наконец, было принято решение его выкинуть и заменить простым кодом с Unity, примерно такого содержания:

private static IT CreateITInternal(IA a, Type targetType)
{
    using (UnityContainer cont = new UnityContainer())
    {
        cont.RegisterInstance<IA>(a, new ExternallyControlledLifetimeManager());
        cont.RegisterType(typeof(IT), targetType, new ExternallyControlledLifetimeManager());
        return cont.Resolve<IT>();
    }
}

(для простоты я оставлю только ссылки на IA, чтобы не загромождать код. Unity нам тут нужен только для облегчения инстанциирования объектов и мы не хотим давать ему контролировать время жизни никаких объектов, поэтому использован ExternallyControlledLifetimeManager)
Код написан, тесты написаны, все зелено, все работает, выкатывам в продакшен. И тут началось…
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии20

Первые шаги со Stellaris LM4F120 launchpad evaluation board

Время на прочтение9 мин
Количество просмотров28K
Завалялась у меня в столе плата Stellaris LM4F120, с которой я решил, наконец, разобраться. Писать будем программу, которая включает-выключает светодиоды, установленные на плату в ответ на нажатия имеющихся на плате кнопок.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии18

Samsung начинает распространять официальный ICS для Galaxy S2

Время на прочтение1 мин
Количество просмотров4.9K

Случилось то, что [некоторые] владельцы Samsung Galaxy S2 долго ждали. Samsung начал распространять прошивку с Ice Cream Sandwich для вышеупомянутого телефона. Также, скоро обещают обновления и для некоторых других смартфонов и планшетов.

Пока только в Польше, Венгрии, Швеции и Корее.

Пользователь KollinZ рапортует о выкладывании польской версии прошивки на рутрекере.
Всего голосов 35: ↑32 и ↓3+29
Комментарии80

Префиксные деревья в Javascript

Время на прочтение4 мин
Количество просмотров5.7K
Как это писалось

Одним долгим зимним вечером моя жена играла в Bookworm adventures, и периодически пинала меня по поводу составления слов подлиннее из имеющихся букв. Быстрый поиск по интернету страничек, позволяющих составлять слова из набора букв дал кучу сайтов, которые пытаются делать это на серверной стороне, и один, который делает это на клиентской ява-апплетом. Те, которые составляют слова мощностями сервера либо имеют ограничение на размер набора букв (обычно, почему-то в 8), либо глубоко задумываются, если им послать набор «abcdefghijklmnopqrstuvwxyz». Ява-апплет же имел ограничение в 12 букв, работал шустро и почти подходил (в игре предлагаются 16 букв для составления слов).
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Washington, США
Зарегистрирован
Активность