All streams
Search
Write a publication
Pull to refresh
71
0
Murad Byashimov @magic4x

Пользователь

Send message
Делов на минуту:
— включаете блутус на андроиде, делаете его видимым
— открываете приложение transfer my data на wp («Передача данных»)
— находите свой андроид, подтверждаете связь
— wp скачает контакты и смс
Единственное, приложение помечено как для 8.1, у вас вопрос по восьмерке, нет проблем с апгрейдом?

UPD: Ай балда. Был невнимателен. Надо подумать.
Unfortunately, we’re not engineers, so how Glance actually works in detail and what it needs is beyond our pay grade.

Ну ясно, что ничего не ясно. Выключил свет, включил giance — подсветка по всему экрану.
«экранной памяти» (display memory), необходимой для хранения данных, выводимых на дисплей в то время, пока он не активен

Giance (часики, уведомления) выводятся на экран во время его блокировки, при этом сам экран работает? Я в курсе технологии AMOLED, когда есть возможность подсвечивать отдельно взятые пиксели, но про «экранную память» впервые слышу.
Вы ошибаетесь, у меня все переключается и стандартной проводной ганитурой

Первая мысль: «там всего одна кнопка, как?». Попробовал покликать. Значит: два клика — следующий трек, три — предыдущий, а, стало быть, азбукой Морзе можно добиться от телефона чего угодно?

Относительно синхронизации могу сказать что и у меня и моих знакомых/родственников все отлично.

Пробовали ликновать и мерджить аккаунты на live.com? Вообще, я не одинок.

На Убунте тоже работает

Ирония. Я гуглил как это сделать на убунте и нашел music drop. Оно поднимает отдает вам ссылку в локальной сети, вы ее забиваете в браузер и видите свою коллекцию. Простым drag'n'drop'ом в специальную область заливается сколько угодно файлов. Этот вариант меня настолько устроил, что я им и пользуюсь.

Еще я пытался заливать вшнуром фотки, но они не отображались в галереи, тогда я перенес их из моей папки в галерею через приложение Files (wp8.1) и вуаля )
Вроде, да.
Я просто пользовался WP 8 ровно до ближайшего wi-fi, минут 40 где-то.
8.1 очень неплох.
О! Забыл убойную фичу!
— можно запретить приложению работать в бекграунде! Это так круто, что круче некуда: запрещаете скайпу дышать, если он свернут и вот вам еще 146% времени аккумулятора.
размеры вполне комфортные

Можно поинтересоваться вашими габаритами? Я, при росте 177, за неделю еще не привык и есть ощущение, что не привыкну. Зато 5" смартфон теперь как игрушка, прям засада.
Ну вот вам пачка:
— большая часть магазинных приложений работает в режиме масштабирования — видно ровно столько, сколько на 4-х дюймах, т.е. толку от 6" немного.
— очень неудобно набирать сообщения — они пишутся в балуне, текст больше 3 строчек приходится скроллить в этом окошке
— синхронизация контактов у многих (и у меня) работает в одну сторону, т.е. изменения на live.com не прилетают на телефон
— гарнитура не позволяет переключать музыку, это можно сделать только из плеера или панели громкости

А вот вам положительные:
— очень удобные контакты, система сама помогает объединять разные аккаунты одного человека в его карточке и выбрать из какого брать фотку. На people.live.com это можно сделать вообще одной кнопкой: Clean up! Жаль, что изменения не попадают на телефон. Я знаю, что гугл-контакты тоже могут такое, но это земля и небо.
— объединив людей в группу, вы можете читать всех их посты из соц сетей в одном стриме — это очень удобно, если большая часть фида вам не интересна, но вы не хотите пропустить что-то важное.
— комнаты — я не успел еще заценить (у меня в семье у единственного wp), но чувствую это очень крутая вещь: что-то вроде выделенной «комнаты» для чата, общих заметок и фотографий.
— при выключении вай-фая можно задать его автоматическое включение: через час, 4 и т.д. Вышел из дому, выключил, пришел на работу — сам включился.
— я боялся понадобится ставить какой-нибудь Nokia Suits, которому и 4-х гигов озу мало, но софт мне вообще не понадобился: music drop (ищите на маркете) — скидываете в браузер песни и они оказываются на телефоне.
— onedrive — бекапы фоток и видео из коробки — никаких тебе уведомлений вплоть до писем в почте с предложением их расшарить, работает молча, может бекапить оригинальные размеры фоток.
— нет оригинального клиента для youtube, зато те, что есть не показывают рекламу :)
— 1200 рублей на софт дается в маркете для владельцев люмии 1520
— посадить аккум мне не удалось даже в первый день пользования, когда я его из рук не выпускал
Практически у всех фаблетов чумовая автономность. Я вот тоже повелся, и до сих пор не могу привыкнуть к размеру и весу, ощущение кирпича в руке просто не покидает. Но да, мне даже в первый день пользования не удалось его посадить.
Я и сейчас так делаю. Это от проекта зависит: если кусочек не маленький и это противоречит DRY (в разумных рамках: большой шаблон, много условий и т.д.)
Вот как это легко решается:

{% for item in items %}
    {% cache 1800 list_item item.id item.modified %}
        {% include 'item_description.html' %}
    {% endcache %}
{% endfor %}

Если item изменится, он тут же обновит кеш, а старый сам протухнет со временем.

{% include 'google_analytics.html' %}

Да прибудет с вами django-chunks!
Чаще всего я его использую в связке с mptt, т.к. предпочитаю хранить урлы категорий в базе:

class TreeModel(MPTTModel, DirtyFieldsMixin):
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
    title = models.CharField(max_length=100)
    slug = models.SlugField(max_length=70, db_index=True, unique=True)
    path = models.CharField(max_length=255, editable=False, unique=True, db_index=True)

Ключевое тут поле path — оно хранит адрес предков: /parent/parent/child/, и при сохранении предка надо это поле обновить у всех детей вниз по иерархии. А чтобы не дергать базу просто так, при сохранении модели я проверяю, изменилось ли поле slug и если да, обновляю его у всех детей.

def save(self, *args, **kwargs):
    self.path = self.slug
    if self.parent:
        self.path = '{}/{}'.format(self.parent.path, self.slug)
    # Надо сохранить модель прежде, чем браться за детей, чтобы записать path,
    # но после вызова super.save память о старых полях потрется,
    # поэтому надо запомнить состояние
    is_dirty = 'path' in self.get_dirty_fields()
    super(TreeModel, self).save(*args, **kwargs)
    # Если изменение поля было, пускаем рекурсию — каждый child запустит свою проверку
    if is_dirty:
        for child in self.get_children():
            child.save()
{% include 'slave.html' %}
{% include 'slave.html' with var=var %}

И никакие они не медленные. При частом обращении ФС поместит файл в память и будет все нормально. Вдвойне неактуально во времена ssd vps. У меня основной шаблон так весь в инклудах, потому как редактировать простыни, где нужный код находится в 40-х отступах от левого края совсем неудобно. И в cvs красота — видно, что правили footer.html, а не ничего говорящее base.html.

pre_save

Есть еще Django Dirty Fields — неизменная специя к большинству моих моделей (автор идеи сам Armin!). Умеет так:

class TestModel(DirtyFieldsMixin, models.Model):
    boolean = models.BooleanField(default=True)

>>> tm = TestModel(boolean=True,characters="testing")
>>> tm.save()
>>> tm.boolean = False
>>> tm.is_dirty()
True
>>> tm.get_dirty_fields()
{'boolean': True}
Моя ленивый, моя лень забивать objects, да еще добавлять filter().live():

class Boobs(models.Model):
    …
    @classproperty
    def medium(cls):
        return cls._default_manager.filter(…)

Boobs.medium.latest()
Появилась возможность вызовов QuerySet-ов напрямую из менеджера:

Давно пора. Клепать по менеджеру на каждый чих совсем не дело, особенно, когда это просится сделать через classmethod. Пытался пользоваться 1.7 — не договорился с миграцией, репорты висят, еще не фиксили на тот момент. И новый префетч клевый, да.
На счет последний двух и в самом деле не уверен. Будет ли сначала найден айди, а затем искаться после div[id*=t]:target, буду рад, если кто объяснит мне это.
upd: второй селектор div[id*=tab]:target — без айди.
Вай мне!
Я это написал как раз для тех, кто этого не знает и уже пошел копипастить «клевую фишку».
Да и как вы это оптимизируете? Обращение по атрибутам да еще и по маске — крайняя степень скорости работы стилей.
Там айдишники, следовательно, либо на всех страницах соблюдать один нейм-спейс, либо дублировать правила для других айди (указать имена через запятую), либо пользоваться маской, потому что несколько табов на странице станут адом.
Сам принцип не нов и был на хабре.
div:target {
  display: block;
}
div[id*=tab]:target {
  display: block;
}
div[id*=tab]:target ~ #three {
  display: block;
}
div[id*=t]:target ~ #one {
  display: none;
}

Слоу-мо-css?
Оно не столько для маленьких страниц, сколько для маленьких проектов. Браузеры читают стили справа-налево, поэтому, если такое попадает в общий файл…брр.
Евгений, прежде всего спасибо за софтину, дальше, если позволите небольшой фидбек о питоновской версии:
1. Очень медленно: 0:00:00.390000 для хтмл текста в 8000 знаков (core2uo, 4gb ram), скрипт работал в составе проекта со следующей конфой:
EMT.setup({
    'OptAlign.all': 'off',
    'OptAlign.oa_oquote': 'off',
    'OptAlign.oa_obracket_coma': 'off',
    'OptAlign.layout': 'off',
    'Text.paragraphs': 'off',
    'Text.auto_links': 'off',
    'Text.email': 'off',
    'Text.breakline': 'off',
    'Text.no_repeat_words': 'off',
})

2. все-таки мешать разметку с типографикой не очень удачная идея. Без вышеперечисленных настроек типограф лепит br:
<h2>title</h2>
<br>
<p>paragraph</p>

3. Питоновский код никуда не годится:
text = re.sub('(\</?)(.+?)(\>)', lambda m: m.group(1)+(u"%%___" if m.group(2).strip()[0:1] == u'a' else u"") + EMT_Lib.encrypt_tag(m.group(2).strip()) + m.group(3), text, 0, re.S |re.U)   

И что самое обидное, если попытаться его переписать совсем не понятно с чего начинать, хотя бы потому что global и globals() используются на всю катушку :-(
Это очень интересный вопрос.
Удаление повторяющихся слов (по умолчанию выключено).
Обрамление в <p></p> каждого абзаца.
Проставлять <br /> для новой строки.
Выделение ссылок из текста.
Выделение эл. почты из текста.

Типограф все-таки что-то размечает и в связке с маркдауном уже не работает, в силу того, что ставит эти <br>.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity