Pull to refresh
29
0
Send message

Пишем файловую систему в ядре Linux

Reading time10 min
Views58K

Для кого эта статья


image

Данная статья составлена по материалам практики по курсу операционных систем в Академическом университете . Материал готовился для студентов, и ничего сложного здесь не будет, достаточно базового знания командной строки, языка C, Makefile и общих теоретических знаний о файловых системах.

Весь материал разбит на несколько частей, в данной статье будет описана вводная часть. Я коротко расскажу о том, что понадобится для разработки в ядре Linux, затем мы напишем простейший загружаемый модуль ядра, и наконец напишем каркас будущей файловой системы — модуль, который зарегистрирует довольно бесполезную (пока) файловую систему в ядре. Люди уже знакомые (пусть и поверхностно) с разработкой в ядре Linux не найдут здесь ничего интересного.
Читать дальше →
Total votes 113: ↑110 and ↓3+107
Comments9

FileAPI 2.0: Загрузка файлов на сервер год спустя

Reading time11 min
Views70K
FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
Читать дальше →
Total votes 166: ↑157 and ↓9+148
Comments85

Собираем RPM-пакет для CentOS 6.4 x64

Reading time3 min
Views37K
Всех категорически приветствую! :)

Хочу поделиться опытом сборки RPM-пакетов в CentOS 6.4 x64. Мне эта система нравится, всё просто, информации много. Да и на большинстве наших сервисов (небольшая хостинговая компания) установлена именно она.

На рабочем серваке не делайте сборки пакетов, зачем вам лишние пакеты? Я создал виртуалку, там и делаю.

Будем мы сегодня собирать PHP-5.5.4 которая вышла буквально день назад. Почему PHP? Потому что с его сборкой я намучился больше всего: то не было нормального spec-файла, то ошибки в нём были (когда сам что-то дополнял/исправлял). Короче, горя я хлебал с ним больше недели. И в муках было рождено решение как же всё таки правильно собирать пакет для PHP.

Ну, что ж, уважаемые, к делу!
Читать дальше →
Total votes 11: ↑6 and ↓5+1
Comments5

Mojo Share — все социальные кнопки на CSS3 с иконочным шрифтом в одном месте

Reading time10 min
Views21K
Доброго времени суток уважаемые хабравчане. Начну издалека… Share кнопки — это очень важно. Большинство из нас с Вами использует либо стандартные кнопки определенной социальной сети, либо один из этих сервисов: Блок «Поделиться» от Яндекса, AddThis, ShareThis и новоиспеченный Pluso. Если рассматривать все эти способы с точки зрения кастомизации и дизайна, то достойнее всего, на мой взгляд, это реализовали в Pluso. Все остальное почти ничем не отличается друг от друга. Рассматривая основной функционал (непосредственно шаринг), отличается баганутостью только Pluso, где можно легко накрутить счетчики, нажимая кнопки помногу раз. Я не буду сравнивать качество сбора статистики этих сервисов хотя Pluso явно не фаварит, поскольку не компетентен в этом вопросе. Вернемся к кастомизации кнопок. Как таковой, во всяком случае удобной, ее нет. А если говорить про дизайн, то кнопки не адаптированы под Retina дисплеи, что сразу бросается в глаза. Поэтому я решил создать проект на GitHub, который состоит из иконочного шрифта MojoSocial и файла стилей MojoShare.

image

Сейчас в проекте более 40 векторных иконок. Все кнопки построены на CSS3 с использованием градиентов из фирменных цветов каждого отдельного сервиса. Плюс несколько стилистических классов, определяющих дизайн кнопки. А пользоваться этим удобно, потому что файл стилей на LESS.

Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments16

Что нам стоит Интернет магазин построить? Или как я начал продавать в Интернете

Reading time4 min
Views33K
Всем привет,image

Этот пост не претендует на какую то инструкцию или руководство к действию, если кому то он поможет в осознании что делать будет очень хорошо.

Сегодня жаркий солнечный день, я сижу как всегда за своим рабочим местом и смотрю статистику своих магазинов.

Сегодня полтора года как я начал продавать в интернете и развивать эти самые магазины.

Тематика своеобразна: отопление и водоснабжение.
Регион действия Украина.

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

Если вам интересно что было дальше
прошу под кат
Total votes 31: ↑14 and ↓17-3
Comments11

50 потрясающих плагинов jQuery

Reading time1 min
Views88K

Кто-то вчера шутил, а кто-то занимался реально полезными вещами. Как например болгарский разработчик Мартин Ангелов, опубликовавший впечатляющий обзор JS библиотек:
http://tutorialzine.com/2013/04/50-amazing-jquery-plugins/
Настоятельно рекомендуется к обозрению.
PS Куда-то пропал тип топика «Ссылка» :(
Total votes 121: ↑76 and ↓45+31
Comments20

CSS3-генераторы. Лучшее

Reading time2 min
Views199K








Доброго времени суток! Сразу объяснюсь по поводу оформления поста: однажды, наткнувшись на статью о CSS-генераторах, меня не сильно порадовало безмерное количество информации и навигационных элементов в представленных генераторах, и еще больше — их пользовательский интерфейс! Возмутило то, что инструменты для работы со стилями — сами не выдержаны в рамках возможностей, которые они представляют… как так?!

Когда занимаешься творчеством, хочется иметь подручные средства и инструменты на освоение и работу с которыми тратишь минимум усилий и времени. В результате всего этого, пришла мысль: отобрать лучшие инструменты и организовать их для частого использования (а-ля навигационное меню, такой себе: Quick Launch).

Надеюсь, для многих ноу-хау станет хорошим помощником в процессе веб-разработки.
Читать дальше →
Total votes 114: ↑104 and ↓10+94
Comments26

Теплый и ламповый VPN

Reading time9 min
Views393K

Ничего не предвещало беды, как вдруг в 2 часа ночи раздался телефонный звонок.

— Алло, милый! У меня youtube не работает!
— Прекрасно, иди спать!
— Нууу! Там новая серия вышла!
— Завтра всё сделаю!
— Ну Заяя, нуууу!
— Ладно! Ладно! Сейчас.


Из этого поста вы узнаете ответы на следующие вопросы:
Как спасти свою милую от стресса в 2 часа ночи? Как вернуть доступ к youtube.com, если ваш провайдер его заблокировал? Как быстро поднять VPN и настроить клиентские устройства (Android, Windows, Debian, dd-wrt) для работу с ним? Как безопасно серфить интернет на открытых точках доступа? Как заработать карму в глазах своей возлюбленной? Если вам это интересно, добро пожаловать под кат!
Читать дальше →
Total votes 188: ↑169 and ↓19+150
Comments157

BigVideo.js: фоновое видео на весь экран

Reading time1 min
Views37K


Плагин BigVideo.js для jQuery добавляет на страницу видео в качестве фонового изображения через HTML5 Fullscreen API. Видео автоматически растягивается на любой размер экрана. Для работы нужно предварительно загрузить библиотеки jQuery, jQuery UI и jQuery imagesloaded. Запуск:

$(function() {
    var BV = new $.BigVideo();
    BV.init();
    BV.show('http://video-js.zencoder.com/oceans-clip.mp4');
});

В качестве хостинга своих видеороликов удобно использовать Vimeo Pro, он даёт прямую ссылку на mp4-файл и отгружает контент со скоростью более 10 Мбит/с.
Читать дальше →
Total votes 63: ↑44 and ↓19+25
Comments47

Как распознать кракозябры?

Reading time1 min
Views425K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Total votes 429: ↑418 and ↓11+407
Comments64

jQuery File Upload

Reading time2 min
Views182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Total votes 215: ↑206 and ↓9+197
Comments118

Создание полноразмерных скриншотов web-ресурсов

Reading time3 min
Views13K
Довольно полезным сервисом является создание полноразмерных скриншотов web-ресурсов.
Реализуем этот сервис буквально за 5 минут.

Задачи:


1) Создание полноразмерных скриншотов сайтов (полный скриншот по длине и ширине, а не захват окна браузера)
2) веб-интерфейс

Технологии:


— ОС — Ubuntu 10.04
— xvfb — Виртуальный фреймбуффер (Fake Xserver)
— CutyCapt — кроссплатформенная утилита для рендеринга web-страниц
— php — для веб-интерфейса
Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments41

Fido + BBS на Ubuntu 11.04 Server

Reading time4 min
Views8.6K
Synchronet BBS logo
В далёкие времена, когда интернет у простых студентов и школьников был либо явлением редким, либо flat rate (читай — после двух ночи) — а иногда и на двоих (читай — после пяти утра), за бутылку “Степана Разина” можно было подключиться к Fido. А за две — так вообще к CM боссу, т. е. круглосуточному.
Фидо — сеть, созданная анархичным гением Тома Дженнингса и разросшаяся в начале 90-х до нашей страны, стала для многих отечественных гиков основным способом общаться. Стоит отметить, что многие информационные новшества развивались или даже зарождались именно в фидонете: статусы (“now playing” из винампа в оригине), форумы (эхи), файлобмены (фэхи), блоги (локалки), магазины (даже с доставкой), онлайн игры (на ббсках), башорг (HUMOR.FILTERED) и пр. И при этом не нужно было хранить кучу паролей, фильтровать горы спама, а работа эх не зависела от “пожаров” на хостинге, ибо была в определённой степени децентрализована. И, что интересно, все — от мала до велика — друг к другу на “ты”.
Тем не менее, то время, когда каждый СисОп знал какая у него АТС — декадно-шаговая или координатка и когда CPS (ЦПС) более 3000 считалось круто, уже прошло… Сейчас совсем необязательно по всей квартире искать лишние “шипящие” скрутки в телефонной линии, запускать непонятные фоссил драйверы, и вводить мораторий на снятие телефонной трубки после полуночи. Фидо можно организовать и по IP на своём домашнем сервере.
Зачем? ...Just for fun.

Под катом: ставим Fidogate + binkd + Synchro BBS на Ubuntu 11.04 Server (amd64).
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments76

Защита пароля при передаче по открытому каналу (часть 1)

Reading time2 min
Views38K
Использование https при аутентификации уже давно стало правилом хорошего тона. Однако, необходимость покупки сертификата приводит к тому, что многие владельцы web-ресурсов по прежнему используют для аутентификации открытый канал и ваши пароли доступа могут быть перехвачены злоумышленником, имеющим доступ к сети, в которой вы работаете. Следует отметить, что использование https в общем случае не гарантирует защиты от перехвата передаваемого трафика. На сегодняшний день существуют решения, основанные на использовании специальных прокси и доменных политик, позволяющие успешно читать https трафик в корпоративных сетях. Далее о том, как все же защитить пароль от перехвата.
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments69

Миграция с одного физического сервера на другой

Reading time5 min
Views40K
image


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

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

Этот вариант иногда неизбежен, например когда сервера в разных датацентрах. Но если сервера (новый и старый) стоят в соседних стойках, то можно просто перенести ОС на новую железку а старую сразу погасить. О том как это сделать я и напишу небольшую статью-чеклист. Итак поехали!
Читать дальше →
Total votes 57: ↑48 and ↓9+39
Comments36

MUX.Dialog плагин для красивых диалогов в вашем проекте

Reading time3 min
Views2.4K
Этот плагин позволит вам легко и элегантно выводить сообщения и небольшие формы в ваших веб-проектах, построенных на Mootools.

Основные характеристики


  1. Полнофунциональные диалоги. А значит из коробки работают модальность, многооконность, закрытие по Esc, перетаскивание, растягивание (опционально), удобный механизм добавления кнопок и другие вкусности. При этом все очень ненавязчиво.
  2. Простой API для кастомизации и манипуляции диалогами.
  3. Стилизация через CSS, что означает что многие, если не все свойства связанные с внешним видом и даже некоторые связаные с поведением можно переопределить в своих CSS файлах, а значит вы легко впишете диалоги в стиль своего проекта (см. примеры).
  4. События позволят вам перехватывать ключевые моменты поведения диалогов и дополнять их собственным поведением.
  5. Работает из коробки с MUX.Loaders, но не требует их если вы не хотите их использовать. Просто подключите файл лоадеров до диалогов и все — анимация сама запустится перед событием submit и остановится при закрытии.
  6. Полная документация и примеры.

Проект на github https://github.com/lavmax/MUX.Dialog.

Тестировалось на IE7+, FF3+, Chrome, Safari, Opera последних версий.

Некоторые примеры использования и кастомизации

Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments25

Принцип цикады и почему он важен для веб-дизайнеров

Reading time6 min
Views229K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Total votes 696: ↑682 and ↓14+668
Comments119

38 статей о создании закругленных углов на сайтах

Reading time4 min
Views12K
Моя статья на Временно.нет
38 статей о создании закругленных углов на сайтах
Часто сталкиваешься с необходимостью создания блоков с круглыми краями. Задавшись вопросом как вообще можно решить поставленную задачу, сделал подборку интересных статей и уроков на данную тему.

Здесь представлен обзор 38 статей, разбитых на 4 категории по способам реализации.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments79

Ловушка “группомыслия” и другие эффекты работы в команде

Reading time4 min
Views13K
Возможно многие сталкивались с подобным парадоксом: почему от увеличения числа участников в команде, эффективность ее работы не только не увеличивалась, но, наоборот, снижалась? Я начал изучать данный вопрос, т.к. по ходу своей управленческой деятельности сталкивался с подобной ситуацией несколько раз.

Тем, кто непосредственно связан с организацией работы в команде и использует коллективный способ принятия решения, следует знать о таком явлении как «групповые эффекты»
Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments25

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity