Задать вопрос
  • На одном из моих сайтов больше 40% посетителей пользуются IE6. Что делать?

    Stdit
    @Stdit
    Нет. Не оптимизируем под ИЕ6. Более того, сейчас все заказы содержат «HTML5» и полный отказ от всех ИЕ до девятки (а в одном было даже «желательно чтобы работал в ИЕ9, если будет на это время». Это счастье.
    Но оговорюсь, что это социально-развлекательный сектор. Для бизнес-сектора дела могут обстоять совсем по-другому.
    Ответ написан
    2 комментария
  • Как не завянуть программисту?

    Stdit
    @Stdit
    Активный отдых на свежем воздухе, безусловно, нужен. В первую очередь это двигательная активность, и лучше это делать, конечно же, за пределами крупных городов. Насчет необходимости солнечного света не уверен, люди всё-таки не растения, хотя какой-то синтез идёт с участием ультрафиолета (холекальциферол, витамин D). Из простых наиболее близки к солнечному спектру лампы накаливания, но с ультрафиолетом у них проблемы.
    Ответ написан
    Комментировать
  • Почему слышно «ультразвук»?

    Stdit
    @Stdit
    Системный динамик не способен генерировать правильный синусоидальный сигнал, а прямоугольный ультразвуковой сигнал скорее всего сливается в один большой прямоугольный импульс, начало и конец которого слышит ухо.
    Ответ написан
    2 комментария
  • GD или imagemagick. Как вырезать многоугольник из изображения?

    Stdit
    @Stdit
    Эмм… сота это шестиугольник. :)
    Можно попробовать сделать как-то так:
    1. Копируем прямоугольник, описывающий нужный нам многоугольник, и вставляем во временное изображение.
    2. Вычисляем области, которые нужно срезать, формируем из них треугольники.
    3. Заливаем эти треугольники прозрачным цветом.
    4. Получившийся шестиугольник копируем (в виде прямоугольника) и вставляем в другую картинку.
    Ответ написан
    2 комментария
  • Меня штормит от параллакс-эффекта. Я ненормальный?

    Stdit
    @Stdit
    Я вообще не люблю пользоваться «дизайнерскими» сайтами с наворотами, от которых голова идёт кругом, и обожаю классику в 2-3 колонки без параллаксов и залипающих шапок, на белом фоне. Может это инертность и привычка, а может лень разбираться в потрясающих анимированных меню навороченных интерфейсов, которые обычно ещё раздражают тем, что грузятся по несколько секунд и тормозят на машинах слабее той, что была у создателя и кушают заряд аккумулятора. Хотя да, выглядеть это может красиво и «современно», и вполне допустимо для для промо-сайтов, на которые после получения эстетического удовлетворения никто не должен возвращаться.
    Ответ написан
    Комментировать
  • Какой из шрифтов плохо поддаётся OCR, но при этом сносоно читается человеком?

    Stdit
    @Stdit
    Любой шрифт можно распознать, если буквы одинаковые и нет помех (похожих на элементы букв). Теоретически, распознавание тем сложнее, чем сильнее буквы похожи друг на друга (например «О» на «П») или пересекаются. Усложнить задачу можно искажением букв (поворот, нелинейное сжатие, позиционирование и т.д.) и вводом собственно шума (каких-нибудь линий цвета текста, пересекающих буквы). Но тогда, как вы сказали, получится большая капча, которой читатель вряд ли будет рад.
    Ответ написан
    3 комментария
  • Разработка за МакОСью: организация рабочего места?

    Stdit
    @Stdit
    IDE и прочие инструменты — в Макоси, в местах по умолчанию, не вижу смысла тут что-то мудрить (приложения в Applications, git из package, документы и проекты — в соответствующих разделах пользовательской директории). Серверные окружения для тестов, с серверами, базами и логами — на соответствующих виртуалках. Деплой на виртуалку либо автолоадом из IDE, либо гитом.
    Ответ написан
    Комментировать
  • Допустим ли подобный минимализм в форме авторизации?

    Stdit
    @Stdit
    Даже если это решение удобнее, чем классическое, это не означает что оно понятнее пользователю. Это зависит от вашей аудитории. Попробуйте дать такую форму рядовому пользователю и понаблюдать его действия, мне кажется, будут затруднения. Пользователь привык делать так, как он это делал на множестве других сайтов. Кстати, а где кнопки авторизации-регистрации через внешние сервисы, вроде фейсбука?
    Ответ написан
    1 комментарий
  • Кому нибудь удавалось улучшить зрение без операции?

    Stdit
    @Stdit
    Этот тип близорукости связан с ненормальным ростом глазного яблока. Причина этому, по одной из версий — злоупотребление близкой фокусировкой во время роста яблока (в детстве), например чтение или компьютер. Вряд ли получится исправить это как-то иначе, чем операцией. Особенно, если осложнено астигматизмом. В любом случае, лучше проконсультироваться с несколькими офтальмологами.
    Ответ написан
    1 комментарий
  • Существуют ли какие-либо сервисы, которые бы помогали в решении творческих задач?

    Stdit
    @Stdit
    «Алгоритмы, занимательные задачи», вам нужен мозговой штурм? Почему бы не задать этот «творческий вопрос» прямо здесь, возможно найдутся желающие размять мозги.
    Ответ написан
    Комментировать
  • Где найти команду для стартапа?

    Stdit
    @Stdit
    Да ладно, на фрилансах и всяких hh полно свободных стартапщиков и команд, стоит только разместить оффер с подходящей суммой. В частности, я занимаюсь изготовлением стартапов уже не первый год, и не вижу в этом ничего «дурного», и бум, к счастью, не прошёл. Единственная проблема — почти никто не выживает дольше окончания рекламной кампании, несмотря на амбициозные планы и заказ отказоустойчивых и распределённых архитектур под «высокие нагрузки». Но я верю, что у вас всё получится. Рассказывайте идею.
    Ответ написан
    Комментировать
  • Где взять карму?

    Stdit
    @Stdit
    Если это обычный серый интернет-магазин, который срывает сроки и ничего не гарантирует, то вряд ли статье здесь место. Хабр — IT-блог, а не жалобная книга, всё-таки. Тем более, что вы в статье восемь раз упомянули её название и четыре раза адрес. Просто оставьте негативный отзыв в Яндексе и других ресурсах. Сам я предпочитаю покупать только в тех магазинах, в которых оплата осуществляется только после вскрытия и проверки недостатков товара в присутствии курьера.
    Ответ написан
    2 комментария
  • В свете запретов, почему не использовать шифрование на уровне HTTP-заголовков?

    Stdit
    @Stdit
    Потому что до уровня HTTP-протокола фильтры, вроде как, ещё не добрались. Сайты блокируются по айпи и по домену. Блокировку по домену можно легко обойти, прописав неблокирующий DNS, а ещё лучше поставив DNSCrypt. А блокировку по айпи — через VPN.
    Ответ написан
    1 комментарий
  • Не всегда доходят данные от сервера на NodeJS клиенту?

    Stdit
    @Stdit
    Возможно, это связано с неправильной обработкой потока из сокета (сероятнее всего, на клиенте), поскольку вы не пользуетесь carrier или другой буферизацией/делением. Событие data не означает, что в нем содержится именно так строка, которую послала вторая сторона. Там может быть часть из неё, а может быть и несколько строк сразу (зависит от размера данных и размера буфера передачи). Таким образом, данные могут быть потеряны, если например две команды сервера попадают в одно событие «data», заваливая распознавание пакета (на клиенте, в частности, в зависимости от реализации). На этот камень я наступал, способ решения — carrier, какой-нибудь сокетный фреймворк или свой вариант протокола верхнего уровня. Вот пример демонстрирующих тестов:
    Скрытый текст
    // server.js
    var net = require('net');
    var server = new net.Server();
    
    process.on('uncaughtException', function (err) {
        console.log(err.stack);
    });
    
    server.listen(12345);
    server.on('connection', function (connection) {
        console.log('connection');
        connection.on('data', function (data) {
            console.log('server data', data.toString());
            connection.write(data);
        });
        connection.on('end', function () {
            console.log('server end');
        });
    });
    

    // client.js
    var net = require('net');
    var client = new net.Socket();
    
    process.on('uncaughtException', function (err) {
        console.log(err.stack);
    });
    
    client.connect(12345);
    client.on('connect', function (connection) {
        console.log('connect');
        client.on('data', function (data) {
            console.log('client data', data.toString());
        });
        client.on('end', function () {
            console.log('client end');
        });
    });
    
    setTimeout(function () {
        "use strict";
        client.write('string1');
        client.write('string2');
    }, 100);
    
    setTimeout(function () {
        "use strict";
        var i = 100000;
        var string = '';
        while (i--) {
            string += i;
        }
        client.write(string);
    }, 200);
    
    setTimeout(function () {
        "use strict";
        client.write('string3');
        client.end('string4');
    }, 300);
    


    Если моё предположение неверно и вы об этом позаботились, тогда нужно делать tcpdump с фильтром по порту, и смотреть, что и куда приходит и уходит.
    Ответ написан
  • Сложный запрос к БД

    Stdit
    @Stdit
    Этой проблеме много лет, и о ней много написано на разных ресурсах (search). Помимо предлагаемых вариантов запросов разной степени жуткости, можно использовать денормализацию (занесение данных во вспомогательную таблицу-топ на триггерах или по крону).
    Ответ написан
    Комментировать
  • Кажется, это называется обратный хэш?

    Stdit
    @Stdit
    Потенциально решаемо, но надо знать алгоритм, соль и арендовать огромный запас вычислительной мощности. К тому же, решений скорее всего будет несколько, и совсем не таких, как вы ожидаете. Так что «вытащить» email-ы пользователей из базы данных вряд ли получится, собственно для этого они и хешируются.
    Ответ написан
    Комментировать
  • Выбор технологии для сервера TCP-соединений

    Stdit
    @Stdit
    К перечисленному добавлю, что многие хвалят nodejs в плане «огромное количество соединений» и скорости разработки. Я его тоже использовал в качетсве tcp-сервера в двух проектах, но они не особо наргужены, поэтому рекомендвоать однозначно пока рановато. Асинхронная архитектура ECMAScript вкупе с событийной моделью понравились. Скорость работы хорошая. Сборщик мусора пока что не подводил. Хотя могут быть и грабли. Например, я не нашел там поддержки TCP_KEEPCNT и других опций setsockopt.
    Ответ написан
    Комментировать
  • Куда именно память утекает в PHP?

    Stdit
    @Stdit
    или xhprof
    Ответ написан
    Комментировать
  • Создание тестового окружения для разработки сайтов

    Stdit
    @Stdit
    У меня несколько вритуальных машин для тестов с разной конфигурацией сервера. При необходимости любую машину можно легко клонировать и ставить туда обновления или что-то ещё. В случае, если вам нужен не индивидуальный, а именно общий сервер, виртуальные машины можно поставить на один из постоянно работающих компьютеров и сделать их членами офисной сети.
    Ответ написан
  • Убрать альфа-канал у пачки png?

    Stdit
    @Stdit
    Вот так можно отрендерить все полупрозрачные png-шки в папки на чёрный (или другой) фон с помощью imagemagick:
    find . -name "*.png" -exec convert {} -background black -flatten +matte {}.converted.png \;
    

    В случае с 8-битными картинками, ещё, возможно, понадобится ключик -type palette.
    Ответ написан
    Комментировать