
Roman
17.08.2016
13:09:25
Хакер
Хакер в треде
все в бункер

terry
17.08.2016
13:10:02
https://vk.com/pirsipy?w=wall-69108280_5908

Google

Zart
17.08.2016
13:10:40
что заебали уже джангой

Марк
17.08.2016
13:11:39
Ты просто ее ниасилил, вот и бесишься 8)

Zart
17.08.2016
13:12:08
с копипастой не разговариваю!11одиннадцать1

Pavel
17.08.2016
13:12:09

Zart
17.08.2016
13:13:28
фласк обгоняет

Марк
17.08.2016
13:13:48
Если учитывать говноподелки для локалхоста, то уж точно

⬗VLAD⌶K⬖
17.08.2016
13:14:14
жанга название избыточно вызывающее

terry
17.08.2016
13:14:52

Sergey
17.08.2016
13:15:56
На жанге проще говноподелку сделать, там даже думать не надо
Хотя я бы не стал считать фласк популярнее жанги из-за того, что у него звёздочек на гитхабе больше

Stanislav
17.08.2016
13:20:29
+
Разные по использованию фреймворки

Zart
17.08.2016
13:21:49
да не сказать

Google

Zart
17.08.2016
13:22:04
бложики и гомозинчики клепают на всём подряд

Stanislav
17.08.2016
13:22:31
На джумле особенно

Марк
17.08.2016
13:23:30
фуфуфу
изыди

Pavel
17.08.2016
13:24:14

Zart
17.08.2016
13:25:11
статистика пипи бесполезна примерно полностью
хотя может использоваться для анализа сравнительной популярности
https://code.djangoproject.com/ticket/373
чота я от таймлайна просто хуею
https://code.djangoproject.com/ticket/4136 опенед/клозед тоже клёвые
мда... этим говном (жангоормом) вообще можно пользоваться в реальном мире, а не только в розовом вебе?

Pavel
17.08.2016
13:40:22

Zart
17.08.2016
13:41:02
ну... я почему-то думал что они композитные ключи таки запилили гдето в 1.3
оказывается нет

Cykooz
17.08.2016
13:42:18

Zart
17.08.2016
13:43:19
а вот в СА не ломаеццо 8(

Cykooz
17.08.2016
13:43:24
Сейчас оно всё работает опираясь на незыблимость правила - на любой объект можно сослаться зная его ContentType и primary_key

Zart
17.08.2016
13:43:56
бгы
страна розовых пони

Cykooz
17.08.2016
13:44:25
Т.е. в табличку которая ссылается на разные другие таблички, достаточно добавить два поля - content_type и что то типа object_id
А если этот object_id вдруг превращается в multicolumn primary key то вся эта красота летит к чертям

Google

[Anonymous]
17.08.2016
13:46:56
В итоге все пилят на django, flask, tornado
?

Zart
17.08.2016
13:47:09
кому нужен тот торнадо...

[Anonymous]
17.08.2016
13:47:39
Тем более)

Марк
17.08.2016
13:47:52
А твистед?

[Anonymous]
17.08.2016
13:48:28
На hh мало, кто требует этого)

twwlf
17.08.2016
13:49:21
споткнулся об запятую и умер

Zart
17.08.2016
13:50:01
на твистеде веб пилят лишь особо упоротые обычно

Pavel
17.08.2016
13:50:12

Zart
17.08.2016
13:50:13
либо когда нужны шлюзы

Марк
17.08.2016
13:50:44

[Anonymous]
17.08.2016
13:51:14
Ми

Zart
17.08.2016
13:51:14
изначально речь шла про веб фреймворки
твистед к ним не относится

Марк
17.08.2016
13:51:36
аааа. Сорри, амфетамины не подвезли

Zart
17.08.2016
13:52:16
если хотите про твистед для веба, то твистед.веб2 вроде загнулся уже
https://github.com/twisted/nevow есть еще такое
торнаду сравнивать также бессмысленно

Марк
17.08.2016
14:15:33
Зарт, помнишь ты сказал, что w флаг ничем не отличается от а флага?
тем, что a дописывает в конец, а w сначала полностью стирает файл

Google

Марк
17.08.2016
14:15:50
в терминах POSIX - w это O_TRUNK, а a это lseek(0, SEEK_END)

Sergey
17.08.2016
14:26:19

Марк
17.08.2016
14:26:54
Прости, но я все 100500 сообщений не читаю. А тему поднимал я

Sergey
17.08.2016
14:27:40
?

Марк
17.08.2016
14:28:07
Это не то

Sergey
17.08.2016
14:28:19
Вообще-то именно то

Stanislav
17.08.2016
14:28:22
Это объяснение а флага

Admin
ERROR: S client not available

Марк
17.08.2016
14:28:58
а флаг как раз понятен.

Sergey
17.08.2016
14:29:42
С остальными все ещё проще

Stanislav
17.08.2016
14:29:58
w флаг как раз понятен
Он объяснил самый сложный - а
Выбор был между w и а, угадай какой нужно объяснить, если и так ясно что w перезаписывает полностью?

53r63rn4r
17.08.2016
14:30:50
а дозапись же

Марк
17.08.2016
14:30:53
Неясно, если ты вообще помнишь тот разговор

dmks
17.08.2016
14:31:21
Чукча не читатель,чукча - писатель

Sergey
17.08.2016
14:31:21
Я помню то разговор)

Марк
17.08.2016
14:32:24
Надо буде на работе протестить разницу по нагрузке io. Имхо, с w - это баг, логи писать
Точнее, даже не баг, а не самый лучший вариант. Но нужна проверка

Zart
17.08.2016
14:42:35

Марк
17.08.2016
14:42:47
Говорил

Google

Zart
17.08.2016
14:43:24
не надо мне тут 8\
какая нахер разница в нагрузке ио если оба в и а включают запись

Марк
17.08.2016
14:45:53
Стопе.
Допустим, у меня есть файлов в десять гигов
То ли я дописываю, то ли перезаписываю

Zart
17.08.2016
14:46:36
шустро ты перешел от ведения лога к произвольному файлу в 10 гигов

Марк
17.08.2016
14:48:51
Ну, дык, вконтексте refs астериска жеж

Zart
17.08.2016
14:49:17
ну
что ты хочешь сказать вообще?

Марк
17.08.2016
14:49:40
*мое лицо*


Zart
17.08.2016
14:50:40
смотри. процесс открывает файл на запись/дозапись
ядро создает инфу о том какой файл держит процесс, в частности позиция внутре файла. она привязана к дескриптору
поэтому если ты например хочешь писать сразу в несколько областей файла тебе надо будет либо открыть его несколько раз, либо вызывать dup*
либо постоянно скакать туда-сюда через lseek
программа которая просто тупо пишет в файл - ебашит write вызовы. ядро получает блок данных, берет позицию от дескриптора и заносит эти данные на диск по этому смещению и плюсует дописанный блок к позиции
но если же файл был открыт как a, то перед каждой записью ядро копирует размер файла из меты в позицию
таким образом если несколько процессов пишут в один файл - то блоки всегда дописываются в самый хвост друг за другом
а не наступают на пятки
теперь у нас сбоку другой процесс делает обрезание этому еврейскому файлу, жадному до места
ось через дрова фс коцает файлик, освобождая место и вносит в мету размер 0
теперь наш обрезанный еврейский процесс ебашит свежий write
если файл был с a - то позиция обновляется на 0 и лог начинает расти с нуля
если файл был с w - то позиция у дескриптора осталась прежней. по сути произошло lseek(oldposition), write
в позикс такая операция создает sparse файл в обычном случае
Эта группа больше не существует