• Как обернуть каждые 4 блока в div на чистом Java Script?

    @lemme
    Frontend
    const container = document.querySelector('.section')
      let wrapper = null;
      
      [...document.querySelectorAll('.item')].forEach((el, i) => {
        if (i % 4 === 0) {
          wrapper = document.createElement('div')
          container.appendChild(wrapper)
        }
    
        wrapper.appendChild(el)
      })

    https://jsfiddle.net/zuja1dxa/1/
    Ответ написан
    9 комментариев
  • Не говнокод ли я пишу?

    this.physik = opt.physiq
    Проиграл на этом, попытки осмыслить бросил.
    Ну правда, хотя бы по файлам разбейте что ли.
    Ответ написан
    Комментировать
  • Где получить опыт в React?

    возможно есть на гитхаб какие опен сорс проекты


    Конечно же есть - их бесчисленное количество. Придумайте себе проект - и реализуйте его вот и опыт будет. По пути попробуйте актуальные библиотеки.. я бы рекомендовал изучить следующие:
    • react-router v4
    • redux, react-redux, reselect, redux-saga, redux-form
    • react-virtualized


    Есть вот такой ресурс - https://github.com/enaqx/awesome-react : там, помимо всего прочего, есть и примеры приложений на реакте.
    Ответ написан
    2 комментария
  • Как растянуть время на upwork?

    XXX
    @XXX
    Решение где-то рядом
    Как растянуть время на upwork?

    Занимаюсь дизайном.
    Можете добавить дополнительных манипуляций и работать немного медленнее. Представьте что клиент стоит рядом и руководит вашей работой.
    d688f005417d4a35b418d27c2cb7d852.gif

    Но лучше повысьте ставку и не пытайтесь растягивать рабочее время, тратя время личное.
    Ответ написан
    5 комментариев
  • Как сочетать pixel perfect и flexbox?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    А в чем разница?

    Судя по всему, вы не поняли как работать с flex-box. На pixel perfect ни флоаты, ни flex-box никак не влияют!
    Влияет лишь ваше умение писать css и html.

    Да и pixel perfect себя давно изжил, с приходом адаптивности!
    Ответ написан
    2 комментария
  • Как определить шаблонизатор?

    profesor08
    @profesor08 Куратор тега PHP
    Этот: ets.sourceforge.net?
    Ответ написан
    Комментировать
  • Как нативные модули привязываются к react-ту в React-native?

    nevkusniy
    @nevkusniy
    KRATOR
    Они экспортируются в нативном коде, к примеру в java есть такой декоратор, который позволяет вызвать эту нативную функцию из JS потока:
    // my method class
     @ReactMethod
        public void setCurrentTime(final Integer key, final Float sec) {
            MediaPlayer player = this.playerPool.get(key);
            if (player != null) {
                player.seekTo((int) Math.round(sec * 1000));
            }
        }


    В Obj-C есть свое:
    // создается нативный модуль OutputVolume
    @implementation OutputVolume
    
    RCT_EXPORT_MODULE();
    
    // Отдает метод get
    RCT_REMAP_METHOD(get,  
                     resolver:(RCTPromiseResolveBlock)resolve
                     rejecter:(RCTPromiseRejectBlock)reject)
    {
      float volume = [AVAudioSession sharedInstance].outputVolume;
      NSString* volumeString = [NSString stringWithFormat:@"%f", volume];
    
      if (volumeString) {
        resolve(volumeString);
      } else {
        reject(@"get_error", @"Error getting system volume", nil);
      }
    
    }


    А вот как принимать это в JS коде:
    import { NativeModules } from 'react-native';
    
    const MyNativeModule = NativeModules.MyNativeModule;


    Почитать:
    - https://www.promptworks.com/blog/writing-native-mo...
    - https://clever.ly/blog/2017/05/09/going-native-cre...
    - https://shift.infinite.red/native-modules-for-reac...
    Ответ написан
    Комментировать
  • Можно ли по БЭМ вкладывать блок внутрь элемента?

    @AlexanderZe
    Интересующийся
    Так, да:
    block-1
         block-1__elem
              block-2


    block-1
         block-1__elem block-2


    Так, нет:
    block-1__elem
         block-1
    Ответ написан
    Комментировать
  • Почему в firefox и microsoft edge шрифт становится рубленным?

    Для каждого сочетания свойств font-weight и font-style должен быть свой шрифт, а у вас задан только 1 случай - normal/normal.
    Браузеры по разному обрабатывают ситуацию когда нет шрифта. Некотрые ничего не делают, а другие автоматически утолщают/наклоняют. Естественно, почти всегда это получается не красиво.
    Ответ написан
    2 комментария
  • Как менят стили бутстрап?

    sim3x
    @sim3x
    ruby.bvision.com/blog/please-stop-embedding-bootst...

    Используем sass / less
    Изменяем конфиг
    Оверрайдим стили при написании
    Ответ написан
    2 комментария
  • Есть ли программы для написания кода голосом?

    devspec
    @devspec
    Помогло? Отметь решением
    Такого нет не потому, что это невозможно сделать. А потому, что это быстро приведет к профессиональной деформации. Будете заходить в супермаркет и говорить - мне запятая пожалуйста запятая один большой пакет точка спасибо точка
    Ответ написан
    2 комментария
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    Чушь, на самом деле.

    1) Довод первый, личный. Ну вот у нас в команде есть разработчик, которому за 40, занимается JavaScript. Ощущения исключительно положительные. Товарищ имеет большой опыт и очень хорошо знает что делает. Да ещё и изучает что-то новое, куда-то движется в своей области.

    Ну, правда, знал я одного или двух товарищей, которым тоже за 40 и которые обладают опытом, но при этом обладают ещё и первосортной наглостью, более всего заботясь о том, чтоб засчитать побольше часов (неплохо оплачиваемых), а не о том, чтоб их код без ошибок работал. :) Просто у человека нет совести и желания профессионально делать свою работу, это бывает в любом возрасте.

    2) Довод второй, социологический. Как известно, у человека в течение последних веков продолжительность и всей жизни в целом, и составной её части - детства стала гораздо больше. В пушкинские времена крестьянские девочки в 13-14 лет были на выданье, на них ложилась вся тяжесть семейной жизни. Сейчас это совершеннейшие дети, им только в куклы играть.

    Двадцать лет назад парень 20 лет был взрослым и уже зачастую женился. Сейчас 20 - это молодо-зелено; крепко стать на ноги к этому возрасту, стать профессионалом в интеллектуально ёмкой отрасли деятельности - да невозможно практически; посему и о семье говорить рано, что бы там ни вопили охранители. Ну и естественным образом, коль скоро детство и молодость растягиваются, то и период активной интеллектуальной деятельности - тоже должен сдвигаться. Захватывая и 40 лет, и 50, а может и 60-70. Тут уж зависит от индивидуальных усилий.

    3) Довод третий, профессиональный. Слышал ли кто-нибудь, чтобы грамотного, квалифицированного профессора математики выгоняли в 50 лет? Конечно, он наверняка уже не может генерировать идеи, как он это делал в 20; математика - дело молодых. Но опыт его огромен, он пользуется уважением, учит студентов и аспирантов; совет его ценится и может серьёзно помочь молодым коллегам; он далеко не вне профессии. Почему так происходит? Потому что математика - это устоявшаяся область, математика - это профессия в полном смысле.

    Программирование пока не вполне созрело как профессия, потому что оно несколько моложе математики (ну, не менее чем на пять тысяч лет, если считать от Московского математического папируса с задачами по стереометрии). О том, что программирование должно стать профессией - см. пост Роберта Мартина, который мне очень нравится: blog.cleancoder.com/uncle-bob/2016/07/27/TheChurn.html

    UPD. Другие ораторы упомянули о психологических причинах: тим-лиду, которому 25, боязно показать команде своё невежество в сравнении дядькой, которому 40. Ну это больше говорит о тим-лиде, а не о дядьке. Тим-лиду следует посидеть вечерком в тиши и подумать, правильно ли он живёт в этом мире, коли руководствуется мерками каменного века и правилом "я начальник, ты дурак".
    Ответ написан
    2 комментария
  • Сокращенная запись условного оператора if, нельзя использовать без else?

    Пожалуйста, НЕ используйте:
    условие && выполнение условия

    Это антипаттерн, читать такой код просто невозможно.
    Используйте:
    if (условие) {
    }
    Ответ написан
    Комментировать
  • Как сделать страничку с тестовым заданием, аналогично задачкам на codeacademy?

    Что касается GUI, то по описанию вам нужен любой MVC
    Можете форкнуть plunker, построенный с использованием angularjs
    https://github.com/filearts/plunker
    Что касается различных ЯП(как выполнять/имитировать выполнение и отдавать результат в представление(gui)) - это отдельная тема.
    Ответ написан
    3 комментария
  • Есть create-react-app с поддержкой PostCSS и других плющек?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    А что мешает сгенерить приложение и поменять sass (или что там по дефолту) на PostCSS? Ну а с Redux и того проще,
    npm install redux react-redux react-router-redux --save
    , что там поддерживать-то?
    Ответ написан
  • Как организовать ООП-логику на JavaScipt на примере аудио-плеера?

    @floydback
    Отличный вопрос! Сам долго задавался этой проблемой. Как бекендщик, понимал необходимость но не знал как реализовать структуру, чтобы не было каши.

    Решение, которое помогло: нужно добиться того, чтобы в PlayerApp вообще не было обращений в DOM. Кстати, тогда и jQuery не нужен будет внутри PlayerApp. Там должно быть только контекст аудио, ноды, аналайзер и проч. Вот только это сделает код намного проще, чище и понятнее.

    Например, PlayerApp.js может выглядеть так
    (function() {
    	var PlayerApp, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments) } }
    
    	PlayerApp = (function() {
    		function PlayerApp(url) {
    			this.play = __bind(this.play, this)
    			// другие __bind здесь, stop, resume, etc...
    
    			this.audio = new Audio()
    			this.audio.volume = 1
    			this.audio.src = url
    
    			this.audio.addEventListener("canplaythrough", this.canplay,  false)
    			// другие addEventListener здесь: loadedmetadata, timeupdate, etc...
    		}
    		Track.prototype.play = function() {
    			this.audio.play()
    			if (typeof this.onplay_callback == "function") { this.onplay_callback() }
    		}
    		// другие функции здесь .... 
    		return PlayerApp
    	})()
    	window.PlayerApp = PlayerApp
    }).call(this)

    А где-то в app.js будет графическая часть :
    player = new PlayerApp()
    player.onplay_callback = function() {
        $("#main-play-btn").toggleClass('play')
        $(".playlist-play-btn").toggleClass('play')
    }

    Таким образом, где бы ни запустили плей (кнопка в плеере, по центру экрана или пробелом на клавиатуре) отрисовка идет через одно место - колбэк onplay_callback. Через одно место ;) Смешно, но это очень упростило код мне.

    Еще отлично организовано в Яндексе, посмотрите пример. Очень рекомендую.
    Ответ написан
    Комментировать
  • Возможно ли решить данную задачу?

    @Mercury13
    Программист на «си с крестами» и не только
    1018 — это обычное 64-битное целое. long long в Си, long в Java, int64 в Delphi.

    Очевидно, задача переводная, спичка не только match (это слово у них очень многозначное), но и matchstick. Причём переводил то ли автомат, то ли редкий надмозг, пример неговорящий, и откровенно непонятно: то ли где находится число 11, то ли что на 11-й позиции. Будем решать 2-ю задачу: что на 11-й позиции.

    1. Определить количество разрядов (для этого хватает несложного цикла) и какой номер у данного числа среди N-значных чисел.
    2. А теперь находим, сколько есть N-значных чисел из M спичек. Рекуррентное соотношение:

    Q[N, M] = sum{k = 1..9} (Q[N−1, M−q(k)]), если N — найденная нами значность, но не 1-ца,
    Для остальных N формула та же, но суммирование 0…9.
    q(0) = 6, q(1) = 2, q(2) = 5, и т.д. — кол-во спичек в цифре.
    Граничное условие: Q[0, 0] = 1, Q[0, M] = 0 для остальных M.
    «Методом выкручивания рук» также примем, что для отрицательных M все Q равняются 0.

    Решаем рекуррентное соотношение динамическим программированием.
    3. А теперь самое интересное: воспользовавшись таблицей динамического программирования, находить цифру за цифрой, начиная со старшей.

    Например, у нас 15-е число. Первый шаг опустим, поверьте мне: это 4-е двузначное, начиная с нуля.
    2-й шаг.
    Q[1,2] = 1
    Q[1,3] = 1
    Q[1,4] = 1
    Q[1,5] = 3
    Q[1,6] = 3
    Q[1,7] = 1
    Q[2,4] = 1
    Q[2,5] = 2
    Q[2,6] не вычислял, главное — запредельно большое.

    Q[2,0]…Q[2,3] равняются нулю.
    Вычитаем Q[2,4] — получается 3.
    Вычитаем Q[2,5] — получается 1.
    Вычитаем Q[2,6] — не получается. Итого у нас шесть спичек, остаётся 1.

    3-й шаг, работаем по цифре.
    Ноль, Q[1, 6−6] = 0. Остаётся 1.
    Единица, Q[1, 6−2] = 1. Остаётся 0.
    Двойка, Q[1, 6−5] = 0. Остаётся 0.
    Тройка, Q[1, 6−5] = 0. Остаётся 0.
    Четвёрка, Q[1, 6−4] = 1. Не вычитается, остаётся 2 спички, 1 знак и номер 0. Записываем цифру 4.
    Ноль, Q[0, 2−5] = 0. Остаётся 0.
    Единица, Q[0, 2−2] = 1. Не вычитается, остаётся 0 спичек, 0 знаков и номер 0. Записываем цифру 1.

    Итого получили 41.
    Ответ написан
    3 комментария
  • Нарушаю ли я методологию БЭМ таким каскадом стилей?

    ShadowOfCasper
    @ShadowOfCasper
    Middle User Interface Web Developer
    Да. Вот как нада
    .header
        .header__container
          .header__row
            .header__logo.logo
              img.logo__image(src="")
            header__contact-info.contact-info
              ul.contact-info__list
                li.contact-info__item.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--mts
                li.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--kyivstar
                li.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--life
              ul.contact-info__list
                li.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--skype
                li.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--mail
                li.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--phone
              ul.contact-info__list
                li.item
                  a.item__link(href="") info@protector.com.ua
                    i.item__icon.item__icon--address

    блок__элемент--модификатор
    Так пишут на западе. Как вариант - можешь глянуть на компоненты blaze_css. Он написан на компонентном БЭМе
    Ответ написан
    Комментировать
  • Что есть бэм и как он выглядит?

    sim3x
    @sim3x
    Бутстрап и бем совместимы

    sass
    .news-item
      @extend col-md-6
      // override styles
    
    .user-bar__avatar-img
    ....

    Имена классов уникальны - потому нет нужды делать
    .navbar-transparent .navbar-right-menu > li > .btn-white:hover
    - хватит класса и названия елемента или псевдоклассов

    ruby.bvision.com/blog/please-stop-embedding-bootst...
    sass-lang.com/guide#topic-7
    Ответ написан
    2 комментария