М.Двач / Программирование

Двач.hk не отвечает.
Вы видите копию треда, сохраненную 5 апреля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

183 Кб, 2000x2000

Python Python 06 Мар, 02:20 #677889 В конец треда | Веб

Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Прошлый: >>671902 (OP)

2.х или 3.х: 3

Ответы>>683880

140 Кб, 1920x1080

06 Мар, 02:25 #2 #677892

2.x или 3.x: ruby

Ответы>>677894>>679151

06 Мар, 02:28 #3 #677893

heroku или openshift

06 Мар, 02:29 #4 #677894

>>677892
Рабидаун, спешите видеть. Как там мамкины борщи?

Ответы>>677903

06 Мар, 03:20 #5 #677903

>>677894
Красные и несъедобные. Как раби.

06 Мар, 04:50 #6 #677920

https://github.com/andrewgodwin/channels/

Анонасы, после введения channels в джангу сможем ли мы использовать ее для полноценного риалтайма?

Ответы>>677939>>678036

06 Мар, 07:55 #7 #677939

>>677920
Какие выгоды перед например раздельным использованием aiohttp?

06 Мар, 12:40 #8 #678036

>>677920
Хм я что-то такое видел тыщу лет назад для джанги.
Выглядит как костыль. Но посмотрим.

06 Мар, 18:08 #9 #678402

Как проверить был ли запущен цикл? Я сначала понадеялся на
for x in l:
..pass
else:
..print('empty')

Но else в for совсем другое делает, наоборот выполняясь только когда цикл завершился без break.

Ответы>>678416

06 Мар, 18:20 #10 #678416

>>678402
for x in l:
....print('Внимание! Цикл в работе!')
А если серьезно, то непонятно чего ты хочешь.

Ответы>>678426

06 Мар, 18:25 #11 #678426

>>678416
Мне нужно совершить действие если цикл не прошелся по списку ни разу. Можно конечно сделать (в случае с пустым списком)
if l:
..for x in l
else:
..print('empty')
Но нет ли чего более питоничного?

Ответы>>678454>>678460

06 Мар, 18:58 #12 #678454

>>678426
и так питонично у тебя
>Explicit is better than implicit.
не забывай

Ответы>>678456

06 Мар, 19:00 #13 #678456

>>678454
Не хочу лишнюю строчку с ифом.

Ответы>>678475

06 Мар, 19:02 #14 #678460

>>678426
Прочитай уже документацию по foreach дибилушка

Ответы>>678468

06 Мар, 19:07 #15 #678468

>>678460
Нахуй путешествуй.

06 Мар, 19:13 #16 #678475

>>678456
То есть лишняя строчка с else тебе не беспокоит, а if not i: print(empty) неприятна. Не понимаю я этой неприязни к if.

Ответы>>678477

06 Мар, 19:16 #17 #678477

>>678475
Если бы for else выполнялся при неудачном for, а не наоборот, то было бы всего 2 дополнительных строки - сам else и действие. А так еще if добавляется. Целых три.

Ответы>>678480

06 Мар, 19:19 #18 #678480

>>678477
if l: print('empty')
for x in l:
....pass

И зачем тут else?

Ответы>>678483>>678505>>679107

06 Мар, 19:20 #19 #678483

>>678480
>if not l
Вот так, вернее.

06 Мар, 19:28 #20 #678505

>>678480
А, ну да. Ты прав.

06 Мар, 20:39 #21 #678628

Чем вы пишете GUI?

Ответы>>678675

34 Кб, 1009x856

06 Мар, 20:43 #22 #678636

Ебать вы тут треды быстро перекатываете.
Ребята, правильно делаю, что ебашу конспект с кодакадеми ?
Решил начать учить с кодакадеми, а то я не понял первую же задачку из книги укус питона

Ответы>>679193>>679278

890 Кб, 3111x2489

06 Мар, 20:45 #23 #678640

Почему модуль re в питоне ведет себя так странно?

Дело такое: есть файлики с кучами многострочных сообщений выдранных из ватсапа:
06.03.2016, 18:25 - ХУЙ1-: IMG-20160306-WA0252.jpg (файл в приложении)
Скв 777. 18.05
06.03.2016, 18:25 - ХУЙ1-: IMG-20160306-WA0251.jpg (файл в приложении)
Скв 777 18.10
06.03.2016, 18:54 - ХУЙ1-: IMG-20160306-WA0311.jpg (файл в приложении)
Нет дороги на Скв 666 и 555. 18.50

Выдираю имя файла и текст вот такой регуляркой:
re.match(r'[0-9]{2}\.[0-9]{2}\.[0-9]{4}, [0-9]{2}:[0-9]{2} - .: IMG-([0-9]{8}-WA[0-9]{4})\.jpg \(.?\)\n(.*)?', text, flags=re.S).groups()

Какого-то хуя питон 2.7 возвращает только последнюю строку. Если проверяю регулярку в sublime text, то там выделяются все строчки с файлами.
Таки где я наебался?

Ответы>>679102>>679160

06 Мар, 20:53 #24 #678653

Реквестирую интерактивный отладчик с гуём.

Ответы>>678711

06 Мар, 21:08 #25 #678675

>>678628
pygi

Ответы>>678730

55 Кб, 797x581

06 Мар, 21:29 #26 #678711

>>678653
pyscripter

Ответы>>678713>>678717

06 Мар, 21:30 #27 #678713

>>678711
+совмещенный с блокнотом, да

06 Мар, 21:32 #28 #678717

>>678711
Пользовался им когда только начинал в питоне, лет 6 назад. Постоянно сталкивался с какими-то проблемами в кодировке, в итоге перешёл на Geany. Да и плюс ко всему он только для винды.

06 Мар, 21:48 #29 #678730

>>678675
А почему не PyQt?

Ответы>>678750

06 Мар, 22:06 #30 #678750

>>678730
Потому что я только под прыщи гуй пишу и использовать монструозный и уродливый куте смысла не вижу, но если речь о кросплатформе то кроме pyqt вариантов нету.

06 Мар, 22:41 #31 #678786

Сейчас пилю на PyQt. Все достаточно мило выглядит. И несложно делать.

Ответы>>678801

06 Мар, 22:51 #32 #678801

>>678786
Кути - убогое, раздутое наследие крестов, пользователи которых без кутей как без костылей. Там и qstring и qbytearray и qint и qlist и qwebkit и qopengl и qnetwork и qsql и qsky и qallah. Собственно от байтослесарей форс этих костылей и идет. В нормальном языке кути не дают абсолютно ничего кроме раздувания проекта до уровня жабы. И что самое забавное - это пустая вонь и хайп, примерно как от руби. Большинство софта все равно пишут на gtk.

Ответы>>678850>>678902>>679266

06 Мар, 23:44 #33 #678850

>>678801
Интересно.

07 Мар, 00:31 #34 #678902

>>678801
Может ты и прав. А на чем писать gtk?

59 Кб, 597x595

Объясняйтесь давайте 07 Мар, 02:50 #35 #679022

Вот я и нашел вас, суки! Хули вы мне пиздели, что ваш Питон годен для всего? Ну вот изучил я его базовый синтаксис, чтобы накидать себе небольшой скриптик. И что же я вижу? А то, что эта хуета обрабатывает мне 30 Мб файл аж 8 минут! 8 минут, Карл! Я сперва подумал, что зря я вызываю file.write() пару миллионов раз хотя там все-равно буферизация должна быть и закомментил все IO вызовы. Однако затраты времени уменьшились лишь до 2-х минут.

Запостил вот главный цикл, чтобы вы взглянули, ибо допускаю, что сам дурак:
- код с четением/записью в файл - http://pastebin.com/7JpCGRGr (8 минут, входной файл 30 Мб)
- код без работы с файлами - http://pastebin.com/AB05yYhP (2 минуты)

Если что, запускаю на ультрабучном i7 (2.5-3.1 ГГц), а пишу на SSD (r/w speed 1000/300 МБайт/с). Пиздец. У меня микроконтроллер на Си быстрее бы эту хуйню посчитал.

Ответы>>679026>>679031>>680186>>681205>>681213>>704155

07 Мар, 02:56 #36 #679026

>>679022
Весь код давай, ёпта. По этим кускам ничего не скажешь, это раз. И никто вот так
inputFile.read(2)
не делает. Читаешь весь файл в строку и работаешь с ней. Ещё бы не 8 минут оно читало, по два байта то.

Ответы>>679032

07 Мар, 02:57 #37 #679027

Как смотреть время выполнения скрипта?

Ответы>>679029

07 Мар, 02:59 #38 #679029

>>679027
time ./script.py

Ответы>>679041

07 Мар, 03:02 #39 #679031

>>679022
https://docs.python.org/3.5/library/struct.html

Ответы>>679054

07 Мар, 03:02 #40 #679032

>>679026
>Читаешь весь файл в строку и работаешь с ней
Охуеть. А если у меня там 10-ти гиговый файл? Алсо, там буферизованный ввод/вывод должен быть по дефолту, судя по докам.

>>679026
>Весь код давай, ёпта.
Ну ладно: http://pastebin.com/MrduVd9M

Ответы>>679051>>679138>>679288

07 Мар, 03:16 #41 #679041

>>679029
спс

07 Мар, 03:29 #42 #679051

>>679032
Ты бы на каждой строчке ещё try напихал. Применение его там, где не нужно - очень плохая практика. В блоке try-except оставь только операции открытия/создания файлов, а всё остальное вынеси наружу.

Ответы>>679057>>679111

07 Мар, 03:32 #43 #679054

>>679031
>This module performs conversions between Python values and C structs represented as Python bytes objects
Но мне на биты надо разбивать, а там про это нет ничего или я просто в глаза долблюсь.

07 Мар, 03:36 #44 #679057

>>679051
>Применение его там, где не нужно
Но мне оно нужно там! Без try мне пришлось бы городить двухуровневый if, плюс при использовании try, блок finally закроет мне все файлы, если я внезапно решу выбросить ошибку где-нибудь уже после открытия файлов.

Ответы>>679060>>679283

07 Мар, 03:38 #45 #679060

>>679057
>Но мне оно нужно там!
Зачем?
>Без try мне пришлось бы городить двухуровневый if
Зачем?
>блок finally закроет мне все файлы, если я внезапно решу выбросить ошибку где-нибудь уже после открытия файлов
Если перепишешь нормально, то ничего не выбросит.

Ответы>>679065

07 Мар, 03:45 #46 #679065

>>679060
>>Без try мне пришлось бы городить двухуровневый if
>Зачем?
Затем, что там происходит две проверки: на правильный аргумент и на правильную длину файла. Если понадобиться проверить что-то еще, то будет и третий и четвертый уровни. Блоки try тащемта для того и придумали, чтобы не городить вложенность.

>>679060
>Если перепишешь нормально, то ничего не выбросит.
1. write/read может выбросить ошибку. В нормальныхдругих языках io-функции вообще вне try-блоков вызывать нельзя.
2. Я сам в будущем могу решить добавить какую-либо проверку и хочу быть уверен, что произойдет закрытие файлов в случае ее не выполнения.

Алсо, напомню, что проблема сейчас заключается в скорости, а не корректности обработки ошибок.

Ответы>>679068

07 Мар, 03:48 #47 #679068

>>679065
Блоки try придумали, чтобы возникшие ощибки обработать, а не чтобы заменять ими ifы, которые могли бы эти ошибки предотвратить. Не хочешь убирать try - страдай, или переписывай на крестах.

Ответы>>679076>>679117

07 Мар, 03:52 #48 #679072

Байтослесари не могут в программирование. Впрочем, ничего нового.

07 Мар, 04:00 #49 #679076

>>679068
>Не хочешь убирать try - страдай
А какое собсно отношение try имеет к скорости выполнения программы? Если исключение не выбрасывается в каждой второй строчке а у меня оно не выбрасывается, то и снижения производительности из-за исключений быть не может.

07 Мар, 05:46 #50 #679102

>>678640
https://docs.python.org/2/library/re.html#re.match

Ответы>>679111

07 Мар, 06:03 #51 #679107

>>678480
>И зачем тут else?
вообще то много раз слыхал что проверять ситуацию ДО действия это не питонично. Мол, надо делать, а там уже куда кривая американской мечты.
В этом случае for-else выглядит будто Гвидо сам начертал

Ответы>>679110

07 Мар, 06:08 #52 #679110

>>679107
>вообще то много раз слыхал что проверять ситуацию ДО действия это не питонично.
Есть такое, типа экспешн обрабатывайте лучше, а не проверки на всё возможно делайте, но лично мне это не нравится, например.
Однако, for-else для совсем другого сделан.

07 Мар, 06:08 #53 #679111

>>679102
>https://docs.python.org/2/library/re.html#re.match
нахуй пошел
>>679051
>ы бы на каждой строчке ещё try напихал. Применение его там, где не нужно - очень плохая практика.
ты должен это пруфануть или обосновать.

Ответы>>679112

07 Мар, 06:12 #54 #679112

>>679111
>нахуй пошел
Кек, насколько зол, что уже видишь плохо? Этот пост был адресован анону с регэксп-проблемой.

Ответы>>679118

07 Мар, 06:16 #55 #679117

>>679068
>Блоки try придумали, чтобы возникшие ощибки обработать, а не чтобы заменять ими ifы, которые могли бы эти ошибки предотвратить
Ровно блять наоборот.

07 Мар, 06:17 #56 #679118

>>679112
>Кек, насколько зол, что уже видишь плохо? Этот пост был адресован анону с регэксп-проблемой.
Ну, я когда скролю и вижу ответы с тупой отсылкой в доки/гугл то рвусь. Даже не глядел на контекст.

Ответы>>679122>>679252

07 Мар, 06:25 #57 #679122

>>679118
Ну и дурашка.

07 Мар, 07:33 #58 #679138

>>679032
>Охуеть. А если у меня там 10-ти гиговый файл?
А в чёс проблема делать десятигиговый на маленькие 30-мегабайтовые?

В любом случае, чтения не такая проблема - у меня за 10-20 секунд по два байта читается 32мб файл (ультраслоу компьютер)

Оптимизируй свои операции по выискиванию нужных битов. Например, задействуй видео-карту, она как раз любит миллионы одинаковых и независимых действий - https://mathema.tician.de/software/pyopencl/

Ответы>>679338

07 Мар, 09:38 #59 #679151

>>677892

Haskell.

07 Мар, 09:54 #60 #679153

Котики подскажите, а как у питона дела с разработкой мобильных приложений? Удобно ли?

Ответы>>680064

07 Мар, 10:28 #61 #679160

>>678640
1. Тебе нужно findall использовать
2. Зачем такой ебанутый регэксп? Неужели проще нельзя? Если не IMG.#\.jpg, то уж хотя бы (.#?: )(.#?\.jpg) [# - это звёздочка]

07 Мар, 11:52 #62 #679193

>>678636
Можешь (и наверное это и лучше всего) параллельно кодекадеми просто Луца читать по темам - этот сучёнок разжуёт так что не понять невозможно

Ответы>>679194

07 Мар, 11:53 #63 #679194

>>679193
Спасибо, хоть кто-то ответил

21 Кб, 409x316

07 Мар, 13:27 #64 #679252

>>679118
Да, ведь твой pront вместо print или неверное использование функции это ахуеть проблема, и обязательно нужно править именно твой код, ведь ты, долбоеб, не удосужился почитать что пишут в доках/выдает гугл.

Ответы>>679594

07 Мар, 14:04 #65 #679264

А что там насчет работы с многопоточными брутами 500-1000 потоков? Если есть мысли как такое сделать на питоне (кроме костылей с 30 процессами по 30 потоков), с удовольствием выслушаю

Ответы>>679267

07 Мар, 14:07 #66 #679266

