Pull to refresh
2
0
Михаил @budda

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

Send message

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

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


Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments46

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

Reading time12 min
Views31K

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



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

Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments7

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

Reading time7 min
Views12K

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



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

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments14

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

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

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

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

Reading time4 min
Views55K
Добрый день, уважаемые читатели.

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

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

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

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

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



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

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

Reading time7 min
Views33K

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


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


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


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

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments34

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

Reading time1 min
Views46K


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



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

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

Reading time7 min
Views29K
Чем ближе дата закрытия 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).
Книгу предложений и замечаний можно найти здесь.
Ниже находится подробное описание утилиты.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments31

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

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

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

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

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

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

Reading time1 min
Views101K


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

Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments112

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

Reading time1 min
Views34K


У 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 граммов.
Читать дальше →
Total votes 101: ↑96 and ↓5+91
Comments129

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

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

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

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

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

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

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

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

Reading time5 min
Views118K

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

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

Reading time2 min
Views30K


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

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

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

Reading time5 min
Views76K
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 вполне реально и дешево.
Читать дальше →
Total votes 85: ↑78 and ↓7+71
Comments93

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

Reading time2 min
Views2.9K
Я нашел средство, которое облегчило моё пребывание за компьютером.

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

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

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

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

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

Reading time7 min
Views8.4K

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

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

Information

Rating
Does not participate
Location
Херсон, Херсонская обл., Украина
Date of birth
Registered
Activity