Pull to refresh
49
0.1

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

Send message

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

Reading time 5 min
Views 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)
Код написан, тесты написаны, все зелено, все работает, выкатывам в продакшен. И тут началось…
Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Comments 20

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

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

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

Reading time 1 min
Views 4.9K

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

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

Пользователь KollinZ рапортует о выкладывании польской версии прошивки на рутрекере.
Total votes 35: ↑32 and ↓3 +29
Comments 80

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

Reading time 4 min
Views 5.7K
Как это писалось

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

Information

Rating
3,067-th
Location
Washington, США
Registered
Activity