• Внедрение СПО в общеобразовательную школу. Возможно ли?

    Этим летом я устроился работать эникеем системным администратором в одну общеобразовательную школу. Была поставлена задача: в далеком 2010 (или раньше) году школу решено было перевести на СПО. Мой предшественник, хороший человек, но не настолько хорошо разбирающийся в компьютерах, задачу выполнял неудачно, и мне ее переделывать/завершать. Задача была поставлена и я, обрадованный, приступил.
    Читать дальше →
  • Intel Braswell — новое поколение процессоров для мобильных и мини компьютеров


      На проходившей на прошлой неделе в китайском городе Шеньжень конференции Intel Developer Forum вице-президент компании Intel Кирк Скауген (Kirk Skaugen) представил новое поколение процессоров Braswell, предназначенных для использования в мобильных и бюджетных миниатюрных компьютерах под управлением Android, ChromeOS, Linux или Windows. Процессоры Braswell будут производиться по нормам 14 нм, что позволит сократить энергопотребление и увеличить производительность, при этом сделав сам продукт даже более дешевым, чем предшественники.
      Intel остается верной своей привычке называть поколения процессоров именами географических объектов в Соединенных Штатах. Так, Брасвел (Braswell) — это городок в Штате Джоржия. Что же касается предыдущего поколения Bay Trail, то так называется туристическая тропа по побережью залива Сан-Франциско.
      • +7
      • 22.1k
      • 9
    • Преднастройка продуктов Mozilla для корпоративной среды это просто


        Обычно после установки продуктов Mozilla в корпоративной среде требуется дополнительно установить:
        • стандартный для компании набор плагинов
        • сделать типовые настройки


        Почему бы не интегрировать необходимые плагины и типовые настройки в дистрибутив?
        Цель данной статьи — показать как можно перепаковать дистрибутив Mozilla, добавив необходимые компоненты.

        Сразу оговорюсь: рассматривать установку любого дистрибутива в корпоративной среде не стану — про это написано множество статей и имеется множество готовых либо самодельных инструментов.
        Вторая оговорка: распространяя модифицированный дистрибутив Mozilla за пределы своей организации без подписания дополнительного соглашения с Mozilla Вы нарушите лицензионное соглашение.

        Но наша цель — подготовить внутренний дистрибутив для своей организации, так что всё в порядке.

        Простая инструкция
      • Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина

        • Tutorial
        В прошлый раз мы написали довольно популярную статью: «Серьезное проектирование серьезного магазина. Часть 1. Исследования», эта статья её логическое продолжение. В этой статье и в последующих мы опишем почти 60 функциональных модулей топовых интернет-магазинов мира, а также подробно разберем интерфейс многих страниц.

        Главная страница интрнет-магазина в axure
        Читать дальше →
      • Пути более эффективного использования PostgreSQL

        Прочитав статью Базы данных в онлайн играх и особенно комменты к ней, я в очередной расстроился от мысли, что многие разработчики меняют БД в своём проекте, пытаясь этой сменой решить свои проблемы, не исчерпав, однако, всех возможностей, предоставляемой заменяемой БД. Я принимаю участие в работе над проектом, БД которого характеризуется:
        • Количеством транзакций порядка 5'000 — 10'000 в секунду
        • Объемом примерно в 100ГБ (который бодро растёт)
        • Примерно равным количеством операций на чтение/запись
        • Преимущественно мелкими транзакциями

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

        Я опишу некоторые проблемы, с которыми мы сталкиваемся, и применённые решения. Если кто-то сочтёт это полезным — ради Бога. Если кто-то поправит — я буду только рад обнаружить уязвимость в используемых подходах и увеличить эффективность работы БД. Описанное может быть применено без вмешательства в логику приложения, исключительно путём модификации схемы БД.
        Читать дальше →
      • Установка модуля pagespeed для Nginx на Debian 6

        • Tutorial
        Уже несколько лет как Google выпустила модуль для Web-серверов Apache и Nginx, который представляет из себя набор фильтров и позволяет значительно повысить производительность сайта. В данном посте речь пойдет не о технологии и описании модуля, а о его установке и базовой настройке. Описание установки будет проведено только для Nginx. Установка модуля на Apache проста до безобразия и в данной статье не затрагивается.
        Читать дальше →
      • Интерпретатор Python: о чём думает змея? (часть I-III)

          image

          От переводчика
          Весьма вольный перевод серии из трёх статей об устройстве питоновского интерпретатора. Автор занимается разработкой собственного велосипеда по этой теме и решил поделиться знаниями, появившимися в процессе. Посмотрим, что у него из этого получилось.


          Данная серия статей рассчитана на тех, кто умеет писать на python в целом, но плохо представляет как этот язык устроен изнутри. Собственно, как и я три месяца назад.

          Небольшой дисклеймер: свой рассказ я буду вести на примере интерпретатора python 2.7. Всё, о чем пойдёт речь далее, можно повторить и на python 3.x с поправкой на некоторые различия в синтаксисе и именование некоторых функций.

          Итак, начнём.
          Читать дальше →
          • +33
          • 39.6k
          • 6
        • Пишем красивый идиоматический Python


          Иногда сложно найти в Сети правильные, а главное актуальные «best practices» для языка. Документация, конечно же, содержит всю необходимую информацию, но отсеять нужную вещь в абзацах подробного (на то она и документация) описания довольно сложно. Но недавно мне улыбнулся поиск Google, и я наткнулся на очень полезные «паттерны» языка Python от одного из core разработчиков — Raymond Hettinger.

          Примечание: Все рекомендации даны в нескольких вариантах: сначала идут самые «плохие» варианты, а дальше предлагается лучшая альтернатива. Актуально для версии языка 2.7, отличия для версии 3.3 читайте в примечаниях к конкретному «паттерну».
          Читать дальше →
        • Интеграция wysiwyg редактора с Django. Обзор

            Одно из самых частых требований заказчика — wysiwyg редактор в админке. Wysiwyg редактор имеет (как правило) интуитивно понятный интерфейс и позволяет пользователям, не знающим html, подготовить текст для размещения на сайте. Редакторы позволяют: форматировать текст, вставлять изображения и таблицы, создавать списки и много другое. Но имеют и свои минусы, самый главный из них, пожалуй, большое количество лишнего html кода.
            На сегодняшний день существует большое количество различных wysiwyg редакторов и приложений для интеграции этих редакторов с django. Сегодня я расскажу про самые популярные.
            Помимо собственно разметки текста, на практике важными характеристиками wysiwyg редактора для клиента являются — удобная вставка изображений и перенос отформатированного текста из сторонних источников (Word, веб-ресурсы). Важно чтобы при переносе отформатированного текста редактор удалял стили, которые могут конфликтовать со стилями сайта, например, шрифт текста. Во время обзора приложений особое внимание будет уделено этим двум характеристикам.
            Читать дальше →
            • +15
            • 29.2k
            • 8
          • Простой блог с комментариями на Django: разработка и развертывание для самых маленьких

            • Tutorial
            Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.


            Читать дальше →
          • Лёгкий сайт или как посадить браузер на диету

            • Translation

            А что если объединить профессионалов, работавших над крупными web проектами, чтобы создать исчерпывающее руководство по оптимизации front-end разработки?
            И получить в результате не скучную инструкцию, а что то поинтереснее? А если позвать Briza Bueno (Americanas.com), Davidson Fellipe (Globo.com), Giovanni Keppelen (ex-Peixe Urbano), Jaydson Gomes (Terra), Marcel Duran (Twitter), Mike Taylor (Opera), Renato Mangini (Google), и Sérgio Lopes (Caelum) чтобы собрать лучшие практики?

            Именно это мы и сделали! Мы научим вас создавать быстрые сайты.

            Zeno Rocha, руководитель проекта.


            Читать дальше →
          • Тестирование. Начало


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

              Вводную часть о пользе тестирования опустим — код, покрытый тестами, становится мягким и шелковистым, про это только ленивый еще не читал / писал.
              Читать дальше →
            • Делаем работу с мышью Logitech в Linux комфортнее

              Среди читателей Хабра наверняка много тех, кому нравится компания Logitech и кто пользуется ее продуктами. Сегодня речь пойдет о мышах этой фирмы, а точнее, о расширении их функциональности при работе ОС Linux.



              Владельцы этих устройств знают, что почти все мыши Logitech стоимостью выше 10$ имеют не 3 кнопки, а целых 5 — колесико может наклонятся влево и вправо. Для Windows существует замечательная программа Logitech® SetPoint™, которая позволяет использовать дополнительные клавиши манипулятора почти как угодно. Вот уже 5 лет я использую их для изменения уровня общей громкости. Но, к сожалению, подобного продукта для Linux компания Logitech не создала. Под катом — история о том, как самому исправить этот недостаток.
              Читать дальше →
            • Типы адаптивных макетов



                С каждым днем появляется все больше сайтов с адаптивной версткой. При проектировании такого дизайна первое, о чем задумывается разработчик — это общее представление контента на устройствах с разным размером экранов. В этой статье я описал некоторые типы (layouts) адаптивных макетов.
                Читать дальше →
                • +52
                • 57k
                • 8
              • Grands icon font

                  Набор значков социальных сервисов в формате шрифта и россыпи SVG-файлов.
                  Сначала думал просто добавить в Графический фреймворк. Набор иконок социальных сервисов значок англоязычного VK.com и упаковать в шрифт для следующего проекта, но тут понеслось.

                  Читать дальше →
                • Графический фреймворк. Набор иконок социальных сервисов



                  Привет уважаемое хабрасообщество, этот пост служит продолжением еще недавно активно обсуждаемой темы о социальных иконках [1] [2]. Мысль, которая пришла ко мне в голову после прочтения этих статей, привела к появлению нового вектора развития этой темы. Кстати о векторе, например бывает так, что дизайн разрабатываемого сайта или приложения имеет свою специфику и интегрировать стандартные иконки социальных сервисов без адаптации не представляется возможным. В таком случае мы берем в руки гугл и принимаемся за поиск нужных логотипов, для того чтобы создать подходящий набор иконок. Ах да я немного отвлекся, продолжим о векторе, чтобы не проделывать такие скучные действия, я собрал воедино несколько популярных иконок в векторе и теперь каждый желающий может сэкономить немного времени воспользовавшись им.
                  Читать дальше →
                • jQuery для JavaScript-программистов

                  • Translation
                  Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.

                  Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.

                  Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.

                  Большинство современных обзоров jQuery делают упор на дизайнеров и неопытных разработчиков. Я попытаюсь объяснить, почему она также нужна и опытным программистам.

                  Читать дальше →
                • Изучаем наличие layout

                  • Translation
                  Примечание: ниже представлен официальный перевод статьи «On having Layout» на русский язык. Статья не является окончательной. Этот перевод отражает 9 версию от 23.10.2007.

                  UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь
                • Методы в JavaScript

                    Когда-нибудь каждый JavaScript-программист осознаёт, что JS — объектно-ориентированный язык. И здесь его подстерегают некоторые опасности, происходящие от непонимания того факта, что JS — язык не классов (как Паскаль или Цэ-два-креста), а прототипов.
                    Так, уже многое написано о проблеме наследования (котого в JS нет). Я же постараюсь рассказать о менее освещённом, но едва ли не более важном подводном камне: грамотной реализации методов.
                    Программисты пытаются объявлять классы в привычной для них форме, из-за чего возникают утечки памяти и прочие неприятные вещи. На самом деле нужно всего лишь научиться использовать прототипы.
                    Эта статья предназначена прежде всего для начинающих JS-программистов.
                    Читать дальше →