Как стать автором
Обновить
0
0
texnikru @texnikru

Пользователь

Отправить сообщение

Oracle RAC. Общее описание / Часть 1

Время на прочтение10 мин
Количество просмотров73K
Высоконагруженные сайты, доступность «5 nines». На заднем фоне (backend) куча обрабатываемой информации в базе данных. А что, если железо забарахлит, если вылетит какая-то давно не проявлявшаяся ошибка в ОС, упадет сетевой интерфейс? Что будет с доступностью информации? Из чистого любопытства я решил рассмотреть, какие решения вышеперечисленным проблемам предлагает Oracle. Последние версии, в отличие от Oracle 9i, называются Oracle 10g (или 11g), где g – означает «grid», распределенные вычисления. В основе распределенных вычислений «как ни крути» лежат кластера, и дополнительные технологии репликации данных (DataGuard, Streams). В этой статье в общих чертах описано, как устроен кластер на базе Oracle 10g. Называется он Real Application Cluster (RAC).

Статья не претендует на полноту и всеобъемлемость, также в ней исключены настройки (дабы не увеличивать в объеме). Смысл – просто дать представление о технологии RAC.

P.S. Beware of the многабукаф
Продолжение статьи

Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии10

jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()

Время на прочтение2 мин
Количество просмотров38K
image
Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.

Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо < br / >.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии46

Кеширование FastCGI-запросов в nginx

Время на прочтение2 мин
Количество просмотров28K
Доброе утро, Хабр!

В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии27

Создаем приложение — «Ударная установка»

Время на прочтение9 мин
Количество просмотров5.2K
image
Думаю, все знакомы с эмуляторами ударных установок. Сделать такое приложение довольно просто. В этой статье мы создадим Bickboxx — реальное приложение из App Store.

Если хотите получить представление о том, чем мы займемся, скачайте Bickboxx из App Store (бесплатно). Исходный код можно скачать здесь. Его можно свободно загружать, сообщать о найденных проблемах — вплоть до создания собственных версий с изменениями, которые считаете целесообразными.

Примечание: для работы с уроком исходный код скачивать необязательно. Все скриншоты кликабельные.
Читать дальше →
Всего голосов 49: ↑43 и ↓6+37
Комментарии10

Руководство по установке Volantis Mobility Server

Время на прочтение5 мин
Количество просмотров889
 Разработка приложений для мобильных устройств это настоящий вызов для разработчиков. Разнообразие мобильных устройств и их возможностей затрудняют разработку таких приложений, которые шли бы на всём — от базовых телефонов с маленьким экраном, до продвинутых смартфонов, управляемых прикосновением к экрану.
  Два года назад один из известных разработчиков приложений и сервисов для мобильных устройств, компания Volantis, сделала шаг в сторону Open Source сообщества, выпустив свою программную платформу для доставки мобильного контента Volantis Mobility Server в виде программного продукта с открытыми исходными текстами под лицензией GNU GPL v3. Всего было открыто более миллиона строк кода, созданных в течение семи лет работы.
 Volantis Mobility Server это довольно успешная попытка предоставить нам возможность писать не зависящий от устройства код, тем самым освобождая нас от встраивания логики представления неподсредственно в приложения. Создавая различные шаблоны представлений для различных классов мобильных устройств мы пишем единое приложение и используем возможности системы для определения соответствующего представления на любом мобильном устройстве. Звучит захватывающе, не так ли? Описание продукта заявляет о следующих вкусностях:
  • способен выполняться на многих java серверах веб-приложений и работать со многими MySQL-совместимыми СУБД
  • среда проектирования, доступная в популярных интегрированных средах разработки как IBM WebSphere и Eclipse, позволяет разработчикам создавать дизайн и политику информационного наполнения для приложений.
  • среда выполнения, определеяющая тип устройства и наилучший щаблон представления для устройства
  • включает прокси для доступа к изображениям, подгоняющий размер и формат изображения под конкретное устройство
  • база данных на 6500 устройств, с более чем 650 аттрибутов на каждое устройство
  • библиотека виджетов, в том числе и AJAX

 Для нас открытость технологии Volantis означает возможность легально скачать программное обеспечение, установить и создать мобильный сайт в мобильном интернете. Если в прошлом году новости пестрели сообщениями, что известный мобильный оператор заключил договор с Volantis о внедрении платформы управления мобильным контентом, то почему бы и нам не обратить внимание на этот продукт?Я научу тебя летать, Volantis!
 Сегодня я расскажу как установить Volantis Mobility Server (далее — VMS). Тем кто не хочет повторить мой опыт сразу предлагаю пройти на… тестовый сервер и посмотреть на демо-приложения, прилагавшиеся в комплекте. Настройка среды разработчика и собственно разработка в эту статью не войдут, но не исключено что будут рассмотрены в отдельных статьях
подробности...
Всего голосов 14: ↑10 и ↓4+6
Комментарии7

Список полезных инструментов для CSS разработчика

Время на прочтение8 мин
Количество просмотров71K
Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.


Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
Читать дальше →
Всего голосов 179: ↑170 и ↓9+161
Комментарии65

OpenGL ES: Перемещение в 3D

Время на прочтение9 мин
Количество просмотров33K
В Сидней практически пришла зима — и я умудрился подхватить грипп (простой, не свиной). А тут еще работа, день Матери и пр. и пр. Одним словом, ввиду недостатка времени двигаться будем быстро. Но прежде чем приступать к созданию «уникального» трехмерного мира, освоим концепции перемещения в 3D пространстве.

Нам предстоит освоить код обработки событий, который позволит ходить «по полу». С помощью касаний мы будем поворачивать влево, вправо, перемещаться вперед и назад. Обойдемся без бега, поворотов головы и наведения резкости, хотя добавить их легко. Подобные ограничения объясняются как желанием упростить изложение, так и возможностью для не располагающих iPod Touch или iPhone добиваться аналогичных результатов в симуляторе.

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

Кода там не много — в основном объяснения, что и как происходит.

Мифическая камера


Большинство воспринимает 3D миры как пространство, на которое смотришь через камеру, но в OpenGL камеры как таковой нет. Для иллюзии движения по сцене относительно начальной точки (0, 0, 0) перемещаются объекты, а не камера, как в кино.

Процесс может показаться трудоемким, но это не так. В зависимости от приложения есть множество способов решения данной задачи и еще больше — оптимизации для действительно больших миров. На этом я вкратце остановлюсь чуть позже.

Чтобы немного упростить работу, к уроку я приложил удобную игрушку от «большого брата» OpenGL ES — библиотеки GLU: я имею в виду функцию "gluLookAt()".
Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии21

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Время на прочтение5 мин
Количество просмотров10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Всего голосов 160: ↑152 и ↓8+144
Комментарии55

Станок с ЧПУ

Время на прочтение5 мин
Количество просмотров177K
Станок с ЧПУ (Числовым Программным Управлением) – станок, работа которого подчиняется заранее заданной программе. Благодаря этому для обработки детали не нужен человек. Нарисовал на компьютере детальку, установил в станок заготовку, нажал пуск и пошел пить чай. По возвращении достаешь готовую детальку из станка. Фантастика? Совсем нет, такой станочек можно сделать самостоятельно!



Читать дальше →
Всего голосов 161: ↑160 и ↓1+159
Комментарии81

Трюки языка C#

Время на прочтение4 мин
Количество просмотров20K

ИМХО, вместо того, чтобы вкручивать собеседникам мозги насчет заумной семантики event’ов и делегатов или же спрашивать когда написание new IEntity() легально, можно задать вопрос попроще – например “приведите пример необычного поведения или использования языка C#”. Вот несколько примеров, которые пришли в голову в качестве возможных ответов.



Читать дальше →
Всего голосов 94: ↑77 и ↓17+60
Комментарии92

XSS глазами злоумышленника

Время на прочтение4 мин
Количество просмотров265K
Что такое XSS и как от него защитится все уже давно знают, поэтому буду краток. XSS это возможность злоумышленника определенным образом (ссылку на возможные варианты смотрите в конце статьи) интегрировать в страницу сайта-жертвы скрипт, который будет выполнен при ее посещении.

Интересно, что в большинстве случаев, где описывается данная уязвимость, нас пугают следующим кодом:

http://www.site.com/page.php?var=<script>alert('xss');</script>


Как-то не очень страшно :) Чем же действительно может быть опасной данная уязвимость?
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии41

Кешируем блоки HTML при помощи nginx

Время на прочтение3 мин
Количество просмотров7.1K
Не секрет, что пользователи любят, когда контент на сайте обновляется чаще, чем раз в год. Эту любовь пользователей к динамическим страничкам разделяют и поисковики. Google, например, умеет определять наличие обновляющихся блоков на страничке и добавляет ей немного кармы (читай, PR).

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

продолжение
Всего голосов 81: ↑80 и ↓1+79
Комментарии60

Чеклист запуска сайта

Время на прочтение3 мин
Количество просмотров25K

Этот чеклист будет полезен всем, кто запускает сайты или следит за этим увлекательным процессом. Ничего не пропустите!
Читать дальше →
Всего голосов 168: ↑140 и ↓28+112
Комментарии70

pv — маленькая, но очень полезная утилита

Время на прочтение2 мин
Количество просмотров83K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →
Всего голосов 290: ↑280 и ↓10+270
Комментарии94

Хакерский квест

Время на прочтение1 мин
Количество просмотров5.7K
image

Недавно обнаружил в сети очередную убивалку времени. На этот раз вашему вниманию предлагается интересный хакерский квест, сделанный с юмором. В рунете упоминания о нем практически не встречаются. Состоит из 5 «разгревочных» уровней и 50 посложнее, для прохождения которых придется применить знания из самых разных областей.

После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.

Желаю удачи :)
Всего голосов 59: ↑54 и ↓5+49
Комментарии339

DNS Tunneling via iodine: сыр действительно бесплатный

Время на прочтение3 мин
Количество просмотров26K
Есть:
— отключенный за неуплату интернет (adsl, lan, etc)
или
— нешифрованная wi-fi сеть c закрытым интернетом, но работающим dns
или
— очень строгий firewall с открытым dns

Хочется:
полноценный интернет, пусть даже очень медленно
Как?
Всего голосов 85: ↑78 и ↓7+71
Комментарии70

Ставим точки в MVC Framework. Фабрика контроллеров

Время на прочтение5 мин
Количество просмотров8.8K
В этой главе ставится точка в ответе на вопрос “Как и зачем работает фабрика контроллеров?”.

imageЭто третья статья из цикла статей про внутреннее устройство MVC Framework. Краткое содержание предыдущих частей: Нужно ли переходить на MVC Framework?; механизм работы MVC Framework: Часть 1 и часть 2. В этой статье речь пойдет о механизме фабрики контроллеров, важной части MVC Framework, с которой начинается работа всего фреймворка.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии9

Boost это просто. Часть 1. Boost.Regex

Время на прочтение10 мин
Количество просмотров80K
Эта статья является первой в цикле статей, которые я собираюсь посвятить, наверное лучшей, библиотеке для С++.
В данной статье рассматриваются следующие вопросы касательно регулярных выражений:
  • regex_match
  • regex_search
  • regex_replace
  • regex_iterator
  • regex_token_iterator
  • Partial match

Начнем
Всего голосов 60: ↑57 и ↓3+54
Комментарии39

Тюнинг nginx

Время на прочтение8 мин
Количество просмотров97K
Статья написана по материалам моего доклада на CodeCamp 2009.

Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →
Всего голосов 102: ↑100 и ↓2+98
Комментарии69

Информация

В рейтинге
Не участвует
Откуда
Владивосток, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность