Pull to refresh
24
0
Николай @rzhannoy

Веб-фулстак

Send message

Об организации кода в django-приложениях или толстые модели – это прекрасно

Reading time6 min
Views36K
От переводчика
Как всегда вольный перевод интересной статьи о конкретном подходе к организации кода в django-приложениях. Будет полезна:
  • Тем, кто еще не задумывался о таких вопросах
  • Тем, кто уже имеет собственные взгляды на организацию логики, но не против оценить альтернативные варианты
  • Тем, кто уже использует обсуждаемый подход, для подтверждения своих мыслей
  • Тем, кто уже не использует обсуждаемый подход и имеет аргументы против

Большого количества кода не будет, статья по большей части дискуссионная. Энжой)


image
Толстые модели.
Читать дальше →
Total votes 41: ↑28 and ↓13+15
Comments21

Peewee – лёгкая, гибкая и очень быстрая ORM на Python

Reading time5 min
Views114K
image

Предлагаю всем джангистам/алхимистам немного отвечься и почитать вольную интерпретацию вводного туториала и частично документации по Peewee – stand-alone ORM, обязательной к ознакомлению любому питонщику и, в особенности, фласкеру. Пишут о ней мало, а зря. С Peewee очень просто подружиться, особенно если вы уже знакомы с какой-нибудь ORM на ActiveRecord. Что более важно – с ней приятно дружить :) Ну, начнём.


Установка
С pip:
pip install peewee


Из репозитория:
git clone https://github.com/coleifer/peewee.git cd peewee python setup.py install


Тесты:
python setup.py test


Есть обвязка для flask:
pip install flask-peewee



Определение моделей или «попахивает джангой»


Весь нижеследующий код можно повторить один к одному в интерактивном интерпретаторе или отдельном скрипте.

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()
    is_relative = BooleanField()

    class Meta:
        database = db  # модель будет использовать базу данных 'people.db'


Типов полей много, на все случаи жизни. Peewee берёт на себя преобразование питоновских объектов в значения, подходящие для базы данных, и наоборот.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments46

Интерпретатор Python: о чём думает змея? (часть I-III)

Reading time6 min
Views52K
image

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


Данная серия статей рассчитана на тех, кто умеет писать на python в целом, но плохо представляет как этот язык устроен изнутри. Собственно, как и я три месяца назад.

Небольшой дисклеймер: свой рассказ я буду вести на примере интерпретатора python 2.7. Всё, о чем пойдёт речь далее, можно повторить и на python 3.x с поправкой на некоторые различия в синтаксисе и именование некоторых функций.

Итак, начнём.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments6

Qualcomm – «Гигагерцы-то нелишние»

Reading time1 min
Views1.5K
image

Qualcomm анонсировали новые двуядерные 45-нм Snapdragon QSD8672 на 1,5 ГГц с поддержкой воспроизведения видео на 1080p. Поставки начнутся в 4-м квартале сего года, устройства на новых чипах появятся, соответственно где-то к середине следующего.

Целевые девайсы для новых чипов (по прямой речи вице-президента компании) – смарфтоны, планшеты и недорогие ноутбуки. Для увеличения времени работы ядра могут работать независимо – к примеру, одно на полной скорости, другое в это время «отдыхает».

Как по мне, так вполне годный чип для 8-10” планшетов и нетбуков (с поправкой на энергопотребление), для смартфонов – сомнительно. Кому реально нужно воспроизведение видео 1080p на 3-х, 4-х дюймовом экране? Два ядра на 1,5-ГГц – не лучше ли оптимизировать софт под имеющиеся флагманские чипы (те же Snapdragon и Hummingbird).

Так и вижу новый HTC Superior с 5,3-дюймовым экраном и временем работы в 6 часов.

А вообще прогресс это здорово.

Источник
Total votes 34: ↑30 and ↓4+26
Comments85

Information

Rating
Does not participate
Location
Манила, Филиппины, Филиппины
Date of birth
Registered
Activity