Задать вопрос
  • Как строить и деплоить Go-приложения?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    По поводу строительства не знаю, но вот по поводу деплоя немного подскажу, вдруг полезно будет. Вот статья на Хабре: https://m.habr.com/ru/post/421087/
    В своё время замучился искать, как это правильно делается.
    Ответ написан
  • Как вы находите идеи домашних проектов?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Для начала вот с таких статей:
    https://techrocks.ru/2018/02/12/side-project-ideas...
    https://proglib.io/p/5-projects-to-learn-programming/
    и.т.п

    В какой-то момент после таких статей, врубится генератор идей разной степени бредовости. Их нужно записывать. К примеру слать себе сообщение в ВК с хэштэгом #идея.

    К примеру, вот вам глупая #идея: "Сделать симулятор микроволновки для телефона".

    И таких можно на самом деле вагон и маленькую тележку подкатить.

    Самые интересные на ваш взгляд, нужно реализовывать.
    Ответ написан
    Комментировать
  • Как сделать переход между элементами по нажатию на tab?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    В общем с компонентом меню, никак не получится сделать нормального переключения. Где-то на гихабе материала вычитал, что он так рассчитан, что при нажатии на TAB будет закрываться.
    Ответ написан
    Комментировать
  • Как настроить CI/CD в gitlab для go проекта?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    По итогу мытарств написал статью на хабре с более-менее подробной инструкцией
    https://habr.com/post/421087/
    Ответ написан
    Комментировать
  • Что делать если зависимостей у класса становится очень много?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Возможно глупый совет, но мне помогает обычно следующее.

    Если у меня есть, к примеру Repository и Service и у меня ответ из репозитория обрабатывается методами сервиса, при этом сервис больше нигде не используется, то
    1) Создаю новый интерфейс. Например FiltrationDataServiceInterface и передаю его в раздувшийся конструктор вместо этих двух классов.
    2) В реализации интерфейса уже использую их для какого-то одного метода.
    3) Этот метод использую в изначальном классе, зависимости, которого я хотел уменьшить.

    Так можно объединять несколько сервисов в один и уменьшать количество зависимостей у раздувшегося класса.

    Логгер я бы за зависимость не считал, так как он вполне самодостаточен и в сущности не является частью вашей логики. То есть если у меня 4-5 зависимостей, и при этом одна из них логгер, то это не сильно страшно. Но тут, конечно тема для холивара может развернуться, поэтому, это просто мое мнение.
    Ответ написан
    Комментировать
  • Почему не компилируется .net core проект VkNet?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Нет, это не Net core проект. Это netstandard проект. У меня собирается нормально сразу после загрузки. Ветка master последней версии.

    Попробуйте установить SDK последних версий для .Net framework и для .Net Core и Dev-паки https://www.microsoft.com/net/download/visual-stud...
    Ответ написан
    1 комментарий
  • Почему чувствую себя бесполезным и ни на что не способным на первой работе по специальности?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Присоединяюсь к heartdevil и тоже от себя добавлю

    По личному опыту. Этапы понимания, что ты полезен на текущей работе:
    1) Первые две недели я изучал терминологию предметной области, чтобы просто понимать, с чем я буду работать.
    2) Потом две недели помогал тех. поддержке, чтобы понять, с какими проблемами сталкиваются пользователи и опять же немного разобраться в терминологии. За это время поменял пару строк в коде, чтобы просто понять, как команда работает, как оформляются PR, как устроена CI/CD, как проходят code-review.
    3) В следующий месяц, дали написать пару юнит-тестов, вместе с человеком, который это уже умеет делать.
    4) Дальше пошли уже взрослые задачи, которые я еще год делал с адской натугой и скрипом. И только через год, стало видно, что польза все же есть.
    5) Почувствовал себя более-менее полезным. Через год. Благодаря тому что помогал тех. поддержке, писал тесты, наносил правки различной степени тяжести, и т.д.

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

    P.S. В первый год работы тоже хотел задать такой вопрос здесь, но постеснялся. Наверное зря.)
    Ответ написан
    Комментировать
  • Как настроить IntelliSense для Go для Visual Studio Code?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    В итоге проблема была в расширении gocode:
    https://github.com/Microsoft/vscode-go/issues/1723...
    Ответ написан
    Комментировать
  • В Visual Studio(Xamarin) не работает эмулятор Android,в чем проблема?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Может в Android Manifest --> Minimum Android Version как-то не так выставлена?
    Ответ написан
  • Как запустить .net core WebApi на Debian?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Если не ошибаюсь, в .net core версии 1.1 эту проблему решили
    https://github.com/dotnet/cli/issues/5059

    В крайнем случае там есть описание примерного решения.
    Ответ написан
    Комментировать
  • C# программисты, какие сайты вы читаете каждый день?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Есть классный блог, который уже посоветовали выше, Morning Brew, там практически каждый день публикуются подборки новостей и интересных статей из разных блогов. Полезен тем, что среди громких и общеизвестных новостей там публикуются и технические статьи, которые не столь широко известны, но не менее полезны.

    themorningbrew.net

    А еще есть довольно популярный InfoWorld это что-то вроде хабра на английском.
    www.infoworld.com/category/application-development
    Ответ написан
    Комментировать
  • Как сформулировать пагинацию предметов по игрокам в NHibernate?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    В общем, оставим для потомков, может когда-то кому-то поможет. Немного исправив запрос получим вот такой результат:

    var getBatchOfPlayers = QueryOver.Of<PlayerInfoEntity>()
        .Where(entity => entity.IsSimulation == player.IsSimulation && entity.Role.IsIn(roles))
        .OrderBy(entity => entity.Login).Asc
        .Select(entity => entity.Id) // Исправили Login на Id
        .Skip(startOffset).Take(limit);
    
    res = session.QueryOver<ItemsEntity>()
        .WithSubquery.WhereProperty(entity => entity.Player.Id).In(getBatchOfPlayers) // Исправили Login на Id
        .Cacheable().CacheMode(CacheMode.Normal)
        .List().GroupBy(x => x.Player.Login)
        .Select(ConvertSpecial)
        .ToList();
    Ответ написан
    Комментировать
  • Что здесь не так?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Есть предположение, что не хватает фигурной скобочки на 20 строке.
    Ответ написан
    Комментировать
  • Есть ли сервис по поиску ресторона, бара итд?

    Indermove
    @Indermove
    C#/.NET back-end разработчик
    Из популярных вот такой есть: https://ru.foursquare.com/
    Ответ написан
    Комментировать
  • Как правильно реализовать асинхронное копирование файлов C#?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    Дошел, до решения. Возможно (возможно), вот в этих строчках
    BitmapDecoder decoder = BitmapDecoder.Create(detectDate, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
    InPlaceBitmapMetadataWriter pngInplace = decoder.Frames[0].CreateInPlaceBitmapMetadataWriter();

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

    private async void smartButton_Click(object sender, RoutedEventArgs e)
            {
                FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
                folderBrowserDialog.ShowDialog();
    
                if (folderBrowserDialog.SelectedPath != "")
                {
                    string selectedPath = folderBrowserDialog.SelectedPath;
    
                    folderBrowserDialog.Dispose();
    
                    string[] photos = Directory.GetFiles(selectedPath);
    
                    foreach (ModelGroupItem item in listGroupItem)
                    {
                       foreach (string photo in photos)
                        {
                            using (FileStream detectDate = File.Open(photo, FileMode.Open))
                            {
                                BitmapDecoder decoder = BitmapDecoder.Create(detectDate, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
                                InPlaceBitmapMetadataWriter pngInplace = decoder.Frames[0].CreateInPlaceBitmapMetadataWriter();
                                DateTime photoDate = DateTime.Parse(pngInplace.DateTaken); // Дата съемки
    
                                // Если фотография соответствует условиям, то перекидываем ее в папку
                                if (item.timeTo.TimeOfDay > photoDate.TimeOfDay &
                                    item.timeFrom.TimeOfDay < photoDate.TimeOfDay &
                                    photoDate.DayOfWeek.ToString() == item.day &
                                    photoDate.Month == DateTime.Today.Month)
                                {
                                    string StartDirectory = selectedPath;   // Стартовая директория
                                    string EndDirectory = item.path;        // Конечная
                                    
                                    // Освобождаем файл перед копированием
                                    detectDate.Dispose();
    
                                    using (FileStream imageStreamSource = File.Open(photo, FileMode.Open))
                                    {
                                        using (FileStream DestinationStream = File.Create(EndDirectory + photo.Substring(photo.LastIndexOf('\\'))))
                                        {
                                            await imageStreamSource.CopyToAsync(DestinationStream);
                                        }
                                    }
                                    
                                }
                            }
                        }
                    }
                }
            }
    Ответ написан
    Комментировать
  • Как по событию родительского объекта начать анимацию дочернего объекта и наоборот в WPF?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    Нашел ответ на свой вопрос, если нужно обратиться к дочернему элементу сетки, при событии сетки, то внутри сетки добавляется триггер и в нем в свойстве Storyboard.TargetName указывается имя дочернего элемента, который хотим анимировать. Пример:
    <Grid.Triggers>
                <EventTrigger RoutedEvent="Grid.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard Name="rotateStoryBoardBegin">
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="Image" Storyboard.TargetProperty="RenderTransform.Angle"
                                                     To="180" Duration="0:0:0.4">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
           <Grid.Triggers>
    Ответ написан
    Комментировать
  • Почему не обрабатывается запрос photos.getUploadServer к VK API?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    Написал в поддержку, ответили, что в данном случае не нужен минус перед id-шником группы.
    Привожу фотку ответа:
    8ae7f5b68c644628ba890119d5f08d81.jpg
    Ответ написан
    Комментировать
  • Как вставить новые числа в центр таблицы в MATLAB?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    Отвечу на свой вопрос, как подсказали на StackOverflow, есть такая функция interp1 www.mathworks.com/help/matlab/ref/interp1.html
    Ответ написан
    Комментировать
  • Почему не запускается cron скрипт?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    Все нашел ответ на свой вопрос:

    1) Кронтаб нужно запускать так: sudo crontab -e - это нужно чтобы cron запускал скрипты из под root.
    2) Инструкции для cron должны быть такими. Нужно обязательно писать bash перед указанием пути к скрипту. После указания пути к скрипту дописать >/dev/null 2>&1
    Пример:
    0 1 * * * bash /bin/bash /usr/share/script.sh >/dev/null 2>&1
    0 2 * * * bash /bin/bash /usr/share/script2.sh >/dev/null 2>&1
    * * * * 1 bash /bin/bash /usr/share/script3.sh >/dev/null 2>&1

    #!/bin/bash
    rsync --archive /home/share --delete /mnt/backup/neon_backup
    rsync --archive /var/www/html/vtgr --delete /mnt/backup/neon_backup

    3) Сами скрипты действительно должны быть лишены sudo, так как и так запускаются из под пользователя root.
    Пример:
    #!/bin/bash
    
    cd /mnt/backup/neon_backup/MySQL_backup
    mysqldump -u root -pnppwd --all-databases > mysql_backup.sql
    set > /tmp/script-environment
    tar cvjf back_mysql.tar.bz2 mysql_backup.sql
    Ответ написан
    Комментировать
  • Почему не запускается cron скрипт?

    Indermove
    @Indermove Автор вопроса
    C#/.NET back-end разработчик
    Мне бы на самом деле помог бы пример правильного оформления заданий, просто я уже все перепробовал, а проконсультироваться просто не у кого. Очень помогло бы если бы кто-нибудь просто написал первый скрипт правильно, и как загнать его в крон.
    Ответ написан
    Комментировать