• Шаблоны с хорошей вёрсткой на чистом HTML и CSS есть ли такие ресурсы?

    @itsjustmypage
    Открываешь разные проекты
    Нажимаешь F12
    Смотришь примеры хорошей (не обязательно) вёрстки

    Для конкретных элементов (формы, модалки, вылезающие панели) лучше искать их отдельно и смотреть примеры в поиске на codepen.io

    Ещё есть всякие сборники UI типа таких:
    https://googlechromelabs.github.io/ui-element-samples/
    https://css-tricks.com/snippets/html/
    https://www.w3schools.com/howto/default.asp
    https://tympanus.net/codrops/category/blueprints/
    Ответ написан
    Комментировать
  • Как в Crome DevTools можно просматривать все события страницы?

    @xtress
    Web-dev
    Выполните в консоли monitorEvents(document.body); Увидите все события по мере их появления. Если надо фильтровать - второй аргумент для этой функции: monitorEvents(document.body, 'click'); - покажет все клики.
    Ответ написан
    3 комментария
  • Что нужно иметь и знать в фреймворке React джуну?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Хороший кандидат на должность Junior React Developer, по моему мнению, должен соответствовать следующему перечню требований:
    1. Хорошее знание JavaScript. В React разработке используется ES6 и большинство экспериментальных фич еще не вошедших в стандарт.
    2. Хорошее знание HTML и CSS. Кроссбраузерная верстка. Так же, хорошо иметь представление о том, что такое css-in-js.
    3. Web APIs. Умение работать с объектной моделью документа(DOM) и все эти XMLHttpRequest, localstorage, cookie, history и прочее.
    4. Хорошее знание API React. Вы должны хорошо знать React, знать его возможности, понимать основные концепции и уметь ответить на большинство типовых вопросов. Для этого достаточно хорошо изучить документацию, разобрать пару типовых проектов на github и попрактиковаться. Много полезной информации, приёмов и идей можно подчерпнуть из тематических статей и докладов. Так же, на просторах интернета можно найти подборки типовых вопросов, часто задаваемых на собеседованиях. В англоязычном сегменте их больше.
    5. Redux. Уверенное знание API. API библиотеки до боли пост. Знать, что такое промежуточное ПО и зачем оно. Понимать базовые концепции архитектуры Flux. Все это есть в документации и многочисленных курсах.
    6. Умение работать с менеджером пакетов npm на базовом уровне.
    7. Node.js. Хотя бы уметь написать простейший express/koa сервер, который будет отдавать ваше приложение и статику.
    8. Webpack. Базовые знания.
    9. Умение работать с git. Хотя бы знать и уметь примерять команды: init, clone, add, commit, push, pull, merge, checkout.
    10. Иммутабельность. Четкое понимание зачем это надо. Знание приемов иммутабельного изменения структур данных. Это есть в официальном туториале React.
    11. Статическая типизация TypeScrpt/Flow. Для начала хватит самых основ и способности понимать чужой код.
    12. Функциональное программирование. Хватит знаний полученных в процессе изучения JavaScript, а так же не помешает знать, что такое каррирование, чистые функции и рекурсия.
    13. Базовые концепции ООП. Хватит знаний полученных в рамках изучения JavaScript.
    14. Асинхронный код. Понимать как его правильно организовывать. Promise, async/await.
    15. Сетевые протоколы передачи данных. Вполне хватит базовых знаний о http/https, о том, что такое заголовки и какие они бывают. Хорошо знать о том, что такое websocket.
    16. За плечами должен быть хотя бы один учебный проект на React. Хватит типового тестового задания.
    Примеры таких заданий: 1, 2, 3(сайт может быть не доступен на территории РФ, советую отрыть через VPN и посмотреть), 4, 5. Если подобного проекта у вас нет, то будьте готовы, что потенциальный работодатель предложит вам выполнить тестовое задание и только по его результату вас, может быть, пригласят на техническое интервью. Если напишите хорошо, вас скорей всего пригласят.
    17. Желателен опыт создания типовых UI элементов. Например, чтобы не вызывало трудностей написать простой кастомный чекбокс. Куча примеров реализаций типовых элементов есть на codepen.

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

    Похожий вопрос.
    Ответ написан
    18 комментариев
  • Верстка с нуля: какие основные этапы работы?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    Использую vscode+webpack+pug+scss+бэм. Из физических инструментов, основной моник: lg ultrawide 29um69g, рядом прикручен моник от ноутбука повешенный вертикально, подключенный через универсальный скаллер.

    0) Запускаю Spotify :-)

    1) Произвожу установку всех необходимых модулей для сборки. В моем случае у меня набор конфигураций для webpack (отдельные файлы для pug, scss, static и.т.д., выбираю что нужно).

    2) Запускаю avocode, загружаю в него макет. Определяю в нем переменные (в то же время записываю их, чтобы сразу кинуть в scss файл) для цветов, размеров шрифтов и.т.д. чтобы при получении кусочков кода из него, он сразу расставлял переменные.

    3) Запускаю VS Code, открываю нужную папку.

    4) Пишу размету на Pug. Пишу с БЭМ, если встречаю повторяющийся блок, то открываю файл _mixins.pug, в который пишу миксины для повторяющихся блоков, например товаров, пунктов меню, каких-то блоков и.т.д. Pug умеет делать циклы, это ускоряет сильно.

    5) Когда HTML готов, начинаю делать каркас. Если дизайн сделан по сетке, определяю контейнеры, колонки, строки в свои классы (не пишу в html тучи классов аля col-md-6, а пишу в SCSS инклуды в нужные мне блоки, типа @include make-col(2) и.т.д.).

    6) Экспортирую картинки из Avocode. Очень делается просто, указываю папку и просто кликаю экспорт и ввожу название файла и расширения. Преимущественно для иконок использую svg, если нет svg, то ищу эту иконку в интернете (дизайнеры редко рисуют иконки сами, но зато любят вставлять их не в векторе). Если иконка простая, могу сам ее в inkscape обвести, ну и если нет, то экспортирую png в размере (благо авокод это позволяет, если конечно дизайнер не вставил в исходном маленьком размере). Когда есть контакт с дизайнером, трясу его, ибо растр это плохо для иконок.

    7) Пишу стили блоков из страницы. На этом этапе можно на втором монике параллельно смотреть футураму или
    Арчера :-) Но чаще на широком монике слева браузер, справа VS Code, а на втором монике Avocode (может меняться местами с браузером). Мысленно нарезаю страницу на блоки. Для каждого блока (БЭМ) создаю отдельный scss файл (кто-то даже для элемента создает, но мне лень), из него сразу выписываю все селекторы. Иногда могу сначала выписать все селекторы со страницы (но так лучше не делать, т.к. во время работы может потребоваться изменить что-то в разметке), но чаще для одного блока выполняю этот пункт и за ним сразу выполняю пункт 8, потом для нового блока опять 7 и 8 и.т.д.

    8) Пишу css код вместе с Avocode, у него беру нужные мне параметры (а он уже подставил в них переменные), и вставляю в мой код. И параллельно сверяю со скрином макета используя вот это расширение https://chrome.google.com/webstore/detail/perfectp...

    9) Пишу адаптив. Я не могу привыкнуть к методологии mobile-first, поэтому пишу всегда сначала полную версию сайта. Я понимаю, что это чревато всякими проблемами и это типа не модно, но мне норм.

    10) Медиа-запросы пишу прямо в блоках, для каждого блока/элемента/модификатора может быть отдельный медиа-запрос. Но для начала определяю breakpoint'ы для разных экранов (чтобы их не было сотни разных), если использую Bootstrap, то беру его breakpoint'ы.

    11) Добавляю анимашки. Даже если заказчик не просил отдельно (и если не указал отдельно, что нельзя), он все равно будет доволен, а с animate.css+onscreen.js это вообще работа 10 минут. Сложные анимации обговариваю отдельно, чтобы не сделать ненужную работу.

    11) Все снова сверяю, пишу скрипты где надо. Для слайдеров в 99% случаев подходит slick (с доработками конечно, но там хорошее API), для других случаев могу написать свой.

    12) Сдаю заказчику и жду ответа сидя на тостере/пикабу.

    Это чисто мой опыт, опыт фрилансера, не знаю, как делают другие и не могу на 100% утверждать что это 100% правильный способ. Я так и не смог заставить свой конфиг webpack правильно вставлять спрайты svg.
    Надеюсь чем-то поможет мой ответ.
    Ответ написан
    7 комментариев
  • Пример хорошего ТЗ/гайдлайна для вёрстки?

    dpmango
    @dpmango
    Лучше ТЗ верстальщику - макет. Все таки в этой профессии должна быть доля креативности и нужно удивлять клиента своими решениями. Если это не профессиональная студия из ТОП50 рейтингов, где описаны действительно необычные решения, обычно все ТЗ сводиться к пунктам вида "спасибо, кэп". Например - клик на иконкe гамбургера должен открывать мобильное меню, стрелки вперед/назад слайдера должны сменять слайды и т.д.

    По критериям - у каждого свои понимания о том что есть хорошо и плохо.

    Я руководствуюсь такими стандартами
    https://docs.google.com/document/d/1bZyzlhBvR1luYW...
    Ответ написан
    Комментировать
  • Какой JS фреймворк выбрать для full-stack?

    edli007
    @edli007
    full stack, team lead
    В свое время работал и с React\Redux, и Vue, и Angular.

    Зависит от задачь, наиболее удобным являеться React\Redux, при наличии человека что может вам настроить кастомный webpack, это просто сказка а не разработка.

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

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

    Ну если у вас, извините за слово, работают совсем дятлы, то выход для них один - Ember, этот фреймворк очень хорош, его основная идея состоит в бесприкословном следовании спецыфикации, игнорируя личные предпочтения программистов. Такой код очень удобно читать, поддерживать и вобще в долгосрочной перспективе он лучше всего, но сложность найти самих эмберщиков, высокий порог вхождения. Так что если у вас есть толпа людей, которые еще ничего не умеют и требуеться что-то сделать, заставьте учить их эмбер, тогда они сделают то что надо, какие бы кривые руки у них не были.
    Ответ написан
    8 комментариев
  • Cборщик для frontend'а?

    Zoxon
    @Zoxon
    Веб-разработчик
    Попробуйте мой бойлерплейт https://github.com/zoxon/gulp-front
    Pug, Stylus, Webpack, ES6, Gulp + Встроенный но не обязательный модульный CSS фреймворк на БЭМ.
    Ответ написан
    Комментировать
  • Хорошие каналы по вёрстке и фронтэнду?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Прям от сердца отрываю:
    1.Jilio Video.
    2.Jilio Stories.
    Ответ написан
    Комментировать
  • Предпринимательский подход к разработке и программированию - как развивать, что именно прокачивать?

    gobananas
    @gobananas
    finishhim.ru
    Программист - узконаправленный специалист который выполняет только 1 задачу. Ну пару смежных (сисадминистрирование, вёрстка).

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

    слепая печать

    На кой этот навык предпринимателю? Вы что машинисткой работать собрались?

    навыки решения типовых задач

    Предпринимателю нужен навык решения НЕ типовых задач ))

    доведенные до автоматизма

    Это тоже скилл исполнителя

    по настройке сервера, веб-дизайну, типографике итд.

    У вас бизнес в сфере дизайна? Если нет то дизайн и типографика не ключевые процесс - выбрасываем

    если коммерческий проект успешно работает на Yii 1, то его без веских причин никто не будет переписывать на Yii 2

    Проблема с поддержкой, сейчас найти человека который согласится работать на Yii1 уже сложнее, хотя у меня есть знакомые, которые не перешли на 2, далее кадровый дефицит заставит вас или перейти или работать с теми кто согласится
    Ответ написан
    5 комментариев
  • Лучший ресурс для изучения React?

    Judixel
    @Judixel
    Front-end Engineer
    Не совсем курс, но стоит посмотреть
    Ответ написан
    Комментировать
  • Английский с нуля?

    @evg_96
    Есть канал на YT "English Galaxy". На нем нсть плейлист 350+ уроков, вся грамматика. Каждый урок делится на два. Теория, потом по этой теории практика. Перевод предложений.
    Единственное что мне помогло самостоятельно начать изучать английский. Подобного я больше не встречал.
    На данный момент прошел пока что только 58 уроков, но результат просто удивляет. Самому не верится что так продвинулся...раньше вообще думал нереально мне выучить английский.
    На данный момент на практике перевел около 8000 предложений. Как по маслу все ложится, без какого либо напряга. + очень много новых слов во время теории изучается. Сейчас уже знаком с Present Simple, Past Simple and Future Simple.
    Через урок будет большая контрольная практика по 3м временам.
    В общем очень советую. можете почитать отзывы под любым роликом, 99.9% положительные. к тому же все абсолютно бесплатно. + недавно вышло приложение 5555 тестов по граматике
    Ответ написан
  • Какой код начать писать на JS?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Был в похожей ситуации чуть более года назад. Очень помогло вот это видео. После него меня "прорвало" в JS и смог уже что-то сам писать-сочинять...Попробуйте вдумчиво посмотреть это видео и написать обычный TodoList используя jquery, только сделать это самостоятельно. Потом конечно можно подглядеть в TodoMVC jquery и vanilla версии.(сначала jq- она легче). Дальше можно смотреть фрейморки( todolist делаем обязательно уже используя их), а потом уже думать про более-менее полезные приложения...Считаю, что такой путь самый гладкий вариант кривой обучения. Попытки сделать сразу нужный и полезный продукт, да еще и качественно, да еще и за деньги - это верный способ захлебнутся и не выплыть. Для подобных задач нужно окрепнуть и прокачать скилл. Всему свое время.
    Ответ написан
    5 комментариев
  • Какие задачи нужно уметь выполнять на JS начинающему?

    copist
    @copist
    Empower people to give
    Какие задачи нужно уметь решать на чистом JS, перед тем как переходить к изучению библиотек и фреймворков?


    Кроме синтаксических конструкций, математических и логических выражений, нужно знать:
    • Область видимости переменных
    • Замыкания
    • Объектно-ориентированное программирование, в частности наследование через прототипы
    • Шаблон проектирования "модуль"
    • Операции над DOM
    • Понимание принципов событийно-ориентированного программирования
    Важно - нужно знать, откуда копипастить.
    Тебе нужно быть очень хорошо знакомым с одной-двумя-тремя популярными библиотеками на JavaScript. В идеале ты должен иметь представление о том, что определённый класс задач может быть решен с помощью определённых библиотек, хотя бы одной, но такие знания приходят с практикой. Вообще ты должен быть знаком с ними так близко, чтобы помнить, в какой части мануала по библиотеке можно найти описание форматов входных данных нужной тебе функции и какой будет результат, чтобы скопировать и вставить в свой код, а потом поправить, чтобы работало.

    Важно - инструменты программиста JavaScript
    У тебя должен быть удобный инструмент для разработки (IDE, Integrated Development Environment), чтобы он тебе подсвечивал код (syntax highlight) и подсказывал о синтаксических ошибках (syntax check), о формальных параметрах функций (type hinting), о стиле кодирования (code style), помогал писать код (live templates).
    Ты должен знать, как отлаживать скрипты в популярных браузерах (Firebug, Chrome Developer Tools и другое). Что такое точки останова, как управлять исполнением во время останова, как посмотреть и поменять содержимое переменных, как настроить останов по условию.

    Хотелось бы узнать что это за задачи(упомянутые вами 80%)


    Реальные задачи джунов:
    1. Возьми из сборника задач по javascript любой скрипт случайно и вслух расскажи, что он делает.
      Важно - читать и понимать чужой код намного важнее, чем писать свой. И на работе тебе это приддётся делать чаще, чем ты думаешь. Чтобы подключить к своему проекту чужую JS либу, нужно понимать что она делает, как она конфигурируется, как управлять её поведением. Скажу точно, что написать свой скрипт, который строит графики, намного сложнее, чем понять, как настраивается highcharts.

    2. Напиши скрипт на JS, который в заданном тексте удалит один или два символа, выбранных случайно
      1. Усложнение: удалять можно только буквы в словах, а знаки пунктуации и цифры удалять нельзя
      2. Усложнение: принять, что этот текст является программной на Javascript, удалить одну-две команды JS, но только если они не в строковых литерах (break как команду удалить можно, а в строке "break my heart" нельзя)
      3. Усложнение: воспользуйся этим скриптом и "попорти" код какого-нибудь другого скрипта на Javascript, а потом отладь, найди ошибку и восстанови работоспособность
      Важно - этим обычно все и занимаются - ищут баги. Только в реальной жизни они и без этого скрипта появляются. И не по одному, а прям пачками.

    3. На страницу HTML нужно встроить график курса доллара по отношению к рублю. Формат входного массива значений курса определи сам, исходя из своего скрипта для построения графиков.
      1. Усложнение: на одном графике должны быть два курса, по разным шкалам. Наприме, курс доллара к евро и курс юаня к рублю
      2. Усложнение: первоначально график вывести в детализации по месяцам, но чтобы можно было "приблизить" (drilldown) детализацию до дней
      3. Усложнение: первоначально график вывести текущем месяце, но чтобы можно было загрузить данные для предыдущего месяца без перезагрузки страницы (AJAX)

    4. При клике по картинкам, вставленным в текст HTML, показывать всплывающее окно для просмотра увеличенной картинки.
      1. Усложнение: в всплывающем окне сделать навигацию по картинкам, вперёд/назад и к нужной картинке
      2. Усложнение: в всплывающем окне вместо картинки показать видео-ролик с Youtube
      3. Усложнение: в всплывающем окне показать текст HTML

    5. По клику на кнопку "Click me" показать всплывающую форму.
      1. Усложнение: реализовать проверку данных на корректность перед отправкой формы (непустое значение, минимальное количество символов, максимальное количество символов, минимальное числовое значение, максимальное числовое значение)
      2. Усложнение: если в значении текстового поля встретилась гиперссылка, то считать её за 22 символа при любой длине этой ссылки (как в твитере)
      3. Усложнение: реализовать отправку формы на сервер через AJAX, без перезагрузки страницы
      4. Усложнение: саму форму в виде HTML загрузить с сервера через AJAX, в момент клика по кнопке "Click me", правила проверок данных должны как-нибудь "извлечься" из самой загруженной формы, например из аттрибутов полей ввода

    6. К форме ввода данных на поле ввода даты "навешать" всплывающий календарь для выбора даты.
      1. Усложнение: сделать форму календаря мультиязычной. Хотя бы через настройки на том же JavaScript
      2. Усложнение: сделать так, чтобы с помощью календаря можно было выбрать диапазон дат, чтобы она была привязана к двум полям формы "дата начала" и "дата окончания", и чтобы значение в поле "дата начала" обязательно была меньше чем в поле "дата окончания"
      3. Усложнение: сделать так, чтобы с помощью в календаре можно было видно визуально этот диапазон
      4. Усложнение: диапазон может быть открытым, но не пустым, то есть пользователь должен задать хотя бы дату начала или дату окончания.

    7. Сделать пред-просмотр веб-страницы HTML с разными темами. Тему страницы выбирать через селектор на javascript, а показывать в фрейме.
      1. Усложнение: сделать селектор "тип устройства", чтобы менять размер фрейма (например, "iPhone 5c 1136x640") и "чекбокс" для смены ориентации страницы "горизонтальная" или "вертикальная" (соответственно 1136x640 или 640x1136)
      2. Усложнение: в селекторе тем предусмотреть поиск тем по подстроке, и аналогично поиск устройств по части названия (авто-дополнение, auto-complete)
      3. Усложнение: тема страницы должна меняться без перезагрузки фрейма



    Задачи повышенной сложности, исходя из личного интереса
    1. Реализовать форму для многошагового мастера: форма должна состоять из нескольких страниц (шагов), пользователь может переключать страницы через какие-нибудь элементы управления "вперёд/назад" или "перейти на страницу".
      1. Усложнение: реализовать функциональную связь значений, когда некоторые данные зависят друг от друга (ввёл число в поле "количество" и в поле "сумма" значение пересчиталось)
      2. Усложение: доступность некоторых полей ввода должна зависеть от данных (например, если указал "есть личный самолёт", то значит можно ввести "марка самолёта")
      3. Усложение: видимость некоторых страниц должна зависеть от данных из предыдущих страниц (например, если указал "есть личный самолёт", значит появилась страница "ТТХ самолёта"; иначе страница должна скрыться)

    2. Реализовать однопользовательскую браузерную игру "змейка", "тетрис", "найди пару"
    3. Реализовать многопользовательскую браузерную игру "крестики-нолики", "морской бой" на два игрока в режиме "hot seat"
      1. Усложнение: два игрока на разных компьютерах, ходы передаются по websocket
      2. Усложнение: ограничение на ожидания окончания хода 15 секунд, по окончании ожидания автоматически делается случайный ход

    4. Реализовать todo-list. Пользователь вводит список, затем он превращается в строки с "чек-боксами". Когда "чекбокс" включен, строка зачёркивается.
      1. Усложнение: пользователь может переименовывать, удалять, добавлять строки
      2. Усложнение: список хранить в localStorage браузера, чтобы при перезагрузке страницы он восстанавливался
      3. Усложнение: пользователь может иметь несколько независимых списков todo

    5. Реализовать простой графический редактор. Пусть рисуется точка в месте, где пользователь кликнул.
      1. Усложнение: добавить переключатель режимов "точка"/"линия", в режиме "линия" рисуются линии между двумя последовательно кликнутыми точками
      2. Усложнение: можно менять толщину, цвет линий, размер точек
      3. Усложнение: последовательность кликов можно воспроизвести ещё раз с самого начала, равномерно или с реальной задержкой между кликами, с обычной скоростью или ускоренно
      4. Усложнение: можно выгрузить получившийся рисунок в формате PNG или SVG, причём SVG c анимацией воспроизведения



    Можно использовать любую существующую библиотеку.
    Например,
    для построения графиков www.highcharts.com
    для загрузки и передачи данных через AJAX: jquery.com + что-нибудь на сервере
    для всплывающих диалогов с картиками, видео и формами: fancyapps.com/fancybox и https://jqueryui.com/dialog/
    для валидации форм rickharrison.github.io/validate.js
    для календаря https://jqueryui.com/datepicker/
    для автодополнения https://jqueryui.com/autocomplete/
    для передачи данных между несколькими пользователями socket.io или обычный AJAX
    Ответ написан
    16 комментариев
  • Как найти работу в сфере IT?

    divanus
    @divanus
    junior php bitrix python
    Никогда не поздно. Я всю жизнь в ИТ (основная работа всегда была сисадминство). Устал ужасно. Параллельно вел свои проекты, т.к. зарплата админов всегда невысокая. Приходилось и продавать и строить что-то и т.д. и т.п.
    Сейчас я переключился на программирование. Имея за плечами управленческий опыт в проектах, обширные знания в ИТ и бизнесе программирование становится уникальным.
    Конечно, соревноваться со школотой и студентами будет тяжело, т.к. они очень быстро говнокодят, но они не могут формировать всю картину целиком, они совершают ошибки школоты, а ты можешь на всем этом выходить имея более низкий порог воходной порог. И не бойся. Они реально тупее тебя по жизненному опыту. Ну, да, красиво, когда в блокноте или ide шке модной на рельсах бородатый студент посасывая смузи "что-то" делает и даже его рп не знает, что :)
    Но веселье заканчивается, когда ничего не работает, т.к. никто тз просто не прочитал или не участвовал в его разработке :)))))

    Вот смотри:
    например работа в оффлайне монтажником чего либо (антенны или стройка (окна, двери, сантехника, шитрок и т.п.) или кабеля медь оптика и т.п. ) ты в день получаешь от 1500 до 4000 руб. в редких случаях до 10000 руб. т.е. твой месячный доход на оффлайне работая руками от 20 тр. в несезон до 60 тр. в сезон. регион не важен.
    То же самое касается всех типов менеджеров по продажам:
    минимальный оклад опять же 10-20 т.р. + вшивые проценты с продаж и kpi завышенный, чтобы эти самые проценты у тебя были минимальными. те же 20-60 т.р.

    Теперь чисто ИТ:
    в админство идти не стоит - тупиковая ветвь развития, дорастешь до начальника ИТ в конторе среднего уровня и получишь кризис среднего возраста заранее. Расти то некуда, а в крупные проекты ты НИКОГДА не попадешь, там своих друзей и родственников хватает "управлять", значит ты рядовой админ 50-60 т.р. потолок. Если будешь суперлинуксоидом, то 80. И то это Питер и столица.

    Значит логично предположить, что ? ПРавильно - программирование.

    И вот тут у тебя открываются уникальные возможности.

    1. Все кругом говнокодят. ВСЕ. Напропалую.
    2. Мало кто ответственно выполняет работу.
    3. Херовые ТЗ т.к. ЛПР хотят одну кнопку, а те, кто пишут ТЗ сами в основном нихера не понимают.
    4. Море задач по автоматизации, которые никто толком не может решить. НА каждом углу. Любая.
    5. Не надо с молотком, отбойником или на телефоне с холодными звонками.
    6. Доступен фриланс.
    7. Направлений деятельности сотни. Сферы жизни - все.

    Программист, это самая на самом деле востребованная профессия. Особенно в нашем Арканаре, где толком ничего не автоматизировано.

    И так:
    фронтенд и бекенд
    ООП - вызубри, что это такое :)
    Языки php, js, java, python, c# и можно с++ немножко :)
    базы данных
    верстка - понимать как натянуть бутстрап на все и логику всего этого ... всегда можешь разобраться в бардаке
    Фреймворки - bitrix , yii и т.д. с десяток установи и делай на них микропроекты , пиши компоненты, модули
    берись за простой фриланс по наполнению контентом (а там обычно просят девочки решить задачки простые в которых формочки и пр. подбравить по html css) и развивайся
    на фрилансе 30 тр в мес сможешь поднимать более менее за пол года параллельно страдая херней в говноофосие менеджером.
    Рост и осваивай . Каждый день что-то пиши.
    Заведи git и туда все выкладывай. что делаешь.

    Всё.

    через 3-4 мес ежедневной работы по 2-3 часа в этом направлении пробуйся проходить собеседования :) брать не будут - но будет весело. Умные мужики прогеры тебе будут подсказывать, просто пообщаешься, поймешь, что к чему. И не ври. HR можно плести фигню без понтов, а с теми, кто будет по теме беседовать - просто говори, учусь, надо больше практики. Может кто-то фриланс предложит по мелочи.

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

    Не найдешь работу - так хоть может для текущей автоматизируешь что-то и шеф повысит :) и фриланс всегда подкармливает. Я 3,5 года безработный (и бизнесы свои все позакрывал) - выживаю содержа семью (3 детей) только за счет фриланса. Поверь, надо просто биться. С самим собой.
    Чтобы быть программистом - нужна лишь усидчивость ;) Это самая легкая профессия.

    999ed5fea1dc4485b8b8233d1d31cfff.gif
    Ответ написан
    7 комментариев
  • Какие есть "лучшие из лучших" библиотеки JS?

    LightAir
    @LightAir
    LA
    Мой небольшой список. Большинство из этого довольно часто использую.

    three.js - 3D графика
    sweetalert - Всплывающие предупреждения
    snapsvg - Анимация/манипуляция SVG
    pixijs - 2D движок с поддержкой WebGL
    Nape Physics Engine - 2D движок физики
    Clusterize.js - Плагин для отображения больших объёмов данных
    jsplumb - Визуализация связей
    toastr - Симпатичные уведомления
    elFinder - Файловый менеджер
    jQuery-Tabledit - Инлайн редактор таблиц
    Iconate.js - Трансформация/анимация иконок
    Paper.js - Фрейм для работы с векторной графикой
    Vue.js - Серьёзный конкурент Angular.js =)
    socket.io - Хорошая библиотека для работы с сокетами
    InstantClick - Предзагрузка страниц при наведении курсора на ссылку
    spin.js - Название говорит само за себя. Spin
    sigmajs - Построение/отображение графов
    validate - Валидатор форм
    select2 - Кастомный select с поиском, тегами и прочими полезностями
    Chart.js - Визуализация данных. Проще говоря графики на HTML 5
    Ответ написан
    Комментировать
  • Какой видеокурс по основам WordPress действительно стоит изучить?

    Evanre
    @Evanre
    Front-end developer
    Одни из лучших комплексных курсов у Teamtreehouse.com. Русскоязычные "курсы" не советую. Парни вроде webformyself занимаются продажей курсов для домохозяек типа "сайт за 20 часов", а не обучением. То же самое и на Youtube. Единственные 2 русскоязычных канала о wp которые смотрю Быть програмистом и wp-plus.
    Первый ориентируется на создание тем для Envato, правда фреймворк у него самописный и давольно старый\кривой.
    А вот wp-plus, он же CampusBoy (активный польpователь и контрибьютор ресурса wp-kama, тоже кстати советую) делает отличные видео. Не из разряда, "установите очередной плагин под мелкую фигню" (по типу WPRuse), а именно как правильно писать на WP. У него есть несколько отличных серий уроков (ContactForm7, CarbonFields и т.д.),. Канал молодой и очень маленький, но автор просто молодчина :)
    Ответ написан
    Комментировать
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    @Plus3x
    c10c573f52694badb316d1aa222bc323.png
    Ответ написан
    Комментировать
  • Как реализовать поиск до нужной позиции?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Найти значение «нужной позиции», взять подстроку исходной до этой позиции, искать в этой подстроке:
    function search( search, subject, before) {
      var limit = subject.indexOf( before);
      if( limit == -1) return -1;
      return subject.substr(0, limit).indexOf( search);
    }
    
    search( 'строка 2', 'строка 1 строка 2 строка 3 строка 4',  'строка 3') // 9


    upd. из комментариев. Если известна позиция, до которой искать, то ещё проще: str.substr(0,41).indexOf('что ищем')
    Ответ написан
    3 комментария
  • Что за сокращения в циклах for?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    u>>=1 - u = Math.floor(u / 2).
    u&1 - u % 2.
    u<1<<c - u < Math.pow(2, c).
    Ответ написан
    Комментировать