Как стать автором
Обновить
5
0
Максим Прокопенко @mpro

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

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

Celery: лучшие практики

Время на прочтение5 мин
Количество просмотров149K
Если вы работаете с Django, то на некотором этапе разработке вам может понадобиться фоновая обработка долго выполняющихся задач. Возможно, что для такого рода задач вы используете какой-либо инструмент для управления очередями задач. Celery — один из самых популярных проектов для решения подобных задач в мире python и Django на данный момент, но есть и другие проекты для этой цели.

Пока я работал над некоторыми проектами, использующими Celery для управления очередями задач, выявились некоторые лучшие практики, которые я решил задокументировать. Впрочем это громкие слова для того, что я думаю о правильном подходе к решению подобных задач, а также о некоторых недостаточно используемых возможностях, которые предлагает сообщество проекта Celery.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии29

Простой SDR приёмник на ПЛИС

Время на прочтение9 мин
Количество просмотров226K
В этой статье я расскажу о том, как на базе отладочной платы DE0-nano сделать достаточно простой КВ SDR приёмник.
Пример принимаемых сигналов:

Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии28

Проблемы CSS. Часть 2

Время на прочтение7 мин
Количество просмотров234K
Продолжение перевода статьи «Проблемы CSS. Часть 1».

Когда использовать width / height равный 100%?


Height: 100%

Пожалуй, начнем с того, что попроще. Когда использовать height: 100%? На самом же деле, вопрос часто звучит немного по-другому: «Как мне сделать так, чтобы моя страница заняла всю высоту экрана?». Ведь правда?

Для ответа на него нужно понять, что height: 100% равен высоте родительского элемента. Это не магическое «высота всего окна». Так что, если вы захотите, чтобы ваш элемент занял все 100% от высоты окна, то установить height: 100% будет недостаточно.

Почему? А потому, что родителем вашего контейнера является элемент body, а у него свойство height установлено в auto по умолчанию; а значит — его высота равна высоте контента. Конечно, вы можете попробовать добавить height: 100% к body, но этого тоже будет недостаточно.

Почему? А все потому же, родителем элемента body является элемент html, у которого также свойство height равно auto и он также растягивается под размер контента. А вот теперь, если добавить height: 100% и к элементу html, то все заработает.

Стало понятнее? Корневой элемент html на самом деле не самый верхней уровень на странице — им является «viewport». Для простоты, будем считать, что это окно браузера. Так вот, если установить height: 100% элементу html, то это то же самое, что сказать — стань такой же высоты, как окно браузера.
Читать дальше →
Всего голосов 85: ↑82 и ↓3+79
Комментарии30

Проблемы CSS. Часть 1

Время на прочтение7 мин
Количество просмотров99K
От переводчика
Статья большая решил разбить на две части.

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

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

В лучшем случае — работу с css можно назвать веселым занятием. И это то, благодаря чему мы имеем работу. Потому что, как я считаю, генерация эффективных и кроссбраузерных css стилей невозможна и не будет возможна в ближайшее время.
Читать дальше →
Всего голосов 79: ↑71 и ↓8+63
Комментарии53

Selenium для Python. Глава 3. Навигация

Время на прочтение6 мин
Количество просмотров165K
Продолжение перевода неофициальной документации Selenium для Python.
Перевод сделан с разрешения автора Baiju Muthukadan.
Оригинал можно найти здесь.

Содержание:


1. Установка
2. Первые Шаги
3. Навигация
4. Поиск Элементов
5. Ожидания
6. Объекты Страницы
7. WebDriver API
8. Приложение: Часто Задаваемые Вопросы
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

ЧПУ фрезерный станок с автономным контроллером на STM32

Время на прочтение5 мин
Количество просмотров113K
Поскольку я давно собрал для себя ЧПУ станок и давно и регулярно эксплуатирую его для хоббийных целей, то мой опыт, надеюсь, будет полезен, как и исходные коды контроллера.

Постарался написать только те моменты, которые лично мне показались важными.

Ссылка на исходники контроллера и настроенную оболочку Eclipse+gcc и пр. лежат там же, где ролик:


Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии39

Начинаем работать с browserify

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

Введение


Решения, написанные на JavaScript становятся сложнее из года в год. Это, несомненно, обусловлено разрастанием такого прекрасного зверя, как веб. Многие из нас сейчас работают с JavaScript модулями — независимыми функциональными компонентами, которые собираются вместе и работают как единое целое. Так же такой подход позволяет нам реализовать взаимозаменяемость компонентов, не прикончив попутно код. Многие из нас использовали для этого паттерн AMD и его реализацию в RequireJS.
Читать дальше →
Всего голосов 44: ↑37 и ↓7+30
Комментарии62

Продвинутый Gulp и Browserify: интересные трюки

Время на прочтение9 мин
Количество просмотров42K
Пару недель назад я начал цикл о том, как делал некоммерческий музыкальный проект (первый пост есть в «я пиарюсь», не буду ставить ссылок), но, к сожалению, в первой же статье увлекся, и вместо того, чтобы рассказывать о том, как делал конкретно его, начал вспоминать эффективные трюки из других проектов. Видимо, именно это вкупе с прописанным акцентом на сам проект привело к тому, что за мной и постом прилетело НЛО.

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

Поэтому я постарался убрать все упоминания проекта и повторно публикую (с доработками и правками) статью, которую по сути никто еще не видел. Если вы фанат grunt — почитайте хотя бы вторую часть: то, что вы не любите gulp, не значит, что вы не любите browserify.

Краткое содержание:
  1. Простой способ обработки ошибок;
  2. Универсальная структура для хранения исходных файлов;
  3. Объединение нескольких потоков (например, скомпилированный coffee и js) в один;
  4. Создание потока из текста;
  5. создание собственных плагинов для Browserify;
  6. создание плагинов из плагинов Gulp для Browserify.

Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии15

Создание 3D сканера из вебкамеры, лазера, и еще кучки радиодеталей

Время на прочтение6 мин
Количество просмотров140K
В прошлом году мы с другом были на летней школе. На ней необходимо было сделать проект. Прочитав две статьи про создание 3d сканеров (раз, два) мы решили попробовать свои силы в его сборке и по возможности улучшить его конструкцию. Мы даже не представляли, что из этого получится и тем более не представляли, что победим с ним на нескольких научно-инженерных выставках. Но по порядку. Кому интересно узнать результат, добро пожаловать под кат (много фотографий).

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

Qmpot — программируемый звуковой редактор

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


Первым звуковым редактором, который я увидел в своей жизни — был Фонограф (sndrec32.exe) в Windows 98. Недолго я игрался с ним, записывал до 1 минуты звука с микрофона (потом запись прерывалась) и прослушивал полученное. А еще переконвертировал звуки из одного качества в другое.

Вторым звуковым редактором, который я увидел — был Cool Edit Pro 2000 (который теперь называется Adobe Audition). Но когда я порылся в нем достаточно — я был расстроен, эту штуку называют «звуковой редактор», но она только редактирует звук. В ней нельзя написать музыку с нуля. В ее наследнике — Adobe Audition, правда, позже добавили систему дорожек, в которые можно понапихать loop-ов и наделать музыки из них.

Потом я еще увидел Cakewalk Pro Audio (Cakewalk Sonar), Fruity Loops, Sound Forge и т.д.

Но еще с того 1998-2000 года во мне затаилось желание создавать звук и вставлять в него любые ноты в любые места во времени. Причем делать это как в простом режиме («воон туда эту ноту запихай-ка»), так и в более сложном («зажмем этот аккорд, сыграем в этом стиле, потом другой аккорд, сыграем его в другом стиле»).

И год с лишним назад, в декабре 2013 года я начал делать этот редактор.
И что же вышло из этой затеи?
Всего голосов 41: ↑36 и ↓5+31
Комментарии48

Material Design и AngularJS

Время на прочтение6 мин
Количество просмотров68K
Ни для кого не секрет, что Google повсюду в своих продуктах внедряет так называемый material design. Как и любой другой стиль он имеет сторонников и противников. Не буду касаться этих споров. Если вам нравится данный подход, Google подготовил полную спецификацию и описание особенностей: Material Design.

Для любителей angularjs появилась библиотека с набором директив, реализующих графические компоненты и позволяющих создавать разметку в соответствии с принципами material design. О ней и пойдет рассказ.

Я постараюсь кратко показать некоторые особенности и недостатки, а также покажу небольшое приложение для демонстрации.

image
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии20

Бекап аудиозаписей с плейлиста ВКонтакте (до 6000) средствами Python и Vk API

Время на прочтение4 мин
Количество просмотров58K
Здравствуйте.

Раньше часто слушал музыку средствами «Вконтакте» (далее ВК). После перехода на Ubuntu 14.10 возникли проблемы в виде полного зависания компьютера во время прослушивания аудиозаписей через браузер Google Chrome для linux систем. В связи с этим возникла необходимость забекапить свой плейлист для прослушивания музыки в оффлайн режиме. Для этих целей решил написать маленький скрипт на языке Python, которым можно будет не только скачивать музыку с нуля, но и обновлять существующую библиотеку.

Я использовал такие модули:
  • Selenium webdriver
  • requests
  • json
  • os

Собственно, начнем.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии60

Литьё по моделям напечатанным на 3D-принтере

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

Jeshua Lacock пишет:
Эта страница описывает мою первую и успешную попытку отлить алюминиевые детали напрямую с моделей напечатанных PLA на 3D-принтере. Процесс практически идентичен литью с восковой модели, но вместо выжигания воска я выжигал пластик PLA (био-пластик)
Читать дальше →
Всего голосов 160: ↑158 и ↓2+156
Комментарии88

Список YouTube-каналов для обучения веб-разработке

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


Привет, хабражители!

Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

Под катом — текущая версия списка.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии16

Учебник AngularJS: Всеобъемлющее руководство, часть 2

Время на прочтение22 мин
Количество просмотров192K
Часть 1

4.1 $rootScope


$rootScope не сильно отличается от $scope, просто это объект $scope самого верхнего уровня, от которого происходят все остальные области видимости. Когда Angular начинает создание вашего приложение, он создаёт объект $rootScope, и все привязки и логика приложения создают объекты $scope, являющиеся наследниками $rootScope.

Обычно мы не используем $rootScope, но с его помощью можно обеспечить передачу данных между разными областями видимости.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии23

Учебник AngularJS: Всеобъемлющее руководство, часть 1

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

Содержание


1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource

1 Введение в AngularJS


Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.

MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии29

Почему QIWI это гениальная платежная система России

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


Почему карточные платежные технологии в России – это говно, а QIWI – гениальная система настоящего и будущего



Среди моих знакомых банкиров и среди моих знакомых АйТишников нет никого, кто бы даже сейчас, в 2010 году серьезно и с уважением относился к платежной системе QIWI. Самое сильное чувство, которое вызывает у них это дурацкое слово – это чувство ненависти, сарказма. Хотя на самом деле обычно относятся к этим “лохотронским приборам” с презрительностью и тупо обходят их стороной.

Читать дальше →
Всего голосов 361: ↑241 и ↓120+121
Комментарии291

gosuslugi.ru — обзор доступных сервисов

Время на прочтение3 мин
Количество просмотров2.6K
imageПривет, %username%. На Хабре регулярно появляются статьи про сайт госуслуг и его сервисы, про получение загранпаспорта уже неоднократно рассказывали. Недавно был топик про информацию о штрафах за нарушения ПДД. Однако, помимо этого, на сайте есть еще несколько полезных и не очень сервисов, далее будет небольшой обзор.
Читать дальше →
Всего голосов 74: ↑61 и ↓13+48
Комментарии53

Сам придумал — сам запатентовал

Время на прочтение4 мин
Количество просмотров89K
image
Говорят, идея — оргазм мозга. Если Вы испытали это чувство и внутри черепной коробки загорелась не дающая спать по ночам лампочка, то следующая Ваша мысль будет: «как же конвертировать эту люминесценцию в материальные ценности»? Есть три пути: правильный — обратиться к патентным поверенным и заплатить кругленькую сумму; умный — изучить патентное право и потратить уйму времени; и третий — для тех, у кого нет ни времени, ни денег.
Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии30

Домашние и персональные роботы доступные в России

Время на прочтение6 мин
Количество просмотров31K
Роботы …

У каждого из нас возникают свои ассоциации с этим словом, но в основном многие представляют себе нечто похожее на такую штуку…
image
А может быть даже более совершенную разработку, напоминающую робота NS-5 из фильма ”Я робот”.
Последние несколько месяцев по роду своей деятельности я занимался изучением ситуации на рынке робототехники домашних и сервисных роботов в России. Что же представляет из себя этот рынок? Что умеют современные роботы-игрушки? Какова средняя стоимость робота и какие роботы подойдут в качестве подарка? Обо всем этом я сейчас немного вам расскажу.
Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии41
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность