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 многабукаф
Продолжение статьи
Статья не претендует на полноту и всеобъемлемость, также в ней исключены настройки (дабы не увеличивать в объеме). Смысл – просто дать представление о технологии RAC.
P.S. Beware of the многабукаф
Продолжение статьи
+43
jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()
2 мин
38KПеревод
Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.
Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо < br / >.
+45
Кеширование FastCGI-запросов в nginx
2 мин
28KДоброе утро, Хабр!
В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
+25
Создаем приложение — «Ударная установка»
9 мин
5.2KПеревод
Думаю, все знакомы с эмуляторами ударных установок. Сделать такое приложение довольно просто. В этой статье мы создадим Bickboxx — реальное приложение из App Store.
Если хотите получить представление о том, чем мы займемся, скачайте Bickboxx из App Store (бесплатно). Исходный код можно скачать здесь. Его можно свободно загружать, сообщать о найденных проблемах — вплоть до создания собственных версий с изменениями, которые считаете целесообразными.
Примечание: для работы с уроком исходный код скачивать необязательно. Все скриншоты кликабельные.
+37
Руководство по установке Volantis Mobility Server
5 мин
889 Разработка приложений для мобильных устройств это настоящий вызов для разработчиков. Разнообразие мобильных устройств и их возможностей затрудняют разработку таких приложений, которые шли бы на всём — от базовых телефонов с маленьким экраном, до продвинутых смартфонов, управляемых прикосновением к экрану.
Два года назад один из известных разработчиков приложений и сервисов для мобильных устройств, компания Volantis, сделала шаг в сторону Open Source сообщества, выпустив свою программную платформу для доставки мобильного контента Volantis Mobility Server в виде программного продукта с открытыми исходными текстами под лицензией GNU GPL v3. Всего было открыто более миллиона строк кода, созданных в течение семи лет работы.
Volantis Mobility Server это довольно успешная попытка предоставить нам возможность писать не зависящий от устройства код, тем самым освобождая нас от встраивания логики представления неподсредственно в приложения. Создавая различные шаблоны представлений для различных классов мобильных устройств мы пишем единое приложение и используем возможности системы для определения соответствующего представления на любом мобильном устройстве. Звучит захватывающе, не так ли? Описание продукта заявляет о следующих вкусностях:
Для нас открытость технологии Volantis означает возможность легально скачать программное обеспечение, установить и создать мобильный сайт в мобильном интернете. Если в прошлом году новости пестрели сообщениями, что известный мобильный оператор заключил договор с Volantis о внедрении платформы управления мобильным контентом, то почему бы и нам не обратить внимание на этот продукт?
Сегодня я расскажу как установить Volantis Mobility Server (далее — VMS). Тем кто не хочет повторить мой опыт сразу предлагаю пройти на… тестовый сервер и посмотреть на демо-приложения, прилагавшиеся в комплекте. Настройка среды разработчика и собственно разработка в эту статью не войдут, но не исключено что будут рассмотрены в отдельных статьях
Два года назад один из известных разработчиков приложений и сервисов для мобильных устройств, компания Volantis, сделала шаг в сторону Open Source сообщества, выпустив свою программную платформу для доставки мобильного контента Volantis Mobility Server в виде программного продукта с открытыми исходными текстами под лицензией GNU GPL v3. Всего было открыто более миллиона строк кода, созданных в течение семи лет работы.
Volantis Mobility Server это довольно успешная попытка предоставить нам возможность писать не зависящий от устройства код, тем самым освобождая нас от встраивания логики представления неподсредственно в приложения. Создавая различные шаблоны представлений для различных классов мобильных устройств мы пишем единое приложение и используем возможности системы для определения соответствующего представления на любом мобильном устройстве. Звучит захватывающе, не так ли? Описание продукта заявляет о следующих вкусностях:
- способен выполняться на многих java серверах веб-приложений и работать со многими MySQL-совместимыми СУБД
- среда проектирования, доступная в популярных интегрированных средах разработки как IBM WebSphere и Eclipse, позволяет разработчикам создавать дизайн и политику информационного наполнения для приложений.
- среда выполнения, определеяющая тип устройства и наилучший щаблон представления для устройства
- включает прокси для доступа к изображениям, подгоняющий размер и формат изображения под конкретное устройство
- база данных на 6500 устройств, с более чем 650 аттрибутов на каждое устройство
- библиотека виджетов, в том числе и AJAX
Для нас открытость технологии Volantis означает возможность легально скачать программное обеспечение, установить и создать мобильный сайт в мобильном интернете. Если в прошлом году новости пестрели сообщениями, что известный мобильный оператор заключил договор с Volantis о внедрении платформы управления мобильным контентом, то почему бы и нам не обратить внимание на этот продукт?
Сегодня я расскажу как установить Volantis Mobility Server (далее — VMS). Тем кто не хочет повторить мой опыт сразу предлагаю пройти на… тестовый сервер и посмотреть на демо-приложения, прилагавшиеся в комплекте. Настройка среды разработчика и собственно разработка в эту статью не войдут, но не исключено что будут рассмотрены в отдельных статьях
+6
Список полезных инструментов для CSS разработчика
8 мин
71KПеревод
Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.
Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
+161
OpenGL ES: Перемещение в 3D
9 мин
33KПеревод
В Сидней практически пришла зима — и я умудрился подхватить грипп (простой, не свиной). А тут еще работа, день Матери и пр. и пр. Одним словом, ввиду недостатка времени двигаться будем быстро. Но прежде чем приступать к созданию «уникального» трехмерного мира, освоим концепции перемещения в 3D пространстве.
Нам предстоит освоить код обработки событий, который позволит ходить «по полу». С помощью касаний мы будем поворачивать влево, вправо, перемещаться вперед и назад. Обойдемся без бега, поворотов головы и наведения резкости, хотя добавить их легко. Подобные ограничения объясняются как желанием упростить изложение, так и возможностью для не располагающих iPod Touch или iPhone добиваться аналогичных результатов в симуляторе.
Для начала загрузим основу проекта здесь.
Кода там не много — в основном объяснения, что и как происходит.
Большинство воспринимает 3D миры как пространство, на которое смотришь через камеру, но в OpenGL камеры как таковой нет. Для иллюзии движения по сцене относительно начальной точки (0, 0, 0) перемещаются объекты, а не камера, как в кино.
Процесс может показаться трудоемким, но это не так. В зависимости от приложения есть множество способов решения данной задачи и еще больше — оптимизации для действительно больших миров. На этом я вкратце остановлюсь чуть позже.
Чтобы немного упростить работу, к уроку я приложил удобную игрушку от «большого брата» OpenGL ES — библиотеки GLU: я имею в виду функцию "gluLookAt()".
Нам предстоит освоить код обработки событий, который позволит ходить «по полу». С помощью касаний мы будем поворачивать влево, вправо, перемещаться вперед и назад. Обойдемся без бега, поворотов головы и наведения резкости, хотя добавить их легко. Подобные ограничения объясняются как желанием упростить изложение, так и возможностью для не располагающих iPod Touch или iPhone добиваться аналогичных результатов в симуляторе.
Для начала загрузим основу проекта здесь.
Кода там не много — в основном объяснения, что и как происходит.
Мифическая камера
Большинство воспринимает 3D миры как пространство, на которое смотришь через камеру, но в OpenGL камеры как таковой нет. Для иллюзии движения по сцене относительно начальной точки (0, 0, 0) перемещаются объекты, а не камера, как в кино.
Процесс может показаться трудоемким, но это не так. В зависимости от приложения есть множество способов решения данной задачи и еще больше — оптимизации для действительно больших миров. На этом я вкратце остановлюсь чуть позже.
Чтобы немного упростить работу, к уроку я приложил удобную игрушку от «большого брата» OpenGL ES — библиотеки GLU: я имею в виду функцию "gluLookAt()".
+26
Защищаемся от HTTP DDoS и прочих Хабраэффектов
5 мин
10KПростой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
+144
Станок с ЧПУ
5 мин
177KСтанок с ЧПУ (Числовым Программным Управлением) – станок, работа которого подчиняется заранее заданной программе. Благодаря этому для обработки детали не нужен человек. Нарисовал на компьютере детальку, установил в станок заготовку, нажал пуск и пошел пить чай. По возвращении достаешь готовую детальку из станка. Фантастика? Совсем нет, такой станочек можно сделать самостоятельно!
+159
Трюки языка C#
4 мин
20KИМХО, вместо того, чтобы вкручивать собеседникам мозги насчет заумной семантики event’ов и делегатов или же спрашивать когда написание new IEntity()
легально, можно задать вопрос попроще – например “приведите пример необычного поведения или использования языка C#”. Вот несколько примеров, которые пришли в голову в качестве возможных ответов.
+60
XSS глазами злоумышленника
4 мин
265KЧто такое XSS и как от него защитится все уже давно знают, поэтому буду краток. XSS это возможность злоумышленника определенным образом (ссылку на возможные варианты смотрите в конце статьи) интегрировать в страницу сайта-жертвы скрипт, который будет выполнен при ее посещении.
Интересно, что в большинстве случаев, где описывается данная уязвимость, нас пугают следующим кодом:
Как-то не очень страшно :) Чем же действительно может быть опасной данная уязвимость?
Интересно, что в большинстве случаев, где описывается данная уязвимость, нас пугают следующим кодом:
http://www.site.com/page.php?var=<script>alert('xss');</script>
Как-то не очень страшно :) Чем же действительно может быть опасной данная уязвимость?
+81
Кешируем блоки HTML при помощи nginx
3 мин
7.1KНе секрет, что пользователи любят, когда контент на сайте обновляется чаще, чем раз в год. Эту любовь пользователей к динамическим страничкам разделяют и поисковики. Google, например, умеет определять наличие обновляющихся блоков на страничке и добавляет ей немного кармы (читай, PR).
Однако динамический контент довольно плохо сочетается с большими нагрузками. Для веб-сервера, отдача статической странички — намного более простая задача, чем запуск кода, который сгенерит эту страничку динамически. В некоторых случаях может выручить прегенерация всех возможных вариантов странички, но это не спасёт, если их слишком много, или страница обновляется слишком часто.
Однако динамический контент довольно плохо сочетается с большими нагрузками. Для веб-сервера, отдача статической странички — намного более простая задача, чем запуск кода, который сгенерит эту страничку динамически. В некоторых случаях может выручить прегенерация всех возможных вариантов странички, но это не спасёт, если их слишком много, или страница обновляется слишком часто.
+79
Чеклист запуска сайта
3 мин
25KЭтот чеклист будет полезен всем, кто запускает сайты или следит за этим увлекательным процессом. Ничего не пропустите!
+112
pv — маленькая, но очень полезная утилита
2 мин
83KОдин мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
+270
Хакерский квест
1 мин
5.7KНедавно обнаружил в сети очередную убивалку времени. На этот раз вашему вниманию предлагается интересный хакерский квест, сделанный с юмором. В рунете упоминания о нем практически не встречаются. Состоит из 5 «разгревочных» уровней и 50 посложнее, для прохождения которых придется применить знания из самых разных областей.
После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.
Желаю удачи :)
+49
DNS Tunneling via iodine: сыр действительно бесплатный
3 мин
26KЕсть:
— отключенный за неуплату интернет (adsl, lan, etc)
или
— нешифрованная wi-fi сеть c закрытым интернетом, но работающим dns
или
— очень строгий firewall с открытым dns
Хочется:
полноценный интернет, пусть даже очень медленно
— отключенный за неуплату интернет (adsl, lan, etc)
или
— нешифрованная wi-fi сеть c закрытым интернетом, но работающим dns
или
— очень строгий firewall с открытым dns
Хочется:
полноценный интернет, пусть даже очень медленно
+71
Ставим точки в MVC Framework. Фабрика контроллеров
5 мин
8.8KВ этой главе ставится точка в ответе на вопрос “Как и зачем работает фабрика контроллеров?”.
Это третья статья из цикла статей про внутреннее устройство MVC Framework. Краткое содержание предыдущих частей: Нужно ли переходить на MVC Framework?; механизм работы MVC Framework: Часть 1 и часть 2. В этой статье речь пойдет о механизме фабрики контроллеров, важной части MVC Framework, с которой начинается работа всего фреймворка.
Это третья статья из цикла статей про внутреннее устройство MVC Framework. Краткое содержание предыдущих частей: Нужно ли переходить на MVC Framework?; механизм работы MVC Framework: Часть 1 и часть 2. В этой статье речь пойдет о механизме фабрики контроллеров, важной части MVC Framework, с которой начинается работа всего фреймворка.
+20
Boost это просто. Часть 1. Boost.Regex
10 мин
80KЭта статья является первой в цикле статей, которые я собираюсь посвятить, наверное лучшей, библиотеке для С++.
В данной статье рассматриваются следующие вопросы касательно регулярных выражений:
В данной статье рассматриваются следующие вопросы касательно регулярных выражений:
- regex_match
- regex_search
- regex_replace
- regex_iterator
- regex_token_iterator
- Partial match
+54
Тюнинг nginx
8 мин
97K Статья написана по материалам моего доклада на CodeCamp 2009.
Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...
У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.
Пришло время оптимизировать nginx...
Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...
У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.
Пришло время оптимизировать nginx...
+98
Информация
- В рейтинге
- Не участвует
- Откуда
- Владивосток, Приморский край, Россия
- Дата рождения
- Зарегистрирован
- Активность