Pull to refresh
0
0
Егор Ф. @buendia

User

Send message

Be Pythonic

Reading time3 min
Views16K

От переводчика


Представляю вашему внимаю перевод статьи Shalabh Chaturvedi «Be Pythonic», рекомендованной в этом топике. Если мое начинание будет поддержано, планирую также перевести две остальные упомянутые там статьи этого автора.

Вступление


Эта статья предназначена для новичков в Python.

При переходе с одного языка на другой некоторые вещи для вас могут остаться неизвестными (см. Transfer of Learning). То, что вам известно о других языках, может быть не всегда полезным в Python. Эта статья содержит некоторые используемые в Python идиомы, которые мне особенно нравятся. Я надеюсь, читатели найдут их полезными для овладения языком.
Читать дальше →
Total votes 92: ↑86 and ↓6+80
Comments57

Как устроен GIL в Python

Reading time6 min
Views125K
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

GIL
Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments28

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

Reading time8 min
Views264K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

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

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →
Total votes 98: ↑94 and ↓4+90
Comments67

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

Reading time6 min
Views49K
В этой части статьи рассматриваются уловки для выбора одного из двух значений на основе логического условия, передача и получение произвольного числа аргументов функций, а также распространенный источник ошибок — тот факт, что дефолтные значения аргументов функции вычисляются только один раз.
Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments48

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

Reading time6 min
Views133K
Содержание

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

Стас Протасов из Parallels ответил на вопросы хабрасообщества

Reading time9 min
Views5K
Стас Протасов, сооснователь Parallels и руководитель отдела разработки, ответил на вопросы пользователей Хабрахабра.

Поводом для интервью с Parallels стал отчёт Linux Foundation за 2012 год, в соответствии с которым российский разработчик средств для виртуализации вошёл в число самых активных контрибуторов ядра Linux, наравне Google, AMD, Cisco и HP. Российская компания также приняла на работу Джеймса Боттомли, члена совета директоров Linux Foundation, который теперь отвечает за направление контейнерной виртуализации Parallels.

Кроме того, в жизни компании Parallels произошли и другие события: открытие питерского офиса, выпуск нового проекта Parallels Automation for Cloud Infrastructure (PACI) — это система, аналогичная Amazon EC2, но в виде коробочного продукта.
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments6

Алгоритм: Как оформить баг на ядро Linux

Reading time4 min
Views2.3K
Мой опыт в разработке и отладке Parallels Virtuozzo Containers позволил обобщить и сформулировать список пожеланий к описанию проблемы пользователя, который позволяет существенно уменьшить время диагностирования и решения проблемы в ядре операционной системы Linux. Прошу отметить, что при всей очевидности некоторых рекомендаций многие участники open-source сообщества по-прежнему пренебрегают ими. Алгоритм представлен подкатом.
Читать дальше →
Total votes 95: ↑92 and ↓3+89
Comments14

Анатомия старой ламповой электроники

Reading time3 min
Views54K
В старом доме мне достались два очень старых ламповых приемника, точнее — магнитола (приемник + магнитофон) и радиола (приемник + проигрыватель пластинок).
Выбрасывать такое добро у меня рука не поднимается — было решено их разобрать и в конечном итоге сделать такой себе аутентичный старый приемник. Но в процессе разборки стало ясно, что передо мной — живая история радиотехники, я кое-что запечатлел и вот выкладываю с подробными комментариями.

Под катом много больших изображений, общий размер около 20 Мб

Интересно?
Total votes 101: ↑97 and ↓4+93
Comments33

Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка

Reading time4 min
Views33K


Как и обещали в топике-анонсе нашей игры, выкладываем отчёт о хабраэффекте и детали игрового движка.
Читать дальше →
Total votes 181: ↑167 and ↓14+153
Comments95

Yet another cool story about bash prompt

Reading time10 min
Views37K
Я программист. По крайней мере так написано в трудовой книжке. Почти всё своё рабочее время я провожу в консоли и текстовом редакторе. Мне очень нравится bash. Почти год я жил в zsh, прислушавшись к советам своих многочисленных коллег и знакомых, но в итоге я вернулся в bash и ни капельки об этом не жалею.



Zsh красив, приятен, чертовски функционален, но, признаюсь честно, я не смог совладать со всеми его многочисленными настройками. Я хочу работать, а не бороться со своим рабочим окружением. Простой пример: пару раз из-за автодополнения zsh я удалял все директории и файлы в текущей директории — zsh просто ставил пробел между автодополненной директорией и введённой мною звёзочкой (я хотел удалить всё в выбранной папке). Помните тот эпичный баг с пробелом и удалении директории /usr? У меня было то же самое. Спасибо гиту, выручил в который раз.

Впрочем, дело не в zsh — будь я чуточку умнее, я бы с ним обязательно справился бы, и всё было бы хорошо, но мы, суровые программисты, будем использовать bash и vim, а гламурные zsh и textmate оставим хипстерам и прочим модникам ;)

Я не напишу ничего оригинального и универсального решения я не приведу, но мне всегда нравилось читать конфиги и описания других людей, а если к ним были приложены интересные картинки, так я вообще перечитывал эти статьи несколько раз. Надеюсь, вам тоже будет интересно.
Читать дальше →
Total votes 175: ↑166 and ↓9+157
Comments143

+1 расширение для Google Chrome

Reading time1 min
Views35K
А давайте это будет такой пост, где каждый из нас рекомендует одно полезное расширение для Chrome?
Вот и славно! Я начну.

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

image

upd: не забывайте давать ссылку на расширение и, при необходимости, вставляйте скриншот. Спасибо.
Total votes 114: ↑88 and ↓26+62
Comments203

Как избавиться от SMS-спама

Reading time4 min
Views303K


Слово спам традиционно ассоциируется с email-спамом, и как с ним бороться — более-менее понятно: можно отправлять в «Спам», можно настраивать фильтры, можно жаловаться хостеру спамера. Однако спам — это ещё и лишняя макулатура в ваших почтовых ящиках, и нежелательные SMS в вашем телефоне. И вот что делать с последними — не всегда понятно, хотя раздражают они гораздо больше, ведь, в отличие от email-рассылок, в SMS нет кнопки «отписаться». Вот как бороться с SMS-спамом я и расскажу в этой статье.

Читать дальше →
Total votes 73: ↑60 and ↓13+47
Comments86

Окна и буферы

Reading time2 min
Views45K
В vim 7 появились табы — привычный способ навигации по файлам. Когда я работал в eclipse я не раз замечал, что часто скакать между табами не удобно, а знакомство с буферами в emacs натолкнуло на прочтение документации по окнам/буферам в vim.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments34

Как Google тестирует ПО

Reading time9 min
Views40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →
Total votes 224: ↑217 and ↓7+210
Comments52

Я не знаю Си

Reading time4 min
Views51K
Цель этой статьи — заставить всех, особенно программистов на Си, сказать «я не знаю Си».
Хочется показать, что тёмные углы в Си значительно ближе, чем кажется и даже тривиальные строки кода несут в себе undefined behavior.
Читать дальше →
Total votes 285: ↑268 and ↓17+251
Comments309

12+ полезных Google Chrome chrome:// команд

Reading time2 min
Views398K
Все знают, что для того чтобы попасть в меню у Хрома, нужно нажать на Гаечный ключ в правом верхнем углу.

Однако есть несколько особенностей, которые не доступны из меню, которые вы можете увидеть только с помощью chrome:// команд.

Под катом приведены 12 самых полезных chrome:// команд, которые должны знать все.
Читать дальше →
Total votes 217: ↑196 and ↓21+175
Comments55

Еще один способ автоматизировать/тестировать игру

Reading time2 min
Views19K
У Вас есть знакомый, который постоянно играет в какую-нибудь игру в контакте? Не знаю как Вас, а меня нервирует когда взрослый человек тратит по 12 часов на не очень умную игру. Вот глядя на одного такого знакомого захотелось написать робота, который бы играл вместо него.

Не так давно на Хабре была целая волна статей, посвященных ботам для браузерных игр: [1], [2], [3] и т.д.
Казалось бы все способы уже перебрали, но недавно я натолкнулся еще на один весьма интересный и менее трудоемкий способ.

Кому хочется посмотреть как же написать бота для игры в 30 строчек кода — прошу под кат.
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments20

Мигель де Икаса даёт советы по Unix

Reading time2 min
Views6.3K
Один из самых известных Unix-программистов Мигель де Икаса (основатель проектов GNOME и Mono) в своём блоге дал парочку советов, как повысить продуктивность работы в шелле Unix. Он говорит, что иногда встречает молодых хакеров и бывает поражён, насколько мало трюков они знают.

Мигель де Икаса рекомендует ликбез по-быстрому:

1. Прочитать «Unix. Программное окружение» Кернигана и Пайка [русское издание], займёт несколько дней, от силы неделю. Книжка очень старая (1984), но лучше всех разъясняет автоматизацию различных действий в консоли. Вторая книжка — UNIX for the Impatient, чтобы прокачать навыки.
Читать дальше →
Total votes 89: ↑75 and ↓14+61
Comments110

Любительская КВ радиосвязь, часть 1 — наблюдатель

Reading time6 min
Views93K
Редкое в наше время, почти ушедшее понятие «радиолюбитель», «КВ радиоспортсмен» еще каких-то 15-20 лет назад было интригующим. Энтузиасты с паяльником в руках разбирали схемы, обменивались идеями, новыми конструкциями приемо-передающих устройств. Проявляли недюжинную смекалку в поисках нужных радиодеталей в условиях всеобщего дефицита.

image

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

Увлечение началось с похода в местный клуб ДОСААФ при котором была радио-школа, радиоклуб и коллективная радиостанция RZ4AWB. Именно там меня заинтересовали многогранностью любительской связи на КВ волнах. Это и просто работа в эфире, и охота за DX станциями (редкими и дальними), наблюдение за работой радио-экспедиций и участие в соревнованиях. Да и просто возможность связаться с разными континентами земного шара. Одна мысль о такой возможности будоражила воображение.
Читать дальше →
Total votes 84: ↑83 and ↓1+82
Comments48

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity