Задать вопрос
  • Как удалить файлы из pull request?

    unclechu
    @unclechu
    Спешу обратить внимание что force-push - является признаком дурного тона и сложноразрешимых проблем при мёржах, когда над веткой работает более одного человека. Можете обратиться к цитатам Линуса Торвальдса по этому поводу.
  • Какой мессенджер с открытом кодом взять?

    unclechu
    @unclechu
    amexlar, ну по крайней мере повышенные требования к ресурсам, прожорливость до оперативной памяти и часто до процессорного времени. С чего вдруг должны быть одни плюсы? Если только для простоты разработки, а вот для конечного пользователя - это пачка новых наслоений абстракций и виртуальных машин. Если потоки информации существенные - это будет ощущаться в виде очевидных лагов.
  • Какой мессенджер с открытом кодом взять?

    unclechu
    @unclechu
    Нет, это НЕ Open Source, у Telegram проприетарный централизованный сервер. Есть только некоторые клиенты с открытым кодом, но клиент - это далеко не весь "мессенджер" целиком.
  • Библиотека асинхронных запросов для react?

    unclechu
    @unclechu
    Речь идёт именно о голом React без всего? Без связки с Redux к примеру?
  • ООП в высоконагруженных проектах считается устаревшим?

    unclechu
    @unclechu
    Андрей: функциональное и процедурное — это скорее антонимы, а не одно частный случай другого.
  • Как запретить вывод экранной клавиатуры для текстового поля на мобильных устройствах?

    unclechu
    @unclechu Автор вопроса
    Возможно в скриптах идёт проверка на поддержку типа поля "date", и если таковая есть, — type меняется и datepicker не инициализируется.
  • Хочу научиться создавать плагины JQuery - с чего начать?

    unclechu
    @unclechu
    @slavik_210: посмотрите опять же, как обёрнут jQuery UI:
    // http://code.jquery.com/ui/1.11.2/jquery-ui.js
    (function( factory ) {
    	if ( typeof define === "function" && define.amd ) {
    
    		// AMD. Register as an anonymous module.
    		define([ "jquery" ], factory );
    	} else {
    
    		// Browser globals
    		factory( jQuery );
    	}
    }(function( $ ) {
      // код библиотеки
    }));

    То-есть при написании своих модулей всё сводится к грамотной обёртке вокруг кода вашего модуля (плагина). Тут в общем-то не хватает поддержки CommonJS, вот как её можно реализовать:
    (function( factory ) {
    	if ( typeof define === "function" && define.amd ) {
    
    		// AMD. Register as an anonymous module.
    		define([ "jquery" ], factory );
    	} else if (typeof exports === 'object') {
    
    		// CommonJS
    		module.exports = factory( require('jquery') );
    	} else {
    
    		// Browser globals
    		factory( jQuery );
    	}
    }(function( $ ) {
      // код библиотеки
    }));

    Для создания таких обёрток есть автоматизированные средства, если вы используете Grunt или Gulp. Сам пользуюсь вот этим: https://www.npmjs.org/package/gulp-umd
  • Хочу научиться создавать плагины JQuery - с чего начать?

    unclechu
    @unclechu
    @slavik_210: ну вообще гугла более чем достаточно, чтобы просвятить себя в этом вопросе.
    https://github.com/amdjs/amdjs-api/wiki/AMD (Asynchronous Module Definition)
    Это некий формат для написания модулей на JavaScript. То-есть вы объявляете и запрашиваете модули определённым стандартизированным способом. Тоже можно сказать и про CommonJS, но он решает эту задачу отлично от AMD, у него свои преимущества и недостатки. UMD — это унифицированный стандарт для абстракции ваших модулей над этими решениями, то-есть используется либо AMD, либо CommonJS, в например зависимости от наличия библиотеки обслуживающей либо то, либо другое решение.

    Например в случае с AMD вы объявляете модуль, перечисляя его зависимости, и то, что перечислено в зависимостях будет выполнено только в том случае, если будет выполнен модуль, требующий этих зависимостей. Если зависимость была выполнена ранее, то она будет взята уже из некоего своего рода "кеша".

    Пример применения AMD в вакууме:
    // объявляем модуль 'background_fill'
    define('background_fill', ['jquery'], function ($) {
      // handler
      return function (color) {
        $(this).css('background', color || 'red');
      };
    });
    
    define('random', ['jquery'], function ($) {
      // handler
      return function (color) {
        $(this).text(Math.random().toString());
      };
    });
    
    define('main', ['jquery', 'background_fill'], function ($, backgroundFill) {
      $(function () {
        $('div').each( backgroundFill );
        require(['random'], function (random) {
          $('div').each(random);
        });
      });
    });

    Как правило присутствует некий главный (main) модуль, который вызывается изначально, а он уже оперируя различными данными вызывает или не вызывает дочерние модули, которые в свою очередь вызывают другие модули и т.д.

    Смысл в том, что когда вы создаёте свой jQuery плагин, — в лучшем случае он должен без лишних манипуляций поддерживать использование AMD или CommonJS. Чтобы в случае например с AMD ваш плагин можно было использовать примерно так:
    define('main', ['jquery', 'jquery.your_plugin'], function ($) {
      $(function () {
        $('div').your_plugin();
      });
    });

    Если вы будете использовать UMD, то вы сразу покроете и AMD и CommonJS, а также ваш плагин будет работать и при отсутствии любого из этих инструментов. То-есть если он будет подключен как обычный JS файл на веб-страницу.
  • Почему gulp.spritesmith не создает спрайты?

    unclechu
    @unclechu
    А cygwin не рассматриваете? Думаю половина проблем сразу отпадёт.
  • Почему gulp.spritesmith не создает спрайты?

    unclechu
    @unclechu
    Попробуйте заменить путь './images/*.png' на 'images/*.png', а лучше для теста прямой путь до файла, может файлы вложены в поддиректории? Тогда './images/**/*.png'
  • Как запретить вывод экранной клавиатуры для текстового поля на мобильных устройствах?

    unclechu
    @unclechu Автор вопроса
    Это решило проблему! Спасибо!
    Сделал проверку через Modernizr: if (!Modernizr.inputtypes.date) и только в этом случае подключаю datepicker.
  • JS как узнать какая ссылка задействована?

    unclechu
    @unclechu
    Вы кажется сами себе противоречите.
  • Curl, вместо кукисов передается путь к файлу с ними, что я делаю неверно ?

    unclechu
    @unclechu
    @Mussi так значит надо парсить и подготавливать, разве нет?
  • Как отключить музыку при отключении наушников?

    unclechu
    @unclechu
    @kemply Вы неправильно поняли. Речь идёт об ПО, которое используется для воспроизведения музыки. Если вы собираетесь подобное реализовать, — решение будет ПО-зависимым, т.к. если и есть какие-то стандарты для управление мультимедиа-воспроизведением/интеграции, то очень малое количество разработчиков будут соблюдать их в своих продуктах, в большей части это касается именно Windows, т.к. сторонний проприетарный софт для неё вообще о стандартах мало слышал. Вам следует искать в первую очередь инструкции к тому, как привязывать исполнение какого-либо кода/программы по конкретному событию (подключение/отключение в гнезно mini-jack). Учитывая ситуацию с драйверами под Windows, в частности в подходах к их реализации — остаётся только пожелать Вам удачи, и если и добьётесь поставленной цели, — то это будет достижение. Закрытый код, закрытые стандарты, неоднозначная реализация, — всё это встанет против вас. Решайте сами, стоит ли овчинка выделки.
  • Веб-дизайн без фотошопа - реально ли?

    unclechu
    @unclechu
    Если говорить о кросплатформенности, то лично я (фронт-енд, вёрстальщик), работаю под линуксами, никаких фотошопов не юзаю, дизайнер просто рендерит эффекты, smart object-ы и маски, и отдаёт мне такие PSD, ну плюс ttf шрифты, которые используются в макете. Я это всё открываю в GIMP и верстаю. Единственная проблема, — GIMP пока что не понимает текстовые слои Ps, воспринимает как слой-изображение, но глаз-алмаз и линейка решают данный вопрос. Я это к тому, что вовсе не обязательно тратить деньги на Мак, а потом и Скетч, и вообще прибегать к использованию проприетарщины, чтобы верстать макет, варианты решения всегда есть. Да хоть послойно экспорт PNG каждого слоя отдельно.
  • Существует ли аналог LESS Hat для SASS (SCSS)?

    unclechu
    @unclechu Автор вопроса
    @zooks нет, ответ на вопрос: "нет". Тогда пусть он и будет отдельным ответом.
  • Существует ли аналог LESS Hat для SASS (SCSS)?

    unclechu
    @unclechu Автор вопроса
    @zooks извини, он не является решением по сабжу.
  • Как почистить последствия make install ?

    unclechu
    @unclechu
    @nepster09 в линуксе таких вещей, благо, нет, да и из шиндовс его бы выпилили в наше время, если бы не обратная совместимость. По факту да, программа будет удалена. Исключения составляют конфиги программы, которые могут быть в /etc, но как правило они из пакета также сразу устанавливаются, то-есть если удаляется пакет, дополнительно удалять их не нужно. А обычные конфиги лежат домашней директории, обычно в скрытой директории, например "~/.program_name" или в "~/.config/program_name". В той же шиндовс современные адекватные разработчики практикуют аналогичный подход (см. %APPDATA%), никто в здравом уме сейчас не использует "реестр".
  • Существует ли аналог LESS Hat для SASS (SCSS)?

    unclechu
    @unclechu Автор вопроса
    @zooks к тому же не факт, что можно прозрачно этот рубиновый Compass связать с тем же Gulp.