
Pavel
14.11.2016
18:11:16
ПОсле первых пары проектов - да, а вот прям вообще с нуля - очень спорно.

Igor
14.11.2016
18:11:20
че-т я не подумал
но в любом случае, да, туториалов по написанию сайта с нуля там точно нет

Марк
14.11.2016
18:13:33
Во фласке есть)

Google

Alexander
14.11.2016
18:31:05
кто-то шарит , можно в django сделать прямой запрос select , без query api ?

arisu
14.11.2016
18:31:20
да

Igor
14.11.2016
18:31:34
https://docs.djangoproject.com/en/1.10/topics/db/sql/

Alexander
14.11.2016
18:32:11
о
спс

Viktor
14.11.2016
18:32:33
Напомните пожалуйста ссылку на гитхаб вроде, там были рекомендуемые материалы для начинающих.

Denis
14.11.2016
18:33:18
В закрепе есть какие-то материалы

Viktor
14.11.2016
18:34:06
О, точно.
Спасибо.

F
14.11.2016
19:25:56
как лучше в джанге делать ленту новостей? привязываться к post_save по моделям или примесь какую запилить в нужные модели, чтоб отслеживать обновления? или вручную?

Denis
14.11.2016
19:33:10
Что вам нужно отслеживать?

F
14.11.2016
19:35:08
ну вот есть некоторое множество моделей, на основе их изменений/добавлений надо отдавать ленту новостей, по типу как в вк
тк админка стандартная, то мне вручную некуда воткнуться, вот и думаю на уровне БД или типа того делать

Google

Denis
14.11.2016
19:43:59
а просто запрос по updated_time или created_time не катит? Ты по таймауту хочешь или на вебсокетах?

F
14.11.2016
19:49:43
не понял как таймаут в таком контексте понимать, но хочу на гетах тупо
про таймстампы осложняется тем, что апдейт затрагивает всю модель, а мне как-то конкретное свойство надо отслеживать, например

Denis
14.11.2016
19:59:58

F
14.11.2016
20:03:51
нене, я думаю подвязаться на post_save сигнал в БД
и что-то делать когда сохраняется конкретная модель

Vadim
14.11.2016
20:05:40

Denis
14.11.2016
20:10:12
Я реально не пойму что тебе нужно... есть модель... у неё updated_at = models.DateTimeField(auto_now=True)... Это позволяет каждый раз апдейтить это поле в now() при изменении модели... При рендере шаблона запоминаешь now() И затем YourModel.objects.filter(updated_at__gte=last_now)
Может я чего то не понимаю? Попробуй конкретно описать задачу без абстракций

Vadim
14.11.2016
20:17:20
Не описывай! Они украдут твою уникальную идею! ?

Max
14.11.2016
20:38:09
чат, вот я решаю задачки. В части случаев если не вижу решения мин 15-20 - гуглю, осмысляю и по сути чуть ли не копирую куски кода в свое решение. Это вообще ок?
или надо до упора сидеть пока не додумаешься

F
14.11.2016
20:38:22

Max
14.11.2016
20:38:30
я сейчас именно про образовательные цели

Denis
14.11.2016
20:38:32
Смотря какого уровня задачи

Max
14.11.2016
20:38:37
простые

Denis
14.11.2016
20:38:41
Простые норм

Max
14.11.2016
20:38:43
типа поколдовать над массивом

F
14.11.2016
20:38:58

V
14.11.2016
21:05:22
а вот у меня какой-то странный вопрос. все началось с того, что у меня есть скрипт, в котором запускаются несколько потоков и делают свою работу в течение длительного времени. причем потоки мои - это самопальные классы, наследующие от Thread. и вот в какой-то момент времени потоки эти самопроизвольно помирают, без всяких признаков насилия. ни исключений, ни сообщений, просто тихая мирная смерть. может быть через час, может быть через сутки. единственная функция выполняемая в потоке завернута в try/except, но ничего не вываливается.

Google

V
14.11.2016
21:05:46
а вопрос вот в чем: что это может такое быть и как дебажить?

Denis
14.11.2016
21:06:03
kill -9 снаружи?

V
14.11.2016
21:06:04
не может это например GC зачищать мои потоки? ну так, в порядке версии
нет
никаких килов

Denis
14.11.2016
21:06:23
gc не может удалять живые потоки

V
14.11.2016
21:07:12
во-первых опровержение про kill - потоков много и умирают совсем не одновременно. один из них трое суток проработал до смерти, а первый помер через час после старта

Denis
14.11.2016
21:07:37
функция заканчивается?

V
14.11.2016
21:09:24
она там постоянно заканчивается, но должна начинаться снова. вот код класса: http://pastebin.com/uTVZW7AP

Denis
14.11.2016
21:10:36
ok_to_run становится равно False?

V
14.11.2016
21:10:49
запускаю PollThread(self.get_events, self.events_interval, name='events_thread').start()

Denis
14.11.2016
21:12:29
а ты убери это, вдруг перестанет

V
14.11.2016
21:13:07
попробую, но ерунда конечно
меня все про gc мысль не отпускает
может такое быть, что в какой-то момент между запусками функции gc успевает подчистить этот поток?
или не реально?

Denis
14.11.2016
21:15:18
не может
сделай цикл while True и оберни весь run в один большой try

V
14.11.2016
21:15:56
ок, вот это попробую

Google

V
14.11.2016
21:17:25
а вот еще вопрос дурацкий (даже стесняюсь задавать): есть ли разница между
t = PollThread(...)
t.start()
и просто
PollThread(...).start()
?

Denis
14.11.2016
21:17:37
да вроде нет

V
14.11.2016
21:17:47
т.е. в одном случае я присваиваю объекту имя, а в другом - нет

Denis
14.11.2016
21:17:49
если t никуда не сохраняется

V
14.11.2016
21:19:07
нагуглил еще вот такое, по описанию ну очень похожая проблема: http://stackoverflow.com/questions/2788964/multithreaded-python-script-silently-dies-how-to-debug

Admin
ERROR: S client not available

Vadim
14.11.2016
21:20:17
Проблема может быть в выжирании памяти – ОСь грохает процесс. Лечится кроном или любым другим способом "поднять" процесс
Мы в своё время даже пытались играть с GC – не помогало.

Denis
14.11.2016
21:21:02
как пошло

Damir
14.11.2016
21:26:50
Ктонибудь работал с либой telepot?

V
14.11.2016
21:26:53

b0g3r
14.11.2016
21:44:08

Maksim
14.11.2016
22:39:47
Привет всем, возникла такая вот ошибка, с числами нормально все работает а вот если ввести имя и фамилию, то вот такая ошибка

Vadim
14.11.2016
22:40:57
Извращенец

Maksim
14.11.2016
22:41:38
Возможно
Но вот ошибочку бы как то исправить

Vadim
14.11.2016
22:41:46
А почему бы не использовать синтаксис, который предлагают в гайдах?

Denis
14.11.2016
22:41:50
""); DROP TABLE users; --

Vadim
14.11.2016
22:41:56
Вернее, в доке – https://docs.python.org/3.4/library/sqlite3.html

Maksim
14.11.2016
22:41:57
Это я так понимаю из-за типа данных

Google

Vadim
14.11.2016
22:42:13
А ты проверь.

Maksim
14.11.2016
22:45:04
С числами работает

Denis
14.11.2016
22:47:41
https://media.giphy.com/media/l3vR3Y29jBLC3k4IU/giphy.gif

Mayday
14.11.2016
22:50:12
Невзирая на тип данных, для передачи в скульзапрос различных value как раз предназначен второй аргумент метода execute
Там в гайде четко и ясно написано про опасность sql инъекции

Zart
14.11.2016
23:36:16
мгм
чтото у вас каша в голове про потоки, килл, гц и оом киллер

V
14.11.2016
23:39:32

Zart
14.11.2016
23:40:37
килл шлёт сигналы.
сигналы в позиксе шлются всему процессу, но при этом их ловит один из потоков в процессе, согласно маски сигналов
гц к потокам отношения как таковым не имеет

V
14.11.2016
23:42:50
ну про килл я сразу сказал, что никто его слать не может, про gc я реально мало понимаю. думал может он мой объект зачищает например в какой-то момент. но эта мысль из каши, да
я честно обещаю покурить эту тему попозже

Zart
14.11.2016
23:43:43
в целом кроме неправильного использования супер, в коде ничего особенного не вижу
ну и использование булевого аттрибута не очень фонтан, но пофиг

V
14.11.2016
23:44:55
а как правильно супер?

Zart
14.11.2016
23:45:16
это слишком долгая тема для трёх часов ночи
Эта группа больше не существует