Ответы пользователя по тегу Программирование
  • Как читать и записывать xlsx стандартными средствами .NET?

    @Hydro
    C#/.NET Developer
    OpenXML, правда API там низкоуровневый.
    Ответ написан
    Комментировать
  • Какие задачи решает реактивное программирование?

    @Hydro
    C#/.NET Developer
    Надеюсь, что правильно понял Ваш вопрос.

    Пример

    Храню в БД фото с марса в формате HD, делаю запрос на 100 фотографии, задача - показать 100 фоток последовательно на экране.

    Стандартный поход: делаю запрос к базе на 100 фотографии, жду 2 секунды, получаю массив из 100 фотографии,
    итератором бегаю по коллекции и показываю картинки на экране
    псевдокод:

    pics = GetPicsFromDatabase();
    foreach(var pic in pics)
      ShowPic(pic)


    Реактивный подход: делаю запрос к базе на 100 фотографии и обработчику запроса задаю коллбек, обрабатывающий следующий элемент коллекции

    псевдокод:
    // somecode
    GetPicsFromDatabaseReactive(NextPictureHandler);
    // somecode
    NextPictureHandler(Image pic)
    {
      ShowPic(pic)
    }

    В первом случае мы сами явно вытягивали следующий элемент списка (pull), а во втором случае - источник данных сам вкидывал нам следующий элемент, когда он был готов (push).
    В первом случае мы ждем, пока сформируется источник данных (как правило занимаем тред) и после этого сами ручками просматриваем результат, во втором случае источник данных сам нас уведомит, когда будет готов.

    Что это нам дает?
    Асинхронность - в UI например это дает отзывчивость)
    Масштабируемость - источник данных (коллекция картинок) и приемник (наш псевдкод, показывающий картинки) не связаны, отсутствие связи дает нам возможность подключить хоть 10 обработчиков картинок (пример один в черно-белом выводит, другой сепию накладывает и т.п.)
    Отказоустойчивость достигается тем, что если сдох первый обработчик, например в его треде вылетел эксепшн, который повалил тред (прошу прощения за грубый пример), то действие выполнится резервным обработчиком (мы же их можем навешивать хоть 10, правда?)
    Ответ написан
    3 комментария
  • Из экономиста-математика в программисты?

    @Hydro
    C#/.NET Developer
    Лично я знаю один пример когда экономист-математик переквалифицировался в .NET разработчика. У парня всё получилось, колбасил на Delphi, потом C#/WPF, сейчас c#/ASP.NET.
    Дерзайте.
    Ответ написан
    Комментировать
  • Что почитать по C для ознакомления?

    @Hydro
    C#/.NET Developer
    Керниган, Ритчи, Язык программирования СИ.
    Свой путь в программировании я начал с этой книги.
    Ответ написан
    Комментировать
  • Возможно ли "соединить" два файла, не перемещая данные?

    @Hydro
    C#/.NET Developer
    В UserMode (тем более в .NET) режиме Вы ограничены абстракцией под названием "файловая система" и доступа к физической организации файлов вы не имеете.
    С реализациями файловых систем не знаком, но предполагаю, что игра свеч не стоит.
    Когда то ранее имел дело с файловыми системами для микроконтроллеров - вот там файл лежал линейно во Flash и любая вставка в середину вызывала перетирание конца файла, вставки и записи конца файла уже по смещению с учетом размера вставки.
    Ответ написан
    Комментировать