@python_beginnersЭта группа больше не существует

Страница 321 из 1885
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
жанга название избыточно вызывающее

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
фуфуфу

изыди

Zart
17.08.2016
13:25:11
статистика пипи бесполезна примерно полностью

хотя может использоваться для анализа сравнительной популярности

https://code.djangoproject.com/ticket/373 чота я от таймлайна просто хуею

https://code.djangoproject.com/ticket/4136 опенед/клозед тоже клёвые

мда... этим говном (жангоормом) вообще можно пользоваться в реальном мире, а не только в розовом вебе?

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

оказывается нет

Cykooz
17.08.2016
13:42:18
https://code.djangoproject.com/ticket/373 чота я от таймлайна просто хуею
Ооо, это вообще знатный запросик. Но думаю они его не осилят, т.к. иначе у них поломается вот та самая фигня про полиморфные связи.

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
А если этот object_id вдруг превращается в multicolumn primary key то вся эта красота летит к чертям
Ты ещё добавь, что object -id это поле, которое принудительно создаётся ормом и хейтеров вообще порвёт

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

[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 - это баг, логи писать

Точнее, даже не баг, а не самый лучший вариант. Но нужна проверка

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

Google
Zart
17.08.2016
14:43:24
не надо мне тут 8\

какая нахер разница в нагрузке ио если оба в и а включают запись

в терминах POSIX - w это O_TRUNK, а a это lseek(0, SEEK_END)
в терминах позикс w - O_TRUNC, a - O_APPEND, w+ - O_CREAT, r+ - 0

Марк
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
ну

что ты хочешь сказать вообще?

Zart
17.08.2016
14:50:40
смотри. процесс открывает файл на запись/дозапись ядро создает инфу о том какой файл держит процесс, в частности позиция внутре файла. она привязана к дескриптору

поэтому если ты например хочешь писать сразу в несколько областей файла тебе надо будет либо открыть его несколько раз, либо вызывать dup*

либо постоянно скакать туда-сюда через lseek

программа которая просто тупо пишет в файл - ебашит write вызовы. ядро получает блок данных, берет позицию от дескриптора и заносит эти данные на диск по этому смещению и плюсует дописанный блок к позиции

но если же файл был открыт как a, то перед каждой записью ядро копирует размер файла из меты в позицию таким образом если несколько процессов пишут в один файл - то блоки всегда дописываются в самый хвост друг за другом а не наступают на пятки

теперь у нас сбоку другой процесс делает обрезание этому еврейскому файлу, жадному до места

ось через дрова фс коцает файлик, освобождая место и вносит в мету размер 0

теперь наш обрезанный еврейский процесс ебашит свежий write если файл был с a - то позиция обновляется на 0 и лог начинает расти с нуля если файл был с w - то позиция у дескриптора осталась прежней. по сути произошло lseek(oldposition), write в позикс такая операция создает sparse файл в обычном случае

Страница 321 из 1885

Эта группа больше не существует Эта группа больше не существует