Pull to refresh
5
0
Александр Величко @AlexBruce

User

Send message

Как загружается Linux

Reading time9 min
Views20K
Update: Статья и скрипты были обновлены в марте 2013 (прошло 5 лет, старые скрипты не сильно отличаются от текущих, но всё-таки лучше изучать актуальный код, а логика загрузки системы за эти годы немного изменилась — иначе работает udev, появились новые синтетические fs вроде devtmpfs, /var/run переехал в /run, etc.).

Когда я осваивал Linux, мне было очень интересно что происходит при загрузке системы. Попытка разобраться в процессе загрузки привела меня в исходники загрузочных скриптов (/etc/inittab, /etc/rc*, /etc/init.d/*, ...) и их конфигов (/etc/sysconfig/*, /etc/cond.f/*, ...). Надо отметить серьёзные размеры и сложность этих скриптов — чтобы в них разобраться потребовалось немало времени. Но я в те времена искренне верил, что загрузка это сложный процесс, и что размеры и сложность загрузочных скриптов вполне оправданы.

Когда меня окончательно достал RedHat (2001 год), я решил собрать свой дистрибутив на базе LFS. Для своего дистрибутива пришлось самостоятельно разрабатывать загрузочные скрипты, и тут-то выяснилась правда: ничего сложного в процессе загрузки нет!
Читать дальше →
Total votes 85: ↑76 and ↓9+67
Comments71

Эластичные шаблоны

Reading time4 min
Views19K

Большинство дизайнов ориентировано на использование фиксированных значений при верстке: ширина и высота блоков, размер шрифта. Это позволяет сверстанному шаблону «не разваливаться» при изменении масштабов просмотра и сохранять свойство кроссбраузерности. Однако в этом есть один большой минус – при большом разрешении экрана маленькие фиксированные блоки теряются на большой площади и остаются незамеченными. Тут даже не спасет «резиновая» верстка, т.к. сайт будет выглядеть еще более нечитабельным, например на 19'' мониторах при разрешении большем 1280 по ширине. Для меня это актуально, т.к. на ноутбуке 17'' с разрешением 1400х800 просматривать «резиновый» сайт очень неудобно. И желание оставаться на таком сайте отпадает быстро. Существует ли способ, позволяющий управлять масштабами не только текста, но и всего сайта?
Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments112

Персональный OpenID сервер на Perl

Reading time1 min
Views1.3K
Решил наконец-то поднять у себя персональный OpenID сервер (ну да, я параноик, не хочу чтобы кто-то ещё собирал информацию на каких сайтах я бываю). Причём хотелось чтобы он был написан на Perl. Поискал в сети — нету! Более того, невероятно, но на CPAN только два модуля для OpenID, один жутко раздутый и явно недописанный, а второй вроде бы неплохой (Net::OpenID::Server Фитцпатрика), но документации и примеров для него практически нет. :(

В общем, за 6 часов написал свой сервер: OpenIDsrv. Может пригодится другим параноикам или в качестве дополнения к документации на Net::OpenID::Server.
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments13

Тень для картинки с помощью CSS. Revamped.

Reading time1 min
Views11K
Навеяно этим: habrahabr.ru/blog/css/36860.html
Для начала напомню, что для создания двойной/нестандартной рамки для изображений нужно {...cut...}, либо положить картинку в контейнер и задать для контейнера отступ и фоновое изображение.

И так далее. There is a better way!
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments37

audiko: иногда Cubase или Sonar просто не нужны

Reading time1 min
Views1.6K
Сегодня достаточно тёплая пятница, а это значит, что в 908 пора запускать ещё один секретный финишдаун (но на этот раз — в тайне от horsevарт-директора, который всё пропустил).

audiko

Идея «проста, как апельсин»: закачай песню, сделай из неё рингтон и залей в свой телефон. Быстро и, смею надеяться, удобно. Good news everyone: никаких навороченных волновых редакторов (а ведь за них ещё и деньги просят).

P.S. Никто не обещал, что багов не будет 8)
Total votes 73: ↑67 and ↓6+61
Comments157

CSS меню для начинающих

Reading time4 min
Views7.5K

Данное руководство поможет Вам создать CSS меню для вашего сайта, оно не будет обычным, оно будет привлекать внимание пользователей, не сомневайтесь. И так приступим…
Читать дальше →
Total votes 36: ↑20 and ↓16+4
Comments28

Устанавливаем и настраиваем LAMP и Trac+SVN на Ubuntu

Reading time4 min
Views16K
Прочитав эту статью, я осознал, что Trac+SVN очень помогут в работе и решил настроить эту связку у себя на машине.

С недавних пор я использую Убунту линукс, потому установка и настройка проходили с учетом особенностей данной системы. LAMP у меня уже был установлен ранее, так же как и inadyn. В итоге я получил достаточно гибкую и удобную систему управления своими проэктами, к которой есть доступ по сети. Интересно, как сделать?
Делюсь опытом
Total votes 25: ↑25 and ↓0+25
Comments34

Rss-иконки на раздачу

Reading time1 min
Views1.4K
Конский rss
Решил пораздавать rss-иконки, которые я время от времени порисовываю для своего блога, но не все успеваю употребить. Все они отличаются от большинства просто-квадратиков, а значит могут выгодно выделить ваш блог(сайт) из массы прочих. В условиях многократного использования одних и тех же, полюбившихся всем шаблонов, это может сослужить неплохую службу в целях позиционирования и запоминаемости.
Читать дальше →
Total votes 118: ↑105 and ↓13+92
Comments77

jQuery для самых маленьких или динамическая загрузка страниц (AJAX)

Reading time1 min
Views3.5K
В один прекрасный день понадобилось мне сделать динамическую загрузку из базы. До этого я ничего подобного не делал и не интересовался этим вопросом. Я начал искать информацию на эту тему. Нашёл, что нужная мне задача делается при помощи AJAX.

Перерыл очень много различных фреймворков и остановил свой выбор на ныне популярном jQuery. Всё бы хорошо, но принципа работы я сразу не понял, и сходу сделать простую задачу, аля загрузить одну страницу в другую, я не смог. Искал в интернете хоть какую-то помощь. Помог офф. сайт, благо там доков хватает. И вот, разобравшись в этом вопросе, решил сделать небольшой примерчик для «самых маленьких» (для новичков), которые никогда не работали с этой библиотекой.

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

Скачать пример можно вот тут
Total votes 26: ↑19 and ↓7+12
Comments21

Оптимизация работы с MySQL

Reading time3 min
Views78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments107

Написание приложений, основаных на Qt, на языке Python

Reading time5 min
Views120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments34

Стоп! Снято!

Reading time2 min
Views6.7K

О Screencast.


Для начала коротко о том, что такое скринкаст.
Screencast (скринкаст) — Цифровая запись с экрана монитора, со звуком или без.
Так как мы «правильные» пользователи, то будем использовать только Open Source программы.

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

Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments40

Стартапы

Reading time5 min
Views661
Данный текст написан по материалам лекции, прочитанной мной на занятиях «Инновационной студии» в МГУ. Хотел опубликовать ее сразу, но сначала кармы не хватало, потом руки не доходили.
Изложенное полностью основано на собственном опыте и пройдено на 4 реализованных и находящихся в процессе реализации проектах.
Итак, поехали.
Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments28

25 миллионов песен — теперь «бесплатно и легально»*.

Reading time2 min
Views1.4K
Qtrax logo На проходящей в Каннах музыкальной конференции Midem компания Qtrax объявила, что заключила соглашение со всеми крупнейшими музыкальными лейблами и издателями, и запускает первый в мире бесплатный и легальный обмен музыкальными файлами по p2p-протоколу. По словам представителя компании, всего для загрузки будет доступно 25 миллионов песен (сравните это с 6 млн. на iTunes и 3 млн. на Amazon).

Однако под выражением «бесплатно и легально» нужно поставить большую звёздочку для уточняющих условий и вопросов. А они есть. Во первых, музыка, распростаняемая через Qtrax будет загружаться и проигрываться через проприетарный плеер, основанный на Songbird, который в это время будет показывать рекламу, две трети доходов от которой будут отходить правообладателям. Во вторых, музыкальные файлы будут защищены DRM, и, что самое главное, не будут воспроизводиться на iPod. Компания утверждает, что «со временем» такая возможность появится, но насколько этот период будет продолжителен, не может сказать никто — вряд ли Apple будет особенно воодушевлена этой идеей.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments51

Верстка под PDA, часть 2

Reading time3 min
Views2.8K
Уже писал о верстке под PocketPC устройства, на неделе доработал все то, что так смущало и подвел небольшие итоги.

1. Резинка.
Верстка под PDA должна быть резиновой. Без дополнительного ПО эмулировать разное разрешение на PDA устройствах нельзя. Да и никому это особо не нужно =) Чаще всего это 320х240 или 640х480, хотя бывают и нестандартные разрешения. В любом случае сайт должен смотреться во всех разрешениях одинаково, т.к. их разброс не такой и большой, а значит верстка должна быть резиновой.

2. Одна колонка.
Есть исключения, но чаще всего скелет сайта должен быть одноколоночным. Т.е. исходник сайта может быть 2-х, 3-х колоночным, но PDA версия чаще всего превращается в одну колонку, т.к. места и так мало. Чаще всего левая колонка (навигация) превращается в <select>, а правая сползает под основной контент.

3. Авто определение PDA устройства + pda.site.ru домен.
Определить PocketPC не так и сложно. HTTP_USER_AGENT содержит «windows ce» + браузер (mobile ie) добавляет ряд своих заголовков, например HTTP_UA_OS. Соответственно при просмотре site.ru с мобильного устройства должна отображаться оптимизированная верстка. Однако помимо этого необходим и безусловный способ получения PDA верстки, самое простое — поддомен «pda». Это просто удобно + важно для всяких поисковых ботов, да и заранее сообщает, что есть и pda версия сайта…
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments52

Linux на ладони

Reading time3 min
Views3.7K
Давным-давно линукс для обычного пользователя windows был чем-то заоблачным и непонятным, а уж линукс на мобильных устройствах тем более. Конечно, многие продвинутые помнят о Sharp Zaurus, но основная масса округляет глаза и думает что это консоль аля дос и все. Увы, это не все :) Когда я случайно забрел на сайт, посвященный портированию линукса на различные платформы наладонников, то решил попробовать «поженить» свой кпк и один из дистрибутивов мобильной ос. Надо же как-то использовать пылящееся на полке барахло :)
И вот что получилось
Total votes 56: ↑55 and ↓1+54
Comments53

PSPI — запуск фотошопных плагинов под Гимпом!

Reading time1 min
Views1.9K
Ну вот, наконец то мне немного подняли кармы, попробую написать здесь свой первый топик…
Итак, чего мне всегда не хватало при работе с GIMP-ом, так это фотошопных плагинов. Да, безусловно, там есть свои средства обработки изображений, но их, нередко, не хватает. Когда, в очередной раз, на «лепре» выложили отфотошопленный фильтром Fractalius снимок, меня заели завидки и я полез дотошно гуглить что-то подобное под гимп. И нашел PSPI — «переходник» между GIMP и «3rd-party Photoshop plug-ins (.8bf files)». Линуксовый вариант PSPI был выпущен еще в марте 2006 года, но, как выясняется, он нем знают далеко не все…
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments34

Разберемся раз и навсегда: AJAX, «кириллические символы», кодировки, prototype.js, jQuery, JsHttpRequest

Reading time5 min
Views167K
AJAX, — это технология. Одной из часто используемых техник этой технологии является
посылка запросов при помощи объекта класса XMLHttpRequest.


Как же посылать и принимать AJAX запросы в нужной нам кодировке, нужно ли использовать однобайтовые кодировки или не обойтись без UTF-8. На все эти вопросы раз и навсегда ответит эта статья.

Читать дальше →
Total votes 64: ↑57 and ↓7+50
Comments125

Information

Rating
Does not participate
Location
Киевская обл., Украина
Date of birth
Registered