• Как называется такая вещь (slider, swipe) в Android?

    newross
    @newross
    Product owner
    Это называется User Onboarding. Для реализации онбординга есть готовые библиотеки.
    Ответ написан
    4 комментария
  • А что бы такого поделать перед собеседованием?

    @pro100saniok
    Ну Вы просто так написали, подай что-такое, что я не смог найти, как на меня интересный сайт с тестами по технологиям которые Вы описали выше это www.quizful.net/test , думаю там найдется множество вопросов которые могут спросит на собеседовании. По ссылках на GitHub могу скинуть только один, он как бы проект с лучшими практиками, https://github.com/MarlabsInc/SocialGoal еще открою секрет, просто вбейте в поиск Asp.net mvc на гитхабе, и отсортируйте по звездочках, думаю найдется много примеров с которых можно будет что-нибудь почерпнуть, думаю еще будет полезным ресурс ихний официальный сайт www.asp.net , там вам сразу и документации и примеры. Ну а чтобы освежить теоретические вопросы, Рихтер, мне еще нравиться как пишут братья Албахари, ну и кончено нужно пробежаться по Asp.net mvc и сопутствующим технологиям тут пару книг могут бить полезными smarly.net или тут metanit.com . А вообщем гугл вам в помощь =)
    Ответ написан
    1 комментарий
  • ASP.NET MVC сможет ли тягаться?

    @sitev_ru
    sitev.ru - мой блог ...
    Думаю, что он мощнее их всех вместе взятых )
    Ответ написан
    2 комментария
  • Почему Visual Studio 2005 не хочет запускать проект?

    GavriKos
    @GavriKos
    IIS установлен хоть?

    Выкиньте 2005 студию, она давно устарела. Используйте 2013 community, например.
    Ответ написан
    2 комментария
  • Приложение не запускается на WinXP, как можно исправить?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    На Windows XP должен быть установлен .NET Framework. В данном случае, версия 2.0. Также может потребоваться Service Pack 3.

    Лучше ниже .NET Framework 3.5 не использовать.
    И .NET Framework 4.0 под Windows XP вполне нормально работает, если установить. Версия 4.5 уже не поддерживается

    .NET 2.0, если не изменяет память, по умолчанию не входил в состав Windows XP (если хотелось именно этого).
    Ответ написан
    2 комментария
  • Как файлу передать параметры? И какая их максимальная длина?

    @Sumor
    Пример из MSDN
    using System;
    using System.Windows.Forms;
    
    class Sample 
    {
        public static void Main() 
        {
        String[] arguments = Environment.GetCommandLineArgs();
        MessageBox.Show(String.Join(", ", arguments));
        }
    }
    Ответ написан
    1 комментарий
  • GUI приложение под Windows?

    AxisPod
    @AxisPod
    Ну тут .NET, а точнее C#, WPF или WinForms у каждого свои плюсы и минусы. Для себя выбрал WPF, более гибкий в плане отображения.
    Ответ написан
    Комментировать
  • GUI приложение под Windows?

    rdifb0
    @rdifb0
    Программист, реалист
    Windows + C# = ♥
    Ответ написан
    Комментировать
  • GUI приложение под Windows?

    @Mintormo
    GUI-приложение под WIndows удобнее писать все-таки на C#.
    Ответ написан
    Комментировать
  • Почему при работе с Ajax отключают/не используют CSRF?

    DevMan
    @DevMan
    Потому что криворуки и не знают как подружить ajax и csrf-токен, других причин я не вижу.
    Ответ написан
    1 комментарий
  • Как защитить HTML5 игры?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    На чем бы вы не сделали фронтенд, все равно ему надо будет обмениваться данными с бекендом. Этот обмен можно перехватить и изменить. Поэтому при создании любых сетевых/онлайн игр главное -- не доверять никаким пришедшим от клиента данным, каждую операцию проверять на допустимость.
    Ответ написан
    Комментировать
  • Как защитить HTML5 игры?

    saboteur_kiev
    @saboteur_kiev Куратор тега Информационная безопасность
    software engineer
    Клиент не должен выполнять никаких функций, кроме отображения информации. Вся логика должна быть на бэкенде.
    Ответ написан
    Комментировать
  • Как защитить HTML5 игры?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Всю логику на сервер, победы, получение списка карт, определение суммы для оплаты и.т.д. На клиенте только визуальные операции и отправка данных на сервер.
    Ответ написан
    Комментировать
  • Как защитить HTML5 игры?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Flash можно же декомпилировать, так что уповать на то, что исходный код будет защищен, не стоит.

    Пишите код, патентуйте, отслеживайте и судитесь с нарушителями.

    Основной функционал можно вывести на сервер, чтобы клиентская часть была бесполезной.

    Клиентский код можно сделать плохочитаемым, обфусцировать.
    Ответ написан
    Комментировать
  • Как сформировать из доменной модели модель представления в ASP.NET MVC?

    Valeriy1991
    @Valeriy1991
    Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
    Михаил снова здравствуйте! В-общем, меньше слов - больше кода. Toster_q187249.zip - здесь архив с приложением. Предметную область смоделировал так, как понял :)

    Честно говоря, ни разу не слышал фразы "доменная модель". Откуда этот термин? Обычно для описания данных используются термины "данные", "модель".

    Далее: прочтите от корки до корки книжку "ASP.NET MVC 3/4 Framework с примерами на C# для профессионалов", авторы: Адам Фримен, Стивен Сандерсон. Для MVC - на мой взгляд, это книга №1 для изучения ASP.NET MVC. Там есть всё, что нужно, и даже больше. У Вас, правда, могут возникнуть трудности с Entity Framework, потому что там они не так подробно объясняют, как с ним работать, (авторы, наверное, рассчитывают на небольшой опыт работы читателей с этим фреймворком). После чтения у Вас в голове всё встанет на свои места.

    Будут какие-то вопросы по проекту - пишите. Он, конечно, примитивный, но в целях обучения, на мой взгляд, подойдет.

    Вы, наверное, уже знаете, но, тем не менее, напишу: в контроллере должно быть минимум бизнес логики. Контроллер должен лишь получать откуда-то данные, формировать из них модель представления и отдавать модель представления в само представление. Всю логику работы с данными следует выносить в отдельный слой (например, в отдельную dll). Всю бизнес-логику, по хорошему, тоже следует выносить в отдельный слой. В итоге контроллеры MVC-приложения должны "ломиться" в слой бизнес-логики, который в свою очередь, ломится в слой работы с данными, вытаскивает их, обрабатывает и отдает "наверх" в клиентское приложение (MVC-application). Это позволяет формировать трехуровневую ахитектуру решений и тем самым создавать более масштабируемые и гибкие приложения.

    Например, то приложение, которое я Вам прислал, состоит их 2 слоев:
    1) MVC-app;
    2) Core.DAL - слой работы с данными.
    В идеале следовало бы добавить новый слой (например, Core.BL или Core.BAL) - слой бизнес-логики.
    Вот на всякий случай: Как организовать архитектуру приложений «Система управления проектами»?

    Успехов в нашем нелегком деле!
    Ответ написан
  • Как из сайта сделать android приложение?

    GavriKos
    @GavriKos
    Гуглите phonegap
    Или просто сделайте приложение с браузером.
    Ответ написан
    Комментировать
  • Asp.NET WebForms или MVC?

    @Eugene22
    однозначно MVC, WebForms больше по инерции поддерживаются, а по факту вебформы уже практически мертвы
    Ответ написан
    Комментировать
  • Почему такая ошибка с Json?

    @Eugene22
    перед ответом попробуйте в список преобразовать ToList()
    Ответ написан
    Комментировать
  • Какие требования у.NET при стандартной сериализации?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Чтобы класс можно было сериализовать, необходимо пометить его атрибутом [Serializable].
    [Serializable]
    public class MyClass 
    {
    }

    Атрибут [Serializable] также должны иметь все типы, которые включены в класс. Если у какого-то из типов не будет этого атрибута, то при попытке выполнить сериализацию, возникнет исключение. Это минимум, что необходимо.

    Для двоичной сериализации используется класс BinaryFormatter.
    // данные, которые будем сериализовать
    var data = new List<int> { 1, 2, 3 };
    
    // выполняем сериализацию 
    // в MemoryStream (можно в любой Stream)
    var bf = new BinaryFormatter();
    var m = new MemoryStream();
    bf.Serialize(m, data);
                
    // курсор потока переводим в начало, т.к. мы работали с потоком выше
    // если открывать новый поток, то это делать не обязательно
    m.Position = 0;
    // выполняем десериализацию данных из MemoryStream
    var result = (List<int>)bf.Deserialize(m);
    
    // выводим результат в консоль
    result.ForEach(itm => Console.WriteLine(itm));


    Если в объекте попадется тип, который не помечен атрибутом [Serializable], то можно реализовать в классе интерфейс ISerializable. Либо сделать для этого типа отдельный класс, реализующий интерфейс ISerializable. При этом, не забывая про атрибут [Serializable], который обязательно должен присутствовать.

    При реализации интерфейса ISerializable, в классе нужно определит метод GetObjectData, который будет подготавливать данные для сериализации. А также реализовать перегрузку конструктора для принятия сериализованных данных.
    public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
    {
      if (info == null)
      {
        throw new ArgumentNullException("info");
      }
      info.AddValue("Ключ", "Значение");
      info.AddValue("Ключ2", this.ИмяСвойства); 
      // и т.д.
    }
    
    // конструктор
    protected ИмяКласса(SerializationInfo info, StreamingContext context)
    {
      if (info == null)
      {
        throw new ArgumentNullException("info");
      }
      this.Свойство = info.GetValue("Ключ", typeof(типДанных));
      this.ИмяСвойства = (string)info.GetValue("Ключ2", typeof(string));
      // и т.д.
    }

    Часто спрашивают, как сериализовать Dictionary<TKey, TValue>. На основе всего выше изложенного, можно сделать вот такой класс:
    [Serializable]
    public class MyDictionary : Dictionary<string, object>, ISerializable
    {
    
      public MyDictionary() { }
    
      protected MyDictionary(SerializationInfo info, StreamingContext context)
      {
        if (info == null)
        {
          throw new ArgumentNullException("info");
        }
        int count = info.GetInt32("Count"); // получаем число элементов
        for (int i = 0; i < count; i++) // перебираем элементы
        {
          // получаем ключ и значение по индексу элемента
          string key = info.GetString(String.Format("ItemKey{0}", i));
          object value = info.GetValue(String.Format("ItemValue{0}", i), typeof(object));
          // добавляем элемент в себя
          this.Add(key, value);
        }
      }
    
      public void GetObjectData(SerializationInfo info, StreamingContext context)
      {
        if (info == null)
        {
          throw new ArgumentNullException("info");
        }
        // перебираем все элементы коллекции
        int i = 0;
        foreach (KeyValuePair<string, object> item in this)
        {
          // добавляем отдельно ключ и значение
          info.AddValue(String.Format("ItemKey{0}", i), item.Key, typeof(string));
          info.AddValue(String.Format("ItemValue{0}", i), item.Value);
          i++;
        }
        // запоминаем, сколько всего элементов
        info.AddValue("Count", this.Count);
      }
    }

    Пример использования:
    // выполняем сериализацию коллекции
    var data = new MyDictionary();
    data.Add("Key", "Value");
    data.Add("Key2", "Value2");
    data.Add("Key3", 123);
    
    var bf = new BinaryFormatter();
    var m = new MemoryStream();
    bf.Serialize(m, data);
    
    // выполняем десериализацию
    m.Position = 0;
    var result = (MyDictionary)bf.Deserialize(m);
    
    // выводим результат
    foreach (var item in result)
    {
      Console.WriteLine("{0} = {1}", item.Key, item.Value);
    }

    Посмотреть в .NET Fiddle, как это работает.
    Ответ написан
    Комментировать
  • Возможно ли интегрировать IIS в приложение C#?

    @Eugene22
    Во-первых, надо определить, что именно делать - интегрировать IIS в приложение, что практически, я думаю, невозможно, или просто поднять веб-сервер, который бы обрабатывал запросы для приложений. Второе теоретически возможно сделать, тут следует смотреть в сторону HttpListener, Owin/Katana. Сам когда-то делал примитивный веб-сервер с поддержкой aspx-станиц, правда на родственном vb.net. И подобных рабочих проектов видел много на том же codeproject.
    Ответ написан
    Комментировать