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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #684148
>>684010 (OP)
Кек, ну вы поняли, да? У него питон в штанах))
134 Кб, 566x800
#3 #684377
Поясните ньюфагу, Питон умеет с Firebird и 1c работать? Только не бейте за тупой вопрос.
>>684382>>691031
#4 #684382
>>684377
google: python 1c
google: python firebird

Судя по всему может.
#5 #684401
https://corp.mail.ru/ru/press/events/189/
18 марта, в пятницу, приглашаем на MoscowPython Meetup 33 в офис компании Mail.Ru Group.
>>684406>>684413
sage #6 #684406
>>684401
Мамку свою пригласи, петух.
>>684410
#7 #684410
>>684406
Вы грубиян.
>>684414
#8 #684413
>>684401
Какая-то муть про тестирование ТЕМНЫХ ЗОН, ipython notebook, и гвоздь программы!

>«Новички в Python: как жить дальше?»


Вам самим не лень ради такого собираться?
>>684420
sage #9 #684414
>>684410
Пошел на хуй и парашу свою забери.
>>693157
#10 #684420
>>684413
Тусовочка главное. Тянку можно подцепить из hr.
>>684423>>684706
#11 #684423
>>684420
Мой питон уже привык к руке.
>>685478
#12 #684582
>>684695
#13 #684695
>>684582
Ну я из своего, хобби всё-таки.
#14 #684699
Подскажите софтину для формирования todo листа для своего проекта. Под линь.
186 Кб, 947x475
162 Кб, 960x664
120 Кб, 1200x674
91 Кб, 997x650
#15 #684700
>>684699
Пишешь в комментах к коду # TODO а потом грепаешь :3
В ide и даже vim это поддерживается вообще https://www.jetbrains.com/pycharm/help/using-todo.html
Если юзаешь гитхаб или аналог можешь там создавать issue
Можно юзать софт типа redmine, trac, jira, basecamp
>>685297
#16 #684706
>>684420
ХАХАХАХАХАХАХАХАХАХХАХААХХАХААХ
и еще
ХАХХААХХАХАХАХААХ
АХАХАХАХАХА БЛЯ
>>684707
#17 #684707
>>684706
Хех. А ведь правда, тяночки хр таки смотрят на кодеров свысока. Такой-то синдром вахтёра, когда от тебя зависит чья-то судьба, прямо выше себя чувствуешь в иерархии.
#18 #684758
>>684699
Зачем тебе софт, если есть trello?
>>685297
#19 #684759
Зачем тебе софт, если есть .txt/.md?
>>684760
189 Кб, 881x656
50 Кб, 561x473
36 Кб, 460x389
#20 #684760
>>684759
лорчую кстати. нафига какой-то лишний софт если можно в текстовом файле просто записать.
ну на крайняк gnote/tomboy - там есть синхронизация и есть клиенты для мобилок
#21 #684768
Вкатился в Django > Написал туториал App. А что, собственно, делать дальше? Ни с PHP, ни с общей парадигмой разработки в вебе не знаком. Куда копать? Для первого проекта хотелось бы запилить landing-page.
>>684769
#22 #684769
>>684768
Копай отсюда и до того забора: https://docs.djangoproject.com/en/1.9/
>>684770>>684773
#23 #684770
>>684769
Или книжку пусть почитает. 2 scoops of django например.
#24 #684773
>>684769
Я тебе написал. Я не знаком с парадигмой разработки в вебе. Я понял как работает Django. Я могу написать в нём простенький апп. Чего я не знаю, так как этот апп превратить в нормальный веб-сайт. Изначально хотел копать в сторону готовых landing-page'й на GitHub, но там какие то HTML\CSS\JS фреймворки. Понимаю, что вопрос несколько расплывчатый, но что мне взять для создания первого полноценного сайта. Полагаю, это должна быть связка из: Django, Memcached\Redis(Не особо понимаю что это, так что хотелось бы по подробнее об этом узнать), какие то HTML\CSS\JS фреймворки + какая то база данных + какой то вебсервер(Хотя чёрт с ним, с вебсервером. Реквестирую хотя бы предыдущие пункты.). Возможно есть книга-туториал, которая хоть мельком, но проходится по всем этим пунктам. Еще раз, для особо мееедленных. Какой пул технологий нужно знать для постройки полноценного сайтика?
>>684775>>684820
#25 #684775
>>684773
Ну для начала надо знать html, основы http, как работают всякие формы и куки/сессии..
>>684777
#26 #684777
>>684775
Охуительно подробный ответ. Вот прям, блять, всё сразу ясно стало.
>>684786
#27 #684779
Дайте ссыль на вайпалку
>>684782
#28 #684782
>>684779
Вайпалку чего?
#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.

Далее открываем свою контору, нанимаем макак, рекламщиков, продаванов, художников, дизайнеров, фотографов, сеошников, контентеров и идём к успеху.
#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.

Далее открываем свою контору, нанимаем макак, рекламщиков, продаванов, художников, дизайнеров, фотографов, сеошников, контентеров и идём к успеху.
#30 #684789
Ой, да, забыл ещё в хипстерскую часть добавить: coffeescript, babel, sass (для уёбков scss/less), compass, grunt (хотя я предпочитаю по старинке makefile лол), minimization (google closure compiler, sourcemaps).
>>684791>>685514
#31 #684790
И ещё туда же: svg (оче, оче много возможностей, даже анимация), canvas, webgl (здесь целый ворох всякого говна уже есть, смотри threejs), webworker, localstorage, historyapi и кучи-кучи-кучи всякой хуеты которую навинтили в хтмл5 смотри caniuse.com
asm.js + emscripten для тех кто хочет пописать под веб на сишечке.
307 Кб, 1024x812
#32 #684791
>>684789
Это нужно на GitHub, тот, что в OP посте. Большое спасибо, анон. По крайне мере теперь знаю куда копать. Если не подохну, заброшу и таки приду к успеху - буду выкладывать в тред.
39 Кб, 604x340
#33 #684792
>>684786

> Гоняем хуйлоады, понимаем что наш сайт страшно проседает,


И переписываем всё на php с hhvm
96 Кб, 600x600
#34 #684793
>>684792
Настолько толсто, что даже тупо.
#35 #684794
>>684792
Каким образом виртуалка, на которой крутится PHP код будет работать быстрее?
#36 #684795
>>684792
Особый цимес кстати в том что, hhvm сделан на фреймворке от pypy.
>>684796
#37 #684796
>>684795
Ты ничего не путаешь?
>>684801
#38 #684801
>>684796
Путаю, всё ещё хуже. hhvm сосёт по производительности у HippyVM, который сделан на фреймворке от pypy. Но в любом случае съеби в пхп тред. Я ещё понимаю рельсы или ноду, но пхп это гроб и кладбище, настоящий фрактал отсоса.
>>684803
#39 #684803
>>684801
То-то 99% веба на php
>>684805
#40 #684805
>>684803
Кастую в тред большинство-пакаджей-pypi-под-двойку-куна.
#41 #684816
>>684786

>REST протоколы


Такие точно существуют? Дай пару названий, а то гугл только общее описание выдаёт.
>>684824
#42 #684820
>>684773
Django girls tutorial
Есть на русском, охуительно подробно, местами даже как для дебилов.

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

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


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

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


Pornohub django tutorial
#46 #684832
Как отжарить сучку своим питоном.
296 Кб, 356x371
421 Кб, 720x483
#47 #684835
AI опять вздрючила корейца. в 3-й раз
>>684839>>684851
753 Кб, 736x981
#48 #684839
>>684835
К 2045 ASI вздрючит и тебя.
#49 #684851
>>684835
она че на питоне? Помню как в свое время stockfish и pychess стравливал...
>>684858
#50 #684858
>>684851
Вряд ли на питоне. Но вообще питон сейчас самый популярный язык для всякого deep learning и ai. По крайней мере прототипируют.
>>684864
#51 #684860
Ремайндер: https://github.com/alexjc/neural-doodle
И всего 500 строк. А у вас все стотысячный и никому не нужный ландинг пейдж на жанге.
>>684863>>684873
7 Кб, 648x78
#52 #684863
>>684860

> стотысячный


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

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



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



Какие 2 другие игры? В шахматы же давно человека вздрючили
>>684865>>684874
#55 #684872
>>684865
я нихуя не пони
753 Кб, 736x981
#56 #684873
>>684860
500 строк и сотни тысяч часов для обучения нейронной сети.
*фикс
#57 #684874
>>684864
А где ты 3 игры то увидил?

> одной из тех


тех, а не трех
>>684877
93 Кб, 505x494
#58 #684877
>>684874
действительно
#59 #684922
>>684824
Ну про этот бардак с rest я слышал, я как раз хотел какой-нибудь стандарт rest api увидеть. Думал, под протоколами ты имел в виду именно это.
>>684939
#60 #684939
>>684922
Читай Филдинга. Стандарта нет.
#61 #684946
Анончики, помогите пожалуйста.
Есть строка вида "qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]".
Как мне именно в тех частях, что в квадратных скобках сделать replace("_","")?
>>684949>>684952
#62 #684949
>>684946
Поделить на 3 строки - убрать в нужных подстроках "_"?
>>684957
#63 #684952
>>684946
re.sub('(\[.*?\])', lambda x:x.group(0).replace('_',''), '"qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]"')
>>684955>>684957
#64 #684955
>>684952
Извини конечно, но это пиздец.
>>684961
#65 #684957
>>684949
А если это всё динамически меняется? Выходит надо будет целый массив использовать и потом заново склеивать циклом. И еще образовавшиеся ошметки как-то сохранить.
>>684952
Эх, всё никак не дойдут руки изучить всё это волшебство.
>>684962
#66 #684961
>>684955
Покажи способ лучше
#67 #684962
>>684957
Я для данного случая описал. Так то получим список из N строк. В целом, не думаю, что это КАРДИНАЛЬНО повлияет на производительность. Зато читабельно и понятно с первого взгляда.
>>684975
7 Кб, 597x56
#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
#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_]'>]

Ну и далее по индексам строку кромсать и собирать результат склейкой получившегося массива.
#70 #684981
>>684975
Пожалуй без написания небольшого велосипеда, да. Regex лучше.
#71 #684986
>>684975
Кстати это ещё и с эксепшеном упадет если '[' нет в строке. т.е. надо добавлять проверку на это.
>>684987
#72 #684987
>>684986
А хотя нет, не упадет.
>>684990
#73 #684990
>>684987
Всё же вариант regex + lambda самый лучший из всех предложенных.
>>684995
#74 #684992
Flask сложный? Сложнее Django? А Tornado?
>>684994>>684996
#76 #684995
>>684990
Он ещё и самый правильный - не генерит кучу списков.
И в варианте со сплитом будут проблемы если скобка не закрыта.
#77 #684996
>>684992

> Tornado


Это вообще веб-сервер, так то.
>>684997
#78 #684997
>>684996
Скорее асинхронный веб фреймворк.
#79 #685050

>2016


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

>>685058
#80 #685058
>>685050

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

>>685066
#81 #685066
>>685058

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

#82 #685288
>>684699
https://workflowy.com/
Достаточно удобная штука.
#83 #685297
>>684700
>>684758
Гит у меня конечно есть, но я с ним не особо привык работать, потому что исправляю то там, то тут и коммиты делаются только после большого числа исправлений. Делать # TODO: ... хорошо, конечно, но не очень удобно. Хотелось бы оффлайн утилиту с минимальным функционалом - добавить таск с комментом, удалить, отметить как выполненный, отсортировать по критерию.
#84 #685307
>>684699
orgmode
#85 #685340
Существует ли билдер интерфейса для PyGObject'а?
>>685344
#86 #685344
>>685546
#87 #685383
Чем для разработки гуи плох стандартный ткинтер?
#88 #685390
>>685383
Тем же чем и второй питон.
>>685394
#89 #685394
>>685390
Но ткинтер есть и в третьем пистоне.
#90 #685420
>>685383
Никто не использует, потому что не стильно и не молодёжно. Есть другие, более функциональные альтернативы, типа GTK/PyGObject, PyQt. Хотя я сам ничего плохого в TKinter не вижу. Тоже задавал тут этот вопрос и никто внятно не ответил.
>>685428
#91 #685428
>>685420
Начнем с того, что он выглядит как win95 на большинстве платформ. И этим же закончим.
>>685445
#92 #685445
>>685428
Не аргумент. Скажи ещё что терминал в линуксе выглядит как прямиком из 85 года.
>>685454
#93 #685454
>>685445
Только /bin/sh на xterm'e. И еще какой аргумент. Я просто не юзаю приложения которые выбиваются из общей темы. А ткинтер выбивается всегда. Хотя хуй знает, может виндузятники привыкли к зоопарку.
#94 #685478
>>684423

2-й или 3-й?
3 Кб, 680x436
#95 #685494
gtk-даун

Есть, короче говоря, панель. Как разделить её, как пике?
>>685692
#96 #685514
>>684789
>>684786

Схоронил.
#97 #685546
>>685344
Виджеты только по контейнерам распихиваются? Если я хочу два виджета в одну строчку поместить, мне кусок контейнера ещё одним контейером разбивать надо?
>>685692
#98 #685656
Как в Glide правильно добавить скроллбар?
>>685663>>685696
#99 #685663
>>685656
*Glade
#100 #685672
Использую алхимию, но sqlite выбрасывает исключение, что не может в многопоточность. Можно ли заменить "драйвер" базы на что-то другое чтобы не было проблем? И если да, то на что?
#101 #685678
>>685672
Точнее сменить "базу".
#102 #685680
>>685672
Postgres
59 Кб, 640x569
#103 #685686
Господа, подскажите пожалуйста основной стек "батареек" джанги. Про celery, tastypie, pillow, messages знаю, что еще?
>>685693>>685701
27 Кб, 805x335
#104 #685692
>>685383
Там довольно ограничены возможности. Что-то очень простое там можно сделать но дальше можешь уткнуться в недостаток функционала.
>>685494
HBox
>>685546
Да, это во всех современных тулкитах так. Есть контейнер fixed где можешь ставить по кординатам но это убого и не будет растягиваться.
#105 #685693
>>685686

>tastypie


Ты имел ввиду RDF.
>>690033
46 Кб, 897x380
#106 #685696
>>685656
Добавить куда? Во многих контролах скроллбар встроенный. Там есть Scrolledwindow, внутрь него можно пихать что-то контейнер какой-нить и он будет прокручиваться. Можно добавить Scrollbar вручную и повесить на него какие-то действия
>>685704
#107 #685697
>>685672
sqlite может в многопоточность, может тебе надо сессию отдельную создавать.
Ну как может, если ты пишешь в базу, то для других потоков она будет заблочена. Читать можно из разных потоков.
>>685725
#108 #685701
>>685686
https://www.djangopackages.com/
Тут по категориям и популярности рассортированы.
Могу сказать django_mptt django debugtoolbar admin-tools что-нить для thumbnails да много всего. какая-нить хрень типа bootstrap
#109 #685704
>>685696
К "списку" из фреймов.
#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
#111 #685743
>>685725
Делай сессию отдельную в каждом треде.
>>685765
#112 #685765
>>685743
Эм, так разве смысл не в сессии одной на всех? ладно, попробую
>>685770
#113 #685770
>>685765
А что ты вообще собираешься делать? Зачем тебе многопоточность и orm при этом?
>>686104
#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
#115 #685782
>>685771
Внутрь VBox добавляй их
>>685802
#116 #685802
>>685782
То же самое. Фрейм то не клонируется, а остаётся тем же самым.
>>685807
60 Кб, 856x446
#117 #685807
>>685802
Что значит "клонируется"?
>>685809
#118 #685809
>>685807
А, ну да, в вопрос немного неправильно сформулировал. Добавлять этот заготовленный фрейм в бокс/листбокс я хочу в рантайме, по нажатию кнопки.
>>685811>>685812
#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
#120 #685812
>>685809
В общем glade хорош чтобы набросать основной интерфейс, каркас, менюшки, всякие окна настроек.
Но то что должно создаваться в рантайме лучше делать внутри кода.
>>685816
#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
#122 #685820
>>685816
Незнаю. Вот тут есть пример костыля и какие-то ссылки http://stackoverflow.com/questions/20460848/templating-overflowing-content-with-glade-and-pygtk

>.xml_repr()


Ты можешь открыть xml просто в текстовом редакторе и скопировать оттуда код виджета твоего.

Алсо для pygtk были генераторы кода. Типа оно берет glade файл и преобразует его в python код, который создает эти виджеты автоматически. Скорее всего они заброшены и не работают с новыми версиями т.к. это нафиг не нужно есть gtkbuilder и прочее.
>>685823
#123 #685823
>>685820
А в Qt это можно проще сделать?
>>685825
#124 #685825
>>685823
Не работал с qt на уровне больше hello world.
А в чем проблема генерить виджет из кода?
>>685826
#125 #685826
>>685825
Да в общем то ни в чём, просто мне казалось, что UI билдеры как раз и призваны такого рода проблемы решать.
>>685827
#126 #685827
>>685829
#127 #685829
>>685827
Придётся XML руками править. Что-то типа
widget_src = \
"""
...
<widget id={} name={}/>
...
""".format(w_id, w_name)
>>685830
#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
#129 #685831
>>685830
Я вообще не понял, что тут имелось в виду.
>>685832
#130 #685832
>>685831
То что если у тебя виджеты называются типа frame_1
оно должно автоматически переименовать следующий в frame_2 когда ты его добавишь
>>685840>>685849
#131 #685840
>>685832
Мне так то без разницы. И там в треде в итоге решили, что best way - это пересоздавать билдер каждый раз, тем более, если файлы маленькие.
#132 #685849
>>685832
По ходу проще вручнкю делать - add_from_string никаких идентификаторов вновь созданного объекта не возвращает.
>>685850
#133 #685850
>>685849
Там можно пройтись по объектам внутри builder как-то.
>>685851
#134 #685851
>>685850
Можно, но тогда нужно как-то определять новый, т.е. хранить копию списка в каком-либо виде и после каждого добавления сравнивать. Чёт пиздец какой-то, такое простое действие и так много мороки.
#135 #685855
Заебался, хоть на tkinter возвращайся.
>>685857
#136 #685857
>>685855
В tkinter вообще никакой рисовалки форм нет лол.
>>686179
#137 #685903
Пистон пишет, что 343(1/3) это 6.999(много девяток), а мне надо, чтобы писал правильно — детектирую perfect power's. Как этот подводный камень грамотно обойти?
>>685905
66 Кб, 499x499
#138 #685905
>>685903
А какой правильный ответ?
>>685906
#139 #685906
>>685905
Число, которое даст 343 при возведении в куб.
>>685907
#140 #685907
>>685906
Это особенности того как компьютеры работают. Округли че.
>>685908
#141 #685908
>>685907
Я в курсе, я знаю.
Но мне надо проверить, равен ли результат int'у этого же результата. То есть не является ли он дробным. Если всё тупо округлять сразу, то 217 в степени 1/3 и 216 в той же степени дадут одинаковый результат.
С большинством чисел до тысячи работает корректно, а с 343 и 216 вылазит такая чушь. Как-то же это можно обойти? Или искать другой алгоритм/язык. Сишка вот пишет корректно, вроде.
Туплю я, ну. Что ты как этот?
>>685910>>685911
6 Кб, 276x120
#142 #685910
>>685912
16 Кб, 459x298
#143 #685911
>>685908

> . Сишка вот пишет корректно


Схуяли кстати она будет? там тоже самое происходит.
>>685916
#144 #685912
>>685910
Ну как бы да, лол. Только это сильно замедлит алгоритм же. А нужна нормальная скорость.
>>685919
13 Кб, 787x380
#145 #685916
>>685917
#146 #685917
>>685916
А не printf ли это округляет у тя?
>>685918
#147 #685918
>>685917
Ну, может быть, не знаю.
>>685921
#148 #685919
>>685912
Вообще число 1/3 уже не может быть записано точно в виде double
В питоне есть модуль fractions для работы с дробными числами но он тут не помогает.
#149 #685921
>>685918
А вообще да 7.0 возвращает.
#150 #685955
Питоны, Django REST Framework юзаете?
78 Кб, 1024x600
#151 #685971
Анончик, как убрать в 'gtk.Notebook' эту херню (помечена красным)?
>>685988>>686198
#152 #685988
>>685971
Ты хочешь обрезать сам фрейм типа? Чтобы осталить только вкладки?
>>686721
223 Кб, 1920x1080
82 Кб, 1700x872
#153 #685990
хъахахха
>>686056
#154 #686005
Анон, не совсем по теме конечно, но спрошу про верстку. Я вот под иксами погроммирую, как проверять верстку в Шиндошс версиях и всяких гейфонах с ведройдами? Поддерживать ли старые браузеры? В смысле до каких версий? Как лучше верстать врукопашную или фреймворками типо Bootstrap, less?
>>686011
#155 #686008
Почему говнопарсер медленно работает?
http://pastebin.com/tdVmh1bg
суть токова: ходим по страничкам из списка и выдирает нужный мне текст
всего там ~1300 страниц, на каждой странице нужный текст начинается примерно с 100 строчки
130`000 строчек текста, это уже слишком много?
Но ведь есть и более сложные парсеры, не верится что все они тормозные.
144 Кб, 717x651
179 Кб, 813x516
19 Кб, 519x566
#156 #686011
>>686005
В virtualbox
Мобилы в genymotion
#157 #686056
>>685990
Вижу убунту.
#158 #686073
Поясните как работают сервисы на джанге. Допустим если я хочу сделать "парсер как сервис", то логику самогомпарсера мне прям во вьюшках писать или лучше в отдельном файле? Или это вообще делается другим приложением? А может вообще на другом сервере? Помогите пожалуйста, а то бложик я написал, а что делать дальше не имею представления.
>>686075
#159 #686075
>>686073
Скорее всего другим пиложением и сам сервис не на джанге.
>>686159
#160 #686104
>>685770
Основной тред — gui, отображает статусы тасков и может их менять (остановить, возобновить). Дополнительный тред — выполняет таски, обновляет их статусы, логгирует какой таск на какой стадии выполнения.
>>686889
#161 #686118
>>686008
Ты же всё в один поток делаешь. Конечно так долго будет. Пока ты ждёшь ответ от странички твой комп и кАНАЛ простаивают. Юзай треды или asyncio, базарю ещё захочешь.
#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
#163 #686145
>>686141

> по потоку на каждую страницу.


А если их миллион?
Лучше юзать https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor
#164 #686159
>>686075
Допустим если я хочу сделать как этот анон >>686008 только веб версию, где каждый юзер может парсить емейлы с введенных им урлов. Как это все работать должно в этом случае? Мне достаточно просто запускать приложение каждый раз, когда каждый юзер захочет парсить? Или мне нужно приложение, каторое будет работать как демон и чекать есть ли новые задание, создавать потоки и т.д.? Как это все работает, где можно посмотреть примеры?
>>686170
#165 #686165

>directory = u'D:/тест'


>mask = '.djvu'


>files = os.listdir(directory)


>masked_files = filter(lambda x: x.endswith(mask), files)


Посоны, как это заставить работать с кириллическими файлами? В смысле, данные из массива, чтобы могли нормально использоваться, если файлы имеют кириллицу в имени.
>>686168>>686172
#166 #686168
>>686165
Энжой йор шиндовс
>>686216
57 Кб, 704x404
#167 #686170
>>686159
Дело в том, что эти запросы будут занимать много времени и блокировать весь поток. Поэтому я бы делал это всё асинхронно с callback`ами и прочим адом.
Например на торнадо:
тут в _on_download можно впихнуть парсер и какие-то ещё действия
>>686209
#168 #686172
>>686165

> filter(lambda x: x.endswith(mask), files)


есть модуль glob для этого

> работать с кириллическими файлами?


виндопроблемы
>>686216
#169 #686179
>>685857
О, ещё как есть. Я её пользовался, и не раз. PAGE называется.
>>686184
#170 #686184
#171 #686198
>>685971
Сделать его растягиваемым?
#172 #686209
>>686170
Т.е. мне понадобится 2 приложения. Одно для веб морды (джанго\фласк) а другое для логики (торнадо), так? А есть какие-то примеры?
>>686212>>686217
#173 #686212
>>686209
Торнадо это веб сервер и фреймворк. В тем же есть асинхронный http клиент. Т.е. он может при запросе к нему делать запрос на какой-то другой сайт асинхронно и вернуть результат, когда страница скачается и будет обработана.
34 Кб, 521x500
#174 #686216
>>686168
>>686172
Спасибо.
#175 #686217
>>686209
Ну или более модный вариант http://aiohttp.readthedocs.org/en/stable/
Ещё есть twisted.
#176 #686224

>2016


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

>>686227
#177 #686227
>>686224
Под новые костыли пока не завезли фреймворков хотя бы уровня торнадо того же.
Да и новая питон 3.5 мало где стоит пока.
>>686229>>686232
#178 #686229
>>686227
Хотя aiohttp вроде норм
#179 #686232
>>686227
Поставь, лол. Ты же умеешь софт ставить, правда? Ты же не юзаешь дефолтную винду с iexplorer.exe и notepad.exe в качестве IDE?
>>686237
12 Кб, 523x160
#180 #686237
>>686232
У меня то он стоит. Но на сервер(ах) это неудобно. Придется канпелять и ставить куда-то, самому следить за обновлениями. Гораздо проще использовать версию из дистрибутива.
5 Кб, 498x89
#181 #686407
Есть один реквест пикрелейтед. Нужно ему передать ссаную куку ageallow 1 для доступа к /e/. Каким хуем строить эту куку? cookies={'ageallow': '1'} нихуя не делает
>>686477
#182 #686477
>>686407
Ну вроде бы, так и надо. Только ты куки же не указал.
>>686494
3 Кб, 420x73
#183 #686494
>>686477
вот такая штука возвращает 404
>>686518
#184 #686518
>>686494
И у меня возвращает 404. Видимо, этой куки недостаточно.
31 Кб, 512x512
#185 #686527
Анон, я выучу питон? Скажи мне, что я выучу. Я только начал и мне трудно всё даётся без общения с кем-то, а поддерживать разговор с вами здесь или делиться моими достижениями в духе print('Hello world!') стыдно.
#186 #686532
>>686527
Выучишь, не сомневайся. Пиши сюда свои хелловорды, нам всегда приятно покритиковать чужой код.
#187 #686537
>>686506
для постинга в /b/ нужны ебанутые запросы с подтверждением капчи, а я, тип, неумею)0
#189 #686581
>>686527

>делиться моими достижениями в духе print('Hello world!') стыдно


А ты запости достижение хоть чуть-чуть выше уровнем. И да, ты выучишь.
#190 #686589
>>686527
Лей сюда, хуле. Для чего тред держим?
#191 #686702
>>686540
Ебаный пиздец, ну и лапша, ну и говнокод
>>686707
#192 #686707
>>686702
Почти весь пайтон код примерно такой.

мимо
>>686716
#193 #686716
>>686707
Почти все ЯП такие, если руки из жопы и отсутствует забота о стиле и читаемости.
>>686729
#194 #686721
>>685988
Да, оставить вкладки.
>>687080
#195 #686729
>>686716
Несомненно. Поэтому чем выше уровень вхождения в язык, тем лучше, если ты понимаешь о чем я.
>>686734
#196 #686734
>>686729
Уровень вхождения значит практически ничего через год-два после вхождения. Если конечно у человека есть желание развиваться, а не продолжать писать говнокод.
#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
#198 #686811
>>686753
Потому что ты мудак ебаный.

>self = window1


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


ну все правильно
>>686875
#199 #686875
>>686811
Ну так я и спрвшиваю, как это можно нормально сделать.
>>686887
#200 #686887
>>686753
>>686875
Тебе хочется содержимое window1 иметь в неймспейсе App, который наследует от Gtk.window? Можно например так:
self.__dict__.update(window1.__dict__)
Можно модифицировать __getitem__, чтобы при запросе App.a он на самом деле выдавал app.window1.a
А можно просто использовать app.window1 и не усложнять.
>>686895>>686905
#201 #686889
>>686104
Всё, понял, пасаны. sqlite не позволяет модифицировать базу из других тредов.
>>686892>>687081
#202 #686892
>>686889
Да, решил с помощью qt сигналов из одного треда в другой, чтобы эти самые изменения происходили в одном треде.
#203 #686895
>>686887

>self.__dict__.update(window1.__dict__)


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

>А можно просто использовать app.window1 и не усложнять


Ну я так и сделал в итоге. Так даже логичнее, наверное, иначе из

>self.__dict__.update(window1.__dict__)


каша получится
>>686895
Не только переменные. Вообще всё.
>>686910
#206 #686910
>>686905
Да нет, методы например проебутся. http://ideone.com/eg39BS
>>686938
#207 #686911
>>686903
Так-то можно гитхаб читать, воды 0/10
Мне кор очень понравился. На устарелость похуй.
#208 #686938
>>686910
Короче, единственный путь собрать несколько классов в один, имея все в одном неймспейсе и не проебать ни переменные, ни методы - http://ideone.com/dAyENn

Рейт, дискасс. Может есть способ получше.
>>686974>>687177
#209 #686974
>>686938
Использовать super и наследование?
55 Кб, 453x604
#210 #686976
Попытался скачать PyCharm, чтобы быть как все, а он лагает, как сука. ЧЯДНТ?
Решил попробовать перекатиться под Spyder, который шёл в комплекте с WinPython-ом
мимодебил
#211 #686979
>>686976

