• Что такое тёмная энергия?

    • Перевод
    Вы все наверняка слышали это словосочетание: тёмная энергия. Но что это, и почему её изучение вызывает затруднения? Начну свой рассказ с истории.

    Допустим, у вас есть свеча. Вы всё про неё знаете, включая её яркость и расстояние до неё. Вот такая:



    Если я отодвину свечу на удвоенное расстояние, её яркость должна будет уменьшиться в 4 раза. Если я отодвину её на утроенное расстояние, её яркость должна будет уменьшиться в 9 раз. Если я отодвину её на утысячерённое расстояние, её яркость должна будет уменьшиться в миллион раз относительно изначального.

    Но только в космосе, конечно, свечек нет. Но зато есть особый класс событий, у которого, насколько нам известно, существует присущая ему яркость (с точностью до нескольких процентов) по всей Вселенной. Это событие – сверхновая типа Ia. Когда наше Солнце, и вообще большинство известных звёзд, сжигают всё горючее, они в итоге превращаются в белых карликов. Наше Солнце в этом случае будет состоять в основном из углерода и кислорода, но белые карлики, бывает, содержат гелий, неон и кремний. Вот один из них:
    Читать дальше →
  • Релиз KPHP и движков

      Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

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

      В связи с этим под катом вас ждет более подробный рассказ о внутреннем устройстве ВКонтакте и тех инструментах, которые сегодня стали доступны opensource-сообществу.


      Читать дальше →
    • Оптимизация рендеринга веб-страницы

        image

        Из-за давления бизнеса, мы стремимся сделать всё быстрее. От этого страдает планирование и многие вещи не учитываются. Например, легко забыть о производительности и через какое-то время столкнуться с тем, что на более слабых машинах и планшетах обилие движущихся элементов страшно тормозит и дёргается в конвульсиях. Посмотрим, что можно сделать, если вы столкнулись с такой проблемой или хотели бы её избежать.
        Читать дальше →
      • Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №156 (13 — 19 апреля 2015)

          Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


          Читать дальше →
        • Библиотека для обмена событиями, данными и задачами между вкладками браузера

            Приветствую, уважаемое Хабрасообщество!

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

            Сейчас библиотека выложена с парой примеров на GitHub, а под хабракатом хотелось бы осветить некоторые тонкости её применения и часть внутренней логики. Буду рад, если моя библиотека поможет кому-то сэкономить n-ое количество времени и позволит избежать изобретения собственного велосипеда.

            Кому интересно — добро пожаловать под кат.
            Читать дальше →
          • HTML по стандартам

              Привет Хабр!

              image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

              В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
              Читать дальше →
            • Лучшие практики и рекомендации по защите php-приложений от XSS-атак

                Лучшие практики и рекомендации по защите php-приложений от XSS-атак


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



                Большинство уязвимостей связано с неправильной обработкой данных, получаемых извне, или недостаточно строгой их проверкой. Одной из таких уязвимостей является межсайтовое выполнение сценариев (Сross Site Sсriрting, XSS), которая может привести к дефейсу сайта, перенаправлению пользователя на зараженный ресурс, вставке в веб-ресурс вредоносного кода, краже COOKIE-файлов, сессии и прочей информации. Противостоять XSS своими сила поможет применение лучших практик и рекомендаций по безопасному программированию, о которых и пойдет речь ниже.
                Читать дальше →
              • Верстка писем и email рассылок. Немного магии Gmail


                  Автор изображения Mike, Creative Mints

                  Добрый день. Я уже не раз писал о том, что media_queries в почтовых клиентах работают прекрасно. Даже outlook.com в браузере их адекватно воспринимает. Но вот gmail на яблоке и андроиде так не считает.

                  Если в случае остальных клиентов мы можем сделать, например так:
                  @media only screen and (max-width:480px) {
                  .big_img { display:none !important; }	 .small_img { display:block !important; }
                  }
                  @media only screen and (max-width:600px) {
                  .big_img { display:block !important; }	 .small_img { display:none !important; }
                  }
                  
                  Читать дальше →
                  • +12
                  • 36,6k
                  • 6
                • «WebGL Beginner's Guide» Глава 1: Начиная работать с WebGL

                  • Перевод
                  • Tutorial
                  Всем привет!

                  Хочу начать вольный перевод отличной книги «WebGL Beginner's Guide», которая, на мой взгляд, будет интересна не только новичкам, но и более продвинутым разработчикам.

                  Содержание:
                  • Глава 1: Начиная работать с WebGL
                  • Глава 2: Рендеринг геометрии
                  • Глава 3: Освещение
                  • Глава 4: Камера
                  • Глава 5: Движение
                  • Глава 6: Цвет, глубина и альфа-смешение
                  • Глава 7: Текстуры
                  • Глава 8: Выбор
                  • Глава 9: Собираем все вместе
                  • Глава 10: Дополнительные методы


                  WebGL первоначально была основана на OpenGL ES 2.0 (ES означает Embedded Systems), версии спецификации OpenGL для таких устройств как iPhone от Apple и iPad. Но спецификация развивалась, стала независимой, ее основная цель это обеспечение переносимости между различными операционными системами и устройствами. Идея веб-интерфейса, рендеринг в реальном времени открыли новую вселенную возможностей для веб-3D сред, таких как видеоигры, научная и медицинская визуализация. Кроме того, из-за широкого распространения веб-браузеров, эти и другие виды 3D-приложений могут быть запущены на мобильных устройствах, таких как смартфоны и планшеты. Если вы хотите создать свою первую веб-видеоигру, 3D арт-проект для виртуальной галереи, визуализацию данных ваших экспериментов или любое другое 3D-приложение, вы должны иметь ввиду, что первым шагом должно быть то, что вы должны убедиться, что у вас есть подходящая среда.
                  В этой главе вы сможете:
                  • Понять структуру WebGL-приложения
                  • Создавать свои области рисования (canvas)
                  • Проверить WebGL-возможности вашего браузера
                  • Понять, как устроена машина состояний WebGL
                  • Изменять переменные WebGL, которые влияют на вашу сцену
                  • Загружать и исследовать полнофункциональные сцены


                  Читать дальше →
                  • +24
                  • 37,5k
                  • 7
                • Производительность фронтэнда. Часть 1 — конкатенация, компрессия, кэширование (4-я из 12 статей о Node.js от Mozilla)

                  • Перевод
                  • Tutorial
                  От переводчика: Это четвёртая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Эта статья о том, как увеличить скорость загрузки ресурсов сайта и модуле connect-cachify, созданном в Mozilla для этой цели.





                  В этой статье мы поговорим о производительности фронтэнда и представим инструменты, созданные в Mozilla для того, чтобы сделать сайт Persona настолько быстрым, насколько возможно. Мы опишем работу с connect-cachify — модулем, автоматизирующим некоторые из важнейших аспектов, обеспечивающих производительность фронтэнда.

                  Но сначала окинем взглядом наиболее распространённые пути улучшения производительности. Если у вас уже есть опыт оптимизации фронтэнда, можете пропустить эти разделы и перейти в конец статьи, где описано, как с помощью connect-cachify автоматически делать то, что вам раньше доводилось делать вручную.
                  Читать дальше →
                  • +13
                  • 13,3k
                  • 2