Задать вопрос
  • Как жить дальше?

    Austin_Powers
    @Austin_Powers
    Web developer (Symfony, Go, Vue.js)
    меня порой разочаровывал инструментарий

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

    Никто не оценивает мой код,

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

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

    No comments

    У вас достаточно причин покинуть данное место.
    Ответ написан
    Комментировать
  • Тестовые задания по nodejs для новичка?

    mak_ufo
    @mak_ufo
    Посмотрите здесь. Там, правда, предлагают писать на ROR, но всё перечисленное в статье можно писать на чём угодно. В том числе и на node.js
    Ответ написан
    Комментировать
  • Тестовые задания по nodejs для новичка?

    mannaro
    @mannaro Куратор тега JavaScript
    Умею профессионально гуглить
    Есть прикольное задание, которое нашел как-то на просторах интернета:

    Управление виртуальным центром запуска ракет.
    Есть несколько баз (при запуске сервера они "создаются" заново).
    Нажимаешь кнопку, выбираешь цель и ракета летит, транслируя свои координаты на клиент (+ оставшееся время).
    В момент полета может произойти авария и ракета не долетит, надо чтобы это выводилось пользователю в браузер.
    Когда ракета долетает, то базе наносится урон (вычисляется случайно). Когда у базы жизней < 0 игра считается завершенной и пользователю об этом показывается сообщение при загрузке страницы.
    Все это на сервере работает через JSON, а на клиенте через react/angular/custom и обновляется в реалтайме через long-polling или websocket.

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

    zualex
    @zualex
    Senior Software Engineer
    Для того чтобы повысить свой уровень, нужно найти свои недостатки.
    Из-за этого я составил карту развития веб-разработчика https://github.com/zualex/devmap

    Как мне кажется путь повышения своего уровня индивидуален. Опишу как было у меня

    1) Работал в веб-студии, клепал сайты один за одним, стало очень скучно, возомнил себя крутым и решил пойти на повышение, после первого собеседования понял что я никто)
    Level up - осознания того что ты не крут

    2) Стал изучать и самое главное применять новые для меня технологии: git, laravel, gulp и т.д. Изучал постепенно, не набрасывался на всё сразу, что-то отпадало, что-то становилось бесценным инструментом.
    Level up - осознание что нужно постоянно развиваться

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

    4) Спустя время понял, что достиг потолка, начал ходить на собеседования, выявлялись разного рода недостатки.
    Level up - ходить на собеседования

    5) Новая работа, где устроенно все по другому (в хорошем смысле), новая команда, новые испытания
    Level up - выход из зоны комфорта
    Ответ написан
    Комментировать
  • Как повысить уровень программирования?

    tiabc
    @tiabc
    Бизнес-партнер и консультант по технологиям
    Хорошие разработчики постоянно развиваются и никогда не стоят на месте. Любое развитие состоит в делании дел, в решении конкретных задач и в обратной связи, которую ты получаешь от других или в результате рефлексии.

    TL;DR: Читайте книжки, делайте дела, читайте чужой код.

    Что можно начать делать прямо сейчас, чтобы стать программистом лучше?

    1. Изучайте базу. Алгоритмы, сети, криптографию, архитектуру, ос, устройство браузеров, компиляторы и т.д. Изучение подобных вещей дает понимание какие задачи бывают в реальном мире и как "большие дядьки" решают возникающие проблемы. Это кладезь инсайтов.

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

    3. Написание кода - не самая большая часть работы сеньор-девелоперов, я бы сказал. Но когда речь заходит о самом коде, нужно понимать что ты пишешь и зачем. Есть классические книжки, которые можно найти, например, в матрице компетентности программиста, есть современные, но полезные типа The Art of Readable Code, которую я очень рекомендую. Нужно читать книжки. На собеседовании я всегда спрашиваю какие книжки читал или читает соискатель и если ответ отрицательный, то это большой минус.

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

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

    @SuperOleg39ru
    Front-end разработчик
    Добрый день!

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

    flexbox, grid layout
    - это css из современных стандартов. Что бы знать, когда применять - вы должны знать версии старых браузеров, которые необходимо поддерживать на вашем проекте, и соответствующую поддержку этих стилей. Например, формировать элементы на flexbox на порядок удобнее, чем на float, но в IE9 вы уже использовать flexbox не можете.
    Немного о новинках в css тут.
    Поддержка браузерами тут.

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

    препроцессоры
    - представьте, что вам чего-либо не хватает в html и css.
    Например, вы хотите разбивать большие html файлы на множество мелких, или вам нужно вставить в html динамическое содержание - для этого созданы html шаблонизаторы. Вы используете в работе синтаксис конкретного шаблонизатора, затем тот же gulp автоматически собирает эти файлы в обычный html, который понимает браузер.
    Аналогичная ситуация с css, препроцессоры позволяют разбивать файлы на мелкие, и собирать в один, доступны переменные и функции, и многое другое.
    Популярный шаблонизатор Pug
    Один из css-препроцессоров Stylus

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

    Ну и конечно статьи и подкасты:
    https://habrahabr.ru/
    jsraccoon.ru

    https://soundcloud.com/web-standards
    https://radiojs.ru/

    Конкретные статьи и ресурсы для новичка:

    frontender.info/a-baseline-for-front-end-developers
    frontender.info/a-guide-to-flexbox
    css-live.ru/articles-css/pravilnye-kontrolnye-toch...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://habrahabr.ru/company/zfort/blog/321214/
    https://frontendmasters.gitbooks.io/front-end-hand...

    Дерзайте!
    Ответ написан
    6 комментариев
  • Какие есть интересные сайты со статьями на тему Frontend?

    machetero
    @machetero
    gotlib.me
    Советую дайджест от zfort на хабре. Он выходит каждую неделю. И ещё мне нравиться сайт html5.by
    Ответ написан
    2 комментария
  • Нормально ли спрашивать про бывшую зарплату?

    gobananas
    @gobananas
    finishhim.ru
    Мы постоянно задаём такие вопросы и все отвечают, не припомню что бы кто-то не ответил. Тогда сразу открывается возможность для разговора о причинах смены работы:

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

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

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

    У нас люди приходят на собеседование и свободно говорят что у меня есть сейчас сторонний доход 35 например и у вас я планирую работать на 28, т.е. мы чётко понимаем что на стороне человек будет зарабатывать больше чем у нас, но он нам нравится то мы всё равно берём его.
    Ответ написан
    22 комментария
  • Где найти человека способного быстро и качественно научить основам JS за деньги?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Чувак, идешь сначала сюда https://learn.javascript.ru/
    Пока Илья с товарищами по команде тебе надоедают, учишь английский.
    Потом переключаешься на бритоголового https://egghead.io/
    Потом, если покажется мало, начнешь курить спеки. К этому времени уже освоишь гугл и сможешь сам их найти.

    Лучшие практики SPA

    1. KISS - использовать только то, что действительно нужно. Например вам не нужен Javascript, если нужно просто сделать выпадающее меню. Достаточно просто CSS. Тоже самое применяется и к JS, вам не нужен Angular, если есть просто форма обратной связи. Такая задача решается на vanillajs.
    2. Использование фреймворков, например bootstrap, foundation и т.д. Обычно из них берется типография и сетки. Иногда формы. Я обычно беру bootstrap-stylus и собираю из него.
    3. Critical rendering path - минимальный набор CSS, который требуется для отображения первого экрана страницы, который потом будет встроен внутрь html-файла. Пример.
    4. Применение систем сборки, например gulp. Основной смысл заключается в том, что сначала вы дробите SPA на множество мелких компонентов/модулей/блоков. Затем унифицируете их. В итоге получается набор небольших файлов. Затем из этого набора собирается два больших файла (css, js) и они прогоняются через оптимизатор и минификатор.
    5. Использование CDN. CDN позволяет ускорить загрузку для часто-посещаемых и популярных страниц за счет уменьшения времени доставки контента. Особенно актуально для SPA, поскольку они представляют собой статический контент, который можно кэшировать без последствий.
    Системы сборки

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

    Модули AMD, CJS, UMD

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

    Сборка и подключение css

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

    В целом очень толково про оптимизацию расписано здесь https://developers.google.com/web/?hl=ru
    Ответ написан
    4 комментария
  • Где вести записи разработчику?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    Ответ написан
    Комментировать
  • Какой js используют при создания интернет магазина в современном мире?

    AMar4enko
    @AMar4enko
    React - будет индексироваться, его можно рендерить на сервере. Ангуляр 2 можно, он уже rc.5 по моим ощущениям файнал будет версии через две, тоже можно рендерить на сервере

    В целом, похоже что вы выбираете половник не умея варить суп
    Ответ написан
    4 комментария
  • Код ревью или что не так с моим тестовым заданием?

    @dmitryKovalskiy
    программист средней руки
    Лично у меня код вида
    setupList();
    showListProgress(true);
    getTaskList();

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

    Поскольку сам работаю на шарпе, комментировать стиль написания не могу. Может какие-то приемы это классика
    Ответ написан
    Комментировать
  • Хорошая практика для Python?

    aRegius
    @aRegius
    Python Enthusiast
    Здравствуйте!

    Лутца читать лучше после Доусона. А вот читая Доусона, вы и сделаете первый шаг к тому, чтобы не "тупить в экран", если, конечно, подойдете к работе (именно работе, а не просто чтению) с этой книгой серьезно - там достаточное количество интересных и практичных задач.
    Ответ написан
    4 комментария
  • Почему фрилансеры готовы общаться только в чате?

    sadisme
    @sadisme
    font-size:30rem
    Всё просто. В 99% ситуаций общения голосом, желают типичные "гуманитарии", которые от темы разработки бесконечно далеко. Ты им говоришь "напишите ТЗ", а они в ответ "давайте я лучше вам всё по телефону расскажу". Они думают если не разбираются в вопросе и не могут ТЗ написать, то уж голосом точно всё объяснят как надо. И не дай бог вам согласиться (а просят как правило настойчиво, ибо самим лень разбираться в вопросе и что-то писать), вынесут вам мозг по полной.
    Ответ написан
    6 комментариев
  • Можно ли снять видео уроки по Unity 5 без разрешения автора программы?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Можно, это законом не запрещено. Можете даже деньги на этом зарабатывать. Нельзя создавать впечатление, будто это вы разработчик Unity и это ваш продукт, а записывать видео работы с программой можно.
    Ответ написан
    6 комментариев
  • Общая модель для нескольких вьюх в ангуляр?

    Лучше всего сделать сервис, который будет отвечать за хранение этих данных. И тогда всё довольно просто получится.
    Данные менять только через вызов метода этого сервиса.
    Ответ написан
    1 комментарий
  • Что можно почитать по разработке фронтенда?

    Aleksandr_S1
    @Aleksandr_S1
    Начинающий front-end dev
    Сам задавался таким вопросом и посоветовали "Выразительный JavaScript", автор - Марейн Хавербек, можно на торрентах найти PDF.
    Ну и learn.javascript.ru
    Ответ написан
    Комментировать
  • Что можно почитать по разработке фронтенда?

    @Strannyk
    «JavaScript. Шаблоны» С. Стефанов
    Ответ написан
    Комментировать