Search
Write a publication
Pull to refresh
69
0
Алексей Гурьянов @Guria

UX Developer, Cerebral JS Core team member

Send message

Анализ рынка ноутбуков с помощью Python

Reading time8 min
Views5.6K

Введение



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

Начнём



diy-03-425[1] Для анализа нам необходим набор данных, к сожалению я не смог обнаружить веб-сервисы у российских он-лайн магазинов ноутбуков, поэтому мне пришлось скачать прайс-лист одного из них (я не стану называть его) и вытащить из него цены и основные параметры (по-моему мнению таковыми являются: частота процессора, диагональ монитора, объем оперативной памяти, размер жесткого диска и объем памяти на видео-карточке). Далее я провёл некоторый анализ по следующим вопросам:
Читать дальше →

Interactive Fiction или Используй воображение…

Reading time6 min
Views14K
Zork 1Я автор известной в определенных кругах платформы QSP, предназначенной для создания текстовых (sic!) игр.
Столь редкий жанр мало освещен в рунете, поэтому очень хочется исправить ситуацию и вкратце рассказать об интерактивной литературе и QSP в частности.

Это моя первая статья для Хабрасообщества, поэтому прошу сильно не пинать :)

Введение


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

Читать дальше →

SketchFlow: прототипирование интерфейсов по-новому

Reading time13 min
Views24K
Все хорошие разработчики и дизайнеры, с которыми я знаком, в той или иной мере занимаются прототипированием. Как мне кажется, прототипирование напоминает канал между заказчиком и разработчиком, по которому передаются идеи и отзывы заинтересованных сторон, что позволяет вносить изменения в проект еще на раннем этапе разработки.

Как вы, наверное, замечали, прототипы могут быть представлены в разнообразных формах: от каких-то набросков на салфетке, до дизайна созданного в профессиональном пакете, который выглядит очень близко к желаемому результату. Несмотря на такое количество вариантов, мы можем выделить два основных типа прототипов: малодостоверные (Low fidelity) и высокодостоверные (High fidelity ). Малодостоверный прототип – это простое описание, набросок на рисовальной доске или скетч, которые приблизительно показывают кусочек пользовательского интерфейса. Пример такого прототипа представлен на рис. 1.


Рис. 1 – Пример малодостоверного прототипа, который демонстрирует форму входа в систему

Читать дальше →

Махинации с Бюро Кредитных Историй

Reading time15 min
Views7K
В недавнем посте «Кредитные хакеры»: методика банковских манипуляций
была выжимка методов махинаций кардеров с Бюро Кредитных Историй в США.
В том посте давалась ссылка на полный материалпо этой теме за авторством Кристофера Согояна (Christopher Soghoian). За перевод данного материала я и взялся, так как самому было интересно, да и нашлись еще хабрапользователи, кому было бы интересно почитать.
Так как текст довольно объемный, то решил его публиковать частями по мере перевода.
Содержание
1. Введение
2. Система потребительских кредитов в США

3. Как получить выгоду от кредитной системы
4. Кредитные уязвимости и эксплоиты
5. Предлагаемые улучшения 
6. Заключение

PS ссылки в тексте не переведены и находятся в оригинале перевода.
PS2 спасибо юзеру rusxg, который неожиданно подключился к переводу текста.
Прошу под кат

Использование метаклассов в Python

Reading time11 min
Views43K
Некоторые средства метапрограммирования не так часто используются в ежедневной
работе, как обычные в ООП классы или те же декораторы. Для понимания же целей
введения подобных средств в язык требуются конкретные примеры промышленного
применения, некоторые из которых и приведены ниже.

Читать дальше →

Алгоритмы на графах — Часть 0: Базовые понятия

Reading time5 min
Views264K

Вступление


Как оказалось тема алгоритмов интересна Хабра-сообществу. Поэтому я как и обещал, начну серию обзоров «классических» алгоритмов на графах.
Так как публика на Хабре разная, а тема интересна многим, я должен начать с нулевой части. В этой части я расскажу что такое граф, как он представлен в компьютере и зачем он используется. Заранее прошу прощения у тех кто это все уже прекрасно знает, но для того чтобы объяснять алгоритмы на графах, нужно сначала объяснить что такое граф. Без этого никак.

Читать дальше →

pv — маленькая, но очень полезная утилита

Reading time2 min
Views86K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →

VirtualBox. Удобное переключение между Host и Guest

Reading time2 min
Views23K
Те, кто работает админом и занимается тех.поддержкой пользователей в крупных конторах, часто сталкиваются с необходимостью держать на рабочей машине Windows наряду с любимой ОС — в данном случае Debian GNU/Linux. Задачи, вынуждающие ставить винду могут быть разными. Средства тоже: кто-то ставит VMWare, кто-то qemu, я пользуюсь VirtualBox. В общем виртуальными машинами сейчас никого не удивить. Я хочу поделиться с людьми небольшим, но очень удобным финтом.
Читать дальше →

Перевод: Я ненавижу тебя: твой код – хлам!

Reading time11 min
Views10K
Хочу представить свой перевод статьи «Your Code Sucks and I Hate You: The Social Dynamics of Code Reviews».

Я ненавижу тебя: твой код – хлам!
Взаимоотношения участников ревизий кода

Джонатан Лэндж (Jonathan Lange), 15.09.2008

Обзор


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

Мы кратко рассмотрим, почему следует проводить ревизии кода, и сделаем упор на вопросе, как складываются при этом взаимоотношения участников процесса, в особенности в проектах с открытым исходным кодом. Действительно, отчасти open source привлекает (а порой наоборот отпугивает!) людей именно потому, что ваш код будут просматривать эксперты со всего земного шара. Мы также рассмотрим влияние, оказываемое некоторыми существующими технологиями на культуру ревизий кода, рассмотрим, чего можно достичь с их помощью, и как проводятся ревизии в других сферах деятельности. Мы также обозначим некоторые «подводные камни» ревизий, которые легко не заметить.
Читать дальше →

8 лучших бесплатных средств разработки с открытым кодом по версии InfoWorld

Reading time3 min
Views4.7K
Тестовый Центр InfoWorld выбрал восемь лучших бесплатных инструментов с открытым кодом для разработчиков. Здесь есть средства создания насыщенных приложений (RA), AJAX-фреймворк, система управления бизнес-правилами, пакет контроля версий, объектная база данных, монитор для тестирования веб-сервисов… но пойдем по порядку:
  1. Объектная база данных: db40

    Появившись как Java-библиотека для баз данных, db4o была затем параллельно перенесена на платформу .NET. В множество полезных функций библиотеки db4o входят реализованные в 2005 году «родные запросы» (Native Queries) для построения запросов непосредственно методами Java или .NET.
     
  2. Управление версиями: Git

    Распределенная система управления версиями Git была изначально создана Линусом Торвальдсом, а теперь поддерживается Джунио Хамано (Junio Hamano). Git — это инструмент управления ревизиями во многих выдающихся open-source-проектах, включая ядро Linux, сервер X.org, ядро проекта One Laptop per Child (OLPC) и веб-фреймворк Ruby on Rails. Движок Git как минимум на порядок быстрее аналогичных систем для больших проектов и включает продвинутую поддержку для ветвления и слияния кода.
     
  3. Библиотека веб-клиента: HttpClient

    HttpClient — это Java-библиотека для передачи информации по HTTP-протоколу (родилась в 2001). Она позволяет выполнять http-запросы и легко обрабатывать полученные ответы. Множесто библиотек для работы с web-сервисами используют эту библиотеку в качестве транспортного слоя. Если вы Java-программист, и вам нужно послать http-запрос куда бы то ни было, то это библиотека для Вас. (aib — cпасибо за поправки)!
     


Далее: параллельное програмирование, управление бизнес-правилами, RIA...

Онлайн База Данных, сервис структур данных, динамическая объектно-реляционная проекция (Dynamic ORM)

Reading time9 min
Views2.6K
В данной статье речь пойдет о создании рабочего прототипа онлайд БД. И рассмотрены некоторые сервисы аналоги от компаний Google и Yahoo.

Последним временем более активно стали развиваться сервисы для работы с онлайн БД. Такого рода сервисов в себя включают такие платформы как GData (Google Data API) и Yahoo! Query Language (YQL).

Указанные сервисы онлайн доступа к БД позволяют лучше контролировать и оперировать данными, получаемыми из разных сервисов платформ и самое главное это готовые сервисы для использования которых достаточно изучить документацию и примеры.
Читать дальше →

Угон JSON

Reading time1 min
Views5.6K
imageВ статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные данные (иначе не спортивно), является валидным JS объектом, отдается по GET запросу. Требования к жертве: браузер поддерживает JavaScript, он включен, поддерживается метод __defineSetter__.
Читать дальше →

Grammar Gravity

Reading time1 min
Views811
Довольно часто на Хабрахабре можно увидеть комментарии, которые содержат сообщения о том, что в статью закралась та или иная ошибка. Такие комментарии не относятся непосредственно к теме, которую выносит статья на обсуждение общественности, и отвлекает участников дискуссии от плодотворного её проведения.

Такую информацию нужно отправлять персонально автору, но порой пользователям бывает просто лень открывать свою Хабрапочту и набирать там необходимую информацию для того, чтобы оповестить автора об ошибке. Что же может нам помочь?

Пользовательский скрипт Grammar Gravity поможет вам, не отходя от статьи и её обсуждения, отправить автору сообщение об ошибке в два клика. Вы, как будто бы, пишете обычный комментарий, но, на самом деле, вы отправляете персональное сообщение автору статьи! Красота, не правда ли?

Дорогой Якубович! Передаю привет Максиму Россомахину и Александру Савицкому!

Если же вам недостаточно просто сообщать пользователю об ошибках, вы хотите написать ему полноценное сообщение, то вам следует установить Grammar Gravity Parallel.

Дорогой Якубович! Передаю привет Максиму Россомахину и Александру Савицкому!

Расширение было оттестированно на Firefox 2 и 3, Opera 10, Google Chrome и Safari. Не исключено, что оно будет работать и на других браузерах, которые не попали в вышеперечисленную выборку. Для установки скрипта в Firefox вам понадобится Greasemonkey, в Opera — включить пользовательские скрипты в настройках, в Google Chrome — добавить к опциям ярлыка --enable-user-scripts --user-scripts-dir=\путь\до\директории и положить в ту самую директорию скрипт.

Присылая автору сообщение об ошибке персональным сообщением, вы делаете доброе дело! Мир запомнит вас! Удачи вам!

GIT для пользователей subversion (и др scm)

Reading time4 min
Views6.3K
Git это еще одна системы для управления исходным кодом, аналогичная subversion, cvs и другим. Почему аналогичная, а не «новая», «быстрая» и тп? SCM (source code management) прежде всего инструмент, который позволяет выполнять операции необходимые для одного разработчика и команды в целом. При каждый инструмент имеет свои достоинства и недостатки.

В этой статье мы сосредоточимся на основных функциях, без сравнительного анализа (чтобы не повторять миллионы заметок в web). И покажем пример, как применять git при работе с subversion.
Читать дальше →

Emacs для начинающих: Подготовка статей для Хабра в Emacs

Reading time4 min
Views4.4K
Введение


Мы уже много говорили о мощи Emacs. Давайте решим какую-нибудь практическую задачу. Например научимся готовить тексты статей для Хабра с минимумом ручной работы.
Читать дальше →

Учебник по языку программирования Python (хабраиндекс)

Reading time1 min
Views314K

Серия статей «Основы Python»


I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций

Об основах языка Python в сжатой форме

Продвинутый уровень


Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)

Читать дальше →

jQuery Tools v1.0.1

Reading time1 min
Views3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

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

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.

Information

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