• Знает ли кто планировщик (или todo list) с последовательным отображением дел?

    @Beltoev
    Живу в своё удовольствие
    Todoist (2190 руб./год) + IFTTT вполне должны решить вашу проблему.

    Вот пример рецепта в IFTTT: https://ifttt.com/recipes/220391-if-todoist-task-w...
    То есть, простыми словами: когда у задачи будет метка "Выполнено", IFTTT будет создавать новую задачу в Todoist
    Ответ написан
    Комментировать
  • Как именовать ресурсы в API?

    @Beltoev
    Живу в своё удовольствие
    /api/v1/customer/get-uniq-results
    /api/v1/anotherservice-customer/get-uniq-results
    /api/v1/my-service-anotherservice-customer/get-uniq-results (смешивание результатов).

    Не хотел бы я пользоваться таким API.

    Намного проще и логичнее:

    // Получение всех клиентов
    GET /api/v1/customers
    
    // Получение уникальных (WTF?)
    GET /api/v1/customers/?type=uniq
    
    // Получение уникальных из другого приложения
    GET /api/v1/customers/?type=uniq&source=another
    
    // Получение уникальных (смешанных)
    GET /api/v1/customers/?type=uniq&source=all
    Ответ написан
  • Как загрузить файл на сервер средствами AngularJS?

    @Beltoev
    Живу в своё удовольствие
    Используйте готовое решение: https://github.com/danialfarid/ng-file-upload

    Всё сведется к тому, что нужно будет в контроллер добавить сервис Upload, а уже в нём вызывать метод upload, передавая ему url адреса для загрузки и прочие параметры.

    Решение только на первый взгляд сложное, но на деле там всё просто выходит =)
    Ответ написан
    Комментировать
  • Часто ли вы используете интерфейсы?

    @Beltoev
    Живу в своё удовольствие
    Самый простой пример, который приходит на ум: представьте, что вы хотите получать оповещения об ошибках на сайте по email/смс/чему-нибудь ещё.

    С интерфейсами ваше решение будет выглядеть как-то так:
    // Собственно, сам интерфейс оповещений
    public interface INotification
    {
        void Notify(string text);
    }
    
    public class EmailNotification : INotification
    {
        public void Notify(string text)
        {
    		// код по отправке почты
        }
    }
    
    public class SmsNotification : INotification
    {
        public void Notify(string text)
        {
    		// код по отправке смс
        }
    }
    
    // ... Еще какие-нибудь классы оповещений
    
    
    // В каком-нибудь классе, где может появиться ошибка
    public class MaybeErrorClass
    {
        private INotification _notification;
    
        public MaybeErrorClass(INotification notification)
        {
    		// Класс не должен знать, по какому каналу оповещать об ошибках.
    		// Он работает с абстракцией
            this._notification = notification;
        }
    
    	// Очень простой пример метода, в котором ожидаем генерацию ошибки
    	public void DoSomething()
    	{
    		try {
    			// какой-то блок, в котором можем получить ошибку
    		}
    		catch (Exception e)
    		{
    			this._notification.Notify("А у нас тут ошибка!");
    		}
    	}
    }


    Теперь можно создавать экземпляры этого класса, передавая ему желаемый тип оповещения:
    var maybeErrorEmail = new MaybeErrorClass(new EmailNotification());
    var maybeErrorSms = new MaybeErrorClass(new SmsNotification());


    Теперь вопрос на засыпку: как бы вы решили подобную задачу без интерфейсов?

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

    @Beltoev
    Живу в своё удовольствие
    Касса не нужна, так как деньги принимаете не вы, а платежный агрегатор. А он, соответственно, шлёт чеки на почту покупателю.

    Просто платите 6% с р/с, а документы для бухгалтерии/налоговой получайте, опять-таки, у платежного агрегатора.
    Ответ написан
    8 комментариев
  • Стоит ли читать книгу "Unity в действии. Мультиплатформенная разработка на C#"?

    @Beltoev
    Живу в своё удовольствие
    На сайте Unity есть туториалы по разработке игр от "Создайте новый проект, нажав туда и сюда.." до "Вот мы и добавили в разработанную игру ввод с мобильных устройств".

    Тем более у вас с английским всё в порядке и проблем вообще не должно возникнуть.
    Ответ написан
    Комментировать
  • Можно ли в angular установить время обработки запроса(timeout)?

    @Beltoev
    Живу в своё удовольствие
    Да, вполне.
    Тут есть готовый пример установки глобального timeout-а для всех http-запросов:
    stackoverflow.com/a/15702500
    Ответ написан
    Комментировать
  • Есть ли техническая возможность создать такой бот для Telegram'a?

    @Beltoev
    Живу в своё удовольствие
    • 1. Нет, невозможно. Telegram Bot API такое не умеет, поэтому придется копать в сторону Telegram API.
    • 2. А в чем проблема? Либо пользователь сам вводит адрес, либо бот шлет список адресов, чтобы пользователю оставалось только выбрать.
    • 3. Pocket, Evernote и им подобные сервисы умеют вычленять основную часть статьи на сайте. То есть, примерное направление поиска должны уловить.
      Но, в целом, скорее всего, всё упрется в поиск div-а с классом "content" и ему подобных (навскидку).
    • 4. Вполне возможно, что существует. Правда, не вижу особого смысла в таком интернет-серфинге
    Ответ написан
    Комментировать
  • Как узнать, что в проекте(файлах и папках) были изменения?

    @Beltoev
    Живу в своё удовольствие
    Вам советуют совсем не то.

    Для такой задачи нужно использовать FileSystemWatcher. Готовый пример под вашу задачу: www.codeproject.com/Articles/26528/C-Application-t...
    Ответ написан
    1 комментарий
  • Как мне использовать Local Storage в Angular приложении?

    @Beltoev
    Живу в своё удовольствие
    Если очень грубо и лишь бы работало:
    При каждом изменении массива перезаписывайте его в кэше:
    localStorage.set("tasks", $scope.tasks);

    А уже загрузку при обновлении страницы делайте как-то так:
    $scope.tasks = localStorage.get("tasks") || tasks;

    Ну, а вообще, в идеале, это нужно вынести в сервис, который бы эти манипуляции бы и проводил. Но, судя по коду, вы с этим заморачиваться не будете =)
    Ответ написан
    3 комментария
  • Go vs Rust для realtime бэкэнда игры (20 запросов в секунду с каждого клиента)?

    @Beltoev
    Живу в своё удовольствие
    Не смотрели в сторону C# и ASP NET Core?

    Следовательно. минимально 5000 запросов в секунду с карты(комнаты). Подозреваю, что это будет предел на один сервер.

    Вот тут, например, говорят о том, как смогли выжать 1.15 млн. запросов в секунду:
    web.ageofascent.com/asp-net-core-exeeds-1-15-milli...

    Это порядка ~ 200-230 карт(комнат) на одном сервере.

    Проблема: есть онлайн игры которые тормозят, подергиваются, а есть которые работают плавно и четко не смотря на пинг. Так вот это характерно для Valve игр.

    Здесь нужно думать об алгоритмах синхронизации. Есть много статей и обсуждений, затрагивающих эту проблему. Например, тут близко по теме: www.gamedev.ru/code/forum/?id=152443
    Ответ написан
    7 комментариев
  • Notepad++ - как оставить в строках только пятизначные числа?

    @Beltoev
    Живу в своё удовольствие
    Поиск (грубо): .*(\d{5,5}).*
    Замена: \1

    UPD:

    Учитывая дополнение в комментариях:

    1. Избавляемся от всех не цифр
    Поиск: [^\d]
    Замена:

    2. Разбиваем по 5 цифр на строку
    Поиск: (\d{5,5})
    Замена: \1\r\n
    Ответ написан
    1 комментарий
  • Как такое сделать на Angular.js? И вообще на нем ли нужно?

    @Beltoev
    Живу в своё удовольствие
    В контроллере держите список редактируемых элементов. А в нем уже потом добавляете/редактируете данные.

    Коротко по некоторым пунктам (другие слишком очевидны, по-моему):

    2. Появляется форма(в модальном окне)

    https://github.com/likeastore/ngDialog

    4. Потом это модальное окно можно снова открыть. изменить поля, нажать отмена и поля останутся старыми. Или нажать сохранить и поля изменятся

    В модальном окне используется отдельная переменная, после чего при сохранении - пишется/обновляется элемент в списке, при отмене - ничего не делается.

    8. Ну а потом в нужный момент все это отправляется на сервер :)

    Для этого добавляете сервис (не делайте запрос в контроллере), через него и взаимодействуйте с сервером.

    Писать за меня это естественно не нужно. Если это делается на angular - ткните в нужное место в документации.

    Как и было сказано, это обычные CRUD операции, которые очень просто реализовать
    Ответ написан
    Комментировать
  • Прошу помощи у MT4 разработчиков (MQL), что это за строчка кода?

    @Beltoev
    Живу в своё удовольствие
    Я нарыл что такое iRSI, это вроде технический индикатор Relative Strength Index.

    Первая ссылка по запросу "iRSI" в поиске говорит об этом же, да и описывает, что происходит в вашей строчке кода.

    Хотелось бы максимально подробно какие типы там и что вообще происходит, если кто знает.

    Вообще без проблем (по первой ссылке в поиске):
    double  iRSI(
       string       symbol,           // имя символа
       int          timeframe,        // таймфрейм
       int          period,           // период
       int          applied_price,    // тип цены
       int          shift             // сдвиг
       );


    И какой результат на выходе может быть переменной test?

    Очевидно, что double (по коду выше)

    Хотя бы примерно можете сказать что это может быть?

    Получили значение RSI на 15 баров назад, отняли 50 и следом разделили на 50. Итого, такими манипуляциями получают коэффициент от -1 до 1 и уже его как-то анализируют, видимо, в дальнейшем.
    Поэтому, если вернуться к вопросу:

    И какой результат на выходе может быть переменной test?

    то можно просто ответить: результат в диапазоне [-1;1], а уже более точная цифра зависит от рассматриваемой валютной пары и периода.
    Ответ написан
    1 комментарий
  • Как исправить цикл, чтобы добавлял всего лишь один переход (Цикл + регулярное выражение)?

    @Beltoev
    Живу в своё удовольствие
    if (!string.IsNullOrEmpty(match.ToString())
       Storage.AppendText(match.ToString());
    Ответ написан
    Комментировать
  • Есть ли смысл использовать CMS в моем случае?

    @Beltoev
    Живу в своё удовольствие
    Делайте отдельно back-end на ASP.NET Web API.
    У вас выйдет всего-то два контроллера: авторизация и работа с пользователями.

    А уже на клиенте к своей верстке добавьте немного JS для взаимодействия с вашим API. И всё это из привычной вам Visual Studio =)
    Ответ написан
    7 комментариев
  • С# работа с командной строкой?

    @Beltoev
    Живу в своё удовольствие
    if(args == null || args.Length == 0))
    	{
    	    Console.WriteLine("Забыл ввести имя файла");
    	}
    Ответ написан
    2 комментария
  • Как кастомизировать рабочий стол Windows?

    @Beltoev
    Живу в своё удовольствие
    Судя по скриншотам, на первый взгляд кажется, Fences использует Гаджеты Windows.

    Вот туториалы по их написанию (HTML и JS):
    https://geektimes.ru/post/151774/
    https://habrahabr.ru/post/132042/

    Хотя, с другой стороны, может и на WinAPI делают, так как там есть возможность манипулировать ярлыками на рабочем столе. Останется только свои POPUP окна с заголовками полупрозрачные сделать.
    Ответ написан
    2 комментария
  • VBA Excel. Создание макроса. Как реализовать?

    @Beltoev
    Живу в своё удовольствие
    Нужно сделать checkbox или radio.

    В Excel есть данные элементы, но если их будет много на странице (от 50-100), то появятся заметные лаги.
    Я такую проблему решал, делая из обычных ячеек checkbox-ы. То есть, как-нибудь помечаем ячейки с checkbox-ами (отдельная колонка, отдельный стиль, именованный диапазон, массив с адресами, что-то ещё) и вешаем свой обработчик на событие Worksheet_SelectionChange. В обработчике проверяем, является ли кликнутая ячейка чекбоксом и, если является, ставим/убираем галочку, если нет - просто пропускаем событие.
    Тут ещё нужно подумать, копировать ли сразу товар на страницу печати при клике на чекбокс, либо добавить кнопку копирования, чтобы пользователь после всех отметок мог "сгенерировать" страницу печати. Уверен, остановитесь на втором варианте, так как намного проще в реализации + не будет тормозов от пересчетов, когда страница печати будет большой.

    Так же что бы строка с названием группы товара, как на картинке "каркасы для швабр", попадала, если выбран хоть один из checkbox. Если в столбцах БЕЗ НДС или С НДС нет ни одного выбранного checkbox, то данный столбец не должен попадать в сформированную для печати страницу.

    Дублируете категории на странице печати, делаете им высоту в 0 px. Попутно категории можно сделать именованными диапазонами.
    Если выбранный товар попадает в скрытую категорию - просто делаете высоту > 0 px и добавляете ниже строку с товаром.

    Вывод общей цены с ндс и без внизу колонок

    Ну, это обычной формулой СУММ решается. На VBA можно динамически диапазоны генерировать ей на вход.
    Ответ написан
    Комментировать
  • Как лучше изучать C#?

    @Beltoev
    Живу в своё удовольствие
    Знания по C# можно тут получить/укрепить: metanit.com/sharp/tutorial
    ASP NET там же, в соседнем разделе: metanit.com/sharp/mvc5

    Думаю, проблем особо не должно возникнуть
    Ответ написан
    4 комментария