Как стать автором
Обновить
2
0
Михаил @budda

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

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

Chrome 70 поддерживает [список фич] и AV1 – почему поддержка этого кодека так важна?

Время на прочтение6 мин
Количество просмотров21K
69-я версия Chrome была большииииим обновлением, т.к. показала новый интерфейс для десктопной и мобильной версий. Chrome 70 не столь радикален, но его новые фичи весьма важны. Мы сделали адаптированный перевод и добавили материал про самое, на наш взгляд, важное в новой версии – поддержку кодека AV1, который задает новую планку производительности. Пока что кодек будет использоваться только при воспроизведении видео, но мы надеемся, что он доберется и до WebRTC – это даст нам возможность использовать передовое кодирование в видеозвонках и конференциях (например, используя наш Web SDK).


Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии46

Python: метапрограммирование в продакшене. Часть первая

Время на прочтение12 мин
Количество просмотров32K

Многие считают, что метапрограммирование в Python излишне усложняет код, но если использовать его правильно, то можно быстро и элегантно реализовать сложные паттерны проектирования. Помимо этого, такие известные Python-фреймворки, как Django, DRF и SQLAlchemy, используют метаклассы, чтобы обеспечить легкую расширяемость и простое переиспользование кода.



В этой статье расскажу, почему не стоит бояться использовать метапрограммирование в своих проектах и покажу, для каких задач оно подходит лучше всего. Еще больше о возможностях метапрограммирования можно узнать на курсе Advanced Python.

Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии7

Python: метапрограммирование в продакшене. Часть вторая

Время на прочтение7 мин
Количество просмотров12K

Мы продолжаем говорить о метапрограммировании в Python. При правильном использовании оно позволяет быстро и элегантно реализовывать сложные паттерны проектирования. В прошлой части этой статьи мы показали, как можно использовать метаклассы, чтобы изменять атрибуты экземпляров и классов.



Теперь посмотрим как можно изменять вызовы методов. Больше о возможностях метапрограммирования вы сможете узнать на курсе Advanced Python.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии14

Как сделать функции на Python еще лучше

Время на прочтение12 мин
Количество просмотров51K
Собственно, заголовок этой замечательной статьи от Джеффа Кнаппа (Jeff Knupp), автора книги "Writing Idiomatic Python" полностью отражает ее суть. Читайте внимательно и не стесняйтесь комментировать.

Поскольку очень не хотелось оставлять в тексте важный термин латиницей, мы позволили себе перевести слово «docstring» как «докстрока», обнаружив этот термин в нескольких русскоязычных источниках.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии24

Автоматизация тестирования с нуля. Часть 1

Время на прочтение4 мин
Количество просмотров56K
Добрый день, уважаемые читатели.

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

Надеюсь статьи будет полезна начинающим автотестерам.

  • В первой части пофилосовствуем в общем про подход.
  • Во второй части (Часть 1) на примерах сделаем проект автотестов на JAVA + научим быстро тестировать API.
  • В третьей части дополним проект для UI тестирования, сделаем параллельное выполнение тестов.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии1

Конференция про Python и про общение

Время на прочтение11 мин
Количество просмотров5.6K
Традиционно Python используют для создания сетевых сервисов, бэкенда в вебе и, конечно, для сбора и обработки данных, как правило Больших. Эти направления в равных долях с экосистемными докладами и постараемся обсудить на грядущей Moscow Python Conf++. Эта конференция для Python-разработчиков состоится в Москве 22 и 23 октября, и я возглавляю её Программный комитет. Программа, можно сказать, выстрадана, нам удалось сделать её именно такой, как мы и планировали, — разнообразной. Бэкенд, Big Data и особенности языка, у нас гармонично сочетаются с докладами по тестированию, искусственному интеллекту, безопасности и DevOps. Хочется заранее поделиться с вами результатом, поэтому предлагаю обзор докладов по секциям — то, что к вам никак не относится, можно проматывать.



Хотя, подождите, не спешите перескакивать на следующую тему. На картинке выше написано: «Профессиональная конференция» — то есть, предназначена она для профессиональных разработчиков. Но гостями мы видим не только собственно Python-разработчиков, но еще программистов, преимущественно использующих другой стек, но заинтересованных в возможностях Python для вспомогательных задач. Последним должны зайти доклады, например, про Apache Kafka, Wagtail, SQLAlchemy или линтеры.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии4

Колония. Глава 1: Пробудившаяся жизнь

Время на прочтение7 мин
Количество просмотров33K

Ветер гулял по взлетной площадке, закручивая и унося за собой пыль и мелкий мусор. Сегодня он был сильнее обычного, что неудивительно – близилась буря. Во всяком случае, последний прогноз, сделанный два дня назад, утверждал именно это.


– Да уж, тут неплохо было бы прибраться, – подумал Райтнов, бросая взгляд вокруг.


Но робот-мусорщик был неисправен, а самому собирать мусор не хотелось. Да и не было в этом смысла. Сейчас все силы необходимо было бросить на ремонт ровера – последней надежды выбраться отсюда.


Райтнов посмотрел на часы. Шел восьмой час, а это означает, что поспать удалось лишь три с небольшим часа. Что ж, немногим больше, чем вчера. До темноты оставалось пятнадцать часов – конечно, этого едва ли достаточно, чтобы в одиночку починить ровер, но других вариантов нет. Выбраться отсюда можно только на нем. Но перед тем, как взяться за дело, нужно было сделать еще кое-что. То, что Райтнов делал каждый день без исключений последние три месяца, – с того самого дня, когда прибыл на эту планету в составе экспедиционной группы.

Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии34

Создатель мультфильма «Крепость» представил «Последний день войны»

Время на прочтение1 мин
Количество просмотров47K


Без малого три года назад Дмитрий Федотов выпустил впечатляющую работу, короткометражный мультфильм под названием «Крепость». Чтобы вспомнить о чем речь, вот сам мульт:



Сюжет таков: «Фильм притча, фантастика. Прошло 10 лет с начала последней войны. Люди постепенно выбывали из строя и автопилоты брали на себя часть их функций, вплоть до полного замещения. Теперь, когда все живое мертво, роботы продолжают бессмысленную войну в автоматическом режиме. В этом мире, гильза кассетной бомбы объемного взрыва стала крепостью для травы, а самолет стал крепостью и могилой для пилота. Любая система созданная человеком, как бы велика и совершенна она ни была, разрушится без него. Природа же — будет созидать даже на руинах».
Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии222

Сохранение данных Google Reader

Время на прочтение7 мин
Количество просмотров29K
Чем ближе дата закрытия Google Reader тем более насущным становится вопрос не только переноса подписок в аналогичный сервис, но и сохранения всех текущих записей.

Найденные решения, в том числе и на хабре(здесь и здесь), не подошли в основном по двум причинам: нет возможности сохранения в БД и медленная скорость работы. Пришлось собрать свой велосипед — grbackup, который
grbackup -e fake@gmail.com -p password -ba -o mongodb://localhost:27017 -w 20

за 20 минут сохранил 328250 записей из 102 подписок в локальную БД MongoDB.

Основные возможности:
  • сохранение всех записей, которые можно получить при помощи Google Reader API
  • сохранение записей в различные хранилища
  • использование формата идентичного тому, что отдает Google Reader через API
  • параллельное получение/сохранение записей
  • расширяемость: возможность добавить новый вид хранилища


Доступные виды хранилищ определяются расширениями(плагинами) и задаются при помощи опции (-o, --output) вида type:uri.
На момент написания статьи доступны следующие расширения:
  • simple: вывод в терминал (используется только в режиме просмотра)
  • json: запись в json-файл (json:/path/to/file.json)
  • mongodb: запись в MongoDB (mongodb://[username:password@]hostN[:portN]]][/[db][?opts]])
  • redis: запись в Redis (redis://username:password@host[:port]/dbindex)

Работоспособность проверена на Ubuntu(64) и Win7(64).
Книгу предложений и замечаний можно найти здесь.
Ниже находится подробное описание утилиты.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии31

Ebay. Украина. О таможне и пересылках — 2012

Время на прочтение7 мин
Количество просмотров192K
Небольшое предисловие. В 2010 году на Хабре был опубликован пост Ebay. Украина. О таможне и пересылках, в котором aevdox рассказал о нюансах доставки товаров с Ebay применительно к Украине и, особенно, об украинских таможенных правилах. Прочитав этот пост, я почувствовал, что мне есть, что к нему добавить, и, не будучи хабражителем, написал письмо автору. Так там появился «Upd # 3».

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

А теперь к сути. С принятием в 2012 году нового Таможенного кодекса Украины (далее – ТК) и его вступлением в силу информация в статье «Ebay. Украина. О таможне и пересылках» сразу же безнадёжно устарела. Прежде всего потому, что новый кодекс отменил нормативно-правовые акты, на которые я ссылался в своём дополнении (Закон № 2681-III, Постановление Кабмина № 1652), и теперь эти отношения регулирует сам кодекс. Регулирует он их уже иначе. Я попытался разобраться с тем, что же изменилось для нас, простых покупателей с Ebay, и соответственно актуализировать информацию в статье.

Если вкратце – «жить стало легче, жить стало веселей».
Подробности далее
Всего голосов 154: ↑149 и ↓5+144
Комментарии97

Обновленный Raspberry Pi с 512 МБ ОЗУ по прежней цене

Время на прочтение1 мин
Количество просмотров101K


Сейчас на рынке компьютерных устройств представлено достаточно много мини-ПК. Но самым известным мини-компьютером является, без сомнения, Raspberry Pi. Как известно, стоимость этого устройства составляет 35 у.е., и это полноценный ПК, который способен выполнять широкий ряд задач. Если вы планировали приобрести Raspberry Pi, но пока не сделали этого, самое время сделать заказ обновленной модели. Разработчики предлагают теперь модель с 512 МБ ОЗУ вместо 256, по прежней цене в 35 долларов США.

Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии112

Китайцы ворвались на рынок мини-компьютеров

Время на прочтение1 мин
Количество просмотров34K


У Raspberry Pi и Cotton Candy появился китайский конкурент. Компьютер размером с флешку стоит 74 доллара — как раз посередине между Raspberry Pi (25 — 35 долларов) и Cotton Candy (200). Внутри — одноядерный процессор ARM Cortex A8 AllWinner A10 1.5GHz, графический чип Mali 400, 512 мегабайт DDR3 RAM и 4 гигабайта встроенной флеш-памяти. Есть полноразмерный слот USB, microUSB, кардридер micro TF, порт HDMI и беспроводной модуль WiFi 802.11b/g. Размеры «китайца» — 8.8 х 3.5 х 1.2 см, вес — 200 граммов.
Читать дальше →
Всего голосов 101: ↑96 и ↓5+91
Комментарии129

Обзор программ для web-разработки на android

Время на прочтение2 мин
Количество просмотров15K
Вдохновением для написания данной статьи стал вопрос в q&a про среду web-разработки для android'а. К сожалению ide как такового для данной ос не существует, а реализация виртуального сервера lamp не представляется мне возможной. Однако существует достаточное количество программ, которые могут облегчить процесс написания кода с android-устройства, если возникла такая необходимость.
Читать дальше →
Всего голосов 41: ↑27 и ↓14+13
Комментарии23

Bash-script с gui для проигрывания видео из Vkontakte в обычном плеере

Время на прочтение9 мин
Количество просмотров12K
Часто, занимаясь своими делами, я люблю открыть какие-нибудь фильмы/клипы/сериалы, которые не требуют никакого внимания, повесив плеер где-нибудь в углу экрана. В наш век быстрого интернета и большого количества свободного видео в социальных сетях(например Vkontakte) во многом удобно смотреть их в потоке, не захламляя ненужными файлами жесткий диск… Но, попытавшись реализовать описанную выше схему, мы сталкиваемся с тем, что повесить окно браузера с плеером «где-нибудь» в углу экрана так, чтобы делать что-то полезное, больше не отвлекаясь проигрывание видео, не так уж просто. Кроме того, flash обычно ест больше ресурсов, чем обычный плеер в системе, что несколько критично для маломощных нетбуков.

Поэтому ( а еще потому, что в плеере Vkontakte отсутствует playlist, и это заставляет отвлекаться от основного занятия, когда заканчивается серия), взвесив все плюсы и минусы и посмотрев на исходный код страниц с видео, я понял, что в большинстве своем, они не сильно отличаются, и возможностей bash вполне достаточно, для реализации родившейся идеи — всё, что требуется для получения со страницы ссылки на видео — подобрать необходимые регулярные выражения и разобрать полученные wget-ом данные с помощью стандартных команд, таких как grep, sed и tr.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии10

Операция «посредник» или доставка товаров из США — проще, надежнее, дешевле

Время на прочтение5 мин
Количество просмотров96K
Все мы знаем, что большинство гаджетов дешевле купить в США, чем у нас на родине, и особенно это относится к различным новинкам, цены на которые у нас просто взлетают к небесам! Так же всем известно, что самые «вкусные» предложения на eBay и в интернет магазинах США обычно имеют доставку US only и соответственно не доступны для нас. В этой статье я попытаюсь рассказать про еще один способ исправить это недоразумение. Конечно все более-менее опытные интернет-покупатели знают о посредниках, которые предоставляют услугу mail forwarding — тоесть пересылку посылок. Происходит это так — вы заказываете доставку товара на адрес в США, который вам выдал посредник, он получает посылку и пересылает ее вам, беря за это небольшую комиссию. Известные посредники это Shipito, Ebaytoday, Бандеролька и т.д. их достаточно много и все они предлагают набор услуг — пересылка, объединение нескольких посылок в одну, наоборот — разделение крупной посылки на несколько мелких и тд. Берут обычно фиксированную плату за каждую посылку + оплату за дополнительные услуги. Стоимость самой пересылки обычно рассчитывается по тарифам USPS и этой же службой отправляют посылку вам. Я же хочу рассказать про еще одну компанию — Meest.us, которая осуществляет пересылку посылок (среди различных других услуг) но в принципе ее работы есть некоторые интересные особенности.
Читать дальше →
Всего голосов 52: ↑44 и ↓8+36
Комментарии59

Новый бюджетный 3D принтер

Время на прочтение5 мин
Количество просмотров118K

Появляются всё новые 3D принтеры в семействе RepRap. Printrbot был разработан с целью сделать принтер дешевым, максимально простым в сборке, а значит доступным широким кругам. Девиз проекта — "Printrbot — твой первый 3D принтер". Забегая вперед — планируемая цена на базовую модель 549$.
Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии88

Карманный роутер Sapido RB-1632

Время на прочтение2 мин
Количество просмотров30K


Не могу не поделиться восторгом от недавно купленного устройства.

Роутер, несмотря на свои размеры, имеет множество функций. Помимо стандартных Ethernet -> Wi-Fi, может выступать wifi-клиентом, имеет USB-хост для подключения модема и смартфонов, может одновременно создавать несколько Wi-Fi сетей с разными настройками и прочее. Питается при помощи USB либо от адаптера.
Читать дальше →
Всего голосов 91: ↑82 и ↓9+73
Комментарии45

Broadcom Crystal HD: аппаратное ускорение HD видео «от А до Я»

Время на прочтение5 мин
Количество просмотров77K
image

Думаю, многие знают, что HD (720p) H.264 видео так просто на нетбуке не посмотришь. Мощности Intel Atom просто не хватает на декодирование. Я использую свой Acer Aspire One в качестве видеоплеера во время командировок и длинных поездок и тоже с этим сталкивался. Есть несколько способов решить эту проблему:
  • перекодировать с более низким разрешением/битрейтом
  • использовать программные ухищрения
  • использовать аппаратное ускорение

Первый способ слишком медленный и унизительный (т.к. типичен для портативных плееров вроде iPod и т.п.).

Второй — не универсален и ограничен. Мне известны два способа — установка кодека CoreAVC и опережающий воспроизведение буфер Crystal Player-а (см. Настройка нетбука на максимальную производительность для HDTV). В принципе, это вполне сносное решение для 720p. Однако, есть два больших минуса: 100% загрузки процессора и полная несостоятельность в случае с 1080p.

Третий кажется мне наиболее «правильным». Можно сразу купить нетбук с Nvidia ION — универсальное решение, которое дает дополнительные плюшки вроде вычислений CUDA и возможности играть в 3D игры (впрочем, удовольствие на маленьком экранчике сомнительное). К сожалению, Nvidia ION-powered нетбуки появились лишь недавно и пока еще дороги. Да и что поделать, если уже купил себе нетбук без всяких «понтов»?

Есть выход! Называется он Broadcom Crystal HD, и «ускорить» им свой EEE PC или Aspire One вполне реально и дешево.
Читать дальше →
Всего голосов 85: ↑78 и ↓7+71
Комментарии93

Как мне стало удобнее жить

Время на прочтение2 мин
Количество просмотров3K
Я нашел средство, которое облегчило моё пребывание за компьютером.

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

На дворе 21-ый век, и в головах каждого из нас хранится море информации. Ежедневно мы сталкиваемся с множеством информации. Лично я «потерял» множество интересных ресурсов, лишь потому, что не мог заставить себя занести ссылку в бук-марки :) Я постоянно терял море паролей. Я постоянно забывал сделать море дел.

И вот, в один день я узнал о существование to-do сервисов (todoist.com / ремемберthemilk и тд.). И кажется это было то, что мне нужно. Но и тут я ошибался. Мне кажется, что опираться только на todo-листы слишком скучно :) Хочется чего-то большего. Хочется и ссылку записать в конце концов :)

И вот, каким-то чудом я узнал о супер-решении: Emacs+org-mode :) Не стоит пугаться и полагать, что это решение для супер-гиков. Я же разобрался, значит разберется и любой другой ;)
Читать дальше →
Всего голосов 21: ↑14 и ↓7+7
Комментарии18

Написание расширения для Оперы и Хрома: взгляд на процесс

Время на прочтение7 мин
Количество просмотров8.5K

Как многие из вас помнят какое–то время назад Гугл во второй раз спрятал ссылку на Ридер, заменив ее ссылкой на Фотографии. В первый раз это вызвало волну недовольства пользователей и Гугл вернул все назад, сославшись на ошибку. Тогда, сразу же, появилось расширение для Хрома, возвращающее ссылку на Ридер. Я портировал это расширение для Оперы.

Когда второй раз Гугл перенес ссылку, волна возмущения уже была не такой сильной. Сначала мне даже показалось, что никто не обратил внимания. Сообщество было занято более важными новостями. Но появилось обсуждение на форуме поддержки Гугла и даже официальный ответ о том, что Гугл всегда стремится улучшить свои продукты и такое улучшение может приводить к действиям подобным случившемуся с ссылкой на Ридер. Я вспомнил про свое расширение, расчехлил запылившийся код и решил сделать расширение более приятным и более осмысленным. А именно — дать пользователю возможность задавать структуру ссылок самому. Расширение должно динамически выдергивать все ссылки со страницы, показывать их пользователю в виде двух колонок и позволить перетаскивать их мышкой. Оказалось, что для Хрома такого расширения тоже не было и дополнительно я задался идеей написать два расширения с общим кодом.
Под катом мои впечатления от работы и подходов Оперы и Гугла к расширениям
Всего голосов 31: ↑27 и ↓4+23
Комментарии13
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Херсон, Херсонская обл., Украина
Дата рождения
Зарегистрирован
Активность