Задать вопрос
  • Как правильно использовать React на сайте если сам сайт не на нем?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Для этого надо всего лишь посмотреть свой код, в котором вы используете React на всем сайте. Все, что вы делаете, это добавляете в код документа бандл, который при инициализации рендерит приложение в тег с определенным селектором.
    Дальше думайте сами, ответ лежит на поверхности.
    Ответ написан
    Комментировать
  • Как рендерить react компонент с html?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Неправильный подход к разработке. Варианты, как это сделать правильно:
    1. Данные забираются Ajax запросом по API
    2. Если хотите отдавать данные со страницей, можно записать в любой тег в атрибут data-state или в тег скрипт, в ключ window.__data
    3. Можно написать node сервер с SSR и делать рендер на стороне сервера.
    Ответ написан
    Комментировать
  • Как Вы учите JavaScript, и похожие на него языки (ООП)?

    @maxsnw
    Ставишь себе проблему - и решаешь ее с помощью инструмента который у тебя в руках.
    Ответ написан
    Комментировать
  • Онлайн уроки по Redux?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    На egghead много видео уроков, в том числе два бесплатных курса от Дена Абрамова.
    https://egghead.io/browse/libraries/redux
    Платные, при желании, можно найти бесплатно на просторах интернета.
    Ответ написан
    Комментировать
  • Является ли фичей Kotlin сокращение имени метода при вызове?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Эта фича называется свойство, её суть не в сокращении имён методов и пришла она в Kotlin из спецификации JavaBeans.
    Ответ написан
    Комментировать
  • Является ли фичей Kotlin сокращение имени метода при вызове?

    longclaps
    @longclaps
    Это проперти, штоле?
    Ответ написан
    Комментировать
  • Знаю Kotlin, не знаю Java. Возьмут ли на работу?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Зная только Kotlin вы серьёзно сокращаете количество мест, в которые можете устроится. Это плохая карьерная стратегия.
    Ответ написан
    Комментировать
  • Как продуктивнее изучать Kotlin самостоятельно?

    alfss
    @alfss
    https://career.habr.com/alfss
    Придумай проект для себя и пили. Поставь сроки, разбей на этапы.
    Ответ написан
    Комментировать
  • Почему в MySQL 8.0 при последовательной записи через пользовательскую функцию в автоинкрементном id образуются пропуски?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    MySQL выделяет блок следующих ID до начала выполнения запроса, основываясь на максимальном количестве вставляемых запросом строк.
    Если какие-то строки не вставились (INSERT IGNORE, ошибка при вставке и т.п.), то выделенные ID обратно не возвращаются, поскольку за это время следующие за ними ID могли быть выделены следующим запросам.
    Ответ написан
    2 комментария
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    @ynblpb_spb
    дятел php
    А я бы на такой ситуации сразу пошел проходить собеседования на нужную вакансию и смотреть то, что там спрашивают, записывать, приходить домой и разбираться "чо хотели-тооо?". Брат (студент) по такой технологии за 2 месяца нашел работу младшим сисадмином (с нуля)
    Если не хочется тратить время на беготню и общение, то писать на hh.ru HRам и просить у них тестовое задание (для большинства вакансий оно есть).
    Ответ написан
    1 комментарий
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Во первых: совершенству нет предела.
    Во вторых: невозможно объять необъятное и впихнуть невпихуемое.
    В третьих: как ты не крутись, а технологии развиваются быстрее, поэтому отставание неминуемо, как следствие приходится всегда чем-то жертвовать ради чего-то более важного.

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

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

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

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

    Меня на программирование пропёрло весьма рано, лет в 14-15. Я ощущал собственное безграничное могущество, послушная железяка выполняла любое моё повеление, любой мой каприз, при условии, что он правильно сформулирован. Если железка не делала что нужно, или делала что не нужно, то это всегда была моя вина, это значило что я прокосячился. Подобное осознание настигло меня весьма скоропалительно, после чего мозг начал усиленно дисциплинироваться, и количество лютых фейлов пошло на убыль.

    Коммерческая разработка - это, примерно, от 70% времени/сил на дебаг и фиксы, потому что мало где процессы поставлены грамотно. По хорошему до сего дня (а мне под 40) я только одну команду видел, где процессы прям вообще очень хорошо поставлены и мне посчастливилось какое-то время с ними поработать. За эти несколько месяцев я подрос на целую голову. Самостоятельно достичь сходных результатов было бы весьма затруднительно.

    Сам я сменил стек совсем недавно, начал в конце 15 года, и процесс продолжается до сих пор. Сменил я по одной простой причине - во всех моих прежних проектах большая часть логики с бэка уехала на фронт, и прекраснейший jQuery перестал справляться чуть более чем полностью. Он, по прежнему, хорош, но задачи, которые приходится решать, требуют совершенно других подходов. Для себя я выбрал React, но в целом на рынке имеются альтернативы. По моим данным очень большим спросом пользуется Angular 2+.

    Когда говорят о фронтенд разработке, постоянно говорят о технологиях, стеке, но почти никто не упоминает, что не стеком единым... Существенная часть разработки - это, для начала, понять задачу и построить у себя в голове модель. Заказчики бывают разные, от очень толковых, до очень безтолковых. Соотношение первых ко вторым примерно 1% и всё остальное... Т.е. в большинстве случаев тебе скажут минимум, своеобразно, плюс ты это поймёшь по своему. Потом, по ходу пьесы, в самые неподходящие моменты, начнут всплывать подробности, которые: забыли упомянуть; ну это же очевидно, ты же профи; мы сами не знали, это только выяснилось; ну это же мелочи, мы думаем тебе это будет не сложно; а ты не спрашивал; и т.п....

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

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

    Если ты попадешь в команду, где люди будут понимающие, квалифицированные, процессы выстроены, а джуну задачи будут сгружать джунские, то, считай, тебе крупно повезло. Шансов на это примерно 1%. Особенно учитывая, что джуны это обычно студенты лет в районе 20...

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

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

    Даже если тебе попадается практически идеальный проект, внезапно оказывается, что твоя оперативная память это 5-7+-2 объекта, а удерживать в голове одновременно нужно сотни...

    Зачем я все это рассказываю? Затем, что это реальность, которая для джунов не делает исключений.

    Термин "фигак-фигак и в продакшен" встречается повсеместно, т.к. ресурсы (деньги, время, кадры) практически всегда весьма жестко ограничены и ничего ты с этим не поделаешь.

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

    С другой стороны сейчас предпочитают фронта, который еще и неплохо верстает. Слава флексбоксам и современным браузерам, сейчас это делать намного проще, чем годы назад.

    Теперь относительно того что делать - если в бэкграунде нет сильных скиллов по алгоритмике и структурам данных (олимпиады по программированию, универский курс информатики), то прям очень сильно рекомендую прокачать. Будучи наставником на нескольких курсах фронтенда я постоянно встречают студентов, которые "вроде бы" знают язык, но затрудняются скомпоновать пару циклов с условиями, вот буквально просто виснут на неопределенное время, причем без результата. Лично я рекомендую кодварс. Своих студентов я прокачиваю именно там. Достаточно прорешать 30-40 задачек, чтобы базовые скиллы ушли на уровень рефлексов и перестали парить мозг. Правда желательно решать это все с наставником.

    Косвенный бонус тут будет в том, что ты привыкнешь решать задачи на JavaScript. Я когда менял стек, поначалу мыслил на PHP, и подобный финт на кодварс позволил мне переформатировать мышление на JS. Вот мой профиль на кодварс как пруф: https://www.codewars.com/users/iCoderXXI

    Далее, когда ты освоишься в JS практически, очень неплохо будет досконально разобраться в том как работают замыкания и прототипное наследование. Это прям основа основ, и это спрашивают на каждом первом собесе.

    Понять надо настолько глубоко, чтобы легко и просто, с юморком, рассказывать это любой первой встречной бабушке, да так, чтобы та всё поняла... Это вот прям залог успеха в JS, потому что все остальное держится на этих двух китах. В ютубе имеется курс Зоракса (Zorax) и JavaScript Weird Parts, оба про то же самое, первый на русском, второй на инглише. Кантор, безусловно, крут, но эти двое объясняют попроще и понятнее (имхо).

    После этого прокачиваемся в использовании встроенных методов JS, таких как map, reduce, includes, replace и пр. (на том же кодварс)

    После этого нужно прокачаться в ES6+, стрелочные функции, let/const, деструктурирование, рест оператор, классы, промисы, генераторы, async/await, декораторы - без этих продвинутых штук в современных фреймворках ловить нечего.

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

    Потом уже заостряемся на API форм, DOM, AJAX (fetch/axios), вебсокетах, Localstorage и пр.

    И вот только теперь можно переключаться на фреймворки. Проще всего освоить Vue (по слухам), наибольшим спросом пользуются React и Angular, для общего развития так же неплохо бы немного послушать про Ember.JS.

    React только на первый взгляд выглядит простым, на самом деле это только view-библиотека, а в любом нормальном SPA есть много чего еще кроме view, поэтому React всегда идет в компании Redux, Router, и еще целой толпы всего, что тоже придется осваивать, не только с точки зрения API, но и с точки зрения философии (а нахрена оно вообще сдалось?)

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

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

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

    Еще вроде большие компании вроде Яндекса устраивают летнее обучение, с последующим трудоустройством лучших кандидатов, но это не точно.

    Оптимистичный прогноз - 6-12 месяцев плотного фигачинга и ты в тренде.
    Ответ написан
    7 комментариев
  • В какой последовательности изучать JavaScript?

    alvvi
    @alvvi
    export default apathy;
    Нет, скорее
    JavaScript > Node.js (база) > Gulp/Webpack > Angular/Vue.js/React.js
    для фронтенда.
    Ответ написан
    Комментировать
  • В какой последовательности изучать JavaScript?

    Morpheus_God
    @Morpheus_God
    Начните отсюда. Выполняйте задания после каждой темы. А там уже определитесь, что вам интересно в мире JS.
    Ответ написан
    Комментировать
  • Можно ли сносить уже эти хаки для ie?

    @overveg
    Все что со звездочкой это хаки для ИЕ6, их уже можно сносить. А это похоже просто на ошибку:
    position: relative;;
    margin: 0 10px 0 0;;


    Сайт с каталогом хаков для всех браузеров)
    browserhacks.com
    Ответ написан
    1 комментарий
  • Актуальные книги по React.js?

    @kristenstewartdadada
    Frontend Developer
    Вам вполне хватит официальной документации
    Ответ написан
    Комментировать
  • Почему в Javascript выражение false+[] вернет строку 'false'?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Ведь у пустого массива есть численное представление: +[] вернет 0.

    И что с того? В выражении false+[] нет преобразования массива в число. Есть сложение - массив преобразовывается в строку, false тоже. Если интересуют детали - можете ознакомится со спецификацией.
    Ответ написан
    3 комментария
  • Действительно ли back-end разработка более консервативна, чем front-end?

    hrls
    @hrls
    Половина ответа в вопросе, но дьявол в мелочах.
    Действительно, для относительно продуктивной backend-разработки практически на любом языке программирования необходимо знать несколько базовых фреймворков и тулов, которые решают большинство задач. Это скелет ~90% приложений сложнее hello world. Хотя и этот скелет меняется и развивается, пусть и не так быстро как хотелось бы, как разнообразные отростки (не консервативность, но более долгий жизненный цикл). Суммарный вес технологий и инструментов не меньше, и уж точно не менее динамично изменяющийся, чем у frontend-разработчиков.
    Далее личный опыт на примере Java.
    Лет 7-8 тому достаточно было знать Spring, Struts, Hibernate да Apache Commons в довесок для разработки большинства решений. Ну и J2EE-стек для задач Enterprise-уровня.
    В году 2014 Spring, Hibernate все также в арсенале программиста, но появилась куча абсолютно новых вещей вроде AMPQ, Hadoop, Netty, Scala с функциональной парадигмой, мультиязычные окружения с Clojure/Groovy/JRuby; стали чаще встречаться альтернативные реализации популярных библиотек (например Guice / Guava); старые технологии вроде J2EE стали использоваться несколько реже. А одних только Key-Value хранилищ, кэшей и прочих NoSQL как грязи. Изменился даже сам подход к построению приложений – мало кто в 2005 слышал про asynchronous event-driven модели и отталкивался при проектировании от REST-стиля (собственно, там и корни frontend-девелопера как отдельной специализации). Про эволюцию систем сборок, VCS, бенчмарков и прочих "микро"-элементов можно расписывать не одну простыню.
    И да простят меня frontend-товарищи за, возможно, чванливый тон, но раскурить тонкости работы async IO в зависимости от ОС-специфики вроде epoll/kqueue или учитывать CAP-теорему при построении middleware-кэша это уровнем сложности повыше, чем новый CSS-препроцессор и CoffeeScript c очередным MVC / MVVM-фреймворком. Некоторые задачи, вроде синхронизации потоков, так и вообще лежат большей частью в области математики.
    Уверен, что и в frontend-разработке существуют задачи сложнее и интереснее поехавшей на пиксель верстки и обновления полей после парсинга JSON, но ИМХО backend-разработка ближе к системному программированию старой школы, в то время как frontend суть прикладное программирование с примесями дизайна.
    Frontend-инструментов больше, backend-инструменты сложнее.
    Ответ написан
    4 комментария
  • Зачем нужна точка в пути к файлу?

    @JuniorNoobie
    Сижу в поддержке, пишу мелкие проекты
    / is the root of the current drive;
    ./ is the current directory;
    ../ is the parent of the current directory.

    Первая ссылка в гугле, если что...
    Ответ написан
    4 комментария
  • Непонимание родителей, по поводу моей работы. Как объяснить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Более-менее достойное доказательство для родителей - когда вы перейдете на самообеспечение и перестанете быть зависимым.
    В идеале - съемная квартира и самостоятельное пропитание/.
    Обычно именно в этот момент оказывается, что взрослые не такие уж и глупые, ибо много бытовых проблем на вас набрасываются, забирая время, силы и здоровье. Пожил не по расписанию, впроголодь - получи кучу болячек, в лучшем случае простуду, в худшем - кучу хронических. Тут уже и работать будет некогда.

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

    И как с таким образованием искать работу?

    Энергичный <название_профессии> найдет как заработать.
    Ответ написан
    1 комментарий