• Какие преимущества фриланс имеет над работой в офисе?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Описываю по себе:
    1) Возможность создать свой собственный режим сна. Для меня вставать в 8-9 утра это настоящая боль. Уже год+ засыпаю между 3-4 часами ночи и просыпаюсь между 11-12. То есть абсолютно всегда сплю свою норму в 8 часов, для того чтобы чувствовать себя нормально и не пить никаких кофе.
    2) Отсутствие временных/моральных/физических затрат на дорогу до работы. Конкретно мне жаловаться не приходилось, ибо первое место работы было в 10 минутах ходьбы от дома, но вот люди в больших городах от этого явно страдают.
    3) Возможность жить и работать так, как это удобно ТЕБЕ. Вот сижу я днем, дописал только-что какой-то кусок проекта и смотрю в окно, а там солнышко светит и птички поют. Ну я беру и иду бегать на стадионе. И это все происходит в 2 часа дня. А что в офисе? Ходить проветривать мозги на улицу на официальных перерывах? А если заработался и пропустил перерыв, то что? Во многих компаниях придется сидеть дальше тупить.
    4) Возможность работать тогда, когда это наиболее удобно и эффективно для тебя. Один из самых важных пунктов. В офисе пришел и сидишь 8-часовой рабочий день. И ты же не можешь подойти к начальнику и сказать, что у тебя сейчас мозги не работают, и тебе бы хотелось свалить домой вообще. Ну может 1-2 раза отпустят, а что делать если тебя в каждый второй день после обеда парализует на пару часов? Будешь в итоге сидеть и накручивать спагетти-код на вилку. А потом его рефакторить, матерясь. Мне вот например ночью нравится работать, но где вы видели офисы, в которых вам позволят одну половину дня работать там, а другую ночью дома?
    5) Отсутствие привязанности к каким-то предпочтениям фирмы. Вот попали вы в веб-студию, делающую сайты на битриксе. И представим чисто теоретически что вам там платят нормальные деньги. А дальше что? Ну полгода вы попилите магазинчики. А потом еще полгода. И еще. Ну конечно не везде так уныло, но своих "особенностей" хватает во всех компаниях.
    6) Отсутствие видимого потолка по заработку. В стандартной компании вас посадят на оклад, +небольшие премиальные если вся команда в сроки будет сдавать проект например и нарисуют вам роадмап, по которому вы будете строить планы на жизнь. Аля "через полгода сдам 7 проектов и меня повысят, увеличив зп на 15%". А потом в один прекрасный вечер после работы вы сядите изучать что-то интересное дома. И будете изучать недели-месяцы. И вот приходите вы однажды на работу, с кучей новых знаний, а у вас в голове стойкое ощущение того, что сейчас вы достойны не то что этой прибавки в +15%, а вы на все 30% тяните. Но вам никто этого не даст. Просто потому-что обычные офисы живут по другим правилам.
    Ответ написан
    11 комментариев
  • Что должен знать senior frontend developer?

    mannaro
    @mannaro
    Умею профессионально гуглить
    Понимание всего JS целиком и полностью. Всех его багов и фич.
    Знание ES6, ES2015, ES7, etc.
    На данный момент, думаю, необходимо знание всяких view-библиотек и целиковых MVC фреймворков: React, AngularJS (+ 2.0), Vue.
    Понимание взаимодействия браузера с клиентом, отличные познания в HTTP, WS.
    Понимание асинхронности, синхронности, синхронизации.

    Ну и само собой HTML, CSS, понимание и знание препроцессоров, постпроцессоров, css-modules, BEM. Умение настроить gulp/grunt/webpack.

    Умение пользоваться npm/yarn.

    Огромный багаж знаний в области библиотек. Какую можно подключить, а какую не стоит.
    Ответ написан
    Комментировать
  • Есть ли книги для развития действительно математического мышления/не зазубривания формул?

    @AVKor
    Например:
    Пойа Д.
    Как решать задачу.
    Математика и правдоподобные рассуждения.
    Математическое открытие.
    Ответ написан
    4 комментария
  • Какие ресурсы и литературу по SEO рекомендуете?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Немного дополню:

    После изучения руководств ПС, можно изучить современные кейсы и подробнее теорию.
    Для новичков доступная, структурированная информация есть на блоге Seoprofy, порой интересные мысли бывают на blog.netpeak.ua (это если из практикующих студий).

    Из форумов - серч, маул, вебмастерс.

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

    Следите за нововведениями ПС, анализируйте побольше сайтов в выдаче, стройте гипотезы)

    UPD: Где и как обучить сотрудника по SEO
    Ответ написан
    Комментировать
  • Люди какой профессии разрабатывают процессоры и их архитектуру?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Инженер-конструктор.
    Нужно изучать FPGA, языки Verilog, SystemVerilog, VHDL, системы моделирования и верификации.
    Ответ написан
    Комментировать
  • Как Вы понимаете junior, middle (developer), senior и есть ли принципиальная разница этих понятий в вебе, эмбедде, геймдеве и других программиннгах?

    @lookid
    Junior : студент старших курсов и без опыта работы. Если с человеком нужно сидеть и постоянно помогать. Можно доверить баги, но никак не рефаторинг или таски на 1-2 недели, то это 100% джуниор. Опыт фултаим: 0.5-1 год. Либо партайм: 1-2 года. Предметную область знает слабо.

    Middle : фиксит баги быстро, может делать таски на 1-2 недели, принимать архитектурные решения, рефакторить. Опыт фултайм: 1-2 года. Предметной областью владеет достаточно, что бы обсуждать с коллегами, спорить, искать решения.

    Senior : Тут либо довольно крутой, скилловый Middle, умеющий очень хорошо кодить и знающий предметную область о-о-очень хорошо. Опыт фултайма 5-7 лет.
    Либо просто Middle, который решил уйти, но его апнули, что бы не уходил. Обычно молодые Senior этот случай.

    есть ли принципиальная разница этих понятий
    Есть немного. В вебе растут быстрее (см. молодых синьеров). В геимдеве посложнее, т.к. область специфичная и набить руку в рендере, физике и прочих PS4SDK дома не получится. Но понятие Software Engineer никто не отменял. Software Engineer считаются довольно универсальными и могут быть Senior в любой предметной области, конечно если это не рокетсаенс, которым Senior в жизни не занимался.
    Ответ написан
    2 комментария
  • Как простому айтишнику стать руководителем?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Все же есть альтернативы:
    http://habrahabr.ru/company/profishop/blog/201852/

    И есть причины не становиться руководителем:
    http://habrahabr.ru/post/165091/

    Но если все же надумаете, то вот например:
    http://habrahabr.ru/company/alconost/blog/159399/
    Ответ написан
    Комментировать
  • Самые крупные проекты на node.js?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    • Walmart
    • E-bay / PayPal
    • Microsoft (Azure)
    • LinkedIn
    • Yahoo
    • Google
    • Yammer (приобретён Microsoft)
    • Netflix
    • Uber
    источник
    Ответ написан
    2 комментария
  • Пример архитектуры большого сайта-SPA?

    copist
    @copist
    Empower people to give
    OpeSource решения на базе нужных технологий
    https://github.com/relax/relax - CMS платформа
    mern.io - хорошая архитектура для крупных React/Redux приложений
    https://github.com/andrewngu/sound-redux - клиент Soundcloud написан на React / Redux
    https://github.com/WebbyLab/itsquiz-wall - изоморфное приложение на React - система тестирования
    https://github.com/Automattic/wp-calypso - админка для WordPress на React/Redux
    https://www.neos.io/ - CMS платформа, постепенно переписывается с PHP на React, отдельные части проекта https://github.com/neos/
    Ответ написан
    Комментировать
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

    не включая основы js

    Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

    React
    0) Какую проблему решает react ?
    1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
    2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
    3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
    4) Что будет если вызвать this.setState в render методе компонента?
    5) зачем нужен componenWIllUnmount, приведите пример..
    6) Контролируемые, не контролируемые компоненты
    7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
    8) Зачем нужны propTypes? Что происходит с ними в production сборке?
    9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
    ...

    Redux
    0) Какую проблему решает redux?
    1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
    2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
    3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
    4) Как компоненты приложения получают "пропсы" из "стора"?*
    5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
    6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
    6.5) А так же, "как в js вообще это работает?". Например:
    let obj1 { name: 'Test', age: 100 }
    let obj2 = obj1
    obj2.name = 'Test_new'

    Что будет в obj1, почему? В каких случаях объекты могут быть равны?
    7) Что возвращает функция connect (из react-redux)?
    ...

    Общее:
    0) package.json
    1) Webpack, gulp, etc...
    2) node.js
    3) promise

    Что-нибудь практическое:
    1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
    2) Почему не работает следующий код, сделайте чтобы работало
    ...
    На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

    p.s. возможно дополню...
    p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
    Ответ написан
    31 комментарий
  • Front-end middle, Back-end nodejs - junior как выровнять уровень?

    @Tsimur_S
    1)Чем отличается синхронный код от ассинхронного и способы написания последнего. Базовые знания JS(scope,this,e6).
    2)Что такое eventloop, eventemitter. Запуск нескольких процессов ноды. Тестирование кода.
    3)пес его знает. Express + mongoose + passport это самый минимум.
    4)Рест апи с авторизацией и регистрацией, в виде блога или чата.
    Ответ написан
    8 комментариев
  • Front-end middle, Back-end nodejs - junior как выровнять уровень?

    @dolgo
    JS-программист
    Есть общие вопросы для backend'щика, независящие от ЯП:

    1. Как обращаться с HTTP и REST - стандарты, методы, заголовки, статусы, типы контента.
    К этому иногда необходимо знать GraphQL или websockets или UDP.
    2. как обращаться с данными в SQL/noSQL - проектировка БД, миграции, кэширование, транзакции, бекапы;
    3. Паттерны, архитектуры, методологии разработки.
    Всегда могут спросить:
    что такое MVC? Active Record? Сервис - Репозиторий? Анемическая/бизнес модель? TDD, BDD?
    4. Понимание многопоточности и асинхронности.
    5. Доп. бонус - умения DevOps
    Ответ написан
    Комментировать
  • Как писать много кода, оставляя его простым, как в начале?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) Документируй
    2) Абстрагируйся всегда максимально
    3) Пиши классы по принципу "черного ящика"
    4) Один класс решает одну конкретную задачу, не стоит городить комбайны.
    Ответ написан
    5 комментариев
  • Что такое замыкание?

    @HowardRoark
    Full stack developer
    Мне кажется, самый простой пример замыкания - это счетчик.
    var counter = (function () {
    	var current = 0;
    	return function () {
    		current++;
    		return current;
    	}
    })();
    
    console.log(counter()); // 1
    console.log(counter()); // 2

    В данном случае мы не имеем доступ к переменной current и функция гарантированно возвращает каждый раз уникальное значение.
    Если бы это была простая функция, то переменная, содержащая состояние (current), должна была бы находиться вне функции.
    var current = 0;
    var counter = function () {
    	current++;
    	return current;
    }
    
    console.log(counter()); // 1
    current = 5;
    console.log(counter()); // 6

    А это уже нарушает принцип "черного ящика", т.к. переменной можно присвоить другое значение в любом месте.
    Ответ написан
    4 комментария
  • Как выяснить, какие скрипты работают?

    abyrkov
    @abyrkov
    JavaScripter
    Инструкция для Chrome:
    1. Кликаем ПКМ
    2. В открывшемся контекстном меню выбираем "Посмотреть код"
    3. Сбоку появится панель "Инструменты разработчика". Сверху будет квадратик с курсором. Жмакаем его.
    4. Наводим мышь на нужный элемент.
    5. Жмакаем.
    6. Находим в боковой панели нижнию подпанель, а там кнопочку EventListeners
    7. Жмакаем ее
    8. Ищем нужные события(click, dbclick, mousedown, mouseup)
    9. Кликаем по треугольничкам до них.
    10. Кликаем по треугольничкам внутри новооткрытых вкладок.
    11. ???
    12. handler - это функция, которая будет выполнятся при соответсвующем событием.

    P.S. Отметьте решением, если помог
    Ответ написан
    Комментировать
  • Javascript - знания junior'a, IDE, learning mind map?

    Igor-Maf
    @Igor-Maf
    Senior Front End developer
    - На каком этапе я уже могу писать по поводу работы?
    После полу года самостоятельного обучения в конкретной сфере

    - Что должен знать junior в общем?
    Если тебя интересует фронтенд-разработка, то:
    HTML5, CSS3 (media queries - понимать разницу между адаптивной и отзывчивой версткой), js (DOM, XMLHttpRequest, Template engine, RegExp), jquery (уметь писать плагины, и то, что в предыдущем пункте), jquery-ui (но не обязательно, иметь общее представление), bootstrap, less / sass (если знаешь sass, то less самому изучать уже не стоит, разберешься по ходу, если попадется), jade или handlebars, gulp (минификация, обфускация и т.д.), npm, bower - это минимум

    - Устроиться junior'ом на удалёнку вполне реально же, да?
    нет, это на 89% не реально, это сугубо моя точка зрения. А если и устроишься, то туда, где особо не научишься толку. Для удаленки нужно проработать минимум пол года в компании, желательно аутсорсовой, чтобы понимать общую картину, но нужно иметь и специализацию (сильную сторону) и развивать её, если она еще не отмерла идеалогически в мире ИТ.

    - Какой использовать IDE(сейчас у меня нет никакого)?
    Sublime, после полугода работы с ним (использования всех полезных плагинов к нему) можешь переходить webstorm. Это самые лучшие по, сугубо, моей оценке, я попробовал, наверно, все популярные редакторы и IDE.

    - Как считаете, если я всё, что только написал, забью в резюме и разошлю, могут взять?
    Нет, очень маленькая вероятность, что в какую-то продуктовую компанию можешь попасть. Нужны твои проекты (даже, если тестовые), примеры кода, ближайшие пол года тебе нужно написать много кода, но не полный копипаст, а собственными руками / мозгами, интересует только твой код, с теорией уже все понятно, у меня 5 лет опыта, а я книжек прочитал за это время штук 10 от силы, не потому что не люблю читать или эту тему, а потому что читаю по-очень мало из-за недостатка времени.

    - И ещё, мне не придётся учить PHP? Я его не люблю, не знаю почему. Познакомился с ним перед плюсами, и когда сел за них, возненавидел его - видимо отсюда и пошло.
    Не обязательно, как фронтендеру тебе вообще знать его не нужно, как минимум, снова же, пол года. Когда уже пройдешь этап работы с одним из js-фрэймворков (наверно, к тому времени уже новые фрэймворки), можешь поработать с nodejs / python / ruby, но тоже только в общих чертах, особо не углубляясь, просто, чтобы иметь понимание о том, что потом происходит с данными, которые ты куда-то отдаешь / забираешь.
    Ответ написан
    3 комментария
  • Каким должен быть json, содержащий к примеру вот такие данные?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Не такая уж тривиальная задача, на самом деле.
    С точки зрения упрощения работы с этим списком в коде, я бы сформировал его так:
    {
      "Toyota": {
        "Corolla": {
          "Поколение 1990-97": null,
          "Поколение 1999-2002": null,
          "Поколение 2001 -2004": null
        },
        "Rav 4": null,
        "Land Cruiser": null,
        "Avensis": null
      },
      "Volkswagen": null,
      "Ford": null
    }

    В итоге всего два варианта: объект или null. Вместо null можно использовать любой простой тип: строку, true/false или число, но null мне кажется самым лучшим вариантом - он показывает, что вложенного объекта нет.
    Поколения Короллы, например, можно было бы представить в виде массива, но тогда добавится третий тип, который нужно будет обрабатывать. Судя по всему, этот объект нужно будет обходить рекурсивно, а рекурсия сама по себе может запутать, не стоит усложнять себе работу зоопарком вариантов ветвления.
    Ответ написан
    1 комментарий
  • WebGL как попробовать?

    HamSter007
    @HamSter007
    HTML/CSS верстальщик
    1. Текстовый редактор Sublime Text
    2. Компоненты webgl для SL

    3. Tuturials: Первая программа на WebGL, Начало работы с WebGL ...

    4. Углубленное изучение ... blender для 3d моделирования
    Ответ написан
    Комментировать
  • Javascript - зачем изучать чистый JS?

    miraage
    @miraage
    Старый прогер
    react, angular, webpack, nodejs, d3, phaser - везде необходимо знание JS.
    Предположу, что Вы весьма недавно в мире frontend, где большинство в своей время так же начинали с сайтиков на jQuery. Но по мере карьерного роста, знание VanillaJS является неотъемлимой необходимостью.
    Если хотите в будущем писать классные веб-приложения - учите JS = ES5, ES2015, ES7 (из него, пожалуй надо знать о декораторах, class properties, function bind для начала).
    Ответ написан
    5 комментариев
  • Как углубиться в понимании JavaScript?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Изучить, что такое циклы и вообще понять, что за код написан.

    Разбираем:
    for (var i = 0; i < arr.length; i++) {
        arr[i]
     }

    Создается переменная i с начальным значением 0, пока i < длины массива arr будет исполняться код в фигурных скобках, после каждого исполнения мы прибавляем 1 к i(i++)(инкремент)

    Собственно переменная i в данном случае является индексом.
    Ответ написан
    4 комментария