• Как сократить выражение = или != undefined?

    Это вы для какого-то конкурса делаете или реально ТАК пишите? Лучше тогда уж так:
    for (var i = 0, j = isNaN(test) ? 5 : test; i < j; i++)

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

    UPD: прочитал, что автор не хочет объявлять переменную (confused_travolta.gif).
    Если переменная не объявлена, то и "undefined" не будет. Будет ошибка. Для этого можно сделать:

    try {
     j = test
    } catch(e) {
     j = 5;
    }
    Ответ написан
  • Как закрыть досуп горе хакерам?

    VELIK505
    @VELIK505
    Руководитель департамента profitcentr.com
    /etc/ssh/sshd_config
    Port 22 - можно и порт заменить
    LoginGraceTime 15s - максимум время на ввод пароля
    PermitRootLogin off - запретить ssh для рута
    MaxAuthTries 1 - максимум попыток ввода пароля.
    Этого достаточно будет за глаза.
    можете ещё через iptables можете закрыть токо своему айпи открыть
    iptables -A INPUT -s xxx.x.x.x -p tcp --dport 22 -j accept
    где xxx.x.x.x - айпи с которого можно в ssh попадать.
    так же в /etc/hosts.allow можете прописать:
    SSHD: xxx.x.x.x - где xxx.x.x.x ваш айпи с которого можно заходить в ssh.
    ребутьте токо sshd после настроек новых чтобы они вступили в силу
    /etc/init.d/ssh
    Ответ написан
    3 комментария
  • Изменение значения текстового поля?

    @lega
    Для этого есть событие "input"

    Например, если все символы удалены, то есть поле пустое, то добавляется класс error, и соответственно при хотя бы одном введенном символе, чтобы этот класс удалялся.

    Пример: jsfiddle.net/lega911/oquhqyvs
    или 2-х сторонний биндинг jsfiddle.net/lega911/wa0z1Lj4

    инфо тут: https://habrahabr.ru/post/272125/
    Ответ написан
    2 комментария
  • Как подставить массив в функцию?

    @nirvimel
    def f(a, omega, phi, t):
        return a * sin(omega * t + phi)
    
    x = [f(a[i], omega[i], phi[i], t[i]) for i in range(len(a))]
    Ответ написан
    7 комментариев
  • Существуют ли интернет-ресурсы в рунете, на которых можно обучаться программированию на языке C/C++?

    @vilgeforce
    Раздолбай и программист
    google - отличный ресурс. Правильно задаете вопрос и получаете материал по теме.
    Ответ написан
    Комментировать
  • Есть ли реальный профит от изоморфных приложений?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    скорость работы приложения значительно падает, если делаем его изоморфным


    В чем выражается? Как делали замеры? Почему медленнее?

    классический SPA работает намного быстрее, чем изоморф

    Разницы быть не должно вообще.

    Причины понятны - во первых увеличение ядра, во вторых периодическая перерисовка целых страниц.


    Опять же, ваше изоморфное приложение немного странное, по сути это должно влиять только на первую загрузку, затем все должно работать как SPA, никаких перезагрузок.

    При этом не составляет большого труда отрисовать неверстанные вьюхи для отдачи роботам, а юзеру отдавать классический SPA .


    Ну как бы тот же гугл учитывает стили при ранжировании (адаптация под мобильники и т.д.)

    В чем профит?


    Изоморфность нужна только для того, что бы уменьшить время отрисовки UI. То есть время между первым запросом и отрисовкой UI должно быть минимально. То что JS подгрузится секундой-двумя позже - это уже незначительная проблема, пользователь скорее всего первые секунды будет разбираться что он хочет делать дальше.
    Ответ написан
    23 комментария
  • Как реализовать очередь фиксированной длины?

    Stalker_RED
    @Stalker_RED
    var stack = [];
    var maxLen = 5;
    ...
    stack.unshift(newValue) // вставка нового элемента в начало
    if (stack.length > maxLen) stack.pop() // убираем лишний элемент

    Осталось обернуть это в объект и добавить геттер и сеттер.
    Ответ написан
    9 комментариев
  • Олимпиадное программирование на python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Комментировать
  • Как определиться с фреймворком?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Нужна помощь с выбором дальнейшего пути развития в веб разработке.

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

    Мне не понятно, это разделение фреймворков на группы

    разделение по языку программирования и задачах, которые решает этот фреймворк. Допустим RoR, Sails, Laravel, Symfony, Drango - это фреймворки для организации WEB интерфейса к вашему приложению. И не более.

    Angular, Ember, React, etc - это фреймворки для организации интерактивных WEB приложений на клиенте, на сервере им делать нечего (если не учитывать server-side рендринг для укорения отображения страницы).

    Используют ли их вместе, или только один?

    если вам надо написать интерактивное приложение и API к нему, то логично взять два фреймворка, которые реализуют то что нужно. Так что да.

    Как большое море, в котором видны островки, но целой карты нету

    нарисуйте. В центре ставим WEB, от него ответвляем клиент и сервер, и соединяем все... википедия в этом нам может помочь.
    Ответ написан
  • Системы счисления?

    @ar4ebaldello
    1) Сколько захочешь.
    2) 111(2) = 7(10)
    Ответ написан
    3 комментария
  • Когда надо использовать js фреймворк или php фреймворк?

    @LiguidCool
    Когда?
    Ох сейчас меня какахами закидают - да никогда.
    Нет, я не имею в виду что фрейворки УГ и их не надо учить. Проблема в том что их много, а ты один. Работодателей много, а ты один. На итоге много фреймворков у множества работодателей - всем не угодишь. А еще ведь и разные языки есть.
    Ну ладно, есть исключение - если ты "и жнец, и чтец, и на дуде игрец" и вообще сам себе хозяин (ака фрилансер) и не привязан к работодателю, то можно выбрать для себя что-то одно.
    И что на выходе? А на выходе надо хорошо знать сами языки и понимать зачем нужен фреймворк (ну по большей части для ускорения работы с языком, который ты уже должен знать).
    А php junior'у ИМХО и подавней не надо засерать себе мозг лишним. Все что будет надо вы познаете уже в процессе работы.

    PS
    Некоторые фирмы вообще не используют фреймворков (ну почти ... JQuery пожалуй почти все).
    Ответ написан
    5 комментариев
  • Как дождаться загрузки основных данных до начала обработки пути?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) выносим эту логику в сервис
    2) храним в сервисе промис
    3) используем этот промис в ресолверах
    Ответ написан
    3 комментария
  • Как загрузить JS файл через какой-то интервал времени?

    mlnkv
    @mlnkv
    JavaScript Developer
    function loadScript(src) {
      var s = document.createElement('script')
      s.src = src
      document.body.appendChild(s)
    }
    
    // и дальше в нужном месте вызываем
    loadScript('path/to/my/script.js');
    
    // или по таймауту
    setTimeout(function() { loadScript('path/to/my/script.js') }, 15000);
    Ответ написан
    3 комментария
  • Angular. Как связать директиву и контроллер?

    @couchemar
    Под jsfiddle не удалось таки запустить.
    Но вот вариант делающий вид что работает: plnkr.co/edit/iNTPWJOuQhVtC84SaQ6C?p=preview
    Ответ написан
    2 комментария
  • Что такое Less и Sass?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Лень двигатель прогресса. Хороший пример - принцип DRY - Don't repeat yourself. Я весьма подозреваю что вы стараетесь соблюдать этот принцип когда делаете макеты или чем вы там занимаетесь. Так же я весьма уверен что вы хотя бы пытались чуть автоматизировать рутину своей повседневной работы. Так же у вас могли быть ситуации когда вы переиспользовали какие-то элементы. Мало ли.

    Так вот... CSS это тупая таблица стилей. Селектор и стили, ничего сверх умного тут придумать нельзя. Лет 5-10 назад было довольно модно держать один мегажирный CSS файл на 10К+ строк и радоваться жизни внося все больше изменений и т.д. Соответственно даже если вы соблюдаете всякие правила модульной верстки и все такое, у вас возникает несколько проблем:
    • организация стилей, то есть держать все в одном файле не удобно особенно когда проект длится годами
    • Дублирование стилей и селекторов. По мере развития проекта появляются какие-то снипиты которые можно реюзать. Так же у вас может появиться масса однообразных селекторов отличающихся лишь немного. При модульных подходах вложенности редко имеет место быть но все же имеет. Но не будем забывать что большинство фигачит селекторы просто так. В итоге если мы переместили блок или переименовали класс какого-то блока нужно отредактировать еще массу селекторов.
    • Привязка размеров и параметров к другим стилям, например у вас в стилях задана ширина блока, от нее зависят другие параметры, отступы для других блоков и т.д. Да, в css3 появился calc для этого но это было относительно недавно и только с недавних пор можно почти без опаски использовать эту штуку.
    • Таблицы стилей, как и HTML ориентированы на удобный разбор этого добра машиной, но не человеком. Человек же существо ленивое и как-то вот лень лишний раз скобку поставить или точку с запятой. Просто лень.


    Есть так же хорошее правило, или идея если хотите.... Если код можно сгенерить - его лучше сгенерить. То есть для решения всех выше перечисленных проблем придумали препроцессоры. Они как бы были и раньше всех этих scss/less/stylus но как-то не решали всех проблем и т.д. Что в итоге было предложено (перечисляю в том же порядке что и в списке выше).

    • У CSS есть такая штука как @ import. Но не очень круто импортировать сотню стилей в продакшене. Стоит сделать так что бы все стили были склеены при сборке проекта. Эта идея в итоге развилась и если разработчик использует это дело правильно, можно зайти в любой файл со стилями и увидеть список всего от чего зависят эти стили. Какие стили подключаются и т.д. Причем один файл с зависимостями может быть подключен в нескольких файлах а препроцессор сам разберется как и куда все вставлять сгенерив максимально оптимизированный по структуре файл. А разработчик получил четкую структуру файлов и возможность быстро найти где что и от чего зависит.
    • С селекторами проблему предложили решить наиболее логичным вариантом. Если у нас есть вложенные селекторы, то имеет смысл определять их внутри блока этого селектора. Это существенно упрощает поддержку стилей. Так же для управления снипитами и прочим добавили миксины - эдакие параметризованные или нет функции которые выплевывают шматок CSS. До появления штук вроде autoprefixer это был единственный способ писать поддерживаемые стили, использовать плюшки CSS3 и вообще новые плюшки и не сойти с ума от префиксов. Префиксы это только пример, там могут быть самые разные штуки позволяющие грамотно производить реюз стилей
    • Проблему зависимостей значений стилей друг от друга решили... собственно самым очевидным способом - переменные. Это удобно, легко поддерживать и в умелых руках это мощный инструмент. Нужно поменять базовые цвета - не нужно лазить по 100500 блоков и править значения руками, можно поправить переменные и все будет хорошо.
    • Насколько я помню SCSS/LESS не стремились решить эту проблему. Какие-то решения образовывались сами собой с течением времени. В плане минимализма и выразительности пожалуй сейчас самая крутая штука это stylus.


    Что в итоге произошло. В один прекрасный момент какие-то там рубисты придумали SCSS (они вообще не любят все что не в стиле ruby в плане минимализма и выразительности). Затем чуваки подумали и сказали, SCSS это круто но почему-то они используют синтаксис знакомый именно Ruby разработчикам а не обычные для CSS конструкции. В итоге реализовали LESS, причем его уже реализовали на javascript, что с наличием node.js позволило это все добро еще на одной платформе собирать. А так как под эту платформу и так плодили препроцессоры оно удачно вписалось.

    Далее уже шли какие-то модификации дальнейшие, вроде того же Stylus, где синтаксис упростили просто до нельзя.

    Личное мнение. На сегодняшний день я не вижу смысла использовать чистый CSS хоть на малых хоть на больших проектах. Вот вообще никакого.
    Ответ написан
    3 комментария
  • Какой смысл в MacMini Server?

    Jump
    @Jump
    Системный администратор со стажем.
    Какой смысл в MacMini Server?
    небольшой, аккуратный и цивильно выглядящий сервер для SOHO.
    Для чего его вообще используют
    для чего угодно, ограниченно только вашей фантазией, функционалом, и производительностью.
    в каких случаях его использование оправдано?
    в любых, где он справляется со своими обязанностями, и цена приемлема.
    Есть ли серверный софт, который работает только на маке
    не слышал, о таком, но возможно и есть. А зачем вам такой софт?

    В общем то отличная железка для своей ниши. Тем более в этой нише спрос хороший, а предложение никакое.
    Из конкурентов только hp microserver, ну еще интел со своим NUC
    Ответ написан
    Комментировать
  • Как работает организация связи между модулями Javascript?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    При вызове метода someAction у модуля модуль инициирует событие event (глобальное событие для всех компонентов которые подписаны на него). В вашем примере модуль Module1 в методе init подписывается на событие и что-то делает при этом.

    Читать про шаблон observer и все такое. Важно понять где стоит применять подобный подход а где лучше явно вызвать метод другого модуля.
    Ответ написан
    6 комментариев
  • В чьи руки отдать разработку веб-сервиса?

    свои штатные сотрудники и подробная документация по всем стадиям и т.п.
    Ответ написан
    1 комментарий
  • Как вывести массив var a = [2, 2,3,3,3,4]; в виде 2:2, 3:3, 4:1?

    Простите, вы собираетесь поэтапно решать свои задачи с помощью Тостера?
    Судя по списку предыдущих ваших вопросов, именно так дела и обстоят.

    Может стоит взять в руки учебник, ну или хотя бы javascript.ru проштудировать?
    Ответ написан
    Комментировать