• Где найти критерии вёрстки из HTML Academy?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ответ написан
    Комментировать
  • Как сделать поиск на сайте через несколько select'ов?

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

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Service Worker это называется, гуглим...
    Ответ написан
    Комментировать
  • Какой хороший курс по JS (для среднего уровня)?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    https://www.youtube.com/watch?v=bzuelEN1Kg8&list=P... вот это дело мозг хорошо поставило на место по части ES5, Еще зоракса послушай. learn.javascript.ru хорош, но нудноват...
    Ответ написан
    2 комментария
  • Как посчитать количество чисел превышающие количество памяти?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Считать порциями, которые умещаются в памяти, отдавать порциями. Если нужно в заголовках отдать общий объём, значит складывать на диск при подсчете, одновременно подсчитывая объём, потом отдать заголовки отдавать с диска порциями... Как-то так.
    Ответ написан
    Комментировать
  • Как сделать рандом из массива с указанной вероятностью для элементов?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Приводим коэффициенты к целым числам пропорционально так, чтобы минимальный коэффициент равнялся единице, остальные округляем до единиц. Таким образом получаем на выходе массив с целыми числами, где отношения в пропорции элементов друг к другу будут близкими к изначальным. Далее на основе этого промежуточного массива генерируем новый, с диапазонами, для первого элемента от 0 до его значения, для каждого последующего от суммы всех предыдущих значений до сумма + текущее значение. Таким образом весь массив диапазонами покрывает значения от 0 до суммы всех величин из первого промежуточного массива, которую обозначим как S. Далее используем только второй массив с диапазонами, для каждого элемента выборки генерим рандомное число R от 0 до S, и находим ключ согласно тому диапазону, куда в каждой итерации попадает R.

    По идее данный алгоритм идентичен варианту Дмитрия, но эффективен по части использования памяти. Опять же, его тоже можно оптимизировать. :)

    ЗЫ: Те же яйца, но в профиль предложил Сергей Соколов
    Ответ написан
    2 комментария
  • Реально в 36-40 лет стать тестировщиком или программистом если есть свободное время?

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

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

    Инженерный склад ума тоже огромный плюс.

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

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

    При должном упорстве уже через 6-9 месяцев в таком режиме (5+ часов в день, каждый день) накопится достаточно навыков и знания, постепенно будет получаться все больше и больше.

    Если вдруг есть желание изучать JavaScript, то я могу придать некоторое ускорение в нужном направлении. :)
    Ответ написан
    2 комментария
  • Как реализовать постоянную взаимосвязь ajax+php не перегружая сервер?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Как уже выше коллеги писали, websockets (что на пыхе нетривиально реализовать), на худой конец longpolling (что вполне реально, но это костыль в почти 19 году).
    Ответ написан
    Комментировать
  • Что скажете о данном коде? Каков мой уровень?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Качай алгоритмы и структуры данных. Не важно на каком языке ты пишешь, без этого в профессии делать нечего. Прорешай овер100500 задачек олимпиадных, выведи эти навыки на рефлексы и тогда будет тебе щасте, ибо всё остальное, чаще всего, нужно просто запомнить и привыкнуть.
    Ответ написан
    Комментировать
  • Профессия frontend HTML Academy стоит ли того?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Если у тебя слабая база и ты не можешь с ходу решать алгоритмические олимпиадные задачки, то в профессию тебе рано. Сам курс достаточно хорош, но из курсантов которых я вел большинство приходят не готовые и не тянут, и таким курс не поможет. Курс хорош если ты уверенно программируешь на другом языке но решил сменить стек, тогда от него будет польза.
    Ответ написан
  • Можно ли найти настоящего Team Lead Senior разработчика на удаленку?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    А почему Вы не рассматриваете вариант вырастить таких редких кадров у себя, а потом отпускать на вольные хлеба?

    Вот и никто не хочет. :(

    Растут вопреки всему сами.

    Как вариант создайте условия и пожинайте плоды до поры, пока не разлетятся... При должных условиях они начнут расти у вас перманентно...
    Ответ написан
  • Стоит ли идти в программисты в 30 лет, но не простым, а..?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Фронт года с 14 усиленно превращается в энетрепрайз, со всеми теми же проблемами, что и в любом другом энтерпрайзе. На скольких проектах побывал - в каждом свой зоопарк и свои представления о прекрасном, часто еще и не полностью пересекающиеся с моими. В результате вместо ударного креатива я вынужден заставлять себя писать в манере, требуемой заказчику, что далеко не всегда получается легко и просто. Много сил уходит на компенсацию внутренних конфликтов, типа душа стремится к прекрасному и совершенному, а писать приходится то что приходится... От этого выгорание происходит ударными темпами, а требования к программистам формируют явно люди, которые ни строчки кода в жизни не написали и даже приблизительно не понимают, как это работает, какова физиология нервной системы и чем чреваты такие неадекватные требования.

    При этом пока ты молод и один, в целом зарплаты тебе хватает чтобы жить симпатичненько, позволять себе макбучики и айфончики и еще на дошики останется... А если, не приведи господь, у тебя семья, ипотека и пр., то уровень жизни объективно стремится к прожиточному минимуму и каждый день перманентный стресс. Ни о каких накопления речи вообще при таком раскладе не идет. Креатив тоже сходит на нет. Хорошо если есть рефлексы, выработанные годами, которые позволяют это безобразие худо-бедно вывозить. А если нет?

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

    Все вышесказанное полнейшее ИМХО. Возможно просто я сегодня встал не с той ноги... Кто его знает...
    Ответ написан
    1 комментарий
  • Как начать работать во frontend?

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

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

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

    Я, по первости, вкладывая своё личное время, вытягивал бегемотов из болота, затрачивая своего личного времени 20+ часов на каждого, без всякой компенсации, просто из принципа, что раз могу значит должен.

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

    Таким образом резюме - прорешай олимпиадных задачек штук 100 разной сложности, выведи базовую алгоритмику и структуры данных на рефлексы. Это прям must have независимо от языка, на котором ты пишешь сейчас и будешь писать когда-либо, ибо это первейшие и универсальные навыки в программировании. Без этих навыков в профессии делать нечего. ИМХО.

    ЗЫ: Видывал я и синьоров, которые на обе ноги хромают в алгоритмах и структурах данных. Мде. Жизнь полна чудесов.

    ЗЫ2: Я всех отправляю на кодварс прокачивать скиллы в алгоритмах. Однако в последнее время кодварс стал зело тормозной. Пичалька. :(
    Ответ написан
    Комментировать
  • Что значит и как перевести на русский tree shaking?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Когда плоды/листья утрачивают связь с деревом, дерево трясут - плоды падают, дерево остается...

    Любой код можно представить в виде дерева вызовов.

    В бандл попадает код (например части библиотек/пакетов), который никак не связан с полезным кодом, занимает место но никогда не вызывается, таким образом с деревом кода не связан. Tree shaking помогает устранить такой код, оставив в бандле только то, что реально работает.

    Вот например ты потянул здоровенную библиотеку в проект ради пару-тройки функций, а остальные дцать мегабайт просто лежат и вообще ничего не делают. Вот tree shaking, по идее, при сборке бандла эти мегабайты отбросит, оставит только то, что реально вызывается и приносит пользу...
    Ответ написан
    Комментировать
  • Что нужно иметь и знать в фреймворке React джуну?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Для начала будущему джуну не плохо бы сходить на сайт реакта, и прочитать там большими буквами, что Реакт - ни разу не фреймворк, а очень даже "A JavaScript library for building user interfaces".

    Во вторых будущему джуну надо осознать, что если он так неаккуратен в терминологии, то в разработке ему будет трындец как сложно. Компьютер, в отличии от человека, воспринимает все буквально и делает ровно то, что сказано. И если сказано неточно, то результата не будет.

    В общем будущему джуну нужно прокачивать дисциплину мышления и серьезно поработать над уточнением формулировок. На первые пол-года хватит, а потом пусть будущий джун возвращается с новыми вопросами, скажем что делать дальше.
    Ответ написан
    2 комментария
  • Какой путь изучения программирования выбрать?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ухх как все сложно...

    Чтобы научиться плавать нужно, для начала, зайти в воду... Стоя на берегу плавать учиться затруднительно.

    Если бы я так заморачивался в своё время, то даже не начал бы.

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

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

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

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

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

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

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

    Вот как-то так. Дорогу осилит идущий, но нужно постоянно делать следующий шаг.

    Ну и напоследок - в программировании очень решает оперативная память. Нужно в голове удерживать массу фактов одновременно, иначе получается фигня. Поэтому прокачивай оперативную память...
    Ответ написан
    Комментировать
  • Есть ли хорошие источники для изучения ReactJS?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Всё зависит от твоего предыдущего опыта. Если ты уверенно умеешь программировать на любом языке, это одно дело. Если нет - другое. Если ты уверенно чувствуешь себя во фронтенде и можешь, в принципе, решать задачи на голом html+css+js, это одно. Если нет - другое.

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

    А вот если на один из вопросов выше ты ответил отрицательно, то в реакт тебе пока рано, и надо подтягивать базу.
    Ответ написан
    Комментировать
  • Программирование - что для старта выучить ребенку?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я начал в 13, сам. Причем до этого попробовал разные компьютерные игры - не зашло.

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

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

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

    Моему сыну сейчас 12 и он вроде как пытается пойти этим путем. Я его не форсирую. Если обращается за помощью - помогаю, но ровно на столько, чтобы он сдвинулся с мертвой точки. За него его работу я не делаю принципиально. Это жизненно важно для программиста - уметь самостоятельно разруливать весьма сложные тупики, разбираться в нетривиальных засадах. Совершенно не факт, что он именно в эту сферу двинет с годами, но некоторые навыки программирования никому лишними не будут в наши времена.
    Ответ написан
    Комментировать
  • Куда пойти школьнику учится на Веб-разработчика?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Для начала научись решать олимпиадные задачки (прорешай самостоятельно, с полным пониманием происходящего, хотя бы 100-150 задачек), они прокачивают алгоритмику и структуры данных, без этого вообще ни о каком современно фронтенде речи просто быть не может. Это минимум год.

    Далее, у htmlacademy в свободном доступе (бесплатно) весьма приличный курс по азам фронтенда. Рекомендую пройти этот курс на 2-3 круга, и довести владение азами до автоматизма. Это еще год.

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

    Ах да, еще надо очень налегать на инглиш, без него в профессии ну очень туго.
    Ответ написан
    Комментировать
  • Куда дальше расти, что изучать? Как найти команду?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Году в 14-15 я оказался в схожей ситуации. Фронтенд сделал огромный рывок вперед, и мои фронтенд скиллы, которых вполне хватало раньше, оказались так себе. На тот момент общий мой стаж в айти перевалил за 20 лет. Казалось бы положение вообще швах.

    Первым делом я провел масштабное исследование, что вообще происходит в современном фронтенде, какие стеки/технологии в тренде, куда вообще движется паровоз фронтенда. Масла в огонь подлило несколько проектов, где были формы со сложной логикой на очень много полей. В одной было 60+ полей, в другой 300+. Я конечно решил эти задачи, и всё даже работало, но далось мне это очень не просто и я сильно не завидую тому, кому пришлось бы впоследствии эти формы переделывать (а реальность такова, что код приходится дорабатывать через время без вариантов)...

    В общем остро встали вопросы "Как быть?", "Что делать?", "Куда двигаться дальше?".

    Совершенно очевидно стало, что без JavaScript/ES6+ совершенно никак, поэтому я принялся устранять все белые пятна, которые у меня на тот момент были относительно языка. Честно говоря до 2015 года я откровенно недолюбливал JS, но мирился с ним. Забегая вперед скажу, сейчас это мой основной язык и я его фанат.

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

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

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

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

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

    Меня здорово выручает владение инглишем в достаточной степени, чтобы свободно читать/понимать на слух. Так же здорово облегчают жизнь достаточно прокачанные скиллы по структурам данных и алгоритмам. Имея эти навыки в багаже мне оставалось просто подучить язык, освоить дополнительные инструменты вроде npm/node, webpack, освоить фреймворк и вот я уже вполне себе востребованный специалист.

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

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