>под Spyder


со Spyder-a
фикс
#212 #687001
>>686976

> PyCharm


> java-поделие


> лагает


Не вижу проблемы
#214 #687020
>>687019
Он умеет в автокомплит, например?
>>687037
#215 #687037
>>687020
Умеет, есть ещё такие плюшки - http://damnwidget.github.io/anaconda/ .
>>687077
Нужна помощь #216 #687045
У меня есть код, этот код игра, типа морской бой. Мне нужна так чтоб игра сохранялась и ее можно было залойдить через меню. Как мне это сделать, помогите пожалуйста, я ньюфаня. Делаю код для общего развития.

Код прилогается по сылке
http://rghost.net/6Kc4BWDNs
>>687048>>687051
#217 #687048
>>687045
Игровые данные, очевидно, хранятся в виде каких-то объектов.
Объекты можно сохранить, очевидно, используя родную библиотеку pickle.
мимодебил
>>687053
#218 #687051
>>687045
надо чтоб сохранялась в txt вот так http://rghost.net/6RSXQ7yX5
#219 #687053
>>687048
я это уже где читал, но все равно там не понятно
>>687067
#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,"уровне"
#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
#221 #687077
>>687037
Хочешь сказать, что куча этого говна (плагинов) не будет лагать? У меня на Атоме нехуёво плагины жрут.
>>687079
#222 #687078
>>687067
Спасибо, щас сделаю
#223 #687079
>>687077
Не знаю, мне встроенного автокомплита хватало.

> У меня на Атоме нехуёво плагины жрут.


Саблайм намного легковеснее, вряд ли самыми тяжелыми плагинами получится довести до тормознутости чистого атома.
тоже атомом пользуюсь, но саблайм куда лучший выбор для пека-кофеварки
#224 #687080
>>686721
Ну я думаю надо в какой-нить контейнер засунуть Notebook этот.
#225 #687081
>>686889

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


А должен https://www.sqlite.org/threadsafe.html
>>687086
#226 #687086
>>687081
Ну, я-то орм использовал. Может в нём поддержки нет. На стаке лишь и разговоры о том, что так нельзя. Или коннекты к базе закрывай после каждого чиха или соси.
#227 #687134
>>686976
Geany попробуй
>>687158
#228 #687158
>>687134
На gtk3 уже переписали?
>>687159
#229 #687159
>>687158
Но зачем?
>>687160
#230 #687160
>>687159
Чтобы не портировать gtk2 под wayland.
>>687161
#231 #687161
>>687160
Какой нахуй wayland
>>687162>>687163
#232 #687162
>>687161
А убивать иксы кто будет, ммм?
>>687164
#233 #687163
>>687161
Ты отстал от жизни.
#234 #687164
>>687162
Никто. Иксы охуенны и вечны.
>>687166
#235 #687166
>>687164

> Иксы


> вечны


Уже помирают, разве что xwayland поживет благодаря иксоретардам.
>>687168
#236 #687167
Как мне найти чайлда виджета с заданным именем? Виджета нет в билдере, так что builder.get_object() не получится.
>>687171
#237 #687168
>>687166
Нет. В нормальных юниксах никаких wayland`ов нет и не будет. Также как этих ваших systemd. Насчет переносимости тоже сомнения.
Иксы есть под osx и даже винду.
>>687173
#238 #687171
>>687167
Незнаю. Перебирай get_children рекурсивно.
Если его нет в билдере, то ты его сам создаешь? Почему не сохранить ссылку на него в переменной какой-нить?
>>687172
#239 #687172
>>687171

>Если его нет в билдере, то ты его сам создаешь?


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

> Нет. В нормальных юниксах никаких wayland`ов нет и не будет.


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

> Иксы есть под osx и даже винду.


Костыли уровня xwayland, под виндой и osx никому не нужные.
>>687174
450 Кб, 1280x800
154 Кб, 1024x768
#241 #687174
>>687173

> софтописателей продолжать поддерку иксов


gtk3 или там qt перестанет работать под иксами? Или ты про дерганье xlib вручную, этого почти никто не далает.

> под виндой и osx никому не нужные.


Пока ты не захочешь, например, запустить wireshark на удаленной машине - иксы это сетевая прозначность. Или что-нить ещё.
>>687181
#243 #687181
>>687174

> gtk3 или там qt перестанет


Gtk4 или там Qt6 перестанет.

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


Делают, особенно при работе с графическими api.

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


Что помешает мне сделать это без иксов?
>>687184
#244 #687184
>>687181

> Что помешает мне сделать это без иксов?


Через vlc? Придется графический сервер и прочее говно ставить на сервере.
>>687185>>687190
#245 #687185
>>687184
*vnc всмысле.
22 Кб, 1414x63
#246 #687190
>>687184
Через консольный wireshark tshark, очевидно.
На самом деле сетевая прозрачность в редких случаях может быть действительно полезной, но ты смотришь на ситуацию не с той стороны, это не просто "фича" иксов, а их предназначение, в 99.999% используется костыль уровня пикрил и клиент-сервер общение происходит через сокеты, фунционал - никому не нужный оверхед.
>>687191
#247 #687191
>>687190

> общение происходит через сокеты,


Это норма. Некоторые вон хотят вообще микроядро - тогда даже с драйверами общение происходит через некоторые IPC.

> Через консольный wireshark tshark, очевидно.


Да можно записать дамп хоть tcpdump`ом и потом открыть этот файл для анализа на локальном wireshark, но удобней в реальном времени всё наблюдать иногда, запустив wireshark прям там.
#248 #687193
Можно ли в Gtk заставить TextBuffer использовать подсунутую мной строку для хранения текста, или обратиться напрямую к TextBuffer.text? Нужно, чтобы в строке всегда находилось актуальное значение текста из поля ввода, а дёргать get_text() на каждое нажатие клавиши - извращенство.
>>687195>>687196
#249 #687195
>>687193
Сделай как-нить @property которое будет get_text дергать само
#250 #687196
>>687193
И как ты вообще себе это представляяешь учитывая что строки немутабельны?
>>687197
#251 #687197
>>687196
Да тут главное не сама строка, а наличие прямой ссылкм на переменную, её срдержащу.
>>687198
#252 #687198
>>687197
Я же говорю запили property. Или используя https://habrahabr.ru/post/122082/ сделай универсальную заворачивалку для TextBuffer`ов.
#254 #687237
>>687233
hnnnng
#255 #687238
>>687233
– В 10 лет я уже могла считать себя программистом, – рассказывает девушка. – К этому времени я изучила технологии С#, ADO.NET, SQL, HTML, CSS, Javascript. Чтобы получить карманные деньги и практический опыт, я стала выполнять отдельные заказы.
В 15 лет Лена устроилась на первую работу по трудовой книжке: она занималась программированием серверных компонентов на C#, в том числе безопасных WEB-сервисов. В это же время она сдавала школьные выпускные экзамены
>>687239
#256 #687239
>>687238
Вот что значит правильное воспитание.
>>687240
#257 #687240
>>687239
Причем тут вообще воспитание? Просто интерес должен быть.
Мне вот попалась книжка случайно про бейсик в младших классах, я её в туалете почитал и заинтересовался стал пробовать примеры кода что там были.
>>687250>>687389
4 Кб, 256x192
#258 #687242
>>687233
О чем видео то? Туториал по сассандра пересказывает?
#259 #687244
>>687233
Она не правильно докер использует. Тупая шлюха
>>687253
#260 #687250
>>687240
Вот именно, что при всем оно!
Батя смог заинтересовать ребенка и направить, дать нужные знания.
#261 #687253
>>687244
Она девственница еще.(сказала бережет чистоту для мужа)
>>687255>>688466
243 Кб, 996x832
#262 #687255
>>687253
Пруфы?
>>687265>>687284
#263 #687265
>>687255
А чем обусловлено "siwa" на куртке, полагаю, шведа? А то по-китайски это 丝袜 и значит "чулки".
>>687267
#264 #687267
>>687268
#265 #687268
>>687267
А, точно. Забыл, что спурдо спарде это финское, а не шведское изобретение.
>>687275
#266 #687275
>>687268
Мог бы догадаться по "Pekka" это стереотипное финское имя
>>687276
#267 #687276
>>687275
Не, не мог. Я финских имён не знаю.
#268 #687284
>>687255
Пруфы давать не буду, это может повредить ее имиджу.
>>687301
#269 #687301
>>687284
Бытие шлюхой повредит её имиджу не меньше.
118 Кб, 1146x938
#270 #687336
>>687340>>687343
#271 #687340
>>687336
пости свою жс дрисню в жс тредах
#272 #687343
>>687336
после питона все эти

>...)


>))


>)


кажутся какими-то тупорылыми смайлофажными насмешками
>>687344>>687358
#273 #687344
>>687343
После руби все эти отступы и лишние скобочки в питоне тоже так выглядят.
>>687366
#274 #687358
>>687343
жс дрисня, что еще сказать.

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

>end end end


Хотя я к отступам стал хуже относится со временем.
19 Кб, 917x120
13 Кб, 990x184
18 Кб, 750x323
#276 #687380
Почему под питон так мало библиотек?
#277 #687382
>>687380
Потому что меньше костылей надо вставить чтобы стало хорошо.
39 Кб, 700x403
#278 #687389
>>687240

>я её в туалете почитал и заинтересовался


Теперь мастурбация так называется? Oh you!
#279 #687439
>>687380
Потому что сколько костылей в питон не ставь, хорошо не станет.
#280 #687669

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


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



Вербовщики жс дрисни подоспели.
#281 #687676
>>687380

> 252085


А я то всегда думал что пистон лидирует по количеству либ.
47 Кб, 403x604
#282 #687684
Посоны, как в регулярных выражениях вытащить текст между специальными текстами?

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

Как вытащить "sample text"?
>>687692
5 Кб, 461x59
#283 #687692
>>687702
#284 #687702
>>687692
Попробовал: 're.findall('%h(.*?)%','tegs%h;\w+%dsd')', т.к. вместо 'sample text' может быть и другой текст, но выдаёт лишь: '\\w+'
>>687706
#286 #687706
>>687702
А что должно выдавать по твоему?
>>687707
#287 #687707
>>687706
Любой текст между %h; и %.
>>687714
#288 #687708
>>687705
Пошел нахуй.
#289 #687714
>>687707
Ну и? У тебя там \w+ между ними. Вот это и возвращает.
>>687716
55 Кб, 617x773
#290 #687715
>>687705

>swift


Дальше не читал.
56 Кб, 194x109
#291 #687716
>>687714
А как сам текст вытащить?
>>687720
#292 #687720
>>687716
Ты чего-то тупишь помоему.
У тебя строка
'tegs%h;\w+%dsd'
Вот и получается что текст между ними это \w+
>>687774
#293 #687774
>>687720
Чёт не понимаю. Я вижу лишь \\w+. А как любой текст получит?
>>687825
#294 #687796
Очередной вопрос по Gtk. Допустим, у меня есть css, который я загружаю CssProvider'ом и есть виджет, стиль которого я хочу менять динамически на описанный в css. Как мне это реалищовать?
#295 #687825
>>687774
Ты же сам написал там \w+
re.findall('%h(.?)%','tegs%h;\w+%dsd')
'%h(.
?)%' - регулярка
'tegs%h;\w+%dsd' - твоя строка. можешь что хочешь там писать 'baa%h;blabla%fooo %h;zzz%' например
>>687867
#296 #687867
>>687825
Да понял, что там любой текст. Просто, я, к примеру, пишу: %h; ЛЮБОЙ ТЕКСТ% и выбирается текст между этими символами. А так я просто получаю \\w+ вместо того текста.
>>687878
8 Кб, 468x74
#297 #687878
>>687881
#298 #687881
>>687878
А. Во.
#299 #688065
>>688067
#300 #688067
>>688065
Пишов ты на хуй, я тебе интерпретатор штоле вникать.
81 Кб, 677x588
#301 #688217
Ньюфаг, который просил Анона сказать ему, что он выучит питон вкатывается в тред.
Поясните по этому рисунку. Я ничего не понял.
51 Кб, 693x559
#302 #688219
>>688217
И сам пример, который был.
>>688233
#303 #688227
>>688217
Ой, ну это древнее изобретение ещё. Стек был даже на 8битных машинах. Суть в том что оно дохуя оптимально выделяет память под локальные переменные функций, и ещё это единственный способ хоть как-то совладать с рекурсией.
>>688231
#304 #688231
>>688227
Как понимать этот рисунок? Я не понял ничего из текста.
#305 #688233
>>688217
>>688219
Ну это короче так:
объявил ты в начале модуля переменную
вот так
cat='Муська'
А потом в какой-нибудь функции объявил переменную с тем же именем:
cat='Мурка'

Что будет если ты сделаешь
print cat
в теле функции?
>>688238
#306 #688238
>>688233
Мурка. Теперь понял. Локальные и глобальные переменные обсуждались в предыдущей главе.
И что всё это значит?
#307 #688240
>>688238
Конкретно меня вводит в заблуждение последний стэк с bruce.
#308 #688244
>>688238
Ох.

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

1. Локальные переменные внутри одного вызова не должны никак пересекаться с локальными переменными другого вызова.
2. Функция должна как-то знать куда она сделает return.
3. Одну и ту же функцию можно вызвать много раз.
>>688248
#309 #688248
>>688244
Это всё понятно. Спасибо.

Конкретно стэк с bruce вводит в заблуждение. Почему в примере показано, что при вызове он возвращает текст?
>>688256
#310 #688249
>>688238
Стековая диаграмма всего лишь показывает название переменной и модуль в котором она создана в контексте цепочки вызова функций
То есть когда одна функция вызывает другую, то локальные переменные вызвавшей функции могут быть переданы в вызванную функцию.

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

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


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


Можешь примером показать, пожалуйста?
>>688275
#312 #688256
>>688248
Ну эт видимо локальная переменная функции print_twice. И видимо это её аргумент. То что в предыдущем стеке называлось cat передалось как bruce

def print_twice(bruce):

видимо так
#313 #688275
>>688255
Нивапрос.
http://ideone.com/EVWXrQ

В этой фиговине нарисуй для себя такую диаграмму в точках отмеченных как ## и ###
>>688277
#314 #688277
>>688275
Пардон, вот это
http://ideone.com/GQ0LA4
>>688286
#315 #688286
>>688277
Теперь я еще больше запутался.
#316 #688297
>>688286
Иди почитай про то как память в компах устроена и как процессор работает. Открой для себя факт что перемещать куски памяти пиздец как дорого, а аллокейтить лучше всего именно что стеком, ибо одно за другим плотно идёт. И деаллокейтится не образуя дыр. То есть стеку чтобы чёта разместить нужен только адрес вершины и никаких тебе йоба структур данных.

Вообще нахуя тебе оно в питоне? Выбрось эту книжку, возьми попроще что-нибудь.
#317 #688309
>>688286
Распутался. Понял. Спасибо.
Другой вопрос.

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



Как узнать, точно ли последняя буква на 70-ой позиции?
http://ideone.com/7K9zwC
>>688319
#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
#319 #688319
>>688309
Делишь длину строки на 70 нацело.
Получаешь число полных кусков по 70 символов в строке.
Потом получаешь остаток от деления на 70 и вычитаешь его из 70.
Получаешь число пробеллов, которые и выводишь перед последним, неполным куском строки, дополняя его таким образом до 70 символов.
118 Кб, 600x800
50 Кб, 220x215
#320 #688466
>>687253
Она замужем за альфачем и переехала в СШП.
>>688467>>688516
#321 #688467
>>688466
Читал это ещё когда тред про неё был. Ты опоздал. Да и не альфач это, а просто всратый мажорчик, из которого она деньги и гражданство тянет.
>>688468
#322 #688468
>>688467
Будто она мало зарабатывала.
Будто после выступлений на всяких конференциях на западе и будучи бабой её не взяли бы на работу в США и так.
88 Кб, 1366x768
#323 #688469
Запилил всё сам. Нахуя? Не знаю.
>>684699 - кун
>>688470
#324 #688470
>>688469
Таких софтик как говна.
http://gtgnome.net/
Плюс в любой ide и редакторах типа vim/emacs это встроено.
>>688471
#325 #688471
>>688470
Знаю. Так не интересно. Зато теперь я могу перед школьниками хвастаться.
#326 #688472
Дайте статью на русском по asyncio, futures и т.п.
>>688486
#327 #688486
>>688472
Гугл даст.
272 Кб, 1900x2240
#328 #688516
>>688466
Ничего не пойму, она действительно что-то знает или просто распиаренная пизда из-за выступлений на конференциях и её список знаний просто ложь?
>>688519
#329 #688519
>>688516
Фиг знает на гитхабе у неё какие-то helloworld`ы какая-то чушь типа(https://github.com/lenadroid/lenadroid.github.io/blob/master/despair.js/js/despair.js). На конференциях я потыкал немного - пересказывает tutorial с оф сайта походу, при этом через жопу используя докер.
>>688536
#330 #688529
Посоветуйте, что написать на этих ваших питонах для освоения языка?
Плюс в этом семестре проект на питоне надо будет сдать, хочу совместить.
>>688546>>689616
#331 #688536
>>688519
Чот проиграл. Сам себя не похвалишь - никто не похвалит
https://github.com/lenadroid/dotnetfringe.github.io/commit/6c6f45e531b17eef0ec22fab8aae81a930680342#diff-236a4950d125dab8b20b783f4fb5d08cR20
>>688540
#332 #688540
>>688536
Баззвордами разговаривает. Правильно, наверное, так себя продать проще.
>>688571
#333 #688546
>>688529
Напиши систему учета заказов/километража/оплат/рабочего времени диспетчера для диспетчерской какой-нибудь службы такси.
Или для какой-нибудь умозрительной логистической конторы.
>>688549
#334 #688549
>>688546
О логистике думал, да, спасибо.
40 Кб, 640x846
#335 #688559
Аноны, на дворе 2016-й год.

Как думаете, не поздно ли вкатываться в пайтон для веба практически с нуля?
>>688483 мой пост.
>>688560>>688563
#336 #688560
>>688559
Учи яваскрипт. Фронтенд кодеры всегда нужны.
Питон умирающий язык.
>>688565
#337 #688563
>>688559
Поздно. Веб умрёт через 2 года.
>>688565
#338 #688565
>>688560

> Питон умирающий язык.


ну хоть и с моим вопросом уровня б, мне кажется что это не совсем так.

> Фронтенд


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

>>688563
инсайдер-кун, ты опять выходишь на связь?
Вот фронтэнд умереть может, а бэкэнд нужен как для веба, так для мобилочек.
>>688568
#339 #688568
>>688565
питон тоже в вакууме не используется надо дофига всего знать.
нет, не верстку, а фронтенд программирование. плюс нода ещё есть.
15 Кб, 300x197
#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
#341 #688573
>>688571

> complicated


complex is better than complicated
>>688599
#342 #688599
>>688573
No, simple and clear is better.
#343 #688612
На удалёнку питоноджуном реально?
27 лвл, дохуя давно в айти кручусь, но программёром не работал уже лет 7. Умею питон3 + стандартную библиотеку + нампи + сайпи + пандас и чуть фласк/джанго.
По баблу мне похуй совсем, если чё.
>>688884
#344 #688884
>>688612
Расскажи свою стори, с чего начинал, что изучал и вообще все подробности, интересно послушать.

А по теме: крайне маловероятно что-то найти по заданным критериям, только если в офис, пошерсти на hh вакансии, требования, сразу поймешь какой расклад щас на рынке.
>>688998>>689002
16 Кб, 365x365
#345 #688904
Посоны, как в 'gtk' на кнопку поставить это:
px = Gtk.IconTheme.get_default().load_icon("emblem-default", 64, 0)

'Pixbuf' из 'gi.repository.GdkPixbuf' я импортировал.
#346 #688906
>>688904
В чем проблема то?
>>688924
32 Кб, 877x484
#347 #688912
>>688904
Делаешь gtk.Image() в нем дергаешь set_from_icon_name или set_from_pixbug
Для кнопки делаешь button.add(image)
>>688931
#348 #688915
>>688904
http://www.pygtk.org/pygtk2tutorial/ch-ButtonWidget.html#buttonfig
Вот как-то так можно. В gtk3 аналогично делается.
#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
#350 #688930
>>688924
умвр
#351 #688931
>>688912
О, заработало.
#352 #688998
>>688884
В универе быдлокодил на пхп-4. Даже без ооп, просто такой самый быдлокод из быдлокодов.
Потом была пиздатая карьера в сфере далёкой от айти - уволили в 2012. С 12го вяло восстанавливаю карьеру, но с учётом крымнаш и прочей хуйни - решил взяться за старенькое что бы хоть кем-нибудь устроиться смог есличто.
Вот с октября учу питон. Прочитал штук 15 книженций уровня нуб/нуб+, доставили больше всего Think Python, Питон и анализ данных, Core Python Applications Programmig, The Python Standard Library by Example
Всё, в принципе.
В вебдев пытался вкатиться - но что-то не идёт, а пока могу находить вещи которые туда-сюда интересные и получаются - решил себя не насиловать джангой, которую я не понимаю совсем, хотя думаю рано или поздно придётся вникать и в неё.

Переезжать куда-нибудь не могу, в целом. А в моей мухосрани ничего нету.
#353 #689002
>>688884
К слову русская контора это было бы замечательно, но не обязательно. Английский знаю туда-сюда.
>>689016
#354 #689016
>>689002
Не переживай, из русских контор тут (ДС) скоро останется мылорушечка и все что она успела накупить и отжать, и может быть яндекс. А я вот сейчас наблюдаю за происходящим банкротством уже второй компании, в которой довелось поработать. Хуево все, короче. Надо переквалифицироваться в индуса.
>>689028>>689092
#355 #689025
Пожалуйста, объясните ньюфане, зачем юзать map, apply, reduce когда все это можно записать в виде генератора списков?
>>689029>>689030
#356 #689028
>>689016
Да не, в ДС дохуя контор. И крупных и мелких.
Мелкие часто банкротятся и раньше банкротились и новые появляются, это нормальный процесс.
#357 #689029
>>689025

>map, apply, reduce


Явное лучше неявного и простое лучше сложного.
Чем каждый раз городить одну и ту же плохую реализацию на генераторах проще добавить в стандарт.
#358 #689030
>>689025
Незачем. Если тебе надо одну функцию применить, то map бывает удобней иногда типа map(str.strip, list_of_strings)
Или filter(None, somelist)
apply вообще Deprecated since version 2.3
reduce редко бывает нужен совсем.
>>689509
#359 #689092
>>689016
Ты же утрируешь? Скажи что утрируешь! У меня ёбанная паника от твоего поста. Серьезно, хуёво стало. Парни и девочки, он же неправ, да?
>>689098>>689108
#360 #689098
>>689092
Тебе все советовали перед любым языком программирования выучить английский. Выучил бы - похуй бы было. Апворк или удаленка и ебись оно все конём
>>689102
#361 #689102
>>689098
Говно этот ваш апворк
>>689116
#362 #689108
>>689092
Айти не самодостаточно, оно живет за счет вливаний из реального сектора. Прямых или косвенных. Сейчас реальный сектор страдает и в первую очередь экономит на айтишых выебонах, рекламе (которая тоже в этих наших интернетах) и потом уже своих работниках.
#363 #689116
>>689102
Кто бы спорил. Работать вообще не самое пиздатое в жизни
#364 #689509
>>689030
Да и reduce тоже убрали и в functools закопали.
#365 #689517
Стоит ли создавать в гитхабе мегарепозиторий со всякими маленькими проектами? Какую структуру лучше использовать?
>>689518>>689712
#366 #689518
>>689517

> Какую структуру лучше использовать?


trunk/
branches/
tags/
https://ariejan.net/2006/11/24/svn-how-to-structure-your-repository/
>>689560
#367 #689560
>>689518

>trunk


>branches


>tags


Свежесть дедушкиной мошонки.
#368 #689562

ps = Popen('ls', stdout=PIPE, stderr=PIPE)
out, err = ps.communicate()

Какой тип будет у out, string или [string], если это массив то есть ли там символ перевода строки?
Как в общем случае такую информацию получить?
>>689567>>689568
#369 #689567
#370 #689568
>>689562

> Как в общем случае такую информацию получить?


1) читать документацию
2) запустить это в интерактивном режиме и посмотреть какой type(out)
>>689571
#371 #689571
>>689568

>type(out)


то что нужно

>читать документацию


Без обид, но документация python - говно
>>689573
42 Кб, 659x405
33 Кб, 632x453
45 Кб, 535x503
#372 #689573
>>689571
у питона отличная документация ты видимо не сталкивался с проектами где документация действительно говно или вообще отсутствует.
Плюс есть docstring`
>>689577>>689642
#373 #689577
>>689573
Беру свои слова обратно, я смотрел онлайн документацию
#374 #689616
>>688529
П А Р С Е Р
А
Р
С
Е
Р
Больше на нем никто и ничего не пишет
>>689618
#375 #689618
>>689616
Мне надо к самому какому-либо аппарату прикрутить сайт и базу данных. Парсер, очевидно, не подходит для этих целей. А пилить имиджборду на питоне, как в одном гайде, мне западло.
#376 #689642
>>689573
Двачую, документация что надо. Еще и собрана в одном месте и рассортирована по версиям.
#377 #689655
Анон, что с django 1.9 почему, она ищет вместо base.html другое имя коренного шаблона?
>>689712
#378 #689679
Господа, а вот раньше был google code search, как очевидно из названия - поиск по сорцам из открытых проектов. Но он сдох. Кто-нибудь чем новым пользуется? Я потыкал альтернативы - ну просто феерически наркоманские интерфейсы, никакующие фильтры ну и вообще не оче.
#379 #689712
>>689655

А все разобрался, ебать я наркоман.

>>689517

Алсо на гитхабе дизайн сменился, где там поиск теперь?
>>689714
#380 #689714
>>689712
Там же где и был, строка сверху.
#381 #690033
>>685693
DRF же + django-mailing, gunicorn, fabric (или какой-то его форк для 3.x, забыл название).

Не мастхэв, но часто приходится юзать django-push-notifications, python-social-auth/django-allauth, drf-nested-routers.
#382 #690126
Можно подружить renpy с pycharm? А точнее .rpy
>>690149
#383 #690149
>>690126
Логика подсказывает что можно. В чем проблема то? И по пакетам пайшарма пройдись.
>>690151>>690154
32 Кб, 500x375
#384 #690151
>>690149

>пайшарма

#385 #690154
>>690149
В том что синтаксис у ренпая другой. По пакетам прошелся, и в гугле прошелся.
48 Кб, 288x288
#386 #690168
Немножко брандербурха не по теме.
Хочу помесить кнопку в нижний правый угол дива, сделал:
position: relative;
bottom: 0px;
right: 0px;
При "position: absolute;" как и ожидается, кнопка едет в нижний правый угол страницы, но при "relative" эта ебала не работет, и вопрос не почему, а кто придумал эту ебучую даунскую ксспарашу?
>>690171>>690397
#387 #690171
>>690168
Фронтенд - свалка исторических костылей, где ни одна технология не оказалась по причине своей годноты. Используешь технологии фронтенда - жрешь говно.
#388 #690211
Недавно тоже столкнулся с фронтэндом
В последний раз верстал чего руками году эдак в 2006м, и тогда жс был нужен ровно в объёме 5 строк просто что бы переключать картинки бля.
А сейчас влез и охуел. Прям реально опизденел с этого всего куда оно скатилось.
#389 #690397
>>690168
А схуяли они должна ехать в угол при относительной позиции? Ты доки хоть осилил? Сдаётся мне,

>ебучая даунская параша


Это не технология, а твоя необучаемость.
#390 #690426
>>684010 (OP)
Шалом. Учусь кодить на пистоне и параллельно пытаюсь писать скрипт для вк. Столкнулся с проблемой: мне необходимо получить "списки" типа "user: group, group, group, group; user1: group, group, group, group; etc". Как это можно реализовать?
>>690435
#391 #690435
>>690426
https://vk.com/dev/methods
Urllib, json. Дальше сам.
>>690438
#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

и не могу сообразить каким образом это сделать. То-есть я понимаю как сделать проверку, но не могу сообразить как сохранить информацию в нужном мне формате.
#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
#393 #690439
Питоны-питончики, а в чём прикол первого варианта в моём примере? Он вообще в каких-то случаях бывает удобнее/полезнее, чем второй?
http://ideone.com/NbeXBO
>>690444
27 Кб, 792x373
#394 #690440
#395 #690441
>>690438
Я нихуя не понял. Чего ты хочешь добиться? Получить список пользователей, каждый из которых состоит в списке заданных групп?
>>690442>>690443
#396 #690442
>>690445
#397 #690443
>>690441
В общем я хочу очистить группу от людей подписанных на мдк, падик, и прочий ЗШ.
#398 #690444
>>690439
Несусветная хуйня какая-то, откуда ты такое вообще нарыл? В чём проблема d['x'] += 1 сделать?
Для статик метода лучше декоратор использовать, ты кошернее.
#399 #690445
>>690442
Создаешь словарь с user id в качестве ключа, значения - пустые списки, проходишься по по списку нужных групп, вызывая эту хуйню api.groups.isMember, проходишься по результату, добавляя в словарь номер группы, если test['member']==1, вроде result[id].append(group_id). Понел? (я эту либу не юзал, если че)
>>690447
#400 #690447
>>690445
Но в словаре у ключа может быть только одно значение или нет?. Во всех примерах что я нахожу записывается так:

>>> d


{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
>>690450
#401 #690450
>>690447
А у тебя список значением будет. Хуле нет? Значение может быть мутабельным, ключ -- нет.
Бля, ты даже основ не знаешь, а лезешь в васянские либы. Нахуй так жить?
>>690452
#402 #690452
>>690450

>Бля, ты даже основ не знаешь, а лезешь в васянские либы. Нахуй так жить?


Если я не практикуюсь - то мгновенно всё забываю.

>А у тебя список значением будет. Хуле нет?


Всё равно я нихуя не понял. Сделай пример кавычками.
>>690454
#403 #690454
>>690452
Такой пример устроит?
d[k]=[]
>>690458
#404 #690458
>>690454
Охуенный пример, я сразу всё понял. на самом деле нет
>>690459
#405 #690459
>>690458
А! Допёр.

>>> a = {123:['abc', 'def'], 321:['ttt', 'eee']}

>>690460
#407 #690630
Анон, задам ньюфаговопрос.
Я дочитал Доусона, т.е. более или менее ознакомился с базовыми вещами, и пришло время практиковаться. Поскольку я хочу катиться в сторону бекенда - решил в качестве практики попробовать начать делать какие-нибудь вебстранички, начиная с простеньких. И понял что не знаю как вообще соединять питон и веб.
Что прочитать по питону в веб и как вообще начать?
>>690807>>690902
#408 #690807
>>690630
Документацию по tornado, aiohttp.
sage #409 #690809
>>684010 (OP)
Сажи за омерзительный оппик.
>>690896
sage #410 #690896
>>690809
Удваиваю. ОП-хуй.
#411 #690902
>>690630
До веба тебе имхо рановато, после одного Доусона-то. Но дело житейское, конечно.
"2 Scoops of Django" и "Test-Driven-Development for web programming" по Django - годнота из годнот
Ещё мне понравилась глава о джанге в "Core Python Applications Programming"
Туториалы годные - официальный и Django Girls. Возможно с последнего стоило бы и начать, что бы сразу получить представление что за хуйню ты собираешься в итоге получать ковыряясь в джанго.

По веб2пу (который возможно бы имело смысл глянуть после питона до джанго) всё совсем просто, прямо на уровне прошёл туториал - вкатился.
По фласку специальной литературы я немного видел, но не трогал. После веб2пу наполовину интуитивно вкат идёт.
#412 #691031
>>684377
не пробовал с 1ЭСкакрусская, а с птичкой отлично работает, нужно pip install fdb и установить клиент firebird с оффсайта, если в PyCharm хочешь базу подключить, то еще нужно драйвер jdbc скачать, опять же с офф сайта firebird
#413 #691062
Пишу чатик на сокетах + ткинтер. Если сокет не блокирующий, то я просто поток данных ловлю? Чет запутался, как постоянно слушать/принимать сообщения и крутить в ткинтере. Tk.after() ??? Направьте плиз, код не могу пока скинуть ,я с телефона.
>>691260
#414 #691124
Всем привет! Я только начинаю работать с джанго, но уже возник затык. В templatetag нужно обращаться к кукиз, кукиз можно взять из реквеста, но реквеста в контексте нет!

Перепробовал все шаманские способы из стака, ничего не помогает. Как это можно разрулить?
#415 #691127
Пистонисты, почему у вас в шапке не написан минимум знаний для начала работы?
>>691175>>691336
#416 #691136
Подскажите новичку, как под виндой изящнее решать вопросы архивации файлов, есть что-то удобнее zipfile?
>>691162
#417 #691162
>>691813
#418 #691175
>>691127
Уверенный пользователь пека + ангельский.
>>691178
#419 #691178
>>691175
Это чтобы стать тем самым 300к в час фрилансером?
>>691180
#420 #691180
>>691178
И годы боли и унижений.
#421 #691260
>>691062
Нужно использовать мультитрединг, pyqt + quamash + asyncio или поочереди вызывать лупы гуя и сети.
#422 #691266

>>666666

>>691268
#423 #691267

>>666666

>>691268>>691271
19 Кб, 381x400
#424 #691268
>>691271
#426 #691293
Можно ли в Gtk назначить focus_chain для глубоко лежащего виджета, не назначая при этом фокус для всех родителей?
>>692008
#427 #691336
>>691127
Потому что на питон работы нет азаза
>>691450
#428 #691450
>>691336
Рабист закукарекал.
#429 #691569
http://stackoverflow.com/research/developer-survey-2016

Раби как всегда на дне, даже ниже чем обычно.
#430 #691717
Няшы, подскажите книг/сайтов для долбоебов, где можно обмазаться питоньими регулярочками? Вроде чужое понимаю, а сам не могу написать.
>>691724>>691736
#432 #691736
>>691717

>чужое понимаю


Лол. Я свое понять бывает не могу.
Вбей в гугл regular expression online и поиграйся. Можешь еще дописать типа database или snippets и тоже полистать. Это точно работающий путь.
Еще в Core Python Programming их туда-сюда объясняли, мне понравилось но выучил я их до этого
>>691740
#433 #691740
>>691736
Ну, не то, чтобы понимаю, как это работает, но понимаю, что нужно скопипастить, чтобы сделало что-то.
#434 #691746
Тут кто-нибудь умеет в джанго?
>>691748
#435 #691748
>>691746
Нет.
#436 #691749
У меня есть тупой нубский вопрос на который гугл не может мне ответить
>>691752
#437 #691752
>>691749
Ясно.
#438 #691753
Как достать сессии в Templatetag?
229 Кб, 335x500
#439 #691813
>>691162
Я не пойму, ты клоун или клоун?
#440 #691840
>>691843>>691863
#441 #691843
>>691840
Дополню как только приду.
#442 #691863
>>691840
Пиздец, не знал что у нас столько страниц в вики. Я думал только одна.
#443 #691984
Ну что, педики, признавайтесь, кто был на мейлрак питан митап.
>>692055
#444 #692008
>>691293
Бамп
#445 #692055
>>691984
Да никто не был, тут одни хекки. Ну может ты один.
>>692061
#446 #692061
>>692055
Да, я, к сожалению там был.
>>692062
#447 #692062
>>692061
Ну и как? Сплошной самопиар и советы от капитана очевидности?
>>692064
#448 #692064
>>692062
Отсидел два доклада из трех. Ничего инновационного, интересного. Первый доклад обзорного типа, второй реклама юпитера.
121 Кб, 1023x575
#449 #692110
Посоны, поясните за бэкенд расклад.
Написал один скрипт, крутится в бесконечном цикле, отсылает инфу на сайт. Как принято заворачивать всё это дело, шоб можно было мониторить там нормально, при падении самовосстанавливать и всё такое?
#450 #692247
>>690460
Братишка, я всё равно нихуя не понимаю. Чому он полностью переписывает словарь, вместо его обновления?

http://dpaste.com/0R2D46R
>>692249
#451 #692249
>>692247
Потому что у тебя append никогда не выполняется
>>692250
#452 #692250
>>692249
Так его нужно использовать не только для добавления значения к уже существующему ключу, но и для добавления нового ключа:значения?
>>692252
#453 #692252
>>692250
А нет, с добавлением у тебя все верно, это я тупанул. У тебя просто словарь переписывается (строка 29) в каждой итерации for element in testUsers, т.е. для каждого юзера

Попробуй так - http://dpaste.com/3KHM462 будет полный словарь по всем группам и юзерам
Или воткни zashquaredList = {} после for element in zashquaredGroups, будет после каждой группы сбрасываться.

Алсо, что у тебя там за пустые айдишники? group_id=''? Мне vk на них еггогами сыпал, пришлось мдк воткнуть.
>>692255
#454 #692253
Давайте что-нибудь вместе запилим
>>692318>>692854
#455 #692255
>>692252

>Алсо, что у тебя там за пустые айдишники? group_id=''? Мне vk на них еггогами сыпал, пришлось мдк воткнуть.



listOfMembers = api.groups.getMembers(group_id='', count=500, offset=offset)?

Это айди группы из которой происходит выгрузка пользователей. https://vk.com/dev/groups.getMembers
>>692256
#456 #692256
>>692255
Но почему оно у тебя пустое?
>>692258
#457 #692258
>>692256
ДЕАНОН@ТРАВЛЯ

Удалил. Только что скрип отработал, всё ништяк. Спасибо за помощь.
>>692269
#458 #692262
>>692110
Бамп вопросу.
#459 #692263
>>692110
Сделай systemd unit же. Там ini-like файл в 5 строчек получится. Он и запускать будет, и мониторить, и логгировать, и перезапускать в случае падений.
>>692265
#460 #692264
>>692110
monit
supervisord
>>692265
#461 #692265
>>692263
>>692264
Спасибо, няши.
#462 #692269
>>692258
В общем то всё хорошо кроме ЕБУЧИХ РАЗРЫВОВ СВЯЗИ. ААААААААААААААААААААААААААААААА АААААААААААААААААААААААААААА БЛЯТЬ!!! АААААААААААААААААААААААААА
#463 #692318
>>692253
Что например?
>>692722>>692754
#464 #692397
>>692110
скрипт на шелле, который при падении заново запустит:
#!/bin/bash
while :; do
python3 run.py
done

ну а чтоб мониторить, внутри своего питоновского скрипта пиши в log.txt что хочешь
>>692399
#465 #692399
>>692397
Десять костылей из десяти.
>>692406
#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')
#467 #692406
>>692399
зато при переносе на машину клиента не нужно всякие мониторщики объяснять как настраивать. я с заебался, так проще
>>692416
#468 #692416
>>692406
systemd есть везде.
>>692418
#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
#470 #692421
>>692418
Не вижу цетоси и красношапки, а должны быть. Но даже в оплоте анти-systemd - генте - теперь systemd. Короче, везде.
>>692730
#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
#472 #692722
>>692318
Фильм снимем
>>692724>>692725
#473 #692724
>>692722
Чур я на белом коне.
>>692735
#474 #692725
>>692722
Снимай портки.
>>692735
#475 #692730
>>692421
Может он и правда хорош?
>>692736
#476 #692735
>>692724
Если коня найдёшь, то пожалуйста.
>>692725
Я тут режиссёр, поэтому ты снимай.
>>692737
#477 #692736
>>692730
Ага, а УЗКАЧИ носят потому-что это удобно.
>>692739>>692746
#478 #692737
>>692735
Ты тут хуй.
#479 #692739
>>692736
Кто такие узкачи?
>>692741
598 Кб, 1352x659
#480 #692741
>>692743>>692744
#481 #692743
>>692741
Меня мама в детстве заставляла колготки носить, поэтому теперь я ношу только ШИРОЧИ
>>692745
#482 #692744
>>692741
Но от той бирюзовой жопы слева внизу я бы не отказался.
#483 #692745
>>692743

>я ношу только ШИРОЧИ


Деревенщина ебаная. Вся прогрессивная молодёжь ходит в узкачах.
#484 #692746
>>692736
А нормально аргументировать за недостатки, перевешивающие преимущества, можешь?
>>692747>>692748
#485 #692747
>>692746
На яйца давит.
>>692815
#486 #692748
>>692746
Я привожу аналогию. Что за systemd - то я, как юзер, вообще не заметил разницы.

Debian Jessie.
#487 #692754
>>692318
Проект
>>692756
#488 #692756
>>692754
Да нинужон он ваш проект, понятно?
>>692759
#489 #692759
>>692756
Кому нинужон то?
>>692761
#490 #692761
>>692759
Никому.
>>692778
#491 #692775
#500 пилит перекат
#492 #692778
>>692761
Чому ето?
>>692782
#493 #692782
>>692778
Ну а кому он нужон?
157 Кб, 1138x831
#494 #692796
Братишки, что за хуйня с импортом?
Поставил себе vk api через pip, в интерпретаторе все заебись импортируется и запускается, а когда запускаю тот же код из скрипта, то все валится на второй же строке, сообщая мне о том, что у vk нет метода Session(). Как пофиксить?

import vk
session = vk.Session()

Да, стоит Anaconda x64 с python 3.5.1
>>692808
#495 #692808
>>692796
Какая версия модуля vk?
>>692811
#496 #692811
>>692814
#497 #692814
>>692811
Замени на

session = vk.AuthSession(app_id='', user_login='', user_password='')
api = vk.API(session)
>>692818
#498 #692815
>>692747
Покупай по размеру, аутист.
#499 #692818
>>692814
Такая же ошибка, только уже с AuthSession.
Повторю, что пошагово через сосноль все работает: dir(vk) возвращает атрибуты, в числе которых Session, API и прочая хуйня. А вот скрипт возвращает только стандартные атрибуты.
#500 #692854
>>692253
Ты блядь даже не знаешь что запилить, а уже спрашивашь. В твоей голове пустота и рак, чернь ебаная, черви, двачинки нахуй, о чем мне с вами говорить, вы же все мрази блядь, с вами невозможно по-человечески. Запилим проект блядь, а стартпачик тебе не намутить, может переписать на тебя потом долю в IPO? Да ты же раковать на двощах только и умеешь, выблядок сраный, пользуешься чужим говном и ничего сам не создаешь, при первом же случае кинешь нахуй, в пизду такое отношение блядь, никогда я нахуй больше не буду иметь с такими дело, никакой блядь ответственности и головы на плечах, лишь бы пораковать и поугорать, да пошел ты нахуй, червь-пидор, я не для тебя учился программировать, запилить проект он блядь хочет, охуеть теперь.
>>692893>>692935
#501 #692892
>>692709
Вы кто?
#502 #692893
>>692854
Пили перекат
#503 #692935
>>692854

>больше не буду иметь с такими дело


Был опыт с анонами?
#504 #693067
>>693065 (OP)
Переполз.
#505 #693155
Проблема с логгированием и pybrain.
В общем, есть примитивный код: http://pastebin.com/wcEhadUm
И, собственно, какого чёрта импорт pybrain'а влиет не только на существующие, но и вообще на все новые логгеры? Как так-то, блин?!

Там в нём есть напрямую вызовы logging.warn(...), которые, вроде как, и есть проблемные места (в рут логгер, что ли, добавляется дефолтный хендлер, который вызывается всегда, так как является "родителем" всех логгеров полученных через менеджер). Но что это за бред-то, блин? Единственный способ получить чистый, личный логгер - это напрямую l = logging.Logger('mojo'), но тогда он в менеджер не запишется и я из другого модуля не смогу его через getLogger получить никак (создастся новый).

Что я не так делаю-то, как мне быть? Хочу логгер через getLogger, но без "чужого" мусора в нём.
>>693158
#506 #693157
>>684414
Вот за это я и люблю лжедвач!
#507 #693158
>>693155
Собственно, вот это можно запустить для иллюстрации проблемы (на идеоне не работает logging) — http://ideone.com/8p6md2
#508 #693195
Найдётся ли тут Антон, который шарит с многопоточкой?
>>693198
#509 #693198
>>693195
Нет. Пиши вопрос и тебе, возможно, ответят. Тут не биржа личных консультантов.
>>693200
#510 #693200
>>693198
Понял, сча всё будет
5 Кб, 479x108
#511 #693219
Задача: генерация текстового файла больших размеров (>200Мб, как минимум) забитого рандомными строками.
Сделал однопоточную версию программы, она думала его генерировала порядка 30 минут (300 Мб).
Прочитал, что операция записи на диск дорогостоящая по времени, чтоб записывать по одной строке, поэтому стал добавлять по блоку в 2Мб в файл.
Стало быстрее...Немного.
Решил использовать пул потоков, для создания этих блоков.
Но, написанный код всё равно выполняет их по очереди, и по этой же очереди записывает профита нет.
Что в этом участке надо пофиксить, чтоб оно генерировало одновременно в нескольких потоках, а потом записывало в файл?
>>693222>>693250
6 Кб, 496x103
#512 #693222
>>693219
быстрофикс:немного неполная картинка
количество блоков гораздо больше количества процессов в пуле. Количество процессов я поставил = 10.
#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
#514 #693255
>>693250
Ну а затем замечаем, что генерация занимает меньше времени, чем письмо, и тут-то уже мультитрединг и можно подрубить: пока генерируется новая часть, предыдущую пишем.
http://pastebin.com/9W6nYz4e (могут быть мелкие ошибки, перепечатывал вручную, т.к. запускал на другом компьютере, без доступа к двощам)

Total: 6.332
Generation time: 2.910
Writing time: 6.125
>>693259
#515 #693259
>>693255
А, ну и от multiprocessing'а толку уже никакого тоже не будет (в моём случае, по крайней мере), т.к. ~97% занимает запись на диск.
Если у тебя сэсэдэ, можешь поиграться.
>>693260
#516 #693260
>>693259
Впроче, если у тебя ssd, То и процессор вряд ли core2duo, лол.
Простите за получившийся односторонний чятик.
>>693263
#517 #693263
>>693260
2чая тебе
и 40 девственниц
сейчас буду разбираться в твоих кодах
865 Кб, 224x400
#518 #693282
Что учить после основ питона?
Что кодить? Как побороть апатию и уныние?
>>693327>>693366
#519 #693327
>>693282

>Что кодить?


why not?
http://www.checkio.org/
>>693407
#520 #693366
>>693282
Соус?
#521 #693407
>>693327
Что это? Зашел, сайтик красивый, а в чем суть?
>>693435
#522 #693419
Надеюсь, я нашел верный тред.

Господа, у меня вопрос.

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

Собственно, вопросов у меня даже два.
1) Какую иде поставить для питона+джанго на убунту?
2) Какие есть хорошие учебники, желательно на русском?

Жду ответов.
>>693445
220 Кб, 1365x642
380 Кб, 1364x655
1264 Кб, 1364x744
737 Кб, 1365x733
#523 #693435
>>693407
1. Заходишь в форму для регистрации.
2. Регаешься.
3. Жмёшь на один из активных островов(Home/Elementary, там простые задания)
4. Выбираешь задание(палочками, с правой стороны, показана сложность).
>>693439
504 Кб, 1365x735
204 Кб, 1364x742
126 Кб, 1359x736
#524 #693439
>>693435
5. Читаешь задание(в самом низу есть подсказки\пояснения), если оно тебе нравится - переходишь к выполнению.
6. Собственно окно в котором ты пишешь код\вставляешь готовый. Try It - проверка твоего кода с заданным значением. Run&Check - проверка твоего кода с различными данными из задачи, ну и вывод результата:
___1. Всё хорошо.
___2. Ошибка в строке %name%
___3. Ошибка при проверке результа %value%
7. Если всё хорошо.
#525 #693445
>>693419
1. PyCharm Community Edition (https://www.jetbrains.com/pycharm/download/#section=linux).
2. Саммерфилд и\или Лутц(4-ое издание) - это по пайтону.
48 Кб, 1046x303
217 Кб, 1290x623
37 Кб, 543x549
#526 #693469
Подскажи, что не так, Анон?
>>693484
#527 #693484
>>693469
у тебя функция ничего не возвращает
>>693507
47 Кб, 997x282
#528 #693507
40 Кб, 490x500
#529 #693597
Объясните, почему перебор по символам, а не по элементам?
#530 #693676
Как в пайчарме файл .kv подключить к файлу .py?
#531 #693687
Начал читать Укус Питона. С чем в паре его использовать для практики? checkio пойдет?
#532 #693724
Тред утонул или удален.
Это копия, сохраненная 9 апреля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски