• Как обычно проводятся тесты на фронтенде?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Основа по тестированию есть у Кантора: learn.javascript.ru/testing
    По реакту есть хороший курс на udemy (EN) https://www.udemy.com/react-tdd (10$)
    По redux текстом в доках - https://redux.js.org/recipes/writing-tests
    На хабре полно информации. Ну и как вам уже написали - в гугле миллион ссылок.
    Ответ написан
    3 комментария
  • Какой ЯП выбрать для изучения, чтобы лучше понять основы программирования? С?

    @potan
    Функциональный программист
    Elm - если хочется быстрого вхождения в frontend.
    Или Scheme (вместе с чтениес сиарого SICP), если фронтом ограничиваться не собираетесь, но куда двигаться потом еще не решили.
    Ответ написан
    Комментировать
  • Что выложить на Github junior frontender?

    SerzN1
    @SerzN1
    Challenge me!
    • собирать gists в копилку
    • попытаться внести вклад в какой либо open source проект чтобы проверить весь цикл разработки на себе
    • сделать какое либо тестовое задание и выложить его и постоянно улучшать не делая новых заданий до определенного момента (лучше взять простую сборку для начала и постепенно докручивать ее)
    Ответ написан
    Комментировать
  • Что выложить на Github junior frontender?

    neuotq
    @neuotq
    Прокрастинация
    github это круто, но смотреть/изучать его никто не будет. Поэтому не важно что туда выкладывать, просто покажи что умеешь им пользоваться, знаешь имеешь понятие о git в целом.
    А так лучше показывай готовый живые сайты или собранные тобой клевые штуки на https://codepen.io/ .
    ну а в целом, главное для джуна это умение и ЖЕЛАНИЕ учиться. Именно эти параметры важны человеку который тебе будет курировать или вести после найма.
    Ответ написан
    1 комментарий
  • Что выложить на Github junior frontender?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Хекслет сообщество собирает тестовые задания (в том числе frontend) от разных компаний в этом репозитории https://github.com/Hexlet/ru-test-assignments

    Решайте, выкладывайте.
    Ответ написан
    Комментировать
  • Как правильно сверстать данные блоки на bootstrap 4?

    vadimkot
    @vadimkot Куратор тега CSS
    Для второй секции https://codepen.io/anon/pen/odzywr
    Для первой то же самое, только для wrapper задаете background-image
    Ответ написан
    Комментировать
  • Как вы используете Git во front-end?

    SuccessVM
    @SuccessVM
    Программирование - творчество
    В основу системы контроля версий Git был заложен принцип «веток». Где каждая ветка подразумевает собой либо новую функциональность, либо исправление предыдущей функциональности, при этом сами ресурсы/файлы повторно не копируются, как при том же svn. Отсюда вывод, что новая ветка – это изменение как одного какого-либо файла, так и совокупность изменений, в результате которых будет реализована или исправлена какая-либо функциональность конечного продукта. Основное правило: всё, что попадает в master, должно работать и собираться без ошибок. Из основного правила вытекает второе правило, другие ветки необходимо создавать только из ветки master.

    В .gitignore ты добавляешь любые файлы, которые необходимо игнорировать – это в основном исполняемые файлы или библиотеки (.exe, .dll и т.д.), в случае с компилируемыми языками программирования или например сторонние библиотеки, например тот же Gulp или Grunt, в данном случае нет смысла отслеживать данные библиотеки, т.к. этим занимаются другие разработчики. В моей практике в систему контроля версий попадали файлы с ресурсами (форматы Photoshop, Flash, Illustrator и т.д.), но лучше разбить на разные проекты и код не смешивать со статикой.

    Существуют готовые подходы к разработке с использованием систем контроля версий на основе Git. Ознакомься с GitFlow:

    782a1be3.png

    GitFlow - это набор правил, при котором заранее оговорено, в какой ветке будет вестись разработка, в какой тестирование, в какой исправление ошибок и т.д. GitFlow особенно подойдёт для масштабных проектов с командой. В случае небольшого проекта, вполне хватит стандартных веток.

    Полезные статьи:

    Comparing Workflows - кратко и понятно описаны разные подходы к разработке с использованием Git, в том числе и GitFlow.

    Удачная модель ветвления для Git – перевод одноимённой статьи о подходе GitFlow.

    Understanding the GitHub Flow – ещё один набор привил особенно для любителей GitHub.
    Ответ написан
    Комментировать
  • Правильно я понимаю как пользоваться Git-ом в команде разработчиков?

    @hubramubr
    В нормальных конторах разработчики работают в разных ветках и друг другу не мешают.
    А процесс слияния веток - одно из скучнейших должностных обязанностей более опытных разработчиков.
    Ответ написан
    Комментировать
  • Правильно я понимаю как пользоваться Git-ом в команде разработчиков?

    @Maa-Kut
    1. Не затрут, будет конфликт либо при push, либо при pull (делать pull перед push - неплохая идея, как по мне). Дальше либо git сам сольет эти изменения, либо потребует сделать это вручную. В любом случае, просто так что-то затереть не получится (иначе какой был бы смысл в git вообще?).

    2. Именно.

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

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Программирование напоминает сборку сложной конструкции из простейших кубиков лего.

    Раз плаваешь на 6-кью катах, значит мозг вообще пока не настроен на процесс программирования. То ли незачем, то ли еще что мешает настроиться.

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

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

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

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

    Лично я других подходов не ведаю.

    И здесь, как справедливо заметили коллеги ранее, нужно нафигачить очень много кода. Примерно 10 тысяч часов, чтобы набить руку, выработать рефлексы, поставить основные алгоритмы и структуры данных на автомат, чтобы применял на лету, вообще не задумываясь. Никакой теорией тут результатов не добиться. Мой давний наставник училменя, что пока ты не отпрограммировал минимум 3000 часов, никаким программистом ты называться даже близко не имеешь права.

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

    Есть и минусы у данного подхода - всякие третьестепенные мелочи ты не учишь, т.к. в практике они встречаются только в чем-то большом и/или экзотическом. А на собесах их таки спрашивают. Поэтому моё решение - доучить их потом, чисто "щоб було".

    Таким образом я выношу тебе вердикт - у тебя самомотивация ниже плинтуса, поэтому результата нет и не будет.

    Когда я начинал программировать (мне было 14), меня лютейше пропирал тот факт, что я повелитель этой железяки, причем абсолютный, другими словами эдакий Боженька. Железяка моментально и безпрекословно выполняет любые мои повеления, а если не выполняет, значит это я пробакланил. Я столько всего хотел поручить сделать железяке, но не знал как, однако научился довольно быстро, т.к. мотивация зашкаливала. В том числе интенсивный процесс программирования здорово повышает дисциплину мышления, потому что иначе результатов просто не будет.

    Может быть тебе просто ничего не нужно от железяки?

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

    Но, скорее всего этого всего не произойдет, потому, что всегда найдутся более важные, срочные и существенные занятия, чем это теребление собственного мозга... Короче говоря мой прогноз неутешительный.

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

    @Insolation
    У вас просто не хватает сообразалки вот и все.
    Как решить?
    Только путём кодинга. Посылайте свое резюме, если оно хорошее то будут кидать вам таски, вот на них и практикуйтесь (мб еще и с работой повезет). Возьмите сделайте что-то по туториалу, а потом сами перепишите. Кароч все сводится к одному - садитесь и пишите код. Только так можно выбраться. Ну и решайте конечно же логические задачки, учите алгоритмы, практикуйте.

    P.S Мне не нравится codewars, лучше попробуйте https://leetcode.com/
    Ответ написан
    Комментировать
  • Как выбраться из теоретика?

    DarthJS
    @DarthJS
    Как уже все написали - кодить кодить и еще раз кодить . Из своего опыта: у меня такой проблемы не было, я сразу стал кодить. Задаешься целью сделать простое приложение. Я решил помочь человеку, который записывал на листике какие-то данные и искал совпадения. Я подумал, могу помочь ему и стал кодить. Сделал без фреймворков, даже без джейквери на чисто JS, коряво и в одном файле. Зато оно работало! Я просто по мере поступления проблем искал ответы. Уже после того как написал и оно работало стал интересоваться как можно его улучшить с точки зрения правильного написания кода. Вот так. Так же как вариант взять книгу, в которой попунктно создается приложение - читать и повторять плюс обязательно отсебятины. ! Успехов
    Ответ написан
    Комментировать
  • Как выбраться из теоретика?

    solotony
    @solotony
    покоряю пик Балмера
    стать практиком. делать реальную работу. можно на себя, можно на клиента.
    Ответ написан
    Комментировать
  • Очередной вопрос по ИИ и математике: какие темы надо знать?

    Griboks
    @Griboks
    Если чисто для расширения кругозора, то школьной математики будет вполне достаточно. Ведь ИИ основывает своё существование на подобии работе мозга человека, что в свою очередь ограничивается натуральными числами и сложением.
    Ответ написан
    Комментировать
  • Примеры сложной верстки?

    Согласен, вопрос слегка некорректный. Сложным может быть непосредственно процесс вёрстки для отдельно взятого верстальщика, а вёрстка должна быть правильной.
    Во первых, код должен быть валидным, хорошо структурированным и комментированным. За все перечисленное разработчики, которые будут потом делать что то с вёрсткой (например, бэкенд), скажут вам спасибо.
    А вообще вот вам чеклист.
    Ответ написан
    Комментировать
  • Что значит оборачивание функции в скобки (function() { ... })?

    copist
    @copist
    Empower people to give
    Короткий ответ
    (function() { ... })()
    Это определение анонимной функции без параметров и непосредственный вызов её, так же, без параметров

    Длинный ответ
    Зачем оборачивать значение в круглые скобки?

    Оборачивание функции в скобки, так же как и оборачивание константы в скобки - это просто способ показать интерпретатору, что это значение внутри скобок может быть использовано как возвращаемое значение.
    var var_a = 5
    (var_a) /* или */ (5) // не является ошибкой, возвращает значение переменной или выражения
    function func_b() { }
    (func_b) /* или */ (function func_b() { }) // не является ошибкой, возвращает ссылку на функцию
    var var_c = { key: "val" }
    (var_c) /* или */ ({ key: "val" }) // не является ошибкой, возвращает объект
    var var_d = [ "one", "two" ]
    (var_d) /* или */ ([ "one", "two" ]) // не является ошибкой, возвращает массив


    Ну а раз (func_b) - это ссылка на функцию func_b, то значит её можно сразу же вызвать.
    A если (var_c) - это объект, то значит можно сразу же использовать его
    Аналогично (var_d) - это массив, то значит можно сразу же использовать его

    (func_b)() или (function func_b() { })() вызвать функцию
    (var_c).key или ({ "key": "val" }).key использовать объект
    (var_d)[0] или ([ "one", "two" ])[0] использовать массив

    Синтаксической ошибкой было бы использование функции, массива, объекта без скобок ( )
    function func_b() { }() ошибка "Unexpected token )"

    Хотя нет ошибки, по крайней мере в Google Chrome
    { key: "val" }["key"]
    ["one", "two"][0]

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

    Сравни
    var a = "test"
    alert(a)

    по завершении этого блока переменная a болтается в глобальной области видимости

    и
    (function(){
        var a = "test"
    })()
    
    alert(a) // недоступно, потому что она была локальной переменной внутри анонимной функции


    Почему скобки ( ) пустые?
    В данном случае у функции function() { ... }нет формальных параметров, значит и вызывать можно без параметров.

    Но вообще в самовызывающуюся функцию можно передавать параметры. Это общая практика передачи ссылок на глобальные объекты:

    (function (w, d, $) {
       // некоторым нравится сокращать код путём использования коротких имён переменных
       w['fizz'] = "buzz" // вот так можно принудительно зарегистрировать
                           // глобальную переменную fizz
       $('body').css({background: 'red'}) // вот так можно работать с jQuery через привычную $
                           // даже если библиотека была загружена в режиме noСonflict
    }(window, document, jQuery))


    Некоторым не нравится длинный вариант проверки на undefined и они специально предусматривают лишний параметр, который не инициализируют

    (function (message1, message2, empty) {
        // это и есть проверка на undefined
        if (message1 === empty)
            alert('message1 is undefined')
        else
            alert('message1 = ' + message1)
    
        if (message2 === empty)
            alert('message2 is undefined')
        else
            alert('message2 = ' + message2)
    })("test") // вызвана только с одним параметром, значит второй по имени message2
    //  будет пустой, а третий empty специально ввели в качестве образца
    //  данных с типом "undefined", для служебного использования

    Зачем функция анонимная?
    Аналогично - чтобы не регистрировать её имя в глобальной области видимости, если она нужна один раз.
    Ответ написан
    7 комментариев
  • Как развиваться в программировании не привязываясь к языку?

    machetero
    @machetero
    gotlib.me
    Удивительно, что никто не советует почитать Макконела. Его книга считается лучшей по программированию без привязки к языку.
    Ответ написан
    Комментировать
  • Первая работа для верстальщика, как получить?

    stasigg
    @stasigg
    Junior Frontend
    Устроился верстальщиком за 20к в замкадье.
    Тоже было пара статичных версток.
    Вакансию нашёл на местном форуме, на хх и прочих редко появляются вакансии на верстальщика(в моем регионе). Первое время придётся выживать :(
    Но здесь главное опыт

    А так нужно сидеть и ждать появления вакансий и на удачу писать, звонить в веб студии, прочие ит компании и предлагать себя на должности.

    И конечно учиться каждый день.

    https://m.habrahabr.ru/post/303896/
    Ответ написан
    3 комментария
  • Первая работа для верстальщика, как получить?

    vilka_2009
    @vilka_2009
    Верстаю
    Честно говоря, работа похожа на то, что ты скачал готовый шаблон и попытался его освоить и переверстать под адаптив. Видно, что какие-то вещи, типа слайдера, эффектов слишком хорошо сделаны, продуманы, а в исходники смотришь, а там то сасс файлы, то scss.. то скрипт называется common, то script.min.js, хотя это два одинаковых и не минифицированных скрипта. Видно, как хорошо сделана десктопная версия, и как плохо - мобильная. Взять то же меню в мобильной версии: появляется панель с кнопками, в которой не продолжена стиллистика сайта, нет эффектов наведения. Ошибки новичка. Но вот на десктопной версии у тебя очень удачно получилось продумать эффекты наведения.. Хмм, что мешало сделать так же в меню?! Падазрительнааа --
    Ну и самое важное: где история изменений в гите? Зачем выкладывать репозиторий, если в нем нет истории?
    Итог: работу найти не можешь, поэтому пишешь сюда, считая, что тостер - это неплохая площадка для само-рекламы. При этом нихера не сделано по существу, и не видно как ты работал. и ты ли вообще.
    В последнее время много таких людей стало, кто ищет работу на тостере под предлогом вопроса: что я делаю не так, как устроиться на работу, почему меня никто не берет, ну возьмите уже наконец меня, прям тут.. Тьфу. Вопросов таких целая куча и ответов к ним тоже. Но искать людям лень. Да и хватит себя жалеть. Нарабатывай портфолио в гите, с ИСТОРИЕЙ! Не пудри мозги людям.
    Но! Если это и впрямь твоя верстка, то можешь смело искать себе работу, хотя бы на поддержку готовых проектов. Я уже через 3 месяца после начала учебы нашла, на 23к не в Москве, а в райцентре таксказать. Главное терпение и усё будет.
    Ответ написан
    2 комментария