• ListView в Android: Кастомизация списков

    • Translation
    Продолжение статьи о ListView в Android, в котором мы рассмотрим более сложные примеры его использования, такие, как иконки на элементах списка и добавление чекбоксов к этим элементам. Так же мы рассмотрим возможности по оптимизации кода.
    Читать дальше →
  • Automatic Reference Counting: часть 1

    • Translation
    Здравствуйте, коллеги.

    Давно читаю блоги и статьи зарубежных разработчиков под iOS. И на днях попалась любопытная, довольно подробная статья об Automatic Reference Counting от разработчика по имени Mike Ash.
    Статья довольно большая, потому перевод, сделанный мною, рискну разбить на несколько частей. Надеюсь, что уложусь в 2 части.
    Часть первая
  • Реалистичный пейзаж в Ogre 3D

    Привет.
    Прочитав на хабре несколько интересных статей об одном из самых мощных рендер-движков Ogre3D, я решил поделиться своим опытом в деле моделирования с помощью него реалистичного пейзажа с атмосферными эффектами, водной поверхностью и буйной растительностью. Под катом — рецепт прикручивания к Ogre всех необходимых для этого библиотек.
    Читать дальше →
  • Создание приложения на framework Cocos2d под iOS

    Здравствуйте, хабражители!

    Первая моя игра была написана iPhone SDK про писающего мальчика, она очень тормозила на 3G и 3GS. Вторую сделал с меньшей нагрузкой на процессор, при этом я уже слышал о cocos2d, прочитав документацию про него, я решил к SDK, больше не возвращаться и начал программировать под эту платформу. В этой статье я не буду описывать как устанавливать cocos2d, это описано здесь, постараюсь не повторяться с этим постом. Могу лишь добавить есть стабильная 1.0.1 версия. В этой статье я расскажу как создать меню, анимацию и переход между слоями.

    Итак, к делу.
    Читать дальше →
    • +25
    • 10.7k
    • 9
  • Быстрое создание нагрузочных тестов на JMeter для web-сайтов

    imageДля любого программного приложения, предназначенного для массового обслуживания пользователей, необходимо проводить нагрузочное тестирование на предмет его надежности и отказоустойчивости. А так как любой web-сайт — это по своей сути система массового обслуживания, то проверка его на отказоустойчивость всегда является неотъемлемой частью разработки. Существуют различные решения для проведения нагрузочного тестирования веб-приложений. Я не буду сейчас описывать их подробно, про некоторые из них есть упоминания здесь.

    В этой статье я хочу поделиться своим опытом использования такого средства, как Apache JMeter. После того как мною были перепробовано с десяток различных подобных инструментом, в итоге я остановился именно на JMeter, так как его возможности с лихвой охватывали мои цели и задачи. И при этом данное программное средство весьма быстрое и легковесное.

    Для тех кто ни разу не использовал JMeter, рекомендую для начала почитать базовые обзоры, например, Простой нагрузочный тест с Apache JMeter. Когда я первый раз запустил данную программу, первая мысль была разобраться во всем методом «тыка», но как выяснилось это вообще нереально, и метод «тыка» неприменим к JMeter. Поэтому если хотите его использовать, то сразу открывайте мануал, поверьте, вам придется заглядывать туда очень часто, пока полностью не разберетесь, что и как. Я же здесь сейчас опишу самое очевидное и важное, а именно: как собственно создавать нагрузочные тесты. Если бы я в свое время сразу нашел подобную статью, то сэкономил бы без малого день на изучении этой софтины.
    Читать дальше →
  • Новые смайлы в Skype 5.5

      В дополнению топика Скрытые смайлы в Skype допишу новые смайлы которые появились в обновленном скайпе версии 5.5

      Итак, вот они:

      image «это провал» или «о нет» = (facepalm) или (fail)
      image«работаю из дома» = (wfh)
      image«скрестил пальцы» (на удачу) = (yn), (fingers), (fingerscrossed), или (crossedfingers)
      image«ляляляляля, я тебя не слушаю» = (lalala), (lala) или (notlistening)
      image «заждался» или «ну сколько можно» = (waiting), (forever), or (impatience)
      image«дай пять» = (highfive), (hifive), or (h5)
      image«перекати поле» = (tumbleweed)

      Взято из официального русского блога скайпа

      UP: Разработчики указали что спрятали еще 2 смайла, про которых нигде не упоминалось. Один смайл нашелся =(wtf)
      Другой тоже = (hollest) (спасибо dazran). Думаю это не все
    • Быстрый полнотекстовый поиск ElasticSearch

      image
      При разработке высоконагруженных сайтов или корпоративных систем частенько возникает проблема с разработкой быстрого и удобного поискового движка. Ниже перечислены наиболее важные, на мой взгляд, требования к такому движку:

      • Скорость
      • Простота установки и настройки
      • Цена (желательно бесплатно и с открытым кодом)
      • Обмен информацией в формате JSON (по HTTP)
      • Масштабируемость (возможность распределения на несколько серверов)
      • Индексация в режиме реального времени
      • Multi-tenancy (гибкость в настройках под индивидуального пользователя)
      • Возможность переноса системы в облако

      Хочу рассказать вам о новом поисковом движке Elasticsearch, который полностью удовлетворяет всем этим требованиям. В статье будет краткое описание, ссылка на авторитетную презентацию, а также описание установки и работы с ним.
      Читать дальше →
    • Хитрости и трюки при использовании Wine

      image

      Всем привет!
      Прочел статью про «Все тонкости настройки Wine», оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.

      В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
      Скорее всего данный пост будет интересен новичкам и обычным пользователям GNU\Linux. Тем не менее добротные советы от специалистов не будут лишними.
      Читать дальше →
    • Unity — бесплатный кроссплатформенный 3D движок (и браузерный тоже)

      Преамбула


      Итак, сегодня я хотел бы рассказать вам о Unity (тем, кто ещё не знаком с ним, по крайней мере). Безусловно, на Хабре есть люди, которые знают, что это такое, но поиск выдаёт катастрофически малое количество топиков с упоминанием сабжа — два из них просто сообщают о новых версиях, один кратко презентует и ещё один посвящен всё-таки его использованию. «Непростительно, надо это исправить!», — подумал я, и решил написать краткий презентейшн с целью популяризации технологии. Если вы уже в теме — дальше можете не читать.

      Честно говоря, когда я читал на википедии о бесплатном (по крайней мере, с вполне нормальной по функционалу фришной лицензией) 3d движке с нормальным IDE, встроенной нормальной физикой, аудио-движком и прямой реализацией сетевого мультиплеера на котором можно делать приложения для всего, кроме, пожалуй, nix'ов (поддерживаются и нормально работают Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3, XBox 360), я уже чуял подвох.
      Читать дальше →
    • Unity3D для начинающих — Туториал 1

        Предисловие


        Хабралюди проявили некоторый интерес к Unity, поэтому открываю этим постом цикл туториалов, освещающих основные моменты работы с объектом (цикл неопределённой пока длительности — если кому окажется полезным продолжу).

        Сразу говорю — чтобы снизить порог вхождения, рассказывать буду с рассчетом на людей, которые в жизни никогда ничем подобным не занимались. Так как самым простым в реализации основной функциональности будет сделать простенький шутер, с него и начнем. В этом уроке мы поговорим о том, как создать землю, небо, управляемого персонажа, о камере, через которую мы будем смотреть на небо и солнце и немного о стрельбе красными шарами по белым кубам. Итак,
        Читать дальше →
      • Unity3d script basics



        Предисловие


        Эта статья будет посвящена новичкам в скриптовании Unity, но не совсем новичкам в синтаксисе JavaScript’а или любого другого подобного языка программирования. Тут надо маленько уточнить что JavaScript который использует Unity немного отличается от оригинального в пользу улучшенной поддержки ООП и называется соответственно Unity JavaScript. В нем например появились классы и их наследование, о чем не знают начинающие разработчики на Unity знакомые с объектно ориентированными возможностями оригинального JavaScript, поэтому отвергают его используя C# или Boo.
        Читать дальше →
      • 2d на Unity3d

        • Tutorial
        В свое время, в начале разработки двухмерной игры на Unity3d, мне пришлось перерыть кучу документации, сайтов, проштудировать answers.unity3d.com и forum.unity3d.com на тему: как сделать 2d-игру на этом 3d-движке. Самыми первыми вопросами были: как правильно настроить камеру, как сделать 2d-спрайт так, чтобы он отображал текстуру «пиксель в пиксель». На то время уже существовал SpriteManager (далее – SM) и даже SM2 с его мощной поддержкой редактора. Судьба сложилась так, что я не мог его тогда купить, да и пробной версии не было. В итоге, мне пришлось самому написать несколько полезных скриптов для реализации 2d на Unity3d. О том, как это сделать, пойдет речь в этой статье.

        "
        Читать дальше →
      • Разработка под Android с использованием Linderdaum Engine

          Привет хабрасообщество!

          Тема написания приложений под андроид на С++ незаслуженно забыта. Сегодня мы узнаем как писать многоплатформенные приложения под Android используя Linderdaum Engine.

          Читать дальше →
        • SkypeTab — вкладки для линуксового скайпа. Теперь под любые оконный менеджер и панель

            Устарело, см. свежую версию тут.

            • Если Вы не пользуетесь Linux или Skype, то этот пост не для Вас.
            • Если Вы настроили себе мост в Pidgin и теперь все 3.5 скайпоконтакта у Вас в этом списке, то этот пост не для Вас.
            • Если Вас устраивает то, как скайпоокна группирует KWin, и не смущает тот факт, что они как в таскбаре место все дружно занимали, так и занимают, то этот пост тоже не для Вас.
            А вот если Вы активно пользуетесь скайпом, активно переключаетесь между несколькими конфами и хотите удобного нативного интерфейса, то рекомендую всё же ознакомиться.



            Когда я разрабатывал предыдущую версию, я упёрся лбом в стену. Все попытки поправить косяки упирались в «умные» оконные менеджеры, лучше меня знающие, где должны находиться окна, и в кривые утилиты таскбара (да-да, gnome-panel в их числе), игнорирующие SKIP_TASKBAR_HINT, если он не был установлен до появления окна на экране. Знаете, я тогда сдался.

            Но на прошлой неделе на переходе в метро меня кто-то толкнул и я полетел вниз с лестницы. В нижней точке полёта, в момент удара лбом в стену, в тот чудесный миг, я осознал, что никакой стены на самом деле нет. Нет, мне потом в больнице рассказали, что стена на самом деле была, причём даже бетонная. Но я сейчас про ту метафорическую стену из предыдущего абзаца.
            Читать дальше →
          • Droider Chart 48 HD. Хит-парад приложений для Android

              Здравствуйте, друзья,

              Сегодня вас ждет необычный выпуск Droider Chart'а. Буковки «HD» стоят в названии топика неспроста. В этот раз мы собрали пятерку самых интересных приложений для планшетов на Android, в котором нашлось место и полезным офисным программам, и приложению для творческих личностей, и отличной игрушке. Смотрим:



              А вот и список сегодняшних героев:
              • Picsel Smart Office – карманный офис с необычным дизайном
              • SketchBook – отличная рисовалка от Autodesk
              • Wyse PocketCloud – удаленный рабочий стол для Android
              • Can Knockdown 2 – красивая и меткая игра
              • Thumb Keyboard – клавиатура для больших экранов
              Другие выпуски Droider Chart →
            • Подборка 10 css3 кнопок

                С каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.



                В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
                Читать дальше →
              • Habrahabr Sausage Navigation

                  Сегодня в рассылке DayliJS я открыл для себя одно прекрасное расширение — jQuery Sausage, которое позволяет добавлять на страницу очень удобную схему навигации — блоки, разделенные заголовками, масштабируются относительно высоты контента и отображаются как diff-аннотации в WebStorm или NetBeans (нечто подобное можно видеть слева поста).

                  image
                  Картинка кликабильна ведет на пример jQuery Sausage

                  Это очень удобный способ навигации по большим спискам статей и по параграфам статей. Эксперимента ради я решил воссоздать этот плагин отдельно от jQuery и jQuery UI и заточить его под хабр (оригинальный плагин тянет за собой несколько Кб лишних скриптов). Моё расширение сканирует блоки статей или блоки заголовков и отображает их в виде цепочки блоков. При наведении на блок отображается заголовок, по клику на блок страница скроллится на соответствующий заголовок страницы. К сожалению, не все посты хорошо отформатированы, поэтому такой способ навигации не всегда эффективен. Т.к. это эксперимент, то некоторые фичи jQuery Sausage пока урезаны.
                  Читать дальше →
                • RoboGuice или «Андроид подсел на инъекции»

                    imageRoboGuice — это библиотека, которая позволяет пользоваться всеми преимуществами Contexts and Dependency Injection при разработке приложений на Андроиде.
                    Как несложно догадаться, RoboGuice основан на Google Guice.
                    Сразу оговорюсь, что в качестве перевода слова «injection» я буду использовать слово «инъекция».

                    Зачем колоться?


                    Думаю, что у многих читателей сразу возникнет вопрос: «Зачем эти сложности с CDI на мобильной платформе? Наверняка это всё занимает много места и медленно работает.»
                    Попробую убедить таких читателей в обратном, а именно в том, что CDI на мобильной платформе очень даже жизнеспособен и существенно облегчает жизнь разработчикам.
                    Читать дальше →
                  • Канобувости, 84-й выпуск



                      Приветствуем всех дорогих, но, увы, скрытых от нас зрителей! Как бы хочется увидеть ваше лицо, рассказать только то, что вы хотите услышать. Думаете, мы издеваемся? Отнюдь – зато разработчики игр грешат этим постоянно. К примеру, авторы пятого «Хитмэна», подумать только, показали картинку из грядущей игры!

                      Смотрите в этом выпуске:

                      Duke Nukem Forever – опять не вовремя;
                      Crysis 2 – синдром преемника;
                      Black Prophecy — секретные материалы;
                      Nintendo 3DS — пророчество Пантелеймона;
                      Steam – давление зашкаливает.

                      Читать дальше →
                    • Web Platform Installer: обзор третьей версии

                        Совсем недавно выпущена третья финальная версия Web Platform Installer (WebPI) – инструмента, который позволяет быстрее всего развернуть рабочее место веб-разработчика и проще всего установить необходимые веб-приложения из большого набора готовых шаблонов.

                        В этой статье дается обзор третьей версии WebPI с перечислением изменений по сравнению со второй версией и описанием функционала, который будет полезен каждому веб-разработчику (и не только).

                        Что такое Web Platform Installer?


                        imageПовседневная работа веб-разработчика состоит из использования ряда инструментов для создания новых проектов или работы со структурой одного большого проекта. В качестве таких часто используемых инструментов можно перечислить следующие: среда разработки (IDE), сервер баз данных и инструменты по работе с базами данных, сервер приложений и сопутствующие инструменты, шаблоны готовых приложений (CMS, форумы, блоги, wiki-движки и так далее).

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

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

                        Таким удаленном хранилищем и является Web Platform Installer. C помощью WebPI вы всегда имеете доступ к самым последним версиям инструментов веб-разработки, создания и редактирования баз данных, шаблонам веб-приложений самых последний версий. Кроме того, при всем богатстве выбора WebPI предлагает все инструменты бесплатно.

                        Читать дальше →