Метка «python» - 30

… на 90%. Т.е. какие-то подвижки ещё могут быть, шесть человек ещё определяются с докладами, но большая часть содержательной части конференции готова. Предлагаем её вашему вниманию:

Читать полностью »

В своем предыдущем топике я опубликовал ссылку на небольшой набросок идей игры под рабочем названием Hexagon (в документе на тот момент фигурировало название Celestial island). Достаточно много людей проявило к нему интерес, причем не только как корректоры: расставляющие знаки препинания и неистова исправляющие в нем орфографические ошибки, за что им конечно спасибо, но это все же был «набросок» — записки на полях. Но так же некоторые задавали вопросы и изъявили желание принять участие в проекте.

Немного поразмыслив и взвесив все за и против и сказав себе: — А, почему бы и нет.
Я решил провести эксперимент: из проекта «для души», разрабатываемого в свободное время — открыть проект и вести разработку публично под открытой лицензией и посмотреть, что из этого получиться.
Читать полностью »

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

Первые 3 теста: каждым из способов выполнялось по 50 запросов подряд к одному сайту.

image
Читать полностью »

На Хабре уже была заметка, как вытащить и распарсить список вакансий с hh.ru.

Однако там использовался C# — язык сложных предложений с хитрыми интерфейсами. Что же касается обработки больших «простыней» однотипных данных, то для мелких задач в этой области испокон веку применяют скриптовые языки.

Вот и написался небольшой скрипт на python, который утаскивает с hh.ru список вакансий по некоторому запросу (пишется в переменную searchParam) и выводит их в формате CSV. Можно выводить на экран и удивляться, можно перенаправить в output.csv и открыть в каком-нибудь табличном редакторе.
Читать полностью »

Начать, видимо, следует с того, что речь пойдет об интерпретаторе CPython версии 2.7.x (примеры проверялись на версии 2.7.3).

На официальном сайте имеются описания инструкции import и модулей в Python:

Из них следует, что в Python имеются пакеты (package), модули (module) и имена, определенные в модулях (names). Также следует отметить, что в некоторых частях документации модули называются подмоудлями (submodule), если они размещены внутри пакета.

В языке Python инструкция import позволяет импортировать пакеты, модули и имена в пространство имен, в котором инструкция import выполняется. При это существует две интересные особенности:

  1. Из синтаксиса инструкции import не всегда явно следует, что именно должно быть импортированно: пакет, модуль или имя
  2. Синтаксисом инструкции import невозможно явно указать, что путь к модулю является абсолютным путем (хотя явно указать, что путь является относительным можно, а также возможно изменение семантики инструкции, в части использования абсолютного пути по умолчанию, см. www.python.org/dev/peps/pep-0328/ )

Из этих двух особенностей следуют такие неоднозначности для записи import abcd:

  1. Импортировать ПАКЕТ abcd, либо импортировать МОДУЛЬ abcd
  2. Импортировать пакет/модуль abcd из ТЕКУЩЕГО ПАКЕТА (из пакета того модуля, в котором исполняется import abcd), либо ИЗ ПАКЕТА в соответствии с перечнем каталогов, указанных в sys.path

Еще примеры неоднозначностей:

  • from abcd import defg: (импортировать модуль defg из пакета abcd, либо импортировать пакет defg из пакета abcd, либо импортировать имя defg из пакета abcd, либо импортировать имя defg из модуля abcd) X (из того же пакета, либо из пакета в соответствии с sys.path)
  • import abcd.defg: (импортировать пакет defg из пакета abcd, импортировать модуль defg из пакета abcd) X (из того же пакета, либо из пакета в соответствии с sys.path)

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

Я живу в большой семье, в которой много компьютеров. Потребность в выходе в сеть интернет для этих компьютеров удовлетворяет роутер компании D-link DIR-615. В web интерфейсе этого устройства есть всегда меня интересовавшая запись обо всех текущих интернет подключениях проходящих через устройство. Глядя на это громадное количество записей, меня всегда тревожило, а чем это мои домочадцы таким жутким занимаются, а не стали ли они жертвами какого либо жуткого ботнета? Все записи в этой таблице подключений оперируют лишь IP адресами компьютеров в локальной сети и в сети интернет. Отбросив этическую сторону вопроса, я расскажу в этой статье свой скрипт-киддивский способ решения проблемы преобразования списка подключений в человекочитаемый вид.
Читать полностью »

Лого Продолжение рассказа о замечательном кроссплатформенном фрейворке для функционального-тестирования TextTest. Первая часть статьи.

Читать полностью »

Лого Предлагаю поговорить сегодня о замечательном фреймворке для тестирования TextTest. Это кроссплатформенный инструмент для функционального тестирования с «record-replay» парадигмой. Как следует из названия TextTest пропагандирует довольно необычный на сегодняшний день подход текст-ориентированного тестирования, который позволяет легко и просто писать и читать тесты. Помимо TextTest мы поговорим о StoryText — являющимся строго говоря отдельном инструменте для тестирования GUI, но совместно с TextTest он позволяет делать это гораздо приятнее. Так же упомянем о третьем модуле от автора — CaptureMock.

Читать полностью »

В комментариях к моему посту про курс 6.002x MITx мне задавали вопрос — пригодилось ли изученное в жизни. И я отвечал — да, конечно, вот тут утром пока зубы чистил, RC-константу посчитал… Но пруфов не было. С тех пор я закончил еще два курса — UC Berkeley CS188.1x Introduction to Artificial Intelligence (открыта регистрация на 18 февраля) и MITx: 6.00x Introduction to Computer Science and Programming. И если после CS188.1x я просто был полон эмоций и не знал, куда бы приткнуть свежеполученные знания (кроме как решить задачу о ходе коня), то после прохождения 6.00x подвернулся случай блеснуть.Читать полностью »

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

Графический интерфейс – node based: Каждая операция производимая над изображением переставляется как узел (node), узлы связны между собой связями образуя дерево (ориентированный граф) решений. Данные идут от узла (node) Read (или ноды генерирующей процедурное изображение (constant color, gradient и т. п.)) к узлу Write поэтапно подвергаясь обработке в каждом узле. Узлы делятся на: Color correct, Image transform, Image read/write/view, Image create, Image filter, Image merge, Image channel editing. Узлы Read и ноды генерирующие процедурные изображения объявляются корневыми (root) узлами, с них начинается исполнение процесса.

Перед обработкой изображение разбивается на части (tiles). Каждая часть попадает в отдельный поток конвейерной обработки (в соответствии с загруженным сценарием). На выходе отдельные части собираются в результирующее изображение. Каждая из частей может быть обработана как локально так и на удаленном сервере (облаке). Также возможна обработка всего изображения целиком.

image
Архитектура системы

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js