Pull to refresh
8
0
Реминный Александр @LexRema

User

C# для начинающих. Лекция 1 — Введение

techposters.net
Можно хоть всю квартиру обклеить и еще на 9-ти этажку останется.

Сервис u.nu закрыт

Походу автор поста не является хозяином сервиса.

У Google возникли проблемы с покупкой ITA Software

Не вспомнят. Социальные условно бесплатные сервисы будут казаться высочайшим благом всегда. Человеку будет казаться, что все для него, но основное, что там для него — строка контестной рекламы над редактируемым сообщением.
Сам с удовольствием пользуюсь их сервисами, но факт остается фактом — сервисы только кажутся бесплатными :).

Жизнь после Google: 15 стартапов, основанных бывшими сотрудниками

В мире где миллионы людей сидят в социальных сетях — все проекты обретают определенный смысл. Некоторые — для довольно узких кругов.

Жизнь после Google: 15 стартапов, основанных бывшими сотрудниками

Интересно, что Вам отсюда пригодилось?

Жизнь после Google: 15 стартапов, основанных бывшими сотрудниками

Ну… Многие же вернулись :)

вы «никогда не можете полностью уйти с Google»

Пять бесплатных приглашений на Patterns&Practices Summit Russia 2010

Можно и гид, и уникальную строку генерировать. Смысл в том, чтобы генерировать при запуске, а не хардкодить константы до компиляции.

Пять бесплатных приглашений на Patterns&Practices Summit Russia 2010

Контроль уникальных идентификаторов в больших проектах.

Предположим есть клас А и клас Б, которые генерируют определенные сообщения. Каждое сообщение содержит константу. Эта константа позволяет различать отдельные сообщения.

Решение в лоб. Можно создать БОЛЬШОЙ список констант, который будет содержать все константы сообщений.
Вытекающая проблема — с добавлением новых сообщений в списке можно потеряться и, например, продублировать значение констант для разных сообщений.

Вариант решения. Создавать в коде только контейнеры для идентификаторов сообщений, заполнять их с помощью Reflection на старте программы.

Как выглядит:

Контейнер идентификатора сообщения и атрибут, помечающий класс как содержащий в себе набор идентификаторов сообщений:

[AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)]
 public class EventIDAttribute : Attribute
 {
 };

 public class EventID
 {
  public EventID(int id, string name)
  {
   ID = id;
   Name = name;
  } 

  public int ID
  {
   {private set; get }
  }

  public string Name
  {
   {private set; get }
  }
 };


Класс, отвечающий за инициализацию контейнеров сообщения на старте программы:

public class EventInitialiser
  {
    private static int _id;

    public static void Init()
    {
      foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
      {
        foreach (Type type in assembly.GetTypes())
        {
          if (IsEventClass(type))
          {
            FieldInfo[] fields = type.GetFields();
            foreach (FieldInfo fieldInfo in fields)
            {
              if (fieldInfo.FieldType == typeof(EventID))
              {
                int newID = System.Threading.Interlocked.Increment(ref _id);
                EventID newEventID = new EventID(newID,
                  string.Format("{0}.{1}", fieldInfo.ReflectedType.FullName, fieldInfo.Name));
                
                fieldInfo.SetValue(null, newEventID);
                EventIDCache.AddEventToCache(newEventID);
              }
            }
          }
        }
      }
    }

    private static bool IsEventClass(Type type)
    {
      object[] attributes = type.GetCustomAttributes(typeof(EventIDAttribute), true);
      return (null != attributes && attributes.Length > 0);
    }
  };


И наконец, группы идентификаторов сообщений. Они могут находиться в разных пространствах имен, библиотеках. Но их значения с таким подходом — всегда будут уникальны.

  [EventID]
  public class SomeUIEventIDs
  {
    public static EventID SomeButtonWasClicked;
    public static EventID SomeTextWasTyped;
  };

  [EventID]
  public class SomeCoreEventIDs
  {
    public static EventID SomeErrorOccured;
  };


Реализация транспортного слоя уже вещь более житейская, ее упустим. Вот пример проверки идентификатора пришедшего сообщения в некотором обработчике:

  public void ProcessMessage(EventID eventId, object sender, EventArgs args)
    {

      if (SomeUIEventIDs.SomeButtonWasClicked.ID == eventId.ID)
      {/*Operation 1*/      }

      else if (SomeUIEventIDs.SomeTextWasTyped.ID == eventId.ID)
      {/*Operation 2*/      }

      else if (SomeCoreEventIDs.SomeErrorOccured.ID == eventId.ID)
      {/*Operation 3*/      }     
    }

Internet Explorer Platform Preview 4. Обзор

осталось из ИЕ сделать браузер, а не программу для скачки браузера.

Согласен на 100, так как зачастую после установки чистой системы лично у меня все именно так и происходит.

Выпущен релиз Microsoft Ribbon для WPF

не-не-не… Это только для смертников, этот контрол. У меня с ним студия падала в режиме дизайнера тучу раз.

Если хочется чего-либо более-менее приличного — www.qiosdevsuite.com/. Там бесплатная комерческая лицензия при условии регистрации. Это для WinForms.

Выпущен релиз Microsoft Ribbon для WPF

Помоему, это касается любого риббона, даже разработанного самостоятельно. Ведь лицензирование проходит уже не столь реализации, а концепта риббона, который был придуман изначально для офиса.

Еще раз к вопросу о ссылках на книги и авторских правах

Класс… а как Вы отвечаете с закрытыми вкладками???

Cow Clicker: разработчики игр издеваются

Как по мне, эта игра описывает отношение к качеству в социалках. Там оно просто не нужно :).

Нечего есть? Напечатай!

Китайский мульт на тему продукции Apple и ее харизматичного руководителя

Лучше б за это время кофе себе сделал…

В США появилась первая общественная электрозаправка

Ну, я предлагал бы только их рекламную кампанию заимствовать. Просто для популяризации такой вещи как электромобиль — нужен нестандартный подход.

Те гибриды, которые сейчас уже катаются по мировым просторам, зачастую выглядят ужасно, что также не популяризирует их.

А здесь если совместить дизайн и экологическую концепцию — все выиграют.

В США появилась первая общественная электрозаправка

Пускай за производство электромобилей берется Apple — они найдут как за пару дней продать миллионы автомобилей :).

Чили первой в мире приняла закон о сетевом нейтралитете

Лишь бы все не закончилось на декларативном уровне. Сила подписанной бумажки к сожалению не всеобъемлющая.
«Так, по новым правилам, изданным для осуществления нового закона, устанавливаются санкции против провайдеров, которые попытаются ввести любые ограничения при доступе в глобальную сеть.»
Интересно, почему там такие пункты в отношениях разных провайдеров? Неужели провайдеры в Чили сами ограничивают своих абонентов? Как то интересно звучит.

Tesla и Toyota работают над двумя «зелеными» прототипами

Один из самых дешевых видов электрической энергии — атомная. А еще надо вспомнить про зеленые источники — энергия ветра, солнца и т.п. Так нечаянно нефть и в стороне может оказаться. А она ох как этого не желает.
1

Information

Rating
Does not participate
Registered
Activity