Pull to refresh
0
0
xstream @xstream

User

Send message

Как IT-фрилансеру стать предпринимателем. Часть 1

Reading time3 min
Views93K
Всем привет! Это наш первый пост на Хабре, и мы расскажем, как IT-фрилансеру стать предпринимателем.

Вы узнаете, зачем фрилансеру ИП. Почему ИП лучше, чем ООО. Как зарегистрировать ИП самостоятельно. Что делать потом. Надеемся, опыт, который мы накопили за два года нашего проекта «Я люблю ИП», вам пригодится.



Читать дальше →
Total votes 108: ↑85 and ↓23+62
Comments258

Model-View в QML. Часть нулевая, вводная

Reading time6 min
Views76K
Одним из наиболее распространенных и эффективных приемов проектирования программ является использование шаблона программирования MVC (Model-View-Controller) — Модель-Представление-Контроль. MVC позволяет разделить части программы, отвечающие за хранение и доступ к данным, отображение данных и за взаимодействие с пользователем на отдельные слабо связанные модули. Подобное разделение ответственности упрощает структуру программы и позволяет вносить изменения в одну из этих частей не затрагивая остальные.

Такой подход активно применяется в Qt, а в QML вообще является краеугольным камнем. Так что тем, кто изучает QML понимание принципов MVC будет совсем не лишним.

Model-View в QML:
  1. Model-View в QML. Часть нулевая, вводная
  2. Model-View в QML. Часть первая: Представления на основе готовых компонентов
  3. Model-View в QML. Часть вторая: Кастомные представления
  4. Model-View в QML. Часть третья: Модели в QML и JavaScript
  5. Model-View в QML. Часть четвертая: C++-модели

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

Вышел обновленный PyCharm 3.4 с новой расширенной функциональностью и улучшенной общей производительностью

Reading time4 min
Views25K


Мы рады сообщить всем хабровчанам: вышла новая версия нашей продвинутой IDE для Python — PyCharm 3.4! Как и раньше, PyCharm 3.4 доступен в платном варианте PyCharm Professional Edition и в бесплатном, с открытым исходным кодом, — PyCharm Community Edition.

PyCharm 3.4 уже доступен для скачивания по этой ссылке.
Читаем дальше, много картинок!
Total votes 79: ↑76 and ↓3+73
Comments40

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Reading time20 min
Views84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


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

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →
Total votes 216: ↑213 and ↓3+210
Comments43

Кто есть кто: Умные часы

Reading time28 min
Views146K
Этот год определенно стал годом носимых устройств, в том числе и «умных часов». Такое ощущение, что количество умных часов растет в геометрической прогрессии. Мы насчитали уже больше 50 часов (и это за исключением фитнес-трекеров, которые умеют показывать время) которые уже продаются или будут продаваться в ближайшее время.



Но все ли часы одинаково полезны? Чем они отличаются? Сейчас расскажем.
Под катом исследование рынка умных часов
Total votes 117: ↑106 and ↓11+95
Comments124

Moto 360: умные и красивые часы от Motorola

Reading time2 min
Views104K


Еще в марте на Хабре проскакивала новость о том, что Motorola и LG планируют выпустить умные часы на платформе Android Wear. LG с этой задачей уже справились, выпустив LG G Watch, да и Google Motorola уже вот-вот отгрузит первую партию Moto 360 (так называется девайс) для продажи.

Во всяком случае, журналистам TheVerge удалось немного потестировать тестовый образец Moto 360. Кроме того, удалось «подержать в руках» и персональный девайс исполнительного директора Motorola. По словам журналистов, и тестовый образец «для всех», и личное устройство работали одинаково хорошо (внешний вид у них также практически идентичен, что немудрено — ведь это одна и та же модель).

Под катом — штук 10 фотографий общим объемом в 2-3 МБ.

Читать дальше →
Total votes 60: ↑52 and ↓8+44
Comments168

GPS-навигатор в фонарике

Reading time2 min
Views23K
Изучая тему замены дисплея любой поверхностью наткнулись на одну интересную вещичку, и не найдя ее освещения на Хабре, решили вам ее представить. Знакомьтесь, ваш проводник и верный помощник в путешествии — Maptor.


Читать дальше →
Total votes 33: ↑24 and ↓9+15
Comments28

FreeWavz: продвинутая Bluetooth стерео-гарнитура с фитнес-трекером

Reading time3 min
Views11K


«Умных» устройств становится все больше, буквально каждый день появляются новинки. Среди всего этого многообразия частенько появляются новые устройства, на которые поневоле обращаешь внимание.

К примеру, беспроводные наушники FreeWavz, со встроенным фитнес-трекером. Наушники, в общем-то, подходят как спортсменам, так и обычным любителям музыки.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments27

Почему существует так много Питонов?

Reading time9 min
Views139K
Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под “Питоном”? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

Не смотря на схожесть в названиях указанных выше технологий, некоторые из них имеют совсем другие задачи (или, как минимум, работают совершенно иными способами)

При работе с Питоном я столкнулся с кучей таких технологий. Инструменты *ython. Но лишь недавно я уделил время, чтобы разобраться, что они собой представляют, как они работают и почему они (каждая по-своему) необходимы.

В этом посте я начну с нуля и пройдусь по разным реализациям Питона, а закончу подробным введением в PyPy, за которым, по моему мнению, будущее языка.

Все начинается с понимания того, чем на самом деле является “Питон”.
Читать дальше →
Total votes 169: ↑161 and ↓8+153
Comments74

Структура данных проекта OpenStreetMap, заглянем под юбку сервису

Reading time18 min
Views29K

Пролог



Проект OpenStreetMap (OSM) открытых геоинформационных данных под свободной лицензией CC-BY-SA (а в скором времени под Open Database Licence) известен достаточно широко, что бы не тратить время на его подробное представление. Главной особенностью проекта и его основным преимуществом по сравнению с любыми другими аналогами являлся принцип полностью открытых географических данных, которые могут быть использованы кем угодно и и как угодно (в рамках лицензии CC-BY-SA) и могут свободно дополняться и уточняться любым участником проекта. Как и любые другие данные, географические данные точно так же подлежат структурированию при хранении и обработке. В данной статье я постараюсь описать основные части структуры данных OSM остановившись больше на принятых типах данных и представлении их в пространственном виде. Работая постоянно с данными проекта OSM очень часто приходится уточнять или пояснять не которые базовые аспекты, поэтому возникла необходимость кратко изложить их в виде одного текста.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments12

Печатаем OSM (Часть 1)

Reading time9 min
Views32K
Представьте себе ситуацию: неподалеку от вас случилось землетрясение, наводнение, извержение вулкана. Вы — участник OpenStreetMap, естественно, написали об этом на форуме. Следующие полдня и ночь вы вместе с другими осмерами провели за рисованием домиков, простановкой адресов, разметкой зоны разрушений и в итоге утром у вас есть подробная электронная карта района. Через полчаса за вами заедет друг и вы вместе собираетесь отвезти теплые вещи и воду пострадавшим. Как за эти полчаса — час распечатать карту, и зачем вообще пострадавшим могут понадобиться карты,

читаем под катом.
Total votes 48: ↑47 and ↓1+46
Comments22

Плейн- и радарспоттинг, или я болен авиацией

Reading time7 min
Views78K
Я болен авиацией. Да, именно так и никак иначе. На моем ноутбуке хранится куча мануалов к различным самолётам от Boeing и Airbus, пособия по радиообмену, фильмы по авиационной тематике. Помимо всего этого я слушаю авиадиапазон с помощью портативной радиостанции (которая, кстати, не имеет возможности передавать на этих частотах, только слушать!). И плюс ко всему я регулярно, раз или два в месяц выбираюсь к аэропорту Шереметьево и фотографирую самолёты, заходящие на посадку. В этом посте я расскажу, как докатился до такой жизни. Может быть кто-то из вас, уважаемые читатели, тоже заболеет авиацией.
Кому интересно — прошу под кат.
Читать дальше →
Total votes 201: ↑193 and ↓8+185
Comments84

USB TV-тюнеры на rtl2832 — или как услышать в радиоэфире все за 600 рублей

Reading time5 min
Views503K
Давно я собирался купить какой-нибуть универсальный радиоприемник/радиосканер, чтобы полазить по эфиру, послушать о чем говорят ночью матёрые и бородатые радиолюбители…

До недавнего времени, это удовольствие обходилось от 300$ и до бесконечности. Ну а с переходом гос.органов (и России и за бугром) на цифровую (но пока еще не зашифрованную) связь APCO P25 стоимость удовлетворения нездорового любопытства стала ещё выше.

Год назад все изменилось — умельцы выяснили, что многие из продающихся у нас китайских USB TV-тюнеров за 600 рублей — фактически являются универсальным радиоприёмником, на который без каких-либо доработок можно послушать практически все-что угодно в диапазоне 50-900Мгц (если повезет — до 2200Мгц, но там голосом особо ничего не передают): переговоры самолётов с диспетчерами, строителей, такси, жучки в вашей квартире и многое другое.

Под катом я расскажу что и где покупать, как подключить и настраивать, ну и наконец — что можно послушать.
Читать дальше →
Total votes 144: ↑137 and ↓7+130
Comments147

Нативные интерфейсы в Qt

Reading time11 min
Views66K
Qt Logo

Эта статья посвящена программированию GUI на базе фреймворка Qt от Nokia. Мы рассмотрим способы разработки интерфейсов для нативного отображения на платформах Windows, Linux и Mac OS X.

Презентацию[1] вёл Йенс Бач-Вииг (Jens Bache-Wiig) — разработчик Qt (с 2005 года), занимающийся интерфейсами (look and feel).

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

Итак, приступим. Каждое графическое окружение имеет свой свод правил (User Interface Guidelines, UIG) по созданию интерфейсов, предназначенных для этих окружений. Из основных можно отметить такие руководства как Windows User Experience Interaction Guideline, Apple Human Interface Guideline, KDE User Interface Guideline и GNOME HID. Каждое из этих руководств «определяет положение кнопочек и рюшечек» конкретного окружения. Фреймворк Qt, в свою очередь, осуществляет поддержку всех этих руководств, предоставляя разработчику возможность создавать программы с использованием виджетов, «подстраивающихся» под окружение.

Читать дальше →
Total votes 116: ↑112 and ↓4+108
Comments9

Разработка приложений для Meego Harmattan

Reading time14 min
Views5.3K
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

image
В данной статье хотелось бы поделится с Хабрасообществом своим опытом по разработке софта с использованием QtComponents'ов на примере Meego Harmattan'а. Писать мы будем редактор заметок с синхронизацией средствами Ubuntu One.

Читать дальше →
Total votes 62: ↑51 and ↓11+40
Comments9

Настройка Archlinux на ASUS Eee 1201NL

Reading time7 min
Views9.1K
После того, как я устроился на работу адинистратором одного веб-проекта, появилась необходимость иногда что-то делать, находясь вне дома/офиса. Так как основной задачей в таких ситуациях было зайти на сервер по SSH и в браузере проверить результат действий, то решил остановить выбор на нетбуке. Но очень не хотелось распространённго разрешения 600px по вертикали. И всё-таки хотелось использовать нетбук не только для SSH, но и для прочих приятностей, вроде просмотра фильмов. Естественно, планировалось работать под Linux, поэтому требовалась нормальная поддержка оборудования.

В результате, остановился на «непонятном недоразумении» ASUS Eee PC 1201NL. Это такой своеобразный нетбук. Очень своеобразный.
Во-первых у него диагональ аж 12", что неприлично много для устройств этого класса.
Во-вторых, разрешение экрана 1366x768, что очень неплохо, но мелковато, если не настраивать более крупное значение DPI.
В-третьих он на базе платформы nVidia ION, что даёт хорошую производительность для подобных устройств. Недостатком является малое время работы — часа 4 со включенным bluetooth/wi-fi, если запустить какую-нибудь требовательную программу (например, игру Neverwinter Nights), то время снизится ещё сильнее.

Можно сделать вывод, что, по сути, данное решение является полноценным недорогим маленьким ноутбуком. Хоть и на базе процессора Intel Atom.
Читать дальше →
Total votes 62: ↑49 and ↓13+36
Comments23

Qt 5.2.0 вышел в свет!

Reading time1 min
Views44K


Habrahabr::instance()->sup(tr("Good morning, %1").arg(username));

К сожалению, новость подустаревшая, но это связано с тем, что я был убежден в существовании оной до сегодняшнего дня. Тем не менее, пропустить такое значительное событие всего года — ну просто невозможно. Давайте пройдемся по пунктам!

Qt — кросплатформенный фреймворк для разработки приложений и пользовательского интерфейса на С++ с использованием технологий QML (декларативного языка на манер JavaScript & CSS). Ранее поддерживался Trolltech, пока его не купили Nokia, которые продали его Digia — замечательной компании, которая открывает кьюту невероятные возможности.

  • Полноценная поддержка Android *
  • Полноценная поддержка iOS *
  • Десктопные Qt Quick Controls доработаны
  • Баги виджетов исправлены (+ пара новых няшных элементов)
  • Qt Windows/Mac Extras — интеграция с нативным кодом для этих платформ
  • Поддержка Bluetooth на Linux
  • Увеличена производительность рендера Qt Quick (QML)
  • Множество фиксов для OS X Mavericks
  • Модуль Accessibility доступен и на Android


* — за исключением пару очень узких функций, которые недоступны из-за лицензий/правил/etc

Полный текст релиза: blog.qt.digia.com/blog/2013/12/12/qt-5-2-released-the-best-qt-yet
Узнать все о вкусняшке и скачать ее, собсно, можно тута: qt-project.org

P.S. В голове не уложилось, когда позавчера собрал свое десктопное qml приложение под Android, затем под iOS-cимулятор и все это добро работало — начинается новая эра...
Читать дальше →
Total votes 103: ↑92 and ↓11+81
Comments235

Broadway — рендеринг интерфейса GTK3 в браузере (HTML5)

Reading time8 min
Views17K
Иногда необходимо предоставить доступ к приложениям которые не всегда есть возможность установить локально, да и не всегда это нужно. Наверное, лучшим выходом тут был бы web интерфейс на JS/PHP и иже с ними. Но возможно есть другие, более простые в некоторых случаях пути? Особенно если приложение должно оставаться портативным, а ещё лучше не делать почти ничего дополнительно в коде для реализации такого функционала.
Такую возможность предоставляет Broadway — уже давно не новый, но остающийся в тени backend для GTK3, позволяющий привнести новые возможности туда, где казалось бы уже все давно протоптано.


Подробности
Total votes 16: ↑16 and ↓0+16
Comments6

Ловец молний

Reading time6 min
Views134K
image Да, зима — не лучшее время для статьи о молниях. Но время близится! Сезон дождей и гроз всего через каких-то 4-5 месяцев, а работы – хоть отбавляй.

Все видели молнии? Молнии красивые, витые. Вы знаете как они действительно выглядят? Да, их удается сфотографировать, но только с одной стороны, и через раз.

А мы научились ловить каждую молнию, да ещё строить полную 3d модель каждой, даже невидимой в облаках молнии! Более того, через 15 секунд после удара в любой точке над Москвой, её координаты и трёхмерный профиль сразу же обновляется на нашем сайте!
Под катом 6 мБ трафика.
Давайте поподробнее и с начала
Total votes 421: ↑419 and ↓2+417
Comments170

Code Like a Pythonista: Idiomatic Python (part0)

Reading time12 min
Views28K
Kaa, the Python
От переводчика:

Я только начал изучать Python. С самого первого знакомства язык порадовал симпатичными конструкциями и синтаксически-гарантированной удобностью к чтению и пониманию кода.
В процессе освоения, при написании своего кода, бывает, сомневаюсь в правильности выбранных способов с точки зрения Python-way ( PEP 8 — Style Guide for Python Code, если угодно). Для вникания в идеологию программирования, в Python-сообществе кроме исчерпывающей документации, ко всеобщей радости, накоплено уже немало вспомогательных материалов, таких как статья Python Tips, Tricks, and Hacks, перевод которой недавно появился на Хабре
Мне понравилась статья Дэвида Гуджера «Пиши код, как настоящий Питонист: идиоматика Python» (David Goodger «Code Like a Pythonista: Idiomatic Python»). Для лучшего её усвоения решил оформить (в силу умения) полноценный перевод, потом показалось здравой идеей поделиться с Хабром.
Пока работал над переводом, пришло понимание, что статья существенно больше, чем показалась при прочтении ее в оригинале, поэтому постить буду частями, чтобы не выпасть из формата Хабра-статьи.
Продолжение и окончание перевода.

are you ready?
Total votes 67: ↑50 and ↓17+33
Comments30

Information

Rating
Does not participate
Location
Ставрополь, Ставропольский край, Россия
Date of birth
Registered
Activity