>>678801
Ну, можно не использовать 90% qt. Только окошки, виджеты, модели-вьюхи. Остальное-то в пифоне заебись. Или твой бомбинг из-за размера бинарников? Тогда вообще странный аргумент.

07 Мар, 14:08 #67 #679267

>>679264
Это не костыли, это GIL. В гениальном раби так же, например.

Ответы>>679271

07 Мар, 14:17 #68 #679271

>>679267
Не, ну а как например в С/С++ можно сделать, без костылей этих?

Ответы>>679275

07 Мар, 14:20 #69 #679275

>>679271
Если один твой брут не жрет по минуте процессорного времени а зависит от io, то делается легко с помощью asyncio. Если надо что-то считать с труЪ многопоточностью то мультипроцессинг.

07 Мар, 14:23 #70 #679278

>>678636
Зачем ты учишь устаревшую версию? Ты что, ебанутый?

Ответы>>679280

07 Мар, 14:28 #71 #679280

>>679278
А где и какая новая ?

Ответы>>679381

07 Мар, 14:35 #72 #679283

>>679057
Конструкция with..as сама закроет. Нужно лишь прочитать весь файл целиком.

Ответы>>679338

07 Мар, 14:40 #73 #679288

>>679032
Похоже на типичную ошибку join'а строк.

Ответы>>679306>>679338

07 Мар, 15:11 #74 #679306

>>679288
Что за ошибка?

07 Мар, 15:53 #75 #679335

Хочу выучить питон, неплохо знаю джаву, поэтому посоветуйте с какой книги стоит начать?

Ответы>>679341

27 Кб, 400x322

07 Мар, 15:56 #76 #679338

>>679283
>Конструкция with..as сама закроет
А 16 файлов для записи она мне тоже закроет в случае какой-либо ошибки?

>>679288
>на типичную ошибку join'а строк
Но я их не джоиню миллионами, а пишу сразу в файл. Или ты про singleChannelSample + '\n'? Ну дак даже если эту строчку закомментить, то все-равно жве минуты процесс идет.

>>679138
>А в чёс проблема делать десятигиговый на маленькие 30-мегабайтовые?
В том что нахуй такое делоть, когда там буферизованный ввод/вывод итак есть.

>>679138
>Например, задействуй видео-карту
Пиздос. Мне просто по порядку надо байт на биты разбить, а он мне видеокарту предлагает. Походу придется на нормальном яп переписывать...

Ответы>>679362

07 Мар, 15:59 #77 #679341

>>679335
Для начала посмотри вот это презентацию http://legacy.python.org/doc/essays/ppt/sd99east/index.htm Она хоть и старая, но эти основные моменты языка не изменились, кроме print. А потом какую-нибудь книжку параллельно с заданиями. НАсчёт книги не подскажу, сам не читал, но вроде Укус питона неплох. А задания на checkio.org

Ответы>>679344

07 Мар, 16:04 #78 #679344

>>679341
Добра анон.

07 Мар, 16:24 #79 #679362

>>679338
Ты похоже просто потралить зашел, намеренно игнорируешь все ответы и придумываешь какие-то маняотмазки, постоянно упоминая про НОРМАЛЬНЫЕ ЯП. Нахуй путешествуй.

Ответы>>679368

07 Мар, 16:32 #80 #679368

>>679362
>Ты похоже просто потралить зашел
Нет. Давай разбираться вместе:
1. Дело не в блоках try. Вот пруф: http://stackoverflow.com/questions/3929837/python-if-vs-try-except
2. Дело не в записи/чтении, ибо если все io операции убрать, то все-равно затрачивается жве минуты.
В чем тогда может быть дело? Вангую, что в разборе на биты. Тогда возникает вопрос, как это сделать более эффективно, но без видеокарты, ибо это - явный овекилл.

Ответы>>679386>>679456

07 Мар, 16:41 #81 #679378

https://www.shoop.io/en/

Кстати, может кому надо интернет магазин на джанго - так вот есть штука новая какая-то. Выглядит модно, что внутри не знаю. Сегодня буду разбираться.

07 Мар, 16:43 #82 #679381

>>679280
python 3.5

Ответы>>679383

07 Мар, 16:45 #83 #679383

>>679381
А я какую учу ?
В кодакадеми получается старый питон ? А где нвоый можно выучить ?

Ответы>>681681

07 Мар, 16:50 #84 #679386

>>679368
Прогони каким-нибудь профайлером, тысячи их.

Ответы>>679459

07 Мар, 18:11 #85 #679456

>>679368
Ну так запили синтетический тест, прогони разборку пару тысяч раз и замерь времяю

Ответы>>679459

07 Мар, 18:14 #86 #679459

>>679456
>>679386
Хорошо, попробую сейчас. Алсо, я тут уже ускорил работу в два раза заменив тестовую запись на бинарную.

Вот вы мне скажите, а вашем питоне компилить скрипты можно, чтобы получить выигрыш в производительности или у вас там итак JIT и вся хуйня?

Ответы>>679460>>679466>>679590

07 Мар, 18:16 #87 #679460

>>679459
Можно скомпилять сразу в байткод .pyc, но скорость работы это не увеличит, только скорость запуска.

07 Мар, 18:21 #88 #679466

>>679459
http://pastebin.com/Q7C8rALx
Что это значит, посоны?

Ответы>>679468>>679479>>679481

07 Мар, 18:22 #89 #679468

>>679466
Это значит, что больше всего времени у тебя заняло ожидание input

Ответы>>679476

07 Мар, 18:27 #90 #679472

Кто-то проходил курсы на codeschool? Хватит ли месяца, чтобы научиться чему-то большему, чем на codecademy? Думаю взять аккаунт на месяц по скидке, но не уверен, что научусь чему-то большему, чем на codecademy.

Ответы>>679572

07 Мар, 18:28 #91 #679476

>>679468
Лол, это я убрать забыл прост))
А так? http://pastebin.com/Bh8gSgzA

>{built-in method builtins.exec}
Что это такое?

Ответы>>679481>>679485

07 Мар, 18:30 #92 #679479

>>679466
Ест line_profiler, показывает затраченное время построчно. Возможно тебе с ним понятней будет. Но в целом у тебя там в io упирается.

Ответы>>679491>>679495

07 Мар, 18:30 #93 #679481

>>679466
>>679476
В общем, прогнал я твой скриптик на файле 333 Мб, и основное время занимает твой getBit из-за большого количества вызовов. Как решение, вижу только сокращение количества вызовов, больше ничего придумать пока не в силах.

Ответы>>679491

07 Мар, 18:37 #94 #679485

>>679476
>Что это такое?
Запуск скрипта, видимо.
Смотри tottime - суммарное время выполнения.

07 Мар, 18:41 #95 #679491

>>679481
>основное время занимает твой getBit
Я его убрал в последней версии, заменив однострочником: http://pastebin.com/6CFzXKFb
Уменьшить вызовы никак, ибо надо каждый байт обработать. А нет у вас в Питоне более быстрых способов битоёбства?

>>679479
>Но в целом у тебя там в io упирается
Как же io, когда там это
>1 0.000 0.000 8.952 8.952 {built-in method builtins.exec}
больше всего гадит?

Ответы>>679495

07 Мар, 18:44 #96 #679495

>>679491
>>1 0.000 0.000 8.952 8.952 {built-in method builtins.exec}
>больше всего гадит?
Вру. Гадят внутренности скрипта. Т. е. >>679479 прав, надо построчно прогнать.

Ответы>>679504

27 Кб, 643x506

07 Мар, 18:51 #97 #679504

>>679495
Запихнув в однострочник, ты ничего не изменил.
Вот что у меня получилось в одном из тестов.

Ответы>>679514

28 Кб, 343x256

07 Мар, 18:53 #98 #679507

По питону существуют вообще годные книжки с задачами после каждой главы и послойным изучением материала?

Ответы>>679615

07 Мар, 18:53 #99 #679510

Откуда там вообще exec берётся?

07 Мар, 18:57 #100 #679514

>>679504
А getBit почему у тебя там тогда? Я же убрал его совсем.

Ответы>>679527

07 Мар, 19:04 #101 #679527

>>679514
Это старый скрипт. Тут лучше видно просто, а суть не меняется, битовые операции никуда не делись.

Ответы>>679535

07 Мар, 19:08 #102 #679535

>>679527
>битовые операции никуда не делись
Конечно, ведь они нужны мне. Может есть более эффективный способ разобрать байт на биты?

Ответы>>679564

07 Мар, 19:23 #103 #679564

>>679535

Не по одному вытаскивать, а сразу все

Ответы>>679581

07 Мар, 19:31 #104 #679572

>>679472
могу дать акк с активированной подпиской на месяц

Ответы>>679573>>679575

07 Мар, 19:32 #105 #679573

>>679572
хотя на кодакадемии попроще, там не видео а текстом

07 Мар, 19:32 #106 #679575

>>679572
Давай.

Ответы>>679611

07 Мар, 19:37 #107 #679581

>>679564
>сразу все
Как так? Мне их надо по разным файлам растащить же.

Ответы>>679589

07 Мар, 19:44 #108 #679589

>>679581
for i in f.read():
int(bin(i)[j])

Ответы>>679658

07 Мар, 19:45 #109 #679590

>>679459
Вроде jira как раз для этого компилирования

07 Мар, 19:49 #110 #679594

>>679252
>Да, ведь твой pront вместо print или неверное использование функции это ахуеть проблема, и обязательно нужно править именно твой код, ведь ты, долбоеб, не удосужился почитать что пишут в доках/выдает гугл.
После "твой" можно было бы и не читать, аутист ебаный.
Но интересно узнать, однако, насколько ты был доволен собой кинув ссылочку на гугл? Почуствовал что помог анону?

07 Мар, 19:59 #111 #679611

>>679575
мыло давай

Ответы>>679613

07 Мар, 20:00 #112 #679613

>>679611
b14lZa78911ANUStrb@sKvnPUNCTUMcL=Com

Ответы>>679642

07 Мар, 20:02 #113 #679615

>>679507
Dowson, Think Python, Core Python programming

Ответы>>679617

07 Мар, 20:03 #114 #679617

>>679615
Пробовал. Рассказывает, как писать свой сервер. Нахуй надо.

Ответы>>679620>>679633

07 Мар, 20:04 #115 #679620

>>679617
Остальные две попробуй тогда

07 Мар, 20:13 #116 #679633

>>679617
Кто рассказывает как сервер писать, Доусон? Разве он не на примере игр учит?

Ответы>>679639

16 Кб, 750x415

07 Мар, 20:15 #117 #679635

>>679634

Ответы>>679642

07 Мар, 20:16 #118 #679639

>>679633
Core programming

Ответы>>679672

07 Мар, 20:18 #119 #679642

>>679613
>>679635
какой злой анон шалит.

я выслал.(brovko)

Ответы>>679643

07 Мар, 20:18 #120 #679643

>>679642
Есть. Спасибо.

Ответы>>679645

07 Мар, 20:19 #121 #679645

>>679643
1 месяц остался там

Ответы>>679648

07 Мар, 20:21 #122 #679648

>>679645
Вижу. Сейчас начну надрачивать питон. Спасибо, Анон.

Ответы>>679656

07 Мар, 20:25 #123 #679656

>>679648
Не за что. Развивайся и познавай.

07 Мар, 20:25 #124 #679658

>>679589
>int(bin(i)[j])
Ты хочешь сказать, что конвертирование байта в бинарную строку и извлечение отдельных символов будет быстрее чем битовые операции с целыми числами?

Ответы>>679702>>679727

07 Мар, 20:40 #125 #679672

>>679639
Стоит читать или она для совсем новичков?

Ответы>>679785

07 Мар, 20:55 #126 #679702

>>679658
Ща проверю

07 Мар, 21:08 #127 #679727

>>679658
http://pastebin.com/KMmVM2RM

Ответы>>679739>>679775

07 Мар, 21:16 #128 #679739

>>679727
>for j in bin(i)[2:]
Всегда ли bin выдает 8 знаков? Я имею ввиду, если я подам ей на вход 1, то она выдаст мне 0b00000001 или же 0b1?

Ответы>>679744

07 Мар, 21:19 #129 #679744

>>679739
>Всегда ли bin выдает 8 знаков
Нет. Делай что-нибудь типа
b=bin(a)
for channel_number, value in enumerate(b[::-1][:-2]):
channels[channel_number] = value

Ответы>>679747>>679753

07 Мар, 21:21 #130 #679747

>>679744
>Нет.
Тогда понятно почему там побитовые операции проигрывают.

>>679744
>Делай что-нибудь типа
Не мог бы ты вкратце пояснить суть этого?

Ответы>>679750>>679753

07 Мар, 21:24 #131 #679750

>>679747
bin выдаёт запись вида 0b10101010101. Т.к. тебе нужны атомы в порядке возрастания, ты переворачиваешь строку через [::-1], а потом тебе нужно избавиться от оставшихся 0b, т.е. ты делаешь [:-2].

Ответы>>679759>>679977

07 Мар, 21:26 #132 #679753

>>679744
>>679747
Я попробовал делать как-то так
multiChannelSample = inputFile.read(1000)
bits = bin(int(multiChannelSample.hex(), 16)).lstrip('0b')
if multiChannelSample == b'':
....break
for i in bits:
....singleChannelSample = '+1' if (bool(i)) else '-1'
И знаете, прирост есть, но совсем маленький. Думаю, и ваш вариант много пользы не принесёт.

Ответы>>679756

07 Мар, 21:30 #133 #679756

>>679753
if multiChannelSample == b'':
....break
перенеси в условие цикла, а
....singleChannelSample = '+1' if (bool(i)) else '-1'
замени на
....singleChannelSample = i and '+1' or '-1'
ну и в bits у тебя порядок будет старший->младший

Ответы>>679764

57 Кб, 640x426

07 Мар, 21:32 #134 #679759

>>679750
Тогда bin еще нулями дополнить надо. Алсо, зачем переворачивать, когда можно просто с обратной стороны циклом пройти. К тому же, я по прежнему не уверен, что текстовые манипуляции окажутся эффективнее.

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

Ответы>>679765>>679949>>679983>>680057

07 Мар, 21:36 #135 #679764

>>679756
Да толку-то, проще это время потратить на ожидание выполнение старого скрипта, попивая чай, чем пытаться эти секунды выиграть. Я так, из любопытства, пытаюсь помочь в меру сил.

Ответы>>680057

07 Мар, 21:38 #136 #679765

>>679759
>Тогда bin еще нулями дополнить
Можно, но не обязательно
>зачем переворачивать
Затем, что так гораздо удобнее
>К тому же, я по прежнему не уверен, что текстовые манипуляции окажутся эффективнее
Так проверил бы у себя. Я ж тебе даже результаты кидал.

Ответы>>679775

07 Мар, 21:47 #137 #679775

>>679765
>Я ж тебе даже результаты кидал
Ты об этом >>679727? Если да, то я как раз и указал на их некорректность вопросом про bin. То, что он не всегда дает на выходе 8 символов, позволяет ему выиграть во времени из-за меньшего числа итераций в for j in bin(i)[2:]. На реальных же данных 1 и 0 будут встречаться с одинаковой частотой, поэтому строки будут почти всегда длинной в 8 символов и такого выигрыша не получится.

268 Кб, 1254x978

299 Кб, 1263x983

417 Кб, 1256x977

354 Кб, 1256x978

07 Мар, 22:03 #138 #679785

>>679672
Сам только начал читать, пока доставляет. У меня проблема была что я питон за 3 месяца выучил, кодить могу шоугодно, а что именно кодить - не знаю. Понимаю о чём базарят итт почти полностью например, а самому ни единой идеи где такое применять.
Ладно, по книжке: совсем элементарщину не рассказывают, примеров кода я так понимаю каноничного, правильного - достаточно. На всякий случай объясняется, но без деталей, в двух словах.

