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

Этого треда уже нет.
Это копия, сохраненная 9 апреля 2016 года.

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

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

9 Кб, 300x250

Python Аноним 11 Мар, 19:00 #684010 В конец треда | Веб

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

2.х или 3.х: 3

Ответы>>684148>>686540>>690426>>690809

11 Мар, 20:02 #2 #684148

>>684010 (OP)
Кек, ну вы поняли, да? У него питон в штанах))

134 Кб, 566x800

11 Мар, 21:56 #3 #684377

Поясните ньюфагу, Питон умеет с Firebird и 1c работать? Только не бейте за тупой вопрос.

Ответы>>684382>>691031

11 Мар, 21:58 #4 #684382

>>684377
google: python 1c
google: python firebird

Судя по всему может.

11 Мар, 22:11 #5 #684401

https://corp.mail.ru/ru/press/events/189/
18 марта, в пятницу, приглашаем на MoscowPython Meetup 33 в офис компании Mail.Ru Group.

Ответы>>684406>>684413

sage 11 Мар, 22:12 #6 #684406

>>684401
Мамку свою пригласи, петух.

Ответы>>684410

11 Мар, 22:13 #7 #684410

>>684406
Вы грубиян.

Ответы>>684414

11 Мар, 22:15 #8 #684413

>>684401
Какая-то муть про тестирование ТЕМНЫХ ЗОН, ipython notebook, и гвоздь программы!
>«Новички в Python: как жить дальше?»
Вам самим не лень ради такого собираться?

Ответы>>684420

sage 11 Мар, 22:16 #9 #684414

>>684410
Пошел на хуй и парашу свою забери.

Ответы>>693157

11 Мар, 22:18 #10 #684420

>>684413
Тусовочка главное. Тянку можно подцепить из hr.

Ответы>>684423>>684706

11 Мар, 22:20 #11 #684423

>>684420
Мой питон уже привык к руке.

Ответы>>685478

12 Мар, 00:10 #12 #684582

>>683832
>>684558

Ответы>>684695

12 Мар, 03:15 #13 #684695

>>684582
Ну я из своего, хобби всё-таки.

12 Мар, 03:31 #14 #684699

Подскажите софтину для формирования todo листа для своего проекта. Под линь.

Ответы>>684700>>684758>>685288>>685307>>688469

186 Кб, 947x475

162 Кб, 960x664

120 Кб, 1200x674

91 Кб, 997x650

12 Мар, 03:35 #15 #684700

>>684699
Пишешь в комментах к коду # TODO а потом грепаешь :3
В ide и даже vim это поддерживается вообще https://www.jetbrains.com/pycharm/help/using-todo.html
Если юзаешь гитхаб или аналог можешь там создавать issue
Можно юзать софт типа redmine, trac, jira, basecamp

Ответы>>685297

12 Мар, 04:17 #16 #684706

>>684420
ХАХАХАХАХАХАХАХАХАХХАХААХХАХААХ
и еще
ХАХХААХХАХАХАХААХ
АХАХАХАХАХА БЛЯ

Ответы>>684707

12 Мар, 04:20 #17 #684707

>>684706
Хех. А ведь правда, тяночки хр таки смотрят на кодеров свысока. Такой-то синдром вахтёра, когда от тебя зависит чья-то судьба, прямо выше себя чувствуешь в иерархии.

12 Мар, 07:36 #18 #684758

>>684699
Зачем тебе софт, если есть trello?

Ответы>>685297

12 Мар, 07:43 #19 #684759

Зачем тебе софт, если есть .txt/.md?

Ответы>>684760

189 Кб, 881x656

50 Кб, 561x473

36 Кб, 460x389

12 Мар, 07:51 #20 #684760

>>684759
лорчую кстати. нафига какой-то лишний софт если можно в текстовом файле просто записать.
ну на крайняк gnote/tomboy - там есть синхронизация и есть клиенты для мобилок

12 Мар, 09:08 #21 #684768

Вкатился в Django > Написал туториал App. А что, собственно, делать дальше? Ни с PHP, ни с общей парадигмой разработки в вебе не знаком. Куда копать? Для первого проекта хотелось бы запилить landing-page.

Ответы>>684769

12 Мар, 09:10 #22 #684769

>>684768
Копай отсюда и до того забора: https://docs.djangoproject.com/en/1.9/

Ответы>>684770>>684773

12 Мар, 09:14 #23 #684770

>>684769
Или книжку пусть почитает. 2 scoops of django например.

12 Мар, 09:21 #24 #684773

>>684769
Я тебе написал. Я не знаком с парадигмой разработки в вебе. Я понял как работает Django. Я могу написать в нём простенький апп. Чего я не знаю, так как этот апп превратить в нормальный веб-сайт. Изначально хотел копать в сторону готовых landing-page'й на GitHub, но там какие то HTML\CSS\JS фреймворки. Понимаю, что вопрос несколько расплывчатый, но что мне взять для создания первого полноценного сайта. Полагаю, это должна быть связка из: Django, Memcached\Redis(Не особо понимаю что это, так что хотелось бы по подробнее об этом узнать), какие то HTML\CSS\JS фреймворки + какая то база данных + какой то вебсервер(Хотя чёрт с ним, с вебсервером. Реквестирую хотя бы предыдущие пункты.). Возможно есть книга-туториал, которая хоть мельком, но проходится по всем этим пунктам. Еще раз, для особо мееедленных. Какой пул технологий нужно знать для постройки полноценного сайтика?

Ответы>>684775>>684820

12 Мар, 09:25 #25 #684775

>>684773
Ну для начала надо знать html, основы http, как работают всякие формы и куки/сессии..

Ответы>>684777

12 Мар, 09:26 #26 #684777

>>684775
Охуительно подробный ответ. Вот прям, блять, всё сразу ясно стало.

Ответы>>684786

12 Мар, 09:48 #27 #684779

Дайте ссыль на вайпалку

Ответы>>684782

12 Мар, 10:01 #28 #684782

>>684779
Вайпалку чего?

12 Мар, 10:31 #29 #684786

>>684777
HTML не такой простой как кажется. Например нельзя <div> вставлять в <p>. Или нельзя <div> вставлять в <span>. Тегов много разных. HTML4 можно уже не учить, только пятёрку. Читай htmlbook.ru

CSS тоже не простой. CSS3 селекторы намного мощнее чем CSS2. Вместо трюков с float сейчас надо учить flexbox. Соответственно специфику CSS2 тоже учить не нужно.

JS очень не простой язык. Особенно после выхода ES6 и появления кофескрипта. Сначала учится чистый жс, затем по желанию кофе. Актуальная версия до сих пор ES5, ну и её изучение поможет понять прототипы. ES6 по большей части сахарок вынутый из кофе. Хороший ресурс javascript.ru

HTTP протокол далеко не прост как кажется. Множество статусов, множество возможностей управления соединением. Множество кодировок, передача файлов итд. Про это всё лучше знать чем не знать. Актуален 1.1, но уже грядёт бинарный 2.

REST протоколы сейчас тоже актуальны, но моё мнение что они реально нужны как апи вебсайта для третьих сторон, нежели его основа. Хотя многие с этим не согласны. Во всяком случае ознакомиться стоит, он интенсивно использует возможности HTTP.

WebSockets/ServerSideEvent позволяют преодолеть пассивность HTTP протокола. Связь соответственно двухсторонняя и односторонняя. Желательно так же глянуть на тот треш который творили до их прихода: comet, long polling (на javascript.ru есть раздел про ajax).

Далее DOM/jquery. Это такое апи браузера для жаваскрипта. В целом в новых браузерах можно вынимать элементы по селектору и без жквери, но жквери содержит много всего полезного на все типичные случаи. К тому же версия 2 специально обрезана от всякого легаси под более-менее новые браузеры. Касательно DOM, хотя жквери и покрывает 99% его использования, нужно хотя бы иметь представление что эти интерфейсы стандартизированы, и вот например даже с стандартной библиотеке питона есть апи для etree которое сгенерировано по стандартным IDL прямо с w3c. Здесь же стоит почитать про events и как они в браузере генерируются, распространяются и отрабатываются.

Далее хипстерская часть: имеет смысл изучить один из жс фреймворков: ангуляр/реакт/нокаут/тысячи их, и срачи между ними не кончаются. Мне больше всего реакт понравился. Так же есть заготовки типа бутстрапа/foundation, которые позволяют верстать более-менее красиво и адаптивно (тобишь под всё сразу и под мобилки, и под планшеты, и под десктопы) не понимая ничего в вебдизайне.

Далее очень хорошо почитать про вебдизайн в целом. Про шрифты, про графические форматы, про атласы спрайтов и прочие интересные техники. Про юзабилити/UI/UX. ВОТ ТЕПЕРЬ МОЖНО СОЗДАТЬ ХОРОШИЙ ЛЕНДИНГ.

ТЕПЕРЬ БЕРЁМ ДЖАНГУ. И пишем наш пока что простой вебсайт. Гоняем хуйлоады, понимаем что наш сайт страшно проседает, начинаем думать как нам убрать ботлнеки: избавляемся от лишнего IO, кешируем темплейты, кешируем целые вьюхи (кстати на русском PyCON 2015 есть отличные доклады на эту тему и тему кеширования в целом), далее понимаем что наш путь nosql и распределённость базы данных, дальше я ничего рассказать не могу, сам мало знаю.

Касательно вебсервера, обычный выбор: nginx + uwsgi. Нужно почитать про его опции, открыть статикфайлы, медиафайлы, кое-как настроить чтобы работало и чтобы никаких лишних файлов не раздавало как статику. Вот собственно и всё. Далее идёт трюкачество с load balancing, но это опять же в тему поддержки кластеров, можно особенно не трогать. Если конечно ты не хочешь стать devops.

Далее открываем свою контору, нанимаем макак, рекламщиков, продаванов, художников, дизайнеров, фотографов, сеошников, контентеров и идём к успеху.

Ответы>>684792>>684816>>685514

12 Мар, 10:35 #30 #684789

Ой, да, забыл ещё в хипстерскую часть добавить: coffeescript, babel, sass (для уёбков scss/less), compass, grunt (хотя я предпочитаю по старинке makefile лол), minimization (google closure compiler, sourcemaps).

Ответы>>684791>>685514

12 Мар, 10:38 #31 #684790

И ещё туда же: svg (оче, оче много возможностей, даже анимация), canvas, webgl (здесь целый ворох всякого говна уже есть, смотри threejs), webworker, localstorage, historyapi и кучи-кучи-кучи всякой хуеты которую навинтили в хтмл5 смотри caniuse.com
asm.js + emscripten для тех кто хочет пописать под веб на сишечке.

307 Кб, 1024x812

12 Мар, 10:38 #32 #684791

>>684789
Это нужно на GitHub, тот, что в OP посте. Большое спасибо, анон. По крайне мере теперь знаю куда копать. Если не подохну, заброшу и таки приду к успеху - буду выкладывать в тред.

39 Кб, 604x340

12 Мар, 10:42 #33 #684792

>>684786
> Гоняем хуйлоады, понимаем что наш сайт страшно проседает,
И переписываем всё на php с hhvm

Ответы>>684793>>684794>>684795

96 Кб, 600x600

12 Мар, 10:43 #34 #684793

>>684792
Настолько толсто, что даже тупо.

12 Мар, 10:44 #35 #684794

>>684792
Каким образом виртуалка, на которой крутится PHP код будет работать быстрее?

12 Мар, 10:45 #36 #684795

>>684792
Особый цимес кстати в том что, hhvm сделан на фреймворке от pypy.

Ответы>>684796

12 Мар, 10:47 #37 #684796

>>684795
Ты ничего не путаешь?

Ответы>>684801

12 Мар, 10:52 #38 #684801

>>684796
Путаю, всё ещё хуже. hhvm сосёт по производительности у HippyVM, который сделан на фреймворке от pypy. Но в любом случае съеби в пхп тред. Я ещё понимаю рельсы или ноду, но пхп это гроб и кладбище, настоящий фрактал отсоса.

Ответы>>684803

12 Мар, 10:56 #39 #684803

>>684801
То-то 99% веба на php

Ответы>>684805

12 Мар, 10:57 #40 #684805

>>684803
Кастую в тред большинство-пакаджей-pypi-под-двойку-куна.

12 Мар, 11:20 #41 #684816

>>684786
>REST протоколы
Такие точно существуют? Дай пару названий, а то гугл только общее описание выдаёт.

Ответы>>684824

12 Мар, 11:26 #42 #684820

>>684773
Django girls tutorial
Есть на русском, охуительно подробно, местами даже как для дебилов.

Следующий шаг: гугли название-популярного-сайта + Джанго туториал, что как маленький

Ответы>>684822>>684829

12 Мар, 11:30 #43 #684822

>>684820
>местами даже как для дебилов.
Так для девочек жи.

12 Мар, 11:33 #44 #684824

>>684816
Ну протоколом я назвал то что принято называть REST API. Если хочешь пример бери twitter api (вроде бы с него мода и началась) или vk api. Но строго говоря REST это такая идеология, которую описал в засратом году Рой Филдинг в своей диссертации. Люди понапридумывали всяких SOAP XML где с данными передаётся куча бесполезных обёрток. И вот REST какбы и призван сделать всё проще и легче. В том числе использовать url как однозначный идентификатор сущности. Далеко не все веб апи сайтов в строгости соответствуют идеологии REST. Доходит до парадоксальных вещей, рестом называют чёрт пойми что, в том числе просто выдачу вместо html тех же данных в формате json. REST не привязан к формату, может даже html выдавать, но в то же время не всегда является оптимальным. Например механизм покупки в интернет магазине/транзакций в банке нет никакого смысла делать согласно идеологии REST. REST это такой универсальный способ поддерживать некий набор данных на сервере, например твоих постов в твиттере, с помощью него ты легко можешь написать приложение для своего калькулятора которое будет работать как полноценный твиттер.

Ответы>>684922

12 Мар, 11:40 #45 #684829

>>684820
>гугли название-популярного-сайта + Джанго туториал
Pornohub django tutorial

12 Мар, 11:41 #46 #684832

Как отжарить сучку своим питоном.

296 Кб, 356x371

421 Кб, 720x483

12 Мар, 11:50 #47 #684835

AI опять вздрючила корейца. в 3-й раз

Ответы>>684839>>684851

753 Кб, 736x981

12 Мар, 11:57 #48 #684839

>>684835
К 2045 ASI вздрючит и тебя.

12 Мар, 12:17 #49 #684851

>>684835
она че на питоне? Помню как в свое время stockfish и pychess стравливал...

Ответы>>684858

12 Мар, 12:25 #50 #684858

>>684851
Вряд ли на питоне. Но вообще питон сейчас самый популярный язык для всякого deep learning и ai. По крайней мере прототипируют.

Ответы>>684864

12 Мар, 12:30 #51 #684860

Ремайндер: https://github.com/alexjc/neural-doodle
И всего 500 строк. А у вас все стотысячный и никому не нужный ландинг пейдж на жанге.

Ответы>>684863>>684873

7 Кб, 648x78

12 Мар, 12:33 #52 #684863

>>684860
> стотысячный
стотысячестрочный ;_;

12 Мар, 12:37 #53 #684864

>>684858
Щас почитал статью на вики, исходники закрыты, скорее всего на Сишке, потому что они и так постоянно кластер увеличивают, а тратить вычислительные ресурсы на тормозной питон я думаю они бы не стали.

>Как все знают, компьютеры плохо играли в Го потому, что там очень много возможных ходов и пространство поиска настолько велико, что прямой перебор помогает мало.

>До настоящего времени го является одной из тех традиционных игр, в которых человек играет лучше компьютера[5]. Поэтому написание программы, которая хорошо бы играла в го, является важной вехой в развитии искусственного интеллекта.

Какие 2 другие игры? В шахматы же давно человека вздрючили

Ответы>>684865>>684874

12 Мар, 12:40 #54 #684865

>>684864
https://en.wikipedia.org/wiki/Game_complexity

Ответы>>684872

12 Мар, 12:46 #55 #684872

>>684865
я нихуя не пони

753 Кб, 736x981

12 Мар, 12:48 #56 #684873

>>684860
500 строк и сотни тысяч часов для обучения нейронной сети.
*фикс

12 Мар, 12:49 #57 #684874

>>684864
А где ты 3 игры то увидил?
> одной из тех
тех, а не трех

Ответы>>684877

93 Кб, 505x494

12 Мар, 12:59 #58 #684877

>>684874
действительно

12 Мар, 14:09 #59 #684922

>>684824
Ну про этот бардак с rest я слышал, я как раз хотел какой-нибудь стандарт rest api увидеть. Думал, под протоколами ты имел в виду именно это.

Ответы>>684939

12 Мар, 14:44 #60 #684939

>>684922
Читай Филдинга. Стандарта нет.

12 Мар, 14:54 #61 #684946

Анончики, помогите пожалуйста.
Есть строка вида "qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]".
Как мне именно в тех частях, что в квадратных скобках сделать replace("_","")?

Ответы>>684949>>684952

12 Мар, 15:00 #62 #684949

>>684946
Поделить на 3 строки - убрать в нужных подстроках "_"?

Ответы>>684957

12 Мар, 15:04 #63 #684952

>>684946
re.sub('(\[.*?\])', lambda x:x.group(0).replace('_',''), '"qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]"')

Ответы>>684955>>684957

12 Мар, 15:06 #64 #684955

>>684952
Извини конечно, но это пиздец.

Ответы>>684961

12 Мар, 15:07 #65 #684957

>>684949
А если это всё динамически меняется? Выходит надо будет целый массив использовать и потом заново склеивать циклом. И еще образовавшиеся ошметки как-то сохранить.
>>684952
Эх, всё никак не дойдут руки изучить всё это волшебство.

Ответы>>684962

12 Мар, 15:11 #66 #684961

>>684955
Покажи способ лучше

12 Мар, 15:11 #67 #684962

>>684957
Я для данного случая описал. Так то получим список из N строк. В целом, не думаю, что это КАРДИНАЛЬНО повлияет на производительность. Зато читабельно и понятно с первого взгляда.

Ответы>>684975

7 Кб, 597x56

12 Мар, 15:18 #68 #684975

>>684962
Запилил твоим способом:
s="qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_] hh"
s.split('[')[0]+''.join('[%s]%s' % (x.split(']',1)[0].replace('_',''), x.split(']',1)[1]) for x in s.split('[')[1:])

Может регулярочка всё-таки лучше?

Ответы>>684981>>684986

12 Мар, 15:25 #69 #684980

list(re.finditer(r'\[[^\]]_[^\[]\]', 'qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]'))
[<_sre.SRE_Match object; span=(8, 27), match='[ qwf _fjdsf_ jdsf]'>,
<_sre.SRE_Match object; span=(33, 43), match='[_uiosda_]'>]

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

12 Мар, 15:25 #70 #684981

>>684975
Пожалуй без написания небольшого велосипеда, да. Regex лучше.

12 Мар, 15:28 #71 #684986

>>684975
Кстати это ещё и с эксепшеном упадет если '[' нет в строке. т.е. надо добавлять проверку на это.

Ответы>>684987

12 Мар, 15:29 #72 #684987

>>684986
А хотя нет, не упадет.

Ответы>>684990

12 Мар, 15:33 #73 #684990

>>684987
Всё же вариант regex + lambda самый лучший из всех предложенных.

Ответы>>684995

12 Мар, 15:37 #74 #684992

Flask сложный? Сложнее Django? А Tornado?

Ответы>>684994>>684996

12 Мар, 15:39 #75 #684994

>>684992
1. https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/django
2. https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/flask
3. Теперь пиздуй

12 Мар, 15:41 #76 #684995

>>684990
Он ещё и самый правильный - не генерит кучу списков.
И в варианте со сплитом будут проблемы если скобка не закрыта.

12 Мар, 15:41 #77 #684996

>>684992
> Tornado
Это вообще веб-сервер, так то.

Ответы>>684997

12 Мар, 15:41 #78 #684997

>>684996
Скорее асинхронный веб фреймворк.

12 Мар, 16:15 #79 #685050

>2016
>юзать для асинхронности левые костыли

Ответы>>685058

12 Мар, 16:19 #80 #685058

>>685050
> вау добавили синтаксический сахар это всё в конре меняет

Ответы>>685066

12 Мар, 16:23 #81 #685066

>>685058
>да, блеать, добавили сахар и теперь оно хоть читаемое стало, алсо в нём много кроссплатформенного кода для общения с процессами/пайпами и прочей ерундой, а не только с сокетами

12 Мар, 19:26 #82 #685288

>>684699
https://workflowy.com/
Достаточно удобная штука.

12 Мар, 19:32 #83 #685297

>>684700
>>684758
Гит у меня конечно есть, но я с ним не особо привык работать, потому что исправляю то там, то тут и коммиты делаются только после большого числа исправлений. Делать # TODO: ... хорошо, конечно, но не очень удобно. Хотелось бы оффлайн утилиту с минимальным функционалом - добавить таск с комментом, удалить, отметить как выполненный, отсортировать по критерию.

12 Мар, 19:47 #84 #685307

>>684699
orgmode

12 Мар, 20:07 #85 #685340

Существует ли билдер интерфейса для PyGObject'а?

Ответы>>685344

12 Мар, 20:09 #86 #685344

>>685340
glade

Ответы>>685546

12 Мар, 20:26 #87 #685383

Чем для разработки гуи плох стандартный ткинтер?

Ответы>>685390>>685420>>685692

12 Мар, 20:30 #88 #685390

>>685383
Тем же чем и второй питон.

Ответы>>685394

12 Мар, 20:33 #89 #685394

>>685390
Но ткинтер есть и в третьем пистоне.

12 Мар, 20:50 #90 #685420

>>685383
Никто не использует, потому что не стильно и не молодёжно. Есть другие, более функциональные альтернативы, типа GTK/PyGObject, PyQt. Хотя я сам ничего плохого в TKinter не вижу. Тоже задавал тут этот вопрос и никто внятно не ответил.

Ответы>>685428

12 Мар, 20:54 #91 #685428

>>685420
Начнем с того, что он выглядит как win95 на большинстве платформ. И этим же закончим.

Ответы>>685445

12 Мар, 21:04 #92 #685445

>>685428
Не аргумент. Скажи ещё что терминал в линуксе выглядит как прямиком из 85 года.

Ответы>>685454

12 Мар, 21:06 #93 #685454

>>685445
Только /bin/sh на xterm'e. И еще какой аргумент. Я просто не юзаю приложения которые выбиваются из общей темы. А ткинтер выбивается всегда. Хотя хуй знает, может виндузятники привыкли к зоопарку.

12 Мар, 21:20 #94 #685478

>>684423

2-й или 3-й?

3 Кб, 680x436

12 Мар, 21:26 #95 #685494

gtk-даун

Есть, короче говоря, панель. Как разделить её, как пике?

Ответы>>685692

12 Мар, 21:45 #96 #685514

>>684789
>>684786

Схоронил.

12 Мар, 21:58 #97 #685546

>>685344
Виджеты только по контейнерам распихиваются? Если я хочу два виджета в одну строчку поместить, мне кусок контейнера ещё одним контейером разбивать надо?

Ответы>>685692

12 Мар, 23:46 #98 #685656

Как в Glide правильно добавить скроллбар?

Ответы>>685663>>685696

12 Мар, 23:48 #99 #685663

>>685656
*Glade

12 Мар, 23:54 #100 #685672

Использую алхимию, но sqlite выбрасывает исключение, что не может в многопоточность. Можно ли заменить "драйвер" базы на что-то другое чтобы не было проблем? И если да, то на что?

Ответы>>685678>>685680>>685697

13 Мар, 00:04 #101 #685678

>>685672
Точнее сменить "базу".

13 Мар, 00:05 #102 #685680

>>685672
Postgres

59 Кб, 640x569

13 Мар, 00:10 #103 #685686

Господа, подскажите пожалуйста основной стек "батареек" джанги. Про celery, tastypie, pillow, messages знаю, что еще?

Ответы>>685693>>685701

27 Кб, 805x335

13 Мар, 00:17 #104 #685692

>>685383
Там довольно ограничены возможности. Что-то очень простое там можно сделать но дальше можешь уткнуться в недостаток функционала.
>>685494
HBox
>>685546
Да, это во всех современных тулкитах так. Есть контейнер fixed где можешь ставить по кординатам но это убого и не будет растягиваться.

13 Мар, 00:18 #105 #685693

>>685686
>tastypie
Ты имел ввиду RDF.

Ответы>>690033

46 Кб, 897x380

13 Мар, 00:20 #106 #685696

>>685656
Добавить куда? Во многих контролах скроллбар встроенный. Там есть Scrolledwindow, внутрь него можно пихать что-то контейнер какой-нить и он будет прокручиваться. Можно добавить Scrollbar вручную и повесить на него какие-то действия

Ответы>>685704

13 Мар, 00:21 #107 #685697

>>685672
sqlite может в многопоточность, может тебе надо сессию отдельную создавать.
Ну как может, если ты пишешь в базу, то для других потоков она будет заблочена. Читать можно из разных потоков.

Ответы>>685725

13 Мар, 00:24 #108 #685701

>>685686
https://www.djangopackages.com/
Тут по категориям и популярности рассортированы.
Могу сказать django_mptt django debugtoolbar admin-tools что-нить для thumbnails да много всего. какая-нить хрень типа bootstrap

13 Мар, 00:27 #109 #685704

>>685696
К "списку" из фреймов.

13 Мар, 00:51 #110 #685725

>>685697
Я делаю так:
if __name__ == "__main__":
....Session = sessionmaker(bind=engine)
Сессия вроде бы одна на всё, но всё равно вижу эксепшон sqlalchemy.exc.ProgrammingError: (sqlite3.ProgrammingError) SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 40136 and this is thread id 60032 [скюэль простыня]

Ответы>>685743

13 Мар, 01:02 #111 #685743

>>685725
Делай сессию отдельную в каждом треде.

Ответы>>685765

13 Мар, 01:48 #112 #685765

>>685743
Эм, так разве смысл не в сессии одной на всех? ладно, попробую

Ответы>>685770

13 Мар, 01:52 #113 #685770

>>685765
А что ты вообще собираешься делать? Зачем тебе многопоточность и orm при этом?

Ответы>>686104

13 Мар, 01:53 #114 #685771

Допустим я накидал в Glade окошко с ListBox'ом и образец фрейма и хочу добавить несколько таких фреймов (т.е. они должны быть разными инстансами) в этот листбокс. Что мне сделать?
При попытке добавить этот же самый фрейм мне выдаёт
Attempting to add a widget with type GtkFrame to a container of type GtkListBoxRow, but the widget is already inside a container of type GtkListBoxRow, please use gtk_widget_reparent()

Ответы>>685782

13 Мар, 02:01 #115 #685782

>>685771
Внутрь VBox добавляй их

Ответы>>685802

13 Мар, 02:53 #116 #685802

>>685782
То же самое. Фрейм то не клонируется, а остаётся тем же самым.

Ответы>>685807

60 Кб, 856x446

13 Мар, 03:04 #117 #685807

>>685802
Что значит "клонируется"?

Ответы>>685809

13 Мар, 03:09 #118 #685809

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

Ответы>>685811>>685812

13 Мар, 03:13 #119 #685811

>>685809
Тут есть несколько вариантов.
Я бы сделал на твоем месте класс унаследованный от фрейма, который в init создает все нужные элементы внутри себя сам.
Такой кастомный контрол короче. Можешь там ещё всякое поведение объявить.
Или ты можешь создавать эту хрень из xml подгружая её в рантайме и вставляя куда надо.
Например раньше можно было http://www.pygtk.org/pygtk2tutorial/sec-UIManager.html
merge_id = uimanager.add_ui_from_string(buffer)
window = gtk.Window()
vbox = gtk.VBox()
menubar = uimanager.get_widget('/MenuBar')
toolbar = uimanager.get_widget('/Toolbar')
vbox.pack_start(meunbar, False)
vbox.pack_start(toolbar, False)

и т.п.

Ответы>>685816

13 Мар, 03:15 #120 #685812

>>685809
В общем glade хорош чтобы набросать основной интерфейс, каркас, менюшки, всякие окна настроек.
Но то что должно создаваться в рантайме лучше делать внутри кода.

Ответы>>685816

13 Мар, 03:27 #121 #685816

>>685812
>>685811
А можно сделать что-нибудь типа
frame_proto = builder.get_object('frame1').xml_repr()
frame = Gtk.Frame.from_xml(frame_proto)

или

frame_class = builder.build_proto_class('frame1')
frame = frame_class()

?

Ответы>>685820

13 Мар, 03:44 #122 #685820

>>685816
Незнаю. Вот тут есть пример костыля и какие-то ссылки http://stackoverflow.com/questions/20460848/templating-overflowing-content-with-glade-and-pygtk
>.xml_repr()
Ты можешь открыть xml просто в текстовом редакторе и скопировать оттуда код виджета твоего.

Алсо для pygtk были генераторы кода. Типа оно берет glade файл и преобразует его в python код, который создает эти виджеты автоматически. Скорее всего они заброшены и не работают с новыми версиями т.к. это нафиг не нужно есть gtkbuilder и прочее.

Ответы>>685823

13 Мар, 04:44 #123 #685823

>>685820
А в Qt это можно проще сделать?

Ответы>>685825

13 Мар, 04:50 #124 #685825

>>685823
Не работал с qt на уровне больше hello world.
А в чем проблема генерить виджет из кода?

Ответы>>685826

13 Мар, 04:52 #125 #685826

>>685825
Да в общем то ни в чём, просто мне казалось, что UI билдеры как раз и призваны такого рода проблемы решать.

Ответы>>685827

13 Мар, 04:55 #126 #685827

>>685826
Чет не очень
http://stackoverflow.com/questions/22584193/clone-a-gtkwidget-from-glade-so-it-will-be-reusable-several-times-in-application
https://mail.gnome.org/archives/gtk-app-devel-list/2012-December/msg00002.html
Можно только через жопу делая новый builder для каждого виджета

Ответы>>685829

13 Мар, 05:01 #127 #685829

>>685827
Придётся XML руками править. Что-то типа
widget_src = \
"""
...
<widget id={} name={}/>
...
""".format(w_id, w_name)

Ответы>>685830

13 Мар, 05:03 #128 #685830

>>685829
> Note that if you call your objects in glade ending with "_1" then you copy
and paste
the first copy will be "_2", the second "_3" and so on, it happened to me
to use this trick
and create a vector in my code of objects ending this way the object names.

Ответы>>685831

13 Мар, 05:06 #129 #685831

>>685830
Я вообще не понял, что тут имелось в виду.

Ответы>>685832

13 Мар, 05:08 #130 #685832

>>685831
То что если у тебя виджеты называются типа frame_1
оно должно автоматически переименовать следующий в frame_2 когда ты его добавишь

Ответы>>685840>>685849

13 Мар, 05:15 #131 #685840

>>685832
Мне так то без разницы. И там в треде в итоге решили, что best way - это пересоздавать билдер каждый раз, тем более, если файлы маленькие.

13 Мар, 06:25 #132 #685849

>>685832
По ходу проще вручнкю делать - add_from_string никаких идентификаторов вновь созданного объекта не возвращает.

Ответы>>685850

13 Мар, 06:29 #133 #685850

>>685849
Там можно пройтись по объектам внутри builder как-то.

Ответы>>685851

13 Мар, 06:32 #134 #685851

>>685850
Можно, но тогда нужно как-то определять новый, т.е. хранить копию списка в каком-либо виде и после каждого добавления сравнивать. Чёт пиздец какой-то, такое простое действие и так много мороки.

13 Мар, 07:02 #135 #685855

Заебался, хоть на tkinter возвращайся.

Ответы>>685857

13 Мар, 07:06 #136 #685857

>>685855
В tkinter вообще никакой рисовалки форм нет лол.

Ответы>>686179

13 Мар, 09:24 #137 #685903

Пистон пишет, что 343(1/3) это 6.999(много девяток), а мне надо, чтобы писал правильно — детектирую perfect power's. Как этот подводный камень грамотно обойти?

Ответы>>685905

66 Кб, 499x499

13 Мар, 09:28 #138 #685905

>>685903
А какой правильный ответ?

Ответы>>685906

13 Мар, 09:30 #139 #685906

>>685905
Число, которое даст 343 при возведении в куб.

Ответы>>685907

13 Мар, 09:30 #140 #685907

>>685906
Это особенности того как компьютеры работают. Округли че.

Ответы>>685908

13 Мар, 09:35 #141 #685908

>>685907
Я в курсе, я знаю.
Но мне надо проверить, равен ли результат int'у этого же результата. То есть не является ли он дробным. Если всё тупо округлять сразу, то 217 в степени 1/3 и 216 в той же степени дадут одинаковый результат.
С большинством чисел до тысячи работает корректно, а с 343 и 216 вылазит такая чушь. Как-то же это можно обойти? Или искать другой алгоритм/язык. Сишка вот пишет корректно, вроде.
Туплю я, ну. Что ты как этот?

Ответы>>685910>>685911

6 Кб, 276x120

13 Мар, 09:41 #142 #685910

>>685908
)))))

Ответы>>685912

16 Кб, 459x298

13 Мар, 09:45 #143 #685911

>>685908
> . Сишка вот пишет корректно
Схуяли кстати она будет? там тоже самое происходит.

Ответы>>685916

13 Мар, 09:46 #144 #685912

>>685910
Ну как бы да, лол. Только это сильно замедлит алгоритм же. А нужна нормальная скорость.

Ответы>>685919

13 Кб, 787x380

13 Мар, 09:48 #145 #685916

>>685911

Ответы>>685917

13 Мар, 09:49 #146 #685917

>>685916
А не printf ли это округляет у тя?

Ответы>>685918

13 Мар, 09:50 #147 #685918

>>685917
Ну, может быть, не знаю.

Ответы>>685921

13 Мар, 09:50 #148 #685919

>>685912
Вообще число 1/3 уже не может быть записано точно в виде double
В питоне есть модуль fractions для работы с дробными числами но он тут не помогает.

13 Мар, 09:57 #149 #685921

>>685918
А вообще да 7.0 возвращает.

13 Мар, 11:00 #150 #685955

Питоны, Django REST Framework юзаете?

78 Кб, 1024x600

13 Мар, 11:32 #151 #685971

Анончик, как убрать в 'gtk.Notebook' эту херню (помечена красным)?

Ответы>>685988>>686198

13 Мар, 11:57 #152 #685988

>>685971
Ты хочешь обрезать сам фрейм типа? Чтобы осталить только вкладки?

Ответы>>686721

223 Кб, 1920x1080

82 Кб, 1700x872

13 Мар, 11:59 #153 #685990

хъахахха

Ответы>>686056

13 Мар, 12:15 #154 #686005

Анон, не совсем по теме конечно, но спрошу про верстку. Я вот под иксами погроммирую, как проверять верстку в Шиндошс версиях и всяких гейфонах с ведройдами? Поддерживать ли старые браузеры? В смысле до каких версий? Как лучше верстать врукопашную или фреймворками типо Bootstrap, less?

Ответы>>686011

13 Мар, 12:18 #155 #686008

Почему говнопарсер медленно работает?
http://pastebin.com/tdVmh1bg
суть токова: ходим по страничкам из списка и выдирает нужный мне текст
всего там ~1300 страниц, на каждой странице нужный текст начинается примерно с 100 строчки
130`000 строчек текста, это уже слишком много?
Но ведь есть и более сложные парсеры, не верится что все они тормозные.

Ответы>>686118>>686141>>686159

144 Кб, 717x651

179 Кб, 813x516

19 Кб, 519x566

13 Мар, 12:21 #156 #686011

>>686005
В virtualbox
Мобилы в genymotion

13 Мар, 13:42 #157 #686056

>>685990
Вижу убунту.

13 Мар, 13:58 #158 #686073

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

Ответы>>686075

13 Мар, 14:02 #159 #686075

>>686073
Скорее всего другим пиложением и сам сервис не на джанге.

Ответы>>686159

13 Мар, 14:24 #160 #686104

>>685770
Основной тред — gui, отображает статусы тасков и может их менять (остановить, возобновить). Дополнительный тред — выполняет таски, обновляет их статусы, логгирует какой таск на какой стадии выполнения.

Ответы>>686889

13 Мар, 14:34 #161 #686118

>>686008
Ты же всё в один поток делаешь. Конечно так долго будет. Пока ты ждёшь ответ от странички твой комп и кАНАЛ простаивают. Юзай треды или asyncio, базарю ещё захочешь.

13 Мар, 14:52 #162 #686141

>>686008
Я ньюфаг, но я бы юзал регулярки для поиска мыл.
^([A-Z|a-z|0-9](\.|_){0,1})+[A-Z|a-z|0-9]\@([A-Z|a-z|0-9])+((\.){0,1}[A-Z|a-z|0-9]){2}\.[a-z]{2,3}$
И сделал бы по потоку на каждую страницу.
Такие дела.

Ответы>>686145

13 Мар, 14:54 #163 #686145

>>686141
> по потоку на каждую страницу.
А если их миллион?
Лучше юзать https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor

13 Мар, 15:04 #164 #686159

>>686075
Допустим если я хочу сделать как этот анон >>686008 только веб версию, где каждый юзер может парсить емейлы с введенных им урлов. Как это все работать должно в этом случае? Мне достаточно просто запускать приложение каждый раз, когда каждый юзер захочет парсить? Или мне нужно приложение, каторое будет работать как демон и чекать есть ли новые задание, создавать потоки и т.д.? Как это все работает, где можно посмотреть примеры?

Ответы>>686170

13 Мар, 15:09 #165 #686165

>directory = u'D:/тест'
>mask = '.djvu'
>files = os.listdir(directory)
>masked_files = filter(lambda x: x.endswith(mask), files)
Посоны, как это заставить работать с кириллическими файлами? В смысле, данные из массива, чтобы могли нормально использоваться, если файлы имеют кириллицу в имени.

Ответы>>686168>>686172

13 Мар, 15:11 #166 #686168

>>686165
Энжой йор шиндовс

Ответы>>686216

57 Кб, 704x404

13 Мар, 15:15 #167 #686170

>>686159
Дело в том, что эти запросы будут занимать много времени и блокировать весь поток. Поэтому я бы делал это всё асинхронно с callback`ами и прочим адом.
Например на торнадо:
тут в _on_download можно впихнуть парсер и какие-то ещё действия

Ответы>>686209

13 Мар, 15:16 #168 #686172

>>686165
> filter(lambda x: x.endswith(mask), files)
есть модуль glob для этого
> работать с кириллическими файлами?
виндопроблемы

Ответы>>686216

13 Мар, 15:21 #169 #686179

>>685857
О, ещё как есть. Я её пользовался, и не раз. PAGE называется.

Ответы>>686184

13 Мар, 15:25 #170 #686184

>>686179
Хм и правда. Ещё какие вот есть http://stackoverflow.com/questions/14142194/is-there-a-gui-design-app-for-the-tkinter-grid-geometry

13 Мар, 15:33 #171 #686198

>>685971
Сделать его растягиваемым?

13 Мар, 15:37 #172 #686209

>>686170
Т.е. мне понадобится 2 приложения. Одно для веб морды (джанго\фласк) а другое для логики (торнадо), так? А есть какие-то примеры?

Ответы>>686212>>686217

13 Мар, 15:39 #173 #686212

>>686209
Торнадо это веб сервер и фреймворк. В тем же есть асинхронный http клиент. Т.е. он может при запросе к нему делать запрос на какой-то другой сайт асинхронно и вернуть результат, когда страница скачается и будет обработана.

34 Кб, 521x500

13 Мар, 15:41 #174 #686216

>>686168
>>686172
Спасибо.

13 Мар, 15:41 #175 #686217

>>686209
Ну или более модный вариант http://aiohttp.readthedocs.org/en/stable/
Ещё есть twisted.

13 Мар, 15:45 #176 #686224

>2016
>юзать для асинхронности сторонние костыли

Ответы>>686227

13 Мар, 15:47 #177 #686227

>>686224
Под новые костыли пока не завезли фреймворков хотя бы уровня торнадо того же.
Да и новая питон 3.5 мало где стоит пока.

Ответы>>686229>>686232

13 Мар, 15:48 #178 #686229

>>686227
Хотя aiohttp вроде норм

13 Мар, 15:51 #179 #686232

>>686227
Поставь, лол. Ты же умеешь софт ставить, правда? Ты же не юзаешь дефолтную винду с iexplorer.exe и notepad.exe в качестве IDE?

Ответы>>686237

12 Кб, 523x160

13 Мар, 15:56 #180 #686237

>>686232
У меня то он стоит. Но на сервер(ах) это неудобно. Придется канпелять и ставить куда-то, самому следить за обновлениями. Гораздо проще использовать версию из дистрибутива.

5 Кб, 498x89

13 Мар, 18:13 #181 #686407

Есть один реквест пикрелейтед. Нужно ему передать ссаную куку ageallow 1 для доступа к /e/. Каким хуем строить эту куку? cookies={'ageallow': '1'} нихуя не делает

Ответы>>686477

13 Мар, 18:58 #182 #686477

>>686407
Ну вроде бы, так и надо. Только ты куки же не указал.

Ответы>>686494

3 Кб, 420x73

13 Мар, 19:07 #183 #686494

>>686477
вот такая штука возвращает 404

Ответы>>686518

13 Мар, 19:16 #184 #686518

>>686494
И у меня возвращает 404. Видимо, этой куки недостаточно.

31 Кб, 512x512

13 Мар, 19:18 #185 #686527

Анон, я выучу питон? Скажи мне, что я выучу. Я только начал и мне трудно всё даётся без общения с кем-то, а поддерживать разговор с вами здесь или делиться моими достижениями в духе print('Hello world!') стыдно.

Ответы>>686532>>686581>>686589

13 Мар, 19:20 #186 #686532

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

13 Мар, 19:22 #187 #686537

>>686506
для постинга в /b/ нужны ебанутые запросы с подтверждением капчи, а я, тип, неумею)0

13 Мар, 19:22 #188 #686540

>>684010 (OP)
https://github.com/anon276/testing

Ответы>>686702

13 Мар, 19:33 #189 #686581

>>686527
>делиться моими достижениями в духе print('Hello world!') стыдно
А ты запости достижение хоть чуть-чуть выше уровнем. И да, ты выучишь.

13 Мар, 19:35 #190 #686589

>>686527
Лей сюда, хуле. Для чего тред держим?

13 Мар, 20:22 #191 #686702

>>686540
Ебаный пиздец, ну и лапша, ну и говнокод

Ответы>>686707

13 Мар, 20:29 #192 #686707

>>686702
Почти весь пайтон код примерно такой.

мимо

Ответы>>686716

13 Мар, 20:42 #193 #686716

>>686707
Почти все ЯП такие, если руки из жопы и отсутствует забота о стиле и читаемости.

Ответы>>686729

13 Мар, 20:45 #194 #686721

>>685988
Да, оставить вкладки.

Ответы>>687080

13 Мар, 20:52 #195 #686729

>>686716
Несомненно. Поэтому чем выше уровень вхождения в язык, тем лучше, если ты понимаешь о чем я.

Ответы>>686734

13 Мар, 20:54 #196 #686734

>>686729
Уровень вхождения значит практически ничего через год-два после вхождения. Если конечно у человека есть желание развиваться, а не продолжать писать говнокод.

13 Мар, 21:14 #197 #686753

Очередной вопрос по Gtk. Допустим, я создаю
class App(Gtk.Window):
..def __init__(self):
....Gtk.Window.__init__(self, title='test')
....builder = Gtk.Builder()
....builder.add_from_file('main_window.glade')
....window1 = builder.get_object('window1')
....self = window1
....self.a = 1
....self.b = 10

..def test(self):
....print(self.__dict__)
....print(self.a, self.b)

app = App()
app.test()

Оно говорит мне, что __dict__ пустой и выкидывает ошибку, говоря, что никаких self.a и self.b не существует.
Собственно, суть вопроса такова: можно ли совместить класс App и билдер?

Ответы>>686811>>686887

13 Мар, 22:00 #198 #686811

>>686753
Потому что ты мудак ебаный.
>self = window1
>__dict__ пустой и выкидывает ошибку, говоря, что никаких self.a и self.b не существует.
ну все правильно

Ответы>>686875

13 Мар, 22:47 #199 #686875

>>686811
Ну так я и спрвшиваю, как это можно нормально сделать.

Ответы>>686887

13 Мар, 22:53 #200 #686887

>>686753
>>686875
Тебе хочется содержимое window1 иметь в неймспейсе App, который наследует от Gtk.window? Можно например так:
self.__dict__.update(window1.__dict__)
Можно модифицировать __getitem__, чтобы при запросе App.a он на самом деле выдавал app.window1.a
А можно просто использовать app.window1 и не усложнять.

Ответы>>686895>>686905

13 Мар, 22:59 #201 #686889

>>686104
Всё, понял, пасаны. sqlite не позволяет модифицировать базу из других тредов.

Ответы>>686892>>687081

13 Мар, 23:01 #202 #686892

>>686889
Да, решил с помощью qt сигналов из одного треда в другой, чтобы эти самые изменения происходили в одном треде.

13 Мар, 23:02 #203 #686895

>>686887
>self.__dict__.update(window1.__dict__)
Кстати, это как я понимаю смержит только переменные. А как быть с методами window1?

Ответы>>686905

13 Мар, 23:06 #204 #686903

Уже жалею что начал читать Core Python Applications programming которую обсуждали в прошлом треде. Во первых, она устаревшая(2012 год), а во вторых, там рассказывают про все что можно найти в интернете. Лучше уж посмотреть какого нибудь чувака на ютабе или почитать что нибудь типа этого http://www.tutorialspoint.com/python/python_multithreading.htm. Рассказывают о том же самом только без лишней воды.

Ответы>>686911

13 Мар, 23:06 #205 #686905

>>686887
>А можно просто использовать app.window1 и не усложнять
Ну я так и сделал в итоге. Так даже логичнее, наверное, иначе из
>self.__dict__.update(window1.__dict__)
каша получится
>>686895
Не только переменные. Вообще всё.

Ответы>>686910

13 Мар, 23:11 #206 #686910

>>686905
Да нет, методы например проебутся. http://ideone.com/eg39BS

Ответы>>686938

13 Мар, 23:11 #207 #686911

>>686903
Так-то можно гитхаб читать, воды 0/10
Мне кор очень понравился. На устарелость похуй.

13 Мар, 23:30 #208 #686938

>>686910
Короче, единственный путь собрать несколько классов в один, имея все в одном неймспейсе и не проебать ни переменные, ни методы - http://ideone.com/dAyENn

Рейт, дискасс. Может есть способ получше.

Ответы>>686974>>687177

13 Мар, 23:56 #209 #686974

>>686938
Использовать super и наследование?

55 Кб, 453x604

13 Мар, 23:58 #210 #686976

Попытался скачать PyCharm, чтобы быть как все, а он лагает, как сука. ЧЯДНТ?
Решил попробовать перекатиться под Spyder, который шёл в комплекте с WinPython-ом
мимодебил

Ответы>>686979>>687001>>687019>>687134

13 Мар, 23:59 #211 #686979

>>686976
>под Spyder
со Spyder-a
фикс

14 Мар, 00:12 #212 #687001

>>686976
> PyCharm
> java-поделие
> лагает
Не вижу проблемы

14 Мар, 00:27 #213 #687019

>>686976
https://www.sublimetext.com/3

Ответы>>687020

14 Мар, 00:28 #214 #687020

>>687019
Он умеет в автокомплит, например?

Ответы>>687037

14 Мар, 00:45 #215 #687037

>>687020
Умеет, есть ещё такие плюшки - http://damnwidget.github.io/anaconda/ .

Ответы>>687077

Нужна помощь 14 Мар, 00:51 #216 #687045

У меня есть код, этот код игра, типа морской бой. Мне нужна так чтоб игра сохранялась и ее можно было залойдить через меню. Как мне это сделать, помогите пожалуйста, я ньюфаня. Делаю код для общего развития.

Код прилогается по сылке
http://rghost.net/6Kc4BWDNs

Ответы>>687048>>687051

14 Мар, 00:52 #217 #687048

>>687045
Игровые данные, очевидно, хранятся в виде каких-то объектов.
Объекты можно сохранить, очевидно, используя родную библиотеку pickle.
мимодебил

Ответы>>687053

14 Мар, 00:53 #218 #687051

>>687045
надо чтоб сохранялась в txt вот так http://rghost.net/6RSXQ7yX5

14 Мар, 00:55 #219 #687053

>>687048
я это уже где читал, но все равно там не понятно

Ответы>>687067

14 Мар, 01:08 #220 #687067

>>687053
Да хуле тут разбираться. Лови, тебе понять этот код на пять минут.
мимодебил

import cPickle

def SaveGame(level, health): #сохранение файлов проекта
data = [level, health]
f = open('savedgame.xyu','w')
cPickle.dump(data, f)
f.close()

def LoadGame(): #загрузка файлов проекта
f = open('savedgame.xyu','r')
data = cPickle.load(f)
return data

levelToSave = raw_input('Введи уровень, мудак!')
healthToSave = raw_input('Введи жизни, мудак!')

SaveGame(levelToSave, healthToSave)

del levelToSave
del healthToSave

levelLoaded, healthLoaded = LoadGame()

print "Твои сохранённые жизни, сучёныш:",healthLoaded
print "И при этом ты на",levelLoaded,"уровне"

Ответы>>687078

14 Мар, 01:27 #221 #687077

>>687037
Хочешь сказать, что куча этого говна (плагинов) не будет лагать? У меня на Атоме нехуёво плагины жрут.

Ответы>>687079

14 Мар, 01:35 #222 #687078

>>687067
Спасибо, щас сделаю

14 Мар, 01:41 #223 #687079

>>687077
Не знаю, мне встроенного автокомплита хватало.

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

14 Мар, 01:43 #224 #687080

>>686721
Ну я думаю надо в какой-нить контейнер засунуть Notebook этот.

14 Мар, 01:44 #225 #687081

>>686889
> sqlite не позволяет модифицировать базу из других тредов.
А должен https://www.sqlite.org/threadsafe.html

Ответы>>687086

14 Мар, 01:52 #226 #687086

>>687081
Ну, я-то орм использовал. Может в нём поддержки нет. На стаке лишь и разговоры о том, что так нельзя. Или коннекты к базе закрывай после каждого чиха или соси.

14 Мар, 02:59 #227 #687134

>>686976
Geany попробуй

Ответы>>687158

14 Мар, 04:45 #228 #687158

>>687134
На gtk3 уже переписали?

Ответы>>687159

14 Мар, 04:46 #229 #687159

>>687158
Но зачем?

Ответы>>687160

14 Мар, 04:47 #230 #687160

>>687159
Чтобы не портировать gtk2 под wayland.

Ответы>>687161

14 Мар, 04:47 #231 #687161

>>687160
Какой нахуй wayland

Ответы>>687162>>687163

14 Мар, 04:51 #232 #687162

>>687161
А убивать иксы кто будет, ммм?

Ответы>>687164

14 Мар, 04:53 #233 #687163

>>687161
Ты отстал от жизни.

14 Мар, 04:55 #234 #687164

>>687162
Никто. Иксы охуенны и вечны.

Ответы>>687166

14 Мар, 05:07 #235 #687166

>>687164
> Иксы
> вечны
Уже помирают, разве что xwayland поживет благодаря иксоретардам.

Ответы>>687168

14 Мар, 05:09 #236 #687167

Как мне найти чайлда виджета с заданным именем? Виджета нет в билдере, так что builder.get_object() не получится.

Ответы>>687171

14 Мар, 05:12 #237 #687168

>>687166
Нет. В нормальных юниксах никаких wayland`ов нет и не будет. Также как этих ваших systemd. Насчет переносимости тоже сомнения.
Иксы есть под osx и даже винду.

Ответы>>687173

14 Мар, 05:14 #238 #687171

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

Ответы>>687172

14 Мар, 05:17 #239 #687172

>>687171
>Если его нет в билдере, то ты его сам создаешь?
Я запилил widget_factory, которая каждый раз заново создаёт билдер, возвращает топ фрейм и вырубается. Буду наверное всю структуру возвращать, а не только его.
Продолжаю охуевать с функциональности. Совсем не такого я ожидал.

14 Мар, 06:04 #240 #687173

>>687168
> Нет. В нормальных юниксах никаких wayland`ов нет и не будет.
Никто не заставит софтописателей продолжать поддерку иксов, а тем более мизерный процент среди разработчиков серверных ОС, так что ещё как будет.

> Иксы есть под osx и даже винду.
Костыли уровня xwayland, под виндой и osx никому не нужные.

Ответы>>687174

450 Кб, 1280x800

154 Кб, 1024x768

14 Мар, 06:11 #241 #687174

>>687173
> софтописателей продолжать поддерку иксов
gtk3 или там qt перестанет работать под иксами? Или ты про дерганье xlib вручную, этого почти никто не далает.
> под виндой и osx никому не нужные.
Пока ты не захочешь, например, запустить wireshark на удаленной машине - иксы это сетевая прозначность. Или что-нить ещё.

Ответы>>687181

14 Мар, 06:17 #242 #687177

>>686938
http://ideone.com/jPJ3EO ?

14 Мар, 06:28 #243 #687181

>>687174
> gtk3 или там qt перестанет
Gtk4 или там Qt6 перестанет.

> Или ты про дерганье xlib вручную, этого почти никто не далает.
Делают, особенно при работе с графическими api.

> Пока ты не захочешь, например, запустить wireshark на удаленной машине
Что помешает мне сделать это без иксов?

Ответы>>687184

14 Мар, 06:42 #244 #687184

>>687181
> Что помешает мне сделать это без иксов?
Через vlc? Придется графический сервер и прочее говно ставить на сервере.

Ответы>>687185>>687190

14 Мар, 06:42 #245 #687185

>>687184
*vnc всмысле.

22 Кб, 1414x63

14 Мар, 07:09 #246 #687190

>>687184
Через консольный wireshark tshark, очевидно.
На самом деле сетевая прозрачность в редких случаях может быть действительно полезной, но ты смотришь на ситуацию не с той стороны, это не просто "фича" иксов, а их предназначение, в 99.999% используется костыль уровня пикрил и клиент-сервер общение происходит через сокеты, фунционал - никому не нужный оверхед.

Ответы>>687191

14 Мар, 07:14 #247 #687191

>>687190
> общение происходит через сокеты,
Это норма. Некоторые вон хотят вообще микроядро - тогда даже с драйверами общение происходит через некоторые IPC.
> Через консольный wireshark tshark, очевидно.
Да можно записать дамп хоть tcpdump`ом и потом открыть этот файл для анализа на локальном wireshark, но удобней в реальном времени всё наблюдать иногда, запустив wireshark прям там.

14 Мар, 07:34 #248 #687193

Можно ли в Gtk заставить TextBuffer использовать подсунутую мной строку для хранения текста, или обратиться напрямую к TextBuffer.text? Нужно, чтобы в строке всегда находилось актуальное значение текста из поля ввода, а дёргать get_text() на каждое нажатие клавиши - извращенство.

Ответы>>687195>>687196

14 Мар, 07:37 #249 #687195

>>687193
Сделай как-нить @property которое будет get_text дергать само

14 Мар, 07:38 #250 #687196

>>687193
И как ты вообще себе это представляяешь учитывая что строки немутабельны?

Ответы>>687197

14 Мар, 07:40 #251 #687197

>>687196
Да тут главное не сама строка, а наличие прямой ссылкм на переменную, её срдержащу.

Ответы>>687198

14 Мар, 07:43 #252 #687198

>>687197
Я же говорю запили property. Или используя https://habrahabr.ru/post/122082/ сделай универсальную заворачивалку для TextBuffer`ов.

14 Мар, 10:02 #253 #687233

https://channel9.msdn.com/Events/FSharp-Events/fsharpConf-2016/Cassandra-Docker-and-F-Awesomeness

Леночка

Ответы>>687237>>687238>>687242>>687244

14 Мар, 10:09 #254 #687237

>>687233
hnnnng

14 Мар, 10:14 #255 #687238

>>687233
– В 10 лет я уже могла считать себя программистом, – рассказывает девушка. – К этому времени я изучила технологии С#, ADO.NET, SQL, HTML, CSS, Javascript. Чтобы получить карманные деньги и практический опыт, я стала выполнять отдельные заказы.
В 15 лет Лена устроилась на первую работу по трудовой книжке: она занималась программированием серверных компонентов на C#, в том числе безопасных WEB-сервисов. В это же время она сдавала школьные выпускные экзамены

Ответы>>687239

14 Мар, 10:17 #256 #687239

>>687238
Вот что значит правильное воспитание.

Ответы>>687240

14 Мар, 10:18 #257 #687240

>>687239
Причем тут вообще воспитание? Просто интерес должен быть.
Мне вот попалась книжка случайно про бейсик в младших классах, я её в туалете почитал и заинтересовался стал пробовать примеры кода что там были.

Ответы>>687250>>687389

4 Кб, 256x192

14 Мар, 10:22 #258 #687242

>>687233
О чем видео то? Туториал по сассандра пересказывает?

14 Мар, 10:24 #259 #687244

>>687233
Она не правильно докер использует. Тупая шлюха

Ответы>>687253

14 Мар, 10:30 #260 #687250

>>687240
Вот именно, что при всем оно!
Батя смог заинтересовать ребенка и направить, дать нужные знания.

14 Мар, 10:31 #261 #687253

>>687244
Она девственница еще.(сказала бережет чистоту для мужа)

Ответы>>687255>>688466

243 Кб, 996x832

14 Мар, 10:32 #262 #687255

>>687253
Пруфы?

Ответы>>687265>>687284

14 Мар, 10:44 #263 #687265

>>687255
А чем обусловлено "siwa" на куртке, полагаю, шведа? А то по-китайски это 丝袜 и значит "чулки".

Ответы>>687267

14 Мар, 10:46 #264 #687267

>>687265
Фина.
http://www.siwa.fi/fi/etusivu

Ответы>>687268

14 Мар, 10:48 #265 #687268

>>687267
А, точно. Забыл, что спурдо спарде это финское, а не шведское изобретение.

Ответы>>687275

14 Мар, 10:51 #266 #687275

>>687268
Мог бы догадаться по "Pekka" это стереотипное финское имя

Ответы>>687276

14 Мар, 10:53 #267 #687276

>>687275
Не, не мог. Я финских имён не знаю.

14 Мар, 11:05 #268 #687284

>>687255
Пруфы давать не буду, это может повредить ее имиджу.

Ответы>>687301

14 Мар, 11:27 #269 #687301

>>687284
Бытие шлюхой повредит её имиджу не меньше.

118 Кб, 1146x938

14 Мар, 12:05 #270 #687336

Ответы>>687340>>687343

14 Мар, 12:11 #271 #687340

>>687336
пости свою жс дрисню в жс тредах

14 Мар, 12:20 #272 #687343

>>687336
после питона все эти
>...)
>))
>)
кажутся какими-то тупорылыми смайлофажными насмешками

Ответы>>687344>>687358

14 Мар, 12:21 #273 #687344

>>687343
После руби все эти отступы и лишние скобочки в питоне тоже так выглядят.

Ответы>>687366

14 Мар, 12:36 #274 #687358

>>687343
жс дрисня, что еще сказать.

Сижу, разглядываю листинг на Питоне. Отец, глянув издалека на монитор, спрашивает: Маяковского читаешь?

14 Мар, 12:51 #275 #687366

>>687344
>end end end
Хотя я к отступам стал хуже относится со временем.

19 Кб, 917x120

13 Кб, 990x184

18 Кб, 750x323

14 Мар, 13:08 #276 #687380

Почему под питон так мало библиотек?

Ответы>>687382>>687439>>687676

14 Мар, 13:17 #277 #687382

>>687380
Потому что меньше костылей надо вставить чтобы стало хорошо.

39 Кб, 700x403

14 Мар, 13:32 #278 #687389

>>687240
>я её в туалете почитал и заинтересовался
Теперь мастурбация так называется? Oh you!

14 Мар, 14:13 #279 #687439

>>687380
Потому что сколько костылей в питон не ставь, хорошо не станет.

14 Мар, 17:24 #280 #687669

>Почему под питон так мало библиотек?
>Потому что сколько костылей в питон не ставь, хорошо не станет.

Вербовщики жс дрисни подоспели.

14 Мар, 17:27 #281 #687676

>>687380
> 252085
А я то всегда думал что пистон лидирует по количеству либ.

47 Кб, 403x604

14 Мар, 17:37 #282 #687684

Посоны, как в регулярных выражениях вытащить текст между специальными текстами?

К примеру: %h;sample text%

Как вытащить "sample text"?

Ответы>>687692

5 Кб, 461x59

14 Мар, 17:41 #283 #687692

>>687684

Ответы>>687702

14 Мар, 17:52 #284 #687702

>>687692
Попробовал: 're.findall('%h(.*?)%','tegs%h;\w+%dsd')', т.к. вместо 'sample text' может быть и другой текст, но выдаёт лишь: '\\w+'

Ответы>>687706

14 Мар, 17:54 #285 #687705

https://habrahabr.ru/company/mailru/blog/279193/

Ответы>>687708>>687715

14 Мар, 17:54 #286 #687706

>>687702
А что должно выдавать по твоему?

Ответы>>687707

14 Мар, 17:54 #287 #687707

>>687706
Любой текст между %h; и %.

Ответы>>687714

14 Мар, 17:54 #288 #687708

>>687705
Пошел нахуй.

14 Мар, 17:58 #289 #687714

>>687707
Ну и? У тебя там \w+ между ними. Вот это и возвращает.

Ответы>>687716

55 Кб, 617x773

14 Мар, 17:58 #290 #687715

>>687705
>swift
Дальше не читал.

56 Кб, 194x109

14 Мар, 17:58 #291 #687716

>>687714
А как сам текст вытащить?

Ответы>>687720

14 Мар, 17:59 #292 #687720

>>687716
Ты чего-то тупишь помоему.
У тебя строка
'tegs%h;\w+%dsd'
Вот и получается что текст между ними это \w+

Ответы>>687774

14 Мар, 18:29 #293 #687774

>>687720
Чёт не понимаю. Я вижу лишь \\w+. А как любой текст получит?

Ответы>>687825

14 Мар, 18:37 #294 #687796

Очередной вопрос по Gtk. Допустим, у меня есть css, который я загружаю CssProvider'ом и есть виджет, стиль которого я хочу менять динамически на описанный в css. Как мне это реалищовать?

14 Мар, 18:49 #295 #687825

>>687774
Ты же сам написал там \w+
re.findall('%h(.?)%','tegs%h;\w+%dsd')
'%h(.?)%' - регулярка
'tegs%h;\w+%dsd' - твоя строка. можешь что хочешь там писать 'baa%h;blabla%fooo %h;zzz%' например

Ответы>>687867

14 Мар, 19:10 #296 #687867

>>687825
Да понял, что там любой текст. Просто, я, к примеру, пишу: %h; ЛЮБОЙ ТЕКСТ% и выбирается текст между этими символами. А так я просто получаю \\w+ вместо того текста.

Ответы>>687878

8 Кб, 468x74

14 Мар, 19:16 #297 #687878

>>687867
Че?

Ответы>>687881

14 Мар, 19:18 #298 #687881

>>687878
А. Во.

14 Мар, 21:43 #299 #688065

Как так?
http://pastebin.com/dGGLDSx7

Ответы>>688067

14 Мар, 21:48 #300 #688067

>>688065
Пишов ты на хуй, я тебе интерпретатор штоле вникать.

81 Кб, 677x588

14 Мар, 23:32 #301 #688217

Ньюфаг, который просил Анона сказать ему, что он выучит питон вкатывается в тред.
Поясните по этому рисунку. Я ничего не понял.

Ответы>>688219>>688227>>688233

51 Кб, 693x559

14 Мар, 23:33 #302 #688219

>>688217
И сам пример, который был.

Ответы>>688233

14 Мар, 23:35 #303 #688227

>>688217
Ой, ну это древнее изобретение ещё. Стек был даже на 8битных машинах. Суть в том что оно дохуя оптимально выделяет память под локальные переменные функций, и ещё это единственный способ хоть как-то совладать с рекурсией.

Ответы>>688231

14 Мар, 23:37 #304 #688231

>>688227
Как понимать этот рисунок? Я не понял ничего из текста.

14 Мар, 23:37 #305 #688233

>>688217
>>688219
Ну это короче так:
объявил ты в начале модуля переменную
вот так
cat='Муська'
А потом в какой-нибудь функции объявил переменную с тем же именем:
cat='Мурка'

Что будет если ты сделаешь
print cat
в теле функции?

Ответы>>688238

14 Мар, 23:38 #306 #688238

>>688233
Мурка. Теперь понял. Локальные и глобальные переменные обсуждались в предыдущей главе.
И что всё это значит?

Ответы>>688240>>688244>>688249

14 Мар, 23:39 #307 #688240

>>688238
Конкретно меня вводит в заблуждение последний стэк с bruce.

14 Мар, 23:42 #308 #688244

>>688238
Ох.

Ну вот ты бы сам как сделал вызовы функций?

1. Локальные переменные внутри одного вызова не должны никак пересекаться с локальными переменными другого вызова.
2. Функция должна как-то знать куда она сделает return.
3. Одну и ту же функцию можно вызвать много раз.

Ответы>>688248

14 Мар, 23:44 #309 #688248

>>688244
Это всё понятно. Спасибо.

Конкретно стэк с bruce вводит в заблуждение. Почему в примере показано, что при вызове он возвращает текст?

Ответы>>688256

14 Мар, 23:44 #310 #688249

>>688238
Стековая диаграмма всего лишь показывает название переменной и модуль в котором она создана в контексте цепочки вызова функций
То есть когда одна функция вызывает другую, то локальные переменные вызвавшей функции могут быть переданы в вызванную функцию.

А когда управление передается из вызывающей функции обратно, то все ее локальные переменные пропадают.

Ответы>>688255

14 Мар, 23:45 #311 #688255

>>688249
> То есть когда одна функция вызывает другую, то локальные переменные вызвавшей функции могут быть переданы в вызванную функцию.
> А когда управление передается из вызывающей функции обратно, то все ее локальные переменные пропадают.
Можешь примером показать, пожалуйста?

Ответы>>688275

14 Мар, 23:46 #312 #688256

>>688248
Ну эт видимо локальная переменная функции print_twice. И видимо это её аргумент. То что в предыдущем стеке называлось cat передалось как bruce

def print_twice(bruce):

видимо так

14 Мар, 23:55 #313 #688275

>>688255
Нивапрос.
http://ideone.com/EVWXrQ

В этой фиговине нарисуй для себя такую диаграмму в точках отмеченных как ## и ###

Ответы>>688277

14 Мар, 23:55 #314 #688277

>>688275
Пардон, вот это
http://ideone.com/GQ0LA4

Ответы>>688286

15 Мар, 00:00 #315 #688286

>>688277
Теперь я еще больше запутался.

Ответы>>688297>>688309>>688310

15 Мар, 00:05 #316 #688297

>>688286
Иди почитай про то как память в компах устроена и как процессор работает. Открой для себя факт что перемещать куски памяти пиздец как дорого, а аллокейтить лучше всего именно что стеком, ибо одно за другим плотно идёт. И деаллокейтится не образуя дыр. То есть стеку чтобы чёта разместить нужен только адрес вершины и никаких тебе йоба структур данных.

Вообще нахуя тебе оно в питоне? Выбрось эту книжку, возьми попроще что-нибудь.

15 Мар, 00:11 #317 #688309

>>688286
Распутался. Понял. Спасибо.
Другой вопрос.

> Напишите функцию right_justify (выровнять по правому краю), которое принимает строку s в качестве параметра и печатает ее так, чтобы оставить слева столько пробелов, чтобы последняя буква была на 70-й позиции..

Как узнать, точно ли последняя буква на 70-ой позиции?
http://ideone.com/7K9zwC

Ответы>>688319

15 Мар, 00:11 #318 #688310

>>688286
__main__
Объявили
reallymanytimes=12

Запустили printmanymanybl с передачей внутрь значения reallymanytimes, то есть 12

Внутри функции printmanymanybl известно о внешней переменной reallymanytimes но также известно о значении переменной manytimes, которая является параметром этой функции

Дополнительно к этим двум объявляется еще одна, supamanytimes, которой присваиваем не значение внешней переменной, которая принадлежит самому модулю __main__ а значение внутренней переменной manytimes помноженной сама на себя.

Теперь вызываем функцию
printbl
и передаем ей параметром значение локальной для функции printmanymanybl переменной supamanytimes

В функции printbl нам ничего неизвестно про внутренние переменные функции которая нас вызвала, но мы оттуда видим свою переменную-параметр times и таки глобально объявленную переменную __main__.reallymanytimes

И уже внутри printbl ничего дополнительно не объявляя тупо выводим букву "ы" times раз подряд (не подозревая что times - это копия той самой переменной supamanytimes, которую инициализировали в printmanymanybl

15 Мар, 00:16 #319 #688319

>>688309
Делишь длину строки на 70 нацело.
Получаешь число полных кусков по 70 символов в строке.
Потом получаешь остаток от деления на 70 и вычитаешь его из 70.
Получаешь число пробеллов, которые и выводишь перед последним, неполным куском строки, дополняя его таким образом до 70 символов.

118 Кб, 600x800

50 Кб, 220x215

15 Мар, 05:31 #320 #688466

>>687253
Она замужем за альфачем и переехала в СШП.

Ответы>>688467>>688516

15 Мар, 05:35 #321 #688467

>>688466
Читал это ещё когда тред про неё был. Ты опоздал. Да и не альфач это, а просто всратый мажорчик, из которого она деньги и гражданство тянет.

Ответы>>688468

15 Мар, 05:51 #322 #688468

>>688467
Будто она мало зарабатывала.
Будто после выступлений на всяких конференциях на западе и будучи бабой её не взяли бы на работу в США и так.

88 Кб, 1366x768

15 Мар, 06:05 #323 #688469

Запилил всё сам. Нахуя? Не знаю.
>>684699 - кун

Ответы>>688470

15 Мар, 06:10 #324 #688470

>>688469
Таких софтик как говна.
http://gtgnome.net/
Плюс в любой ide и редакторах типа vim/emacs это встроено.

Ответы>>688471

15 Мар, 06:31 #325 #688471

>>688470
Знаю. Так не интересно. Зато теперь я могу перед школьниками хвастаться.

15 Мар, 06:43 #326 #688472

Дайте статью на русском по asyncio, futures и т.п.

Ответы>>688486

15 Мар, 08:44 #327 #688486

>>688472
Гугл даст.

272 Кб, 1900x2240

15 Мар, 09:56 #328 #688516

>>688466
Ничего не пойму, она действительно что-то знает или просто распиаренная пизда из-за выступлений на конференциях и её список знаний просто ложь?

Ответы>>688519

15 Мар, 10:02 #329 #688519

>>688516
Фиг знает на гитхабе у неё какие-то helloworld`ы какая-то чушь типа(https://github.com/lenadroid/lenadroid.github.io/blob/master/despair.js/js/despair.js). На конференциях я потыкал немного - пересказывает tutorial с оф сайта походу, при этом через жопу используя докер.

Ответы>>688536

15 Мар, 10:28 #330 #688529

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

Ответы>>688546>>689616

15 Мар, 10:33 #331 #688536

>>688519
Чот проиграл. Сам себя не похвалишь - никто не похвалит
https://github.com/lenadroid/dotnetfringe.github.io/commit/6c6f45e531b17eef0ec22fab8aae81a930680342#diff-236a4950d125dab8b20b783f4fb5d08cR20

Ответы>>688540

15 Мар, 10:39 #332 #688540

>>688536
Баззвордами разговаривает. Правильно, наверное, так себя продать проще.

Ответы>>688571

15 Мар, 10:53 #333 #688546

>>688529
Напиши систему учета заказов/километража/оплат/рабочего времени диспетчера для диспетчерской какой-нибудь службы такси.
Или для какой-нибудь умозрительной логистической конторы.

Ответы>>688549

15 Мар, 10:54 #334 #688549

>>688546
О логистике думал, да, спасибо.

40 Кб, 640x846

15 Мар, 11:10 #335 #688559

Аноны, на дворе 2016-й год.

Как думаете, не поздно ли вкатываться в пайтон для веба практически с нуля?
>>688483 мой пост.

Ответы>>688560>>688563

15 Мар, 11:11 #336 #688560

>>688559
Учи яваскрипт. Фронтенд кодеры всегда нужны.
Питон умирающий язык.

Ответы>>688565

15 Мар, 11:15 #337 #688563

>>688559
Поздно. Веб умрёт через 2 года.

Ответы>>688565

15 Мар, 11:18 #338 #688565

>>688560
> Питон умирающий язык.
ну хоть и с моим вопросом уровня б, мне кажется что это не совсем так.

> Фронтенд
ты имеешь в виду верстку или что? яваскрипт в вакууме не используется. Он используется с html, css. То есть целый стек.

>>688563
инсайдер-кун, ты опять выходишь на связь?
Вот фронтэнд умереть может, а бэкэнд нужен как для веба, так для мобилочек.

Ответы>>688568

15 Мар, 11:21 #339 #688568

>>688565
питон тоже в вакууме не используется надо дофига всего знать.
нет, не верстку, а фронтенд программирование. плюс нода ещё есть.

15 Кб, 300x197

15 Мар, 11:23 #340 #688571

>>688540
> Баззвордами разговаривает
https://lenadroid.github.io/hireme.html
Doing any kind of complicated solution architecture, distributed cloud programming, high load and performance, big data analysis, data science, functional programming and machine learning.

Ответы>>688573

15 Мар, 11:25 #341 #688573

>>688571
> complicated
complex is better than complicated

Ответы>>688599

15 Мар, 11:45 #342 #688599

>>688573
No, simple and clear is better.

15 Мар, 12:05 #343 #688612

На удалёнку питоноджуном реально?
27 лвл, дохуя давно в айти кручусь, но программёром не работал уже лет 7. Умею питон3 + стандартную библиотеку + нампи + сайпи + пандас и чуть фласк/джанго.
По баблу мне похуй совсем, если чё.

Ответы>>688884

15 Мар, 16:45 #344 #688884

>>688612
Расскажи свою стори, с чего начинал, что изучал и вообще все подробности, интересно послушать.

А по теме: крайне маловероятно что-то найти по заданным критериям, только если в офис, пошерсти на hh вакансии, требования, сразу поймешь какой расклад щас на рынке.

Ответы>>688998>>689002

16 Кб, 365x365

15 Мар, 17:33 #345 #688904

Посоны, как в 'gtk' на кнопку поставить это:
px = Gtk.IconTheme.get_default().load_icon("emblem-default", 64, 0)

'Pixbuf' из 'gi.repository.GdkPixbuf' я импортировал.

Ответы>>688906>>688912>>688915

15 Мар, 17:33 #346 #688906

>>688904
В чем проблема то?

Ответы>>688924

32 Кб, 877x484

15 Мар, 17:40 #347 #688912

>>688904
Делаешь gtk.Image() в нем дергаешь set_from_icon_name или set_from_pixbug
Для кнопки делаешь button.add(image)

Ответы>>688931

15 Мар, 17:41 #348 #688915

>>688904
http://www.pygtk.org/pygtk2tutorial/ch-ButtonWidget.html#buttonfig
Вот как-то так можно. В gtk3 аналогично делается.

15 Мар, 17:45 #349 #688924

>>688906
Пишет, что argument image: Excepted Gtk.Widget, but got gi.repository.GdkPixbuf Pixbuf

Пробовал: b = Gtk.Button(label="button",image=px), но не даёт.
Пробовали и: b.set_image(Gtk.image_new_from_pixbuf(px)), но тоже не даёт.

Ответы>>688930

45 Кб, 648x559

15 Мар, 17:48 #350 #688930

>>688924
умвр

15 Мар, 17:48 #351 #688931

>>688912
О, заработало.

15 Мар, 18:17 #352 #688998

>>688884
В универе быдлокодил на пхп-4. Даже без ооп, просто такой самый быдлокод из быдлокодов.
Потом была пиздатая карьера в сфере далёкой от айти - уволили в 2012. С 12го вяло восстанавливаю карьеру, но с учётом крымнаш и прочей хуйни - решил взяться за старенькое что бы хоть кем-нибудь устроиться смог есличто.
Вот с октября учу питон. Прочитал штук 15 книженций уровня нуб/нуб+, доставили больше всего Think Python, Питон и анализ данных, Core Python Applications Programmig, The Python Standard Library by Example
Всё, в принципе.
В вебдев пытался вкатиться - но что-то не идёт, а пока могу находить вещи которые туда-сюда интересные и получаются - решил себя не насиловать джангой, которую я не понимаю совсем, хотя думаю рано или поздно придётся вникать и в неё.

Переезжать куда-нибудь не могу, в целом. А в моей мухосрани ничего нету.

15 Мар, 18:19 #353 #689002

>>688884
К слову русская контора это было бы замечательно, но не обязательно. Английский знаю туда-сюда.

Ответы>>689016

15 Мар, 18:26 #354 #689016

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

Ответы>>689028>>689092

15 Мар, 18:30 #355 #689025

Пожалуйста, объясните ньюфане, зачем юзать map, apply, reduce когда все это можно записать в виде генератора списков?

Ответы>>689029>>689030

15 Мар, 18:31 #356 #689028

>>689016
Да не, в ДС дохуя контор. И крупных и мелких.
Мелкие часто банкротятся и раньше банкротились и новые появляются, это нормальный процесс.

15 Мар, 18:33 #357 #689029

>>689025
>map, apply, reduce
Явное лучше неявного и простое лучше сложного.
Чем каждый раз городить одну и ту же плохую реализацию на генераторах проще добавить в стандарт.

15 Мар, 18:33 #358 #689030

>>689025
Незачем. Если тебе надо одну функцию применить, то map бывает удобней иногда типа map(str.strip, list_of_strings)
Или filter(None, somelist)
apply вообще Deprecated since version 2.3
reduce редко бывает нужен совсем.

Ответы>>689509

15 Мар, 19:33 #359 #689092

>>689016
Ты же утрируешь? Скажи что утрируешь! У меня ёбанная паника от твоего поста. Серьезно, хуёво стало. Парни и девочки, он же неправ, да?

Ответы>>689098>>689108

15 Мар, 19:36 #360 #689098

>>689092
Тебе все советовали перед любым языком программирования выучить английский. Выучил бы - похуй бы было. Апворк или удаленка и ебись оно все конём

Ответы>>689102

15 Мар, 19:39 #361 #689102

>>689098
Говно этот ваш апворк

Ответы>>689116

15 Мар, 19:40 #362 #689108

>>689092
Айти не самодостаточно, оно живет за счет вливаний из реального сектора. Прямых или косвенных. Сейчас реальный сектор страдает и в первую очередь экономит на айтишых выебонах, рекламе (которая тоже в этих наших интернетах) и потом уже своих работниках.

15 Мар, 19:43 #363 #689116

>>689102
Кто бы спорил. Работать вообще не самое пиздатое в жизни

16 Мар, 06:33 #364 #689509

>>689030
Да и reduce тоже убрали и в functools закопали.

16 Мар, 07:05 #365 #689517

Стоит ли создавать в гитхабе мегарепозиторий со всякими маленькими проектами? Какую структуру лучше использовать?

Ответы>>689518>>689712

16 Мар, 07:17 #366 #689518

>>689517
> Какую структуру лучше использовать?
trunk/
branches/
tags/
https://ariejan.net/2006/11/24/svn-how-to-structure-your-repository/

Ответы>>689560

16 Мар, 09:56 #367 #689560

>>689518
>trunk
>branches
>tags
Свежесть дедушкиной мошонки.

16 Мар, 10:09 #368 #689562

ps = Popen('ls', stdout=PIPE, stderr=PIPE)
out, err = ps.communicate()

Какой тип будет у out, string или [string], если это массив то есть ли там символ перевода строки?
Как в общем случае такую информацию получить?

Ответы>>689567>>689568

16 Мар, 10:16 #369 #689567

>>689562
str

16 Мар, 10:17 #370 #689568

>>689562
> Как в общем случае такую информацию получить?
1) читать документацию
2) запустить это в интерактивном режиме и посмотреть какой type(out)

Ответы>>689571

16 Мар, 10:21 #371 #689571

>>689568
>type(out)
то что нужно
>читать документацию
Без обид, но документация python - говно

Ответы>>689573

42 Кб, 659x405

33 Кб, 632x453

45 Кб, 535x503

16 Мар, 10:25 #372 #689573

>>689571
у питона отличная документация ты видимо не сталкивался с проектами где документация действительно говно или вообще отсутствует.
Плюс есть docstring`

Ответы>>689577>>689642

16 Мар, 10:32 #373 #689577

>>689573
Беру свои слова обратно, я смотрел онлайн документацию

16 Мар, 12:00 #374 #689616

>>688529
П А Р С Е Р
А
Р
С
Е
Р
Больше на нем никто и ничего не пишет

Ответы>>689618

16 Мар, 12:03 #375 #689618

>>689616
Мне надо к самому какому-либо аппарату прикрутить сайт и базу данных. Парсер, очевидно, не подходит для этих целей. А пилить имиджборду на питоне, как в одном гайде, мне западло.

16 Мар, 12:44 #376 #689642

>>689573
Двачую, документация что надо. Еще и собрана в одном месте и рассортирована по версиям.

16 Мар, 13:05 #377 #689655

Анон, что с django 1.9 почему, она ищет вместо base.html другое имя коренного шаблона?

Ответы>>689712

16 Мар, 13:45 #378 #689679

Господа, а вот раньше был google code search, как очевидно из названия - поиск по сорцам из открытых проектов. Но он сдох. Кто-нибудь чем новым пользуется? Я потыкал альтернативы - ну просто феерически наркоманские интерфейсы, никакующие фильтры ну и вообще не оче.

16 Мар, 14:24 #379 #689712

>>689655

А все разобрался, ебать я наркоман.

>>689517

Алсо на гитхабе дизайн сменился, где там поиск теперь?

Ответы>>689714

16 Мар, 14:26 #380 #689714

>>689712
Там же где и был, строка сверху.

16 Мар, 20:36 #381 #690033

>>685693
DRF же + django-mailing, gunicorn, fabric (или какой-то его форк для 3.x, забыл название).

Не мастхэв, но часто приходится юзать django-push-notifications, python-social-auth/django-allauth, drf-nested-routers.

16 Мар, 21:42 #382 #690126

Можно подружить renpy с pycharm? А точнее .rpy

Ответы>>690149

16 Мар, 22:00 #383 #690149

>>690126
Логика подсказывает что можно. В чем проблема то? И по пакетам пайшарма пройдись.

Ответы>>690151>>690154

32 Кб, 500x375

16 Мар, 22:01 #384 #690151

>>690149
>пайшарма

16 Мар, 22:02 #385 #690154

>>690149
В том что синтаксис у ренпая другой. По пакетам прошелся, и в гугле прошелся.

48 Кб, 288x288

16 Мар, 22:17 #386 #690168

Немножко брандербурха не по теме.
Хочу помесить кнопку в нижний правый угол дива, сделал:
position: relative;
bottom: 0px;
right: 0px;
При "position: absolute;" как и ожидается, кнопка едет в нижний правый угол страницы, но при "relative" эта ебала не работет, и вопрос не почему, а кто придумал эту ебучую даунскую ксспарашу?

Ответы>>690171>>690397

16 Мар, 22:20 #387 #690171

>>690168
Фронтенд - свалка исторических костылей, где ни одна технология не оказалась по причине своей годноты. Используешь технологии фронтенда - жрешь говно.

16 Мар, 22:58 #388 #690211

Недавно тоже столкнулся с фронтэндом
В последний раз верстал чего руками году эдак в 2006м, и тогда жс был нужен ровно в объёме 5 строк просто что бы переключать картинки бля.
А сейчас влез и охуел. Прям реально опизденел с этого всего куда оно скатилось.

17 Мар, 02:03 #389 #690397

>>690168
А схуяли они должна ехать в угол при относительной позиции? Ты доки хоть осилил? Сдаётся мне,
>ебучая даунская параша
Это не технология, а твоя необучаемость.

17 Мар, 03:39 #390 #690426

>>684010 (OP)
Шалом. Учусь кодить на пистоне и параллельно пытаюсь писать скрипт для вк. Столкнулся с проблемой: мне необходимо получить "списки" типа "user: group, group, group, group; user1: group, group, group, group; etc". Как это можно реализовать?

Ответы>>690435

17 Мар, 05:23 #391 #690435

>>690426
https://vk.com/dev/methods
Urllib, json. Дальше сам.

Ответы>>690438

17 Мар, 05:51 #392 #690438

>>690435
Я использую https://pypi.python.org/pypi/vk/2.0.2

Смотри что я пытаюсь сделать:

import vk

session = vk.AuthSession(app_id='', user_login='', user_password='')
api = vk.API(session)

listOfMembers = api.groups.getMembers(group_id='1', count=500)
testUsers = api.groups.isMember(group_id='2', user_ids=listOfMembers['users'])

i = 0

for element in testUsers:
test = testUsers

if test[u'member'] == 1:
print test[u'user_id']

if i < 499:
i = i + 1
else:
break

На выходе получается список пользователей группы 1, которые также состоят в группе 2. Так вот, я хочу сделать такую же проверку по десятку группу и на выходе получить список:

user: group, group, group, group;
user1: group, group, group, group;
etc

и не могу сообразить каким образом это сделать. То-есть я понимаю как сделать проверку, но не могу сообразить как сохранить информацию в нужном мне формате.

Ответы>>690440>>690441

17 Мар, 05:56 #393 #690439

Питоны-питончики, а в чём прикол первого варианта в моём примере? Он вообще в каких-то случаях бывает удобнее/полезнее, чем второй?
http://ideone.com/NbeXBO

Ответы>>690444

27 Кб, 792x373

17 Мар, 06:12 #394 #690440

>>690438

17 Мар, 06:22 #395 #690441

>>690438
Я нихуя не понял. Чего ты хочешь добиться? Получить список пользователей, каждый из которых состоит в списке заданных групп?

Ответы>>690442>>690443

17 Мар, 06:25 #396 #690442

>>690441
Да.

Ответы>>690445

17 Мар, 06:35 #397 #690443

>>690441
В общем я хочу очистить группу от людей подписанных на мдк, падик, и прочий ЗШ.

17 Мар, 06:45 #398 #690444

>>690439
Несусветная хуйня какая-то, откуда ты такое вообще нарыл? В чём проблема d['x'] += 1 сделать?
Для статик метода лучше декоратор использовать, ты кошернее.

17 Мар, 06:51 #399 #690445

>>690442
Создаешь словарь с user id в качестве ключа, значения - пустые списки, проходишься по по списку нужных групп, вызывая эту хуйню api.groups.isMember, проходишься по результату, добавляя в словарь номер группы, если test['member']==1, вроде result[id].append(group_id). Понел? (я эту либу не юзал, если че)

Ответы>>690447

17 Мар, 06:59 #400 #690447

>>690445
Но в словаре у ключа может быть только одно значение или нет?. Во всех примерах что я нахожу записывается так:

>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}

Ответы>>690450

17 Мар, 07:06 #401 #690450

>>690447
А у тебя список значением будет. Хуле нет? Значение может быть мутабельным, ключ -- нет.
Бля, ты даже основ не знаешь, а лезешь в васянские либы. Нахуй так жить?

Ответы>>690452

17 Мар, 07:13 #402 #690452

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

Ответы>>690454

17 Мар, 07:21 #403 #690454

>>690452
Такой пример устроит?
d[k]=[]

Ответы>>690458

17 Мар, 07:25 #404 #690458

>>690454
Охуенный пример, я сразу всё понял. на самом деле нет

Ответы>>690459

17 Мар, 07:27 #405 #690459

>>690458
А! Допёр.
>>> a = {123:['abc', 'def'], 321:['ttt', 'eee']}

Ответы>>690460

17 Мар, 07:30 #406 #690460

>>690459
http://youtube.com/watch?v=oyFQVZ2h0V8

Ответы>>692247

17 Мар, 13:34 #407 #690630

Анон, задам ньюфаговопрос.
Я дочитал Доусона, т.е. более или менее ознакомился с базовыми вещами, и пришло время практиковаться. Поскольку я хочу катиться в сторону бекенда - решил в качестве практики попробовать начать делать какие-нибудь вебстранички, начиная с простеньких. И понял что не знаю как вообще соединять питон и веб.
Что прочитать по питону в веб и как вообще начать?

Ответы>>690807>>690902

17 Мар, 16:28 #408 #690807

>>690630
Документацию по tornado, aiohttp.

sage 17 Мар, 16:31 #409 #690809

>>684010 (OP)
Сажи за омерзительный оппик.

Ответы>>690896

sage 17 Мар, 18:55 #410 #690896

>>690809
Удваиваю. ОП-хуй.

17 Мар, 19:03 #411 #690902

>>690630
До веба тебе имхо рановато, после одного Доусона-то. Но дело житейское, конечно.
"2 Scoops of Django" и "Test-Driven-Development for web programming" по Django - годнота из годнот
Ещё мне понравилась глава о джанге в "Core Python Applications Programming"
Туториалы годные - официальный и Django Girls. Возможно с последнего стоило бы и начать, что бы сразу получить представление что за хуйню ты собираешься в итоге получать ковыряясь в джанго.

По веб2пу (который возможно бы имело смысл глянуть после питона до джанго) всё совсем просто, прямо на уровне прошёл туториал - вкатился.
По фласку специальной литературы я немного видел, но не трогал. После веб2пу наполовину интуитивно вкат идёт.

17 Мар, 21:23 #412 #691031

>>684377
не пробовал с 1ЭСкакрусская, а с птичкой отлично работает, нужно pip install fdb и установить клиент firebird с оффсайта, если в PyCharm хочешь базу подключить, то еще нужно драйвер jdbc скачать, опять же с офф сайта firebird

17 Мар, 21:39 #413 #691062

Пишу чатик на сокетах + ткинтер. Если сокет не блокирующий, то я просто поток данных ловлю? Чет запутался, как постоянно слушать/принимать сообщения и крутить в ткинтере. Tk.after() ??? Направьте плиз, код не могу пока скинуть ,я с телефона.

Ответы>>691260

17 Мар, 22:18 #414 #691124

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

Перепробовал все шаманские способы из стака, ничего не помогает. Как это можно разрулить?

17 Мар, 22:23 #415 #691127

Пистонисты, почему у вас в шапке не написан минимум знаний для начала работы?

Ответы>>691175>>691336

17 Мар, 22:33 #416 #691136

Подскажите новичку, как под виндой изящнее решать вопросы архивации файлов, есть что-то удобнее zipfile?

Ответы>>691162

17 Мар, 23:09 #417 #691162

>>691136
7zip

Ответы>>691813

17 Мар, 23:26 #418 #691175

>>691127
Уверенный пользователь пека + ангельский.

Ответы>>691178

17 Мар, 23:31 #419 #691178

>>691175
Это чтобы стать тем самым 300к в час фрилансером?

Ответы>>691180

17 Мар, 23:32 #420 #691180

>>691178
И годы боли и унижений.

18 Мар, 01:25 #421 #691260

>>691062
Нужно использовать мультитрединг, pyqt + quamash + asyncio или поочереди вызывать лупы гуя и сети.

18 Мар, 01:33 #422 #691266

>>666666

Ответы>>691268

18 Мар, 01:34 #423 #691267

>>666666

Ответы>>691268>>691271

19 Кб, 381x400

18 Мар, 01:34 #424 #691268

>>691266
>>691267

Ответы>>691271

270 Кб, 600x415

18 Мар, 01:42 #425 #691271

>>691268
>>691267
>>691268
>>661268
>>666268
>>666668
>>666666

18 Мар, 02:54 #426 #691293

Можно ли в Gtk назначить focus_chain для глубоко лежащего виджета, не назначая при этом фокус для всех родителей?

Ответы>>692008

18 Мар, 06:20 #427 #691336

>>691127
Потому что на питон работы нет азаза

Ответы>>691450

18 Мар, 11:12 #428 #691450

>>691336
Рабист закукарекал.

18 Мар, 13:30 #429 #691569

http://stackoverflow.com/research/developer-survey-2016

Раби как всегда на дне, даже ниже чем обычно.

18 Мар, 15:47 #430 #691717

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

Ответы>>691724>>691736

18 Мар, 15:51 #431 #691724

>>691717
https://docs.python.org/3/howto/regex.html + https://docs.python.org/3/library/re.html

18 Мар, 16:04 #432 #691736

>>691717
>чужое понимаю
Лол. Я свое понять бывает не могу.
Вбей в гугл regular expression online и поиграйся. Можешь еще дописать типа database или snippets и тоже полистать. Это точно работающий путь.
Еще в Core Python Programming их туда-сюда объясняли, мне понравилось но выучил я их до этого

Ответы>>691740

18 Мар, 16:07 #433 #691740

>>691736
Ну, не то, чтобы понимаю, как это работает, но понимаю, что нужно скопипастить, чтобы сделало что-то.

18 Мар, 16:19 #434 #691746

Тут кто-нибудь умеет в джанго?

Ответы>>691748

18 Мар, 16:24 #435 #691748

>>691746
Нет.

18 Мар, 16:25 #436 #691749

У меня есть тупой нубский вопрос на который гугл не может мне ответить

Ответы>>691752

18 Мар, 16:27 #437 #691752

>>691749
Ясно.

18 Мар, 16:29 #438 #691753

Как достать сессии в Templatetag?

229 Кб, 335x500

18 Мар, 18:34 #439 #691813

>>691162
Я не пойму, ты клоун или клоун?

18 Мар, 19:23 #440 #691840

https://github.com/TheKnightsWhoSayNi/info/wiki/Yoba-guide-k-yspexy будет дополняться?

Ответы>>691843>>691863

18 Мар, 19:24 #441 #691843

>>691840
Дополню как только приду.

18 Мар, 19:43 #442 #691863

>>691840
Пиздец, не знал что у нас столько страниц в вики. Я думал только одна.

18 Мар, 21:38 #443 #691984

Ну что, педики, признавайтесь, кто был на мейлрак питан митап.

Ответы>>692055

18 Мар, 21:52 #444 #692008

>>691293
Бамп

18 Мар, 22:34 #445 #692055

>>691984
Да никто не был, тут одни хекки. Ну может ты один.

Ответы>>692061

18 Мар, 22:46 #446 #692061

>>692055
Да, я, к сожалению там был.

Ответы>>692062

18 Мар, 22:47 #447 #692062

>>692061
Ну и как? Сплошной самопиар и советы от капитана очевидности?

Ответы>>692064

18 Мар, 22:51 #448 #692064

>>692062
Отсидел два доклада из трех. Ничего инновационного, интересного. Первый доклад обзорного типа, второй реклама юпитера.

121 Кб, 1023x575

18 Мар, 23:48 #449 #692110

Посоны, поясните за бэкенд расклад.
Написал один скрипт, крутится в бесконечном цикле, отсылает инфу на сайт. Как принято заворачивать всё это дело, шоб можно было мониторить там нормально, при падении самовосстанавливать и всё такое?

Ответы>>692262>>692263>>692264>>692397

19 Мар, 09:11 #450 #692247

>>690460
Братишка, я всё равно нихуя не понимаю. Чому он полностью переписывает словарь, вместо его обновления?

http://dpaste.com/0R2D46R

Ответы>>692249

19 Мар, 09:22 #451 #692249

>>692247
Потому что у тебя append никогда не выполняется

Ответы>>692250

19 Мар, 09:24 #452 #692250

>>692249
Так его нужно использовать не только для добавления значения к уже существующему ключу, но и для добавления нового ключа:значения?

Ответы>>692252

19 Мар, 09:34 #453 #692252

>>692250
А нет, с добавлением у тебя все верно, это я тупанул. У тебя просто словарь переписывается (строка 29) в каждой итерации for element in testUsers, т.е. для каждого юзера

Попробуй так - http://dpaste.com/3KHM462 будет полный словарь по всем группам и юзерам
Или воткни zashquaredList = {} после for element in zashquaredGroups, будет после каждой группы сбрасываться.

Алсо, что у тебя там за пустые айдишники? group_id=''? Мне vk на них еггогами сыпал, пришлось мдк воткнуть.

Ответы>>692255

19 Мар, 09:38 #454 #692253

Давайте что-нибудь вместе запилим

Ответы>>692318>>692854

19 Мар, 09:39 #455 #692255

>>692252
>Алсо, что у тебя там за пустые айдишники? group_id=''? Мне vk на них еггогами сыпал, пришлось мдк воткнуть.

listOfMembers = api.groups.getMembers(group_id='', count=500, offset=offset)?

Это айди группы из которой происходит выгрузка пользователей. https://vk.com/dev/groups.getMembers

Ответы>>692256

19 Мар, 09:40 #456 #692256

>>692255
Но почему оно у тебя пустое?

Ответы>>692258

19 Мар, 09:42 #457 #692258

>>692256
ДЕАНОН@ТРАВЛЯ

Удалил. Только что скрип отработал, всё ништяк. Спасибо за помощь.

Ответы>>692269

19 Мар, 09:52 #458 #692262

>>692110
Бамп вопросу.

19 Мар, 09:55 #459 #692263

>>692110
Сделай systemd unit же. Там ini-like файл в 5 строчек получится. Он и запускать будет, и мониторить, и логгировать, и перезапускать в случае падений.

Ответы>>692265

19 Мар, 09:56 #460 #692264

>>692110
monit
supervisord

Ответы>>692265

19 Мар, 09:57 #461 #692265

>>692263
>>692264
Спасибо, няши.

19 Мар, 10:25 #462 #692269

>>692258
В общем то всё хорошо кроме ЕБУЧИХ РАЗРЫВОВ СВЯЗИ. ААААААААААААААААААААААААААААААА АААААААААААААААААААААААААААА БЛЯТЬ!!! АААААААААААААААААААААААААА

19 Мар, 13:07 #463 #692318

>>692253
Что например?

Ответы>>692722>>692754

19 Мар, 15:08 #464 #692397

>>692110
скрипт на шелле, который при падении заново запустит:
#!/bin/bash
while :; do
python3 run.py
done

ну а чтоб мониторить, внутри своего питоновского скрипта пиши в log.txt что хочешь

Ответы>>692399

19 Мар, 15:14 #465 #692399

>>692397
Десять костылей из десяти.

Ответы>>692406

19 Мар, 15:18 #466 #692405

Пишу прилу для ВК АПИ под питоном, использую https://github.com/dimka665/vk. Есть такой метод https://vk.com/dev/messages.getHistoryAttachments, он иногда выдает next_from. Либа выдает только items. Исправив одну строчку в самой либе, теперь items обернут в response, но next_from получить не удалось. Так как же получить этот самый next_from?

Мой код

import vk,logging

logging.getLogger('vk').setLevel(logging.DEBUG)

session = vk.Session(access_token='here it goes')
api = vk.API(session, v='5.35', lang='en', timeout=10)
print api.messages.getHistoryAttachments(peer_id=wow, media_type='photo')

19 Мар, 15:18 #467 #692406

>>692399
зато при переносе на машину клиента не нужно всякие мониторщики объяснять как настраивать. я с заебался, так проще

Ответы>>692416

19 Мар, 15:28 #468 #692416

>>692406
systemd есть везде.

Ответы>>692418

19 Мар, 15:30 #469 #692418

>>692416
Дистрибутивы, в которых systemd установлен по умолчанию:
Debian GNU/Linux версии 8
Ubuntu 15.04 и позже
Fedora 15 и позже[13]
Mageia 2[14]
Mandriva 2011[15]
Rosa
openSUSE 12.1 и позже[16]
Arch Linux 12.11[17][18][19] (предоставляет возможность использования как самописной системы инициализации (более не поддерживается[20]), так и любой другой (также без официальной поддержки со стороны дистрибутива))
Sabayon 13.08[21]

Ответы>>692421

19 Мар, 15:33 #470 #692421

>>692418
Не вижу цетоси и красношапки, а должны быть. Но даже в оплоте анти-systemd - генте - теперь systemd. Короче, везде.

Ответы>>692730

19 Мар, 20:33 #471 #692709

Ищу Python/Django/DRM разработчика для запиливания crm-системы.

Обязательно:
- уверенное знание Python (будет использоваться Python3);
- уверенное знание Django;
- общий технический бекграунд, представление о работе сервера, опыт развертывания каких-либо web-проектов (включая учебные или любительские), cli, сетевые протоколы.

Плюсом будут знания:
- знание Django REST Framework;
- общее представление о том как устроены сайты, что такое Интернет, веб-браузеры и т.п.
- знакомство с Celery, Virtualenv, Supervisor, uWSGI, Nginx, Tornado, Redis, Memcached, Ansible;

Вкатываться сюда: https://goo.gl/jLY5ff

Ответы>>692892

19 Мар, 20:40 #472 #692722

>>692318
Фильм снимем

Ответы>>692724>>692725

19 Мар, 20:41 #473 #692724

>>692722
Чур я на белом коне.

Ответы>>692735

19 Мар, 20:41 #474 #692725

>>692722
Снимай портки.

Ответы>>692735

19 Мар, 20:43 #475 #692730

>>692421
Может он и правда хорош?

Ответы>>692736

19 Мар, 20:45 #476 #692735

>>692724
Если коня найдёшь, то пожалуйста.
>>692725
Я тут режиссёр, поэтому ты снимай.

Ответы>>692737

19 Мар, 20:45 #477 #692736

>>692730
Ага, а УЗКАЧИ носят потому-что это удобно.

Ответы>>692739>>692746

19 Мар, 20:45 #478 #692737

>>692735
Ты тут хуй.

19 Мар, 20:46 #479 #692739

>>692736
Кто такие узкачи?

Ответы>>692741

598 Кб, 1352x659

19 Мар, 20:49 #480 #692741

>>692739

Ответы>>692743>>692744

19 Мар, 20:51 #481 #692743

>>692741
Меня мама в детстве заставляла колготки носить, поэтому теперь я ношу только ШИРОЧИ

Ответы>>692745

19 Мар, 20:51 #482 #692744

>>692741
Но от той бирюзовой жопы слева внизу я бы не отказался.

19 Мар, 20:52 #483 #692745

>>692743
>я ношу только ШИРОЧИ
Деревенщина ебаная. Вся прогрессивная молодёжь ходит в узкачах.

19 Мар, 20:53 #484 #692746

>>692736
А нормально аргументировать за недостатки, перевешивающие преимущества, можешь?

Ответы>>692747>>692748

19 Мар, 20:54 #485 #692747

>>692746
На яйца давит.

Ответы>>692815

19 Мар, 20:54 #486 #692748

>>692746
Я привожу аналогию. Что за systemd - то я, как юзер, вообще не заметил разницы.

Debian Jessie.

19 Мар, 21:02 #487 #692754

>>692318
Проект

Ответы>>692756

19 Мар, 21:06 #488 #692756

>>692754
Да нинужон он ваш проект, понятно?

Ответы>>692759

19 Мар, 21:09 #489 #692759

>>692756
Кому нинужон то?

Ответы>>692761

19 Мар, 21:10 #490 #692761

>>692759
Никому.

Ответы>>692778

19 Мар, 21:17 #491 #692775

#500 пилит перекат

19 Мар, 21:20 #492 #692778

>>692761
Чому ето?

Ответы>>692782

19 Мар, 21:22 #493 #692782

>>692778
Ну а кому он нужон?

157 Кб, 1138x831

19 Мар, 21:33 #494 #692796

Братишки, что за хуйня с импортом?
Поставил себе vk api через pip, в интерпретаторе все заебись импортируется и запускается, а когда запускаю тот же код из скрипта, то все валится на второй же строке, сообщая мне о том, что у vk нет метода Session(). Как пофиксить?

import vk
session = vk.Session()

Да, стоит Anaconda x64 с python 3.5.1

Ответы>>692808

19 Мар, 21:41 #495 #692808

>>692796
Какая версия модуля vk?

Ответы>>692811

19 Мар, 21:42 #496 #692811

>>692808
2.0.2

Ответы>>692814

19 Мар, 21:48 #497 #692814

>>692811
Замени на

session = vk.AuthSession(app_id='', user_login='', user_password='')
api = vk.API(session)

Ответы>>692818

19 Мар, 21:51 #498 #692815

>>692747
Покупай по размеру, аутист.

19 Мар, 21:55 #499 #692818

>>692814
Такая же ошибка, только уже с AuthSession.
Повторю, что пошагово через сосноль все работает: dir(vk) возвращает атрибуты, в числе которых Session, API и прочая хуйня. А вот скрипт возвращает только стандартные атрибуты.

19 Мар, 22:30 #500 #692854

>>692253
Ты блядь даже не знаешь что запилить, а уже спрашивашь. В твоей голове пустота и рак, чернь ебаная, черви, двачинки нахуй, о чем мне с вами говорить, вы же все мрази блядь, с вами невозможно по-человечески. Запилим проект блядь, а стартпачик тебе не намутить, может переписать на тебя потом долю в IPO? Да ты же раковать на двощах только и умеешь, выблядок сраный, пользуешься чужим говном и ничего сам не создаешь, при первом же случае кинешь нахуй, в пизду такое отношение блядь, никогда я нахуй больше не буду иметь с такими дело, никакой блядь ответственности и головы на плечах, лишь бы пораковать и поугорать, да пошел ты нахуй, червь-пидор, я не для тебя учился программировать, запилить проект он блядь хочет, охуеть теперь.

Ответы>>692893>>692935

19 Мар, 23:10 #501 #692892

>>692709
Вы кто?

19 Мар, 23:13 #502 #692893

>>692854
Пили перекат

20 Мар, 00:08 #503 #692935

>>692854
>больше не буду иметь с такими дело
Был опыт с анонами?

20 Мар, 02:03 #504 #693067

>>693065 (OP)
Переполз.

20 Мар, 10:11 #505 #693155

Проблема с логгированием и pybrain.
В общем, есть примитивный код: http://pastebin.com/wcEhadUm
И, собственно, какого чёрта импорт pybrain'а влиет не только на существующие, но и вообще на все новые логгеры? Как так-то, блин?!

Там в нём есть напрямую вызовы logging.warn(...), которые, вроде как, и есть проблемные места (в рут логгер, что ли, добавляется дефолтный хендлер, который вызывается всегда, так как является "родителем" всех логгеров полученных через менеджер). Но что это за бред-то, блин? Единственный способ получить чистый, личный логгер - это напрямую l = logging.Logger('mojo'), но тогда он в менеджер не запишется и я из другого модуля не смогу его через getLogger получить никак (создастся новый).

Что я не так делаю-то, как мне быть? Хочу логгер через getLogger, но без "чужого" мусора в нём.

Ответы>>693158

20 Мар, 10:20 #506 #693157

>>684414
Вот за это я и люблю лжедвач!

20 Мар, 10:21 #507 #693158

>>693155
Собственно, вот это можно запустить для иллюстрации проблемы (на идеоне не работает logging) — http://ideone.com/8p6md2

20 Мар, 12:33 #508 #693195

Найдётся ли тут Антон, который шарит с многопоточкой?

Ответы>>693198

20 Мар, 12:38 #509 #693198

>>693195
Нет. Пиши вопрос и тебе, возможно, ответят. Тут не биржа личных консультантов.

Ответы>>693200

20 Мар, 12:40 #510 #693200

>>693198
Понял, сча всё будет

5 Кб, 479x108

20 Мар, 13:07 #511 #693219

Задача: генерация текстового файла больших размеров (>200Мб, как минимум) забитого рандомными строками.
Сделал однопоточную версию программы, она думала его генерировала порядка 30 минут (300 Мб).
Прочитал, что операция записи на диск дорогостоящая по времени, чтоб записывать по одной строке, поэтому стал добавлять по блоку в 2Мб в файл.
Стало быстрее...Немного.
Решил использовать пул потоков, для создания этих блоков.
Но, написанный код всё равно выполняет их по очереди, и по этой же очереди записывает профита нет.
Что в этом участке надо пофиксить, чтоб оно генерировало одновременно в нескольких потоках, а потом записывало в файл?

Ответы>>693222>>693250

6 Кб, 496x103

20 Мар, 13:12 #512 #693222

>>693219
быстрофикс:немного неполная картинка
количество блоков гораздо больше количества процессов в пуле. Количество процессов я поставил = 10.

20 Мар, 13:51 #513 #693250

>>693219
Во-первых, стоит сначала найти проблемное место. Что-то мне подсказывает, что это не запись занимает полчаса, а генерация. Threading для cpu-bound задач не подходит, тут multiprocessing нужен.
Какой бы дорогостоящей операцией запись ни была, даже 100 вызовов никак не будут влиять на общее время, если оно у тебя в минутах исчисляется, а быстрее скорости диска писать, естественно, ни треды, ни процессы не помогут.

http://pastebin.com/EqzMd02K
Total time: 6.567
Chars: 62914560
File size: 251658240
Generation time: 2.931
Writing time: 3.618

Ответы>>693255

20 Мар, 14:07 #514 #693255

>>693250
Ну а затем замечаем, что генерация занимает меньше времени, чем письмо, и тут-то уже мультитрединг и можно подрубить: пока генерируется новая часть, предыдущую пишем.
http://pastebin.com/9W6nYz4e (могут быть мелкие ошибки, перепечатывал вручную, т.к. запускал на другом компьютере, без доступа к двощам)

Total: 6.332
Generation time: 2.910
Writing time: 6.125

Ответы>>693259

20 Мар, 14:10 #515 #693259

>>693255
А, ну и от multiprocessing'а толку уже никакого тоже не будет (в моём случае, по крайней мере), т.к. ~97% занимает запись на диск.
Если у тебя сэсэдэ, можешь поиграться.

Ответы>>693260

20 Мар, 14:11 #516 #693260

>>693259
Впроче, если у тебя ssd, То и процессор вряд ли core2duo, лол.
Простите за получившийся односторонний чятик.

Ответы>>693263

20 Мар, 14:15 #517 #693263

>>693260
2чая тебе
и 40 девственниц
сейчас буду разбираться в твоих кодах

865 Кб, 224x400

20 Мар, 14:50 #518 #693282

Что учить после основ питона?
Что кодить? Как побороть апатию и уныние?

Ответы>>693327>>693366

20 Мар, 15:45 #519 #693327

>>693282
>Что кодить?
why not?
http://www.checkio.org/

Ответы>>693407

20 Мар, 16:21 #520 #693366

>>693282
Соус?

20 Мар, 17:04 #521 #693407

>>693327
Что это? Зашел, сайтик красивый, а в чем суть?

Ответы>>693435

20 Мар, 17:24 #522 #693419

Надеюсь, я нашел верный тред.

Господа, у меня вопрос.

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

Собственно, вопросов у меня даже два.
1) Какую иде поставить для питона+джанго на убунту?
2) Какие есть хорошие учебники, желательно на русском?

Жду ответов.

Ответы>>693445

220 Кб, 1365x642

380 Кб, 1364x655

1264 Кб, 1364x744

737 Кб, 1365x733

20 Мар, 17:46 #523 #693435

>>693407
1. Заходишь в форму для регистрации.
2. Регаешься.
3. Жмёшь на один из активных островов(Home/Elementary, там простые задания)
4. Выбираешь задание(палочками, с правой стороны, показана сложность).

Ответы>>693439

504 Кб, 1365x735

204 Кб, 1364x742

126 Кб, 1359x736

20 Мар, 17:51 #524 #693439

>>693435
5. Читаешь задание(в самом низу есть подсказки\пояснения), если оно тебе нравится - переходишь к выполнению.
6. Собственно окно в котором ты пишешь код\вставляешь готовый. Try It - проверка твоего кода с заданным значением. Run&Check - проверка твоего кода с различными данными из задачи, ну и вывод результата:
___1. Всё хорошо.
___2. Ошибка в строке %name%
___3. Ошибка при проверке результа %value%
7. Если всё хорошо.

20 Мар, 17:54 #525 #693445

>>693419
1. PyCharm Community Edition (https://www.jetbrains.com/pycharm/download/#section=linux).
2. Саммерфилд и\или Лутц(4-ое издание) - это по пайтону.

48 Кб, 1046x303

217 Кб, 1290x623

37 Кб, 543x549

20 Мар, 18:16 #526 #693469

Подскажи, что не так, Анон?

Ответы>>693484

20 Мар, 18:30 #527 #693484

>>693469
у тебя функция ничего не возвращает

Ответы>>693507

47 Кб, 997x282

20 Мар, 18:56 #528 #693507

>>693484

40 Кб, 490x500

20 Мар, 21:16 #529 #693597

Объясните, почему перебор по символам, а не по элементам?

20 Мар, 22:57 #530 #693676

Как в пайчарме файл .kv подключить к файлу .py?

20 Мар, 23:06 #531 #693687

Начал читать Укус Питона. С чем в паре его использовать для практики? checkio пойдет?

20 Мар, 23:30 #532 #693724

https://2ch.hk/pr/res/693723.html (М) - перекат.

Перекат 21 Мар, 15:44 #533 #694179

https://2ch.pm/pr/res/693065.html (М)
https://2ch.pm/pr/res/693065.html (М)
https://2ch.pm/pr/res/693065.html (М)
https://2ch.pm/pr/res/693065.html (М)
https://2ch.pm/pr/res/693065.html (М)
https://2ch.pm/pr/res/693065.html (М)

Тред утонул или удален.
Это копия, сохраненная 9 апреля 2016 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion