• Как в этом примере достигается база рекурсии?

    @Aracon
    Этот метод делит строку пополам и переставляет местами половины. Во внутренние вызовы передаются уже половины строк. Деление пополам конечно - в какой-то момент фрагмент строки будет длины 1 или 0. Чтобы обратить строку единичной длины или пустую строку, ничего делать не нужно, поэтому, если длина строки <=1, возвращается та же самая строка, - так достигается база.

    Пример. В качестве символов для удобства возьмём цифры.
    1) Данные уходят в глубь рекурсивных вызовов:
    (12345)
    ((12) (345))
    (((1) (2)) ((3) (45)))
    Когда функция получает строку длины 1, то возвращает её же. А строка "45" уйдёт ещё на один шаг вглубь. Тем временем в вызовах, получивших обратно данные, результаты переставляются местами и возвращается получившаяся строка:
    ((21) ((3) ((4) (5))))
    ((21) ((3) (54)))
    ((21) (543))
    (54321)
    Ответ написан
    2 комментария
  • Как не распыляясь дотащить до front-end мидл девелопера?

    @djay
    Must have:

    - HTML5/CSS3 - знать как минимум в совершенстве
    - JavaScript, включительно ECMAScript 6-7
    - В порядке вещей - Bootstrap + Jquery
    - Grunt/Gulp, Bower
    - Знание хотя бы одного фреймворка. Сейчас более менее ходовые это Angular.js и Backbone
    - Знание системы контроля версий Git. Умение работать с GitHub/BitBucket
    - Опыт работы от 2-х лет

    Как плюс:

    - Знание Canvas, SVG, умение писать игры
    - Знание шаблонов проектирования
    - Умение покрывать код тестами

    Это и есть обобщенный набор навыков по рынку на текущий момент.
    Ответ написан
    9 комментариев