Ответы>>679787>>679896

07 Мар, 22:05 #139 #679787

>>679785
Полным нубасам не пойдет? До питона знал что-то?

Ответы>>679791

07 Мар, 22:07 #140 #679791

>>679787
Лет 15 назад кодил на делфи5, лет 8 назад - на пехопе. Без классов, ооп и прочего, на уровне echo '<p>hello</p>'
Для полных нубасов думаю в самый раз 1) кодекадеми+лутц 2) доусон / укус 3) думай, питон! (think python)
а остальное уже опциональное и сам разберёшься надо-не надо

Ответы>>679795>>679796

07 Мар, 22:10 #141 #679795

>>679791
Главное начать, а знания по необходимости уже можно нагуглить.

07 Мар, 22:10 #142 #679796

>>679791
Лутц пиздец скучное говно. Доусон поинтерейсней, но примеры на ИГРАХ ВИСИЛИЦА ПОКЕР - это пиздец. Попахивает старым пердежом. Единственная годнота - кодакадеми и укус. Думай, питон! не читал.

Ответы>>679798

07 Мар, 22:11 #143 #679798

>>679796
Лутц это справочник, блин. От вас никто этого не скрывает включая лутца. Поиграл на кодекадеми по теме "работа со строками" - полистал Луца. Не вызубрил, не скопировал всё написанное, а полистал.

Читни думательного питона, я так до сих пор из овер 10 книжечек считаю его лучшей (ну или во всяком случае мне больше всего именно она помогла)

Ответы>>679820

07 Мар, 22:35 #144 #679820

>>679798
Ну вот закончу курс на codeschool от доброАнона, который выше акком поделился и читну. Спасибо.

Ответы>>679869

07 Мар, 23:09 #145 #679869

>>679820
re.search('^yyy', 'xxx') == re.match('yyy', 'xxx') ?

07 Мар, 23:30 #146 #679896

>>679785
Как она на русском называется?

Ответы>>679897

07 Мар, 23:32 #147 #679897

>>679896
PYTHON СОЗДАНИЕ ПРИЛОЖЕНИЙ
УЭСЛИ ДЖ. ЧАН

Ответы>>679907

07 Мар, 23:40 #148 #679907

>>679897
спс, перевод не кривой, все термины на даются на инглише?

Ответы>>679911

07 Мар, 23:44 #149 #679911

>>679907
Вроде норм.

08 Мар, 00:02 #150 #679929

А как регулярками сделать разбивку типа
(запятая с пробелом) или (пробел если после него 5 цифр или 2 большие буквы)?

вот ету хуету сделал - не пашет
re.split(', |(?= (?:\d{5}|[A-Z]{2}))', var)

18 Кб, 466x359

08 Мар, 00:12 #151 #679935

Хватит ли мне функционала 'tkinter', чтобы запилить простенький Windows Manager под прыщи на древних ПК?

Ответы>>679946

08 Мар, 00:20 #152 #679946

>>679935
2й гном
но вообще если уж питона хочешь - расковыряй i3 - оно я слышал как раз на нём

Ответы>>679954>>679956

08 Мар, 00:28 #153 #679949

>>679759
убери функцию getBit, в питоне оверхед большой на вызов функции (делай проверку в ифе прям) это ускорит процентов на 15 ну и врайт оптимизируй. А вообще такие вещи делаются на golang за 10 минут и работать будет с приемлимой скоростью

Ответы>>679981

24 Кб, 480x480

08 Мар, 00:34 #154 #679954

>>679946
Гном и GTK не перевариваю, хотя один виджет написан на нём.

i3 не подойдёт, т.к. пилю это для масс -- для студентов.

Ответы>>679957>>679959

08 Мар, 00:35 #155 #679956

>>679946
Ебу дал? i3 на си, там только апи питоном дергать позволяют, но даже до интеграции уровня awesome/lua далеко.

Ответы>>679959

08 Мар, 00:36 #156 #679957

>>679954
Ты ебанутый какой-то.

08 Мар, 00:38 #157 #679959

>>679956
>я слышал
бро, моё дело подсказать что сам помню - а там пойдёт-не пойдёт человек уже сам для себя решит. не реагируй так резко на всё, тебе с этими нервными клетками ещё жить.

>>679954
Минута в гугле: qtile, pywm, tinywm

Ответы>>679961>>679962

08 Мар, 00:40 #158 #679961

>>679959
Я слышал как в /b/ твою мамку ебали, крики аж до /pr/ доносились.

10 Кб, 233x203

08 Мар, 00:43 #159 #679962

>>679959
Ну а хуле. Нормально будет, если совмещу 'tk', а другую часть (с той, что не справится 'tk') на GTK/QT?

Ответы>>679963

08 Мар, 00:45 #160 #679963

>>679962
Просто пиши на GTK, заебал. tkinter это мертвое днище. Ничего на нем писать не надо.

Ответы>>679964

08 Мар, 00:46 #161 #679964

>>679963
Ну ок.

08 Мар, 01:14 #162 #679976

Посоны, а как лучше всего в
>2016
делать интернет магазин? Брать какой-то фреймворк типа оскара или самую простую функциональньость запилить самому, а для сложных вещей брать готовые приложения типа django_robokassa для оплаты? Какие вообще подводные камни то в екомерс системах? Вот я как написал выше начал ковыртять shoop, но он какой-то странный. Сделали свою админку, например, а он такая неудобная как по мне..

Ответы>>679991

08 Мар, 01:16 #163 #679977

>>679750
>bin выдаёт запись вида 0b10101010101. Т.к. тебе нужны атомы в порядке возрастания, ты переворачиваешь строку через [::-1], а потом тебе нужно избавиться от оставшихся 0b, т.е. ты делаешь [:-2].
Тогда тут нужен не bin, а format(arg, 'b') - он без префиксов результат возвращает.

Ответы>>679980

08 Мар, 01:23 #164 #679980

>>679977
Ну, луче тогда уж str.format("{:0>8b}", byte). Не вникал в проблемы байтослесаря, но лучше использовать сдвиги (как он вроде и делал). На производительность в пифоне можно положить.

08 Мар, 01:23 #165 #679981

>>679949
>убери функцию getBit
Убрал уже давно. Лучше не стало.

>>679949
>golang
В чем профиты по сравнению с Си?

Ответы>>679985>>680719

08 Мар, 01:28 #166 #679983

>>679759
Ты заходи, как запилишь, было бы интересно производительность сравнить.

Ответы>>679999

08 Мар, 01:33 #167 #679985

>>679981
>В чем профиты по сравнению с Си?
Сможешь себе подцепить какого-нибудь хипстера.

Ответы>>679999

08 Мар, 01:35 #168 #679988

А можете по-быстрому объяснить зачем появляется файл apps.py в джанге после startapp?

Ответы>>679998

08 Мар, 01:39 #169 #679991

>>679976
>Какие вообще подводные камни то в екомерс системах?
Главный камень - заказчик.
"А нам вот надо чтобы скидка зависела от города, если это город-герой и начинается на Ж, то скидка рассчитывается в процентах от прошлой корзины этого покупателя, а если нет, то пусть менеджер каждую неделю выставляет через админку."
Короче, составь список фич и, смотря на него, думай. Если хотя бы по паре пунктов есть сомнения, как сделать - бери что-нибудь готовое.
Иначе будешь ездить на велосипедах по граблям.

Ответы>>679994

08 Мар, 01:42 #170 #679994

>>679991
Да по сути заказ - маленький локальный магазин. Я точно не знаю, но вряд ли он за пределы даже своей области выйдет.
Пока что я вижу - mptt для категорий, да и все, честно говоря. Фронт на ангуляре сделаю. Оплату тоже подключу какую нибудь, если вообще надо будет. Админка обычная пойдет. Какие вообще стандартные задачи у магазина то есть?

Ответы>>680006

08 Мар, 01:44 #171 #679998

>>679988
Для настройки приложения.
https://docs.djangoproject.com/en/1.9/ref/applications/#initialization-process

Ответы>>680000

08 Мар, 01:47 #172 #679999

>>679985
Нахуй>>679983
>Ты заходи, как запилишь,
Тут не долго так-то... Но мне влом пока. Хотя возможно интерес возьмет верх.

08 Мар, 01:48 #173 #680000

>>679998
Я потому тут и спрашиваю, что мне влом документацию читать.

Ответы>>680014

08 Мар, 02:08 #174 #680006

>>679994
В чем фишка mptt для категорий и в чем профит вообще его использовать?

Ответы>>680008>>680011

08 Мар, 02:09 #175 #680008

>>680006
Структура дерева в базе данных. Удобно для всяких данных, которые надо делить на категории и подкатегории. Одним запросом из бд можно вынуть почти всю нужную инфу - предков, потомков и т.д.

08 Мар, 02:15 #176 #680011

>>680006
Дешевый SELECT - все дерево выбирается одним запросом.
Дорогой INSERT|UPDATE - надо выставить значения не только для ноды, но и для её потомков и предков.
Поскольку 99% запросов это селекты, профит налицо.

08 Мар, 02:22 #177 #680014

>>680000
В apps.py обычно лежит класс
class MySuperAppConfig(AppConfig)
у которого есть всякие вкусные свойства и методы. Например, verbose_name - в админке можно показывать название приложения с выебонами "OLOLO ~Super App~ by Vasyan". Или метод ready - в котором регистрируют сигналы и т.п.

Ответы>>680015

08 Мар, 02:25 #178 #680015

>>680014
А. Ну понятно. Круто. Спасибо!

08 Мар, 04:20 #179 #680032

Посоны, а обязательно ли использовать bcrypt в джанге? Или в 2016 это уже не так актуально?
А то я в каком-то году проходил курс по веб программированию на юдасити, и там очень его рекомендовали.

Ответы>>680037

08 Мар, 04:46 #180 #680037

>>680032
Это просто стандартная хэш функция для джанги. Если нужно, можешь хоть кузнечика использовать.

Ответы>>680038

08 Мар, 04:48 #181 #680038

>>680037
Не, бикрипт не стандартная же. Надо специально включать. Просто говорили что бикрипт медленнее, зато непробиваемый.

08 Мар, 04:56 #182 #680039

django-channels через пару недель должен достигнуть версии 1.0 и, соответственно, быть внедрен в джангу. Можно уже начинать разбираться в том, как это работает.

Ответы>>680040>>680325

08 Мар, 05:10 #183 #680040

>>680039
Там прямо можно нормально вебсокеты замутить или что? Или это костыли над запросом-ответом?

Ответы>>680044

08 Мар, 05:36 #184 #680044

>>680040
По идее да. Но, как я понял, для вебсокетов нужно обязателно использовать ASGI вместе с WSGI. Единственный минус который я вижу - это отсутствие гарантии того что сообщение дойдет до клиента. http://channels.readthedocs.org/en/latest/concepts.html

Ответы>>680046

08 Мар, 05:41 #185 #680046

>>680044
Ах, ну и походу они хотят в 1.10 сделать asgi стандартом, но оставить возможность использовать wsgi

08 Мар, 07:25 #186 #680057

Я, похоже, опоздал, но всё же не зря вечер сидел, так что запощу.

>>679759
Питон, всё-таки, не для байтоёбства, ну и 33 миллиона операций это, всё же, много.
Поигрался как мог и частный случай сократил до ~1 минуты (твой оригинальный код у меня за 4.5 выполнялся). (возможно, на 3 байта ещё потянет, но сомневаюсь).
Писал в один файл, но в лупе 16 раз, поэтому не должно сильно влиять. Да и, в любом случае, ~70% времени сжирает генератор и конкатенация байтов.
Размер буфера между 64-512 мало влияет, а если больше - становится медленнее, причём оче сильно (4096 в четыре раза медленнее 512-и). http://pastebin.com/byA5AkNy

А вот о мультипроцессинге, кстати, можно и задуматься, ведь ограничивает не io (3 процесса):
real 0m30.024s
user 1m22.070s
sys 0m1.683s

Ну и плюс потом объединить 16 групп файлов нужно, но это мелочи, наверное.

Наговнокодил тут на плюсах (http://pastebin.com/RpdtNpnY):
length: 33554432
Read samples: 16777216
Elapsed time: 80.289 seconds.

без os.write, однако, всего 5 секунд. Так что пили c-extension, который будет биты считать, а читай-пиши питоном, лол. (Где я обосрался-то с записью, кроме того, что по одному байту пишу? (В питоне я с побайтовым письмом двух минут добился))

>>679764
Так там не секунды, а минуты и часы, если действительно много данных. Поэтому борьба за 5-10% (а я тут ~90% времени сократил, если на трёх тредах i5 4300M делать) вполне себе оправдана, я считаю. Хотя-таки да, такое лучше на нормальном языке делать.

анон, в шутку советовавший использовать видео-карту

Ответы>>680124>>681213

45 Кб, 600x600

08 Мар, 08:08 #187 #680064

>>679153
Ответьте, ну пожалуйста.

Ответы>>680217

773 Кб, 977x602

08 Мар, 09:58 #188 #680093

Привет всем, скачал ваш путхон, но чета когда запустил произошел пикрилейтед казус (у меня 32-битный проц, качал для него естессна). Если что, я полный дебил в ваших компутерах (примерно на уровне вашей мамы).

Ответы>>680104>>680105>>680147

08 Мар, 10:14 #189 #680104

>>680093
А от нас чего хочешь? Открывай люги, устанавливай апдейты, веселись.

Ответы>>680106

94 Кб, 960x645

08 Мар, 10:16 #190 #680105

>>680093
Там английским по белому написано, что для установки этой версии питона тебе нужна Win7 sp1.

Ответы>>680108

08 Мар, 10:20 #191 #680106

>>680104
Я уже примерно понял в чем проблема именно в этот раз, но разобравшись с ней, я мало что решу, на самом деле. Что меня беспокоит, так это то, что я абсолютно не шарю в компах. Совсем. Обновлял шиндовс, скачивал пиратские игры, убирал винлок все детские годы (мне сейчас 17, еще пиздюк) не я, а мой старший брат, который сейчас живет в другом городе (в ДС учится). Я решил изучать python, но оказалось, что у меня даже базовых знаний о компьютере нет. Короче, реквестирую гайды, как перестать быть кретином в этой сфере, так чтобы батя сказал "погромист растет".
P.S. Написал сумбурно, наверное, извиняйте.

Ответы>>680108

08 Мар, 10:22 #192 #680108

>>680105
Я не знаю как ее установить, не скачав при этом всякие "зонды" шиндовса. Эта проблема вытекает из общей неграмотности во всей сфере >>680106.

Ответы>>680119

08 Мар, 10:27 #193 #680115

Сосоны. ЧЯНДНТ? http://pastebin.com/u4RpJdhV хочу ассемблерный исходник собирать для dll in the middle

Ответы>>680230>>680294

08 Мар, 10:44 #194 #680119

>>680108
>Я не знаю как ее установить, не скачав при этом всякие "зонды" шиндовса.
Control Panel -> windows update. От зондов не скроешься.

08 Мар, 11:02 #195 #680124

>>680057
Заменил тупл на лист, поигрался с буфером (256 самый лучший), в итоге добил до 42 секунд так и 20 с четырьмя процессами.
Сижу ломаю голову, как же по-другому вообще алгоритм построить, чтобы не пришлось по 16 раз проходить по одному и тому же списку с туплами (больше половины времени туда уходит).
Должен быть способ сделать это красиво и быстро, надо математику задействовать, наверное.

Ответы>>680150

08 Мар, 11:52 #196 #680147

>>680093
У мну питон 3.5 тоже ругался при установке (не помню по какой причине). В итоге я просто поставил версию 3.4 и счастливо живу.

08 Мар, 11:55 #197 #680150

>>680124
Файл какого размера-то?
И зачем проходить, почему pop() не сделать?

Ответы>>680186

08 Мар, 12:38 #198 #680186

>>680150
32 мегабайта, как было изначально аноном заявлено (>>679022).
Зачем pop?
У меня список вида:
[(1,0,1,..),(1,1,0,..),(0,0,1,...)]
для каждой пары байт. Затем я собираю все первые элементы каждого тупла (первый "канал"), потом вторые, потом третьи и т.д.
Грубо говоря, нужно это как-то в матрицу перевести и транспонировать, но с нампи получается либо медленнее, либо так же (если из вышеуказанного списка делать np.matrix(...).transpose().tolist() и иметь 16 строк на каждый канал, которые мы спокойно затем джоиним).

Вот код - http://pastebin.com/bmqxcNAk

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

Я пытался вчера сразу с нампиевского массива/матрицы начинать, но там добавлять строки/столбцы проблемно - каждый раз новый создаётся. В итоге прироста не заметил и идею забросил.

Ответы>>680190>>680216>>680344>>680345>>680377>>681213

08 Мар, 12:43 #199 #680190

>>680186
Каждый тупл - это поибтовое представление short'а. Всё-таки, комбинаций 65к, а семплов - 16 миллионов, поэтому пришла идея лишь один раз всё посчитать.

Хотелось бы, конечно, ебануть словарь 16^16, чтобы все возможные комбинации 16-значных строк каждого "канала" иметь и влёгкую их писать в файл, без необходимости ничего соединять, но...

08 Мар, 13:29 #200 #680216

>>680186
>собираю все первые элементы каждого тупла
Ну так и я говорю, зачем каждый раз пробегать, если можно пробежать один раз распихивая биты по 16 буферам?

08 Мар, 13:31 #201 #680217

>>680064
kivy

08 Мар, 13:42 #202 #680230

>>680115
халп сосоны, мне надо успеть за сегодня доделать

08 Мар, 14:39 #203 #680283

http://pastebin.com/TTDEh64C

Не слишком ли запарная модель для хранения адресов пользователей?

Как обычно вообще делают?

08 Мар, 14:51 #204 #680294

>>680115
Попробуй вместо массива использовать многострочную строку через """.
"""один
Два
Три"""

08 Мар, 15:22 #205 #680325

>>680039
Я так понимаю,эта приблуда отправляет полученные данные консумеру, только для http.request есть дефолтный консумер, который делает из полученных данных обычный request и скармливает вьюхе? Т.е. HTTP все равно синхронно?

08 Мар, 15:36 #206 #680344

>>680186
>np.matrix(...).transpose().tolist()
А не проще сделать zip(*samples)? Всегда так "транспонирую", зависимость есть.

Ответы>>680345>>681205

08 Мар, 15:37 #207 #680345

>>680186
>>680344
>>np.matrix(...).transpose().tolist()
Вам целое число на биты разобрать надо, а вы тут устроили...

Ответы>>680428>>681205

08 Мар, 16:00 #208 #680377

>>680186
Олсо, зачем тебе
out_list = [out_file]*CHANNELS ?
Это же список из 16 ссылок на один и тот же объект?

Ответы>>681205

57 Кб, 543x604

08 Мар, 16:27 #209 #680428

>>680345

Ответы>>680526

08 Мар, 17:28 #210 #680526

>>680428
Это когда йоба-проекты пилишь такое происходит. А когда кода на 50 строк, то такой хуйни быть не должно.

239 Кб, 983x254

08 Мар, 17:45 #211 #680547

Что это за хуйня? По дате видно же, что первый и третий инстансы в выборке не один и тот же объект.

Ответы>>680635

08 Мар, 18:08 #212 #680597

Парни, только скачал питон, гуглю уроки, как вдруг столкнулся с проблемой отсутствия панели инструментов. Как ее вкрутить обратно?

Ответы>>680605>>680632

08 Мар, 18:14 #213 #680605

>>680597
Нажми alt.

08 Мар, 18:30 #214 #680632

>>680597
Хули тебе в notepad++ не пишется, м?

08 Мар, 18:35 #215 #680635

>>680547
all() не сортирует выборку. чтобы норм работало: models.objects.all().order_by('id')

Ответы>>680641>>680691

08 Мар, 18:38 #216 #680641

>>680635
Я уже понял, спасибо. Все последующие операции с выборкой давали ожидаемый результат, значит, я проебался с порядком.

Ответы>>680691

08 Мар, 19:02 #217 #680691

>>680635
>>680641
Чтобы не сломать порядок, если забыл .order_by, советую взять за правило прописывать ordering в метадате модели.

08 Мар, 19:14 #218 #680719

>>679981
> В чем профиты по сравнению с Си?
если С хорошо знаешь и задачи типа твоей, то нет профитов.
А так на нем быстрее (чем на С) разрабатывать всякую ебалу типа твоей задачи + компилится в один бинарник и никакой ебли с линкованием

08 Мар, 19:56 #219 #680765

А где можно надыбать json со всеми городами / областями / странами СНГ?

Ответы>>680770

08 Мар, 19:58 #220 #680768

Почему вот это:
{x 2 for x in [1, 2, 3, 4]}
выводит это:
{16, 1, 4, 9}
а не это:
{1, 4, 9, 16}
?

Ответы>>680771>>680773

08 Мар, 19:59 #221 #680770

>>680765
А, нашел.

08 Мар, 19:59 #222 #680771

>>680768
Потому что set не упорядочен.

Ответы>>680778

08 Мар, 19:59 #223 #680773

>>680768
потому что set неупорядочен.

08 Мар, 20:01 #224 #680778

>>680771
Но тогда почему эта строка всегда выводит именно в таком порядке? Вроде бы должна же в случайном.

Ответы>>680779

08 Мар, 20:01 #225 #680779

>>680778
Ну вот такю

08 Мар, 21:48 #226 #680878

А на винде через cygwin питона кто гонял? как оно вообще?
Хочу ноут под винду точенный купить

Ответы>>680888

08 Мар, 22:00 #227 #680888

>>680878
Извращений захотелось? Если уж в так не хочешь линукс на своем железе - Виртуалка или впс.

Ответы>>680891

5 Кб, 142x116

08 Мар, 22:03 #228 #680889

Господа! Подскажите, пожалуйста, существует ли сколь нибудь достойный перевод книги "Learn Python the Hard Way" или же она так и осталась исключительно в оригинале?

Ответы>>680894

08 Мар, 22:04 #229 #680891

>>680888
https://www.asus.com/uk/Notebooks/E403SA/
В нём поди и биос ебанутый будет, наглухо к винде привинченный.
Виртуалку можно, только на 4 гб это какой вагрант кастрированный будет. Тогда уж легче гонять по ссш на серваке.

Но смысл в другом был, для путешевсвтий и прочих коммандировок ноут вин как мне кажется, а питониться в дороге мне только для фана, а не необходимости. Потому поставить кигвин который из коробки пашет - охуенно, а ебаться с деплоями на хероку всякие или в 4 гб озу виртуалку с убунту минимал пихать - уже гемор.

Ответы>>680900

08 Мар, 22:08 #230 #680894

>>680889
Говно твой лёрн зе хард вей
Прочитал от корки до корки. Состоит из превозмоганий "ДЕЛАЙ УПРАЖНЕНИЕ2 ЧЕГО БЫ НЕ СТОИЛО ИЛИ НЕ ПАЦАН", истерик "ЕСЛИ ТАКОЙ УМНЫЙ ХУЛИ ЧИТАЕШЬ ЕТУ КНИГУ ИДИ ПО ЛИСПУ ЧИТАЙ!!!!111" и маняоправданий "Я НЕ ВНИКАЮ В ПОДРОБНОСТИ А ТУПО МОТИВИРУЮ ВАС ХУЯРИТЬ А ТЕПЕРЬ БЫСТРО ИФ РУМ = АРЕНА ЗЕН ПРИНТ ТРОЛЛ ФАЙТС Ю!!!" и рекламы не то платных курсов, не то видосиков если ничего не путаю
Мой вердикт - для дебилов. Распиарена потому что в забугорном интернете пиздить не принято, а только это дерьмо собачье бесплатное.

Пойди наверни нормальных книжек, их же дохуя и больше

Ответы>>680898>>680920

08 Мар, 22:09 #231 #680895

Herokuapp или Openshift? Никаких особых изысков не требуется.

08 Мар, 22:09 #232 #680896

Как правильно парсить курсы валют/акций? С самой биржи брать или с сайтов?

08 Мар, 22:14 #233 #680898

>>680894
Отвечая всё же на вопрос:
Ввиду анальных ограничений её никто не переводил и не будет.

Ответы>>680899

08 Мар, 22:16 #234 #680899

>>680898
А что за ограничения?

Ответы>>680901

08 Мар, 22:18 #235 #680900

>>680891
>для путешевсвтий и прочих коммандировок ноут вин как мне кажется
Зачем? Вафля везде одна. Имею зенбук UX31A с дебианом на борту для разъездов, никогда проблем не было. Вот прибито не прибито хуй знает, но я еще не видел ноутов куда нельзя было воткнуть линуксы.

61 Кб, 317x372

08 Мар, 22:19 #236 #680901

>>680899
Ну для чувака книга - реклама платных видосиков где он гнусавым базарит как пикрелейтед
Нахуй его после этого переводить? Эта книга не продукт в каноничном понимании.

Ответы>>680903>>680920

08 Мар, 22:20 #237 #680903

>>680901
Понял. Спасибо за информацию! Пойду тогда лучше укус читну.

08 Мар, 22:38 #238 #680920

>>680901
>>680894
Лолшто? Проиграл с тебя адово. Говнокниги с оценкой 3 на амазоне это как раз Лутц какой-нибудь, которые в своей говнокниге ещё и курсы свои рекламирует, сам притом нихуя не работая, а только теоретизируя.
Зед охуенный программист, книга его бесплатная, видео и курсы лолшто, это как курсы от Линуса он не продает, они служат бонусом за фактический "донат" за книгу, а за те 29 баксов ты покупаешь поддержку и можешь задать ему свои тупые вопросы по непонятным местам, если даже после видео ты их нихуя не понел.

Только в зк можно так проиграть от тупости местных.

Ответы>>680923>>680925>>681096

08 Мар, 22:42 #239 #680923

>>680920
>гы мам тупые сматри гыгы! ну тупые! мам!
ясно-понятно
выучись по нему и возвращайся

Ответы>>680932

08 Мар, 22:43 #240 #680925

>>680920
Держи бесплатную тру годноту, которую тут половина читала и подтвердит:

http://greenteapress.com/wp/think-python/
www.obeythetestinggoat.com

Теперь будешь хоть знать как оно выглядит

Ответы>>680932

08 Мар, 22:52 #241 #680932

>>680923
Выучился и работаю, даже уже стак сменил. Проблемы, борщехлёб?

>>680925
>когда тебе рассказывают о чем, что ты читал несколько лет назад, типа СМАРИ ГАДНАТА
Приятное чувство. Но нет, "книга" Зеда это аналог кодеакадеми для быстрого входа, которая читается за вечер под пивас.

09 Мар, 00:06 #242 #680983

Такс такс что тут у нас
https://github.com/Microsoft/Pyjion

Ответы>>681021

09 Мар, 01:05 #243 #681021

>>680983
В чем фишка и чем отличается от пайпай? И что то он почти не разрабатывается и хайпа нет вокруг.

Ответы>>681026>>681027

09 Мар, 01:10 #244 #681026

>>681021
> отличается от пайпай?
Там в ридми написано
> хайпа нет вокруг.
Вокруг - это где?
Мне сегодня на подкаст "talk python" прилетело про это, ещё не слушал.

09 Мар, 01:15 #245 #681027

>>681021
>хайпа нет вокруг
Тебе не хватает реализаций питона? Богу реализаций языка нужно больше реализаций! Питон это наиболее многократно реализованный язык программирования имхо. Javascript и тот где-то на 2-3 ничем принципиально не отличающихся движках по большому счёту зиждется. А тут тебе и под дотнет, и под жвм, и под жаваскрипт даже неоднократно делали (однако гвида нерекомендуе, ибо гарантированно будет тормозить, гвида говорит кофе юзайте).

Ответы>>681029>>681030

09 Мар, 01:17 #246 #681029

>>681027
Эта штука добавляет jit в обычный cpython, это не отдельная реализация.
> Питон это наиболее многократно реализованный язык программирования
Да ну, глупости, других языков реализаций тысячи, особенно старых всяких.

09 Мар, 01:18 #247 #681030

>>681027
> ибо гарантированно будет тормозить
Когда будет вебассембли сделают нормальную реализацию без тормозов.

Ответы>>681032

09 Мар, 01:21 #248 #681032

>>681030
Уже зделоли. Подводный камень в том что рантайм питона весит много. Это вам не жуквери подключить.

Ответы>>681036

09 Мар, 01:28 #249 #681036

>>681032
хуе мое пусть вставят в браузеры как сделали с ес6.

Ответы>>681038

09 Мар, 01:31 #250 #681038

>>681036
Это пытались сделать ещё начиная с 1991 года. Но не взлетело. Гвида сдался в 1995.

Вот тебе сцылочка кстати.
http://pypyjs.org/

Ответы>>681042>>681047

09 Мар, 01:34 #251 #681042

>>681038
http://www.brython.info/tests/console.html?lang=en намного быстрее грузится

Ответы>>681044

09 Мар, 01:35 #252 #681044

>>681042
Да, но намного медленнее выполняется.

09 Мар, 01:38 #253 #681047

>>681038
Я знаю что долго пытались вставить в браузеры разные языки, в том числе питон, но я не совсем понимаю почему этого не делают большие браузеры. Дело в отсутствии хорошего JIT? Или может у питона по факту хуевый перформанс с отсутствием мультитрединга? Или дело в ебле с версиями? А может просто никому не нужен еще один язык на фронтенде?

Ответы>>681049>>681051

09 Мар, 01:41 #254 #681049

>>681047
>просто никому не нужен еще один язык на фронтенд
Тоталли зис. Ты учти что эти жаваскрипты там гвоздями прибиты к дому. Просто вставить рантайм не получится.

09 Мар, 01:42 #255 #681051

>>681047
> с отсутствием мультитрединга
А у яваскрипта мультитрединг чтоли?

Ответы>>681072

09 Мар, 02:03 #256 #681068

Есть нормальный гайд по киви?

09 Мар, 02:15 #257 #681072

>>681051
Нахуя мультитрединг на фронте? На ноде на бэке для этого кластеры используют. А зачем в браузере то?

Ответы>>681075>>681076>>681084

09 Мар, 02:19 #258 #681075

>>681072
Чтобы было.

09 Мар, 02:23 #259 #681076

>>681072
Майнить биткоины

09 Мар, 02:39 #260 #681084

>>681072
>2016 год
>программы до сих пор не умеют в многоядерность
>дваядратригига стоят без дела
>пока ссаная косынка на жаваскрипте страшно лагает

Из разряда 640кбайт хватит всем.

Ответы>>681086

09 Мар, 02:42 #261 #681086

>>681084
Вот ещё не хватало чтобы яваскрипты все ядра отжирали.

Ответы>>681093

09 Мар, 02:56 #262 #681093

>>681086
Уже. Webworker.

Ответы>>681100

09 Мар, 03:06 #263 #681096

>>680920
Пиздец, живой адепт зеда.

Ответы>>681596

09 Мар, 03:12 #264 #681099

>Zed A. Shaw is a software developer most commonly known for creating the Mongrel web server for Ruby web applications

09 Мар, 03:17 #265 #681100

>>681093
Это где-нить используется?

Ответы>>681101

09 Мар, 03:19 #266 #681101

>>681100
Ну если ты не используешь, значит хуета и нинужно. Пусть удоляют. Это нужно чтобы страница не зависала во время тяжёлого рассчёта к примеру.

09 Мар, 03:59 #267 #681114

Хочу сделать гуевую оберточку для mpv, пытаюсь сделать вывод через opengl, нарыл пример на сях - http://pastebin.com/qn6rDTxr (как и положено выводит "failed to initialize mpv GL context"), переписал на пистон - http://pastebin.com/Mc2qk7Ac, но во время вызова mpv_opengl_cb_init_gl программа сегфолтится, в чем может быть проблема не умею в С/ctypes?

Ответы>>681165

09 Мар, 05:58 #268 #681165

>>681114
>CFUNCTYPE(None
void возвращает? Должна же адрес вернуть.

Ответы>>681221

09 Мар, 06:14 #269 #681167

Сосоны, халп. Хули у меня не работает replace?
codesec.replace('[changeme]', call_iat)
Суть в том, что там есть большие куски кода, в которых надо менять определенную часть данными, которые есть в переменной. Но нихуя не происходит вообще. Выдает шаблон + [changeme]

Ответы>>681168

09 Мар, 06:19 #270 #681168

>>681167
Небось inplace пытаешься заменить? Строки в питоне иммутабельны.

09 Мар, 09:11 #271 #681205

>>680344
И правда. Что-то я о зипе совсем забыл. Почти в два раза ускорилось. Ещё убрал проверку на длину списка (профайлер показывал, что туда чуть ли не 8% времени уходило), добавил просто инкрементирующую переменную. В итоге - 22 секунды (9 с четырьмя процессами).
24% - слайсинг и получений тупла битов
23% - джоин тупла с битами
10% - аппенд к листу
5% - запись в файлы
10% - подготовка словаря с туплами
26% - остальная часть функции.
(оставшиеся проценты на всякую мелочь типа чтения файла)

Осталось совсем чуть-чуть. Первый и последний пункты, наверное, можно ещё как-то оптимизировать.

>>680345
Ну так ты предложи быстрый способ это сделать, раз всё так просто. Нужно весь большой файл на биты разобрать и каждый 1-16-ый бит в свой файл записать.

>>680377
Это эмуляция записи в 16 разных файлов, которые анону требовались.

>>679022
Зачем ты сюда с этим пришёл, столько времени у меня отнимаешь...
На с#-то переписал уже?

742 Кб, 245x300

09 Мар, 09:29 #272 #681213

>>679022
>>680186
>>680057

Хуле вы тут намудрили, уёбы?

http://pastebin.com/hUHDFNDM

Ответы>>681223

09 Мар, 09:43 #273 #681217

Программисты, поясните зачем первую часть регэкспа обрачивать в скобки и обратные слеши, такой пример в книге, не сам такое написал:

import re

print(
re.search(r'''(?x)
\((?P<kodgoroda>\d{3})\) # kod goroda
[ ] # probel
(?P<prefiks>\d{3}) # prefiks
- # defis
(?P<nomer>\d{4}) # nomer konechnoy tochki
''', '(800) 555-1212').groupdict()
)

http://puu.sh/nA5Zz/4fca1701e4.png

Ответы>>681219

09 Мар, 10:07 #274 #681219

>>681217
Скобки с обратными слешами означают сами символы скобок.

Ответы>>681258

09 Мар, 10:16 #275 #681221

>>681165
ебаный_стыд.jpeg, совсем объебался, спасибо, анон.

09 Мар, 10:20 #276 #681223

>>681213
Заебись, а чего дальше с этими битами делать предлагаешь? По одной штуке писать в файл? Аппендить к какой-то строке миллионы раз? Время-то замерял?

До напиевского fromfile я уже добрался, однако на первый взгляд было медленнее (аж в два раза). Заменил словарь vals на лист - 17 секунд!

Почему доступ к int'овым ключам словаря насколько медленнее, чем к байтовым? http://ideone.com/cAWzu4

Ответы>>681224>>681233>>682556

09 Мар, 10:22 #277 #681224

>>681223
Оригинал постер срал этими битами в файлы текстом. Хуй знает для чего оно ему.

09 Мар, 10:34 #278 #681233

>>681223
Ну на тебе аскибайты, которые можно tofile
http://pastebin.com/pea0nbMS
Но опять же, мне кажется там должна быть какая-то нагрузка и писать биты текстом дебилизм.

Ответы>>681252

09 Мар, 11:13 #279 #681252

>>681233
Блин, не честно так. Не знал, что нампи и битовые операции может к массиву так легко и быстро применять.

>там должна быть какая-то нагрузка и писать биты текстом дебилизм.
Ну мало ли, псевдошифратор ЦП какой-нибудь, где прочитав потом заново эти раздельные биты получаешь 16 картинок.
Вообще, только сейчас, блин дошло, что это банальный interleaver получается, надо было его имплементации в интернетике и искать.

Я только так смог http://pastebin.com/EwrGGS13 :
real 0m10.025s
user 0m26.737s
sys 0m2.135s

Твоё же, считай, мгновенно (меньше секунды). С другой стороны, использовать нампи это считай использовать C extension'ы.

Ответы>>681270

09 Мар, 11:16 #280 #681258

>>681219
Ну а почему остальные не надо так делать, и зачем вообще две пары скобок там?

Ответы>>681262>>681270

517 Кб, 1224x1632

09 Мар, 11:20 #281 #681260

Доктор говорит чтобы я без каски на улицу не выходил.
А мама говорит что я очень умный и каска мне идет.

Ответы>>681270>>681636

09 Мар, 11:21 #282 #681262

>>681258
Скобки без слешей - это группировка найденного. Со слешем - просто символ, который ищешь в тексте, как любая буква.

09 Мар, 11:32 #283 #681270

>>681252
Numpy это очень хорошая вещь. Покрывает 90% возможного байтоёбства на уровне си. Сам питон конечно же медленный, зато на нём просто написать прототип, что-то вроде minimum viable product.

>>681258
Скобки могут значить очень разные вещи в регексах. Обычно это группы соответствия. У тебя там несколько именнованных групп соответствия, которые работают только в питоне, поэтому там префикс (?P<..>). Со слешами скобки идут как обычные символы (точно так же \+ \. \? и прочее). То есть твой код города должен находиться внутри скобок в тексте.

>>681260
Ну ты прям фанат. Программы-то где? Нахуй нам твоя мода

Ответы>>681287>>681315>>681763

09 Мар, 12:08 #284 #681287

>>681270
Да не, я так-то нампи люблю и уважаю, а тут что-т ума не хватило правильно впихнуть, поэтому пошёл длинным путём (хотя тоже, по-моему, не так плохо, по сравнению с топорным вариантом).

09 Мар, 12:19 #285 #681292

Вот есть пакет, он установлен. Я его хочу его форкнуть. Клонировал репозиторий. Как мне его теперь заюзать, чтобы он импортировался вместо установленного?

Ответы>>681296

09 Мар, 12:21 #286 #681296

>>681292
Симлинк поставить. Пердон ищет модули сначала в текущем каталоге. Либо pip install https://github.com/.../.../zipball/master

Ответы>>681301

09 Мар, 12:28 #287 #681301

>>681296
Нихрена не понял. Как вообще модули разрабатываются? Сильно сомневаюсь, что разрабы их переустанавливают после каждого коммита. Также сильно сомневаюсь, что нужно возиться с симлинками и менять что-то в папке с модулями. У меня есть файл, для которого нужна ещё не реализованная в модуле функциональность. Я клонирую модуль в подпапку, что дальше?

Ответы>>681306

09 Мар, 12:32 #288 #681306

>>681301
Допустим у тебя есть app зависящий от module.

ls app_dir:
app/ setup.py README

ls module_dir:
module/ setup.py README

cd app_dir
ln -s module_dir/module/ module

Теперь у тебя при запуске питона из app_dir можно импортировать и app и module. Причём изменения в module становятся доступны сразу же.

Ответы>>681406

09 Мар, 12:40 #289 #681315

>>681270

>>681270
А понял. Поиск идёт со скобками, но в именованную группу запишутся только цифры так как группа внутри этих скобок

09 Мар, 14:07 #290 #681389

Как ускорить загрузку страниц в виде хтмл?
Я юзаю requests, там просто делаю s = reqyests.Session()
Можно ли еще как ускорить работу?

Ответы>>681392

09 Мар, 14:09 #291 #681392

>>681389
В каком смысле ускорить?

Ответы>>681395

09 Мар, 14:12 #292 #681395

>>681392
Уменьшить время на загрузку хтмл
Даже в 20 потоков на все уйдет около 2 дней

Ответы>>681401

09 Мар, 14:17 #293 #681401

>>681395
Купить хороший интернет с большой скоростью и малым пингом.
Найти всех пользователей сайта и перерезать им кабели с интернетами.
Помочь мейнтейнеру сайта сделать его быстрее.
Accept encoding gzip попробовать. Хз

09 Мар, 14:20 #294 #681406

>>681306
Ясно, спасибо, сработало.
Теперь другой вопрос. В один файл автор свалил кучу классов. Я это попытался растащить по подпапкам (1 класс - один файл), но получилось дерьмо: при импорте файла сначала приходится писать имя файла, а потом имя класса. Как сделать так, чтобы класс шёл в модуль минуя имя файла? И как сделать, чтобы при написании import имя папки я получил импортированными все классы из файлов в этой папке в пространство имён с именем папки, а также класс из файла папкой выше - суперкласс всех классов в папке.

Ответы>>681414

09 Мар, 14:29 #295 #681414

>>681406
module/--init--.py:

from .file1 import Class1
from .file2 import Class2
from .file3 import Class3

Теперь

from module import Class3

Ответы>>681507

09 Мар, 15:37 #296 #681507

>>681414
спасибо, сделал

09 Мар, 15:40 #297 #681516

Requests иногда загружает html иногда как <html class='mobile'> , а иногда как <html class="desktop">
Как сделать так чтобы скачивался только desktop?

Ответы>>681523

09 Мар, 15:43 #298 #681523

>>681516
Лол. Реквестс здесь не при делах. User agent разве что установить можно. Так-то угадывать надо как сайтец это определяет, куки может какие-то надо ставить.

09 Мар, 16:21 #299 #681565

Парни, объясните одну вещь. Я программирую на С++ и достиг неплохого уровня, недавно ради расширения кругозора начал изучать скриптовые языки. Пока что прошел обзорные курсы на CodeCademy по JS, Ruby, Python, PHP. Судя по первым комментариям в этой теме, программисты Ruby и Python'a недолюбливают друг друга, верно? Сразу оговорюсь, я спрашиваю не для того, чтобы спровоцировать перепалку, а интересны мнения более опытных людей. Поэтому прошу: если отвечаете, то отвечайте по сути. И пусть другие комментарии будут просто мнением, а не объявлением войны.

Также мне интересно, насколько совпадают языки и их библиотеки по задачам, которые они призваны выполнять. То есть, степень: сильно совпадают, вполне совпадают, почти не совпадают и так далее. Лично мне более выразительным и красивым показался именно Ruby, но это впечатление сложилось у меня после знакомства с основами. Разбираться я все равно буду в обоих, чтобы составить окончательное мнение. В него я включу и мнения со стороны.

Заранее всем спасибо за ответы, и еще раз прошу воздержаться от бессмысленной ругани.

Ответы>>681567>>681568>>681574>>681580>>681605

09 Мар, 16:23 #300 #681567

>>681565
https://habrahabr.ru/company/radmin/blog/137497/

09 Мар, 16:24 #301 #681568

>>681565
Добро пожаловать на харкач, тут все недолюбливают всех по любому поводу. А если повода нет - он создается искусственно. Но в целом руби - умирающий язык одного фреймворка (рельс), без применений хоть где-нибудь вне веба. И работы на нем даже меньше чем на питоне.

Ответы>>681580

09 Мар, 16:31 #302 #681574

>>681565
> программисты Ruby и Python'a недолюбливают друг друга,
Нет. Это похожие языки и многие владеют обеими. Есть фанатики(в основнои среди рубистов, кстати) которые пытаются доказать как их болото лучше соседнего, в основном от незнания что в соседнем языке все аналогичные штуки есть, отличается только синтаксис немного(коко отступы и т.п.)

09 Мар, 16:34 #303 #681580

>>681568
> без применений хоть где-нибудь вне веба
Неправда, на нем ещё есть всякие тулзы типа chef, puppet и т.п.
> И работы на нем даже меньше чем на питоне.
Это видимо зависит от региона, в прибалтике RoR относительно популярен, хотя там почти везде php.
Слышал от хохлов жалобы что не могут найти работу на джанго, лучше бы учили RoR(хотя подозреваю они бы и на RoR работу не нашли).
>>681565
У питона область пременения намного больше. Кластеры-фигастеры, наука, системное администрирование, десктопные приложения, сетевые серверы.
На руби почти сплошной веб.

Ответы>>681587>>681659

09 Мар, 16:41 #304 #681587

>>681580
> chef, puppet
Которые выкидывают на помойку и заменяют в пользу ansible. Теперь давай еще homebrew вспомним и, и, и... все. Раби без рельс не представляет из себя никакого интереса. Да и вообще, когда не язык тащит за собой фреймворк а фреймворк тащит язык - с этим языком что-то не так.

Ответы>>681590

09 Мар, 16:45 #305 #681590

>>681587
Ещё у них дофига несовместимостей между даже минорными версиями. И интерпретатор был тормозной, но сейчас вроде допилили.

09 Мар, 16:45 #306 #681591

>раби
>end
>end
>end
Не, спасибо.

09 Мар, 16:55 #307 #681596

>>681096
Я люблю Зеда потому, что он не лицемерит когда говорит что некая хуйня являет собою адовое говно, чем страдает половина разработчиков на конференциях. Каждый раз смотря конференции охуеваю как людям говно в уши заливают А они и рады.
В этом плане он похож на Линуса и Мартина.

15 Кб, 358x604

09 Мар, 17:05 #308 #681605

>>681565
С моего дивана скажу следующее.
Python стал lingua franca современного CS, 95% книг его используют как основы для объяснения всяких штук, начиная от машинлернинга и заканчивая всякой веб архитектурой и скриптопарашей уровня баша. Знать его стоит, даже если не планируешь на нём серьезную разработку, хотя для прототипирования и быстрых решений это пожалуй лучший выбор в наше время, но в некоторых нишах его может потеснить тот же Go сейчас.

Про Ruby. Это отличный язык, но нишу Python ему уже не получить, а RoR сейчас заметно уступил рынок JS Meteor получил за пару лет 33к звезд на гитхабе, RoR за 10 лет получил 30к, нафф сэйд в плане быстрой разработки и решений, ну, реалии рынка поменялись, асинхронность, ультрамодульность, spa, изоморфность, всё такое.

В целом, учить можно любой, но с практической точки зрения выбор Python был бы разумнее, а если уж хочется вебдева, то тут лидеры php + js с огромным отрывом, но вот как раз их круг задач очень ограничен этим вебдевом, если же хочешь и вебдев django и flask откровенно НИОЧЕНЬ на фоне RoR и Sinatra в сфере быстрой прототипной разработки, где их и юзают крудошлепства то можно и Ruby.

Ответы>>681608

09 Мар, 17:10 #309 #681608

>>681605
> php
Но это pain in the ass. Разве что сайты - визитки клепать.
> django и flask откровенно НИОЧЕНЬ на фоне RoR
Обоснуй

Ответы>>681613

09 Мар, 17:18 #310 #681613

>>681608
>Но это pain in the ass. Разве что сайты - визитки клепать.
Я об этом и написал
>а если уж хочется вебдева, то тут лидеры php + js с огромным отрывом, но вот как раз их круг задач очень ограничен этим вебдевом

>Обоснуй
Декларативный подход рельсов с магией против более императивного джанговского, где большее количество вещей надо делать ручками.
Явно? - Да.
Разработка при знании инструмента медленнее? - Да.
Заказчик хочет быстрее и чтобы всё работало? - Да.
Такие дела. RoR мощнее Django заметно.

Flask - копия Sinatra, но развит меньше ввиду того, что всё таки Python не является языком который взлетел из-за вебразработки в отличии от Ruby.
Тащемта, достаточно открыть любые сайты с ремоут работой, даже тот же апворк, последний раз когда я смотрел - число вакансий для веб-питона кроме парсеров всяких было значительно ниже, тоже самое с remoteok и weworkremotely.

Может что-то поменялось конечно, но скорее просто Ruby вытеснили JS-ом.

Ответы>>681624>>681628

09 Мар, 17:29 #311 #681622

Ребзя, спасибо за ответы. Я планирую освоить оба языка, уже писал. Но вы помогли сориентироваться дальше. В веб-разработку я вряд ли буду углубляться, мне это не сильно интересно. Отходить от С++ тоже не собираюсь, эти языки я буду использовать в качестве дополнительных. Как здесь уже упоминали, для задач прототипирования, для работы с текстом, большими массивами данных - словом, там, где это удобно.

Вообще, если судить по основам, то рейтинг этих четырех языков я бы оформил так:
1. Ruby. Мне понравился больше всего с точки зрения ООП. Можно писать очень лаконично, что меня привлекает.
2. Python. Не понравилось то, что тут есть примеси в ООП. Например, чтобы высчитать количество элементов в списке, нужно передать его в функцию, а не вызвать метод этого списка. Я люблю, чтобы все было единообразно. Но в целом язык понравился, и я буду изучать его и дальше.
3. JavaScript. Не произвел особого впечатления, но в будущем все равно в нем разберусь. Пригодится знание такого инструмента. Из дополнительных средств попробовал jQuery - громоздкая ерунда. Хотя, может, я ее неправильно готовил?
4. PHP. Не понравился совершенно. На этом мое знакомство с ним закончено.

Все это вкусовщина.

Ответы>>682130

09 Мар, 17:30 #312 #681624

>>681613
> большее количество вещей надо делать ручками.
Ты конкретные примеры можешь привести?
В джанго очень много делается по дефолту, та же админка делается двумя строчками, писать больше надо только если какое-то поведение сильно отличное от дефолтных возможностей нужно.
> но развит меньше
В каком месте? Каких-то библиотек не хватает? Их миллион и очень мощные - шаблонизаторы, orm, всё что хочешь.
> Flask - копия Sinatra
> не является языком который взлетел из-за вебразработки
Тем не менее тот же wsgi появился сначала в питоне, а в рубе его содрали.

Ответы>>681628>>681646

09 Мар, 17:31 #313 #681626

Рабе из дед, не трогайте труп.

Ответы>>681627

09 Мар, 17:32 #314 #681627

>>681626
Кстати, мочу-рабиста пидорнули же, теперь рабитред вахтерить некому. Можно набигать и щитпостить.

Ответы>>681632

09 Мар, 17:32 #315 #681628

>>681613
>>681624

Парни, призываю вас остановиться. Не хочу, чтобы мой вопрос вылился в ковровое говнометание. Оно кому-нибудь надо?

Ответы>>681631

32 Кб, 500x375

09 Мар, 17:33 #316 #681631

>>681628
>Парни
>Ребзя
>Парни

09 Мар, 17:33 #317 #681632

>>681627
> мочу-рабиста пидорнули же
с чего ты взял?

Ответы>>681635

09 Мар, 17:37 #318 #681635

>>681632
С того что зк некоторое время не модерировался вообще, потом Абу объявил набор в модераторы, потом был перепилен прикрепленный ньюфаг-тред. Оттуда выкинули форс раби и воткнули жабу.
>В: Хочу стать программистом, какой язык учить?
>О: Английский + Java
Смекаешь?

Ответы>>681637

09 Мар, 17:38 #319 #681636

>>681260
Что из этого стоит почитать на досуге?

Ответы>>681638>>681642>>681763

09 Мар, 17:38 #320 #681637

>>681635
Не предполагаешь, что один и тот же человек может форсить то джаву, то руби?

Ответы>>681644

09 Мар, 17:39 #321 #681638

>>681636
ничего

240 Кб, 1298x1695

09 Мар, 17:42 #322 #681642

>>681636
пикрел почитай, там на питоне всё. есть в переводе на русский.

Ответы>>681645>>681926

09 Мар, 17:44 #323 #681644

>>681637
>В: Хочу стать программистом, какой язык учить?
>O: Python/Ruby + Английский. По руби читать то-то, по питону вот книжка какая-то, я питон не знаю.
Руби там висел слишком долго чтобы просто так исчезнуть. До питона/руби там был просто питон + английский. Алсо, раньше вбросы в рубитред вида gem install rabota удалялись а постер банился. Сейчас они висят и агрят купившихся на рубихайп дураков.

Ответы>>681651>>681653>>681656

09 Мар, 17:45 #324 #681645

>>681642
про что там? в двух словах плес

Ответы>>681654

09 Мар, 17:45 #325 #681646

>>681624
>Ты конкретные примеры можешь привести?
Мне лениво тратить на это время в интернете полно сравнений, даже на хабре, можешь считать что я только пиздеть горазд, всё равно я уже давно прототипированием и крудошлепством на скриптоязыках не занимаюсь.

Ответы>>681661

09 Мар, 17:49 #326 #681651

>>681644
> До питона/руби там был просто питон + английский
И что? Тогда руби-модера не было по-твоему?
> купившихся на рубихайп дураков.
ну ты-то не такой, это хорошо.

Ответы>>681652

09 Мар, 17:50 #327 #681652

>>681651
Рубисту неприятно.

Ответы>>681653

09 Мар, 17:51 #328 #681653

>>681644
> по питону вот книжка какая-то, я питон не знаю.
кстати это я писал, тред был, где мы вместе фак создавали.
>>681652
лол

09 Мар, 17:51 #329 #681654

>>681645
Ну вот например ты делаешь интернет-магазин книжек или ютуб и хочешь давать "рекомендации" на основе предпочтений других пользователей с похожими вкусами.
Там про алгоритмы для всякого такого.

Ответы>>681655

09 Мар, 17:52 #330 #681655

>>681654
Интересно. Спасибо.

09 Мар, 17:52 #331 #681656

>>681644
> рубихайп
Помойму он закончился лет 7 назад.

Ответы>>681658

09 Мар, 17:53 #332 #681658

>>681656
Эта страна всегда немного отставала.

09 Мар, 17:54 #333 #681659

>>681580
>Неправда, на нем ещё есть всякие тулзы типа chef, puppet и т.п.
...о которых не знает никто, кроме парочки фанбоев.

Ответы>>681667

09 Мар, 17:54 #334 #681661

>>681646
Я читал такие сравнение. Вот например первая ссылка в гугле https://bernardopires.com/2014/03/rails-vs-django-an-in-depth-technical-comparison/
Вывод:
Both Ruby on Rails and Django are outstanding frameworks for web development.
You can not really go wrong by picking either one of them. My suggestion is always to try both and figure out which one you’re more confortable with. The decision may come down to which language you prefer or which principle you want to follow: convention-over-configuration or explicit is better than implicit. With CoC you get automatic imports, controller instance variables are automatically passed to the view and writing tests is convenient. With explicit is better than implicit, it’s always obvious what the code is doing, even for those not familiar with it.

From my personal experience I prefer Django. I like Python’s explicitness and I love Django’s forms and the fact that the framework is more defensive (limited template language, null not enabled by default on model fields). I know however plenty of folks that can’t live without Rails’ magic and its superior testing environment.

09 Мар, 17:58 #335 #681667

>>681659
Нет, они популярны среди одминов, которые и руби то не знают.

Ответы>>681670

09 Мар, 18:02 #336 #681670

>>681667
Среди админов популярен ansible, очень удобно иметь платформу оркестровки и собственно свои скрипты на одном языке.

Ответы>>681671

09 Мар, 18:04 #337 #681671

>>681670
ансимбл тоже популярен успокойся.

09 Мар, 18:15 #338 #681681

>>679383
бамп

Ответы>>681684

09 Мар, 18:17 #339 #681684

>>681681
Ты учишь второй, он уже не развивается и прекратит поддерживаться через 4 года.

Ответы>>681690

09 Мар, 18:21 #340 #681690

>>681684
Я другой анон, просто тоже интересно.
Есть вообще что-то вроде кодекадеми, с третьим питоном?

653 Кб, 1106x924

09 Мар, 19:36 #341 #681763

>>681270
>Программы-то где?
Ты уровень моих книжек видел? Какие программы ты ожидаешь. Хотя, пару уже постил. Но в основном итт спрашиваю.

>>681636
>то из этого стоит почитать на досуге?
Если ты нуп, то Automating Boring Stuff - оче хороша. Да и остальные, несмотря на начальный уровень содержать примеры разносторонних проектов дающие как минимум представление "как бывает"

28 Кб, 580x387

09 Мар, 19:49 #342 #681795

Как в ёбанном 'gtk/pygtk' изменить положение/позицию виджета, чтобы он был вверху экрана?

Ответы>>681800

09 Мар, 19:53 #343 #681800

>>681795
Экрана? Или окна?

Ответы>>681806

09 Мар, 19:55 #344 #681806

>>681800
Экрана/монитора

Ответы>>681809

09 Мар, 19:57 #345 #681809

>>681806
Но ты виджеты рисуешь на окне, а не на экране.
Ты хочешь сделать что-то типа панели оконного менеджера?

Ответы>>681812

6 Кб, 680x436

09 Мар, 20:00 #346 #681812

>>681809
Чтобы главный виджет был вверху ёбанного экрана/монитора.

Ответы>>681815

09 Мар, 20:03 #347 #681815

>>681812
window.set_decorated(False)
window.move(0,0)
window.resize(gtk.gdk.screen_get_default().get_width(), 22)

Ответы>>681816>>681830

09 Мар, 20:04 #348 #681816

>>681815
Ну и always on top сделай его наверное

09 Мар, 20:18 #349 #681830

>>681815
Спасибо, анончик.

09 Мар, 20:37 #350 #681843

Анончик, подкинь ссыль на гитхаб с готовой Django - user.registration. Желательно с "раздолбленой" model.User.
А то чем, дальше тем непонятней.

26 Кб, 563x279

24 Кб, 966x186

09 Мар, 20:59 #351 #681869

kek

09 Мар, 21:40 #352 #681915

Анончик, объясни, пожалуйста, когда использовать map? Могу ли я забить на абсолютно всё хуй, использовать map вместо циклов и ебенить функциональщину везде где только можно?

Ответы>>681917>>681967>>682669

09 Мар, 21:43 #353 #681917

>>681915
Скорее всего говнокод получиться.
Да и вместо map удобней list comprehension использовать чаще всего, если ты не готовую функцию в map подсовываешь. Иначе лямбды придется городить да и в list comprehension можно сразу filter заебенить или 2 и более for

09 Мар, 21:52 #354 #681926

>>681642
Цвет обложки именно такой должен быть? Нашёл только с зелёной рамкой. 2008 года как я понял.

Ответы>>681931

09 Мар, 21:54 #355 #681931

>>681926
хз а автор тот же?

Ответы>>681939

09 Мар, 21:59 #356 #681939

>>681931
Тоби Сегаран 2008 год

Ответы>>681943

09 Мар, 22:01 #357 #681943

>>681939
Ну да та же. У меня была такая с пингвинами на обложке..

09 Мар, 22:24 #358 #681967

>>681915
map нынче генерит итераторы вместо списков, что далеко не всегда удобно. решай сам.

Ответы>>682091

10 Мар, 00:48 #359 #682091

>>681967
Лолд. Вот ето икспертиза. или ето тролленг?

Ответы>>682101>>682679

10 Мар, 00:55 #360 #682101

>>682091
Чёт мне нравится как хохлы ехидничают. Чего стоит только одно ДА ТЫ ШО на одесситский манер.

Ответы>>682120

10 Мар, 01:06 #361 #682120

>>682101
> ТА ТЫ ШО
фикс

10 Мар, 01:13 #362 #682130

>>681622
Руби силён в том что может строить DSL.
Питон силён в том что всё явно и просто.
Руби силён рельсами, хотя джанга уже почти доросла.
Питон силён numpy/научными пакаджами.

Оба языка в принципе те же сорта говнаповидла. Что в лоб, что по лбу. Основные отличия я тебе перечислил.

Ответы>>682131

10 Мар, 01:15 #363 #682131

>>682130
> уже почти
Вы заебали, что такого есть в рельсах чего нет в джанге, можете ответить? Конкретно.

Ответы>>682146>>682148

10 Мар, 01:24 #364 #682146

>>682131
mvc

10 Мар, 01:29 #365 #682148

>>682131
Много самоцветиков. Под джангу меньше и половина спизжена из рельс. В целом объективно мне похуй конкретные различия. Но то что рельсы это законодатель мод в вебе, по крайней мере прошлых лет, у меня сомнений нет. В принципе оно и понятно почему всё так. Руби более гибкий. Для вебразработки это важнее чем надёжность и ясность кода.

Например sass/haml сделаны изначально под рельсы, в джанге до недавних пор все ебались со всякими тормозными ломающимися джангакомпрессорами и до сих пор ебутся с кастрированной версией jinja. Кофескрипт похож на руби. Вот тебе например пакет для рельс: https://github.com/thoughtbot/factory_girl и его клон для джанги https://factoryboy.readthedocs.org/en/latest/ Ещё мне страшно не нравится south который вшили в джангу, работает как пиздец, DROP DATABASE становится любимой командой. Ещё блядь агрегация в джанго орм это сука отдельное шаманство, часто уже и SQL про себя написал и сидишь гуглишь как это сделать через annotate.

Ответы>>682155>>682160>>682161

20 Кб, 312x236

37 Кб, 306x370

10 Мар, 01:36 #366 #682155

>>682148
sqlobject в рельсах тоже примитивный вроде как. в джанге можно алхимию с боку присобачить или raw sql написать.
> рельсы это законодатель мод
Они одновременно с джангой вышли

В руби тоже из мира питона тащат то то удачно вышло, это работает в обе стороны.

10 Мар, 01:42 #367 #682160

>>682148
Насчет миграций - я вообще проблемы не понимаю. Их надо просматривать и править руками конечно, но это всегда так. Плохой API для этого? Да вроде норм.

Ответы>>682167

10 Мар, 01:43 #368 #682161

>>682148
Я до того как впилили south использовал какие-то другие миграции, попроще, мне больше нравилось. Только их штуки 3 было альтернативных библиотеки для этого.

10 Мар, 01:47 #369 #682167

Ох. Сейчас я вам исчо накатаю про джангу.

Роутинг через регексы.. Ну хуй с ним, пусть живёт, хотя регексы могут легко пересекаться и для скоупа мне приходится их копировать по многу раз. Страшнее другая хуитка: джангисты привыкли задавать алиас названию вьюхи, заместо 'myapp.views.login' они обязательно сделают алиас 'myapp:login' хотя он по сути нахуй не всрался.

Меня бесит подключать staticurl в темплейты. Сука просто нахуй бесит.

Тайтлы моделей не могут в словоформы кроме английских. 2 ПРОДУКТОВ ДОБАВЛЕНО

Джангомодуль не работает без файла с моделями. Вот хоть пустой но надо.

Никто толком не умеет использовать DJANGO_SETTINGS_MODULE, все ебутся с import local_settings.

Меня трисёт от того что я не могу примитивы админки просто импортировать в своё приложение и использовать.

>>682160
Плохой конечно. Лучше всего это вычисление diff между желаемой схемой и существующей в БД, и применение минимального пути модификаций. А так мне надо коммитить твоё говно из migrations, заставлять людей ждать по полдня чтобы все миграции выполнились, самому периодически нахуй сносить все эти миграции когда их становится много, починять это срань когда модели нестандартные (вроде mptt всяких). САМИ ЖРИТЕ СВОЁ ГОВНО. НЕТ НЕТ НЕТ!

Ответы>>682175

10 Мар, 01:59 #370 #682172

Кстати spaceless тег страшно тормозной. Он блядь регексами постобработку хтмла каждый раз делает. Охуеть.

Ответы>>682179

10 Мар, 02:02 #371 #682175

>>682167
> Никто толком не умеет использовать DJANGO_SETTINGS_MODULE
Неправда. Многие умеют. local_settings - устаревшая практика, раньше так делали, да.
> мне приходится их копировать по многу раз.
Что? Зачем?
> периодически нахуй сносить все эти миграции когда их становится много
Зачем?
> diff между желаемой схемой и существующей в БД
И как ты угадаешь что там и как менялось? Магически? Если ты например вынес что-то в другую модель и т.п. А миграция данных как будет проходить, которая часто нужна иначе данные потеряются или вообще всё сломается.

Вообще на реальных проектах с кучей данных ты alter table хрен зделаешь без остановки всего надолго. Это другая проблема.

Ответы>>682183

10 Мар, 02:02 #372 #682176

Алсо, я совсем нихуя не понимаю зачем в корку вводят сущность Site. Такое же говно было в мадженте. Блядь, нахуя оно? Я нигде не видел чтобы его использовали.

Ответы>>682178

10 Мар, 02:04 #373 #682178

>>682176
Оно тебе мешает чтоли? Может пригодиться.

Ответы>>682183

10 Мар, 02:04 #374 #682179

>>682172
Не используй его. Нафиг он вообще нужен, тем более, если ты gzip`ом страницу жмешь это бесмысленно.

Ответы>>682183

10 Мар, 02:06 #375 #682183

>>682175
Мне насрать на данные. Я разрабатывать хочу быстро. Я хочу syncdb и не ебать себе мозг. На продакшене это всё конечно же руками будут делать. Да и к тому же автоматика может показать какие данные проебутся, а вот блядская миграция всё молча дропнет.

>И как ты угадаешь что там
Интроспекция, йоба. БД показывают свои схемы. Соответственно набор необходимых альтеров можно вычислить.

>>682178
Так почему бы ему не съебать в отдельный пакадж?

>>682179
Он должен отрабатывать compile-time, а не каждый раз потом.

Ответы>>682205

10 Мар, 02:20 #376 #682205

>>682183
> Он должен отрабатывать compile-time
Ну так запили так. Можешь потом патч прислать им.
> Интроспекция, йоба. БД показывают свои схемы.
Это понятно. Непонятно - ты переименовал и перенес какие-то колонки, вынес данные из одной модели в отдельную, как она узнает какие и куда?

Ответы>>682223

10 Мар, 02:26 #377 #682223

>>682205
Никак не узнает. На локалхосте это нинужно. Новых данных набьёшь. Во всяком случае я сомневаюсь что админы продакшена будут запускать миграции джанги на живом серваке. Это такая глупая попытка переложить ответственность на разработчиков. Разработчики в свою очередь забивают хуй в пользу автоматики south. В итоге получаем ненадёжный мусор вместо ясного плана миграции.

Diff же может стать не просто кнопочкой сделать хорошо, а ещё и тулсетом-анализатором. В итоге админы могут например автоматически проверить все data loss/coercion на живых данных. South же просто разок спрашивает "ви таки уверены д/н", и разработчики на отъебись жмут да.

Ответы>>682230

10 Мар, 02:29 #378 #682230

>>682223
Ну была библиотека которая типа diff делала как ты хочешь. Вот
https://github.com/beanbaginc/django-evolution
Вот тут ещё какие-то есть не пробовал
https://www.djangopackages.com/grids/g/database-migration/

Ответы>>682233

10 Мар, 02:32 #379 #682233

>>682230
Да не, ок. Я даже сам такое делал. Удобно пиздец. Просто тот факт что в джангу вшили south означает что 99% проектов будут использовать south, и всегда найдётся куча ОДЕПТОВ которые будут меня критиковать за то что НИСТАНДАРТНО.

Ответы>>682236>>682237

10 Мар, 02:33 #380 #682236

>>682233
Ещё до того как её вшили большинство использовало south.

Ответы>>682240

10 Мар, 02:34 #381 #682237

>>682233
И вшили его туда по просьбам трудящихся.

Ответы>>682240

10 Мар, 02:37 #382 #682240

>>682236
>>682237
Ну вот и трудитесь, няши. Удачки.

10 Мар, 10:14 #383 #682414

Посоны, как сделать так, чтобы поток ожидал снятия блокировки (threading.Lock) и только потом выполнял код?

Ответы>>682418

10 Мар, 10:21 #384 #682418

>>682414
lock.acquire() будет блокировать поток пока этот lock не освободится
http://www.bogotobogo.com/python/Multithread/python_multithreading_Using_Locks_with_statement_Context_Manager.php

Ответы>>682420

10 Мар, 10:21 #385 #682420

>>682418
Или просто with statement используй как по ссылке.

10 Мар, 10:23 #386 #682422

Спасибо!

10 Мар, 10:31 #387 #682430

popen как то кеширует данные в pipe?
Мне нужно перегнать несколько Gb данных через него и не словить OutOfMemmory

Ответы>>682442

10 Мар, 10:51 #388 #682442

>>682430
Ну какбе пайп сам по себе это такой буфер, ОС ограничивает его размер. То есть send на передающей стороне в случае чего заблокируется.

10 Мар, 13:33 #389 #682522

from subprocess import Popen, PIPE, STDOUT
import json
import sys

ps = Popen(['ps', 'fax'], stdout = PIPE)
proc = Popen (['grep', 'grep'], stdin = ps.stdout, stdout = STDOUT)
proc.wait()
input("PRESS ENTER TO CONTINUE.")

>Traceback (most recent call last):
> File "popen_test.py", line 6, in <module>
> proc = Popen (['grep', 'grep'], stdin = ps.stdout, stdout >= STDOUT)
> File "/usr/local/lib/python3.5/subprocess.py", line 950, >in __init__
> restore_signals, start_new_session)
> File "/usr/local/lib/python3.5/subprocess.py", line 1544, >in _execute_child
> raise child_exception_type(errno_num, err_msg)
>OSError: [Errno 9] Bad file descriptor

Почему не работает?

Ответы>>682654

10 Мар, 14:14 #390 #682556

>>681223
>Почему доступ к int'овым ключам словаря насколько медленнее, чем к байтовым? http://ideone.com/cAWzu4
Бамп вопросу. Я в теории кампутер саенса не шарю, как там это хеширование происходит конкретно.

10 Мар, 15:43 #391 #682636

Товарищи, выручайте. Не могу завести python-magic на венде. Дллки скачаны и прописаны в %PATH%, magic.mime и magic.mgc скачаны и прописаны в %MAGIC%, мэджик их ВИДИТ, но ругается длинным списком на каждую строку файла magic.mgc чем-то вроде "Warning: 'blabla' type invalid!". Олсо, большинство этих строк в консоли отображается кракозябрами, мб с кодировкой чего не так (хотя при этом другие строки вполне нормально указывают какие-то типы MIME).
Все уже перетыкал, что на stackoverflow нашел.

Ответы>>682654

10 Мар, 16:07 #392 #682654

>>682636
>на венде
Дальше не читал.

>>682522
Надо: proc = Popen(['grep', 'grep'], stdin = ps.stdout, stdout = PIPE)
Почему? Потому что ты делаешь proc =, т.е. пытаешься получить вывод в питоне. А STDOUT выводит напрямую в терминал. Питон в данном случае последний элемент пайпа и для захвата вывода ему надо выводить на пайп.

Ответы>>682704>>682722

10 Мар, 16:18 #393 #682669

>>681915
List comprehension > map > for
Но все зависит от задачи, лямбды медленней фора, если не ошибаюсь. Читал у Лутца.

10 Мар, 16:29 #394 #682679

>>682091
А что не так?

10 Мар, 16:49 #395 #682704

>>682654
>Дальше не читал.
Пошел ты нахуй красноглазик
питон и на венде работает, а ты собака.

Ответы>>682707>>682756

576 Кб, 280x223

10 Мар, 16:51 #396 #682707

>>682704

Ответы>>682709

10 Мар, 16:54 #397 #682709

>>682707
Хорошо, что ты прекрасно справился с самоидентификацией.

10 Мар, 17:08 #398 #682722

>>682654
>Потому что ты делаешь proc =
Я делаю proc = потому, что питона не знаю.
Мне не нужно обрабатывать вывод в скрипте, мне надо сразу напрямую в терминал

Ответы>>682726

1 Кб, 489x91

10 Мар, 17:12 #399 #682726

>>682722

Ответы>>682744

40 Кб, 1032x901

10 Мар, 17:21 #400 #682735

Анончик, как в 'pygtk' сделать список с кнопками, чтобы ещё и прокручивался по горизонтали?

Ответы>>682740>>682779>>682987

10 Мар, 17:22 #401 #682740

>>682735
Зачем ты пикрелейтишь такое
двач же забанят

Ответы>>682741>>682742

10 Мар, 17:23 #402 #682741

>>682740
>Зачем ты пикрелейтишь такое
Учи мемесы чтобы не быть батхертом.

Ответы>>682748

10 Мар, 17:24 #403 #682742

>>682740
Прикрепил по ошибке. Каюсь.

10 Мар, 17:25 #404 #682744

>>682726
Понятно, благодарю.

10 Мар, 17:26 #405 #682748

>>682741
Ок

10 Мар, 17:30 #406 #682756

>>682704
Это сложно назвать "работает". Так, подрабатывает. Ты же сам вот пишешь, какая это боль. На никсах или яблоке всё в два клика команды делается и чинится почти всегда.

Ответы>>682785

37 Кб, 885x275

10 Мар, 18:05 #407 #682779

>>682735
Как-то так по-идее

Ответы>>682804

10 Мар, 18:08 #408 #682783

Всё пизда пацаны. Роботы победили.
https://www.youtube.com/watch?v=l-GsfyVCBu0

Ответы>>682784

10 Мар, 18:08 #409 #682784

>>682783
Да который раз уже. Только игру сменили. Ничего нового.

Ответы>>682786>>682794

10 Мар, 18:11 #410 #682785

>>682756
>Ты же сам вот пишешь, какая это боль
Маняфантазии. Скрываю тебя

10 Мар, 18:11 #411 #682786

>>682784
До сих пор не могли создать программу, которая выигравала бы в го. Даже не у самых сильных игроков.
Был даже приз в миллион долларов для того кто такой алгоритм создаст.

10 Мар, 18:11 #412 #682788

Какой агрессивный и одновременно безрукий виндузятник.

Ответы>>682790

10 Мар, 18:14 #413 #682790

>>682788
Маняфантазии

10 Мар, 18:17 #414 #682794

>>682784
Как считается, сложность го для компьютера (по сравнению, например, с шахматами) вызвана двумя основными факторами:
Большое число вариантов ходов[57]. В шахматах в начальной позиции существует 20 разных ходов, в го — 55, с учётом симметрии доски, но после нескольких первых ходов позиция утрачивает симметрию и далее число возможных ходов становится практически равным числу оставшихся свободных пунктов. Дерево вариантов при попытке просчитать партию вперёд на несколько ходов растёт существенно быстрее: если в шахматах после четвёртого полухода может возникнуть порядка ста тысяч позиций, то в го их число превышает шестнадцать миллиардов. Такие масштабы полностью исключают возможность «механического» перебора позиций, которым, в значительной мере, берут нынешние шахматные программы.
Сложность формализованной оценки позиции. В шахматах давно и достаточно точно выработаны формальные критерии оценки позиции и определена сравнительная ценность фигур, а в го оценка позиции алгоритмизируется плохо. Компьютеру доступны пока только простейшие критерии качества позиции, что и определяет его возможности.
С 1987 года фонд Инга (Ing Foundation) проводит ежегодный турнир среди компьютерных программ, победители которого получают денежные призы. Самое известное предложение фонда: «The Ing Challenge» — 40 миллионов тайваньских долларов (около миллиона евро) за программу, способную победить чемпиона среди тайваньских любителей. Пока приз остаётся невыплаченным.

22 Кб, 281x280

10 Мар, 18:30 #415 #682804

>>682779
Да, только кнопки должны быть в горизонтальном скролле.

Ответы>>682807>>682809

10 Мар, 18:31 #416 #682807

>>682804
Ну я vbox создал, а ты hbox создай. без разницы

Ответы>>682808

10 Мар, 18:32 #417 #682808

>>682807
Скинешь исходники?

Ответы>>682811>>682813

55 Кб, 856x506

10 Мар, 18:32 #418 #682809

>>682804

10 Мар, 18:34 #419 #682811

>>682808
Какие исходники? Я просто в glade форму набросал.
Ну собственно без glade создаешь ScrolledWindow, внтурь добавляешь ViewPort, а в него hbox. На hbox pack_start/pack_end кнопки

Ответы>>682939

50 Кб, 756x499

10 Мар, 18:36 #420 #682813

>>682808

Ответы>>682814>>682816

29 Кб, 567x334

10 Мар, 18:37 #421 #682814

>>682813
Убрать вертикальный скролл тоже можно

Ответы>>682816

10 Мар, 18:40 #422 #682816

>>682813
>>682814
Спасибо.

10 Мар, 19:16 #423 #682861

Всем привет! Вопрос такой: три года на питоне, ушел из php. Недавно подкинули жирный заказ на сайтик, срок месяц. Хочу попробовать себя на джанге, но не знаю, осилю ли? Верстка и дизайн уже готовы. Стоит ли браться за джангу? Есть опыт с торнадо, если это хоть как-то улучшит ситуацию

Ответы>>682871

10 Мар, 19:20 #424 #682871

>>682861
Ну ты когда-нить с mvc фреймворками работал?
Вообще не вижу проблемы, возьми и почитай туториал по джанге это пол часа занимает.

Ответы>>682893

10 Мар, 19:28 #425 #682893

>>682871
Да конечно работал, codeigniter, kohana, yii... У меня есть шансы?)
Спасибо тебе, мил человек!)

Ответы>>682917

10 Мар, 19:36 #426 #682917

>>682893
Ну там принципы такие же - шаблончики, модели, объекты request/response, сессии, orm, формы.

10 Мар, 19:49 #427 #682939

>>682811
>ViewPort
не нужен же вроде. scrolledwindow + бокс внутри.

Ответы>>682946

56 Кб, 678x400

10 Мар, 19:56 #428 #682946

>>682939

10 Мар, 20:37 #429 #682987

>>682735
Анон, а почему pygtk, а не qt?

Ответы>>682999>>683231

10 Мар, 20:42 #430 #682999

>>682987
Вы заебали. Очень много советчиков qt, но софта почему на нем нихуя нет, особенно на pyqt/pyside. Вообще.
В тоже время на pygtk дофига известного софта - gajim, gwsmg, meld, mirage, deluge, exaile, pitivi и так далее

Ответы>>683006

10 Мар, 20:45 #431 #683006

>>682999

Не бугурти так.

10 Мар, 21:11 #432 #683058

Think Python есть на русском?

Ответы>>683077

10 Мар, 21:16 #433 #683070

Анон, совсем затупил за день.
Как мне проще передать на сервер через socket два числа, чтобы с ними провести операции? Я их превращаю в строку и отправляю, но если их кодировать в байты то мой сервер постоянно выводит с ними в строке b'.
Как от него избавиться или как мне задачу проще сделать?шесть пар было, правда туплю уже сижу.

Ответы>>683075

10 Мар, 21:18 #434 #683075

>>683070
import struct

10 Мар, 21:19 #435 #683077

>>683058
да, гуглится на каком-то то линукс форуме в первой строке

10 Мар, 21:34 #436 #683090

Такой, казалось, простой вопрос, но никак не соображу.
dict = {'k':'test'}
b = dict.get('k', None)

Теперь мне надо значение b перегнать в байты. При том что b может быть как строкой так и None. Как это сделать лаконично.

Ответы>>683091>>683099>>683108>>683172

10 Мар, 21:34 #437 #683091

>>683090
>Как это сделать лаконично.
Вопрос проебал. Нувыпонели.

10 Мар, 21:44 #438 #683099

>>683090
if isistance(b, str): b.encode
Это не лаконично?

Ответы>>683104

10 Мар, 21:47 #439 #683104

>>683099
Это лишняя строка.

10 Мар, 21:51 #440 #683108

>>683090
>Теперь мне надо значение b перегнать в байты. При том что b может быть как строкой так и None. Как это сделать лаконично.
Нахуя ты сам себе яму выкопал, а теперь её перепрыгнуть пытаешься?

Ответы>>683111

10 Мар, 21:52 #441 #683111

>>683108
Потому что это надо передавать в функцию, которая принимает только байты и None.

10 Мар, 22:07 #442 #683134

Умеет ли Володя Питун под Питона кодировать?

Ответы>>683135

122 Кб, 600x300

10 Мар, 22:09 #443 #683135

>>683134
На сосач быдло

Ответы>>683138

10 Мар, 22:10 #444 #683138

>>683135
Электорату Володи Питуна неприятна.

10 Мар, 22:25 #445 #683172

>>683090
b = d['k'].encode() if 'k' in d else None
В итоге так воткнул, и ни одной лишней строчки.

Ответы>>683175

10 Мар, 22:27 #446 #683175

>>683172
Говнокод

Ответы>>683176

10 Мар, 22:27 #447 #683176

>>683175
Дай вариант лучше.

Ответы>>683179

10 Мар, 22:29 #448 #683179

>>683176
Все говно.
foo = dict.get('k', '').encode() or None
Тоже говно и семантика другая

Ответы>>683183

10 Мар, 22:34 #449 #683183

>>683179
Выглядит чуть менее всрато. Взял твое, спасибо.

10 Мар, 22:56 #450 #683215

Питонач, посоветуй днище vps под джангохостинг.

Ответы>>683232>>683235

266 Кб, 869x676

10 Мар, 23:10 #451 #683231

>>682987
Анон, а почему тройка а не двойка?

10 Мар, 23:12 #452 #683232

>>683215
https://poiskvps.ru/

10 Мар, 23:15 #453 #683235

>>683215
https://lowendbox.com/

10 Мар, 23:28 #454 #683252

Аноны, с чего начать изучать kivy и какие есть гайды кроме того что на офф сайте?

10 Мар, 23:43 #455 #683273

Анон, я выучу питон? Скажи, что выучу. Я же смогу.

Ответы>>683276

10 Мар, 23:45 #456 #683276

>>683273
Зачем учить это бесполезное говно? учи сразу ruby или java. или с++

Ответы>>683278>>683280>>683303>>683312

10 Мар, 23:46 #457 #683278

>>683276
Зачем учить это бесполезное говно? учи сразу haskell.

Ответы>>683294

10 Мар, 23:46 #458 #683280

>>683276
>ruby
>не бесполезное говно
Ты же понимаешь что даже если полезешь за фактами то жиденько обосрешься, верно? Как и тысячи рабифанатиков до тебя.

10 Мар, 23:47 #459 #683282

Анон что мне выбрать двойку или тройку для новых проектов?

Ответы>>683287

10 Мар, 23:48 #460 #683283

Анон, что лучше выбрать новичку: фласк или джанго? Поясните за плюсы и минусы каждого.

10 Мар, 23:48 #461 #683286

Анон, как мне научиться гуглить и читать шапку?

10 Мар, 23:48 #462 #683287

>>683282
Двойку конечно. Под тройку тупо нет библиотек и дохуя проблем.

Ответы>>683290

18 Кб, 500x500

10 Мар, 23:50 #463 #683290

>>683287
Есть контакт.

Ответы>>683296

10 Мар, 23:51 #464 #683294

>>683278

Двачую.

10 Мар, 23:52 #465 #683296

>>683290
посмотри на pypi сколько библиотек поддерживают трешку.

Ответы>>683304

10 Мар, 23:55 #466 #683303

>>683276
Не могу в джаву. Сложно. ruby не хочу.

10 Мар, 23:55 #467 #683304

>>683296
Сколько депрекейтед говна было дропнуто с переходом на тройку. Говна, на которое забили не то что пользователи, но и авторы. А все что надо либо портировали, либо переписали.

Ответы>>683311

10 Мар, 23:57 #468 #683311

>>683304
И новые библиотеки никто не парится бекпортить на устаревшую двойку.

Ответы>>683316

10 Мар, 23:58 #469 #683312

>>683276
Есть только 2 нормальных языка программирования: лисп и ассемблер

10 Мар, 23:59 #470 #683316

>>683311
Многие новые библиотеки выходят под двойку потому что тройка никому нахуй не впилась кроме студентов.

Ответы>>683323>>683334

112 Кб, 499x499

11 Мар, 00:03 #471 #683323

>>683316

11 Мар, 00:16 #472 #683334

>>683316
На двойке продолжают сидеть вахтёры и нытики типа Ронахера.

Ответы>>683384

11 Мар, 02:01 #473 #683384

>>683334
Ронахер со своим РУСТом ебанулся.

38 Кб, 800x600

11 Мар, 08:08 #474 #683443

Вчера обращался на счёт 'pygtk' и 'ScrollWindow'. Вот.
Как можно сделать прокрутку списка с помощью кнопок? То есть, делаю кнопки, конекчу событие и список прокручивается.

Ответы>>683444

34 Кб, 586x497

11 Мар, 08:17 #475 #683444

>>683443
У scrolledwindow
adj=sw.get_hadjustment()
adj.set_value(adj.get_value()+10)
Короче идею понял.
Вроде можно этот adjustment как-то привезять к каким-то другим контролам сразу лень щас смотреть, но ты можешь просто повесть вот эту хрень на события кнопки

11 Мар, 12:18 #476 #683544

Изменение глобальной переменной всего одна на 3к строк из функции - зашквар или нет?

Ответы>>683547

11 Мар, 12:22 #477 #683547

>>683544
Нет. Глобальные переменные это не всегда плохо, иногда это даже незаменимо. Сейчас набигут кукаретики которые всё оборачивают в классы, даже main, даже аллаха.

11 Мар, 12:22 #478 #683548

>The WebAssembly project to improve the Web's performance now has experimental implementations in place for major browsers. In fact, WebAssembly could be ready this year on several browsers.
Заживем.

Ответы>>683549

11 Мар, 12:23 #479 #683549

>>683548
Нет/не для всего. Я уже пояснял почему.

Ответы>>683552

11 Мар, 12:25 #480 #683552

>>683549
>As a first step, in the minimal viable product, the goal is to ensure that a C/C++ program can be compiled to WebAssembly and run within the browser
Остальные языки тоже подтянутся. Или еще какие подводные камни есть?

Ответы>>683559

11 Мар, 12:30 #481 #683559

>>683552
Понимаешь, сишечка-то она компилируемая. И в среде asm.js у неё практически нет рантайма (нет например printf, cout, fopen, iostream и прочего, если ты конечно сам не подключишь облегчайзеры жизни из emscripten). А у питона есть довольно жирный рантайм, который тебе каждый раз придётся скачивать чтобы взлететь.

11 Мар, 12:37 #482 #683564

Хотя я на самом деле не знаю что будет если питон основательно обрезать до уровня интерпретатора. Но сомневаюсь что кто-то асилит. Ну по крайней мере pypyjs вроде как работают над этим.

Ответы>>683569

11 Мар, 12:42 #483 #683569

>>683564
Есть micropython для микроконтроллеров, например. Если уж змея туда пролезла то в веб, где люди на каждый чих подгружают жквери и ангуляр, пролезет тем более.

Ответы>>683582

11 Мар, 12:49 #484 #683582

>>683569
Ну знаешь ли, контроллеры тоже разные бывают. Я считаю что микропитон это скорее глупость чем полезность. Ну или способ помигать светодиодом совсем легко и быстро. Но в целом конечно вектор правильный, под asm.js лучше компилять вот такой вот минимальный рантайм.

Но во-первых нужно запилить систему импорта. Во-вторых вырезать/переделать всякие open/print и прочие билтины. В-третьих вырезать/переделать большую часть стандартной библиотеки. То есть даже с выходом полностью стабильного webassembly (хотя нахуя ждать ассембли если уже давно есть и работает emscripten+asm.js?) соответствующая реализация питона будет выходить ещё очень долго.

Ответы>>683754

11 Мар, 15:07 #485 #683754

>>683582
Что глупого-то? Я вот на работе планирую его использовать.

Ответы>>683832

11 Мар, 16:12 #486 #683832

>>683754
Под сишечкой микруху можно значительно дешевле брать для той же задачи. Вот почему.

Ответы>>684558

11 Мар, 17:14 #487 #683880

>>677889 (OP)
Пацаны, у меня тупой вопрос нуба.

#!/bin/python
import sys,random
from time import sleep

def GetRandString(parts,partlen,separator):
return separator.join(''.join(random.choice('0123456789ABCDEF') for x in range(partlen) for y in range(parts))
;

if len(sys.argv)==4:
for rows_counter in range(0,int(sys.argv[3])):
print(GetRandString(int(sys.argv[2]),int(sys.argv[1]),' '))
sleep(0.05)
elif len(sys.argv)==3:
try:
while True:
print(GetRandString(int(sys.argv[2]),int(sys.argv[1]),' '))
sleep(0.05)
except KeyboardInterrupt:
print('')

Как правильно определить функцию чтобы потом на if не ругалось?

Ответы>>683914

11 Мар, 17:28 #488 #683897

Смотри, анон, кокая годнота https://github.com/alexjc/neural-doodle

11 Мар, 17:42 #489 #683914

>>683880
Все ОТСТУПЫ сломал, еблан, пастебин для кого придумали?

Ответы>>683915

11 Мар, 17:43 #490 #683915

>>683914
Вот
http://pastebin.com/DFHqpjxK

Ответы>>683936>>683943

11 Мар, 17:59 #491 #683936

>>683915
И че ты хотел сделать?
Чтоб в функцию разное кол-во переменных передавалось, гугли args kwargs.
Если рабочую консольную утилиту, то гугли arg parser'ы всякие. https://docs.python.org/3/library/argparse.html
Или сорцы входящих в поставку утилит.

Ответы>>683962

11 Мар, 18:05 #492 #683943

>>683915
''.join(random.choice('0123456789ABCDEF') for x in range(partlen)
Для этого есть random.sample

Ответы>>683965>>684399

11 Мар, 18:21 #493 #683962

>>683936
>И че ты хотел сделать?
Хуевую консольную утилиту.

И таки разобрался. Скобку проебал.

Ответы>>683969

11 Мар, 18:24 #494 #683965

>>683943
Сэмпл вернет список байтов а мне нужны строки.

Ответы>>683978

4 Кб, 420x158

11 Мар, 18:26 #495 #683969

>>683962
проверку аргументов ещё заебашь.

11 Мар, 18:34 #496 #683978

>>683965
Чего? Каких байтов, наркоман?
In [1]: s='0123456789ABCDEF'

In [2]: from random import sample as sam

In [3]: sam(s, 10)
Out[3]: ['3', 'B', 'D', '8', '9', 'C', '5', 'E', '0', 'A']

In [4]: ''.join(sam(s, 10))
Out[4]: '6381AD25CB'

Ответы>>683982

11 Мар, 18:36 #497 #683982

>>683978
Окей, в глазки надо меньше ебстись.
Сейчас переделаю с сэмплом.

11 Мар, 18:40 #498 #683986

Как-то так вышло
http://pastebin.com/JHd6LYc7

11 Мар, 18:43 #499 #683990

Нее, хуйня вышла
сэмпл ругается если я пытаюсь сделать комбинацию из 20 символов (больше 16 на самом деле)

Ответы>>684008

11 Мар, 18:50 #500 #683999

>>683993
Да я ж нубло тупое в питоне. Пусть зубры пилят. А то впердолю хуйню в шапку и краснеть потом.

Ответы>>684001

11 Мар, 18:51 #501 #684001

>>683999
Шапку не сложно сокипастить, ничего нового не надо. Ну и да, №500 пилит перекат.

11 Мар, 18:57 #502 #684008

>>683990
А, ну значит он без повторов выбирает.

11 Мар, 18:58 #503 #684009

>>684002
>NameError: name 'perecot' is not defined

11 Мар, 19:00 #504 #684012

>>684002
Вот
https://2ch.hk/pr/res/684010.html (М)

11 Мар, 19:01 #505 #684013

Сами напросились. Пили перекот да пили перекот бля.

11 Мар, 19:02 #506 #684018

>>684011
да похуй вобще, оставь два for. Как осилишь итераторы, генераторы на них все перепишешь.

11 Мар, 22:05 #507 #684391

https://corp.mail.ru/ru/press/events/189/
18 марта, в пятницу, приглашаем на MoscowPython Meetup 33 в офис компании Mail.Ru Group.

Ответы>>684396>>686878>>686883

sage 11 Мар, 22:09 #508 #684396

>>684391
Нахуй иди.

11 Мар, 22:10 #509 #684399

>>683943
random.sample это не тоже самое
> Chooses k unique random elements

11 Мар, 23:56 #510 #684558

>>683832
Ты так говоришь будто из своего кармана платишь. Вон плисы все берут и похуй, что оверхед, главное быстро и гибко.

13 Мар, 22:45 #511 #686872

Кто нибудь пользуется Ipython (консоль-редактор)? Чото я забался закрывать редактор, открывать коносоль, вводить алиас на выполнение. Есть туториал на русском7 Чо там как делать?

13 Мар, 22:48 #512 #686878

>>684391
Возмите меня на Почту, я умею в sort()

13 Мар, 22:51 #513 #686883

>>684391
Ты здесь? Ты из Почты? Запиши на телефон вот эту и выложи на ютуб: Лев Тонких, Rambler&Co «iPython & Jupyter: 4 fun & profit» На русском совсем нет инфы по ipython

18 Мар, 01:24 #514 #691259

Посоны, прохожу питон на кодакадеми, довольно часто лезу в подсказки и чувствую себя мегатупым. Это нормально? Или я обречен? Самообразовываюсь после вьебинга на работе, может от усталости так хуево въезжаю? Вроде и орехи ем. Я расстроен, короче.

19 Мар, 16:30 #515 #692471

Я пытаюсь скачать через requests html-текст с вот этого сайта http://www.goodreads.com/
Использую requests.Session
Но я не знаю какие headers передавать чтобы скачать именно mobile версию, а не desktop
Можете помочь?

715 Кб, 1952x3264

Аноним 31 Мар, 17:33 #516 #704155

>>679022
ой умри нахуй пидарас и мама твоя пусть умрет нахуй и твой отец пусть умрет нахуй, а твоего деда я ебал, понял?

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 5 апреля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion