• Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

    • Перевод
    От переводчика.
    Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

    Статья содержит результаты проведенного им исследования, каким должен быть фавикон (и то что его заменяет), чтобы хорошо отображаться в различных случаях.


    Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



    С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
    Или нет?
  • Инфраструктура разработки приложения на PhoneGap для iOS и Android

      Сегодня я расскажу вам о нашем опыте разработки кросс-платформенных мобильных приложений на основе PhoneGap/Cordova. В проекте используются такие технологии, как HTML5, CSS3 и Angular.js. Grunt применяется в качестве task manager’а, позволяющего упростить и ускорить выполнение рутинных задач. Все сборки компилируются локально во время процесса разработки.


      Источник: build.phonegap.com

      Когда версия готова к этапу тестирования, она компилируется с помощью PhoneGap Build и загружается на Ubertesters — сервис дистрибуции мобильных приложений, который позволяет проводить тестирование быстро и эффективно на всех подключенных устройствах. Приложение поддерживает минимум iOS 6 и Android 4.1 (87.5 % доля рынка).
      Читать дальше →
    • Удобоваримый вызов Java методов из нативного кода

      Существует довольно много приложений под Android, которые совмещают C++ и Java код. Где Java выступает оберткой/прослойкой, а C++ выполняет всю грязную работу. Пожалуй, ярким примером могут служить игры. В связи с этим часто приходится вызывать Java код из нативного для доступа к системным свойствам и плюшкам, которые предоставляет система (переключится на другую активность, послать или скачать что-либо из интернета). Причин много, а проблема одна: каждый раз приходится писать в лучшем случае 5 строчек кода и помнить, какую сигнатуру функции нужно запихнуть в параметр. Потом еще нужно перевести эти параметры в нужный тип. Стандартный пример из туториалов:

      long f (int n, String s, float g); 
      

      Строка-сигнатура для данного метода будет (ILjava/lang/String;F)J.

      Вам удобно это все запоминать? А переводить С-строки в jstring? Мне — нет. Мне хочется писать:

      CallStaticMethod<long>(className, “f”, 1, 1.2f); 
      

      Подробности под катом
    • 50+ лучших дополнений к Bootstrap



        Благодаря популярности CSS фреймворка Bootstrap, для него разработали массу различных дополнений. Даже сейчас вы можете использовать Bootstrap практически для любой задачи при разработке и оформлении вебсайта.

        Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
        Читать дальше →
      • Встраиваем бэкдор в публичный ключ RSA

        • Tutorial

        Привет, %username%!
        Когда я увидел, как это работает, сказать, что я был в шоке — ничего не сказать. Это довольно простой трюк но после прочтения этой статьи вы больше никогда не будете смотреть на RSA по-прежнему. Это не взлом RSA, это нечто, что заставит вашу паранойю очень сильно разбухнуть.
        Читать дальше →
      • Black Swift: зачем мы его сделали

          Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

          Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



          Если коротко: хотя изначально проект начинался как «а не сделать ли нам нанокомпьютер как у китайцев, но для себя и подешевле?», мотивация довольно быстро сместилась — мы поняли, что можем сделать его если не дешевле, то лучше и удобнее, и не только для себя.

          Читать дальше →
        • Taxer — налоговый справочник онлайн

            image У меня есть мечта: однажды система налогообложения станет прозрачной, доступной для понимания и продуманной с точки зрения удобства предпринимателей. К сожалению, на текущий момент налогообложение Украины стоит по простоте ведения на 181 месте из 183 и служит скорее обогащению бюджета на штрафах, чем развитию малого бизнеса. Упрощенная система все больше становится номинальной с выходом новых указов, снова и снова заставляющих погружаться в дебри законопроектов. Доходит до того, что сама налоговая вынуждена публиковать разъясняющие свои же требования письма.

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

            Прошу под кат украинских предпринимателей на упрощенной системе налогообложения
          • Альтернативные аллокаторы памяти

            • Перевод
            Написал Стивен Тови в 2:29 утра по программированию (шутка юмора Google Translate)
            Вступление от себя: эта заметка, прорекламированная Алёной C++, предназначена в основном разработчикам игр для консолей, но будет, наверное, полезна и всем, кому приходится сталкиваться с экстремальным аллоцированием динамической памяти. Возможно, любители посравнивать управление памятью в C++ и Java тоже найдут над чем задуматься.

            Оригинал с небезынтересной дискуссией в комментариях: altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new


            Обязательная вступительная басня

            Мне очень нравятся суши. Это вкусно и удобно. Мне нравится, что можно с бухты-барахты, не тратя целый обеденный час, зайти в суши-ресторан с конвейером, занять место и взять что-то свежее и вкусное с ленты. Но при всём при этом, чего мне реально не хотелось бы, так это быть официантом в суши-ресторане, особенно если бы моей обязанностью было бы рассаживать посетителей по местам.

            Сейчас объясню, почему...
          • Тестирование в Java. TestNG

            • Tutorial

            Наверняка все знакомы с таким понятием как test-driven development(TDD). Наряду с ним также существует такое понятие, как data-driven testing(DDT, не в обиду Шевчуку) — техника написания тестов, при которой данные для тестов хранятся отдельно от самих тестов. Они могут храниться в базе данных, файле, генерироваться во время исполнения теста. Это очень удобно, так как один и тот же функционал тестируется на различных наборах данных, при этом добавление, удаление или изменение этих данных максимально упрощено.

            В предыдущей статье я рассмотрел возможности JUnit-а. Там примерами такого рода подхода могут служить запускалки Parameterized и Theories, в обоих случаях один тест-класс может содержать только один такой параметризированный тест(в случае Parameterized несколько, но все они будут использовать одни и те же данные).

            В этой статье я заострю внимание на тестовом фреймворке TestNG. Многие уже слышали это название, и перейдя на него, вряд ли желают вернуться к JUnit-у(хотя это только предположение).
            Читать дальше →