• Помощь в генерации сетки турнирной?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Про первую часть - предполагаю что я бы просто время окончания регистрации высчитывал в момент создания турнира, и синхронизировал бы с клиентом без всяких таймеров на сервере - нафига его нагружать?

    По второй части - вот Вам готовая статья как с помощью d3 нарисовать турнирное дерево - на мой взгляд, самое простое и толковое решение на js - www.d3noob.org/2014/01/tree-diagrams-in-d3js_11.html
    Ответ написан
    Комментировать
  • Какая принципиальная разница в объеме HDD у MacBook?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Пишу с MBP15 2014.
    По железу восхитителен:
    - отличный экран
    - долго держит заряд
    - конструктивно очень хорош - на дне нет отверстий для кулеров - они выводят воздух наверх перед монитором - можно свободно положить на одеяло и не беспокоиться о перегреве.
    - приятная на нажатие клавиатура (у меня американская раскладка, так что есть вопросы по расположению)
    - о существовании кулера внутри узнал через 2 месяца использования, когда пару виртуалок запустил + несколько браузеров с десятками вкладок + много не закрытых приложений. В реальной жизни он вообще бесшумный
    - отличная работа жестами - такого качества я ни на одном компе на Windows не видел (Surface Book даёт надежду). Действительно удобно переключать рабочие столы. Тачпад очень большой - им действительно не напряжно пользоваться без мышки.

    Windows 10 на мой взляд лучше MacOS - если много времени провели на винде - будете долго ругаться матом из-за мелочей которые вымораживают:
    - управление окнами ужасное - вы не можете просто взять и перетащить окно вправо или влево (а в Windows 10 ещё и по углам) чтобы окно заняло половину экрана. Это просто жестоко бесит. Хорошо что нашёл решение - программа SizeUp позволяет такое делать по горячим клавишам. Разделение экрана на две части добавленное в El Capitan - полная хрень, вообще не понятно зачем созданная - абсолютно не юзабильно.
    - переключение языка по умолчанию Cmd + Пробел (читай Win + пробел) и стандартными средствами ОС вы не сможете сделать Alt+Shift, Ctrl+Shift или что вы там любите (это вообще бред какой-то)
    - хорошо что в El Capitan добавили пункт "Переименовать" в контекстное меню - в проводнике он был, а чтобы узнать как переименовать папку на рабочем столе - каждый раз в Google залезал.
    - но при всём при этом она не тормозит вообще, вот прям совсем.

    По поводу виртуалок - работают отлично, совсем без тормозов (Пользуюсь VirtualBox). На Windows 10 Visual Studio как родное работает. Установку Windows как второй операционки не пробовал.

    Вообще я не капли не жалею что перешёл на Mac (но во время презентации Surface Book слюнки текли - успокаивал себя тем, что там экран всего 13 дюймов). А уж если надумаете брать что-то на Windows - я бы всё-таки посмотрел на честного конкурента по цене, а не в два раза меньше, коль есть возможность - думаю, там есть действительно достойные альтернативы.
    Ответ написан
    2 комментария
  • На сколько точны эмуляторы устройств в брузерах?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Чуть дополню ответ Дмитрий Королёв. У меня основную боль вызывала не отрисовка, а поведение устройства - что будет происходить когда откроется клавиатура, когда сделаете свайп за край и т.п. Это даже на эмуляторах как-то не очень тестировать - не чувствуешь как устройством в руке будешь пользоваться, но если речь идёт о простом сайте без заморочек и если совсем негде тестить - то браузер лучше чем ничего.
    Ответ написан
    Комментировать
  • Как в textarea убрать scrollbar, сохранив возможность прокрутки (например колесом)?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Кладёте textarea внутрь div c overflow: hidden и шириной меньше textarea на 20px (а в идеале, если буквы вылезают за край, подсчитать ширину динамически)
    Ответ написан
    Комментировать
  • Где синтаксическая ошибка в коде?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Если я вас правильно понял, вам нужен такой результат: jsfiddle.net/Murmurianez/62uzw6sa
    Ответ написан
    1 комментарий
  • Нужен ли поддомен для мобильной версии сайта?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    В моём кейсе были такие причины сделать отдельную мобильную версию (SPA):
    a. Адаптив очень жирный и долго грузится (в общем случае вам нужен Bootstrap и т.п., но можно конечно и свой микровелосипед запилить)
    б. Полнофункциональная мобильная версия не всегда нужна и не всегда хороша (возьмите любой серъёзный проект, а не какой-нибудь бложик), а грузить придётся всё (в мобильной версии мне не нужны почти все библиотеки)
    в. Потенциальные проблемы с SEO

    Придётся поддерживать два кода, но если версия для mobile упрощённая до минимума, то это не должно стать проблемой.
    Будут проблемы с развилкой на какой сайт идти (Как раз решал этот вопрос: https://toster.ru/q/226600)

    Если же сайт достаточно простой то адаптив, наверное, лучший выбор - будет всегда хорошо выглядеть, ссылки всегда будут вести в одно и то же место и гемора на серверной стороне не будет.
    Ответ написан
    3 комментария
  • Почему не работает overflow: hidden для body на всех браузерах ios?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    html, body{
    height: 100%;
    width: 100%;
    overflow: hidden;
    }
    Ответ написан
    Комментировать
  • Сервис для проверки сайта на корректность отображения?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Если Вам для разовой акции, можете воспользоваться триалкой на https://www.browserstack.com
    Ответ написан
    Комментировать
  • На чем сделать интерактивную карту офисов с возможностью простого редактирования?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Я бы сделал по-простому. Берём картинку с карой офиса, а над ней сверху рисуем прозрачные SVG-элементы по форме комнат. При клике на элемент (в режиме админа) он меняет цвет на нужный.
    Snap.svg в помощь, хотя тут можно и без него
    Ответ написан
    Комментировать
  • Как Javascript'ом указать дополнительное условие в зависимости от width браузера?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    if($(window).width() > 800){
    //Тут любой Ваш код
    }
    Ответ написан
    Комментировать
  • Как исправить ошибку nginx 403 forbidden?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Сейчас дам хреновый ответ, но он поможет двинуться в правильном направлении.

    В самом начале nginx.conf есть строчка user www-data;
    www-data это группа пользователей с чьими правами будет запускаться nginx.
    Хреновая часть ответа: чтобы не мучаться можно прописать: user your_root_user_name;
    Оно заработает, но это конечно не для продакшена, но для какого-нибудь тестового чтобы голову не морочить может быть и ОК. А по хорошему, конечно, сделайте нормальную группу пользователей с нормальным правами для запуска.
    Ответ написан
    2 комментария
  • Nginx Как сделать мобильную версию сайта?

    Murmurianez
    @Murmurianez Автор вопроса
    JavaScript Developer
    Вот такое решение у меня получилось в итоге. Нужно чуть причесать, но перенаправление выполняет

    server {
            listen          80;
            server_name     site.ru;
    
            if ($http_user_agent ~* "(iphone|android|blackberry)") {
                    rewrite ^ http://m.site.ru redirect;
                    break;
            }
    
            location / {
                    root /var/www/site.ru/html/application; #статика
                    index index.html;
                    charset utf-8;
    
                    proxy_pass http://localhost:1337; #здесь у нас висит Node.js - отправляем все запросы сюда
                    proxy_set_header        X-Real-IP               $remote_addr;
                    proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
                    proxy_set_header        Host                    $host;
            }
    }
    
    server {
            listen          80;
            server_name m.site.ru;
    
            location / {
                    root    /var/www/site.ru/html/mobile; #статика мобильного сайта
                    index   index.html;
                    charset utf-8;
            }
    
            location /api { #перенаправляем все ajax запросы m.site.ru к api
                    proxy_pass              http://localhost:1337;
                    proxy_set_header        X-Real-IP               $remote_addr;
                    proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
                    proxy_set_header        Host                    $host;
            }
    }
    Ответ написан
    Комментировать
  • Какой самый легкий фреймворк для изучения на JS?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Backbone и не мучайте себе мозг. Поймёте на нём основные концепции(а это поначалу самое сложное) и поймёте чего Вам хватает, а чего нет - а там уж достаточно прокачаетесь чтобы суметь самому выбрать что дальше лучше изучать.
    Ответ написан
    Комментировать
  • Как программисты оценивают стоимость своей работы?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Разработка - высокоморженальный бизнес - Вам не нужно тратиться на станки и т.п. вещи, но поскольку спрос на программистов выше чем предложение, Вам приходится платить больше за получение квалифицированных кадров.

    Рассчитать прибыль с одного программиста реально только в одном (или в похожих) случае - один программист - один проект.

    Представим, Вы - владелец компании и у Вас есть несколько вариантов заработка:
    1. Вы работаете под заказ (выйграли тендер на № милионов) - у Вас уже есть сумма на весь проект - из неё и рассчитываете сколько и каких программистов можете нанять (причём, количество и качество программистов скорее повлияет на качество исполнения и проработки задачи, а не на сам факт выполнения)

    2. Вы стартаперская компания со спонсором. Такие компании нанимают программистов и кодят всё подряд из принципа - сейчас вложимся, а один из проектов выстрелит и покроет затраты на все.

    3. Вы - уже успешный Yandex. У вас есть высокая прибыль, часть которой отдаёте на программистов (и чтоб не убежали и чтобы новых и хороших нанять). Там уже другие порядки мышления - есть общий бюджет на содержание программистов, а там уж определяется эффективность отдельных подразделений - если эффективно - вкладывают, неэффективно - распускают.

    А программисты - просто по рынку ориентируются в выборе зарплаты =) Где лучше и больше туда и.
    Ответ написан
    Комментировать
  • Автоматическое определение адреса пользователя (город улица дом) при заходе на карту, как реализовать?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Гуглить HTML5 Geolocation API. Работать правда не везде будет, но с телефонами проблем быть не должно.
    webmap-blog.ru/obzors/ispolzuem-html5-geolocation-api
    Ответ написан
    Комментировать
  • Что посоветуете для динамической загрузки JS и CSS файлов модулей?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Для JS - RequireJS

    Для CSS подобный код в index.html:
    <script>
    function createLink(src){
                    var link = document.createElement("link");
                    link.type = "text/css";
                    link.rel = "stylesheet";
                    link.href = src + '?v=' + SYSTEM.cssVersion;
                    document.querySelector("head").appendChild(link);
                }
    
                createLink('css/main.css');
                createLink('vendor/select2/dist/css/select2.css');
    </script>


    Суть в том: в сам HTML вставляете с CSS необходимым для отрисовки первой страницы, остальной CSS начнёт подгружаться только после полной отрисовки страницы - без блокировки рендеринга.
    Ответ написан
    Комментировать
  • Как лучше организовать динамическое обновление блоков HTML на JS?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    А чем вам обычный jQuery не подходит?

    По ajax получаете json и делаете обычный .append()/.html()
    Ответ написан
    Комментировать
  • Как отменить отображение html кода для мобильных?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Ну, во первых я бы делал наоборот - по умолчанию видео нет, а вот если человек зашёл с десктопа (или с не мобильного устройтства), то - добавляется.

    Если совем не запариваться то что-то вроде этого: jsfiddle.net/Murmurianez/dxrt6nwx/1
    Ответ написан
    1 комментарий