Pull to refresh
1
0
Александр @Funcraft

User

Send message

Выравнивание иконок по базовой линии шрифта

Reading time2 min
Views26K
Добрый день. В этой коротенькой заметке я расскажу как кроссбраузерно выровнять иконки по базовой линии шрифта. Итак, задача на первый взгляд довольно тривиальна: в макете, который прислал дизайнер существует следующий, весьма стандартный, блок (имя пользователя в хедере после того как пользователь осуществил вход на сайт)

image

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

LRU, метод вытеснения из кэша

Reading time3 min
Views135K
К сожалению, в очередной раз заметил, что почти все мои коллеги не знают, что такое LRU, и как реализовать кэш определенного размера. Поэтому я решил написать небольшую статью, где расскажу как быстро реализовать метод LRU, и не вынуждать коллег вручную сбрасывать кэш там, где не требуется.

Мы будем под кэшированием понимать сохранение результатов вычислений в ответ на некоторые запросы. То есть, повторный результат запроса не всегда вычисляется заново, но иногда берется из таблицы, называемой кэшем. Сложно переоценить роль кеширования в современных системах. При этом часто возникает проблема, связанная с недостатком памяти. Действительно, что делать, если запросов много, а памяти хватает лишь для хранения ограниченного числа результатов? В этом случае, как правило, кеш стрится следующим образом. Фиксируется размер кэша, пусть будет N, и сохраняются результаты только для N самых «популярных» запросов.

То есть сохраняются результаты вычислений, которые скорее всего запросят заново.
Как определять эти «популярные» запросы? Наиболее известным способом является LRU, о котором я и расскажу в этой статье.
Читать дальше →

Принцип домино или XSS на крупных сайтах рунета

Reading time1 min
Views4.4K
На странице регистрации нового аккаунта Mail.ru не фильтровались поля 'Имя' и 'Фамилия', в следствии чего туда можно было вставлять скрипты и регистрировать пользователя чьим именем был скрипт (до 80-ти символов). На самом Mail.ru эта уязвимость никак не отражалась, а проявляла себя на тех сайтах, что использовали авторизацию через Mail.ru, и на тех сайтах, что использовали авторизацию сайтов, использовавших авторизацию через Mail.ru :)
Вот так было до исправления уязвимости:
image
Читать дальше →

Интернет на магнитах 1 — Магнит

Reading time4 min
Views4.7K

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


В этом им поможет magnet (магнет-ссылка или просто магнит). Это первый вариант p2p ссылки, который является универсальным и расширяемым стандартом, не привязанным к конкретной сети.


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

Что же из себя представляет магнит?

Разработка производительного игрового сервера на Netty + Java

Reading time5 min
Views55K
Piccy.info - Free Image Hosting

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

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

Паттерны ООП в метафорах

Reading time17 min
Views575K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →

Prolog — грамматический разбор и языковые проблемы

Reading time10 min
Views14K
Грамматический разбор — тема, которую должен знать и ориентироваться каждый программист. Именно, потому что применяем ее каждый день. Да мы не пишем новые языки или не правим грамматики каждый день, но мы пользуемся регулярными выражениями, задумываемся о сложности и вычислимости, думаем о количестве строк кода, что имеет непосредственное отношение к грамматикам.

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

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

Подборка html/javascript/css инструментов и библиотек от SmashingMagazine

Reading time5 min
Views22K
Разработка вебинтерфейсов дело не самое легкое. Причем начать вроде бы несложно, а вот добиться совершенства поистинне проблематично. Уж очень многое необходимо учесть. Просто масса настроек и ньюансов, в которых легко запутаться и сделать что-то не так. К счастью, разработчики и дизайнеры склонны упрощать этот нелегкий труд и постоянно изобретают всяческие инструменты позволяющие сделать больше и лучше за то же самое время, а главное не погрязнуть в мелочах и состредоточиться на чем-то более важном.

Множество удобных инструментов, найденных командой популярного онлайн журнала SmashingMagazine, приводится под катом
Читать дальше →

Синхронизируем контакты между лесами

Reading time12 min
Views10K
В ходе деятельности любой организации, у нее возникают и исчезают временные союзники, она дружит и разрывает дружбу с партнерами, она реорганизуется, поглощает другие организации и наоборот, разделяется на несколько. С точки зрения ИТ часто возникает необходимость в создании общих ресурсов, доверительных отношений между лесами Active Directory, в налаживании vpn-туннелей сеть-сеть и прочих «объединительных» процедурах. Ниже я рассмотрю одну такую процедуру, копирование контактных сведений о пользователях чужого доверенного домена.
Читать дальше →

Текстовая онлайн-трансляция при большой нагрузке

Reading time3 min
Views4.6K


Большую роль в жизни нашего сайта играют онлайн-трансляции презентаций Apple. Помимо текстово-графической трансляции, которые делают многие русскоязычные ресурсы, мы предлагаем нашим читателям вести обсуждение в чате, а также ведем прямой аудио-эфир с комментариями всего происходящего. Как и в предыдущие разы, нашим постоянным ведущим помогали Кира Тверская (Эхо Москвы) и Эльдар Муртазин. Такой живой формат позволяет нам слышать реакцию ведущих в режиме реального времени, что согласитесь, довольно интересно.

В прошлый раз на презентации iPhone 4S мы немного оплошались, и не смогли достойно подготовиться к наплыву посетителей (к слову, было около 3500 клиентов). Главной ошибкой было то, что страница трансляции представляла собой вывод плагина Wordpress, соответственно при каждом обращении дергался не только сам интерпретатор PHP, но и вся система Wordpress. После проведения трансляции стало очевидно, что от такой позорной схемы надо избавляться.

Ходят слухи, что в марте компания Apple представит новую версию своего планшетника iPad 3. Нам повезло, и 19 января мы смогли обкатать новую схему трансляции на гораздо меньшей нагрузке, чем будет в марте. По понятным причинам, людей, заинтересованных в образовательной презентации Apple, было намного меньше.

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

Что нового в PHP 5.4

Reading time3 min
Views33K
Всем привет! Судя по слухам, 19 января, в свет должен был выйти очередной RC PHP 5.4. Возможно даже, что он будет финальным. А это значит, что нужно скорее заняться изучением новых возможностей.

Я несколько лет профессионально занимаюсь веб-разработкой и в качестве основного серверного языка использую PHP. Так что узнав о выходе столь крупного обновления, я отправился собирать информацию. Под катом shortlist самых значимых нововведений.

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

Создание простой 2D игры на Android

Reading time10 min
Views375K
Доброго дня всем!

Когда я писал эту «игру» у меня возникала масса вопросов по поводу зацикливания спрайтов так что бы они появлялись через определенное время, так же были проблемы с обнаружением столкновений двух спрайтов и более, все эти вопросы я сегодня хочу осветить в этом посте так как в интернете я не нашел нормального ответа на мои вопросы и пришлось делать самому. Пост ни на что не претендует, я новичок в разработке игр под android и пишу я для новичков в данной отрасли. Кому стало интересно прошу под кат.
Читать дальше →

Торрент лекций Лекториум

Reading time1 min
Views35K
image

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

Дабы облегчить дальнейшее скачивание лекций выкладываю некоторые из ник как торренты.

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

Добавление поддержки Scala за несколько кликов в ваш Android-проект(Eclipse)

Reading time3 min
Views5.8K
В этом постеце на заметку я покажу как можно добавить в Eclipse, в существующий проект поддержку языка — Scala. И так, поехали!
Читать дальше →

Zendframework + ffmpeg + gearman + amazon = Видео encoder сервис

Reading time5 min
Views2.2K
Хочу поделиться с хабрасообществом опытом создания веб сервиса для конвертирования видео и сохранения в облачном хранилище. Сразу оговорюсь, сервис написан для внутреннего пользования одной европейской компании, и уже работает более 6 месяцев. Одним из направлений компании является продукт WebTv. Было очень проблематично на каждом новом сайте разворачивать структуру для конвертирования видео, и зачастую эти процессы очень тормозят работу сервера.
Было решено создать сервис, который бы удовлетворял следующим требованиям:
  • Легкая интеграция с любым сайтом.
  • Реализовать процесс конвертации более одного видео файла в одно и то же время.
  • Реализовать процесс сбора видео с ftp, IMAP и просто напрямую получать видео файл через HTTP POST.
  • Опционально при помощи дополнительных параметров, уметь вращать видео, вещать водные знаки и т.д.
  • Реализовать безопасную систему авторизации во фронте, где юзеры могут видеть, какие данные уходят на видео сервис помимо видео файла.
  • Отправлять готовые результаты на Amazon S3.
  • Хорошенько обрабатывать ошибки, и оповещать об этом клиентский сервис.

под катом взгляд изнутри в деталях

Редакторы контента, использующие contenteditable

Reading time2 min
Views7.1K
На последнем Web Standards Days, проходившем в Москве, Антон Немцев рассказывал про идею редактирования контента непосредственно на странице с этим самым контентом, используя атрибут contenteditable.

Спросив google, я нашел два вполне уже рабочих редактора, которые можно попробовать применить в одном из проектов.
Читать дальше →

Float'омания: разъяснение как работает css свойство float

Reading time2 min
Views149K

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

eSSL — SSL сертификаты для встраиваемых систем

Reading time11 min
Views12K
В наше время сетевые технологии развиваются столь стремительно что еще недавно казавшийся бредовым лозунг "интернет в каждом холодильнике" уже не кажется фантастикой. Но вместе с тем начинают становиться актуальными вопросы безопасности встраиваемых устройств имеющих WEB интерфейс с выходом в локальную и, не дай бог, в глобальную сеть. SSL технология призвана помочь этому позволяя работать с WEB интерфейсом по протоколу HTTPS, но встраиваемые системы имеют здесь свои особенности.
Читать дальше →

Проброс блочных устройств в виртуальную машину XenServer

Reading time2 min
Views19K
В современном мире наверно все адекватные системные администраторы корпоративных сетей используют виртуализацию. Для мелкого и среднего бизнеса одним из самых осмысленных выборов гипервизора является бесплатная версия Citrix XenServer. Основное его преимущество для небольшой фирмы, не имеющей возможности покупать железо под задачи — это огромная гибкость, во многом за счёт Linux, на котором базируется обозначенный гипервизор.

Огромнейшая проблема XenServer, как и Xen Cloud Platform, в очень ограниченном количестве документации. Точнее сказать — в полном её отсутствии для нестандартных ситуаций. В частности нигде в официальных источниках мне не удалось найти инструкции по пробросу блочного устройства непосредственно в виртуальную машину.

Для начала зачем это может понадобиться. Простейший пример — у вас есть сервер без надёжного аппаратного RAID контроллера. Но вы хотите рейд. Без проблем — Linux (и XenServer) содержит великолепнейшую штуку — mdadm. А нужен вам этот RAID для файлопомойки, причём файлопомойка займёт всё доступное место. Смысла городить RAID, а поверх него ещё делать XenServer StorageRepository (SR) с type=lvm, в котором создавать один-единственный диск на весь объём нет. Гораздо лучше создать RAID, и пробросить его блочное устройство непосредственно в виртуальную машину. Так и надёжней — в случае чего вы всегда сможете достать жёсткие диски из сервера и воткнуть их в любую Linux машину, которая тут же увидит все ваши данные.

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

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity