Ответы пользователя по тегу JavaScript
  • Актуальные книги по js?

    aRegius
    @aRegius
    Python Enthusiast
    Вся актуальная литература есть только на Amazon. Вот, например, книги по JavaScript тематике, отсортированные по дате выхода (с учетом планируемых).

    Также, на заметку, издательство O’Reilly предлагает в открытом доступе ряд материалов для изучения, а издательство Packt раз в сутки выкладывает для бесплатного доступа рандомные книги - можно мониторить на предмет актуальности исходя из личных потребностей.

    Крайне редко вы встретите актуальный русскоязычный аналог, да еще с толковым переводом. Поэтому, я бы делал ставку на английский - это ваша дополнительная степень свободы относительно доступа к самой новой и качественной информации на рынке.
    Ответ написан
    1 комментарий
  • Как эффективно развивать себя как разработчика?

    aRegius
    @aRegius
    Python Enthusiast
    Вам будет гораздо легче решать большую часть стоящих перед вами задач (а другим гораздо легче вам в этом помогать), как только вы перестанете описывать их общими фразами (типа "максимально эффективно", "полноценный дев", "хорошим специалистом" и т.п.).

    Будьте конкретны:
    - "Моя цель на ближайшие 6 месяцев - вырасти до позиции XXX в текущей компании". И далее:
    - "Что мне нужно сделать для того, чтобы в течение 6 месяцев в моей компании вырасти до XXX ?"

    С этим уже можно обратиться к людям, обладающим достаточной компетенцией в помощи вам с ответом на этот вопрос: "Для того, чтобы в нашей компании стать XXX, нужно знать ЭТО и уметь ТО".

    - "Что мне нужно для того, чтобы узнать ЭТО и научиться делать ТО ?". Cоставляете план действий (разбиваете необходимые шаги на месяцы, недели, дни) с дежурными сроками (для проверки запланированного и достигнутого, внесения в связи с этим необходимых корректировок и т.п.) - и вперед.

    Но все начинается с конкретики:
    - "...хочется максимально эффективно развивать себя...". Что конкретно значит (для вас) "максимально эффективно"? По каким критериям вы будете определять, эффективно вы развиваетесь или нет? Количество прочитанных книг? Сложность решаемых задач? Что конкретно?
    - "...чтобы стать не только полноценным девом...". Что конкретно значит (для вас) "полноценный дев"? Как вы поймете, что стали "полноценным девом"? Вы добьетесь определенной должности? Будете зарабатывать определенную сумму денег? Что конкретно?

    Успехов.
    Ответ написан
    Комментировать
  • Как организовать самообучение языкам программирования?

    aRegius
    @aRegius
    Python Enthusiast
    1. Определяете минимум, который вам необходим для создания продукта-цели. Ну, то есть, самый минимум, minimum minimorum. Например: "Для создания моего продукта мне нужны HTML, CSS, JS и PHP. Без любого из них я свой продукт создать не смогу. Это мой необходимый минимум."

    2. Ищите по 1-му толковому материалу (чтобы не распылять усилия на 8 книг и 15 онлайн-курсов по JS, условно) для каждого инструмента. Более того, по трем из них я вам могу дать рекомендации: HTML5 + CSS3 + JS. PHP не мой "конек", возможно коллеги подскажут...

    3. Учите в том же порядке: HTML, потом CSS, потом JS/PHP (PHP/JS, тут уж сами смотрите).

    4. Открывайте соответствующий материал по предмету, ознакомьтесь со структурой подачи материала и определите для себя ключевые точки для разбития этого материала на блоки, каждый из которых вы будете стараться пройти "за один присест".
    Например: открываете книгу по HTML, смотрите содержание, и принимаете решение (исходя из имеющегося у вас времени, которое вы готовы в день уделять обучению), что будете в день работать над 2-мя главами материала.
    Или: открываете материал по JS, смотрите содержание, и принимаете решение, что будете в день работать над 1-ой темой (сегодня - "Основы JavaScript", завтра - "Качество кода" и т.п.)

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

    6. До тех пор, пока вы не реализуете свой стартовый проект, учите и практикуйте только то, что вам для этого необходимо. Работу непосредственно над самим проектом начинайте ровно в тот момент, когда почувствуете, что пора. Тут уж все индивидуально.

    7. После реализации проекта можете выдохнуть, осмотреться, наметить очередные цели с учетом приобретенного опыта - и дальше в путь!

    Подытожим: определитесь с минимумом технологий, распланируйте время на изучение, учите технологии step-by-step - не распыляйте усилий, придерживайтесь графика.

    P.S. Вам будет проще, если вы сконцентрируетесь, поставите себе минимально возможные сроки и "возьмете эту крепость блицкригом", ибо на скользкую горку проще всего забраться с разбегу :)
    Ответ написан
    4 комментария
  • Как сообразить алгоритм оптимизации?

    aRegius
    @aRegius
    Python Enthusiast
    Сергей, смотри, может подойдет такой вариант (я опишу общий принцип, реализация кода, ессно, на тебе):

    1. Сортируешь фрукты по их количеству, от большего к меньшему (например, 30 яблок, 25 груш, 20 апельсинов, 15 мандаринов, 10 слив, 5 бананов).

    2. Заполняешь корзины сверху - вниз (от больших объемов к меньшим). Заполняешь максимально полно - всю корзину, остаток оставляешь пока в стороне, не используешь.

    Например:
    шаг 1: 30 яблок и 3 корзины по 20... Заполняем 1 корзину полностью, остаток 10 яблок сохраняем на потом, сейчас не используем.
    шаг 2: 25 груш и 2 корзины по 20... Заполняем 1 корзину полностью, остаток 5 груш сохраняем на потом, сейчас не используем.
    шаг 3: 20 апельсинов и 1 корзина по 20... Заполняем 1 корзину полностью, остатка нет.
    шаг 4: 15 мандаринов и 1 корзина по 18... ПРОПУСКАЕМ, ищем вариант заполнения ПОЛНОЙ корзины...
    шаг 5: 15 мандаринов и 2 корзинs по 16.. ПРОПУСКАЕМ, ищем вариант заполнения ПОЛНОЙ корзины...
    шаг 6: 15 мандаринов и 6 корзин по 14... Заполняем 1 корзину полностью, остаток 1 мандарин сохраняем на потом, сейчас не используем.

    и т.д. .........

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

    Прогон сверху вниз нужен для того, чтобы рационально использовать корзины - ведь, если есть 1 яблоко, и 2 корзины (20 и 4 мест соответственно), логично положить его в корзину на 4 места.

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