• Почему часто сталкиваюсь с перегоранием при обучении?

    Лучший метод - голод и успех, морковка спереди и морковка сзади.
    Нужно решать задачи, которые обеспечивают хотябы маленькие успехи, ну и понимать кушать бесплатно всю жизнь не получится, а еще и прийдется кого то кормить.
    Ответ написан
    3 комментария
  • Почему часто сталкиваюсь с перегоранием при обучении?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    У вас проблемы с волей, дисциплиной и целеустремленностью. Надо работать над развитием этих качеств, иначе невозможность выучить язык программирования станет наименьшей из ваших проблем.
    Ответ написан
    1 комментарий
  • Как реализовать кривую границу блока/секции на сайте?

    profesor08
    @profesor08 Куратор тега CSS
    Где-то раньше был точно такой-же вопрос, с точно таким-же фоном.

    Задаешь секциям фон, потом выставляешь для первой псевдоэлемент в самый низ, для второй в самый верх, задаешь им какой-то фон чтоб отличать, а далее работаешь с clip-path. Все.

    https://codepen.io/Profesor08/pen/OwvbwY?editors=0100
    Ответ написан
    1 комментарий
  • Какую книгу посоветуете для поднятия базового уровня знаний о программировании в целом?

    zualex
    @zualex
    Senior Software Engineer
    Вот для начала, выбирай что понравится:
    • Программист-прагматик. Путь от подмастерья к мастеру (Эндрю Хант, Дэвид Томас)
    • Джоэл о программировании
    • Джоэл. И снова о программировании
    • Идеальный программист. Как стать профессионалом разработки ПО (Роберт К. Мартин)


    Если понравится, то вот чуть сложнее чтиво:
    • Совершенный код (Стив Макконнелл)
    • Рефакторинг(М. Фаулер)
    • Чистый код создание, анализ и рефакторинг (Роберт К. Мартин)


    Если еще нужно, что то зубодробительное, то вот:
    • Структура и интерпретация компьютерных программ (Харольд Абельсон, Джеральд Джей Сассман)


    А так рекомендую еще читать, что то около программирования:
    • Мифический человеко-месяц, или Как создаются программные системы (Хилл Чапел, Фредерик Брукс)
    • Цель. Процесс непрерывного совершенствования (Элия М. Гольдратт, Джеф Кокс)
    • Человеческий фактор. Успешные проекты и команды (Том ДеМарко, Тимоти Листер)
    Ответ написан
    Комментировать
  • Актуальные книги по js?

    @kuftachev
    Какие книжки по js? Там все меняется быстрее, чем работают топографические станки!

    Есть лучший русскоязычный ресурс - это https://learn.javascript.ru , а также https://developer.mozilla.org/ru/ , тут что-то есть на русском, а что-то непереведено.

    А дальше уже документации фреймворка, какой нравится, если это Vue.js, конечно ))) Хотя и Angular не плох.
    Ответ написан
    3 комментария
  • Актуальные книги по js?

    @doublewaffle
    А вы их покупаете?
    Eloquent JavaScript доступен бесплатно на сайте, НО начиная с какого-то момента становится неоправданно сложной книгой. Лучше Head First JavaScript Programming (2014) +> You Don't Know JavaScript, а задачи решать на checkio и codewars + MDN в качестве справочных материалов.
    Ответ написан
    2 комментария
  • Литература для понимания программирования?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Как уже упоминали выше, самая фундаментальная книга СИКП. На нашем проекте есть подборка именно таких книг ru.hexlet.io/pages/recommended-books. Они затрагивают почти все необходимые аспекты и часть из них пересекается с тем что здесь рекомендуют и по указанным ссылкам.

    Если вы начинаете обучаться прямо совсем с нуля, то рекомендую нашу бесплатную систему http://code-basics.ru, питона там правда нет пока, но мы в процессе его добавления. Главная фишка в том что кроме теории есть и практика, которая выполняется тут же онлайн.
    Ответ написан
    Комментировать
  • Контекст выполнения в js: запутался, как понять?

    А так ?
    for (let count = 0; count < 50 ; count ++) {
      setTimeout(function() {
        console.log(count);
      }, 0);
    }

    https://learn.javascript.ru/functions-closures
    https://learn.javascript.ru/let-const

    Дело именно в контексте и области видимости.
    Функция, которая вызывается внутри setTimeout берет переменную count из замыкания, так как переменные объявленные через var всплывают, то все функции фактически будут обращаться к одной переменной, значение которой уже равно 50.

    Область видимости переменной let – блок {...} тоесть каждая итерация будет брать из замыкания свою переменную.

    Пожалуйста почитайте про ES6 и ES7 и используйте новые возможности JS let, const, Promise, классы, генераторы и итераторы это позволит вам писать более чистый и понятный код. Если вдруг попадете в Проект, который будет требовать поддержку IE10, вы всегда можете прогнать код через babel или использовать полифилы, а вообще избегайте таких проектов. На рынке сейчас на Фронтов спрос, и всегда можно выбрать проект поинтереснее.
    Ответ написан
    Комментировать
  • Простым языком о замыканиях?

    solotony
    @solotony
    покоряю пик Балмера
    1. Для чего замыкание существуют?


    замыкания существуют для связывания функции с некоторым набором параметров

    2. В каких условиях они создаются?


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

    @lemix85
    Я бы сказал так. Например, когда в теле функции используется переменная объявленная в вышестоящей функции, то переменная будет удерживаться до тех пор пока не отработает внутренняя функция - т.е. внутрення функция замкнёт на себя переменную.
    Например (setTimeout иллюстрирует любую асинхронную операцию):

    function func1() {
        var myVar1 = 100;
        setTimeout(function() {
             console.log(myVar);
        }, 1000); 
    }
    func1();


    Здесь, анонимная функция переданная в setTimeout замыкает на себя переменную myVar, а если бы этого не происходило, то в консоль вывелось бы undefined, т.к. переменная была бы уничтожена.

    Использовать можно, например, для создания колбэков с сохранением контекста:

    /// Некорректный вариант, выведет 3 3 3
    for(var i = 0; i < 3; i++) {
        setTimeout(function() { console.log(i) }, 1000); // Потому что на момент вызова колбэка цикл уже отработает и значение i будет максимальным
    }


    /// Выведет 0 1 2 т.к. текущее значение переменной i для каждой итерации передано аргументом в функцию в которой его замкнула другая функция
    for(var i = 0; i < 3; i++) {
        var cb = (function(value) { 
            return function() { console.log(value) };
        })(i);
        setTimeout(cb , 1000);
    }


    Последний код делает то, что сегодня уже можно сделать с помощью bind (но в моё время bind'а не было):
    for(var i = 0; i < 3; i++) {
        setTimeout(function() { console.log(this); }.bind(i) , 1000);
    }
    Ответ написан
    1 комментарий
  • Простым языком о замыканиях?

    DanielDemidko
    @DanielDemidko
    Программист
    Всё просто. Замыкание это когда мы возвращаем из одной функции, назовём её глобальной, другую функцию, вложенную в первую.
    Вложенная функция может в своей работе использовать внутренние переменные глобальной функции.
    Замыкания есть не только в JS.
    Ответ написан
    Комментировать
  • Простым языком о замыканиях?

    @undefined_title
    Это когда ты при объявлении функции имеешь доступ к переменным окружающей функции, именно и для этого доступа к переменным замыкание и используется
    Ответ написан
    Комментировать
  • Простым языком о замыканиях?

    miraage
    @miraage
    Старый прогер
    1) чтобы сохранить переменные для будущего использования
    2) посредством вызова функции, которая вернет другую новую функцию.
    Ответ написан
    Комментировать
  • Простым языком о замыканиях?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    1. Для чего замыкание существуют?
    Для инкапсуляции данных.
    В ООП есть модификаторы доступа (private, protected), которые закрывают доступ к данным извне класса, но позволяют обращаться к ним из методов.
    В ФП для этой задачи используют замыкания, закрывая данные внутри функции. Из вне данные недоступны, но вложенные функции имеют к ним доступ.

    2. В каких условиях они создаются?
    Когда вложенная функция обращается к переменным внешней функции.

    Хоть и просили без примеров, но на примере показать проще:
    // makeCounter - внешняя функция
    function makeCounter(initialValue) {
      var value = +initialValue || 0;
      // counter - внутренняя функция
      // она использует переменную value из внешней функции
      // что-бы это было возможным, для counter создается замыкание,
      // в котором хранится переменная value
      // переменная initialValue функции counter не нужна, поэтому ее можно "забыть"
      return function counter() {
        return value++;
      };
    }
    
    // у нас 3 экземпляра функции counter
    var counter1 = makeCounter();
    var counter2 = makeCounter();
    var counter3 = makeCounter(100);
    // и для каждой есть своя переменная value
    console.log(counter1()); // 0
    console.log(counter1()); // 1
    console.log(counter2()); // 0
    console.log(counter1()); // 2
    console.log(counter3()); // 100
    
    // а вот получить как-то напрямую переменную value мы не можем
    // инкапсуляция нам не дает поломать данные
    Ответ написан
    Комментировать
  • Литература для понимания программирования?

    @AndrewStr
    А чем вас CS50 не устроил? Вы его уже прошли? Он есть полностью переведенный на русский язык и совсем не плох как вводное. Не стоит привязываться ни к какому языку пока вы изучаете именно основы, хотя я согласен с Антон Федорян что Страуструп в этом плане подойдет. По сути, если вы хотите основ, то это структуры данных, а так же работа с этими самыми структурами данных, т.е. алгоритмы + не помешает знать как в принципе работает компьютер/ОС/сеть изнутри, это и будут основы. Дальше уже идут языки, подходы в этих самых языках, и сферы их применения, ну и т.д.
    Ответ написан
    4 комментария
  • Литература для понимания программирования?

    @asd111
    Основы программирования можно полностью выразить основами любого языка программирования, т.е. это функции, циклы, какие то структуры данных, условные операторы, обработка ошибок и т.п.
    Читайте Лутца дальше, по ходу книги поймете основы программирования.
    Ответ написан
    Комментировать
  • Литература для понимания программирования?

    igorzakhar
    @igorzakhar
    Для меня, самыми полезными, в этом плане, оказались:
    1. "Код. Тайный язык информатики" (Чарльз Петцольд). Можно начать с главы 9 "За битом бит";
    2. Программирование: введение в профессию. Том 1: аз...(в электронном варианте распространяется бесплатно. www.stolyarov.info/books/pdf/progintro_vol1.pdf).

    UPD.
    + Было не лишним, лично для меня, чтение некоторых глав из книг «Архитектура компьютера» (Э. Таненбаум, Т. Остин) и "Современные операционные системы" (Э.Таненбаум, Х. Бос).
    Ответ написан
    4 комментария
  • Что должен из HTML (4 + 5) знать профессионал Front-End-а?

    @lyaksay
    Верстка/frontend
    В семантике нужно отлично шарить, посмотрите доку по бэмУ
    https://ru.bem.info/methodology/
    Ответ написан
  • Что должен из HTML (4 + 5) знать профессионал Front-End-а?

    myjcom
    @myjcom
    знать профессионал

    Если не знаете английский начните с него, если знаете, то непонятно где Вы ищите. (в китайском интернете?)
    Все доступно (но это только верхушка айсберга)
    CSS: The Definitive Guide, 4th Edition
    Author: Eric A. Meyer, Estelle Weyl
    ISBN-10: 1449393195
    Year: 2017 Pages: 1090
    Language: English

    CSS Pocket Reference, 5th Edition
    Author: Eric A. Meyer
    ISBN-10: 978-1492033394
    Year: 2018
    Pages: 208
    Language: English

    CSS in Depth
    Author: Keith J. Grant
    ISBN-10: 1617293458
    Year: 2018
    Pages: 472
    Language: English

    CSS Refactoring
    Author: Steve Lindstrom
    ISBN-10: 1491906421
    Year: 2016
    Pages: 160

    New Perspectives HTML5 and CSS3, 7th Edition
    Author: Patrick M. Carey
    ISBN-10: 1305503937
    Year: 2017 Pages: 872
    Language: English

    Responsive Web Design by Example
    Author: Frahaan Hussain
    ISBN-10: 1787287068
    Year: 2018 Pages: 292
    Language: English

    Pro HTML5 with CSS, JavaScript, and Multimedia
    Author: Mark J. Collins
    ISBN-10: 1484224620
    Year: 2017
    Pages: 560

    HTML5 and JavaScript Projects, 2nd Edition
    Author: Jeanine Meyer
    ISBN-10: 148423863X
    Year: 2018
    Pages: 425
    Language: English

    Web Design with HTML5 & CSS3: Comprehensive, Eighth Edition
    Год издания: 2017
    Автор: Minnick J.
    Издательство: Cengage Learning
    ISBN: 978-1305578166
    Серия: Shelly Cashman Series
    Язык: Английский
    Ответ написан
    Комментировать
  • Существует ли лаконичное описание математики?

    myjcom
    @myjcom
    Математика за 30 секунд
    Год: 2014
    Автор: под ред. Ричарда Брауна
    Переводчик: Карнаушко И.
    Издательство: Рипол Классик
    ISBN: 978-5-386-07012-0
    Серия: Узнать за 30 секунд
    Язык: Русский

    Математика. 50 идей, о которых нужно знать
    Год издания: 2014
    Автор: Крилли Т.
    Переводчик: Ш. Мартынова (с англ.)
    Издательство: Фантом Пресс
    ISBN: 978-5-86471-670-0
    Язык: Русский

    Магия математики: Как найти x и зачем это нужно
    Год издания: 2016
    Автор: Бенджамин А.
    Переводчик: Д. Глебов
    Издательство: Альпина Диджитал
    ISBN: 978-5-9614-4466-7
    Язык: Русский

    Удовольствие от x
    Год: 2014
    Автор: Строгац С.
    Издательство: Манн, Иванов и Фербер
    ISBN: 978-500057-008-1
    Язык: Русский

    Математика без формул
    Год выпуска: 1995
    Автор: Пухначев Ю., Попов Ю.

    Беседы о математике. Книга 1. Дискретные объекты
    Год выпуска: 2002
    Автор: Болтянский В.Г., Савин А.П.
    Жанр: Математика
    Издательство: МЦНМО
    ISBN: 5-94057-040-2
    Язык: Русский

    Мало ли...
    Логарифмическая линейка
    Год издания: 1958
    Автор: Кущенко В.С.
    Жанр или тематика: Математика
    Издательство: Судпромгиз
    Язык: Русский

    Счётная линейка
    Год выпуска: 1967
    Автор: Румшиский Лев Зимонович
    Издательство: "Наука"
    УДК: 681.143:518.5
    Язык: Русский
    Ответ написан
    Комментировать