Search
Write a publication
Pull to refresh
1
0
Дмитрий Лаврентьев @TreyLav

User

Send message

Основы Python — кратко. Часть 4. Генераторы списков

Reading time3 min
Views221K
List comprehensions

Продолжим наш цикл уроков. Добрый день.

Генерация списков

Генерация списков (не знаю как адекватно перевести на русский list comprehensions) — яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих.
Допустим, нам необходимо получить список нечетных чисел, не превышающих 25.
В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.

>>> res = []
>>> for x in xrange(1, 25, 2):
...     res.append(x)
...
>>> print res 

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

Основы Python — кратко. Часть 5. Определение функций, основы.

Reading time3 min
Views169K
Начав писать главу про ООП, понял что совсем забыл освятить такой большой и нужный раздел Пайтона как функции. Тема это большая и обширная, потому, чтобы не сильно растягивать паузу между уроками, решил разделить ее на 2 части. Сначала расскажу основы, потом уже углубленные особенности Пайтоновского функциестроения.

Функции в Пайтоне объявляются не просто, а очень просто. Вот пример самой простой:

def empty_func():
    pass

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

Скрипты Python против Bash

Reading time4 min
Views120K
Не секрет, что в плане автоматизации каких-либо простых действий и тот, и другой вариант скриптов — мощное орудие. Прочел я эту статейку, и подумал — а чем мы хуже? Возьму, да и опишу, как автоматизировать простые консольные действия с помощью python-скриптов, даром что это тема довольно широкая.
Интересно?

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

Reading time5 min
Views1.4M
Безусловно, все те кто общается с ОС Linux хоть раз да имели дело(во всяком случае слышали точно) с командной оболочкой BASH. Но BASH не только командная оболочка, это еще и превосходный скриптовый язык программирования.
Цель этой статьи — познакомить поближе юзеров с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной(-недельной, -месячной) рутинной работы или, скажем, «на коленке» наваять скриптик для бэкапа директории.
Читать дальше →

Screen Shot script

Reading time3 min
Views8.9K
image Всем доброго времени!
В один прекрасный момент меня достало:
  1. Нажимать PrintScreen
  2. Искать место куда же его сохранить
  3. Открывать сервис imageshack\radikal\хабр-эффект
  4. Искать на диске, куда же я сохранил все таки именно этот скриншот
  5. Копировать полученную ссылку, и делать с ней .....

Теперь я делаю:
  1. Нажимаю Ctrl+/
  2. Копирую полученную ссылку и делаю с ней .....

Неправдо ли лучше? И вас это тоже достало? Тогда лезем под кат!
Читать дальше →

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

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

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

1 пиксель = 1 кирпич. Памятники героям восьмибитных игр

Reading time2 min
Views1.2K
1 пиксель = 1 кирпич, памятники героям восьмибитных игр в ТвериРаз уж сегодня празднуем 30-летие Пекмена, я вспомнил свой давний проект, который, к сожалению, не реализован:

Есть возможность поставить в Твери несколько стен из цветного кирпича, на которых будут изображены герои восьмибитных игр.

Кирпич и рабочих, которые возведут такие стены дает Тверской комбинат строительных материалов, за что им спасибо. Впрочем, как известно, этого недостаточно. Нужно еще согласовать строительство с властями города. А вот тут все становится очень сложно.
А построим ли?

Основы Python в кратком изложении

Reading time5 min
Views633K
Когда-то давным давно, на одном закрытом форуме я пытался проводить обучение Пайтону. В общем дело там заглохло. Мне стало жалко написанных уроков, и я решил их выложить для широкой общественности. Пока самый первый, самый простой. Дальше идет интереснее, но может быть это будет не интересно. В общем, этот пост будет пробным шаром, если понравится, буду выкладывать дальше.

Python для начинающих. Глава первая. «О чем это мы»

На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
Python (читается как «Пайтон» а не «питон») — скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
В наше время Пайтон – широко распространенный язык, который используется во многих областях:
— Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
— Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
— Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
— Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)

И это конечно далеко не полный список проектов, использующих этот замечательный язык.

Так, что же необходимо новичку для изучения Пайтона?

Качественная фотография гаджета в домашних условиях

Reading time1 min
Views6.2K
image
На Хабре уже публиковались интересные советы по этой теме. Я хотел бы предложить еще один способ, который позволит вам делать практически рекламные фотографии небольших объектов.

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

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

Как сделать хорошую фотографию глянцевого телефона

Reading time2 min
Views19K
Каждый день на сайте выходит несколько хороших обзоров новых и интересных гаджетов. И если все особенности устройства обычно описаны «на отлично», то вот фотографии гаджета зачастую не выдерживают никакой критики. Часто приходится видеть подобное:
вспышка в лоб
А ведь для получения качественного фото даже глянцевого телефона не потребуется никаких особых приспособлений, даже затраты времени на получение качественных фото будут минимальны. Все нужное есть практически в каждом доме, а фотографировать можно и на телефон, хотя даже самая простая цифромыльница даст более качественный результат.
Читать дальше →

Простое управление Music Player Daemon на Панели Gnome

Reading time2 min
Views5.5K
Disclaimer: эта статья — для чайников навроде меня.



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

Чтобы не портить эти качества, хотелось, чтобы и управлять им из Gnome можно было столь же легко, просто и без накладных расходов. В репозитории имеется специальный апплет Панели Gnome music-applet, но он тянет за собой уйму зависимостей, не очень удобен и вообще отношения у меня с ним не сложились. В конце концов я остановился на самом прямолинейном решении.

Нужен MPC



MPC (Music Player Command) — крохотная утилита для управления MPD из командной строки. Если вы уже напряглись, можете выдохнуть, команды для управления мы выдавать вручную не будем.

Итак, ставим MPC:

sudo aptitude install mpc
Читать дальше →

Эстетика штрих-кода

Reading time1 min
Views5.7K
Мужик из Австралии слепил онлайн-генератор QR Code, в который можно органично поместить собственный текст. Генератор позволяет выбрать место расположения текста, его цвет, а также указать другие подробности, которые порадуют дизайнера.

Несмотря на, казалось бы, ограниченные оформительные свойства двухмерных штрих-кодов, в умелых руках они вполне способны превратиться в самостоятельный эстетический объект. Взять хотя бы нашумевшую ёлочку Тёмы Лебедева.

Далее, хочу привести в пример, как к подобной задаче подошли BBC, Adidas и Microsoft.

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

Dropbox — простейший минихостинг сайтов

Reading time2 min
Views41K
Как показали комментарии к моему хабратопику, где я упомянул о способе хостинга сайта, используя только Dropbox, знают далеко не все. То есть все знают, что это один из самых неплохих продуктов для синхронизации файлов (более того, его используют как механизм синхронизации для приложений), что с помощью Dropbox легко опубликовать свой файл, положив его в папку Dropbox/Public, а потом скопировав на него ссылку (public link).

Однако кроме всего этого, Dropbox может выступать как простейший хостинг для ваших минипроектов.

Рецепт под катом

Ускоряем запуск браузера FireFox

Reading time2 min
Views36K
Ещё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.

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

Наиболее полный обзор IM-клиентов популярных протоколов для ПК

Reading time18 min
Views60K
Эх. Наблюдаю я изменения QIP'е, расцвет многих других клиентов, смотрю как захватывает мир Jabber и как АОЛ мечется в поисках партнёра… и вижу я, что большинство это не волнует: как пользовались когда то установленной программой, так и остаются в ней.
Нет, мой топик-обзор не призывает пользоваться какими то особыми новыми клиентами, но он, надеюсь, заставит вас задуматься и выбрать наиболее подходящий. :)
Скорее всего у многих хабровчан уже есть свой любимый клиент, за который они готовы удавить любого «недоброжелателя» :) Прошу холиварщиков удалиться, я здесь просто делаю обзор, провожу черту под текущем положением вещей. Тем же, кому интересно, кто жаждет нового, кому поднадоело уже своё средство общения и прочим интересующимся людям — прошу просмотреть обзор. Будут рассмотрены IM-клиенты имеющие графический пользовательский интерфейс на ПК (Windows и Linux).

Внимание! ~1,5 Мб картинок, и море текста

хочу обзор!

Information

Rating
Does not participate
Location
Великий Новгород (Новгород), Новгородская обл., Россия
Date of birth
Registered
Activity