• Веб-типографика сегодня. Часть IV

      Часть IЧасть IIЧасть IIIЧасть IVЧасть V — Часть VI

      Часть IV



      Итак, настала пора выяснить, какие шрифты и с какой долей вероятности могут оказаться установленными в тех или иных операционных системах либо в результате каких-то особых ситуаций (например, при установке пакетов Microsoft Office, Adobe Creative Suite или CorelDRAW! Suite), либо в «девственно чистых» ОС (что, несомненно, наиболее приемлемый вариант). А также узнать, какие из этих шрифтов пригодны для использования и в каких конкретно случаях.

      Читать дальше →
    • Веб-типографика сегодня. Часть V

        Часть IЧасть IIЧасть IIIЧасть IVЧасть V — Часть VI

        Часть V



        Очевидно, что в сфере высоких технологий развитие зачастую происходит быстро и бурно. Так произошло и со средствами отображения информации. В течении каких-то двух-трёх лет обычные ЭЛТ-мониторы почти целиком и полностью были вытеснены стремительно дешевеющими ЖК-собратьями. Что позволило существенно улучшить как геометрию отображения, так и цветопередачу, а также снизить утомляемость глаз за счёт отсутствия вредного мерцания. И если несколько лет назад подобное утверждение в пользу TFT-панелей можно было бы оспорить, то теперь этот факт не вызывает ни у кого сомнений: ЖК-дисплеи намного лучше для повседневной работы рядового пользователя. В связи с этим фактором возникла необходимость поиска качественно новых алгоритмов отображения шрифтов. Одно из таких решений пусть не сразу, но всё же получило определённое признание в среде пользователей, и на сегодняшний день является чуть ли не самым популярным на современных платформах. Речь, конечно же, о технологии рендеринга ClearType, которая послужила причиной разработки новых веб-ориентированных шрифтов…

        Читать дальше →
      • Планировщик задач на JavaScript

          Всем привет.

          Иногда на клиентской стороне необходимо выполнять фоновые задачи. Главное требование чтобы они не прерывали работу всего веб-приложения а, спокойно в фоновом режиме общались между собой, завершались и добавлялись. Цель предложенного планировщика снять с разработчика головную боль о таких задачах и свести к общему интерфейсу, с помощью которого можно постепенно расширять спектр решаемых задач.
          Читать дальше →
        • Внедрение Flash с помощью SWFObject 2

          • Translation
          Вопрос о внедрении Flash с помощью разметки соответствующей стандартам возникает достаточно часто, между тем у этой проблемы есть достаточно известное решение — SWFObject. SWFObject 2 не только позволяет внедрять Flash динамически, с помощью JavaScript, но и статически, когда для внедрения используется стандартная разметка, а JavaScript только исправляет неразрешимые с помощью разметки проблемы, при этом даже если JavaScript отключен пользователи все равно увидят Flash.
          Читать дальше →
        • Работа с объектами в JavaScript: теория и практика

            В этой статье я хочу по возможности полно и последовательно рассказать о том, что такое объект в JavaScript, каковы его возможности, какие взаимоотношения могут строиться между объектами и какие способы «родного» наследования из этого вытекают, как это все влияет на производительность и что вообще со всем этим делать :)

            В статье НЕ будет ни слова про: эмуляцию традиционной класс-объектной парадигмы, синтаксический сахар, обертки и фреймворки.

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

            если не боимся многабуков, то читаем дальше
          • Делаем Liquid Resize своими руками

              Вы наверное уже слышали о технологии масштабирования Liquid Resize, которая учитывает содержимое изображения. Если вам интересно как оно все работает и как можно реализовать все это самому, то читайте далее (осторожно, много рисунков).


              (НЛО прилетело и растянуло этот рисунок здесь)
              Читать дальше →
            • Осваиваем Python. Унция 1. Типы данных.

                image
                Продолжаю своё начинание. Данная статья является логическим продолжением первой. Было приятно читать ваши комментарии. Я надеялся, что данный цикл статей окажется для кого-то полезным, но совершенно не предполагал, что заинтересовавшихся будет довольно большое количество. Это заставляет относится к делу серьёзнее и ответственнее.
                Без лишних слов, сразу к делу.
                Читать дальше →
              • Как подготовиться к сертификации по Zend Framework?


                  Когда люди спрашивают меня как подготовиться к сертификации по Zend Framework(ZF), я обычно говорю следующее:
                  • Вы должны уже иметь реальный опыт работы с ZF, или хотя бы с некоторыми его компонентами. Это — даст вам представление о работе фрейворка в целом, и вы сможете изучать те части фрейворка с которыми вы ещё не знакомы.(Те из вас кто ещё не начал работать с ZF, почитайте «быстрый старт», или может быть стоит поити на курсы?)
                  • Скачайте руководство по сертификации. Это — небольшой обзор, по-этому не стоит ожидать от него полного объяснения всех аспектов работы с ZF, Прочитав его, можно получить представление о темах и вопросах которые будут на экзамене, и соответственно можно будет посмотреть документацию по интересующим вас вопросам. Работа каждого компонента рассмотренна в «Справочнике программиста по Zend Framework». Справочник — очень удобен, позволяет легко найти документацию по интересующему компоненту(Например Zend_Acl, Zend_Auth, Zend_form) и кроме того он содержит описание ZF стандарта по кодированию и рекомендации по производительности ZF.
                  • Если я чего-то не понимаю, я довольно часто смотрю в исходный код Zend Framework. В некоторых случаях читая исходный код, представление о работе компонента можно получить быстрее чем по документации, кроме этого вы поймёте как разработчики ZF организовывают свой код и получите более полное представление о том как можно использовать архитектуру ZF в ваших проектах.

                  В дополнение ко всему Zend предлагает пройти обучение по программе «Подготовка к сертификации по Zend Framework», так что, если вы привыкли учится по более формальной методологии, это может вам помочь. В моём случае я стал понимать как работать с незнакомыми мне компонентами, углубил свои знания по уже знакомым, и я стал горазо более уверенно использовать компоненты ZF.

                  Всем удачи.

                  P.S. Данная заметка перевод,
                  автор статьи успешно сдал экзамен по ZF(пруфлинк)

                  перевёл как ответ на статью Zend Framework Certification
                  Поскольку на мой взгляд в статье не только рассказывается как сдавать экзамен, но и показывается правильная позиция по отношению к сертификации.
                • Python, формирование структуры — Guido van Rossum (часть 2)

                    imageЭто продолжение статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Первая часть здесь.

                    Введение и обзор



                    Вступление.

                    Python сейчас является одним из самых популярных некомпилируемых языков программирования, наравне с Perl, Tcl, PHP и Ruby. Хотя он чаще всего рассматривается, как «скриптовый язык», на самом деле это вполне полноценный язык программирования, подходящий для решения большинства стандартных задач и занимающий одну ступень с Lisp или Smalltalk (впрочем, как и со многими другими). В настоящее время Python используется фактически для всего — от одноразовых простеньких скриптов до больших расширяемых веб-серверов, работающих по 24 часа семь дней в неделю. Он используется для разработки GUI-приложений и баз данных, клиент-серверных веб-приложений и тестирования. Python используется учеными, пишущими приложения под быстрейшие в мире суперкомпьютеры, и детьми, которые в первый раз учатся программировать.
                    А что там дальше?
                  • Python, философия дизайна — Guido van Rossum (часть 1)

                      image
                      Это первая часть статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Вторая часть здесь.

                      Дальнейший текст поможет нам нырнуть глубже в историю языка Python. Тем не менее, перед тем, как мы сделаем это, мне бы хотелось заострить внимание на философских вещах, которые помогли мне принимать решения, пока я разрабатывал дизайн и структуру Python.
                      А дальше?
                    • Осваиваем Python. Унция ноль. Введение.

                        Предыстория



                        Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
                        Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
                        В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
                        Итак, мы начинаем.
                        Читать дальше →
                      • Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

                          Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
                          Читать дальше →
                        • Основы Python — кратко. Часть 4. Генераторы списков

                            List comprehensions

                            Продолжим наш цикл уроков. Добрый день.

                            Генерация списков

                            Генерация списков (не знаю как адекватно перевести на русский list comprehensions) — яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих.
                            Допустим, нам необходимо получить список нечетных чисел, не превышающих 25.
                            В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.

                            >>> res = []
                            >>> for x in xrange(1, 25, 2):
                            ...     res.append(x)
                            ...
                            >>> print res 

                            В общем-то, полученный результат — целиком нас устраивает всем, кроме длинной записи. тут-то на помощь и придет наш «сахарок». В самом простом виде, он обычно
                            выглядит так:
                          • Простейшее рисование с помощью PIL

                              Недавно потребовалось мне создавать картинку на лету. Решил спользовать библиотеку для питона PIL. Она поддерживает кучу форматов, а также множество цветовых систем (RGB, RGBA и более простые). Итак, рассмотрим простейшее, как создать рисунок и что-либо на нем нарисовать.
                              Читать дальше →