Метка «python» - 7

Всем привет!

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

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

В недавней теме о PHP черт меня дернул затеять холивар. Пользуясь случаем, прошу прощения за такое безобразие :) Позвольте мне несколько исправить ситуацию и увести ее от дискуссий.

Моя позиция такова, что мнение определяется опытом и обстоятельствами. Надеюсь, это не вызовет споров, если вы не будете излишне придирчивыми :) Обстоятельства — вещь очень многогранная, и так запросто можно скатиться до обсуждения смысла жизни, так что я буду акцентировать внимание только на опыте. Именно он позволяет нам делать суждение о чем-либо. Именно на него мы рассчитываем, когда советуемся с компетентными и авторитетными людьми. Я предлагаю обобщить наш опыт, разбив его на некоторые категории, дабы не дискуссировать бесполезно, и сравнить наши точки зрения в зависимости от личного опыта. Кому чей опыт важен, и какие выводы делать — каждый решит для себя сам.

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

Вы знали, что google календарь может отправлять СМС напоминания? Скорее всего да. Я сам этим пользуюсь постоянно. А знали ли вы, что с помощью таких напоминаний можно сделать себе СМС оповещения? А вот можно. Эдакий персональный бесплатный СМС гейт. Я об этом когда-то давно читал, но тогда мне это нужно не было. Недавно понадобилось отправлять СМС оповещения от железки аля умный дом и я вспомнил об этом способе. Вспомнил, нашел готовый django модуль, реализующий его, и подключил к своему сайту. Работает! На все у меня ушло где-то пол часа. Но обо всем по порядку.
Читать полностью »

На хабре уже не раз поднималась тема изучения английского языка (пруф). Она рассматривалась с разных ракурсов. Кто-то писал, что не зачем учить слова, при изучении иностранного. Кто-то делился способами, коих великое множество, от простых карточек, до целой тетради, исписанной по самое не хочу. В конце концов есть LinguaLeo, так же замечательный сервис, на котором без дополнительной платы можно учить по 10 слов в день. Хотя иногда платить не хочется, а 10 слов кажутся весьма небольшим количество для молодого организма, который познает таинства и прелести иностранной мовы. Тогда возможно этот скрипт вам будет полезен.
Читать полностью »

Хотим поделиться радостью: мы только что выпустили PyCharm 3.1. Это — хоть и минорный, но все же наполненный новой функциональностью релиз PyCharm. Как вы знаете, PyCharm начиная с версии 3.0 доступен как в платном варианте PyCharm Professional Edition, так и в бесплатном с открытым исходным кодом — PyCharm Community Edition.

Загрузите PyCharm 3.1 прямо сейчас (и продолжайте читать, пока он загружается).

Новый PyCharm 3.1 теперь поддерживает последние версии Python 3.4 и Django 1.6. Мы не обошли вниманием и поддержку Google App Engine — она заметно улучшена. В PyCharm 3.1 также интегрированы улучшения, сделанные в последнее время в общей для всех наших IDE платформе — IntelliJ.

Что нового?

Поддерживается Python 3.4

image

PyCharm 3.1 поддерживает Python 3.4, включая новые стандартные библиотеки и последние новшества языка. Можно смело переключаться на новый интерпретатор и работать, наслаждаясь новыми фичами Python.
Читать полностью »

Самый простой способ добавить новый сервер в Zabbix — через веб интерфейс. Засетапили новый сервер, пошли в web-морду, добавили машинку. Но, когда что-то делается руками, всегда можно забыть, особенно когда ввод серверов в строй происходит часто.
После очередного такого случая: что-то грохнулось, а потом выяснилось, что оно и не мониторилось никогда, возникла мысль автоматизировать процесс.
Читать полностью »

image
Давным давно был язык С. И были в нем 2 функции управляющие памятью — malloc и free. Но это было слишком сложно.
Посмотрел на это Бьёрн Страуструп и решил что нужно сделать все проще. И изобрел С++. В дополнение к malloc/free там появились new/delete, деструкторы, RAII, auto и shared указатели.
Посмотрел на это Гвидо ван Россум, и решил, что С++ тоже не достаточно прост. Он решил идти другим путем и придумал Python, в котором даже malloc и free нет.
А тем временем норвежские троли создали на С++ GUI-библиотеку Qt, которая упрощает управление памятью для своих объектов за счет того, что сама их удаляет, когда посчитает нужным.
Phil Thompson расстроился, что отличной библиотеки Qt нету для замечательного языка Python. И решил их объединить проектом PyQt. Однако, как оказалось, если скрестить разные парадигмы управления памятью, обязательно вылезут побочные эффекты. Давайте посмотрим какие…
Читать полностью »

Python digest #11. Новости, интересные проекты, статьи и интервью [17 января 2013 — 24 января 2014] Продолжаем собирать свежие новости, информацию о проектах, интересные статьи о python и относящихся к нему технологиях. В этот раз много статей на русском из блога Максима Никитенко, которые он сам прислал через форму добавления новости на инструменте для создания дайджеста. Это, кстати, очень просто — достаточно скопипастить сюда ссылку и скоро она появится в ленте уже с анонсом и в нужной рубрике а еще позже попадет в выпуск дайджеста.

Мобильная версия

Спасибо большое owlman в этот раз он не только сделал иллюстрацию для выпуска, но и нарисовал целую гоу замечательных иконок для разделов.
Просьба! Мне бы хотелось перенести инструмент создания дайджеста на какой-нибудь более python-related домен pythontime.ru, например. Может кто-нибудь поможет денежкой (600р. в год) или сам купит домен и делегирует на мой хостинг? Не хаброжители могут написать мне по этому поводу (да и любым другим) в скайп: alrusdi

Опрос о рассылке. Прошел слушок, что из-за недостататочного количества плюсиков или секретной политики хабры дайджест не всегда попадает в мобильную ленту. Добавил в пост опрос нужно ли организовать почтовую рассылку с анонсом очередного выпуска.

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

Python digest #10. Новости, интересные проекты, статьи и интервью [10 января 2013 — 17 января 2014] Юбилейный десятый выпуск свежих новостей о python и близлежащих технологиях интересен тем, что некоторые новости были добавлены в него через введенную читательом axce1 форму добавления новости незарегистрированными пользователями. Очень приятно, что она начинает работать. Присоединяйтесь!

Есть неболшая тонкость, которую стоит разъяснить. Мне прислали ссылку на замечательную статью исследование объектов кода, но в выпуск она не попала, так как написана в марте прошлого года, то есть новостью по сути не является. Такие ссылки все-равно присылайте — я их буду постить, например, в группу python-программистов во вконтактиках, но не удивляйтесь их отсутствию в ленте и выпусках.

Спасибо owlman за то, что несмотря на несвоевременно предоставленную мной информацию о приоритетных новостях он все же нарисовал иллюстрацию.

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

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

В начале прошлого года мне пришла в голову идея написать собственный язык интерфейсов (IDL), который был бы похож на Protobuf или Thrift, но предназначался бы для веба. Я надеялся закончить его где-нибудь месяца за три. До первой стабильной версии прошло чуть больше года.

Pdef (пидеф, protocol definition language) — это статически типизированный язык описания интерфейсов, который поддерживает JSON и HTTP RPC. Он позволяет один раз описать интерфейсы и структуры данных, а потом сгенерировать код для конкретных языков программирования. Пидеф подходит для публичных апи, внутренних сервисов, распределенных систем, конфигурационных файлов, как формат для хранения данных, кеша и очередей сообщений.

Основная функциональность:

  • Развитая система пакетов, модулей и пространств имен.
  • Поддержка циклических импортов и зависимостей типов (с некоторыми ограничениями).
  • Простая система типов, основанная на четком разделении интерфейсов и структур данных.
  • Наследование сообщений (аналог struct'ов) и интерфейсов.
  • Поддержка цепочек вызовов, например, github.user(1).repos().all().
  • JSON как формат данных и HTTP RPC для передачи данных.
  • Возможность использовать другие форматы и RPC.
  • Подключаемые кодогенераторы (официально поддерживаются Java, Python и Objective-C).
  • Опциональность кодогенерации, т.е. Пидеф позволяет сериализовать данные и отправлять запросы руками.

Зачем нужен Пидеф? В первую очередь для повышения производительности труда и упрощения разработки и поддержки клиент-серверного, сервисно-ориентированного и распределенного кода. Но он также объединяет документацию и описание апи и позволяет строить вертикально-интегрированные системы, в которых снижены накладные расходы на взаимодествие отдельных компонентов.

Пример описания сообщения:

message Human {
    id          int64;
    name        string;
    birthday    datetime;
    sex         Sex;
    continent   ContinentName;
}

Примеры использования (примеры сгенерированного кода):

Json

{
    "id": 1,
    "name": "Ivan Korobkov",
    "birthday": "1987-08-07T00:00Z",
    "sex": "male",
    "continent": "europe"
}

Java

Human human = new Human()
    .setId(1)
    .setName("John")
    .setSex(Sex.MALE)
    .setContinent(ContinentName.ASIA)

String json = human.toJson();
Human another = Human.fromJson(json);

Python

human = Human(id=1, name="John")
human.birthday = datetime.datetime(1900, 1, 2)

s = human.to_json()
another = Human.from_json(s)

Objective-C

Human *human = [[Human alloc]init];
human.id = 1;
human.name = @"John";
human.sex = Sex_MALE;
human.continent = ContinentName_EUROPE;

NSError *error = nil;
NSData *data = [human toJsonError:&error];
Human *another = [Human messageWithData:data error:&error];

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


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