• Как работает замыкание вообще и в JavaScript, в частности?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Пример, который вы привели, относится больше к каррированию (каррингу).
    Вы передали некое значение, которое получила в свой контекст внутренняя функция, которая и вернулась.

    Замыкание ли это? Безусловно. Почитайте про лексический контекст у Ильи Кантора. Лексический контекст зависит от способа создания (FD, FE или вызов конструктора Function).

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

    Closure — не паттерн, а реализация. К паттерну Singlton не имеет отношения.
    Тык, пык.
    Ответ написан
    3 комментария
  • Как найти стабильную удалённую работу Web разработчику? Реально ли?

    RuJet
    @RuJet
    Все реально!
    Научись общаться с людьми.
    Научись продавать свой труд.
    И все получится.
    Ответ написан
    Комментировать
  • Какой правильный подход к изучению JavaScript?

    Я бы начал с
    https://www.codeschool.com/paths/javascript
    https://github.com/getify/You-Dont-Know-JS/blob/ma...
    Eloquent JavaScript (на русском)

    В любом топике советуют начинать с книжки с носорогом. Но обычно это делают как раз те, кто её и не читал :) Потратите очень много времени, мало что поймете и недалеко продвинетесь. Лучше вернуться к ней позже.
    Ответ написан
    Комментировать
  • JSLint зло или добро!???

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Не пиши каку и все ок будет, там же в выводе написано, что не так. И это не "гребанный валидатор", а ОЧЕНЬ эффективная система по выпрямлению кривых рук.
    Ответ написан
    1 комментарий
  • За кем следить на GitHub?

    JSinga
    @JSinga
    Итак попытаемся разобраться и сделать это логично:
    Мы любим фронтенд значит нам нужно что то на языке JavaScript - ищем на гитхабе проекты с большим кол-вом звездочек и все еще "живые":
    github.com

    Смотрим неколько проектов и смотрим там на контрибьюторов которые внесли много коммитов результат:
    pazguille
    getify
    spicyj
    hhaidar
    nolimits4web

    То же самое для html:
    PaulKinlan
    hubgit
    Ms2ger
    LeaVerou - обратите внимание это девочка и еще и из MIT
    davelab6
    enaqx

    Попутно смотрим в какие группы эти ребята входят и отмечаем инетересные
    reactjs
    html5rocks
    GoogleChrome

    Ну алгоритм вам надеюсь понятен, дальше можно просматривать бесконечно!
    Ответ написан
    1 комментарий
  • Где и какие есть актуальные ресурсы для front-end?

    ibakhtin
    @ibakhtin
    Сноб, эстет и бездельник
    Ответ написан
    Комментировать
  • В какой последовательности читать книги по JavaScript?

    Andy94
    @Andy94
    Есть мнение , что неважно как и какой последовательности читать, можно просто читать все подряд. Главное , что твоя нейронная сеть в голове, получает сходную информацию и соответствующие связи укрепляются.
    Ответ написан
    2 комментария
  • В какой последовательности читать книги по JavaScript?

    @Aizen22
    Если дружите с английским можете посмотреть "How to learn JavaScript properly". В зависимости от текущего уровня знаний автор предлагает несколько путей изучения.
    Ответ написан
    Комментировать
  • В какой последовательности читать книги по JavaScript?

    BBmike
    @BBmike
    я для себя нашел "Изучаем программирование на JavaScript" из серии Head First O'Reilly
    для быстрого старта + само собой Флэнаган как теория + его же карманный справочник по JS всегда с собой для долбежки синтаксиса.

    Вроде самое то, не?
    Ответ написан
    3 комментария
  • В какой последовательности читать книги по JavaScript?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    От общего к частному:
    "Носорог"
    Крокфорд
    "Шаблоны" Стефанова -- отличная вещь
    МакКоу на данный момент, наверное, подустарел, но, как минимум, Backbone поможет освоить.
    "Оптимизацию" Закаса можно прочесть последней, или где-то в середине.
    Ответ написан
    Комментировать
  • Как вникнуть в тонкости back end разработки?

    Stac
    @Stac
    Серверные скрипты в своем простейшем случае (PHP, Perl, CGI-скрипты на любых других языках) весьма похожи на неинтерактивные консольные программы (утилиты командной строки).

    Они принимают данные на вход через заголовки и тело HTTP-запроса, что-то быстро делают и выводят результат [в браузер].

    PHP или CGI-скрипт вызывается вебсервером (программой) в процессе отбработки входящего запроса (request) . Он же получает результат работы скрипта и фактичеки возвращает браузеру в ответном HTTP-запросе (response).

    HTTP-запросы это чистый текст с минимальной структурой, с которой имеет смысл ознакомиться.

    В некоторых технологических стеках сама прикладная программа и является вебсервером (например, node.js и Ruby On Rails - впрочем, не влададею эти технологиями, могу ошибаться).
    Но даже в этом случае прикладной программист не работает пакетами и битами (может, если захочет, но на практике это не нужно).

    Прикладная среда выполнения (вебсервер или фреймфорк), приняв запрос, дает программисту доступ к его элементам через глобальные переменные или объекты, в зависимости от того, как принято в конкретном языке программирования.
    Для PHP это глобальные переменные (ассоциативные массивы) $_SERVER, $_REQUEST и др. В первой можно найти некоторые HTTP-заголовки, кое-какие данные о сервере и удаленном клиенте (IP адрес, например). Во второй собраны все входные данные, переданные через URL (site.ru/page.php?key=value&key2=value2), в теле POST запроса, через куки (фактически HTTP-заголовки специального формата) и переменные окружения [операционной системы].

    Различные фреймворки могут иметь классы и объекты с именами типа Request.

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

    Если данных очень много и их не просто надо читать, но для начала найти какие-то фрагменты (конкретные строки таблицы, поля объекта) по каким-то критериям, а потом, возможно, как-то обработать, то можно использовать СУБД.

    СУБД бывают встроенные и клиент-серврные.
    Пример встроенной это SQLITE, которая встроена в PHP как модуль расширения. Она также используется в iOS, Android, браузерах Firefox, Chrome и многих-многих других программах.

    Клиент-серверные чаще всего это MySQL (даже чаще чем надо), PostreSQL, MS SQL Server, Mongo DB, есть куча других.

    Серверная часть такой СУБД работает как отдельный сервер (программа), возможно на отдельном сервере (компьютере). Клиентская часть это модуль в среде исполнения (расшириние PHP, библиотека функций) или может условно отсутствовать, если СУБД имеет HTTP API. В этом случае клиентскую часть пишет прикладной программист на своем языке.

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

    В PHP-практике, наоборот, самый популярный сценарий это "один сервер - один клиент" и на одном компьютере. Так сложилось исторически.
    Так работают самые популярные CMS, так пишутся книги, проводятся курсы.

    Все операции на сервере происходят по необходимости, мы открываем соединение с БД по необходимости, принимаем запрос по необходимости, говорим что переменая имеет тип int unsigned исходя из необходимости.


    Нет какой-то абстрактной необходимости. Первопричина всего (на прикладном уровне) - входящий запрос. Вебсервер ожидает постоянно входящие запросы (слушает TCP-порт).
    Вот запрос пришел. Сервер согласно своим настройкам определяет, может ли он сам его обработать (например, "отдать статику") или он должен передать запрос другому обработчику по цепочке. Таким обработчиком может быть, например, PHP.
    Вебсервер запускает интерпретатор PHP и передает запрос ему.
    PHP определяет (в общем, по ссылке, которая есть в параметрах запроса), какой PHP-скрипт надо выполнить, ищет его и выполняет. Результат работы скрипта - HTTP-response (фактичеки это plain text, содержащий служебные заголовки, в т.ч. куки и тело с HTML / XML / JSON, etc. ) - отдается обратно вебсерверу, он возвращает его туда, откуда пришел запрос (на IP адрес и порт), часто в браузер.

    В других технологических стеках алгоритм обработки HTTP-запроса может отличаться от описанного. Как правило, чем больше он отличается, тем лучше этот стек, чем PHP (в смысле производительности).

    Мы, прикладные программисты, не опускаемся ниже HTTP-протокола. А используя фреймворки, даже HTTP можем не касаться, хотя знать и понимать его надо.
    Т.е. до всех этих TCP-портов и настроек сервера нам, как праивило, дела нет (пока все работает).
    Первое - удел скорее системных программистов, второе - сисадминов или модных ныне девопсов.

    Что почитать, чтобы лучше понять операции на бэке, которые не поймешь сразу ...


    Еща раз-два прочтите мой ответ. Если не помогло - возьмите любую книжку по PHP. В начале должно быть описано взаимодействие браузера и вебсервера. Потом и про язык можно чуть-чуть почичать.

    Сейчас PHP все еще самый простой путь в back-end разработку. А раз вы упоминаете про int unsigned, то вам будет привычен и его Си-подобный синтаксис. Типа данных такого, однако, в PHP нет.
    Ответ написан
    2 комментария
  • Как правильно организовать структуру файлов и папок FrontEnd-а веб-проекта?

    @7rulnik
    Посмотрите на генераторы yeoman.io
    Ответ написан
    Комментировать
  • Друзья, есть ли какие задачи для практики по JavaScript?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Дружище, умение самому ставить себе задачи является основой работы программиста. Неважно, на каком языке вы пишете. Постановка задачи это сама по себе задача, которую надо научиться делать. Задача рассматривается со всех сторон в уме, прикидываются инструменты, фреймворки и т.д. Но сначала вам надо "увидеть" в уме какой результат должен быть на выходе, иначе, решая задачу, вы не сможете сказать, насколько ваши действия способствуют достижению конечного результата. А найти задачу несложно - посмотрие по сторонам, многие задачи просто валяются вокруг и только и ждут, чтобы вы их увидели и решили.
    Ответ написан
    2 комментария
  • Друзья, есть ли какие задачи для практики по JavaScript?

    codewars.com

    правда там культивируется самообфускация, но многие языковые конструкции прорабатываются на ура.
    Ответ написан
    Комментировать
  • Друзья, есть ли какие задачи для практики по JavaScript?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Реализуйте unit-of-work, identity map и шаблон репозиторий на JS. Эдакую абстракцию позволяющую выделить persistence layer.

    Других идей под чистый JS нет. Все остальное будет хоть как-то связано именно с DOM и т.д.
    Ответ написан
    Комментировать