• Развитие навыков в JavaScript?

    Jeiwan
    @Jeiwan
    Устройся на работу – это самый лучший вариант обучения. И это единственная возможность получить опыт в решении конкретных прикладных задач, за которые и платят деньги. Если хорошо знаешь верстку, то, думаю, тебе не проблема будет устроиться верстальщиком с перспективой развития до фронт-энд разработчика — довольно часто ищут не матерых спецов, а людей с горящими глазами, желающих развиваться.
    Нет смысла тратить годы на подготовку. Поищи вакансии, походи на собеседования, посмотри, что тебе нужно подтянуть, подтяни. Устроишься на работу — и навыки пойдут в гору.
    Ответ написан
    2 комментария
  • Под какие основыные размеры настраивать CSS @media screen?

    hector2009
    @hector2009
    Frontend Developer
    Всегда использую эти( это старые брэйкпоинты bootstrap по умолчанию ):

    /* Large desktops and laptops */
    media (min-width: 1200px) {

    }

    /* Portrait tablets and medium desktops */
    media (min-width: 992px) and (max-width: 1199px) {

    }

    /* Portrait tablets and small desktops */
    media (min-width: 768px) and (max-width: 991px) {

    }

    /* Landscape phones and portrait tablets */
    media (max-width: 767px) {

    }

    /* Landscape phones and smaller */
    media (max-width: 480px) {

    }

    По надобности дописую промежуточные разрешения, если вдруг по дизайну что то падает на 650px, тогда дописую:

    media (max-width: 650) {

    }
    Ответ написан
    2 комментария
  • Под какие основыные размеры настраивать CSS @media screen?

    Bandicoot
    @Bandicoot
    Вась-программист
    Для себя обычно беру наиболее распространенные (desktop first):
    1200px
    992px
    768px
    480px
    320px
    Ответ написан
    5 комментариев
  • Как не волноваться на собеседовании?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Ходить на «тренировочные» собеседования раз в полгода, чтобы это не казалось чем-то из ряда вон выходящим.
    Ответ написан
    3 комментария
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    MegaMufa
    @MegaMufa
    Я бы посоветовал вам устроиться на некоторое время работать в офис. Работа в команде очень сильно помогает поднять свой уровень. В этом есть несколько плюсов:
    1. У вас всегда под рукой есть ментор, который может подсказать как решить поставленую перед вами конкретную задачу. Знания, получаемые таким образом, усваиваются намного лучше. Вы лучше понимете, как применять свои навыки.
    2. К окманде работает несколько человек, каждый со своим мнением и кругозором. Общение на обеде, за кофе и на обсуждениях проектов поможет ваам расширить свой профессиональный кругозор. Вы узнаете про многие технологии. В данный момент они вам не понадобытся, но вы будете знать о них, во время принятия решений в будущем.
    3. Устраиваясь на работу в офис стажером (или новичком, в общем неопытным специализстом), вы ставите в известность своего работодателя. Он в замен на пониженый оклад (у начинающего программиста ЗП, конечно ниже), помогает вам обучаться, выделяя вам ментора и давая практику.
    4. Вы преобретаете опыт решения реальных кейсов. В дальнейшем вы будете знать, как решается большинство типовых задач.
    5. В спокойной, но реальной обстановке получите опыт обучения "на лету" и поиска нужного материала.

    Я, когда начинал, тоже страдал такой проблемой. Год работы в комманде из 7 программистов стал для меня сильнейшим рывком. За этот год я поднялся больше, чем за предядущие три года самообучения. Поработал, получил опыт (и кучу положительных эмоций от общения с коллегами), потом спокойно перешел на удаленку.

    Мой вам совет: поработайте некоторое время в команде.
    Ответ написан
    6 комментариев
  • Нужно ли использовать var при обьявлении переменной если я не собираюсь использовать её вне текущей зоны видимости?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    1. Переменную невозможно объявить без var.
    2. При выполнении операции присвоения без указания var производится поиск переменной с таким именем по цепочке контекстов и, при отрицательном результате, создаётся свойство глобального объекта. При использовании use strict в последнем случае будет выброшено исключение.
    3. Свойство удалить можно, переменную нельзя.
    Ответ написан
    Комментировать
  • Для чего используется этот css код?

    Kater-auf-Dach
    @Kater-auf-Dach
    Никого не трогаю, починяю примус, верстаю...
    Почитайте про clearfix. Так очищают поток при использовании плавающих элементов.

    Дополню ответ:
    Это часть micro clearfix hack Галлахера
    Собственно, код:
    /**
     * For modern browsers
     * 1. The space content is one way to avoid an Opera bug when the
     *    contenteditable attribute is included anywhere else in the document.
     *    Otherwise it causes space to appear at the top and bottom of elements
     *    that are clearfixed.
     * 2. The use of `table` rather than `block` is only necessary if using
     *    `:before` to contain the top-margins of child elements.
     */
    .cf:before,
    .cf:after {
        content: " "; /* 1 */
        display: table; /* 2 */
    }
    
    .cf:after {
        clear: both;
    }
    
    /**
     * For IE 6/7 only
     * Include this rule to trigger hasLayout and contain floats.
     */
    .cf {
        *zoom: 1;
    }
    Ответ написан
    4 комментария
  • Что почитать по тестированию в JavaScript?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Верстка в Linux?

    Проблема с PS решается установкой винды в VirtalBox + еще парочка виртуалок под любимый IE. В остальном от linux одни только плюсы. Хотя для связки html/js/css не так уж и важна ОС.

    P.S. В VirtalBox попробуйте режим seamless mode
    Ответ написан
    5 комментариев
  • С чего начать написании игры 2048 на JavaScript?

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

    Конкретно по вопросу: создать объект игрового поля (сетки), описать события для управления в игре, сделать игровые состояния (победа, проигрыш, в процессе). Потом можно уже колдовать над функцией добавления новой ячейки в поле, которая размещается в любую свободную клетку (например, на подходах к 2048 увеличить вероятность появления новой ячейки к самым крупным и т.п.).
    Ответ написан
    Комментировать
  • Альтернатива Photoshop в Ubuntu для front-end разработчика?

    Odinokun
    @Odinokun
    А вот сегодня LoftBlog выпустил урок по нормальной установке Photoshop в Ubuntu.
    ТЫЦ
    Ответ написан
    1 комментарий
  • Grunt vs Gulp vs Prepros vs Codekit?

    zooks
    @zooks
    Frontend
    Лично мне нравится Grunt.
    Gulp не пробовал.

    UPD: Gulp чуть сложнее в настройке, чем Grunt. Но более скоростной. Какой из них использовать - дело вкуса.
    Ответ написан
    Комментировать
  • Альтернатива Photoshop в Ubuntu для front-end разработчика?

    jidckii
    @jidckii
    system administrator
    В виртуалке на убунте гоняю вин7 на ней фотошоп. Лучшего решения нет ))
    Ответ написан
    Комментировать
  • Альтернатива Photoshop в Ubuntu для front-end разработчика?

    @zugo
    Как вариант - Photoshop под Wine (медленно и глючно).
    Нет альтернатив, фотошоп единственный в своем роде. Даже GIMP, с которым его часто сравнивают, в подметки ему не годится.
    Ответ написан
    Комментировать
  • Какие привычки могут сэкономить время?

    engine9
    @engine9
    Разрабатываю интерфейсы и трехмерные презентации.
    ✲ Нарисовать mind-map с деревом каталогов и пересортировать файлы на компе в соответствии с ней. Пожалуй лучшее что я придумал для организации файлов.

    ✲ Создать для самого себя сценарии ведения проектов и записать их куда-то. Например, при создании нового проекта все данные от заказчика складываем в каталог "задание", а все рабочие файлы держим в "SRC". И тому подобное. Главное — выработать привычку.

    ✲ Делать регулярно бэкапы, автоматизировать этот процесс.

    ✲ Автоматизировать любую рутинную деятельность, и придумывать "pipeline" для однотипной работы, говоря по-другому сделать конвейер для рутинных операций. Способ экономящий больше всего времени.
    Ответ написан
    1 комментарий
  • Какие привычки могут сэкономить время?

    GavriKos
    @GavriKos
    - не ставить знаки препинания в сообщениях (sms, соцсети, мессенджеры);
    - сокращать некоторые слова и выражения;

    Это не лайфхаки. Это неуважение к собеседнику. А экономия - копеечная в данном случае.
    Ответ написан
    Комментировать
  • Что интересного есть в вашем стандартном шаблоне?

    bukinion
    @bukinion
    Начал бы с того, что подобные сниппеты идеально хранить, шарить и даже командно работать в Gist (от GitHub), у Gist, кстати есть приложение на Хром (работает и оффлайново, что плюс), он легко встраивается в Sublime, и даже есть в Web Storm. Воркфло изрядно ускоряется с этим.

    подсветка полей... в приведенных примерах для полноты не хватает select, кто-то забывает button)) Главное, что бы при переписывании нативного outline для :focus, для него находилась замена. Прежде всего потому что будет страдать accessibility.

    более полный перенос слов:
    @mixin word-wrap() {
          -ms-word-break: break-all;
          word-break: break-all;
          word-break:     break-word;
          -webkit-hyphens: auto;
          -moz-hyphens:    auto;
          hyphens:         auto;
    }


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

    <html lang="ru"></html>

    Добавить язык.

    Или наоборот в случае когда на необходима только одна строчка текста:

    .truncate {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


    Вообще типографику люблю, поэтому есть и такое еще:

    .like-inline:after {
    	content: '\A';
    	white-space: pre;
    }


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

    dl
         dt Артикул
         dd 1729110 
         dt Рост
         dd 164


    Или нужно ряд ссылок оформить как список.

    Класс для инлайн-блоков (что-то их недоиспользуют, а они намного круче float):

    .ib {
         display: inline-block;
         vertical-align: top;
         zoom: 1;
         *display: inline;
    }
    Ответ написан
    Комментировать
  • Что интересного есть в вашем стандартном шаблоне?

    @bogomazov_vadim
    Не знаю насколько интересно, но может кому пригодится. Частями найдено на просторах интернета, использую в своем template + normalize.
    Заменяем длинный текст placeholder многоточием:
    input[placeholder]          {text-overflow:ellipsis;}
    input::-moz-placeholder     {text-overflow:ellipsis;} 
    input:-moz-placeholder      {text-overflow:ellipsis;} 
    input:-ms-input-placeholder {text-overflow:ellipsis;}

    Скрываем placeholder при фокусе:
    :focus::-webkit-input-placeholder {color: transparent}
    :focus::-moz-placeholder          {color: transparent}
    :focus:-moz-placeholder           {color: transparent}
    :focus:-ms-input-placeholder      {color: transparent}

    Курсор для label + отмена раздражающего выделения при клике:
    label {
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        -o-user-select: none;
        user-select: none;
    }

    Только вертикальный ресайз для textarea (horizontal часто ломает диз):
    textarea {
    	resize: vertical;
    }

    Убираем дефолтный курсив у address:
    address {
    	font-style: normal;
    }

    Убираем подсветку полей:
    input:focus,
    textarea:focus {
    		outline: none;
    }

    Адаптивные img:
    img {
    	height: auto;
    	max-width: 100%;
    	width: auto\9;
    }

    Адаптивные видео:
    .video {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }
    .video iframe,  
    .video object,  
    .video embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    Перенос слов:
    .break-word {
            word-wrap: break-word;
    }

    Обнуляем списки глобально, т.к. часто используется для навигации и проч., в области контента можно задать другие стили.
    ul {
    	list-style: none;
    	margin: 0;
    	padding: 0;
    }

    Нумерованный список с подпунктами:
    ol {
    	counter-reset: list1;
    
    	li:before {
    		counter-increment: list1;
    		content: counter(list1) '. ';
    	}
    
    	ol {
    		counter-reset: list2;
    
    		li:before {
    			counter-increment: list2;
    			content: counter(list1) '.' counter(list2) '. ';
    		}
    
    		ol {
    			counter-reset: list3;
    
    			li:before {
    				counter-increment: list3;
    				content: counter(list1) '.' counter(list2) '.' counter(list3) '. ';
    			}
    		}
    	}
    }


    update дополнительно стили для печати

    P.S. Что-то конечно юзается не всегда, по желанию лишнее удалить, замечаниям и критике буду рад.
    Ответ написан
    5 комментариев