четверг, 13 ноября 2014 г.

Исследовательский конструктор. Часть IV. Основы ООП

ABSTRACT

После долгого перерыва возобновляю выкладывать части исследовательского конструктора. Читатель, впрочем, может извинить меня, ведь я на ходу перерабатывал накатанную схему и по сути создавал новый вариант исследовательского конструктора. Я отказался от идеи папок с модулями и перешёл к пакетам, о которых ещё напишу, и Объектно-ориентированному (ООП) стилю. Оказалось, что это удобнее и практичнее наполнять класс новыми функциями, чем копить разноформатные функции в отдельных модулях. А главное, что всё это - и модули, и классы, и пакеты - ужасно похожие вещи. И иногда глядя просто на код невозможно понять, что это - пакет или метод класса. Так что начнём потихонечку разбираться в ООП.

Этот пост сделан в виде ipython notebook

Как выкладывать ноутбуки на личном канале GitHub


вторник, 28 октября 2014 г.

Python & MS Visual Studio

Пару недель назад на Хабре сообщили, что вышел патч, позволяющий осуществлять разработку кода, в том числе и для веб-контента, на языке python под MS Visual Studio. Собственно вот ссылка: Python & MS Visual Studio
Сам я никогда не работал с python под MSVS. С фортрано случалось, а вот с Python - нет. Может кому-то это будет полезно и интересно.

суббота, 27 сентября 2014 г.

Исследовательский конструктор. Часть III. Модули

ABSTRACT

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

Этот пост сделан в виде ipython notebook. Их легко выкладывать с личного канала на GitHub, например. Как-нибудь я покажу как это делается.

пятница, 12 сентября 2014 г.

Исследовательский конструктор. Часть II. Функции

ABSTRACT

Как было заявлено ранее, поговорим о функциях. В этом посте будет рассказано, как эффективнее использовать параметры функции, как сделать простое и удобное описание вашей функции и как сделать пользовательский вывод.

Так как вышло довольно много кода сделал ipython notebook версию на своём канале в Github.


понедельник, 1 сентября 2014 г.

Исследовательский конструктор. Часть I. Основы

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

ABSTRACT

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


пятница, 29 августа 2014 г.

Скачать ре-анализ ECMWF в фоновом режиме. ECMWF re-analysis batch mode

Современные климатические ре-анализы, к которым относится и ре-анализ ECMWF, хранят очень много информации. Глобальные данные за 100 лет не на самом большом разрешении могут занимать несколько сотен гигабайт памяти. И это только по одному параметру. А их может быть несколько десятков. И если вопрос хранения более-менее решён, то вот процесс передачи данных до сих пор стоит остро. Пока базы данных не интегрировали с торрент технологиями проходится использовать старый добрый протокол ftp.
Инструкция расскажет, как с помощью голого python скачать любой ре-анализ ECMWF (хороший ре-анализ) по ftp. Исходные англоязычные подсказки были найдены на самом сайте ECMWF в разделе Batch mode. Доступны библиотеки для языков программирования Python, Perl и Java. Мы рассмотрим наш любимый python.


четверг, 28 августа 2014 г.

Скоро день знаний

Дорогие читатели! Скоро-скоро будет целая серия постов про то, как программировать большие и разные задачи на python быстрее и понятнее. Будет инструкция по работе с архивом ре-анализов ecmwf. Будут обзоры программ для работы с библиографией! В новый учебный год с новыми знаниями и инструкциями! Ура! =)

Как перевести UV в направление и скорость ветра? How to convert wind UV-components to direction and velocity?

 Всё просто.  def uv2dir(u, v):     '''     Источник:     https://github.com/blaylockbk/Ute_WRF/blob/master/functions/wind_calc...