• Какой стул для работы лучше?

    profesor08
    @profesor08
    1. Это важно! Плоская и мягкая, но с плотным поролоном сидушка. Она дольше не помнется и в жопу ничего врезаться не будет. Можно подогнуть ногу и тоже ничего не врежется. Если по бокам есть некие приподнятости, то они не мешают.
    2. Спинка ровная и высокая, захочется откинуться, сможешь нормально откинуться. Если есть небольшая подушка под голову, это тоже хорошо и удобно. Если по бокам есть выступы, то они не на что не влияют, кроме фиксации, мне удобно, можно бочком сесть.
    3. Подлокотники мягкие или жесткие не важно, мне жесткие дискомфорта не доставляют. Зато важно чтоб их можно было отрегулировать по высоте. Это киллер фича при прочих равных. Если крутятся в бок тоже хорошо, но это не что-то мега важное, и без этого нормально.
    4. Обивка. Если кожа или заменитель, то жопа и спина будут постоянно мокрыми, особенно летом. Если обивка тканевая, то потеешь гораздо меньше, но, хотя бы раз в год, надо будет нести в химчистку или самому хорошенько драить.
    5. Вес, чем кресло тяжелее, тем надежнее, прочнее, ничего не разболтается.
    6. Газлифт. Бери тот, который для веса большего чем твой, дольше прослужит, хотя они стандартизированные и можно заменить.
    7. Механизм качания. Для меня это ненужная вещь, а порой даже вредная. Стоит на мгновение забыть и резко откинуться на спинку, так сразу ловишь прикол эффекта падения. Поэтому вырубаю.
    8. Колесики. Ну тут ничего лучше не придумали для массового сегмента, так что, иногда пятка может оказаться сбитой.

    P.S. Все это стоит денег, но если раньше вместо кресла бы стул, то кайфанешь от любого. А если было кресло, но хочется что-то получше, то вон мой список субъективных критериев. Ведь вещь ты покупаешь для себя, и пользоваться ей будешь постоянно.
    Ответ написан
    Комментировать
  • Бесплатный хостинг для проекта на nodejs + mongodb?

    SynCap
    @SynCap
    Делаю интернет с 1998 года
    Сloud9

    + Бесплатно - один персональный проект, неограниченно - открытых

    + Домен свой можно прикрутить, а по-умолчанию на халяву - есть домен 3го уровня

    + своя IDE - можно рулить с планшета, не имея под рукой ничего кроме браузера, особая фишка - позволяет одновременную параллельную работу в несколько рыл

    + дружит с GitHub-ом, BitBucket-ом и Google Cloud Platform.

    + Виртуалки - Ubuntu c SSH (были, по крайней мере раньше) в который можно и не лезть - все рулится через веб-морду или код.

    UPD

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

    Хорошей халявы (м-да, умею же сказать) тоже не осталось. Из надежных бюджетных решений могу порекомендовать облачный VPS для разработчиков от VScale (подразделение Selectel). Хороший и шустрый сервер с SSD, собственным ДНС и платой в месяц как 2 чашки кофе в придорожной забегаловке. 5 лет пользуюсь -- полёт нормальный.

    UPD 2021

    - netlify.com - 3 года кайфа
    -vercel.app- простота и мощнота
    - repl.it - есть ништяки про Питонов, Го и ещё куча всего. Крутота
    все умеют тащить в автомате с ГтиХаба, а Нетлифай ещё и с ГитЛаба и Битбакета: просто пушишь в master и, бам-бара-бам але хоп - вуаля! -- все в продакшене, всё на халяву, можно прикрутить свой домен у всех.
    и
    - конечно же -- VScale!!! -- полный контроль и -- 8 лет, полёт нормальный

    Welcome.
    Ответ написан
    2 комментария
  • Как в БЭМ называют вложенные элементы во вложенных?

    wapster92
    @wapster92
    Не может быть у элемента элементов, либо создаешь новый элемент или новый блок.
    .user__img
    .user__header
    .user__text
    .user__btn

    А так вопрос из разряда, прочтите за меня документацию в которой все разжевано
    Ответ написан
    2 комментария
  • Вёрстка - фронтенд или бекенд?

    RAFAILgaley
    @RAFAILgaley
    верстка это UI
    620bd87c2774a353423019.png
    Ответ написан
    Комментировать
  • Пример хорошего ТЗ/гайдлайна для вёрстки?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Основные требования: здесь
    Примеры стайл-гайдов: здесь

    1. Требования к вёрстке: здесь, здесь, здесь, здесь
    2. Как проверять качество вёрстки: здесь.
    3. Как определять стоимость (трудозатраты) вёрстки одной унифицированной страницы: здесь.
    4. Требования к дизайнеру: здесь и здесь.
    5. Пример документации (генератор шаблона, Helix3 для CMS Joomla!): здесь
    6. Готовые "скелеты" шаблонов HTML5 для начала вёрстки: простой (с поясняющими комментариями), www.initializr.com (ещё 3 простых) и максимально полный html5boilerplate.com.
    7. Вопросы на вакансию верстальщика (front-end developer): здесь

    Бонус по-теме: Turning Design Mockups Into Code With Deep Learning
    Ответ написан
    3 комментария
  • Почему не работает gulp-webp-html?

    @NFI
    В доке изначально подключают просто картинку просто тегом img. А галп ее сам оборачивает в picture. Ну это судя по доке https://www.npmjs.com/package/gulp-webp-html. Я бы еще подключил gulp-webp, чтобы картинки преобразовывать в нужный формат
    Ответ написан
    1 комментарий
  • Какой посоветуете стартер-кит для верстки?

    @uroot
    Я пользуюсь этими двумя:
    gulp-scss-starter
    OptimizedHTML-4
    Правда в обеих нет HTML шаблонизатора
    Ответ написан
    Комментировать
  • Как работает normalizr?

    Jukk
    @Jukk
    уменьшает вложенность объектов

    https://habr.com/ru/post/332628/

    3. Плоские структуры (flatten store)

    Такую структуру легко читать, легко бегать циклом foreach по проектам, рендерить подкомпоненты со списками слоев и так далее. Но предположим, что нужно поменять название страницы с id:1. Внутри некоторого маленького компонента, который отрисовывает страницу, вызывается $store.dispatch(«changePageName»,{id:1,name:«new name»}). Как найти место, где в этой глубоко вложенной структуре лежит нужный page с id:1? Пробегать по всему хранилищу? Не лучшее решение.
    Ответ написан
    Комментировать
  • Как сделать правильно ajax запрос в React Redux?

    @vsuhachev
    Т.к. ajax запросы асинхронные то на каждый такой запрос делается 3 ветки развития событий:
    • запрос отправлен
    • запрос завершился успешно
    • запрос завершился с ошибкой


    В коде это будет выглядеть как-то так
    export function loadInfo() {
        return dispatch => {
    
            dispatch({
                type: 'LOAD_INFO_REQUESTED'
            });
    
            request.get(
                Routes.root_path(),
                {headers: {'Accept': 'application/json'}}
            )
                .then(result => {
                    dispatch({
                        type: 'LOAD_INFO_OK',
                        info: result.data
                    })
                })
                .catch(result => {
                    dispatch({
                        type: 'LOAD_INFO_FAIL',
                        errors: result.statusText
                    })
                })
        }
    }

    Т.е. сначала экшн оповещает хранилище(store) что начал запрос и делает сам запрос. Далее в зависимости от результата хранилище будет оповещено либо от успехе либо об неудаче.
    Чтобы получить доступ к dispatch внутри экшена используется redux-thunk, который вы уже установили.

    Далее редуцер, обрабатывается 3 типа событий из экшена
    const defaultState = { loading: false, info: null, errors: null };
    
    export default function info(state = defaultState, action) {
      switch (action.type) {
    
        case LOAD_INFO_REQUESTED:
          return { loading: true };
    
        case LOAD_INFO_OK:
          return { loading: false, info: action.info, errors: null };
    
        case LOAD_INFO_FAIL:
          return { loading: false, info: null, errors: action.errors };
    
        default:
          return state;
      }
    }


    Компонент должен быть подключен к хранилищу с помощью connect, без него компонент не увидит store
    @connect(state => ({
        info: state.info
    }))
    
    class Info extends Component {
    
        componentDidMount() {
            const { dispatch } = this.props;
            dispatch(loadInfo()) // Вызываем загрузку
        }
    
      render() {
        const { loading, info, errors } = this.props.info;
    
        if (loadind) { return (<div>Loading</div>) }
        if (errors != null) { return (<div>Error!</div>) }
        return (
          <div>
            { info }
          </div>
        );
      }
    }


    Вобщем как-то так. В хэлпе на redux это все описано.
    Ответ написан
    5 комментариев
  • В чем суть такой записи в reset.css?

    nowm
    @nowm
    Это специфичное для blockquote определение, которое Eric Meyer (автор reset.css) позаимствовал у Paul Chaplin. Первая строка content: "" делает так, чтобы у blockquote исчезли кавычки — на случай, если вторая строка content: none не поддерживается браузером, потому что первая строка — это CSS 2, а вторая — это CSS 2.1. В одну строку их записать нельзя, потому что по стандарту для свойства «content» нельзя комбинировать ключевые слова «normal» и «none» с другими значениями.

    Вообще, когда встречается перечисление одного и того же свойства с разными значениями, это делается для того, чтобы обеспечить совместимость с разными браузерами. То есть, если, например, браузер не поддерживает «content: none», он применит «content: ""», а другую запись проигнорирует.

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

    .some-class {
        background: #e66465;
        background: linear-gradient(#e66465, #9198e5);
    }


    В этом коде, если браузер поддерживает градиентный фон, он сначала прочитает, что нужно использовать цвет «#e66465», а потом это перезапишется записью «linear-gradient», и итоговое значение будет «linear-gradient(#e66465, #9198e5);». Если же браузер не поддерживает градиент, он сначала прочитает, что нужно использовать «#e66465», а потом увидит неподдерживаемое определение «linear-gradient», проигнорирует его, и итоговое значение будет «#e66465».
    Ответ написан
    Комментировать
  • Какие проекты запрещено писать на React по лицензии?

    vabka
    @vabka
    Токсичный шарпист
    React использует MIT лицензию => никаких ограничений нет.

    Хз откуда эта байка пошла (может так было, когда реакт только вышел, хз)
    Ответ написан
    4 комментария
  • Зачем программисту работать на кого-то?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Познав дзен программирования, вам еще нужно будет познать дзен администратора, дзен экономики, дзен управленца, дзен маркетолога, дзен продажника.

    Есть еще и промежуточные дзены, например что жрать, пока познаете дзен.
    Ответ написан
    Комментировать
  • Должен ли WEB-разработчик уметь настраивать VPS/сервер?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Чем больше знаешь, тем больше профессионал.
    Ответ написан
    Комментировать
  • Должен ли WEB-разработчик уметь настраивать VPS/сервер?

    Aetae
    @Aetae
    Тлен
    Знать как работает и уметь боль-мене понять конфиг того же nginx - да. Без этого часто может быть грустно. Даже если именно настраивать не придётся ни разу.

    Уметь именно правильно настраивать - нет. Это задача админа(девопса). Там на самом деле тонкостей и сложностей очень и очень много. На отдельную должность, ага, и не одну.
    Ответ написан
    3 комментария
  • Должен ли WEB-разработчик уметь настраивать VPS/сервер?

    Adamos
    @Adamos
    Вопрос "должен ли" - всегда идиотский. Никто никому ничего не должен. В частности, нанимать и платить.
    Если вы такой крутой фронтендер, что вас ценят именно на этом фронте настолько, чтобы работодателю было жалко тратить ваше ценное время на настройки, он лучше наймет девопса - скорее всего, вам это все не понадобится.
    Но как можно стать крутым специалистом, вообще не интересуясь настолько смежными областями? Я не знаю.
    Вы такими сомнениями и прикидками сами себе ограничиваете рост статусом веб-макаки, которую можно только посадить в опенспейс на узкоспециализированную работу и до настройки серверов просто не допускать. Зато - "не должен", да...
    Ответ написан
    3 комментария
  • Gulp-sass не работает, что за проблемма?

    @alekcena
    Нелинейный наставник
    Вот проблема она описана и показаны причины в Message:
    gulp-sass 5 does not have a default Sass compiler; please set one yourself.
    Both the `sass` and `node-sass` packages are permitted.
    For example, in your gulpfile:

    var sass = require('gulp-sass')(require('sass'));

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

    @deliro
    1. Доля мобильного трафика достигает 80-90% на большинстве ресурсов
    2. Минимальное десктопное разрешение, которое есть у 99% десктопных юзеров — 1366х768 (самые дешёвые 15.6 дюймов ноутбуки, которым уже 10 лет от роду. Я не шучу, с таким разрешением я первый ноут купил в 2010. А в 2009 на ПК уже был моник 1440х900). При этом самое частовстречаемое — Full HD (1920x1080). Всё что ниже — таблетки

    Отсюда вытекает вопрос: а зачем ради полутора землекопов сжигать деньги кастомеров/инвесторов, разрабатывая им отдельный интерфейс, если они и мобильной версией могут пользоваться, т.к. сейчас они полнофункциональные? Либо, если не разрабатывать отдельный, то зачем проектировать интерфейсы, ориентируясь на тех 1.5 землекопов, заставляя страдать (условно) остальные 99%?

    Более того, эти 1.5 землекопа обычно оказываются неплатёжеспособной аудиторией (раз уж у них до сих пор монитор/ноут старше 10 лет).
    Ответ написан
    6 комментариев
  • Почему фрилансеры готовы общаться только в чате?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Дизайнер это дизайнер. Чистый визуал, часто даже не понимающий как это будет сверстано.
    Верстальщик - ну, сказать что это профессия как то даже не совсем верно. Хотя есть виртуозы, выигрывающие за счет глубокого погружения в тему, знания нюансов и скорости работы. Иногда это нужно именно в таком виде, ну и спрос на таких монстров есть.
    Фронтендер - больше комбайн из верстальщика и ЖСера. Обычно требуется знание 1-2 серьезных фреймворков/библиотек, а ля вуе, реакт, ангулар... Ну и вебпак сасс лесс до кучи.

    Так что нет, это разные специализации.
    Ответ написан
    Комментировать