• Как вы систематизируете полученные знания?

    iam_not_a_robot
    @iam_not_a_robot
    Не копим знания, сразу используем в деле. Выучили новую технологию - сразу мутите проект на этой технологии.
    Ответ написан
    5 комментариев
  • Как вы систематизируете полученные знания?

    moropsk
    @moropsk
    Использовал следующие инструменты в качестве базы знаний:
    1. OneNote (из пакета Office). Быстрый экспорт заметок.
    2. Для сохранения прочитанного в интернете использую ресурс https://raindrop.io
    Ответ написан
    1 комментарий
  • Верстать без фреймвороков это значит быть не професионалом?

    Верстаем мы всегда с макета.
    Я не говорю о таком кейсе как собрать админку из компонентов бутстрапа по прототипу - это как раз самое правильное его использование.

    Так вот от макета мы очень сильно зависим.
    Если дизайнер потрудился хотя бы использовать сетку, то сетка и система breakpoints из Botstrap (4 версия, на scss) нам очень поможет. Если дизайнер идиот - не поможет ничего.

    В моем шаблоне проекта сетка и брекпоинты есть по умолчанию. Так же как некоторые helper-классы.

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

    Насколько классы предлагаемые бутстрапом впишутся в общий стиль проекта?

    Насколько мы облегчим поддержку проекта, перекостылив под дизайн половину того что взяли от бутстрапа, а 2/3 проекта написав своими стилями?

    Я видел как по дефолту суют
    bootstrap.min.css
    bootstrap-theme.min.css
    bootstrap.min.js
    потом в отдельном файле переопределяя и дописывая все что нужно. Целый мать его bootstrap.min.js из которого использовалось только меню-бутерброд!

    Видел целую коллекцию костылей, перемотанную изолентой чтобы было как в дизайне.

    И что, насколько я новичёк и максималист с моей библиотекой миксинов (документированных, в т.ч. из бутстрапа), scss файлами, разнесенными по блокам и BEM-подходом к наименованию классов?
    С опрятным css на выходе и инструкцией-рекомендацией как и зачем всё же использовать препроцессоры.

    Таким образом, присоединяюсь к ответам Сергей и Serj-One . Каждой задаче - свой инструмент.
    А поддерживать легко не столько код где использовался фреймворк (особенно в контексте css), а код, где использовалась голова.

    P.S. Вот ещё достойное мнение например:https://gist.github.com/iAdramelk/d328b73c72cab92ef95f
    Ответ написан
    Комментировать
  • Верстать без фреймвороков это значит быть не професионалом?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Быть профессионалом - значит знать и правильно применять необходимые инструменты для наиболее эффективного решения задачи. А также НЕ применять, если в этом нет необходимости.
    Ответ написан
    4 комментария
  • Верстать без фреймвороков это значит быть не професионалом?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    Новички поступают как раз наоборот, т.е. лепят тот же бутстрап всюду, независимо от того, нужен ли он там на самом деле.
    Дело в том, что css фреймворки - скорей инструмент прототипирования, нежели основа проекта.
    Их применение оправдано в проекте без дизайна, какой-то технической вёрстке, админке, и т.д. Но в большинстве проектов с уникальным дизайном они попросту неуместны.
    Верстай с нуля, и не парься. Это будет только плюсом, наберёшься опыта.
    Ответ написан
    2 комментария
  • Лучшие практики по frontend?

    @codemix
    Frontend junior
    Сам начал не давно изучать JS, читаю Выразительный JavaScript за одно смотрю ролики Sorax
    Ответ написан
    Комментировать
  • Какой наиболее рациональный способ распределения памяти?

    aminought
    @aminought
    Я бы поставил винду на 500, убунту на 250, а внешний - для бэкапов. Для экспериментов можно откусывать и от первого, и от второго диска в зависимости от занятого места.
    Ответ написан
    Комментировать
  • Лучшие практики по frontend?

    @teslor
    Я бы не рекомендовал Флэнагана начинающим, это скорее уже чтобы углубить знания.
    Из русскоязычных в качестве базы можете использовать только 1 ресурс - learn.javascript.ru.
    По CSS почитайте про способы организации CSS-кода (MCSS, БЭМ, OOCSS и т.д.), изучите PostCSS, статей по ним много и вы их легко найдете.
    Ответ написан
    11 комментариев
  • Какова лучшая практика организации структуры сайта?

    @Q2art
    Пишу на HTML5, CSS, Javascript в свободное время.
    Сделайте коллаж картинок котиков, а при наведении на них вслывающую таблицу с описанием. Успех гарантирован.
    Ответ написан
    3 комментария
  • Знаете ли вы программистов которые в одиночку создали крутой проект?

    @asd111
    Google - два парня Сергей Брин и Ларри Пейдж
    Facebook - начал Марк Цукерберг
    Instagram - два парня, один делал приложение для iPhone, другой делал сайт, потом заработали расширились
    MsDOS - первую версию сделал один человек, потом Баллмер у него купил за 50 000 $ и права перешли Microsoft
    Nginx - начал Игорь Сысоев
    Компьютер Apple I - дело рук Стива Возняка
    Linux - начал Линус Торвальдс
    Git - начал Линус торвальдс
    Redis - Salvatore Sanfilippo ( antirez )
    Minecraft - начал Маркус Перссон ( также известный как notch )
    Dropbox - начал Дрю Хьюстон
    Shadertoy - создан Iñigo Quilez ( также известен как iq )
    C++ - начал Бьёрн Страуструп
    Python - Гвидо ван Россум
    PHP - Расмус Лердорф

    SimplaCMS - начал один человек
    DLE CMS - начал один человек
    TYPO3 CMS - начал один человек

    P.S. ответ редактировался и дополнялся
    Ответ написан
    20 комментариев
  • Сколько принес Ваш open-source проект?

    tikhonov666
    @tikhonov666
    iOS, Swift, Objective-C
    Я думаю тот кто участвует в open-source проектах, в первую очередь делает это ради идеи и/или опыта. Материальная составляющая тут не главное.
    Ответ написан
    3 комментария
  • Как создавать архитектуру JavaScript приложений?

    @aterentyev
    Почитайте "Совершенный код" от Стива Макконнелла
    Лучше и полнее книги на эту тему я не видел.
    Ответ написан
    Комментировать
  • Как создавать архитектуру JavaScript приложений?

    @xom9lk
    Правильная и масштабируемая архитиктура:
    Смотри в сторону Backbone addyosmani.github.io/backbone-fundamentals
    Еще есть именно архитектура: Flux
    https://facebook.github.io/flux/docs/overview.html
    Не подумай ничего плохого, отличная статья))):
    blog.andrewray.me/flux-for-stupid-people
    Ответ написан
    Комментировать
  • Html тег h1 текст разной высоты?

    Kublyakov
    @Kublyakov
    Самый простой способ как-то так:
    <h1>Настройка
        <span class="first">контекстной рекламы </span>
        <span class="second">Яндекс Директ и Google AdWards</span>
    </h1>

    h1 {
        .....
    }
    .first {
        .....
    }
    .second {
        .....
    }
    Ответ написан
    Комментировать
  • Как создавать архитектуру JavaScript приложений?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Паттерны в JS уже прочитали?
    Возможно, вы не уделяете внимание рефакторингу по мере написания приложения. Про рефакторинг можно много читать, например вот
    Ответ написан
    Комментировать
  • Какие задачи нужно уметь выполнять на 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 комментариев
  • Как вы начинаете вёрстку сайта?

    Обычно все начинается с критики в адрес дизайнера...это единственное отличие моей методики от вышеуказанных способов)
    Ответ написан
    Комментировать
  • Как вы начинаете вёрстку сайта?

    torrie
    @torrie
    Всё знаю, всё умею
    В первую очередь делаю сброс css-стилей.
    Затем делаю вёрстку общих блоков - просто структура из div'ов с нужными ширинами, высотами согласно макету, залитых разными цветами. Стараюсь все div'ы(когда что-то в строчку) делать inline-block'ами. Получается цветная такая структура будущего сайта. Каркас готов.
    NDrl9VkCyDvemP.jpg

    Начинаю углубляться в каждый блок - располагать в нём нужные элементы. В зависимости от сложности их расположения делаю какие-то блоки position:relative, но чаще всего всё упирается просто в отступы.
    Ответ написан
    3 комментария
  • Как вы начинаете вёрстку сайта?

    dunmaksim
    @dunmaksim
    Технический писатель
    1. Создаю каталог для проекта
    2. Инициализирую Bower
    3. Устанавливаю нужные пакеты, например, Twitter Bootstrap, Angular, jQuery и т.д.
    4. Ставлю Grunt, плагины для него и т.д.
    5. Запускаю EMACS и создаю index.html
    6. С помощью Emmet создаю шаблон, который уже начинаю заполнять.
    7. В каталоге src создаю папки less, js и т.д.
    8. Попутно пишу задачи для Grunt
    9. Если в выбранном фреймворке не хватает какого-либо класса для стилизации элемента, сначала описываю стили прямо в шаблоне, в свойстве style. Затем при необходимости выношу их оттуда в LESS в виде одного или нескольких классов.
    10. ??????????
    11. PROFIT!!!
    Ответ написан
    15 комментариев
  • Существует ли красивый linux, но не ubuntu?

    @Eddy_Em
    Линукс — он для работы, а не свистоперделок.
    Если нужны свистоперделки, но не хочется вирусов, то есть макось.
    А если хочется в игрульки гонять, есть специальная прошивка для игровых приставок, в народе вындовьсом кличут.
    Ответ написан
    Комментировать