Авторизация на сайте через прокси с аутентификацией на Python

На самом деле такой пугающе сложный заголовок описывает весьма тривиальную задачу.
Совсем недавно мне понадобилось написать приложение на Python, которое бы из-за HTTP прокси сервера с аутентификацией (используя логин и пароль), заходило бы на сайт рекламной сети и проверяло баланс аккаунта. Для выполнения задумки был использован Python 2.7.1.

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

Адам, Ева и их дети в ООП

Моим первым языком программирования был Pascal. На нем, за первые годы учебы в вузе, я понаписал кучу всякой лабораторной всячины. Дальше был С, С++, а потом, на несколько лет, по ряду причин, я выпал из студенческой жизни. Вернувшись к высшему образованию после вынужденного перерыва, я начал осваивать другую специальность и забыл о программировании.

Вспомнил про него случайно, когда младшая сестра поступила в институт. Как-то она обратилась ко мне за помощью, нужно было написать лабораторную работу по ООП на C++.

Вытаскивая из памяти заброшенные знания и пытаясь донести их до сестры, я пришел к выводу, что с разбегу объяснить основы ООП не выйдет. Имея навыки «процедурного» программирования, она совсем не понимала сути ООП. Тогда я решил упростить такие понятия, как: объекты, классы, методы классов, свойства классов и пр., и стал представлять их в виде привычных вещей.


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

Резервное копирование баз данных в СУБД PostgreSQL (On-line backup)

В данной статье я хочу поделиться подходом к вопросу резервного копирования баз данных в СУБД PostgreSQL, применяемым мной во многих проектах.

Немного теории.

На текущий момент в СУБД PostgreSQL существует два способа резервного копирования баз данных без остановки сервера СУБД или блокировки (lock) работы с данными (On-line backup):
  1. Base backup (полный бекап)
  2. On-line backup (архивирование WAL — Write-Ahead Log (Журнал опережающей записи или архивные журналы, по аналогии с СУБД Oracle))
Первый способ организует полное резервное копирования баз данных (системных файлов), второй способ сохраняет лишь журнал записей, используя которые при восстановлении в дальнейшем, можно откатиться на тот или иной срез данных во времени, в диапазоне, начиная от времени создания Base backup и заканчивая последним сохраненным журналом (архивный лог (WAL)). Чем больше журналов вы храните, тем, при желании, на более широкий диапазон данных вы сможете откатиться при восстановлении (PITR — Point-In-Time Recovery (восстановление к состоянию в определённый момент времени)).

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

Экстремальное программирование для старшеклассников

Во время школьных зимних каникул в Школе информатики нашего города состоялся трехдневный мастер класс по экстремальному программированию для учеников этой школы.

Идея тренинга — за короткий промежуток времени (3 дня) командой из четырех человек написать одну программу, но с разными подходами команд к этому процессу.

Хочу вам рассказать об этом мероприятии.


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

О национальной системе платёжных карт. Утопия

image
Disclaimer: Если вы относитесь к людям жизненная позиция которых выражается во фразах «на верху только и делают что пилят», «что-либо делать бесполезно, властям на нас плевать», «на верх не достучитесь, даже не пытайтесь» и «рашка проёбана, где мой трактор?», то пожалуйста не читайте дальше, проходите мимо, статья не для вас.

За историей о пресловутом сайте «Сколково» странным образом остались незамеченными движения к постепенному завершению законодательного обсуждения «Национальной платёжной системы», хотя, казалось бы, эта тема не менее (а возможно даже и более) животрепещуща и важна для IT сообщества.

Так как моим хобби является придумывание и выстраивание всякого рода систем, то я постарался оформить утопичный вариант, который, на мой взгляд, будет наиболее оптимальным и полезным для общества и государства. Да, я понимаю, что вероятность его реализации стремится к нулю по причине множества проблем в государстве Российском, но это же не повод не попытаться повлиять на потенциально благое начинание наших чиновников? Ведь именно так должно проявлять себя «гражданское общество» о котором многие и с упоением говорят. Если у нас получится прийти к некоторому консенсусу по обсуждаемому вопросу, то можно будет попытаться и в твиттер Медведеву поспамить. :) Как сверх цель можно поставить задачу написать свой вариант закона «О национальной платёжной системе», чем не реальное проявление краудсорсинга и знак, что общество готово проявлять законодательную инициативу?

В случае, если у вас осталась хоть капля интереса, добро пожаловать под кат.

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

Система «горячего» обновления ПО

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

Использование ISPSystems в корыстных целях

По долгу службы пришлось тут столкнуться с такими решениями как ISPManager и BillManager упомянутой комании.

Не все знают, а ведь у них есть вполне доступное API для работы системы.

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

Разработка под Android: Виджет со счетчиком непрочитанных сообщений

Часто встречающаяся задача — создание виджета со счетчиком непрочитанных сообщений/звонков и т.п. Однако в Android нет стандартного класса для создания таких виджетов.

image

Как же все-таки создать такой виджет?

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

Akka + Servlet 3 = Comet

image

Вступление

Не так давно моё внимание привлекла библиотека Akka — реализация модели акторов для Scala и Java. Она мне показалась достаточно интересной, тем более до этого с акторами мне ещё не доводилось работать. И вот я наконец победил лень и сел реализовать на Akka что-нибудь простое и бесполезное. Напрмер, асинхронную обработку http-запросов. К тому же уже давно вышла реализация Servlet 3, которую тоже надо посмотреть. Итак, предлагаю вашему вниманию реализацию на Scala простейшего comet-чата.

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