Pull to refresh
0
0
Send message

OpenVPN OSPF между двумя серверами, множественные тоннели

Reading time6 min
Views16K
OpenVPN достаточно хорошо документирован и на хабре есть статьи по установке, к примеру:
вот эта.

Но так, чтобы сразу несколько тоннелей, между двумя серверами и автоматической отказоустойчивостью не нашел. В моем случае, серверы на которых будет располагаться OpenVPN и OSPF оба находятся за NATом. Это несколько усложняет решение, но в основном тем, что потребуется управлять трафиком, уходящим с интерфейсов пограничного маршрутизатора.

Дано:


Два пограничных маршрутизатора Centos 7:
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments11

«Идеальный» кластер. Часть 3.1 Внедрение MySQL Multi-Master кластера

Reading time16 min
Views77K

В продолжение цикла статей об «Идеальном» кластере хочу поделиться моим опытом развертывания и настройки Multi-Master кластеров MySQL.




Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments71

Очень большой Postgres

Reading time9 min
Views85K
Так уж случилось, что последнее время приходилось заниматься оптимизацией и масштабированием различных систем. Одной из задач было масштабирование PostgreSQL. Как обычно происходит оптимизация БД? Наверное, в первую очередь смотрят на то, как правильно выбрать оптимальные настройки для работы и какие индексы можно создать. Если обойтись малой кровью не вышло, переходят к наращиванию мощностей сервера, выносу файлов журнала на отдельный диск, балансировке нагрузки, разбиению таблиц на партиции и к всякого рода рефакторингу и перепроектированию модели. И вот уже все идеально настроено, но наступает момент, когда всех этих телодвижения оказывается недостаточно. Что делать дальше? Горизонтальное масштабирование и шардинг данных.


Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments28

Построение графиков в LaTeX/PGFPlots

Reading time13 min
Views95K
image

Данная статья посвящена описанию работы с пакетом PGFPlots, разработанного для популярной настольной издательской системы LaTeX. Однако, если вы даже не знакомы с последней, это не повод расстраиваться и бросать чтение этой статьи, ведь, возможно, те замечательные примеры, которые будут далее приведены, и необычайная мощность и удобство PGFPlots вдохновят вас на изучение LaTeX.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments20

Microsoft Research Accelerators

Reading time4 min
Views2.5K


Research Accelerators — это набор инструментов для студентов, аспирантов, преподавателей и ученых. Они помогут в учебе, академической работе, изучении науки, анализе и визуализации данных, а также публикации результатов проделанной работы. Многие из инструментов поставляются с открытыми исходными кодами или имеют открытые интерфейсы для взаимодействия и расширения. Все это даёт возможность работать с самыми передовыми разработками инженеров и исследователей группы Microsoft Research.
Читать дальше →
Total votes 75: ↑56 and ↓19+37
Comments17

Визитка — прямой канал коммуникации

Reading time1 min
Views17K

А у вас есть визитка?



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

Креативные визитки

Программист
image

image
Читать дальше →
Total votes 240: ↑202 and ↓38+164
Comments233

Организация командной разработки структур баз данных

Reading time8 min
Views2.3K
Недавно в нашей организации очень насущным стал вопрос командной разработки (около 10 человек) схемы данных для БД Oracle. Работали мы по-старинке с помощью небезызвестного продукта Erwin семейства 3.5.x и до поры до времени были вполне удовлетворены его возможностями, разместив файлик в централизованной системе управления версиями и блокируя его по мере надобности, тем самым избежав коллизий параллельной разработки. Но всё течёт, всё меняется, команда разрастается, да и XXI век на дворе, вот и решили мы воспользоваться более современными средствами. Собственно ниже представлен рассказ о процессе перевода схемы в новый формат (хотя и того же производителя) и организации средств коллективной разработки и поддержки версионности, разбавленный рассуждениями о продукте в целом и паттернами использования его в нашей работе в частности. Без подводных камней описанный процесс не прошёл, так что возможно опыт подобного перехода будет кому-то полезен.
План повествования:
  • Рассуждения о продукте, замечания на тему шаблонов использования, ругань на форматы.
  • Подготовительные работы, шаманство в БД.
  • Организация командной разработки, оптимизация быстродействия.

Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments26

Большие письма в Gmail

Reading time3 min
Views2.5K
Как вы знаете, Gmail не позволяет сортировать письма, в частности по размеру.
Есть сервис, который помечает большие письма меткой — www.findbigmail.com, но не все хотят давать не понятно кому свой пароль.

Я написал скрипт (на груви ), который создаёт метку «Big Mail» и маркирует ей все письма размером больше чем 4Мб. В скрипте надо заменить имя юзера и пароль в Gmail, а также, если хотите, размер «больших» мейлов.

Для работы скрипта в classpath должны быть jars отсюда.

Итерация по сообщениям медленная (1-2 в секунду), так что я поставил печать номера просматриваемого письма, чтобы вы знали, что скрипт не застрял.
Забрать все сообщения даже при моём количестве (ок 20000) занимает мало времени. Но при обращении к аттрибутам сообщения (getSize()) Message пойдет на сервер.
Можно настроить это на Pre Fetch, тогда общее время может уменьшиться, но вырастет (и серьезно) время получения списка сообщений (т.е. будете ждать не зная жив ли он вообще)

Еще интересный момент: copyMessages() в применении к Gmail ничего не копирует или переносит, а просто добавляет метку.

Сообщения я помечаю по одному, так, чтобы не получилось, что скрипт упал (например потому что упала сеть) и ничего не сделал.

Вообще есть куда улучшать — интерактивно спрашивать имя и пароль, не помечать те, которые уже помечены и т.д. Кому нужно — допилит :)

Не забудьте сделать IMAP — enable в Settings Гмаила.

Собственно скрипт
Total votes 52: ↑40 and ↓12+28
Comments27

Быстрая смена сетевых настроек

Reading time2 min
Views133K
Я пользуюсь личным ноутбуком на работе и дома. Для доступа к сети мне приходится дважды в день менять сетевые настройки. Причем, как дома, так и в офисе есть привязка к MAC-адресу машины. Поэтому приходится также менять MAC в свойствах сетевой платы.
Чтобы как-то автоматизировать этот процесс, была запущена командная строка и поисковик. Подробности и готовый bat-файл под катом.
Читать дальше →
Total votes 82: ↑65 and ↓17+48
Comments63

50 цитат о программировании всех времён

Reading time6 min
Views159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136

Как облегчить себе жизнь в Xcode. Shortcuts, tips&tricks

Reading time2 min
Views59K
image
Эффективная работа в любой IDE, да и не только в IDE, определяется в немалой степени тем, как много вы используете клавиатурных сокращений и всяческих фич, призванных облегчить вашу жизнь.
В этом посте я попытаюсь поделиться тем, что знаю и использую сам, что накопалось в сети но так же очень рассчитываю на вашу помощь. Поделитесь своими находками и трюками. По результатам думаю сделать какой-то PDF, вроде известного Xcode-рам pdf c шорткатами от Colin Wheeler (не знаете? тогда вот линк)
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments24

Оптимизация связки Nginx, Apache, PHP, MySql

Reading time9 min
Views80K
Неожиданно поступила задача разобраться почему определенный сайт не работает столь быстро сколь хочется. В основе его CakePHP, в связке с Apache и MySQL. В статье описание процесса поиска узких мест и приведение в порядок на столько, на сколько это возможно.

Название сайта светить не буду — думаю, программисты сами узнают. Скажу лишь, что это приложение для социальной сети нагрузкой 70-150 тысяч посетителей в обычное время. Все усложняется тем, что периодически производится рекламная рассылка, которая привлекает около 200-300 тысяч посетителей за пару часов.

Итак, под катом описание всей борьбы на протяжении 4 дней.
Читать дальше →
Total votes 95: ↑79 and ↓16+63
Comments108

Полезные штуки для iOS-разработчика #1

Reading time4 min
Views83K
На Хабре в свое время было несколько статей «Очень много полезных штук для AS3». Автор попытался собрать ссылки на самые полезные и интересные библиотеки. И т.к. в последнее время я разрабатываю под iOS, решил последовать его примеру и сделать то же самое, но для своей платформы. Описания почти прикладывать не буду, все есть на страничках проектов.
Читать дальше →
Total votes 114: ↑109 and ↓5+104
Comments80

XEN: Простой скрипт для быстрого открытия VNC-консолей

Reading time4 min
Views5.2K

Постановка задачи


Описание проблемы


