Задать вопрос
  • Как сделать так, что бы скрипт работал только на телефонах?

    riot26
    @riot26
    <:З )~~
    detectmobilebrowsers.com
    var userAgent = navigator.userAgent||navigator.vendor||window.opera;
    if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(userAgent)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0,4))) {
        // код здесь будет запускаться только на телефонах
    }
    Ответ написан
    2 комментария
  • Где искать заказы фрилансеру?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    ну тк не плати и сиди без работы) нам клиентов больше достанется)
    Ответ написан
    9 комментариев
  • Не понял почему так?

    DevMan
    @DevMan
    потому что return заканчивает выполнение функции и весь код, указанный после него, не обрабатывается.
    Ответ написан
    Комментировать
  • Как сравнить 2 тхт файла и удалить повторы?

    @undeadter
    Как то так:

    file_1 = open('1.txt', 'r').read().split('\n')
    file_2 = open('2.txt', 'r').read().split('\n')
    
    array = []
    for email in file_1:
        if email.split(':')[0] not in file_2:
            array.append(email)
    
    str = ""
    for email in array:
        str += email
        str += '\n'
    
    file_3 = open('3.txt', 'w')
    file_3.write(str)
    Ответ написан
    6 комментариев
  • Как авто обновлять страницу при изменение scss документа?

    vicodin
    @vicodin
    Имею некоторый опыт
    поставьте browsersync и не парьтесь, никто уже скрипты не встраивает в документ. https://browsersync.io/
    Ответ написан
    1 комментарий
  • Как не грузить картинки до клика?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    гуглите в сторону Lazy Load. тобишь убрать src и написать его в data атрибут. а потом при надобности перенести обратно в src
    Ответ написан
    Комментировать
  • Как происходит процесс разработки в команде между фронтенд и бэкэнд, если есть jade и php?

    sabramovskikh
    @sabramovskikh
    jade компилится в хтмл и отдается.
    Тот кто натягивает движок, ему не нужно знать о ваших jade,saas,gulp. Он получает файл html+css+images и работает с этим.
    Есть правки по верске, делаете правки, отправляете, он правит у себя.
    Конечно все через общий гит делается
    Ответ написан
    Комментировать
  • Как передавать данные от серверного js к клиентскому?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    script - это тоже тег и в него точно так же можно отрендерить данные в виде json-строки или в виде токенов js-кода, как вы рендерите их в любом другом месте.
    Ответ написан
    Комментировать
  • Как писать много кода, оставляя его простым, как в начале?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) Документируй
    2) Абстрагируйся всегда максимально
    3) Пиши классы по принципу "черного ящика"
    4) Один класс решает одну конкретную задачу, не стоит городить комбайны.
    Ответ написан
    5 комментариев
  • Какие навыки нужны для создания landing page?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    SEO SEO SEO !!!!
    "Ключи", теги, подбор поисковых запросов, грамотная разметка структуры контента в документе HTML5, схема данных JSON-LD....
    (это кроме HTML/CSS/PHP/db)
    Т.к. лендинг без раскрутки - это как клавиатура без компа!
    Ответ написан
    Комментировать
  • Как установить windows рядом с ubuntu?

    Винда в этом плане авторитарна и затирает линуксоразделы, обычно в случаях необходимости windows и linux на одном жестком сперва ставится винда, а уже потом линуксы, так что дело вам говорят-отрезайте кусок диска (НЕ буквально отрезайте!) или ставьте первой винду, а потом уже шаманский бубен.
    Ответ написан
    Комментировать
  • Как установить windows рядом с ubuntu?

    @Fixid Куратор тега Linux
    Можно, но сложно. Windows при установке затрет GRUB и поставит MBR, надо будет восстанавливать с LiveCD. Надо будет заранее отрезать кусок диска, иначе Windows будет считать linux fs странными разделами и требовать пустую область на диске.

    Обычно удобнее поставить сначала Windows с нужным размером раздела и потом ставить ubuntu, тогда GRUB штатно заменит MBR и переформатирует свободное место для себя.
    Ответ написан
    4 комментария
  • Какие вопросы на собеседовании ожидать по JS?

    @kahi4
    Коварные вопросы, говорите?

    1. Какое из нововведений es6 принципиально не полифилится в es5? Почему? (И на какой черт оно вообще нужно, вдогонку). (И я бы заодно вдогонку попросил набросать полифил какой-то из фичей, например, this в arrow function).

    2. Какие условия должны быть соблюдены для того, чтобы v8 мог скомпилировать функцию в нативный код? Ну и разумеется, почему?

    3. Почему до es5.1 включительно typeof null === "object"?

    4. Что на самом деле произойдет, если вы напишите
    const arr = [];
    arr[3484] = 5;


    5. Аналог второго вопроса, но все же: с чем, по вашему мнению, могла быть связана бага в одной из версий хрома, приводящая к следующему результату:
    function foo() {
        return typeof null === 'undefined';
    }
    for(var i = 0; i < 1000; i++) console.log(foo());
    
    >>> 121 false
    >>> 879 true


    6. Какие вы знаете способы заставить js произвести несколько операций одновременно (буквально, за такт)?

    7. Сработает ли documeny.onready, если скрипт загружать с аттрибутом async? В каких случаях и когда именно он сработает?

    8. Что можно и что нельзя делать в событии document.beforeunload?

    Но, справедливости ради, эти вопросы даже не на мидла, некоторые из них не сколько каверзные, сколько упоротрые и если их вам зададут -- следует задуматься в адекватности компании.
    Ответ написан
    2 комментария
  • Как сверстать такой эелемени?

    Может я сбредил, но мне кажется, что в этой ситуации очень хорошо справится SVG.
    А потом fill: linear-gradient();
    Во-первых, качество не потеряется даже на самом широком экране.
    Во-вторых, меньше картинок подгружаем.
    В-третьих, если вдруг захотите изменить цвет, то Вам не нужно будет изменять картинку и грузить новую, просто измените цвет в css.
    Ответ написан
    1 комментарий
  • Как поймать хакера ну или хотя бы отомстить?

    Rou1997
    @Rou1997
    Думаю какие теперь должны быть меры

    Повышение своей квалификации!
    Я не вникал в вопрос, но у вас там, извините, полный бардак, если редактируют файлы прямо авторизавшись под учетной записью администратора. Все входные данные должны контролироваться, все их виды нужно изучить и понять какие могут быть проблемы, например shell'ы, когда загружают файл, затем обращаются по прямой ссылке, а в нем код и он выполняется, не исключено что это ваш случай, но и если явно не ваш то не расстраивайтесь, "лазеек" может быть много. :)
    Так что временно "забейте", отдохните чтобы выйти из стресса фазы истощения (судя по желанию отомстить у вас началась эта фаза, мозг не думает а просто выплескивает негативные эмоции), возможно стоит напиться (я не шучу, некоторым помогает, и я говорю о серьезных людях, инженерах, а не "быдле"), после чего исправляйте бардак!
    Ответ написан
    4 комментария
  • Как написать регулярное выражение "любой символ"?

    DevMan
    @DevMan
    любой символ - это точка.
    точнее описать не могу, ибо нифига не понятно что нужно.
    Ответ написан
    Комментировать
  • А что если писать сайт вообще в одном файле?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Сказать по правде, Вы немного странно ставите вопрос... мне кажется, актуальнее было бы уточнить, о причинах, по которым нужно объединять файлы в один.

    Понятно, что будет неудобно работать, но это допустим не важно. Привыкнется)))
    Неудобно работать кому, Вам, или браузеру? Если браузеру, то за него не беспокойтесь, он парень сильный, справится. Если Вам - то есть сборщики проектов, коих как грибов в лесу. На крайняк можно написать свои 20 строк кода.

    Речь не идет про крупный проект, портал или магазин. Простой одностраничник)
    Вопрос звучит примерно как: "я тут приехал в какую-то деревню (город с населением 200тыс. человек), стоит ли там соблюдать правила дорожного движения и законы? Это же не миллионник и даже не мегаполис..."

    Дело не в том, скольки-страничник сайт, а в причинах, которые послужили предпосылкой к объединению скрипто-стилевого мусора в один файл. Основных причин было несколько:

    1. Большой файл грузится быстрее, чем много маленьких, по тому, что:
    а) Обращение к дисковой системе происходит 1 раз
    б) Исчезает промежуточный мусорный обмен трафиком между сервером, на загрузку каждого дополнительного файла

    2. Особенность браузеров, работающих по поротоколу HTTP 1.0/1.1 заключается в том, что они не могут открывать более 16-32 соединений (если мне память не изменяет, точные цифры не помню). Это значит, что одновременно более 16-32 файлов скачиваться не будет. А теперь представьте, что у Вас на "одностраничнике" штук 300 спрайтов, на всякие соц. сети, иконки, стрелки и пр. лабуду, и каждый будет загружаться отдельно...

    Я думаю, Вы уже знакомы с протоколом FTP... Попробуйте как-нибудь, ради интереса загрузить на сервер любую CMS, в которой 5-15тыс. файлов по FTP, в распакованном виде. А потом попробуйте упаковать все эти файлы в архив, с нулевым сжатием (TAR или ZIP без сжатия), загрузить на сервер и распаковать. Даже на самом "мёртвом" сервере, даже с учётом времени на распаковку, процедура с архивом обычно проходит в несколько (иногда десятков) раз быстрее, чем загрузка каждого файла по одному. В браузере разница не настолько критична, принцип тот же.

    Среди прочего, хочу отметить, что для протокола HTTP/2, который пока поддерживают ещё не все браузеры (хотя таковых и большинство) и далеко не все хостеры и админы осилили его интеграцию, проблема уже не так актуальна. Но одна из причин, по которой HTTP/2 позволяет ускорить загрузку заключается как раз в том, ограничение с пулом запросов было решено.

    Так же, сжатие всех скриптов в один - позволяет решить проблему порядка загрузки, и добавить скрипту флаг async, что было довольно актуально для меня в ряде случаев. А CSS - тем более грузятся по порядку, т.к. это каскадные таблицы, и как бы Вы их там не вращали, браузер априори будет их читать линейно и так же линейно применять, именно в том порядке, в котором они были указаны к загрузке. И в этом случае, сочетание протокола HTTP/1.0|1.1 и отсутствие многократного дёргания сервера, довольно очевидно.
    Ответ написан
    Комментировать
  • Есть ли на собеседовании вопросы про контекст this?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Друзья, есть ли вопросы на собеседовании о том, что this зависит от контекста вызова?
    Вполне могут быть, так как это одна из базовых концепций языка
    Сохранилось ли эта особенность в классах и вообще ситуация в ES6?
    классы es2015 - всего лишь синтаксический сахар над прототипапами - более привычный синтаксис для пришедших из языков с классическим ООП, таких как java и C#
    соответственно ситуация абсолютно такая же, как и с обычными функциями, единственное дополнение нового синтаксиса - нельзя вызывать конструктор без оператора new
    Если можете посоветуйте задачки на контекст, чтобы потренировать, ну или лайфхак, который поможет изи запомнить это.
    Надеюсь сойдет за лайфхак:
    func()вызов с контекстом по-умолчанию (undefined в strict режиме или глобальный объект не в strict режиме)
    func.call(ctx, ...args)
    func.apply(ctx, args)
    obj.func.call(ctx, ...args)
    obj.func.apply(ctx, args)
    вызов с указанным контекстом ctx

    obj.func()вызов с контекстом obj
    (0, obj.func)()хак "отвязка контекста", функция вызывается с контекстом по-умолчанию
    Ответ написан
    Комментировать
  • На каких сайтах есть бесплатное обучение с выдачей сертификатов?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Битрикс (какой-то базовый курс), бесплатные сертификаты в электронном виде выдавал. Но, я думаю, Вы сами должны понимать, что "бесплатные сертификаты", кроме как для украшения стен туалетов больше никуда особо не годятся. Я когда на собеседование прихожу, обычно следующий вопрос после "что вы знаете об ООП, HTML5, CSS3 и прочих технологиях" сразу уходит с основной темы, о моих знаниях и переходит в тему, того какую я з/п хочу, условия работы и т.д., состою ли я в каких-то сообществах разработчиков и т.д. Пару раз, при подаче документов, "обнаруживались" сертификаты, но их никто даже не смотрел. Всё заканчивалось на вопросе:
    - что это?
    - это сертификаты всякие, по программированию, технике, Unix'ам...
    - а, ну классно


    Дальше их даже никто из папки не доставал.

    Сертификаты, которые хотя бы чего-то стоят, обычно сочетаются либо с обучением, либо с глубокой экзаменацией. Обычно, стоимость только самих экзаменов стоит 80-300$ (сертификат в стоимость включен разумеется, если экзамен сдадите).

    Например, экзамен по Symfony стоит 250€ + Twig (без которого, я себе Symfony плохо представляю) стоит 150€... Остальное - только лишний расход бумаги и Вашего времени.
    Ответ написан
    Комментировать
  • Можно учить typescript без нативного js?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Не потрахавшись с JS плюсов TS не осознаешь. Плюс нет учебников по TS как по самостоятельному ЯП, все в расчете на то, что JS уже знаком.
    Ответ написан
    Комментировать