• Как раскрыть мощь HTML5 Canvas для игр

    • Перевод
    • Tutorial


    Браузеры, поддерживающие HTML5, и платформа HTML5 для Windows 8 Metro сегодня становятся серьезными кандидатами для разработки современных игр.

    Благодаря canvas, у вас есть доступ к аппаратно-ускоренной поверхности, на которой вы можете отображать контент вашей игры и с помощью некоторых трюков и ухищрений вы сможете достигнуть великолепной производительности рендеринга до 60 кадров в секунду. Подобная непрерывность действительно важна в играх, так как чем плавнее игра (анимация), тем лучше чувствует себя игрок.

    Цель данной статьи — дать вам несколько подсказок, как выжать максимум мощности из HTML5 Canvas. Статья состоит из двух основных частей [вы читаете первую]. David Rousset скоро опубликует вторую часть.

    В статье я буду показывать ключевые идеи на одном и том же примере — это эффект 2D-туннеля, который я написал для Coding4Fun-сессии на TechDays 2012 во Франции.
    Читать дальше →
  • Командное взаимодействие во время соревнований CTF

      Нет, это не про Quake. Статья будет интересна тем, кто уже знает, что такое соревнования CTF и принимал участие хотя бы в одном подобном мероприятии. Для тех, кто не знает, CTF(Capture The Flag) — соревнования в сфере информационной безопасности, основной целью которых является захват т.н. «флагов», которые в дальнейшем превращаются в очки.

      Соревнования длятся 24–48 часов, часто без перерыва, что требует от участников обладания огромным багажом знаний и опыта. Немаловажным фактором является возможность быстрого обмена информацией/знаниями в режиме реального времени. Таким образом, CTF можно рассматривать как модель сжатого во времени процесса, связанного одновременно с анализом данных, мозговым штурмом, поиском и эксплуатацией уязвимостей, разработкой ПО.

      Читать дальше →
    • Создать отдел тестирования — просто

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

        Вопрос эффективности и рациональности я ставлю во главу угла, поэтому вопрос быть или не быть практике тестирования нужно обсуждать не в этом разделе. Кому не нужно тестирование и кто хочет сделать это самостоятельно силами разработчиков — могут не читать далее :) или все-же взвесить аргументы:
        1. Профессия тестировщика не нуждается в обосновании, жизнь доказала потребность :)
        2. Независимое тестирование позволяет выполнять работу для нескольких подразделений, продуктов или проектов.
        3. Сложные виды тестирования требуют организационной формы для закупки инструмента, который будет использован (и амортизирован) для нескольких подразделений, продуктов или проектов.
        4. Тестирование на этапе приемки в корпорациях выполняется для большого спектра продуктов или технологий.
        5. Тестирование длительных жизненных циклов требует взаимозаменяемости участников и групповой (не только персональной) компетенции, например, тесты сопровождаемых систем со стороны заказчика или организации внедрения или сопровождения.

        Disclimer: универсальных рецептов не бывает, автор исходит из опыта создания и развития практики тестирования в крупных ИТ-компаниях и не претендует на истину во всех инстанциях :)
        Читать дальше →
      • Переводим в код 5 действительно полезных шаблонов адаптивной разметки

          Приветствую всех.

          Недавно наш хабраколлега опубликовал интересную статью об адаптивной разметке.
          Уже не далеко то время, когда мы будем уделять верстке под все разрешения намного больше внимания, нежели делаем это сейчас. Посему считаю нужным подходить к этому периоду подкованным в данном вопросе, ну или хотя бы иметь четкое представление, что это такое и с чем его едят. Запасаемся смартфонами и таблетками.
          Читать дальше →
        • Онлайн-курсы Stanford University, Berkley и MIT в доступном виде



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

            Пример такого поста: habrahabr.ru/post/139542

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

            Уверен, что курсов по данным дисциплинам, информативнее и понятнее выложенных, в природе не существует.

            Под катом ссылки и список того, что было выложено, что ещё предстоит выложить…
            Читать дальше →
          • Kickstrap — форк Twitter Bootstrap с темами и бонусами

              image
              Kickstrap это то, что будет если соединить Twitter Bootstrap, HTML5 Boilerplate, значки от IcoMoon и Font Awesome, добавить проверенные jQuery плагины Chosen и jGrowl, включить поддержку разных цветовых схем и тем оформления Bootswatch, дополнительную CSS сетку и вменяемую поддержку ранних версий IE.
              Читать дальше →
            • Насколько большие массивы (и значения) в PHP? (Подсказка: ОЧЕНЬ БОЛЬШИЕ)

              • Перевод
              В этой статье я хочу исследовать расход памяти у массивов (и значений в целом) в PHP используя следующий скрипт в качестве примера, который создаёт 100 000 уникальных целочисленных элементов массива и в конце измеряет количество использованной памяти.
              Читать дальше →
            • StartPSD — в помощь дизайнерам сайтов, автоматизируем работу

                Сегодня решил поделиться с вами своими материалами по автоматизации работы в photoshop. А именно это тот стартовый шаблон с которого я начинаю делать любой дизайн сайта.
                Подправил, добавил, оформил в виде приятного продукта под названием — StartPSD.
                Можно скачивать, редактировать, пользоваться на здоровье!

                Встречайте.
                image
                Читать дальше →
              • 5 действительно полезных шаблонов адаптивной разметки

                  В связи с наплывом интересующихся адаптивной вёрсткой решил перевести эту статью. Пускай полежит здесь.

                  image

                  Адаптивная разметка требует совершенно иного образа мышления при планировании структуры макета, что является одновременно и сложным и интересным. Чтобы перепрограммировать свой мозг, чтобы посмотреть на макеты по-новому, мы собираемся взглянуть на некоторые интересные шаблоны адаптивной разметки, которые были созданы талантливыми дизайнерами по всему вебу.
                  Читать дальше →
                  • +147
                  • 95,8k
                  • 38
                • Выбираем DLP-систему для средней организации

                  image
                  Добрый день, уважаемое хабрасообщество! Не так давно перед нашей компанией встал вопрос, какую из систем защиты от утечек данных выбрать. Под катом собственные мысли по данному вопросу, а также сравнительная таблица с описанием возможностей систем.
                  Читать дальше →
                • Несколько примеров применения Responsive Web Design, или Ваш сайт может и должен быть резиновым

                    Доброго времени суток!

                    Несколько дней назад, гуляя по интернету, я наткнулся на достаточно интересную подборку сайтов, которые следуют, если можно так сказать, практике под названием Responsive Web Design. В двух словах, эта практика подуразумевает создание «резинового» сайта, который будет тянуться в зависимости от размера окна вашего браузера, или же экрана вашего мобильного телефона. Итак, встречайте наших сегодняшних героев!
                    Осторожно! Много трафика под катом!
                  • Создание соединительных стрелок для блочных элементов используя canvas

                    arrows_for_blocksЗдравствуйте!

                    Недавно появилась необходимость сделать простое иерархическое дерево для web страницы (структура организации). Блоки получились неплохие, но когда пришло время соединить все стрелками, возник вопрос – как? Решение было два: рисовать стрелки в .png или же использовать спецсимволы.

                    Но хотелось чего-то более быстрого, удобного, современного – т.е. просто указать: стрелка от блока А к блоку Б. Уже к вечеру была написана небольшая библиотека, позволяющая реализовывать задуманное…
                    Читать дальше →
                  • Восемь принципов программирования, которые могут облегчить вам жизнь

                      Одна из главных проблем в разработке программного обеспечения – борьба с возрастающей сложностью системы. Решением этой проблемы занимаются с времен появления первых программ. Результатами являются языки, всё более упрощающие взаимодействие с машиной, парадигмы программирования вроде ООП, паттерны. В этой статье будут рассмотрены принципы программирования, позволяющие уменьшить сложность и облегчить сопровождение системы.
                      Читать дальше →
                    • Код Хэмминга. Пример работы алгоритма

                        Вступление.


                        Прежде всего стоит сказать, что такое Код Хэмминга и для чего он, собственно, нужен. На Википедии даётся следующее определение:

                        Коды Хэмминга — наиболее известные и, вероятно, первые из самоконтролирующихся и самокорректирующихся кодов. Построены они применительно к двоичной системе счисления.

                        Другими словами, это алгоритм, который позволяет закодировать какое-либо информационное сообщение определённым образом и после передачи (например по сети) определить появилась ли какая-то ошибка в этом сообщении (к примеру из-за помех) и, при возможности, восстановить это сообщение. Сегодня, я опишу самый простой алгоритм Хемминга, который может исправлять лишь одну ошибку.
                        Читать дальше →
                      • Система мониторинга мнений методом поточечной взаимной информации

                        Здравствуйте.
                        Если вы занимаетесь DataMining, анализом текстов на выявление мнений или вам просто интересны статистические модели для оценки эмоциональной окраски предложений — эта статья может оказаться интересной.
                        Далее, чтобы не тратить время потенциального читателя впустую на груду теории и рассуждений, сразу краткие результаты.
                        Реализованный подход работает приблизительно с 55% точностью в трех классах: негативный, нейтральный, позитивный. Как говорит Википедия, 70% точность приблизительно равна точности человеческих суждений в среднем (в силу субъективности трактований каждого).
                        Следует отметить, что существует немало утилит с точностью выше полученной мной, но описанный подход, можно достаточно просто усовершенствовать (будет описано ниже) и получить в итоге 65-70%. Если после всего вышеизложенного у вас осталось желание читать — добро пожаловать под кат.
                        Читать дальше →
                      • Scrum-ban


                          В заказной разработке всегда существует множество особенностей и непредвиденных проблем. Я поделюсь практическим опытом совмещения Scrum и Kanban техник. Расскажу о том, как мы их использовали, адаптировали, оптимизировали для достижения конкретных целей, почему это потребовалось и к чему привело.
                          Читать дальше →
                        • Введение в CSS3 Grid Layout. Работаем с сетками

                          • Tutorial
                          Update: Часть сведений в данной статье устарели. Рекомендую свежие материалы на css-live.ru.

                          Введение


                          intuition game grid

                          Модуль CSS3 Grid Layout — это один из самых интересных, на мой взгляд, модулей в семействе CSS3. Официальная история модуля в виде черновика спецификации насчитывает сегодня чуть менее года. О предварительном анонсе еще с названием CSS Grid Alignment на TPAC 2010 Владимир Юнев писал еще в декабре 2010. Надо также отметить, что с чуть другим названием и несколько отличным синтаксисом, но с той же сутью, он был заявлен в качестве WD еще в 2007г. Сегодня работы по доводке модуля идут полным ходом, предварительная реализация уже есть в Internet Explorer 10 и есть надежда, что поддержка новых возможностей также появится в будущих версиях других популярных браузеров.

                          Зачем нужен Grid Layout?


                          Задача, которую решает модель CSS3 Grid Layout, очень проста и понятна любому веб-верстальщику (да и не только ему): предоставить удобный механизм расположения контента по виртуальной сетке.

                          В отличие от старых табличных подходов, основанных на использовании table, здесь не замусоривается семантика документа и представление четко отделено от содержания. В отличие от различных вариаций блочной верстки со становящимися при сколь-нибудь сложной структуре безумными и многоэтажными float'ами в сочетании с вручную просчитанными отступами, здесь описание стилей становится тривиально простым и прозрачным. В отличии от абсолютного позиционирования с привязкой к координатам, здесь сохраняется гибкость. В отличие от популярных сегодня css/js-библиотек для разметки по сетке путем указания соответствующих классов (взять хоть те же bootstrap или yui css grids), здесь не замусоривается привязка классов.

                          Сплошное удовольствие! Осталось только дождаться широкой поддержки :) Впрочем, если вы планируете делать приложения в стиле Metro для Windows 8 на html/js, ключевые возможности, описываемые в модуле CSS3 Grid Layout, уже работают — и можно двигаться вперед, используя удобные и практичные механизмы.
                          Читать дальше →
                        • Форма входа и регистрации с помощью HTML5 и CSS3

                          • Перевод
                          • Tutorial

                          Здравствуй, дорогой хабрадруг! В этом туториале мы научимся создавать две формы HTML5: форма входа и форма регистрации. Эти формы будут меняться друг с другом местами с помощью псевдо-класса CSS3 :target. Мы будем использовать CSS3 и шрифт с иконками. Идея этого демо в том, чтобы показать пользователю форму входа и предоставить ему ссылку “перехода” к форме регистрации.
                          В этом туториале я подробно расскажу о том, как создавать эффект как в Демо 1.
                          Читать дальше →