Обновить
92
0
Сергей@SkyManPHP

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

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

Ограничение доступа в интернет для приложений в Linux

Время на прочтение2 мин
Охват и читатели32K
Иногда бывает необходимо запустить программу, предварительно заблокировав для неё доступ в интернет. Существует довольно простой трюк для решения этой задачи.

Итак, идея заключается в том, чтобы при запуске приложения устанавливать особый ID группы, который будет сигналом блокировки доступа для netfilter.

Шаг 1. Создаём группу-маркер и добавляем себя в неё


Создаём группу (В нашем случае группа будет называться noinet):
sudo groupadd noinet

Добавляем в неё текущего пользователя:
sudo gpasswd -a `id -un` noinet
Читать дальше →

«Завтра я перестану откладывать дела на завтра»

Время на прочтение4 мин
Охват и читатели8.8K
Промедление — это то, чем мы занимаемся каждый день:
  1. «Мне завтра нужно сдать курсовую, которую я еще не начинал, но, чтобы сконцентрироваться, мне сейчас надо отдохнуть и попить кофе»
  2. «Я хочу начать бегать по утрам, но сначала мне нужно сдать сессию и найти хорошую работу, которая обеспечит мне стабильность и уверенность»
  3. «Перед тем, как начать работать, мне нужно ответить на 11 писем и поговорить с друзьями по аське о летней поездке в Испанию, чтобы не отвлекаться в течение дня»

Читать полностью

10+ удобных онлайн-редакторов для программистов

Время на прочтение3 мин
Охват и читатели158K
Как у разработчика, очевидно, что ваш основной рабочий инструмент, который позволит вам быстро идею превратить в код: текстовый редактор. Время идёт, и теперь нам доступно множество онлайновых текстовых редакторов, которые могут помочь вам создавать свой код с любого компьютера, имеющего доступ в интернет. В этой статье рассмотрим более 10 таких редакторов.

Amy Editor


Созданый в 2007 Петром Кронторадом (Petr Krontorad), Amy Editor продвинутый редактор с интерфейсом в стиле Mac. Amy Editor имеет в наличие кучу полезных опций, такие как нумерация строк, подсветка синтаксиса, сниппеты для более чем 20 языков, совместное использование и прочее.
Ami Editor
» http://www.amyeditor.com

Под катом ещё 11

Python: советы, уловки, хаки (часть 1)

Время на прочтение8 мин
Охват и читатели266K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

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

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →

Python Tips, Tricks, and Hacks (часть 2)

Время на прочтение6 мин
Охват и читатели134K
Содержание

Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Читать дальше →

Основы BASH. Часть 2

Время на прочтение6 мин
Охват и читатели379K
Основы BASH. Часть 2.
Извиняюсь за такую большую задержку между статьями, но сессия дает о себе знать в самый неподходящий момент :)
Всем спасибо за замечания, критику и дополнения, которые были озвучены в комментариях к прошлой статье.
Эта часть, как и обещал, будет посвящена циклам, математическим операциям и использованию внешних команд.
Начнем.
Читать дальше →

Создание расширения для Google Chrome

Время на прочтение8 мин
Охват и читатели119K
Тема создания расширений достаточно хорошо раскрыта в сети, есть множество статей, документации на эту тему. Но я не нашел ни одного ресурса, который бы описал процесс создания расширения от начала до конца. Я собираюсь исправить эту ситуацию, и рассказать о том как создать расширение, как хранить, читать настройки, как добавить поддержку нескольких языков.

Для работы с расширениями вам понадобится переключить канал обновлений на Dev или Beta.
Читать дальше →

Немного про py2exe

Время на прочтение4 мин
Охват и читатели130K
Есть такое приложение. Называется py2exe. Оно позволяет упаковать, сконвертировать программу на python в exe файл (ну, точнее, exe и еще кучку других). Зачем оно все надо? Ну, далеко не у всех пользователей windows установлен интерпретатор python с нужными библиотеками. А вот упакованная программа в идеале должна запуститься на любой windows-машине.
Читать дальше

Введение в pygtk/gtkbuilder: пишем калькулятор

Время на прочтение3 мин
Охват и читатели7.2K
Разберем создание интерфейса на pygtk на примере самого примитивного калькулятора. Много картинок, немного кода.
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
Читать дальше →

Вышел PyPy 1.2 и ускорил Python в разы!

Время на прочтение2 мин
Охват и читатели14K
Вышел PyPy 1.2. Основное отличие — наличие JIT компилятора.
Чтобы долго не объяснять что это и зачем — простой тест:

cnt = 10 * 1000 * 1000
for _ in xrange(cnt): 
    i = i + 1


5.8млн операций сложения в секунду на обычном СPython 2.6 (python test.py)
42.5млн операций в секунду на PyPy 1.2 (pypy test.py)
WinXP SP3, Core2Duo.

Да, в 7 раз быстрее он тест сделал! И это не только на синтетическом тесте: «django» в 3 раза быстрее, «n-body» в 7 раз быстрее… Я не знаю что такое тест «richards», но он теперь вообще в почти 12 раз быстрее. Смотрите результаты сами.

Читать и качать (из раздела "«JIT compiler» version"). 64-bit версии пока нет. А unladen-swallow нервно курит... Под катом еще несколько невероятностей (stackless, «песочница для python кода»)…
Читать дальше →

Настройка резервного копирования Linux-сервера за 5 минут

Время на прочтение3 мин
Охват и читатели66K
Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

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

Сборка и настройка Transmission в Debian или все что вы хотели знать о Transmission но боялись спросить

Время на прочтение6 мин
Охват и читатели127K
Transmission LogoDebian LogoTransmission — один из самых популярных torrent клинтов в мире Unix-подобных операционных систем и, к примеру, является выбором по умолчанию в таких дистрибутивах как Ubuntu, Fedora и openSUSE. В своей работе Transmission потребляет заметно меньше системных ресурсов нежели другие torrent клиенты благодаря чему может и используется во многих встраиваемых ОС даже таких устройств как домашние WiFi роутеры/точки доступа или сетевых медиаплеерах. Кроме того, Transmission обладает встроенным web-интерфейсом и не требует для его работы ни Apache, ни Lighttpd, ни какого другого http сервера. Именно о установке и настройке новейшей версии этого замечательного torrent клиента я и хочу рассказать в этом посте.
Читать дальше →

Python Tips, Tricks, and Hacks (часть 3)

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

10 трюков в командной строке, о которых вы не знали. Честное слово.

Время на прочтение5 мин
Охват и читатели21K

1. Простой способ перехватить вывод и ошибки


Хотите направить stdout и stderr в один файл?
command &> file
Может вы разбираетесь в некой программе при помощи strace, и желали бы видеть системные вызовы вместе с ошибками программы?
strace badapp &> errors_and_output

Плюсы: легко запоминается, и проще чем
Читать дальше →

Почему гику стоит переходить на Linux

Время на прочтение9 мин
Охват и читатели24K
Вот уже четвертый год я являюсь счастливым пользователем ОС Linux. Должен сказать, что до этого, начиная примерно с 1996 года, я был сначала просто пользователем, а потом и убежденным сторонником продуктов Microsoft. Я очень долгое время работал с их ОС, от DOS 6.22 до Windows XP/2003 Server. В сторону Linux я тогда смотрел со стойким недоверием. Но, признаюсь, вникать не хотел, а поверхностно Windows выглядела сильнее. Как говорил мой начальник, «не любил я все эти оккультные вещи с демонами и прочим». В силу специфики работы через мои руки прошли десятки, а то и сотни Windows-машин. Так что все, что я буду хаять тут, выстрадано на опыте :) Скажу также, что стандартные аргументы о безопасности и стабильности в моем случае не особо срабатывали. Умеючи администрировать Windows, можно добиться вполне приемлемой стабильности и безопасности. Windows падала у меня за 10 лет считанные разы. Да, конечно бывали BSODы, но тоже не сильно часто (kernel panic — линкусового аналога BSOD — на своих машинах, правда, не видел ни разу). Заражений вирусами на домашней машине я вспомнить вообще не могу. На работе, как и все, попали под Blaster. Но в целом, все было не так плохо, как об этом говорили.

