
@CriOnsKry
01.10.2016
09:38:19

Pavel
01.10.2016
09:43:12

? Snyp
01.10.2016
10:21:11
Всем привет, кто как составляет план своего проекта?
Я например, обычно в виде блоков квадратов чтобы была логика и все остальное.
Решил вспомнить про алгоритмические структуры блок-схем и т.д. Стоит ли игра времени? Заучивать структуры и пользоваться ими?
Поделитесь опытом.

Psy
01.10.2016
10:26:10

Google

Psy
01.10.2016
10:29:28
Очень помогает составление тз по госту, там в процессе составления для себя додумываешь моменты, на которых тупил. Очень уж удобно и логично там все прописано

? Snyp
01.10.2016
10:30:16
В целом всяко будет полезно, спасибо)

@CriOnsKry
01.10.2016
10:34:40
Подскажите пожалуйста, есть где список "всевозможных" кнопок для README.md на GitHub.
Там копка статуса/версии/языка/итд.

Sergey
01.10.2016
10:41:23
В гугле :) markdown язык разметки

Dumitru
01.10.2016
10:42:41
Посмотри на Travis-CI
Там при билде дается код картинки

@CriOnsKry
01.10.2016
10:43:10

Dumitru
01.10.2016
10:43:44
И ничего не мешает тебе сделать свои
В markdown можно их вставлять

@CriOnsKry
01.10.2016
10:44:29
Может есть где уже статься со списком со всеми картинками.
Я велосипед люблю, но не строить.

Dumitru
01.10.2016
10:46:00
Тут просто завист что тебе нужно, еще можно по разным репозиториям лазить и смотреть что они ставят

Google

Dumitru
01.10.2016
10:46:15
Обычно пикчи кликабельны

Dauren
01.10.2016
10:47:54
UnicodeEncodeError at /answers/archive
'ascii' codec can't encode characters in position 10-18: ordinal not in range(128)
такая ошибка вылазивает
как исправить?

b0g3r
01.10.2016
10:48:41
Мало инфы)
Консольный скрипт?
Где трейсбек?

Eugene
01.10.2016
10:49:59
Русские символы где-то походу, мб питон2 юзаешь , добавь кодировку в начале

Dauren
01.10.2016
10:52:00
джанго
питон3
русские символы
да
выборка из базы
если рендерю в шаблон то все норм
если делаю print(list) в коде
такая ошибка

Eugene
01.10.2016
10:53:28
Max_length=255 мб, хз

Dauren
01.10.2016
10:53:48
def archive(request):
answers = Answer.objects.all()
print(answers)

b0g3r
01.10.2016
10:53:48
Где трейсбек?

Dmitriy
01.10.2016
10:54:09
Только вчера такое было, на Python2.7, отделался unicode()

Google


Dauren
01.10.2016
10:54:38
Environment:
Request Method: GET
Request URL: http://sunna.press/answers/archive
Django Version: 1.9.8
Python Version: 3.4.3
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'news',
'answers',
'calen',
'hadis',
'handbook',
'namaztime',
'comments',
'tinymce',
'import_export',
'rest_framework']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/home/admin/sunnapress/env/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
149. response = self.process_exception_by_middleware(e, request)
File "/home/admin/sunnapress/env/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/admin/sunnapress/answers/views.py" in archive
122. print(answers)
Exception Type: UnicodeEncodeError at /answers/archive
Exception Value: 'ascii' codec can't encode characters in position 10-18: ordinal not in range(128)


b0g3r
01.10.2016
10:54:46
В начало файла:
# -*- coding: utf-8 -*-

Eugene
01.10.2016
10:54:52
For answer in answers:
Print answer

b0g3r
01.10.2016
10:55:14

Eugene
01.10.2016
10:55:58
3-ий питон, не обязательно указывать кодировку

Dauren
01.10.2016
10:56:01
не помогло

b0g3r
01.10.2016
10:56:38
А вот это уже звучит интересно

Dmitriy
01.10.2016
10:57:04
Попробуй print(unicode(answers))

b0g3r
01.10.2016
10:58:24
Звучит как будто в базе хранится не в юникоде

Eugene
01.10.2016
10:58:29
answers.decode("utf-8")
Как-то так

Eugene
01.10.2016
10:58:49
Или encode
Ну или базу для теста пересоздай

Aragaer
01.10.2016
10:59:01
э, а чочо емакс?
вот это вот -*- это емакс модлайн же
а вы эта, print(type(answer))

Eugene
01.10.2016
10:59:53
В 3-питоне кодировку в начале не обязательно указывать, он там по дефолту понимает

Dmitriy
01.10.2016
10:59:55
Я пишу обычно # coding: utf-8

