Задать вопрос
  • Чем чревато обилие modal'ных окон?

    dluhhbiu
    @dluhhbiu
    одно модальное окно, в которое данные подгружаются аяксом в зависимости от выбранной позиции
    Ответ написан
    Комментировать
  • Чем чревато обилие modal'ных окон?

    @IvanN777
    Подробное описание выделяют на отдельную страничку из-за Сео. Обычно будущее модальное окно просто разметка и обрабатывается js при наведении. Не должно сильно затормозить.
    Ответ написан
    Комментировать
  • Из-за чего падает сокет-сервер?

    @vladimirchelyabinskiy
    Connection reset by peer (Соединение сброшено сервером)

    Connection reset by peer может вызываться совершенно разными причинами. В общем случае сервер определяет, что сокет больше не работает нормально и закрывает его со своей стороны.

    5.1 Read Error (Ошибка чтения)

    Сценарий: Мэри не может понять, что говорит Джо, и вешает трубку вместо того, чтобы терять его сообщения (данные).

    Ошибка чтения возникает когда сервер не может успешно прочитать данные от клиента. Сервера собирают информацию от клиента и когда получают ошибку при чтении данных, отключают пользователя, что приводит к сообщению "Read Error" при выходе.

    5.2 Write Error (Ошибка записи)

    Сценарий: Мэри пытается говорить с Джо, но полагает, что он ее не слышит. Поэтому она вешает трубку вместо того, чтобы мириться с потерей сообщений (данных).

    Ошибка записи возникает когда сервер не может успешно записать информацию в клиента. При получении сервером информации, он обычно отвечает на это своими данными клиенту. Если сервер получает ошибку при записи в клиент, он отключает пользователя, и это приводит к сообщению "Write Error" по формату сходному с "Read Error"

    5.3 Ping Timeout (эээ.. Пинг таймаут!)

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

    Сервер автоматически пингует пользователя через определенный промежуток времени. Это делается для того, чтобы убедиться, что клиент все еще на связи. Когда Вы видите сообщения "PING? PONG!" в окне статуса, это означает, что сервер послал пинг-запрос на Вашу машину и она отослала ему понг-ответ. Если Вы отключаетесь, а сервер не знает об этом, то он автоматически сбросит Ваш ник из сети после того, как долго не будет получать понг-ответы, что выльется в квит по "пинг таймауту". Такое может произойти с любым.

    5.4 Broken pipe (Нарушенный пайп)

    Сценарий: Мэри обнаружила записку с сообщением, которое ей надо было передать Джо, но каким-то образом, между запиской и ее ртом сообщение потерялось. Мэри пытается передать Джо содержание, но не уверена, что у нее это выходит и вешает трубку полагая это лучшим вариантом, чем потеря информации (данных).

    Ошибка "сломанного пайпа" возникает когда сервер понимает, что у него есть сообщение для отсылки вовне, но он не может подать его на сокет из-за внутренний ошибки передачи данных.

    5.5 Остальные ошибки

    Сценарий: Множество вариантов; возможно в разговор вмешался оператор и это заставило Мэри усомниться в правильности звонка и она повесила трубку.
    Ответ написан
    Комментировать
  • Как вы организовываете код на фронте?

    khipster
    @khipster
    Используйте принцип KISS («keep it simple, stupid»).
    Ответ написан
    1 комментарий
  • Angular 2 уже пора?

    Попробуйте пока поиграться с ним, сделать какие-нибудь тривиальные вещи...и возможно вы влюбитесь в это прекрасное творение как и я =) В действительности же, я не знаю, что значит "пора", для людей которые зарабатывают программированием. Могу лишь предположить, что для вас важно, чтобы проект уже был стабилен, и глобальных изменений не вносилось, дабы много раз "не перелопачивать" код. Но это уже поздняя бета, к тому же разработчики не раз говорили, что если изменения и будут, то это скорее дополнение и расширения существующей версии. Еще один, как я считаю, немаловажный плюс, как сообщество отреагировало на выпуск беты: Яков Фейн уже написал книгу по Angular-у, а человек, вроде, серьезный, стал бы он давать то, что не будет работать уже завтра?Думаю - нет. Есть уважаемые youtube блогеры, которые уже сняли материал, к примеру: thenewboston, Mindspace. Так же проводилось множество конференций именно после выхода беты.

    Я же человек, который занимается программированием всего-лишь 5 месяцев, мой основной ЯП - java. Для того, чтобы зарабатывать этим ремеслом мне необходимо продемонстрировать свои навыки, и вот для этой цели я разрабатываю свой "универсальный магазин", а-ля catalog.onliner.by + еще одно крыло, в виде админки всего сайта. Сейчас мой стек: back-end: Spring MVC +Secutiry, Jpa(Hibernate), front-end: Angular 2(хотя сначала был 1-ый). Да, у меня были проблемы,допустим, с тем как сделать динамический роутинг, или организовать взаимодействия между различными элементами router-outlet, что решилось с помощью удобнейших провайдеров( фабрик в 1-ом ангуляре), валидация форм, сортировка данных, можно перечислять и перечислять задачи. Но все же решаемо, тем более когда вы во фронденде не первый день. Но какое же удовольствие ты получаешься при разработке на этом языке, вместе с java, Typescript+Angular 2 ... типизированность, замечательная структурируемость и модульность, приложение у меня уже довольно-таки большое, конечно, по сравнению с корпоративными оно должно казаться небольшим, если не меньше, но в ветвях своего приложения ориентируешься относительно быстро,изменения кода почти безболезненны, хотя ,наверное, это всего-лишь мой стиль написания кода...но помню пытался, что-то похожее начать делать на Jquery...не знаю как лучше это обозвать, скорее: лапша и все больно менять.
    Возможно я и потратил немного времени на изучение Angular-a, столкнулся с некоторыми проблемами,писал сюда, на SO, на github разработчикам, но я думаю, что это вполне нормально для нового ЯП?)
    Ответ написан
    3 комментария
  • Как посчитать количество поддонов оптимально?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    IMHO в вашем случае проще решить простым перебором всех вариантов.
    #!/usr/bin/env python
    
    rack_s=0 #72
    rack_m=0 #84
    rack_b=0 #90
    min_b=0
    min_m=0
    min_s=0
    empty=1000
    
    for blocks in range(70,100):
      empty=blocks
    
      for rack_b in range(0,100):
        for rack_m in range(0,100):
          for rack_s in range (0,100):
            space=rack_s * 72 + rack_m * 84 + rack_b * 90
            if space >= blocks:
              if empty > (space - blocks):
                empty=space - blocks
                min_b=rack_b
                min_m=rack_m
                min_s=rack_s
              break
      print ("Blocks:", blocks, "	Empty blocks :",empty, "	Racks: Big, Medium, Small:", min_b, min_m, min_s)

    Табличку сохранить и пользоваться готовым.
    Ответ написан
    Комментировать
  • Вопрос по node.js, нужно передать данные с роута в контроллер, как?

    @Provocation
    В двух словах: не нужно пытаться передавать io в качестве параметра.
    Его можно сделать "глобальным" на уровне app следующим образом.
    К примеру, после
    var io = require('socket.io')(server);
    написать
    app.set('io', io);
    после чего можно в любом обработчике получить его через
    var io = req.app.get('io');
    Ответ написан
    Комментировать
  • Как посчитать количество поддонов оптимально?

    @Aves
    Проще всего банально перебором
    var p72 = {count: 72};
    var p84 = {count: 84};
    var p90 = {count: 90};
    
    var items = [p72, p84, p90];
    var count = 1043;
    var minVal = Infinity;
    var solutions = [];
    var val;
    
    for (var i = 0, item = items[i]; i < items.length; item = items[++i]) item.max = Math.ceil(count / item.count);
    
    for (p72.i = 0; p72.i <= p72.max; p72.i += 1)
      for (p84.i = 0; p84.i <= p84.max; p84.i += 1)
        for (p90.i = 0; p90.i <= p90.max; p90.i += 1) {
          val = p90.i * p90.count + p84.i * p84.count + p72.i * p72.count;
          if (val < count) continue;
          if (val < minVal) {
            solutions = [];
            solutions.count = val;
            minVal = val;
          }
          if (val === minVal) solutions.push([p72.i, p84.i, p90.i]);
        }
    
    console.log(solutions); // 1044 9 вариатнов
    Ответ написан
    Комментировать
  • Как посчитать количество поддонов оптимально?

    Nivalis
    @Nivalis
    У меня по математике было 3, но всё же попробую. Берите количество блоков и делите на самый большой поддон без остатка. 1043/90 = 11.
    Остаток пытаемся засунуть в более мелкие поддоны 1043-990=53/72 ->1.
    Итого: 11 по 90 и 1 по 72.
    Но это алгоритм без весов (стоимости поддонов). С удовольствием послушаю математиков.
    Ответ написан
    Комментировать
  • Перезагрузка страницы прерывает исполнение JavaScript сценария?

    EnChikiben
    @EnChikiben
    да
    Ответ написан
    Комментировать
  • Как настроить git на windows 7?

    fornit1917
    @fornit1917
    Это не вам должны ключ скидывать, это вы свой id_rsa.pub должны добавить на сервер, с которым собираетесь работать.
    Ответ написан
    4 комментария
  • Почему не срабатывает WebSocket.onmessage?

    passshift
    @passshift
    php, js, html5, css
    Как минимум socket.onmessage у Вас в socket.onopen, а такого быть не должно, пропишите его отдельно - ниже, после socket.onopen
    Ответ написан
    Комментировать
  • В каком формате сделать ответ API?

    $data = intval(file_get_contents('http://www.site.com/?key=123&query=abcd&format=xml'));
    $data = intval(file_get_contents('http://www.site.com/?key=123&query=abcd&format=json'));
    $data = intval(file_get_contents('http://www.site.com/?key=123&query=abcd&format=html'));
    и т д
    Ответ написан
    8 комментариев
  • Почему работает эта функция тормозилка (вызов не чаще чем в N миллисекунд)?

    khipster
    @khipster Автор вопроса
    Начало доходить, вызов то один: var f = debounce(f, 1000); Значит в одном замыкании работаем.
    Ну да, f() это уже вызов возвращаемой функции, который хоть и образует новые замыкания, но значение переменной state всё равно берётся из единственного замыкания образованного при вызове функции debounce. А COOLDOWNможно просто заменить на 1.

    // Кому надо моя версия без обёртки.
    // Использую свойство функции, т.к. функция это объект.
    // Свойство создается после! первого запуска.
    function f(x) {
      if(f.rest) {
      	return;
      }
    	console.log(x);
    	f.rest = true;
      setTimeout(function() {
      	f.rest = false;
      }, 100);
    }
    Ответ написан
    Комментировать
  • Как в Node js ответить на запрос отправленный из ajax?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Давайте угадаю, сам сайт висит на другом хосте?
    Вам нужно реализовать CORS на сервере
    И научитесь пользоваться инструментами разработчика в браузере, там много полезного
    Ответ написан
    1 комментарий
  • Как правильно составить регулярное выражение?

    kawabanga
    @kawabanga
    Зачем вам рег выражения?
    Тащите через xpath
    Ответ написан
    Комментировать
  • Ошибка moment.js?

    miraage
    @miraage
    Старый прогер
    https://en.wikipedia.org/wiki/ISO_8601

    Формат не поддерживает миллисекунды.

    Это не ошибка moment.
    Вы не олень.

    Уберите ms = все будет чудненько.
    Ответ написан
    2 комментария
  • Как правильно организовать совместную разработку?

    @ashumkin
    системный разработчик
    Если эти файлы генерируются из исходников, то им не место в исходниках
    Ответ написан
    Комментировать