Задать вопрос
  • C# + linux server?

    @SergeyZelensky-Rostov
    ftp - если через интернет, можно sambf поднять на линуксе, если они в одной сети
    Ответ написан
    Комментировать
  • Какими необходимыми инструментами должен владеть программист C++ в сфере разработки игр?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Основные инструменты, помимо алгоритмов и навыков программирования, которые нужны для создания качественных игр - это опыт и команда.
    Программисту в одиночку достаточно тяжело создать качественную игру в текущих реалиях.
    Часто во время создания игр нужно решать достаточно нетривиальные алгоритмические задачи. Также сюда можно добавить проектирование архитектуры грамотное (потому что никто вам заранее не скажет список всех фич игры, и если ваша архитектура будет жесткой - будет очень больно вставлять новую фичу). Также можно добавить понимание процессов работы программы, работы с видеокартой, оптимизаций.
    Сумбурно как то получилось, но обобщенно - опыт, команда, командная работа.
    Ответ написан
    2 комментария
  • С чего начать изучение Gamedev'а?

    Nipheris
    @Nipheris Куратор тега C++
    1) алгоритмы и структуры данных: списки, очереди, деревья, графы и операции со всем этим;
    2) линейная алгебра и геометрия: операции над матрицами и векторами;
    3) компьютерная графика: растр и вектор, представление изображений, трехмерных объектов и сцен; архитектура графического железа и конвейер рендеринга (раз игры, то упор в realtime-графику, а не в фотореалистичную), шейдеры; конкретные графические API: OpenGL 4 и DirectX 11, на будущее - Vulkan и DirectX 12;
    4) С++: основные конструкции языка, ООП, элементы ФП, стандартная библиотека (не пренебрегайте ей), затем шаблоны;
    Ответ написан
    Комментировать
  • Необходим GUI и язык программирования под платформы windows, linux и android?

    SolidlSnake
    @SolidlSnake
    Ваш дружелюбный сосед
    Не знаю как сейчас у QT успехи, но в плане кроссплатформенного GUI это вроде как лидер.
    Ответ написан
    Комментировать
  • Как передавать аудио поток с Windows на Ubuntu по сети?

    martynov-yury
    @martynov-yury
    Web-developer
    помоему эту штуку поддерживает VLC
    Ответ написан
    Комментировать
  • Как передавать аудио поток с Windows на Ubuntu по сети?

    oldbro
    @oldbro
    VLC
    Ответ написан
    Комментировать
  • Куда развиваться в C#?

    @alexxandr
    you'll see in memory only 0xDEADFACE
    msdn и rsdn
    Ответ написан
    Комментировать
  • Почему не работает randomize() и random() на Visual Studio?

    @MiiNiPaa
    В С++ функций randomize() и random() нет. Скорее всего, в книге используется компилятор Борланда, который устарел ещё в прошлом тысячелетии, любит использовать библиотеки и API Паскаля, и не следует стандарту.

    Ещё есть функция random() в стандарте POSIX, который используется главным образом на Unix-подобных системах
    Ответ написан
    Комментировать
  • Удалённый доступ: как подключиться к собственному ПК?

    @xsash
    teamviewer?
    Ответ написан
    Комментировать
  • Какую литературу приобрести?

    Nipheris
    @Nipheris Куратор тега C++
    1) линейная алгебра и выч. геометрия;
    2) начала комп. графики: www.amazon.com/Fundamentals-Computer-Graphics-Pete...
    3) конкретно по OpenGL: www.amazon.com/OpenGL-Programming-Guide-Official-L...
    4) книгу по механике, ну или главы по механике из учебника по физике для ВУЗов;
    5) по звуку книгу не подскажу, современные звуковые API для игр и прочей виртуальной реальности (т.е. где важна поддержка 3D) - OpenAL (кроссплатформеное), XAudio2 (винда).
    Ответ написан
    Комментировать
  • Как передать функцию (метод) в качестве параметра в конструктор?

    @Ko1
    public Client(Func<type1, type2 ... > method), как-то так
    а, конкретно в вашем случае
    public Client(Func<int, string> method)
    Ответ написан
    Комментировать
  • Как передать функцию (метод) в качестве параметра в конструктор?

    petermzg
    @petermzg
    Самый лучший программист
    private Func<string, int> fn;
    public Client(Func<string, int> fn)
    {
        this.fn = fn;
    }
    
    public int UseFuncClient()
    {
        fn("text");
    }
    
    var rs = new RemoteServer();
    var cl = new Client(rs.Value);
    Ответ написан
    Комментировать
  • Актуально ли второе высшее образование для программиста в области медицины?

    @NortaBirdo
    Для начала о себе: по образованию я врач-психиатр, по должности я ведущий бизнес-аналитик в фирме, которая пишет медицинский софт.

    Ответ коротко: нет, не нужно.

    Подробно:
    1. Высшее образование в медицине (я имею ввиду лечебный факультет, стоматологию (5 лет) и фармацевтику (5 лет) не рассматриваю) это 6 лет. После этого вы обязаны 3 года отработать врачом общей практики. После этого у вас специализация от 2 до 5 лет в зависимости от специальности. Чтобы пройти специализацию бесплатно, вам надо быть краснодипломником или к ним приближенным (что ой как не просто) чтобы пройти конкурс на федеральную льготу. Если по федералке не прошли, то остаются два способа: заплатить (простейшие специальности типа терапевта участкового стоят порядка 100 тыс./год), либо продаться больнице на 3 года (больница оплачивает вам обучение, а вы потом эти деньги отрабатываете). Если вы не проходите специализацию (это возможно) то значит практического опыта у вас по нулям. Ценность ваших знаний для разработки ПО -10 по шкале от 0 до 10 (я не опечатался, величина отрицательная при положительной шкале). чтобы понимать реальные потребности бизнеса вам нужен опыт, чтобы его получить вам надо: 1) пахать студентом в ночные смены мед.сестрой 2) пройти практику специализации.
      Кстати летние практики вам тоже надо проходить, и ночные дежурства в них тоже входят.
    2. На лечебном факультете заочки нет.
    3. Пропускать занятия - нельзя. Пропускать лекции - нельзя. Присутствие на лекциях проверяют, часто не ленятся пофамильно проверить весь курс (~300 человек). Пропускать сдачи историй болезни крайне не рекомендуется (хрен найдешь потом препода, а если найдешь - еще и хрен сдашь). Двойки получать - нельзя. Они штрафуются и/или отрабатываются (очно). Деканат обычно на стороне кафедры. Т.е. то что ты получил пару, потом не осилил 3 из 3 отработок в этом семестре и теперь тебя кафедра не допускает до сессии (кстати экзамена у этой кафедры в эту сессию может и не быть, но она все равно должна поставить допуск) - твои проблемы и только твои. Не выход на сессию - отчисление.
    4. Обучение медицине одно из сложнейших. Вам придется заучивать огромные объемы информации. Там нет логики. Например, чтобы сдать простейший (!) экзамен по нормальной (бог с ней, с патологической) анатомии вам придется заучить три тома анатомического атласа формата а4 по 600 страниц в каждом мелким шрифтом на латыни+русском + уметь все это показать на трупе (да-да, на три года ваш второй дом - анатомичка, есть, одной рукой ковыряя в трупе - это норма) Когда заучите, это первые года три - придется учится принимать решения исходя из всей этой информации
      Добавьте к этому: мудаков профессоров коих +50% в каждом вузе, разброс знаний: вам нужно будет ориентироваться в мед.биофизике, органической и неорганической химии, биохимии, биологии, ну профильных дисциплинах (первые три года - норма и патология тела+общая фармакология, вторые три года - клинические кафедры, когда собственно начинаем учить болячки (и да, тут снова придется кучу всего заучивать, но уже проще). Завершается это клинической фармакологией, которую заучить не возможно. Ты либо помнишь и понимаешь все свои 6 лет, либо очень плохо быть тобой)
    5. Для того чтобы писать медицинский софт в команду нужны бизнес-аналитики + грамотный архитектор + нормальный представитель на стороне клиента. Как и везде. Именно эти люди формируют техническое задание, осуществляют проектирование. К тебе в итоге уже придет конкретное задание вида "сделай класс А"
    6. Что бы быть хорошим бизнес-аналитиком, тебе на старте нужна не столько предметка, сколько методологии бизнес-анализа. Ты должен понимать как вытащить из пользователя что ему надо и зачем
    7. 95% рынка - это базовые учетные контуры (регистрация пациентов и их историй болезней/мед.карточек). Мед. тут не поможет вообще ни как от слова совсем. А вот хороший лид + внятный клиент + светлая голова и скрупулезность = profit. Оставшиеся 5% это исследовательские задачи, но тут без domain subject expert все равно не обойтись, даже если ты медик.


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

    На сколько востребованы в целом специалисты по медицинской информатике? Очень востребованы. Рынок только развивается, поле - не паханное.

    P.S. Если хочется по работать в сфере мед.информатики - напишите, можем пообщаться.
    Ответ написан
    8 комментариев
  • Как смонтировать диск в директорию в Виндовс?

    Winsik
    @Winsik
    сис.админ, недопрограммист :)
    папка должна существовать
    Ответ написан
    8 комментариев
  • Как решить задачу?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    отрицательные числа, которые больше чем -200, это от -200 до 0.
    Делаете цикл от -200 до нуля, суммируете те, которые кратны трем (делятся на 3 без остатка).
    Ответ написан
    1 комментарий
  • Как оптимизировать данный код?

    int p10[] = {0, 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 1000000000};
    int change(int *a, int *b, int k, int l)
    {
     int rk, rl;
     if(k <= 0 || k > 9 || l <= 0 || l > 9) return 1;
     rk = ((*a/p10[k])%10);
     rl =  ((*b/p10[l])%10);
     *a = *a - (rk*p10[k]) + (rl*p10[k]);
     *b = *b - (rl*p10[l]) + (rk*p10[l]);
     return 0;
    }
    
    только это не перегруженная функция.
    Ответ написан
    5 комментариев
  • Как организовать работу с ftp как с локальной папкой на компе?

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    Единственный способ: создать папку, натравить на неё что-то вроде rsync, чтобы файлы переодически (и по изменению) синхронились с сервером. Сам протокол не умеет так работать как вы хотите (за исключение подключаемого диска, но это то ещё удовольствие).
    Ответ написан
    Комментировать
  • Какую версию лучше выбрать windows server 2008?

    Windows Server Standard 2008 R2 with SP 1
    Ответ написан
    Комментировать
  • Как легче освоить внедрение зависимостей, code-first, TDD и паттерны?

    Valeriy1991
    @Valeriy1991
    Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
    Добрый вечер! Спасибо за приглашение.
    На мой взгляд, Вам следует придерживаться следующих приоритетов по изучению:
    1. внедрение зависимостей более важно из Вашего списка, т.к. относится к SOLID принципам;
    2. TDD - на мой взгляд, вещь более нужная для изучения, чем code-first или patterns. Сам не так давно начал разрабатывать по TDD. Это очень здорово, что изобрели такой подход. Экономит тонну времени на ручное тестирование, а также дает быстрое понимание, что и где случайно (или неслучайно) сломалось. Главное - понимать, что покрывать тестами;
    3. третьим в список я бы добавил AngularJS или KnockoutJS или BackboneJS - сам пока что не изучил их и не начал применять, но судя по их популярности и преимуществам - думаю, Вам стоит с ними ознакомиться;
    4. code-first или database-first - не так уж и важно на Вашем этапе понимания. Главное отличие подхода Code-first: 1) модель пишется вручную, в связи с чем не нужно постоянно отслеживать edmx-диаграмму (т.е. можно считать, что Ваша code-first модель всегда находится в актуальном состоянии); 2) поддерживает миграции БД. В Database-first Вам нужно самому отслеживать актуальность состояния Вашей edmx-модели - с этим тоже могут быть проблемы. Опять же - только с опытом. С другой стороны, Database-first позволяет наглядно видеть Вашу модель, а вот Code-first - нет;
    5. паттернами тоже можете пока что голову не забивать. Безусловно, это нужно, но понимание их придет только с опытом (признаюсь честно: я сам не до конца все паттерны знаю и понимаю). На мой взгляд, важно соблюдать 1 основной паттерн - 3-уровневая архитектура (клиентский слой, слой бизнес-логики, слой работы с данными).

    Теперь по MVC.
    1. Model - тут, в принципе, всё просто: модель данных. Здесь можно поспорить, что иметь в виду под Моделью: модель самих данных или модель представления. Лично я после опыта работы с шаблоном MVVM в WPF под моделью данных в терминах ASP.NET MVC понимаю модель представления, а под термином "модель данных" - саму доменную модель (EF code-first, например). Кто-то может сказать, что это "лишняя работа" - по упаковыванию модели данных из EF-объектов в объекты модели представления. Да, частично соглашусь. Но зато это дает некую гарантию безопасности, что случайно пользователь не поменяет важную часть модели данных (например, ID).
    2. Контроллер. Основная задача контроллера - сформировать данные для отображения и передать эти данные в представление. Т.е. нужно стремиться к тому, чтобы код метода действия в контроллере содержал минимум кода. В идеале - вызов метода из слоя бизнес-логики и передача полученных данных в представление. Если Вы видите, что метод действия в контроллере содержит какую-то бизнес-логику, то это сигнал к рефакторингу: Ваш метод действия слишком много знает. По опыту могу добавить, что в среднем код метода действия содержит от 2 до 20-30 строк кода (с учетом того, что скобки { и } расположены на отдельных строках).
    3. Представление. Тут тоже всё просто: отобразить данные (из модели представления). Ни в коем случае нельзя в представлении писать логику по работе с самими данными, например, так делать нельзя:
    <div id="account">
        @{
            using(var db = new MyEfDbContext()
            {
                var userAccount = db.Accounts.FirstOrDefault(e => e.Username == User.Identity.Username);
                if(userAccount != null)
                {
                    @:Имя: @userAccount.Name
                    @:Фамилия: @userAccount.LastName
                }
            }
        }
    </div>


    Если у Вас 3-уровневая архитектура, например, есть слои:
    1. MyApp.MVC - MVC-application
    2. MyApp.BL - слой бизнес-логики
    3. MyApp.DAL - слой работы с данными
    то в представлении (View) вызывать напрямую сервисы бизнес-логики тоже нельзя, особенно, если Вы используете DI-принцип (внедрение зависимостей) и IoC контейнер. Т.е. такой пример недопустим:
    <div id="account">
        @{
            var accountService = new MyApp.BL.AccountService();
            var userAccount = accountService.GetUserAccountByUsername(User.Identity.Name);
            if(userAccount != null)
            {
                @:Имя: @userAccount.Name
                @:Фамилия: @userAccount.LastName
            }
        }
    </div>

    Попробую донести мысль архитектора и разработчика Александра Шевчука (преподавателя с http://itvdn.com): "Одна из главных целей при разработке - стремиться к упрощению системы". Ослабление зависимостей позволяет нам упрощать систему благодаря тому, что изменение осуществляется только на 1 каком-то слое/уровне. Если Вы во View вынесете логику по работе с данными, а уж тем более, как в примерах выше, работу с EF-контекстом, то Вы усилите зависимость одного компонента системы (MVC-слоя) от другого (слоя работы с данными или слоя бизнес-логики). Усиление зависимостей приводит к бОльшему числу изменений, что в свою очередь сказывается на повышении расходов на эту систему. Ослабление зависимостей приводит к меньшему числу изменений (например, при переходе от EF к native SQL или NHibernate затрагивается только слой работы с данными, а слой MVC и бизнес-логики не меняются), а значит, к более раннему выпуску системы или очередного релиза, и как следствие, снижение расходов (не только денежных, но и других ресурсов) на разработку. TDD тоже можно отнести к практикам, которые снижают затраты ресурсов на содержание системы. Но это я ушел в глобальное...

    Правильным будет подход, при котором у Вас снижается зависимость компонентов системы друг от друга, в случае с ASP.NET MVC приложением, на мой взгляд, это когда:
    - View знает о модели (я по прежнему буду иметь в виду модель представления - ViewModel, которые объявлены либо в MVC-слое, либо в слое бизнес-логики);
    - контроллер знает о слое бизнес-логики, обращается к нему за выполнением операций и получением ViewModel'ей, после чего передает во View полученную ViewModel (ну или JSON-данные);
    - Model формируется по принципу, грубо говоря, почти на каждую View своя модель.

    Фразу "правильным будет подход" я обосновываю тем, что у такого подхода есть масса плюсов (которые очевидны опытным разработчикам, но могут быть не до конца или неправильно поняты менее опытными коллегами, а именно):
    + View ничего не знает о доменной модели (только о ViewModel), благодаря чему Вы можете спокойно менять свою доменную модель, не внося изменений во View (см. выше про ослабление зависимостей и снижение количества связей). Также Вы спокойно можете перейти от EF к NHibernate или к native SQL, или использовать и то, и другое - View об этом никогда не узнает;
    + контроллер (да и весь MVC-слой) знает только о существовании слоя бизнес-логики, но ничего не знает о слое работы с данными.
    + если на View делать отдельную ViewModel, то это позволяет более полноценно управлять тем, что нужно показать пользователю. Т.е. дает возможность большего контроля отображаемых данных, повышает безопасность Вашего приложения (пользователь, например, не сможет изменить ID просматриваемой записи, если этого ID нет вообще в модели представления).

    Ну а вообще все зависит от задачи/проекта: нужно ли применять разбивку на слои или использовать ViewModel'и вместо обычных доменных моделей - надо думать над каждой ситуацией отдельно.

    P.S. На мой взгляд, литературу выбрали правильно - я тоже начинал изучение MVC с нее. Понравилась тем, что дается сначала общее описание и работа с ASP.NET MVC на сквозном примере. А потом идет более глубокое погружение в ASP.NET MVC. По разработке могу посоветовать блог Александра Бындю: blog.byndyu.ru Как мне кажется, там очень хорошо некоторые моменты разжевываются, в том числе SOLID, TDD, шаблон Repository, UnitOfWork и др.
    Ответ написан
    2 комментария
  • Как найти все файлы на диске Виндовс?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Во первых на диске могут быть не только файлы, но и служебная информация файловой системы.
    Во вторых файлы размером 20кб могут занимать на диске более гигабайта.
    В третьих у меня например на диске размером 2тб хранится более 10тб информации, при этом диск наполовину пуст.
    В четвертых стандартные средства просмотра диска не могут показать полной картины использования диска.

    Поэтому либо забейте на это дело, либо вдумчиво и серьезно изучите работу файловой системы.
    Ответ написан