• 500 internal server error bot framework?

    BotId - имя бота, например: ExampleBot.
    7ea04b94582a4e19bb0b5518ffdad054.png
    https://www.mybot.somee.com/api/messages

    Что это? Реальная конечная точка? Почему по HTTPS нет доступа? Сервер не настроен?
    Нужно настроить IIS на поддержку HTTPS, это отдельный вопрос и все может быть относительно сложно.

    Если нет доступа к серверу, то обращаться с этим вопросом к хостеру.
  • Как программисты тренируют свою память?

    Очень просто - никак. Сила в логике: у кого логика, тому и память ненужна :-)
  • Почему Jquery не видит элемент страницы?

    Если представленный код действительно такой, то вероятно дело в кавычках. Они разные. См. id=двойная errorPopUp одинарная.
    По идее такой код вообще не должен работать.
  • React, form(method="POST"), почему после сабмита добавляет параметры в юрл?

    И что происходит в onSubmitLoginForm? Асинхронный запрос?

    Если проблема в форме, то можно от нее избавиться или не делать submit. Например, можно обрабатывать onClick кнопки (сделать type="button", вместо submit), либо отменять submit (return false; event.preventDefault();).
  • Как настроить роутинг?

    В webpack для этого нужно установить historyApiFallback = true
    или
    --history-api-fallback
  • Как импортировать typescript интерфейс из библиотеки react-widgets?

    Ленар Фаттахов: судя по всему придется сделать свой react-widgets.d.ts и экспортировать MultiselectProps.
  • Как импортировать typescript интерфейс из библиотеки react-widgets?

    Что-то я по указанным ссылкам не вижу react-widgets/lib/Multiselect. Почему именно из ветки types-2.0?

    Может нужно вот это.
  • Wepback: почему NODE_ENV environment variable is undefined?

    при воде в консоль команды NODE_ENV=development webpack выдает что "NODE_ENV"

    Это под Windiows? Вы хотели сказать SET NODE_ENV=development?
    Или export NODE_ENV=development, если под *nix.
  • Как реализовать скрытие контролов на странице?

    Код (верстку) в студию!

    По идее, если элемент имеет значение свойства Visible = false, то место на странице он занимать не будет. Скорее всего проблема в структуре страницы. Например, если кнопки находятся в ячейках таблицы, при скрытии кнопки, ячейка останется пустой. Или если родительский элемент, в котором находится кнопка, имеет фиксированную ширину, то скрытие дочерних элементов приведет к появлению пустот. Если так, то нужно скрывать родителя или менять структуру страницы, или стили.
  • Как добавить web проект в VS?

    ВэйДлин: форматирование кода PHP работает не так хорошо, как например форматирование C#. Иногда даже мешает :-) Руками приходится доделывать.

    Tab-ы ставит. Отступы в блоках if, for и т.п - да, сам не ставит.

    26uf9MShct8KLqbcc.gif
  • Как задать динамическое значение props?

    Николай Антонов: проще всего сделать компонент, в котором будет setInterval и который будет менять состояние.

    Ну или делать так:
    var dynamicData = 0;
    
    setInterval(()=>{
      dynamicData = (Math.random() * 100).toFixed(0);
      ReactDOM.render(
        <Hello test={dynamicData} />,
        document.getElementById('container')
      );
    }, 3000);
    
    var Hello = React.createClass({
      render: function() {
        return <h2>{this.props.test}</h2>;
      }
    });
    
    ReactDOM.render(
      <Hello test={dynamicData} />,
      document.getElementById('container')
    );

    но это явно не лучшее решение :-)
  • Как яндекс.маркет группирует товары?

    Обычно это делается путем создания списка сопоставлений.

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

    В случае с товарами, у них могут быть номера моделей одинаковые и можно их легко сопоставить. Может даже не потребуется хранить альтернативные названия, хотя лучше это сделать.
  • .NET приложение. Можно ли запустить Windows Forms проект в Linux?

    Я запускал ради интереса в Ubuntu и OS X. Интерфейс косячный, но работать можно. Имеет смысл с этим извращаться или нет, не могу сказать.

    Вот даже снимок нашел:
    47912efff6164a5f8c290d40980350fe.png

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

    А вот консольные приложения можно без особых проблем клепать.
  • Как корректно разделить проект на слои?

    Alina Barkova: создается экземпляр класса и вызываются нужные методы.

    public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
    {
      // создаем экземпляр класса ИмяКласса (имя может быть любым)
      var bl = new ИмяКласса();
      // вызываем метод GetStudents у созданного экземпляра ИмяКласса
      var students = bl.GetStudents();
      // ...
    }


    Единственное, нужно обратить внимание на модификаторы доступа:
    private - доступ только внутри класса;
    public - доступ на уровне всего приложения;
    internal - доступ внутри сборки;
    protected - доступ внутри класса плюс для всех наследников класса.

    Вам скорее всего будет достаточно использовать private и public. Можно и в public все делать, но это не очень хорошо, лучше ограничивать, чтобы не засорять "внешний мир" не нужными публичными методами/свойствами (членами).

    Чтобы методы бизнес-логики были доступны в коде контроллера, эти методы должны иметь модификатор доступа public.

    public class ИмяКласса
    {
    
      public IQueryable<Students> GetStudents()
      {
        return from s in db.Students select s
      }
    
    }


    Ссылку на db, наверное будет лучше передать через конструктор (если понадобится - понадобится, если бизнес-логика не имеет прямого доступа к объектам базы (Data Access Layer)):
    public class ИмяКласса
    {
    
      // вместо DatabaseContext использовать тот тип, который у вас имеет переменная db
      private DatabaseContext Database;
    
      // DatabaseContext - аналогично, поменять тип на свой
      public ИмяКласса(DatabaseContext db)
      {
        this.Database = db;
      }
    
      public IQueryable<Students> GetStudents()
      {
        return from s in this.Database.Students select s
      }
    
      // любые другие методы
    
    }

    В контроллере:
    public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
    {
      var bl = new ИмяКласса(db); // передаем в класс ссылку на текущий экземпляр db
      // получаем студентов из метода GetStudents экземпляра ИмяКласса
      var students = bl.GetStudents();
      // ...
      // остальной код
    }
  • Проблема с запуском PHP 7 на Debian 8, как решить?

    По какой инструкции? Что есть, то и нужно запускать :-)

    Если на сервере десять разных версий php-fpm, то имена у них будут разными. Четких правил тут нет. Варианты именования могут быть разными: php-fmp, php7-fmp, php-7-fpm, php7.0.1-fpm, crazyProgrammerCanGiveAnyNames :-)

    Если php7.0-fpm, то:
    service php7.0-fpm start
  • Как корректно разделить проект на слои?

    Alina Barkova: вопрос видел, но на него тоже нет ответа :-) Точнее ответ очевиден - сделайте нужные методы и передайте туда все, что требуется для поиска и сортировки. Но по идее вы уже должны были это сделать. Или вы боитесь делать методы? :-) В общем, вопрос требует уточнения, непонятно с чем именно у вас возникли проблемы. Попробуйте для начала разбить метод контроллера на небольшие части внутри контроллера, чтобы понимать, как это работает.

    public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
    {
      return AnyMethod(sortOrder, currentFilter, searchString, page);
    }
    
    private ViewResult AnyMethod(string sortOrder, string currentFilter, string searchString, int? page)
    {
      ViewBag.CurrentSort = sortOrder;
      ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
      ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
    
      if (searchString != null)
      {
        page = 1;
      }
      else
      {
        searchString = currentFilter;
      }
    
      ViewBag.CurrentFilter = searchString;
    
      var students = GetStudents();
    
      if (!String.IsNullOrEmpty(searchString))
      {
        students = SearchStudents(students, searchString);
      }
    
      // и далее можно сортировку аналогично вынести,
      // либо сгруппировать все, как нужно
      switch (sortOrder)
      {
        case "name_desc":
          students = students.OrderByDescending(s => s.LastName);
          break;
    
        case "Date":
          students = students.OrderBy(s => s.EnrollmentDate);
          break;
    
        case "date_desc":
          students = students.OrderByDescending(s => s.EnrollmentDate);
          break;
    
        default:  // Name ascending 
          students = students.OrderBy(s => s.LastName);
          break;
      }
    
      int pageSize = 3;
      int pageNumber = (page ?? 1);
    
      return View(students.ToPagedList(pageNumber, pageSize));
    }
    
    // NOTE: не могу быть уверен в типе (IQueryable<Students>), вам виднее, что у вас там
    private IQueryable<Students> GetStudents()
    {
      return from s in db.Students select s
    }
    
    private IQueryable<Students> SearchStudents(IQueryable<Students> students, string searchString)
    {
      return students.Where(s => s.LastName.Contains(searchString) ||  s.FirstMidName.Contains(searchString));
    }


    Вы можете создавать сколько угодно методов и классов. Ограничения только в здравом смысле :-)

    PS: Вместо ViewBag лучше использовать класс(ы) модели.
  • Как корректно разделить проект на слои?

    Alina Barkova: С чем у вас проблемы? Со ссылками, интерфейсами, наследованием? Что вы используете? Покажите упрощенный код.
  • В каком типе переменной хранить (м\ж) пол?

    abcd0x00: почему же, будет обычное условие :-) ...WHERE pass_type = FEMALE С детьми возникнут проблемы, если изначально их не разделять по гендерному признаку.

    Люди и билеты, как правило, в разных таблицах. Смешивать их нет смысла, это совсем разные структуры.

    Но даже если каким-то образом все это окажется в одной таблице, выборка будет аналогичной.

    Если типов людей немного и использовать маски, то все совсем просто:
    -- слова вместо чисел, просто для примера
    WHERE (pass_type & 'FEMALE') = 'FEMALE' -- только женщины
    WHERE (pass_type & 'FEMALE') = 'FEMALE' AND (pass_type & 'CHILD') = 'CHILD' -- дети женского пола
    WHERE (pass_type & 'FEMALE') = 'FEMALE' AND (pass_type & 'INFANT') = 'INFANT'

    Но запросы будут ресурсоемкими, особенно если данных много. Лучше так не делать или не использовать как есть.

    Для небольших баз такой вариант может быть удобным, если типов людей будет не больше 10-15 (210) и данных немного (с несколькими гигабайтам проблем точно не должно возникнуть, даже на слабом железе).

    Возможные ситуации с полами. Например, если изначально были М, Ж и пол не указан. Может потребоваться расширить этот список, сделать несколько вариантов "пол не указан". Если использовать bool, то придется добавлять дополнительное поле, которое будет содержать информацию, почему пол не указан, или переделывать в int. А в перечисления достаточно добавить нужные элементы в список и все: пол не указан, потому что гладиолус; луна находилось в неправильном месте; пользователь пьян; пользователь не дошел до выбора пола; facebook не вернул информацию о поле пользователя; пользователь отказался отвечать на вопрос и т.п. Бредовый список, но как минимум два варианта "пол не указан" в реальных условиях может быть: не выбран и null.