На закате моей эпохи Windows я работал .Net программистом. Тогда я уже прочитал «Running Linux» и еще какую-то книгу по общей архитектуре Unix-систем. Они потрясли мое мировоззрение :) Я увидел на сколько стройнее и правильнее можно делать вещи. Увидел на сколько корявыми и костылистыми являются некоторые решения Microsoft. В общем, морально я уже был готов. Но в 2005 году Mono все еще было неработоспособной штукой. Помнится, я даже качал с сайта проекта LiveCD с Mono Develop. Но среда рухнула с грохотом при попытке изменить размер какого-то фрейма. Такое средство разработки меня не устраивало. С Linux пришлось отложить до лучших времен. А времена настали, когда я поменял работу, предав .Net в пользу Java. Уж тут то привязок к операционной системе было по минимуму. Так что сам Бог велел. К тому же у меня дома появился отдельный ноутбук, на котором я мог безболезненно для остального человечества экспериментировать. За месяц я настроил до устраивающего меня состояния Kubuntu 6.10. С тех пор я все сильнее раздражался с каждым разом, когда мне приходилось общаться с Windows XP на компьютере жены.

Итак, не холивара ради, а пользы для, посмотрим, что же получает IT-специалист от использования Linux?
Читать дальше →

Code Like a Pythonista: Idiomatic Python (part0)

Время на прочтение12 мин
Охват и читатели29K
Kaa, the Python
От переводчика:

Я только начал изучать Python. С самого первого знакомства язык порадовал симпатичными конструкциями и синтаксически-гарантированной удобностью к чтению и пониманию кода.
В процессе освоения, при написании своего кода, бывает, сомневаюсь в правильности выбранных способов с точки зрения Python-way ( PEP 8 — Style Guide for Python Code, если угодно). Для вникания в идеологию программирования, в Python-сообществе кроме исчерпывающей документации, ко всеобщей радости, накоплено уже немало вспомогательных материалов, таких как статья Python Tips, Tricks, and Hacks, перевод которой недавно появился на Хабре
Мне понравилась статья Дэвида Гуджера «Пиши код, как настоящий Питонист: идиоматика Python» (David Goodger «Code Like a Pythonista: Idiomatic Python»). Для лучшего её усвоения решил оформить (в силу умения) полноценный перевод, потом показалось здравой идеей поделиться с Хабром.
Пока работал над переводом, пришло понимание, что статья существенно больше, чем показалась при прочтении ее в оригинале, поэтому постить буду частями, чтобы не выпасть из формата Хабра-статьи.
Продолжение и окончание перевода.

are you ready?

Установка и настройка rTorrent в Debian

Время на прочтение6 мин
Охват и читатели66K
Torrent file iconDebian logorTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.
Читать дальше →

Code Like a Pythonista: Idiomatic Python (part1)

Время на прочтение9 мин
Охват и читатели26K
Kaa, the Python


Это продолжение перевода статьи Дэвида Гуджера «Пиши код, как настоящий Питонист: идиоматика Python»

Начало и окончание перевода.


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

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

Авторизация по протоколу OAuth на примере Desktop Twitter-клиента

Время на прочтение6 мин
Охват и читатели26K
Потребовалось мне тут написать некий кроссплатформенный Twitter-клиент с закрытым исходным кодом, не спрашивайте зачем мне это надо, работа у меня такая, деньги я за это получаю. Что логично, языком разработки был выбран С++ с использованием Qt.
Сам API Twitter'a прост как кирзовый сапог. Но! Есть такая важная штука как авторизация, и тут есть два пути, старый — аутентификация посредством HTTP Headers и новый — использование протокола OAuth. Старый метод прост, также как и само API, но, к сожалению, он не безопасен, и самое главное команда Twitter'a предупреждает, что откажется от него в конце июня сего года. Поэтому остается второй метод OAuth. Надо сказать, что данный протокол используется не только в Twitter, но поскольку я писал Twitter-клиент, и рассматривать мы будем на примере Twitter'a.
и как же это сделать?

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность