Рейтинг
+1.33

Разработка

9 читателей, 21 запись

Вышел PyCharm 5

Разработка: Для ИТ-Профессионала: Выпуск PyCharm 5Зарелизился PyCharm 5 — прекраснейший инструмент для разработки на Python. Основные фишки включают в себя:

  • Полную поддержку python 3.5
  • Интеграцию с Docker
  • Визуализацию параллельного выполнения потоков
  • Улучшения в поддержке Django ORM методов
  • docstring'и в стиле Google и NumPy Style
  • Интеграцию с Conda (будет полезно для научных проектов)
  • Утилита конфигурации приложения для проектов, использующих Google App Engine

Уже можно скачать и потестить, а кто уже потестил — отпишитесь, на какие грабли наступили в этом мажорном релизе?

Скачать готовые макеты приложений для iOS и Android

Сейчас наша команда активно развивается в разработке продуктов под мобильные платформы. На начальном этапе, когда опыта с платформой не так много, и нет свободных дизайнерских рук приходится искать уже готовые решения и собирать их по сусекам. Буду выкладывать найденные нами полезные ресурсы, которые сэкономят часы вашего времени.

Начнем нашу подборку с Apple Watch, на старте продаж которых вышло уже 3000 полезных и не очень приложений.

Графика и дизайн: 5 бесплатных макетов c Apple Watch

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

Как повысить производительность Vagrant

Разработка: Блог им. serg: Как повысить производительность Vagrant
Vagrant – это бесценный инструмент для создания стандартизированных виртуализированных сред. Вместо требования от пользователя установить Postgres, Redis, Elasticsearch и т.д. для запуска и разработки приложения, — Вы просто говорите им сделать три действия (возможно первые два уже не нужны):

  • Скачать и установить VirtualBox
  • Скачать и установить Vagrant
  • Из папки проекта запустить команду:
vagrant up && vagrant ssh

Проблема, с которой я сталкивался снова и снова, — каждый третий, кого я просил это сделать, жаловался мне что приложение запускаемое в Vagrant работает мучительно медленно. Под катом те крупицы знаний, которые я собрал, пытаясь решить данную проблему.
Читать дальше →

Релиз нереляционной БД Redis 3.0

Разработка: Python: Релиз нереляционной БД Redis 3.0
Спустя полтора года вышел релиз БД Redis 3.0. Данную БД относят к NoSQL-системам. Разработка ПО ведется под контролем компании VMware. В Redis реализован функционал хранения данных в формате ключ/значение, очень похожий на Memcached. В программе присутствуют:
  • возможность запускать на бэкэнде созданные на языке Lua скрипты-обработчики;
  • поддерживаются структурированные форматы информации: списки; хеши; множества.
В случае краха системы Redis обеспечивает сохранность данных на жестком диске (чего не делает тот-же Memcached). Исходный код программы доступен по лицензии BSD. Доступны клиентские библиотеки для большого количества языков программирования, в том числе: Perl, Python, PHP, Java и Ruby.
Поддерживаются многокомандные транзакции; гарантируется непротиворечивость и последовательность (создаются блокировки, другие запросы будут приостановлены до завершения текущего); в случае появления ошибки — присутствует возможность отката. Работа идет с базой данных, которая полностью находится в кеше оперативной памяти. Управление данными производится с помощью команд инкремента/декремента, стандартных операций для работы с множествами и списками (объединение, пересечение), переименования ключей, множественных выборок и функций сортировки. Работать можно в двух режимах: с периодической синхронизацией данных на диске либо хранить на жестком диске лог транзакций. При работе во втором режиме гарантируется возможность полного восстановления данных в случае краха. Поддерживается настройка репликации в режиме master/slave (один сервер является основным, с ним работают пользователи, остальные — подчиненные, данные на них попадают только из основного сервера, доступны в режиме «только чтение»).
Читать дальше →

Делаем первое приложение для Android. Часть 0 - подготовка среды.

Разработка: Как сделать приложение для Android
Днем я работаю разработчиком Python/Django, вечером иногда опускаюсь до клепания сайтов на разных php фреймворках, а ночью когда меня одолевают приступы лунатизма, в последнее время я заглядываюсь на мобильные платформы, в частности Android. Ну еще меня гложила мысль что у меня вроде есть хороший смарт, а сам я еще ничего полезного для себя не написал и пора бы уже это давно исправить. Так вот, предлагаю начать вместе со мной.

Сегодня мы поставим все необходимое чтобы приступить к разработке нашего перового приложения, и для этого нам понадобятся:

  • Android SDK
  • Oracle JDK
  • Приличное IDE для работы со всем этим цирком

Вперед, плодить зеленых роботов! →

Google Code будет закрыт в 2016 году

Управление проектами: Для ИТ-Профессионала: Google Code

Директор Google по Open Source, Крис ДиБона сообщил о закрытии хостинга проектов Google Code в 2016 году.

«Когда мы начали проект Google Code в 2006 году, мир хостингов проектов был слабо развит. Нас беспокоили застой в развитии проектов и их качество, поэтому мы предложили сообществу свою площадку для работы с кодом. С того времени
Читать дальше →

Mercurial откатить все изменения

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

hg revert --all -r-1


где -1 это количество changeset, до которого нужно откатиться.

Восстановить (отремонтировать) все таблицы MySQL в одну команду

В MySQL есть запрос, REPAIR TABLE который позволяет отремонтировать сломанную таблицу, однако это не всегда удобно, например когда есть несколько сломанных таблиц. Восстановить все разом можно следующей командой:

mysqlcheck -uroot -p -A --auto-repair

После ввода root пароля, MySQL отремонтирует сломанные таблицы.

Python фильтруем list кортежей (tuples)

  • Python
Иногда не хватает силы джанговского ORM, и не хочется использовать extra для написания архи сложного запроса, который, допустим фильтрует результаты annotate.

Допустим у нас есть список кортежей, который нужно отфильтровать по количеству вхождений определенного элемента кортежа в массиве.

Данное решение не идеальное, но работает:
filter_func = lambda lst, item_to_search: len([item for item in lst if item[1] == item_to_search[1]]) > 1 
duplicated_result_ids = [item for item in tuples_list if filter_func(participant_result_list, item)]


Таким образом получаем список только из тех кортежей, которые имеют одинаковый элемент.

P.S. Жду ваших предложений для решения данной задачи

[Заметки программиста] Настройка PostgreSQL в Mac OS X

Разработка: [Записки программиста] Настройка PostgreSQL в Mac OS XПродолжаю переезд рабочего окружения на Mac OS X и соответственно под Mac свои подводные камни настроек всяких, жизненно мне необходимых сервисов и утилит, и так как это заняло не один час на то, чтобы все понять осознать и настроить, я пишу этот материал для Вас, чтобы сэкономить Ваше драгоценное время. Сегодня будем настраивать PostgreSQL из homebrew, поскольку это самый быстрый способ настроить все что необходимо для разработчика.

Итак прежде всего нам понадобится homebrew (Установка Homebrew).

Открываем Terminal.app и запускаем команды:
brew update
brew install postgresql

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

Инициализируем БД:
initdb /usr/local/var/postgres

Добавляем сервис в автозагрузку:
cp /usr/local/Cellar/postgresql/ВЕРСИЯ POSTGRESQL(в моем случае 9.2.4)/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Запускаем PostgreSQL:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start


Почти все, осталось лишь уточнить пару ньюансов.
1) При установке с помощью homebrew, PostgreSQL не создает системной учетной записи postgres, поэтому все действия над БД производятся в контексте пользователя, из под которого был запущен brew. Нам это не принипиально, поскольку это сервер для разработки, а если Вы настраиваете production сервер, то создайте системную запись postgres вручную.

2) После установки при попытке запустить psql из консоли он невнятно сругнется на отсутствие сокета. Лечится это добавлением в ~/.bash_profile одной строчки:
export PGHOST=localhost

Теперь перезапустите терминал. Команда psql должна заработать, как от нее ожидается…
Если у Вас остались какие-нибудь вопросы — пишите в комментариях