• JavaScript, Node, Puppeteer: автоматизация Chrome и веб-скрапинг

    • Translation
    Библиотека puppeteer для Node.js позволяет автоматизировать работу с браузером Google Chrome. В частности, с помощью puppeteer можно создавать программы для автоматического сбора данных с веб-сайтов, так называемые веб-скраперы, имитирующие действия обычного пользователя. В подобных сценариях может применяться браузер без пользовательского интерфейса, так называемый «Headless Chrome». Используя puppeteer, можно управлять и браузером, который запущен в обычном режиме, что особенно полезно при отладке программ.

    image

    Сегодня мы поговорим о создании веб-скрапера на базе Node.js и puppeteer. Автор материала стремился к тому, чтобы статья была интересна как можно более широкой аудитории программистов, поэтому пользу из него извлекут как те веб-разработчики, которые уже имеют некоторый опыт работы с puppeteer, так и те, которые впервые сталкиваются с таким понятием, как «Headless Chrome».
    Читать дальше →
  • Погружение в CSS: метрики шрифтов, line-height и vertical-align

    • Translation
    image

    line-height и vertical-align — это простые свойства CSS. Настолько простые, что большинство из нас уверены, что понимают, как они работают и как их использовать. К сожалению, это не так — на самом деле они, пожалуй, являются самыми сложными свойствами, поскольку играют важную роль в создании малоизвестной особенности CSS под названием «строчный контекст форматирования» (inline formatting context).

    Например, line-height можно задать в виде длины или безразмерного значения, но его значение по умолчанию — normal (стандартное). Хорошо, но что значит «стандартное»? Зачастую пишут, что это (как правило) 1, или, может быть, 1,2. Даже в спецификации CSS нет четкого ответа на данный вопрос.

    Нам известно, что безразмерное значение line-height зависит от значения font-size, но проблема в том, что font-size: 100px выглядит по-разному для разных гарнитур. В связи с этим возникает вопрос: всегда ли line-height будет одинаковым или может различаться? Действительно ли это значение находится в промежутке от 1 до 1,2? А как vertical-align влияет на line-height?

    Давайте углубимся в не самый простой механизм CSS…
    Читать дальше →
    • +28
    • 22.9k
    • 9
  • Цвет в дизайне интерфейсов: инструкция по применению

    • Translation


    Как создать чистый интерфейс, используя всего лишь один цвет? Вы узнаете из этой статьи. Перевод «Я люблю ИП».


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


    У меня есть другое мнение на этот счёт: теория цвета бесполезна.


    Но если теория цвета не является прочной основой для выбора цвета в дизайне интерфейсов, то что тогда является?


    Вот вам мой ответ: модификация цвета. Всё дело в небольших изменениях цвета, а не в их выборе из цветового круга.


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


    Я знаю, что это звучит немного странно. Но послушайте меня, я дам вам практическую инструкцию для адаптации цвета в вашем дизайне.


    Вы готовы? Тогда поехали.

    Читать дальше →
  • Музыка в KolibriOS: полный обзор и последние новинки


      Как классно работать, слушая при этом музыку! Запустил себе плейлист, он играет, а ты занимаешься своими делами. Но вот незадача — в современных плеерах поголовно начали использоваться библиотеки музыки, без них уже скоро и файл нормально не откроешь, не просканировав до этого весь жесткий диск. Я ведь человек родом из 90х, и у меня есть на жестком папка «Muz.one», у кого-то она «Музыка», «Музычка», у некоторых (не будем показывать пальцами) она «Барахло» или «100% разобрать в этом году». Всё чего я хочу — это зайти в папку с аудиозаписями, запустить файл и наслаждаться музыкой! Мне не нужен комбайн, который «каталогизирует», «синхронизирует» и варит кофе — мне нужен плеер с поддержкой MP3: простой, быстрый и няшный. Поэтому я постарался такой написать для моей любимой операционной системы Колибри.
      Подробности
    • Бесстрашный гений: цифровая революция в силиконовой долине 1985-2000 (1-25)

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

      В этом году у меня появилась возможность сходить на выставки в рамках Фотобиенале-2012, посмотрев афишу моё внимание привлек фотограф Даг Меньюз. Его проект в основном посвящен Стиву Джобсу в период 1986-2000гг., но постепенно работа вышла за рамки одной личности и серия фотографий превратилась в летопись компьютерных технологий.
      Я не планировал писать статью когда шёл на выставку, потому что о ней можно почитать и посмотреть, но после неё мир перевернулся я был поражен историей рассказанной фотографом на столько, что решил пересказать её хабрасообществу. Проект представляет из себя 50 фотографий с аннотациями которые написал сам Даг Меньюз. Трафик ~3Мб и много текста.
      С вашего позволения передаю слово автору
    • Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

        Введение


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

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

        Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
        Читать дальше →
      • Эффективная обработка фотографий в Photoshop

          Эффективная обработка фотографий в Photoshop

          Читая статьи о Photoshop, я часто удивляюсь тому, насколько многие авторы усложняют решение по сути простых задач по обработке. Этим страдают и многие «монументальные» писатели, например Дэн Маргулис. Но ему это простительно – его задача написать о всех тонкостях и нюансах процесса обработки, рассмотреть его со всех ракурсов и сторон. Хотя именно эта особенность подачи материала в его книгах отталкивает многих читателей.

          На самом деле, корни подобных способов «увеличить резкость в 40 действий» растут из очень простой вещи – люди, которые пишут эти уроки, никогда не работали с большим объемом фотографий. То есть, как правило, у них есть пара фотографий и они готовы в процессе их обработки убить вечер-другой. Но когда у тебя идут постоянные заказы, и с каждой фотосессии тебе надо серьезно обработать несколько десятков кадров – начинаешь задумываться о более простых и удобных способах обработки.

          О них мы сегодня и поговорим. Я расскажу вам о пяти простых, но очень эффективных инструментах Photoshop, которые я постоянно использую в своей работе.

          Читать дальше →
        • Делаем загрузочно-установочную флешку

            После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
            Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

            image
            Читать дальше →
          • Google voice + ipkall + sipnet == Звоним в любую точку США бесплатно


              После того как я довольно плотно подсел на иглу виртуального шоппинга передо мной встал вопрос поиска дешевого решения для приема звонков из Американских магазинов.
              Естественно можно купить прямой skype номер, но это стоит каких-то, но денег, а так как принимать звонки от магазинов приходится не так часто, то надо было найти решение поэкономичней.
              Читать дальше →
            • Две раскладки в одном флаконе

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

                Первая — английская, рабочая. Вторая — украинская, родная, основная для общения. Третья — русская, в общем обычно не используемая, разве иногда — погуглить что-нибудь, вот, на Хабре комент или топик написать. При этом третья раскладка висела в списке активных, но при работе и постоянном переключении украинская-английская-украинская постоянно приходилось нажимать лишний раз Alt+Shift или Ctrl+Shift. Кроме того, часто случалось, что начал печатать, вроде как все хорошо, ан нет — раскладка русская, вместо 'і' пошли 'ы', вместо 'є' — 'э', и тому подобное. Мучился я так, мучился, и вот в один прекрасный день решил это дело как-то
                оптимизировать
              • Основы программирования под Android на примере игры Судоку

                  В статье описаны основные трудности создания приложений под Android.
                  Рассматриваются базовые понятия программирования Android.
                  Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
                  Осторожно много скриншотов.

                  Читать дальше →
                • Компьютер вашей мечты. Часть 4: Платформа

                    Часть 1 | Часть 2 | Часть 3
                    Предыдущие части настоятельно рекомендуются к прочтению.


                    Давным-давно, когда деревья были большими, трава зелёной, а воздух чистым, на свет появился IBM PC. Открытая модульная архитектура системы, возможность расширения и стандартизация компонентов привели к огромной популярности этих компьютеров. И хоть современные компьютеры ушли от своего предшественника довольно далеко, они всё равно являются его последователями и продолжают нести в себе общие принципы, заложенные ещё тогда, в далёкие 80е годы.
                    image

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

                      Спустя полтора года разработки, вышла новая версия сборки KolibriOS — KolibriN9!

                      KolibriN9 — это неофициальная сборка, выпускаемая лично Leency. В ней он развивает свое видение дизайна KolibriOS и того, каким должна быть дружелюбная для простого пользователя ОС, которое расходится с мнением основной команды разработчиков. Также отличием данной сборки от официальных ночных является поставка по умолчанию практически всех программ и игр, написанных для KolibriOS.
                      Читать дальше →
                    • Графический стек Linux

                        (оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

                        Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

                        Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
                        Читать дальше →
                      • Зачем делать работу хорошо? Манифест Качества

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

                          image
                          Читать дальше →
                        • Я медленно удаляю apache с сервера

                            image
                            Есть у меня серверок (да, да, именно серверок, сервером его назвать сложно). Железо старенькое (2 гига оперативы, AMD Athlon(tm) 64 Processor 3500+, програмный RAID). Админю я его сам, без особых навыков и познаний. Когда-то давным давно (больше года назад) поставил на него Debian 5.0 Lenny (это была вторая в жизни установка linux-системы, до этого ставил только Ubuntu на рабочий ноутбук) и панель управления ISPConfig3 по мануалу. Держу на нем несколько (штук 40) сайтов друзей и клиентов, Redmine, SVN и еще немного по мелочам.
                            Периодически все это безобразие падает (load average > 20), и приходится на сервере раз в пару часов перегружать apache или высасывать из пальца очередную попытку оптимизации. В общем полный раздрай и разруха. И вот в одну прекрасную субботу я подумал — а почему бы не решить вопрос раз и… И вот в общем.
                            Под катом — история убитых выходных + предыстория. Интересна в первую очередь мне, чтобы потом легко вспомнить что именно и зачем я ставил. Может быть интересна новичкам в интересном и нелегком (ох, ...) деле серверной оптимизации постепенным(!) переводом сайтов из-под Apache c его ModRewrite под Nginx (кстати, правильно это слово читается «энжинкс»меня поправили, Сысоев на конференциях не раз говорил, что название сервера стоит читать, как «энжин-икс», спасибо bayandin и DorBer ). Возможно, будет интересна более-менее опытным товарищам, оказавшимся в тех же условиях (Debian Lenny, ISPConfig3, слабое железо, несколько хороших, не сильно хороших и разных сайтов). И более опытным может быть интересно зайти, оставить пару комментариев.
                            Если интересно - нажмите сюда, если нет - нажмите звездочку ниже
                          • Создаем анимированные кнопки при помощи CSS3

                            • Translation


                            В данной статье я хочу поделиться с вами некоторыми экспериментами по созданию анимированных кнопок при помощи CSS3. Идея заключается в создании анимированных ссылок с разными стилями, hover-эффектами и пр.

                            В данных примерах используются иконки с webiconset.com, а также шрифт от Just Be Nice.

                            Мы рассмотрим каждый пример и разберем как выглядит их HTML-структура и стили для разных состояний кнопок.

                            Обратите внимание, что анимация/переходы будут работать только в браузерах, которые поддерживают эти CSS3-свойства.

                            Чтобы не захламлять код в уроке я не буду использовать префиксы для различных браузеров. Их вы сможете увидеть в архиве с примерами.
                            Читать дальше →
                            • +199
                            • 40.8k
                            • 40
                          • Оптимизация PNG и JPEG без потери качества. Часть 2

                              Здравствуй Хабр!
                              Вот и настало время второй, и, надеюсь, долгожданной части. Настоятель рекомендую ознакомится с первой частью, ибо без этого будет тяжело понять, о чем я буду писать. В этой части я отойду от теории к практике, а именно покажу небольшое проект для комплексной оптимизации изображений.
                              Читать дальше →
                            • Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

                              • Translation

                              Предисловие


                              Об этом руководстве


                              Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



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


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