• Datapicker криво отображает дату?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Используйте русскую локализацию:

    <script src="i18n/datepicker-ru.js"></script>
    $('#datepicker').datepicker($.datepicker.regional[ 'ru' ]);

    Скачать нужные ресурсы можно отсюда:
    https://github.com/jquery/jquery-ui/tree/master/ui/i18n

    Если вам нужен календарь на английском (или другом) языке, то задать первый день недели можно следующим образом:

    $('#datepicker').datepicker({ firstDay: 1 });
    // или
    $('#datepicker').datepicker('option', 'firstDay', 1);

    Посмотреть рабочий пример

    0 - воскресенье (Su - Sunday)
    1 - понедельник (Mo - Monday)
    и т.д.
    Ответ написан
    Комментировать
  • Как сделать повторение всей программы по запросу (C#)?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Если ответ пользователя будет отличаться от yes, то работа цикла завершится.

    Проверку ответа лучше делать без учета регистра, возможно проблема в этом:

    string answer;
    string yes = "yes"; 
    // из yes лучше сделать константу, чтобы в этом был смысл :)
    // const string yes = "yes"; 
    // либо массив - это позволит проверять разные варианты ответов
    string[] yesVariants = { "yes", "y", "true", "да", "еще бы", "только об этом и мечтаю" };
    // или можно использовать регулярные выражения
    
    do
    {
    
      // любой код здесь
    
      Console.WriteLine("Желаете повторить тест?(Yes/No) ");
      answer = Console.ReadLine();
    
    } while (answer.Equals(yes, StringComparison.OrdinalIgnoreCase));
    // проверка по массиву ответов
    // } while (yesVariants.Contains(answer, StringComparer.OrdinalIgnoreCase));

    56258ea1eb5a4826a05a07bf0beeddd8.gif
    Ответ написан
    Комментировать
  • Есть ли статистика устройств Windows Phone в маркете windows?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Нет там пользователей и скоро совсем не будет :-)

    https://developer.microsoft.com/ru-ru/store/window...
    Ответ написан
    Комментировать
  • Как создавать свои атрибуты без проблем с валидацией?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    data-любоеИмя
    Ответ написан
    Комментировать
  • Как в webpack сделать так, чтобы стили подгружались из нужной папки?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Вы можете добавить синонимы (alias):

    module.exports = {
      resolve: {
        alias: {
           // имя синонима: путь
           'style': path.join(__dirname, 'style.override.css'),
           'любоеУдобноеИмяСинонима': path.join(__dirname, 'путь к модулю'),
           'любоеУдобноеИмяСинонима2': 'илиТакЕслиВкорне',
        }
      }
    }

    И использовать синонимы в коде:

    import 'style';
    import 'любоеУдобноеИмяСинонима';
    require('любоеУдобноеИмяСинонима2');

    В webpack.config.js можно добавить любой функционал для получения путей к синонимам, да и в целом можно все что угодно сделать:

    var suffix = '.override';
    
    module.exports = {
      resolve: {
        alias: {
           'style': path.join(__dirname, 'style' + suffix + '.css'),
        }
      }
    }

    Что касается передачи пользовательских переменных через командную строку, то можно попробовать их указывать через SET (если под Windows). Будет что-то типа этого:

    SET ANY_NAME="VALUE" && webpack -d --color

    Найти переменные можно в process.env. Чтобы сделать вывод переменных в консоль, добавьте в файл webpack.config.js следующую строчку кода:

    console.log('process.env', process.env);
    console.log('ANY_NAME', process.env.ANY_NAME);
    Ответ написан
    3 комментария
  • C#. Как вызвать балуна из трея?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Разместить на форме компонент NotifyIcon, если используется проект Windows Forms.

    Для вывода уведомления, использовать метод NotifyIcon.ShowBalloonTip:

    // необходимо обязательно указать иконку
    // иначе уведомление не будет отображаться
    // можно использовать иконку формы
    notifyIcon1.Icon = this.Icon;
    
    // показываем уведомление
    notifyIcon1.ShowBalloonTip(
      10000, 
      "Новый ответ", 
      "Поступил новый ответ на ваш вопрос на Toster.ru",
      ToolTipIcon.Info
    );
    
    // или с текстом по умолчанию (см. BalloonTipTitle, BalloonTipText)
    // notifyIcon1.ShowBalloonTip(10000);

    Окно программы может находиться в любом состоянии.

    В проектах отличных от Windows Forms можно подключить сборку System.Windows.Forms, но лучше разобраться, может быть есть более правильно решение. Например, для консольных приложений такое решение вполне годится.
    Ответ написан
    3 комментария
  • Как узнать чьи NS сервера?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Домен принадлежит частному лицу.

    Регистратор REGTIME-RU, связаться с владельцем DNS-сервера можно тут.

    IP-адреса принадлежат JSC "Informtehtrans".

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

    Попробуйте написать в Яндекс и Google, возможно они отреагируют и исключат краденные сайты из поиска.
    Ответ написан
    4 комментария
  • Зачем Visual Studio 2015 community просит авторизацию?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Таковы условия использования.

    После авторизации можно будет продолжить использование. Достаточно будет указать email. Это бесплатно.

    Регистрация позволит выполнять синхронизацию между устройствами.

    Через Visual Studio Team Services можно участвовать в разработке совместных проектов. В том числе есть возможность работать с кодом в браузере на сайте www.visualstudio.com. Все готовое, так сказать, из коробки.
    Ответ написан
    Комментировать
  • Что такое библиотека кода?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    "Библиотека кода" - в программировании такого термина я не встречал :-)

    На сайтах для программистов могут быть разделы - библиотеки кода, которые являются просто свалкой кода (примеров кода) для решения разнообразных задач :-)

    Если имеется ввиду библиотека классов (или просто библиотека - англ. library), то это набор классов/модулей/компонентов для выполнения конкретных задач.

    В случае с CSS и HTML, которые упомянуты в тегах этого вопроса, библиотекой можно назвать набор готовых решений, типа Bootstrap (хотя это framework, который состоит из библиотек), Bourbon.

    Основное преимущество библиотек - это переносимость, возможность использовать в разных проектах, отсутствие необходимости вникать в принципы работы.

    При возникновении ошибок в коде библиотеки или добавлении улучшений, новых функций/возможностей, достаточно будет выпустить (или получить, смотря с какой стороны смотреть) новую версию. Это проще, чем держать однотипный код, одинаковые решения в разных проектах и потом из-за досадной опечатки сидеть и перелопачивать все :-) Использование библиотек экономит время.
    Ответ написан
    Комментировать
  • В каком случае сперва отправляется OPTION затем PUT запрос?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Запросы OPTIONS отправляются для проверки возможности выполнения запроса, проверки возможностей сервера и должны отправляться всегда, когда нужно выполнить проверку.

    Сначала идет запрос OPTIONS и если ответ сервера положительный, то следом выполняется нужный запрос.
    Ответ написан
    Комментировать
  • Как получить ответ с fancybox?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Я обычно делаю собственные alert и confirm, которые выводят сообщения в модальных окнах.

    Для обработки закрытия можно использовать либо функции обратного вызова, либо Promise.

    Использование с Promise выглядит так:

    Confirm("Да или Нет?").then((result) => {
      if (result) {
        console.log("Пользователь согласен на всё.");
      }
      else
      {
        console.log("Пользователь что-то подозревает.");
      }
    });

    Внутри все равно без обработчиков не обойтись, но если функция вызова окна будет одна, то это не критично:

    function Confirm(message) {
      let p = new Promise((resolve, reject) => {
        // тут код создания окна
        // $.fancybox({ 
        //   modal: true,
        //   content: '<div>' + message + '</div>'
        // });
        // в обработчики кнопок нужно добавить вызов resolve
        // true - если пользователь нажал Ok
        // resolve(true);
        // false - если пользователь нажал Отмена
        // resolve(false);
      });
    
      return p;
    }

    При желании, можно сделать свой аналог Promise, хотя смысла нет, готовый вполне пригоден для решения подобной задачи.

    Вот более полный рабочий пример:

    function Confirm(message) {
      return new Promise(function(resolve, reject) {
        var buttons = $('<div class="buttons" />');
        var btnOk = $('<button class="btn btn-default">Ok</button>');
        var btnCancel = $('<button class="btn btn-default">Отмена</button>');
        var content = $('<div />');
    
        btnOk.click(function() { 
          resolve(true);
          $.fancybox.close(); 
        });
        
        btnCancel.click(function() { 
          resolve(false); 
          $.fancybox.close();
        });
    
        content.append('<div class="message" />');
        content.append('<hr />');
        content.append(buttons);
        
        $('.message', content).html(message);
        
        buttons.append(btnOk);
        buttons.append(' ');
        buttons.append(btnCancel);
        
        $.fancybox({ 
           modal: true,
           content: content
        });
      });
    }
    
    Confirm('Вы согласны с этим решением?').then(function(result) {
      if (result) {
        $('body').append("<h1>Отлично!</h1>");
      }
      else  {
        $('body').append("<h1>Очень жаль...</h1>");
      }
    });
    Ответ написан
    Комментировать
  • Как найти динамический DOM элемент?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    var element = document.createElement('div');
    element.id = 'test'; // уникальный идентификатор элемента
    element.innerHTML = 'создан новый элемент';
    
    document.body.appendChild(element);
    
    // получаем по идентификатору добавленный элемент
    document.getElementById('test').innerHTML = 'изменено содержимое созданного элемента';

    https://jsfiddle.net/alekseynemiro/x76s8zsy/1/

    В просмотре кода страницы динамически созданных элементов не будет, т.к. содержимое страницы - это то, что было получено от сервера, а JavaScript работает на стороне клиента.

    ---

    Дополню ответ в соответствии с обновлением текста вопроса.

    Получить path можно:

    1. По ссылке, в переменной path:

    console.log('path', path);

    2. Найти с помощью document.querySelector, например по имени класса:

    var path = document.createElement('path');
    path.className = 'anyClass';
    
    console.log('path', document.querySelector('.anyClass'));

    3. По идентификатору, как показано в самом первом примере:

    var path = document.createElement('path');
    path.id= 'path';
    
    console.log('path', document.getElementById('path'));

    4. По имени тега, но придется еще что-то проверять, поскольку на выходе будут все элементы path:

    console.log('path', document.getElementsByTagName('path'));


    PS: У меня ваш код работает без ошибок:
    https://jsfiddle.net/alekseynemiro/voyj5rt1/
    Используется Snap.svg v0.4.1

    649c48abe93b40a8b7efe17f39e7a0b5.gifOpera 39, Chrome 54, IE 11

    ---

    Обновление по результатам обсуждения проблемы в комментариях:

    Проблема в том, что создавать SVG-элементы нужно с указанием пространства имен, с помощью метода document.createElementNS:

    var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
    var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');

    https://jsfiddle.net/alekseynemiro/voyj5rt1/4/
    Ответ написан
  • Как составить условие, если переменная равна -1?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    <?php if($music != -1) { ?>
    Или тут в чем-то подвох? :-)
    Ответ написан
    8 комментариев
  • ASP NET Как хранить данные внутри приложения?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    У приложения есть события запуска и завершения работы.

    Общие данные можно загружать при запуске приложения (Application_Start) или подгружать в статические классы в процессе работы приложения. Либо использовать HttpApplication, хотя смысла в этом особого нет.

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

    Временные данные можно хранить в кэше.

    Небольшие объемы данных можно хранить в переменных, но лучше постараться держать такие данные в одном месте и не размазывать по всему приложению. Например, использование для этих целей классов контроллеров - не лучшая идея.
    Ответ написан
    Комментировать
  • Как передать DOM через prop?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Не проще ли сделать общего родителя для видео и элементов управления?

    <mediaPlayer>
      <video ref={(v) => this.video = v} />
      <playerControls onStop={...} onPlay={...} onPause={...} />
    </mediaPlayer>

    Тогда элементы управления смогут общаться с проигрывателем через общего родителя.
    Ответ написан
    4 комментария
  • Как быстро отсортировать таблицу?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Узкое место тут в первую очередь jQuery. Нужно уменьшить число запросов к элементам через jQuery. А то получается, что у вас при сортировки для каждой итерации происходит маленький ад :-)

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

    Вот небольшой пример: https://jsfiddle.net/alekseynemiro/q3tsw3bt/1/

    var data = [];
    
    // получаем данные из таблицы в массив
    $('tr', 'table>tbody').each(function(index, row) {
      var cells = $('td', row);
      var sum = 0;
      var items = [];
    
      for (var i = 0; i < cells.length; i++)
      {
        if (i == cells.length - 1)
        {
          cells[i].innerHTML = sum / 5;
          items.push(sum / 5);
        }
        else
        {
          sum += parseInt(cells[i].innerHTML, 10);
          items.push(parseInt(cells[i].innerHTML, 10));
        }
      }
    
      data.push(items);
    });
    
    // сортируем массив
    data.sort(function (a, b) {
      return a[5] - b[5];
    });
    
    // создаем новую таблицу на основе массива
    var html = '<table><thead><tr>';
    html += '<th>price</th><th>price</th><th>price</th>';
    html += '<th>price</th><th>price</th><th>avrg</th></tr></thead>';
    html += '<tbody>';
    
    for (var i = 0; i < data.length; i++)
    {
      html += '<tr>';
    
      for (var j = 0; j < data[i].length; j++)
      {
        html += '<td>' + data[i][j] + '</td>';
      }
    
      html += '</tr>';
    }
    
    html += '</tbody></table>';
    
    // выводим таблицу (перезаписываем старую)
    $('#content').html(html);

    Набросал еще вариант со счетчиком и с 50 000 строками, но счетчик показывает неправильное время, видимо на отрисовку данных в браузере уходит больше времени.
    Ответ написан
    Комментировать
  • Как использовать встроенные стили css?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Встроенные стили имеет смысл использовать, когда нужно создать одну страничку, чтобы не было дополнительных файлов.

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

    Встроенные стили могут использовать для корректировки существующих стилей, если лень ковыряться в файлах CSS и количество исправлений незначительное и единоразовое.

    Приложения JavaScript могут содержать упакованные стили и встраивают их в HTML при инициализации. Это вполне нормальная практика. Однако если стилей очень много, их обычно выносят в отдельный файл.
    Ответ написан
    Комментировать
  • Доступ к бд из бэкапа bac и конвертация в mysql?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Нужно использовать самую свежую версию SQL Server, т.к. файлы резервных копий созданные в новых версиях SQL Server нельзя восстановить в старых.

    Что касается конвертирования, то в MySQL Workbench есть функции импорта данных из SQL Server.

    4b21b3f449e2434eb1b52de451b9b655.png

    В SQL Server Management Studio также есть возможность экспорта в MySql через .NET Framework Data Provider for MySql.

    e1a5e9974b86425b9cd22fab8a84911d.png

    Но для этого нужно прежде восстановить базу SQL Server.
    Ответ написан
    1 комментарий
  • Почему не срабатывает маршрут?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Проект точно был компилирован? Ошибок в процессе не возникало?

    Судя по маршруту, страница должна открываться по адресу:

    http://localhost:11733/meropriyatia

    Первый параметр - это имя сопоставляемого маршрута. Затем идет шаблон и значения по умолчанию.

    https://msdn.microsoft.com/ru-ru/library/dd504958(...

    Для адреса:

    http://localhost:11733/meropriyatiavnikolaeve

    маршрут должен быть таким:

    routes.MapRoute(
      "meropriyatiavnikolaeve", // имя
      "meropriyatiavnikolaeve", // шаблон
      new { controller = "Home", action = "meropriyatiavnikolaeve" }
    );
    Ответ написан
    5 комментариев
  • Как сделать связанные select?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Каскадные списки (cascade dropdown) это называется:
    https://github.com/dnasir/jquery-cascading-dropdown
    www.dnasir.com/github/jquery-cascading-dropdown/de...
    Ответ написан
    Комментировать