В работе активно используется Xen с HVM виртуализацией. Часто бывает нужно получить доступ к консоли виртуальных машин, причем в том числе и тем, у кого доступа на севера с Xenом нет. У Xenа для этого есть возможность создавать для каждой виртуальной машины VNC-консоль, но каждый раз подключаться через VNC вручную неудобно.

Задача


Сделать веб-страницу со списком запущенных виртуальных машин и внедренным в нее VNC-апплетом, который можно открыть по нажатию ссылки. По пути разобраться с тем, как можно работать с Xenом из Питона.

Что получилось


Список запущенных domU




Сама VNC-консоль




А как получилось?
Total votes 23: ↑19 and ↓4+15
Comments3

Расширения Firefox для веб-разработки на все случаи жизни

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

Безусловно в этом списке вы обязательно найдёте уже знакомые расширения, однако огромный пласт полезных расширений всегда остаётся в стороне. Так что приготовьтесь установить ещё парочку расширений! :)

Встроенные инструменты разработки в Firefox


Перед началом списка было бы неправильно не упомянуть об инструментах, уже встроенных в Firefox. Здесь речь идёт о тех самых инструментах разработки в Firefox Aurora 10 и том функционале, который сегодня можно найти в любом современном браузере.

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



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

Читать дальше →
Total votes 216: ↑197 and ↓19+178
Comments55

Subtle Patterns: фоновые текстуры для вашего сайта

Reading time1 min
Views72K
Если вы запускаете новый сайт и заканчиваете его оформление, то есть смысл посмотреть коллекцию Subtle Patterns: отлично оформленную коллекцию фоновых текстур (паттернов) под лицензией Creative Commons Attribution 3.0 Unported. Их можно использовать без ограничений.



Сайт привлекает удобным предварительным просмотром: каждую текстуру можно мгновенно применить на всей странице в качестве фона. Сейчас там 93 работы, коллекция еженедельно пополняется отличными новинками.

Все текстуры на сайте Subtle Patterns являются повторяющимися, то есть склеиваются в бесшовную заливку.
Читать дальше →
Total votes 262: ↑247 and ↓15+232
Comments29

Мультидоменность в Apache без лишних хлопот на локальном хосте

Reading time3 min
Views48K
Интернет пестрит руководствами по настройке виртуальных хостов в Apache. Но, в большинстве случаев, создание такого поддомена представляется хлопотным делом.
По «стандартной» инструкции предлагается сделать следующее:
  1. Создать папку для сайта
  2. Создать конфигурационный файл с именем будущего домена
  3. Включить сайт специальной опцией
  4. Перезагрузить Apache
  5. Прописать наш домен в файле hosts

Некоторые пытаются оптимизировать данный процесс различными скриптами, но проблемы это, по сути, не решает.
Итак, попробуем добиться, чтобы процесс создания поддомена сводился лишь к созданию папки для сайта. Возможно ли это? Проверим…
Читать дальше →
Total votes 94: ↑81 and ↓13+68
Comments86

VPN-сервер в стиле how-to (pptpd+mysql+radius) на CentOS6

Reading time9 min
Views37K
image Хотя статьи в стиле how-to и не очень комментируемые, и в основном не с положительными комментариями, однако, именно их, больше всего добавляют в закладки.
Здесь я постараюсь описать процесс установки и настройки VPN-сервера на CentOS6 с пользователями в MySQL и авторизацией через радиус для шифрованного соединения по ms-chap-v2 и mppe.

Преамбула

Откуда берутся данные статьи? Все просто. Когда мы ищем соискателей работы, например, на должность системного администратора, то после отбора кандидатов на предварительном собеседовании, состовляются тестовые задания, реализуются своими силами, а потом предлагаем их решить соискателям. Для исполнения заданий, соискателю предоставляется виртуальная машина, доступ в интернет, и определенное время. Время расчитывается просто — наша реализация *2. При этом, Вы можете считать, что все необходимые решения (how-to) можно найти на просторах интернета, однако, мы учитываем это, и поэтому не берем готовых решения, а состовляем и решаем предварительно их сами, на свежих дистрибютивах. Кстати, бывают случаи, когда мы натыкаемся на определенные проблемы при реализации (маленькие незадокументированные шалости разработчиков), и в случае, если кандидат идет правильным курсом, но попадает в затык именно на этой проблеме, подсказываем найденное нами, её решение.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments65

Information

Rating
Does not participate
Registered
Activity