• Где можно найти универсальный гайд по SEO, актуальный на 2017 год?

    XXX
    @XXX
    Решение где-то рядом
    Андрей М об официальных рекомендациях Google и Яндекс для вебмастеров вы в курсе или имели ввиду обычную справку?
    Ответ написан
    1 комментарий
  • Есть ли курсы,скринкасты или учебники на русском по React js?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Три курса:
    React.js на русском
    React + Redux на русском
    React + React-router (+ Redux) на русском

    Вся информация текстом, можно скачать в формате книги. Почти к каждой главе приложен исходный код.
    Ответ написан
    Комментировать
  • Где взять примеры для практики javascript?

    @teslor
    Можете выполнить такие задачки на чистом JS, к примеру:
    1. ToDo-лист с сохранением задач в localStorage (пример).
    2. Интерактивный календарь с возможностью добавлять события на любую дату.
    3. Система тестирования/анкетирования с хранением вопросов и вариантов ответов в JSON.
    4. Простая игра (тетрис, змейка, рулетка, крестики-нолики и т.д.) с использованием Canvas/SVG.
    5. Калькулятор (обычный, кредитный и т.д.).
    Ответ написан
    Комментировать
  • Как написать свою библиотеку на JS?

    RubaXa
    @RubaXa
    Прежде чем начать что-то писать, особенно библиотеку, начните с организации инфраструктуры:
    • Система сборки проекта (grunt, gulp, webpack и т.п.)
    • Code style (JSHint, ESHint, JSCS или другие)
    • Тесты и контроль покрытия (QUnit, Karma, Mocha, Istanbul и т.д.)
    • На чем писать (JS, CS, TS или ES6/Babel)
    • Автоматизация контроля изменений
    • Документирование кода и документация (JSDoc3 или JSDuck)
    • Способ распространения (github, bitbucket и т.п.)
    Ответ написан
    Комментировать
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Пробую написать игру 2048 на языке программирования javascript, и стали сыпаться ошибки. Как исправить?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    function Game() {
      this.grid = [[0, 0, 0, 0],
                    [2, 2, 2, 2],
                    [4, 4, 4, 4],
                    [8, 8, 8, 8]];
    }
      
    Game.prototype.right = function(){
        var grid = this.grid;
        //проверяем по горизонтали
        for(var x = 0; x < 4; x++){
          //проверяем по вертикали
          for(var y = 0; y < 4; y++){
            //если два последующих элемента равны
            if(grid[x][y] == grid[x][++y]){
               //то первое обнуляется
               grid[x][y] = 0;
               //второе умножается на двое
               grid[x][++y] = grid[x][y] + grid[x][++y];
            }
          }
        }
    };
    
    var start = new Game();
    Ответ написан
  • Есть такой учебник по JS где не уделяется внимание основам?

    @withkittens
    Так а что непонятно?
    1. Конструкция имеет вид obj.dd.on(arg1, arg2);, т. е. вызов функции obj.dd.on() с двумя параметрами: строкой 'click' и функцией function (event) { ... }. Да, одна функция передаётся аргументом в другую, вроде ничего страшного.
    2. Передаваемая функция состоит из двух операторов (statements):
    2.1. Вызвать функцию $() с параметром this, у объекта-результата вызвать функцию toggleClass() с параметром 'active'.
    2.2. return false; — очевидно.
    Как уже сказали: если вас повергает в шок такая конструкция, то вам всё-таки стоит почитать учебник с очевидностями.
    Ответ написан
    5 комментариев
  • В какой последовательности читать книги по JavaScript?

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

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    С node.js все наоборот, у него веб-сервер "внутри" приложений, а не приложения "внутри" веб-сервера. Каждое приложение само и является веб-сервером. Чтобы сделать виртуалхосты, хостить много сайтов, обрабатывать много доменов, нужно запустить много экземпляров ноды и связать весь этот зоопарк в один пучок через nginx. Если каждое приложение предполагает приличную нагрузку, то нужно каждое распараллеливать при помощи cluster и потом эти кластеры уже объединять через nginx. В результате, если у Вас будет 20 сайтов на машине, то это минимум 20 процессов ноды, а то и все 100. Есть альтернативное решение - сервер приложений, который перевлрачивает мир обратно с головы на ноги, т.е. на модель "внутри" сервера приложений много приложений: habrahabr.ru/post/247543
    Ответ написан
    Комментировать
  • Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где "глубже"?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    Многое несомненно зависит от того как позиционируется PHP бэкенд в составе проекта,
    однако в целом если говорить про разработку приложений на PHP как такового (без зоопарка вокруг)
    список инструментов примерно следующий (представлены самые популярные)

    Стандарты - по хорошему надо прочитать и понять всё что издает php-fig в сфере юзерленд кода,
    самые важные - PSR 0-4

    Вспомогательные (обязательные) технологии - YAML, XML, CSV, JSON;
    Библиотеки "все-в-одном" - на бэкенде не водятся (да здравствует linux-way);
    Фремворки общего назначения, скелеты приложений - Yii (1,2), Symphony2, ZendFramework2;
    CMS-фреймфорки - Drupal, ... Wordpress? ищите под задачу;
    Модульность, Зависимости - Composer и все что с ним связано, PEAR/PECL (потихоньку отмирает);
    Сборка - Phing (хотя я собираю php-проект gulp'ом - у него API приятнее);
    Тестирование - PHPUnit, Behat, CodeCeption;
    Деплой(Развертывание релизов) - Mage (aka Magallanes), Deployer
    Помощники - Vargant, Docker (тестирование и разработка в готовых окружениях)

    Здесь я не упоминал того что нужно знать о самом языке и его компонентах.

    теперь поговорим о зоопарке..

    технологии и зоопарк специфичный только для PHP:

    Сервера приложений - php-fpm, apache-mod-php;
    Кэш и быстродействие - APC (APCu для PHP >= 5.5)
    дебаг - ZendDebug, XDebug, XHProf

    Далее то что не отличается от одного серверного языка к другому.
    это часть ответа безгранично велика на самом деле =)

    Сервера и прокси - Nginx, Apache, Varnish, etc.
    Кэши и NoSQL - Memcached, Redis, Mongo, etc.
    СУБД - MySQL, PostreSQL, etc..
    Поисковые индексы - ElasticSearch, Sphinx
    Очереди и межпроцессовое взаимодействие - RabbitMQ, ZeroMQ, linux-sockets, posix-treads
    Протоколы взаимодействия (4 уровень OSI) - HTTP(во всех его подробностях! просто MUST HAVE), POP, SMTP, IMAP, REPL.
    Траспортные Протоколы (3 уровнь OSI) - TCP, UDP
    Библиотеки уровня системы - cURL (абсолютный MUST HAVE - большинство взаимодействия поверх HTTP строится на этой библиотеке в абсолютном большинстве серверных скриптовых языков)
    Ответ написан
    Комментировать
  • Изучения JavaScript с 0?

    Symphony
    @Symphony Куратор тега JavaScript
    Комментировать
  • Как организовать процесс процесс разработки одиночке?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Методология - нет
    воркфлоу и CI - да
    докер - возможно

    Методологии нужны для того, чтобы организовать работу команды над проектом. В основном - чтобы минимизировать простои в команде, повысив общую производительность.
    В одиночку вы можете попытаться имитировать самоорганизацию команды, но так, как никакого видимого результата в этом не будет, быстро надоест. Например, ежедневный стендап, где все делятся друг с другом что происходит- будет выглядеть глупо в команде из одного человека.
    Ответ написан
    5 комментариев
  • Смена языка на сайте?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Определяем язык:
    var language = window.navigator.userLanguage || window.navigator.language;

    2. Грузим динамически нужный js, содержащий ассоциативный массив строковых констант для текущего языка. Используем для простоты: www.javascriptkit.com/javatutors/loadjavascriptcss...
    3. Используем элементы массива на странице.

    UPD: 4. Можно сделать замену строк DOM-контейнера через функцию с использованием Regex-шаблона, чтобы не использовать элементы шаблона в исходном "теле" страницы, а сохранить обычные текстовые строки "домашнего" языка.
    Ответ написан
    2 комментария
  • Как правильно использовать ООП в JavaScript?

    UbuRus
    @UbuRus
    В JavaScript ООП не нужно.
    Используйте модульность: largescalejs.ru

    Почитать:
    habrahabr.ru/post/240219
    Ответ написан
    1 комментарий
  • Как работает веб сервер?

    @vinca
    Поверхностно про сеть: ru.m.wikipedia.org/wiki/%D1%E5%F2%E5%E2%E0%FF_%EC%... - тут нужно уловить, что такое сигналы, что такое пакеты и что такое данные...

    Теперь, о том как пишется собственно сервер (приложение). ОС предоставляет 4-е системных вызова (про сетевую карту, драйвера и как ОС работает с erhernet не буду рассказыывать). Собственно системные вызовы:
    1) socket - создает сокет, для веб сервера, обычно это tcp;
    2) bind - привязывает сокет к локальному ip-адресу сервера (железки) и на определенный порт. Нужно из-за того, что на железке может быть много ip-адресов;
    3) listen - переводит сокет в состояние "слушать" (включает его на прием и передачу - если просто), это значит, что сокет готов принимать соединения от клиента (см tcp handshake) и ставить его в очередь ОС (очередь приложения backlog);
    4) accept - создает сокет к клиенту, позволяя уже с ним обмениваться данными. Accept вызывает само приложение, в зависимости от алгоритма, учитывая что есть ресурсы на обработку клиентского запроса. Если accept не сделать, то соединение повиснит в очереди (backlog) на время таймаута выставленного со стороны клиента или сервера.

    После accept, apache создает дочерний процесс, который уже и начинает из данных извлеченных из tcp "парсить" http по rfq (аля соглашению) и обрабатывать пользовательский запрос - разбирая зоголовки и выплевывая в сетевой буфер прочтенный с диска index.html с правильными заголовками http 1.0 или 1.1.
    Ответ написан
    Комментировать
  • Что нужно знать помимо javascript для фриланса (в частности на oDesk)?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Имеет ли смысл рассчитывать на работу js-специалиста (т.е. в случае если навыки js используются значительно интенсивнее других)?

    Безусловно

    Возможно ли это на фрилансе?

    Безусловно

    Что лучше учить в связке с js?

    Учить CSS, HTML, SVG, фреймворки, и разного рода интерпретаторы (HAML etc.), препроцессоры (SASS, Stylus etc.).

    Имея базовые знания по CSS, HTML стоит ли нацелится на них и периодически использовать js?

    Без этих знаний никуда.
    Пример: анимация в CSS быстрее, используем её. Для старья используем таймеры.
    Пример: для хорошего соответсвия UX используем элементы формы, из состояния, события.

    Или лучшем будет изучение frontend фреймворков? Необходимы ли при этом будет в дальнейшем много верстать? Насколько перспективна эта сфера деятельности?

    Очень важно. Написать качественный код для полного покрытия ситуации могут немногие. Можно стараться стать таким, но для начала стоит использовать работу таких людей.

    Если использовать github-аккаунт как часть портфолио, что наиболее привлекательно будет в нем для работодателя?

    Примеры решения конкретных задач. А разве в гит можно выложить что-то неконкретное?))

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

    Нет предела совершенству. Продавать нужно начинать до окончания работ. Так же и в работе — не нужно откладывать поиск вакансии до момента, когда вы постигнете вселенную.
    Во-первых, такого никогда не случится.
    Во-вторых, ваши знания могут быть уже достаточны для части работодателей.

    Возможно ли получить помощь\поддержку в начале пути фрилансера от человека активно этим занимающемся?

    Возможно. Но на условиях подмастерья. Будьте готовы к этому.

    Ну и напоследок чисто-субъективные вопросы на которые я не жду аргументированного ответа, а просто совета, основанного на жизненном опыте:
    Стоит ли нацеливаться на javascript или лучше менять акцент (или вовсе бросать js) на другой язык?

    Ваще непонятный вопрос. Если вы категорически не согласны с концепцией JS — бегите прочь от него. Если всё понятно — зачем спрашивать?

    Стоит ли уповать на фриланс или лучше искать обычную работу?

    Фриланс и есть обычная работа. Вопрос абсолютно не связан с программированием или языком программирования.
    Ответ написан
    2 комментария
  • Как структуризировать процесс обучения?

    copist
    @copist
    Empower people to give
    У вас среди вопросов уже был подобный и в нём уже указан приоритет технологий для изучения (ответ).

    А Petja указал правильный подход изучения каждой отдельной технологии (ответ)

    Я хотел бы раскрыть пункт "4. Практика и еще раз практика, решение множества конкретных задач"

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

    Для примера были взяты свежие задачи с бирж фрилансеров weblancer.net и fl.ru типа "создать тему к CMS", "сделать посадочную страницу" (landing page) или "разработать сайт-визитку".

    Были рассмотрены следующие способы изучения:
    1. Повторить работы опытных фрилансеров. Исходные макеты либо не дали, либо они уже отличаются от того, что есть на сайте.
    2. Включиться в открытый проект. Проблема в том, что сверстать страницы HTML можно несколькими способами, вплоть до image map или таблиц. А сравнить-то результат вёрстки не с чем.
    3. Взять где-нибудь бесплатно или купить шаблон, к которому прилагается макет PSD, изучить свёрстанный вариант и повторить. Это оказался самый эффективный способ. Платные шаблоны делают профессионалы, "вылизывают" их, доводят до совершенства. И бесплатные шаблоны есть очень крутые, но их мало.


    Мы использовали шаблоны с templatemonster. Там есть шаблоны под популярные CMS и просто HTML шаблоны. Также позже брали примеры из обзоров (35 примеров прекрасных посадочных страниц...) и повторяли несколько из них. Несложный макет в итоге верстается за сутки.

    Это покрывает темы (из указанного же списка):
    • XHTML, HTML4, HTML5
    • CSS2.1, CSS3
    • JavaScript, Ajax
    • jQuery
    • Twitter Bootstrap
    • CSS Grids
    • CSS Frameworks
    • Progressive Enhancement, Graceful Degradation
    • Responsive Web Design
    • CSS Pre-Processors (LESS / Sass)
    • CMS (WordPress, Joomla)
    • Data Formats (JSON, XML)
    • Internationalization / Localization
    • Image Editing Tools (Photoshop, Fireworks, etc.)
    • работа со шрифтами

    Задачи типовые, а охват тем сразу вот какой обширный. Изучение в интенсивном темпе заняло 2...4 месяца. Профессионалом так быстро не станешь, но на позицию junior уже можно претендовать.

    Так что мои советы:
    1. Чтобы получить бесценную практику, занимайся реальными вещами, а не учебными примерами
    2. Используй опыт профессионалов, чтобы повторять и копировать лучшие решения

    Но это не отменяет необходимость изучения учебных примеров. Надо знать, откуда копипастить решения :) Онлайн курсы и правильные статьи очень пригодятся.
    Ответ написан
    Комментировать
  • Так ли нужен Javascript в современном Front-end?

    Сейчас в интернете наблюдается тенденция к построению "толстых клиентов". Соответственно без javascript вы такой клиент не сможете сделать.
    Javascript нужен:
    1. Для общения с сервером без перезагрузки страницы (ajax)
    2. Для расширения возможностей css и html (всевозможные библиотеки и плагины, галереи, скроллинги, рич-элементы форм и т.д.)
    3. Для контроля действий пользователя (обработка форм, кликов по элементам и т.д.)
    4. Всякие специфические штуки (например построение 3-d моделей в браузере, различные интерактивные штуки)
    Кроме того, изучив javascript вам в будущем будет проще изучить node.js, а это уже back-end.
    Ну и чтобы вы сами осознали, киньте в меня линком на крупный популярный современный ресурс, на котором НЕ ИСПОЛЬЗУЕТСЯ javascript.
    Ответ написан
    Комментировать
  • Как осуществляются переходы по ссылкам внутри сайта (HTML, JS, php)?

    @mrUlugbek
    Пример
    <a href="#contacts">Контакты</a>
    <footer>
       <p  id="contacts">Телефоны итд</p>
    </footer>
    Ответ написан
    3 комментария