b0g3r
01.10.2016
11:00:15
Я еще это, может файл сам не в ютф?

Google

Dmitriy
01.10.2016
11:00:30
Хз в чем разница на самом деле

Artem
01.10.2016
11:07:28

Amaro
01.10.2016
11:17:51
Во втором питоне stdout можно было ресетнуть с нужной кодировкой, а вот в третьем все грустнеее - надо переменную окружения ставить.
PYTHONENCODING=UTF-8
А во втором спасало такое:
sys.setdefaultencoding('utf-8')

Dmitriy
01.10.2016
11:21:11

Aragaer
01.10.2016
11:23:34
ну конкретные бэйджики можно на самом деле получить на страницах этих проектов. Типа идешь на травис, добавляешь там проект. Потом, если хочешь, еще и бэйджик прилепляешь

Admin
ERROR: S client not available

Aragaer
01.10.2016
11:23:50
первично тестирование на трависе, а бэйджик это так, для выпендрежу

Sergei
01.10.2016
11:55:00
Celery боль
Кто использует acyncio?
asyncio

Alex
01.10.2016
12:14:36
Celery боль
Только сейчас отправился в чудный мир бд и бигдат, посоны, поясните, почему не использовать редис как основное хранилище вместо каких-нибудь целери и mongodb?

Oleg
01.10.2016
12:15:49
Потому что оно в оперативной памяти дату хранит
Данные

tosh
01.10.2016
12:16:28
> целери
селери вообще не про хранение данных

Alex
01.10.2016
12:16:55
Ну это я уже понял, еще старые данные в обычной базе хранит.
Так почему бы и нет? На амазоне же копейки стоит всё это.

tosh
01.10.2016
12:17:17

Alex
01.10.2016
12:17:58

tosh
01.10.2016
12:19:01
Если ты откроешь доку по редису, то увидишь, что это key-value хранилище. В питоньем представлении сродни диктам.
Что слишком примитивно для хранения сложных "объектов" типа юзера с его связями
Канеш, у редиса есть дополнительные типы данных типа хешей и сетов, но всё равно этого мало

Google

Alex
01.10.2016
12:22:08

Aragaer
01.10.2016
12:23:06
грубо говоря, ты можешь хранить в редисе одного юзера. А если хочешь двух, уже надо думать

tosh
01.10.2016
12:23:08
С монгой уже посложнее, т.к. там вложенность неограниченная (практически) и можно навелосипедить всякого. Но зачем велосипедить?

Aragaer
01.10.2016
12:23:20
и будут ключи вида user1_name, user2_name

Alex
01.10.2016
12:24:51

tosh
01.10.2016
12:25:06
К тому же, даже если начать изобретать подобный ад, то быстро упрешься в банальные фичи, которые умеют реляционки, но не умеет такое решение.
Например, в реляционке ты волен при объявлении FK указывать базе, что ей делать при апдейте/удалении родителя.
Вообще, с носкл решениями надо заходить с другой стороны.
Ты спросил "Почему бы не использовать", а надо спрашивать "а нужно ли оно мне здесь"

Alex
01.10.2016
12:27:57
В теории нужно. В секунду от одного пользователя выходит около 4х обращений к базе.

tosh
01.10.2016
12:28:17
Потому что реляционки древние, отлаженные и опробованные годами и тысячами людей решения, которые работают (даже mysql лучше монги в общем случае)
И что?
Ты думаешь, что 4 запроса к носкл быстрее чем к скл?

Aragaer
01.10.2016
12:29:13
ну я когда пишу и возникает вопрос "этот дикт мне надо как-то сохранять, а потом как-то найти", то я думаю "ну я могу сейчас по-быстрому прикрутить монгу, и заниматься дальше бизнес логикой", а в будущем запланировать изолировать персистенс слой и уже там переписать на что угодно другое

Alex
01.10.2016
12:30:22

Aragaer
01.10.2016
12:30:45
ты сначала допиши, а потом будешь уменьшать

tosh
01.10.2016
12:31:25
В любом случае, хранилище - это всегда (с оговорками, но тут это не важно) ботлнек. Поэтому уменьшать кол-во запросов и оптимизировать их перфоманс придётся вне зависимости от выбранной технологии
Другое дело, что, кстати, реляционки, тебе дают больше возможностей для этого: у них и жоины для сложных запросов, и умные оптимизаторы под коробкой, и куча встроенных функций

Aragaer
01.10.2016
12:32:20
ужастик с работы - "иногда у нас не хватает оперативки, но там на каждый семафор выделяется сколько-то, поэтому мы просто увеличиваем константу ЧИСЛО_СЕМАФОРОВ" - "Нахрена?" - "Ну больше никак"

tosh
01.10.2016
12:32:59
кулстори