Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/HatПрошлый: >>677889 (OP)2.х или 3.х: 3
>>684010 (OP)Кек, ну вы поняли, да? У него питон в штанах))
Поясните ньюфагу, Питон умеет с Firebird и 1c работать? Только не бейте за тупой вопрос.
>>684377google: python 1cgoogle: python firebirdСудя по всему может.
https://corp.mail.ru/ru/press/events/189/18 марта, в пятницу, приглашаем на MoscowPython Meetup 33 в офис компании Mail.Ru Group.
>>684401Мамку свою пригласи, петух.
>>684406Вы грубиян.
>>684401Какая-то муть про тестирование ТЕМНЫХ ЗОН, ipython notebook, и гвоздь программы!>«Новички в Python: как жить дальше?»Вам самим не лень ради такого собираться?
>>684410Пошел на хуй и парашу свою забери.
>>684413Тусовочка главное. Тянку можно подцепить из hr.
>>684420Мой питон уже привык к руке.
>>683832>>684558
>>684582Ну я из своего, хобби всё-таки.
Подскажите софтину для формирования todo листа для своего проекта. Под линь.
>>684699Пишешь в комментах к коду # TODO а потом грепаешь :3В ide и даже vim это поддерживается вообще https://www.jetbrains.com/pycharm/help/using-todo.htmlЕсли юзаешь гитхаб или аналог можешь там создавать issueМожно юзать софт типа redmine, trac, jira, basecamp
>>684420ХАХАХАХАХАХАХАХАХАХХАХААХХАХААХи ещеХАХХААХХАХАХАХААХАХАХАХАХАХА БЛЯ
>>684706Хех. А ведь правда, тяночки хр таки смотрят на кодеров свысока. Такой-то синдром вахтёра, когда от тебя зависит чья-то судьба, прямо выше себя чувствуешь в иерархии.
>>684699Зачем тебе софт, если есть trello?
Зачем тебе софт, если есть .txt/.md?
>>684759лорчую кстати. нафига какой-то лишний софт если можно в текстовом файле просто записать.ну на крайняк gnote/tomboy - там есть синхронизация и есть клиенты для мобилок
Вкатился в Django > Написал туториал App. А что, собственно, делать дальше? Ни с PHP, ни с общей парадигмой разработки в вебе не знаком. Куда копать? Для первого проекта хотелось бы запилить landing-page.
>>684768Копай отсюда и до того забора: https://docs.djangoproject.com/en/1.9/
>>684769Или книжку пусть почитает. 2 scoops of django например.
>>684769Я тебе написал. Я не знаком с парадигмой разработки в вебе. Я понял как работает Django. Я могу написать в нём простенький апп. Чего я не знаю, так как этот апп превратить в нормальный веб-сайт. Изначально хотел копать в сторону готовых landing-page'й на GitHub, но там какие то HTML\CSS\JS фреймворки. Понимаю, что вопрос несколько расплывчатый, но что мне взять для создания первого полноценного сайта. Полагаю, это должна быть связка из: Django, Memcached\Redis(Не особо понимаю что это, так что хотелось бы по подробнее об этом узнать), какие то HTML\CSS\JS фреймворки + какая то база данных + какой то вебсервер(Хотя чёрт с ним, с вебсервером. Реквестирую хотя бы предыдущие пункты.). Возможно есть книга-туториал, которая хоть мельком, но проходится по всем этим пунктам. Еще раз, для особо мееедленных. Какой пул технологий нужно знать для постройки полноценного сайтика?
>>684773Ну для начала надо знать html, основы http, как работают всякие формы и куки/сессии..
>>684775Охуительно подробный ответ. Вот прям, блять, всё сразу ясно стало.
Дайте ссыль на вайпалку
>>684779Вайпалку чего?
>>684777HTML не такой простой как кажется. Например нельзя <div> вставлять в <p>. Или нельзя <div> вставлять в <span>. Тегов много разных. HTML4 можно уже не учить, только пятёрку. Читай htmlbook.ruCSS тоже не простой. CSS3 селекторы намного мощнее чем CSS2. Вместо трюков с float сейчас надо учить flexbox. Соответственно специфику CSS2 тоже учить не нужно.JS очень не простой язык. Особенно после выхода ES6 и появления кофескрипта. Сначала учится чистый жс, затем по желанию кофе. Актуальная версия до сих пор ES5, ну и её изучение поможет понять прототипы. ES6 по большей части сахарок вынутый из кофе. Хороший ресурс javascript.ruHTTP протокол далеко не прост как кажется. Множество статусов, множество возможностей управления соединением. Множество кодировок, передача файлов итд. Про это всё лучше знать чем не знать. Актуален 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.Далее открываем свою контору, нанимаем макак, рекламщиков, продаванов, художников, дизайнеров, фотографов, сеошников, контентеров и идём к успеху.
Ой, да, забыл ещё в хипстерскую часть добавить: coffeescript, babel, sass (для уёбков scss/less), compass, grunt (хотя я предпочитаю по старинке makefile лол), minimization (google closure compiler, sourcemaps).
И ещё туда же: svg (оче, оче много возможностей, даже анимация), canvas, webgl (здесь целый ворох всякого говна уже есть, смотри threejs), webworker, localstorage, historyapi и кучи-кучи-кучи всякой хуеты которую навинтили в хтмл5 смотри caniuse.comasm.js + emscripten для тех кто хочет пописать под веб на сишечке.
>>684789Это нужно на GitHub, тот, что в OP посте. Большое спасибо, анон. По крайне мере теперь знаю куда копать. Если не подохну, заброшу и таки приду к успеху - буду выкладывать в тред.
>>684786> Гоняем хуйлоады, понимаем что наш сайт страшно проседает,И переписываем всё на php с hhvm
>>684792Настолько толсто, что даже тупо.
>>684792Каким образом виртуалка, на которой крутится PHP код будет работать быстрее?
>>684792Особый цимес кстати в том что, hhvm сделан на фреймворке от pypy.
>>684795Ты ничего не путаешь?
>>684796Путаю, всё ещё хуже. hhvm сосёт по производительности у HippyVM, который сделан на фреймворке от pypy. Но в любом случае съеби в пхп тред. Я ещё понимаю рельсы или ноду, но пхп это гроб и кладбище, настоящий фрактал отсоса.
>>684801То-то 99% веба на php
>>684803Кастую в тред большинство-пакаджей-pypi-под-двойку-куна.
>>684786>REST протоколыТакие точно существуют? Дай пару названий, а то гугл только общее описание выдаёт.
>>684773Django girls tutorialЕсть на русском, охуительно подробно, местами даже как для дебилов.Следующий шаг: гугли название-популярного-сайта + Джанго туториал, что как маленький
>>684820>местами даже как для дебилов.Так для девочек жи.
>>684816Ну протоколом я назвал то что принято называть REST API. Если хочешь пример бери twitter api (вроде бы с него мода и началась) или vk api. Но строго говоря REST это такая идеология, которую описал в засратом году Рой Филдинг в своей диссертации. Люди понапридумывали всяких SOAP XML где с данными передаётся куча бесполезных обёрток. И вот REST какбы и призван сделать всё проще и легче. В том числе использовать url как однозначный идентификатор сущности. Далеко не все веб апи сайтов в строгости соответствуют идеологии REST. Доходит до парадоксальных вещей, рестом называют чёрт пойми что, в том числе просто выдачу вместо html тех же данных в формате json. REST не привязан к формату, может даже html выдавать, но в то же время не всегда является оптимальным. Например механизм покупки в интернет магазине/транзакций в банке нет никакого смысла делать согласно идеологии REST. REST это такой универсальный способ поддерживать некий набор данных на сервере, например твоих постов в твиттере, с помощью него ты легко можешь написать приложение для своего калькулятора которое будет работать как полноценный твиттер.
>>684820>гугли название-популярного-сайта + Джанго туториалPornohub django tutorial
Как отжарить сучку своим питоном.
AI опять вздрючила корейца. в 3-й раз
>>684835К 2045 ASI вздрючит и тебя.
>>684835она че на питоне? Помню как в свое время stockfish и pychess стравливал...
>>684851Вряд ли на питоне. Но вообще питон сейчас самый популярный язык для всякого deep learning и ai. По крайней мере прототипируют.
Ремайндер: https://github.com/alexjc/neural-doodleИ всего 500 строк. А у вас все стотысячный и никому не нужный ландинг пейдж на жанге.
>>684860> стотысячныйстотысячестрочный ;_;
>>684858Щас почитал статью на вики, исходники закрыты, скорее всего на Сишке, потому что они и так постоянно кластер увеличивают, а тратить вычислительные ресурсы на тормозной питон я думаю они бы не стали.>Как все знают, компьютеры плохо играли в Го потому, что там очень много возможных ходов и пространство поиска настолько велико, что прямой перебор помогает мало.>До настоящего времени го является одной из тех традиционных игр, в которых человек играет лучше компьютера[5]. Поэтому написание программы, которая хорошо бы играла в го, является важной вехой в развитии искусственного интеллекта.Какие 2 другие игры? В шахматы же давно человека вздрючили
>>684864https://en.wikipedia.org/wiki/Game_complexity
>>684865я нихуя не пони
>>684860500 строк и сотни тысяч часов для обучения нейронной сети.*фикс
>>684864А где ты 3 игры то увидил?> одной из тех тех, а не трех
>>684874действительно
>>684824Ну про этот бардак с rest я слышал, я как раз хотел какой-нибудь стандарт rest api увидеть. Думал, под протоколами ты имел в виду именно это.
>>684922Читай Филдинга. Стандарта нет.
Анончики, помогите пожалуйста.Есть строка вида "qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]".Как мне именно в тех частях, что в квадратных скобках сделать replace("_","")?
>>684946Поделить на 3 строки - убрать в нужных подстроках "_"?
>>684946re.sub('(\[.*?\])', lambda x:x.group(0).replace('_',''), '"qwerty_ [ qwf _fjdsf_ jdsf] sdfs [_uiosda_]"')
>>684952Извини конечно, но это пиздец.
>>684949А если это всё динамически меняется? Выходит надо будет целый массив использовать и потом заново склеивать циклом. И еще образовавшиеся ошметки как-то сохранить.>>684952Эх, всё никак не дойдут руки изучить всё это волшебство.
>>684955Покажи способ лучше
>>684957Я для данного случая описал. Так то получим список из N строк. В целом, не думаю, что это КАРДИНАЛЬНО повлияет на производительность. Зато читабельно и понятно с первого взгляда.
>>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:])Может регулярочка всё-таки лучше?
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_]'>]Ну и далее по индексам строку кромсать и собирать результат склейкой получившегося массива.
>>684975Пожалуй без написания небольшого велосипеда, да. Regex лучше.
>>684975Кстати это ещё и с эксепшеном упадет если '[' нет в строке. т.е. надо добавлять проверку на это.
>>684986А хотя нет, не упадет.
>>684987Всё же вариант regex + lambda самый лучший из всех предложенных.
Flask сложный? Сложнее Django? А Tornado?
>>6849921. https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/django2. https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/flask3. Теперь пиздуй
>>684990Он ещё и самый правильный - не генерит кучу списков.И в варианте со сплитом будут проблемы если скобка не закрыта.
>>684992> TornadoЭто вообще веб-сервер, так то.
>>684996Скорее асинхронный веб фреймворк.
>2016>юзать для асинхронности левые костыли
>>685050> вау добавили синтаксический сахар это всё в конре меняет
>>685058>да, блеать, добавили сахар и теперь оно хоть читаемое стало, алсо в нём много кроссплатформенного кода для общения с процессами/пайпами и прочей ерундой, а не только с сокетами
>>684699https://workflowy.com/Достаточно удобная штука.
>>684700>>684758Гит у меня конечно есть, но я с ним не особо привык работать, потому что исправляю то там, то тут и коммиты делаются только после большого числа исправлений. Делать # TODO: ... хорошо, конечно, но не очень удобно. Хотелось бы оффлайн утилиту с минимальным функционалом - добавить таск с комментом, удалить, отметить как выполненный, отсортировать по критерию.
>>684699orgmode
Существует ли билдер интерфейса для PyGObject'а?
>>685340glade
Чем для разработки гуи плох стандартный ткинтер?
>>685383Тем же чем и второй питон.
>>685390Но ткинтер есть и в третьем пистоне.
>>685383Никто не использует, потому что не стильно и не молодёжно. Есть другие, более функциональные альтернативы, типа GTK/PyGObject, PyQt. Хотя я сам ничего плохого в TKinter не вижу. Тоже задавал тут этот вопрос и никто внятно не ответил.
>>685420Начнем с того, что он выглядит как win95 на большинстве платформ. И этим же закончим.
>>685428Не аргумент. Скажи ещё что терминал в линуксе выглядит как прямиком из 85 года.
>>685445Только /bin/sh на xterm'e. И еще какой аргумент. Я просто не юзаю приложения которые выбиваются из общей темы. А ткинтер выбивается всегда. Хотя хуй знает, может виндузятники привыкли к зоопарку.
>>6844232-й или 3-й?
gtk-даунЕсть, короче говоря, панель. Как разделить её, как пике?
>>684789>>684786Схоронил.
>>685344Виджеты только по контейнерам распихиваются? Если я хочу два виджета в одну строчку поместить, мне кусок контейнера ещё одним контейером разбивать надо?
Как в Glide правильно добавить скроллбар?
>>685656*Glade
Использую алхимию, но sqlite выбрасывает исключение, что не может в многопоточность. Можно ли заменить "драйвер" базы на что-то другое чтобы не было проблем? И если да, то на что?
>>685672Точнее сменить "базу".
>>685672Postgres
Господа, подскажите пожалуйста основной стек "батареек" джанги. Про celery, tastypie, pillow, messages знаю, что еще?
>>685383Там довольно ограничены возможности. Что-то очень простое там можно сделать но дальше можешь уткнуться в недостаток функционала.>>685494HBox>>685546Да, это во всех современных тулкитах так. Есть контейнер fixed где можешь ставить по кординатам но это убого и не будет растягиваться.
>>685686>tastypieТы имел ввиду RDF.
>>685656Добавить куда? Во многих контролах скроллбар встроенный. Там есть Scrolledwindow, внутрь него можно пихать что-то контейнер какой-нить и он будет прокручиваться. Можно добавить Scrollbar вручную и повесить на него какие-то действия
>>685672sqlite может в многопоточность, может тебе надо сессию отдельную создавать.Ну как может, если ты пишешь в базу, то для других потоков она будет заблочена. Читать можно из разных потоков.
>>685686https://www.djangopackages.com/Тут по категориям и популярности рассортированы.Могу сказать django_mptt django debugtoolbar admin-tools что-нить для thumbnails да много всего. какая-нить хрень типа bootstrap
>>685696К "списку" из фреймов.
>>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 [скюэль простыня]
>>685725Делай сессию отдельную в каждом треде.
>>685743Эм, так разве смысл не в сессии одной на всех? ладно, попробую
>>685765А что ты вообще собираешься делать? Зачем тебе многопоточность и orm при этом?
Допустим я накидал в 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()
>>685771Внутрь VBox добавляй их
>>685782То же самое. Фрейм то не клонируется, а остаётся тем же самым.
>>685802Что значит "клонируется"?
>>685807А, ну да, в вопрос немного неправильно сформулировал. Добавлять этот заготовленный фрейм в бокс/листбокс я хочу в рантайме, по нажатию кнопки.
>>685809Тут есть несколько вариантов.Я бы сделал на твоем месте класс унаследованный от фрейма, который в init создает все нужные элементы внутри себя сам.Такой кастомный контрол короче. Можешь там ещё всякое поведение объявить.Или ты можешь создавать эту хрень из xml подгружая её в рантайме и вставляя куда надо.Например раньше можно было http://www.pygtk.org/pygtk2tutorial/sec-UIManager.htmlmerge_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)и т.п.
>>685809В общем glade хорош чтобы набросать основной интерфейс, каркас, менюшки, всякие окна настроек.Но то что должно создаваться в рантайме лучше делать внутри кода.
>>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()?
>>685816Незнаю. Вот тут есть пример костыля и какие-то ссылки http://stackoverflow.com/questions/20460848/templating-overflowing-content-with-glade-and-pygtk>.xml_repr()Ты можешь открыть xml просто в текстовом редакторе и скопировать оттуда код виджета твоего.Алсо для pygtk были генераторы кода. Типа оно берет glade файл и преобразует его в python код, который создает эти виджеты автоматически. Скорее всего они заброшены и не работают с новыми версиями т.к. это нафиг не нужно есть gtkbuilder и прочее.
>>685820А в Qt это можно проще сделать?
>>685823Не работал с qt на уровне больше hello world.А в чем проблема генерить виджет из кода?
>>685825Да в общем то ни в чём, просто мне казалось, что UI билдеры как раз и призваны такого рода проблемы решать.
>>685826Чет не оченьhttp://stackoverflow.com/questions/22584193/clone-a-gtkwidget-from-glade-so-it-will-be-reusable-several-times-in-applicationhttps://mail.gnome.org/archives/gtk-app-devel-list/2012-December/msg00002.htmlМожно только через жопу делая новый builder для каждого виджета
>>685827Придётся XML руками править. Что-то типаwidget_src = \"""...<widget id={} name={}/>...""".format(w_id, w_name)
>>685829> Note that if you call your objects in glade ending with "_1" then you copyand pastethe first copy will be "_2", the second "_3" and so on, it happened to meto use this trickand create a vector in my code of objects ending this way the object names.
>>685830Я вообще не понял, что тут имелось в виду.
>>685831То что если у тебя виджеты называются типа frame_1оно должно автоматически переименовать следующий в frame_2 когда ты его добавишь
>>685832Мне так то без разницы. И там в треде в итоге решили, что best way - это пересоздавать билдер каждый раз, тем более, если файлы маленькие.
>>685832По ходу проще вручнкю делать - add_from_string никаких идентификаторов вновь созданного объекта не возвращает.
>>685849Там можно пройтись по объектам внутри builder как-то.
>>685850Можно, но тогда нужно как-то определять новый, т.е. хранить копию списка в каком-либо виде и после каждого добавления сравнивать. Чёт пиздец какой-то, такое простое действие и так много мороки.
Заебался, хоть на tkinter возвращайся.
>>685855В tkinter вообще никакой рисовалки форм нет лол.
Пистон пишет, что 343(1/3) это 6.999(много девяток), а мне надо, чтобы писал правильно — детектирую perfect power's. Как этот подводный камень грамотно обойти?
>>685903А какой правильный ответ?
>>685905Число, которое даст 343 при возведении в куб.
>>685906Это особенности того как компьютеры работают. Округли че.
>>685907Я в курсе, я знаю.Но мне надо проверить, равен ли результат int'у этого же результата. То есть не является ли он дробным. Если всё тупо округлять сразу, то 217 в степени 1/3 и 216 в той же степени дадут одинаковый результат.С большинством чисел до тысячи работает корректно, а с 343 и 216 вылазит такая чушь. Как-то же это можно обойти? Или искать другой алгоритм/язык. Сишка вот пишет корректно, вроде.Туплю я, ну. Что ты как этот?
>>685908)))))
>>685908> . Сишка вот пишет корректноСхуяли кстати она будет? там тоже самое происходит.
>>685910Ну как бы да, лол. Только это сильно замедлит алгоритм же. А нужна нормальная скорость.
>>685911
>>685916А не printf ли это округляет у тя?
>>685917Ну, может быть, не знаю.
>>685912Вообще число 1/3 уже не может быть записано точно в виде doubleВ питоне есть модуль fractions для работы с дробными числами но он тут не помогает.
>>685918А вообще да 7.0 возвращает.
Питоны, Django REST Framework юзаете?
Анончик, как убрать в 'gtk.Notebook' эту херню (помечена красным)?
>>685971Ты хочешь обрезать сам фрейм типа? Чтобы осталить только вкладки?
хъахахха
Анон, не совсем по теме конечно, но спрошу про верстку. Я вот под иксами погроммирую, как проверять верстку в Шиндошс версиях и всяких гейфонах с ведройдами? Поддерживать ли старые браузеры? В смысле до каких версий? Как лучше верстать врукопашную или фреймворками типо Bootstrap, less?
Почему говнопарсер медленно работает?http://pastebin.com/tdVmh1bgсуть токова: ходим по страничкам из списка и выдирает нужный мне текствсего там ~1300 страниц, на каждой странице нужный текст начинается примерно с 100 строчки130`000 строчек текста, это уже слишком много?Но ведь есть и более сложные парсеры, не верится что все они тормозные.
>>686005В virtualboxМобилы в genymotion
>>685990Вижу убунту.
Поясните как работают сервисы на джанге. Допустим если я хочу сделать "парсер как сервис", то логику самогомпарсера мне прям во вьюшках писать или лучше в отдельном файле? Или это вообще делается другим приложением? А может вообще на другом сервере? Помогите пожалуйста, а то бложик я написал, а что делать дальше не имею представления.
>>686073Скорее всего другим пиложением и сам сервис не на джанге.
>>685770Основной тред — gui, отображает статусы тасков и может их менять (остановить, возобновить). Дополнительный тред — выполняет таски, обновляет их статусы, логгирует какой таск на какой стадии выполнения.
>>686008Ты же всё в один поток делаешь. Конечно так долго будет. Пока ты ждёшь ответ от странички твой комп и кАНАЛ простаивают. Юзай треды или asyncio, базарю ещё захочешь.
>>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}$И сделал бы по потоку на каждую страницу. Такие дела.
>>686141> по потоку на каждую страницу. А если их миллион?Лучше юзать https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor
>>686075Допустим если я хочу сделать как этот анон >>686008 только веб версию, где каждый юзер может парсить емейлы с введенных им урлов. Как это все работать должно в этом случае? Мне достаточно просто запускать приложение каждый раз, когда каждый юзер захочет парсить? Или мне нужно приложение, каторое будет работать как демон и чекать есть ли новые задание, создавать потоки и т.д.? Как это все работает, где можно посмотреть примеры?
>directory = u'D:/тест'>mask = '.djvu'>files = os.listdir(directory)>masked_files = filter(lambda x: x.endswith(mask), files)Посоны, как это заставить работать с кириллическими файлами? В смысле, данные из массива, чтобы могли нормально использоваться, если файлы имеют кириллицу в имени.
>>686165Энжой йор шиндовс
>>686159Дело в том, что эти запросы будут занимать много времени и блокировать весь поток. Поэтому я бы делал это всё асинхронно с callback`ами и прочим адом.Например на торнадо:тут в _on_download можно впихнуть парсер и какие-то ещё действия
>>686165> filter(lambda x: x.endswith(mask), files)есть модуль glob для этого> работать с кириллическими файлами?виндопроблемы
>>685857О, ещё как есть. Я её пользовался, и не раз. PAGE называется.
>>686179Хм и правда. Ещё какие вот есть http://stackoverflow.com/questions/14142194/is-there-a-gui-design-app-for-the-tkinter-grid-geometry
>>685971Сделать его растягиваемым?
>>686170Т.е. мне понадобится 2 приложения. Одно для веб морды (джанго\фласк) а другое для логики (торнадо), так? А есть какие-то примеры?
>>686209Торнадо это веб сервер и фреймворк. В тем же есть асинхронный http клиент. Т.е. он может при запросе к нему делать запрос на какой-то другой сайт асинхронно и вернуть результат, когда страница скачается и будет обработана.
>>686168>>686172Спасибо.
>>686209Ну или более модный вариант http://aiohttp.readthedocs.org/en/stable/Ещё есть twisted.
>2016>юзать для асинхронности сторонние костыли
>>686224Под новые костыли пока не завезли фреймворков хотя бы уровня торнадо того же.Да и новая питон 3.5 мало где стоит пока.
>>686227Хотя aiohttp вроде норм
>>686227Поставь, лол. Ты же умеешь софт ставить, правда? Ты же не юзаешь дефолтную винду с iexplorer.exe и notepad.exe в качестве IDE?
>>686232У меня то он стоит. Но на сервер(ах) это неудобно. Придется канпелять и ставить куда-то, самому следить за обновлениями. Гораздо проще использовать версию из дистрибутива.
Есть один реквест пикрелейтед. Нужно ему передать ссаную куку ageallow 1 для доступа к /e/. Каким хуем строить эту куку? cookies={'ageallow': '1'} нихуя не делает
>>686407Ну вроде бы, так и надо. Только ты куки же не указал.
>>686477вот такая штука возвращает 404
>>686494И у меня возвращает 404. Видимо, этой куки недостаточно.
Анон, я выучу питон? Скажи мне, что я выучу. Я только начал и мне трудно всё даётся без общения с кем-то, а поддерживать разговор с вами здесь или делиться моими достижениями в духе print('Hello world!') стыдно.
>>686527Выучишь, не сомневайся. Пиши сюда свои хелловорды, нам всегда приятно покритиковать чужой код.
>>686506для постинга в /b/ нужны ебанутые запросы с подтверждением капчи, а я, тип, неумею)0
>>684010 (OP)https://github.com/anon276/testing
>>686527>делиться моими достижениями в духе print('Hello world!') стыдноА ты запости достижение хоть чуть-чуть выше уровнем. И да, ты выучишь.
>>686527Лей сюда, хуле. Для чего тред держим?
>>686540Ебаный пиздец, ну и лапша, ну и говнокод
>>686702Почти весь пайтон код примерно такой.мимо
>>686707Почти все ЯП такие, если руки из жопы и отсутствует забота о стиле и читаемости.
>>685988Да, оставить вкладки.
>>686716Несомненно. Поэтому чем выше уровень вхождения в язык, тем лучше, если ты понимаешь о чем я.
>>686729Уровень вхождения значит практически ничего через год-два после вхождения. Если конечно у человека есть желание развиваться, а не продолжать писать говнокод.
Очередной вопрос по 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 и билдер?
>>686753Потому что ты мудак ебаный. >self = window1>__dict__ пустой и выкидывает ошибку, говоря, что никаких self.a и self.b не существует.ну все правильно
>>686811Ну так я и спрвшиваю, как это можно нормально сделать.
>>686753>>686875Тебе хочется содержимое window1 иметь в неймспейсе App, который наследует от Gtk.window? Можно например так:self.__dict__.update(window1.__dict__)Можно модифицировать __getitem__, чтобы при запросе App.a он на самом деле выдавал app.window1.aА можно просто использовать app.window1 и не усложнять.
>>686104Всё, понял, пасаны. sqlite не позволяет модифицировать базу из других тредов.
>>686889Да, решил с помощью qt сигналов из одного треда в другой, чтобы эти самые изменения происходили в одном треде.
>>686887>self.__dict__.update(window1.__dict__)Кстати, это как я понимаю смержит только переменные. А как быть с методами window1?
Уже жалею что начал читать Core Python Applications programming которую обсуждали в прошлом треде. Во первых, она устаревшая(2012 год), а во вторых, там рассказывают про все что можно найти в интернете. Лучше уж посмотреть какого нибудь чувака на ютабе или почитать что нибудь типа этого http://www.tutorialspoint.com/python/python_multithreading.htm. Рассказывают о том же самом только без лишней воды.
>>686887>А можно просто использовать app.window1 и не усложнятьНу я так и сделал в итоге. Так даже логичнее, наверное, иначе из>self.__dict__.update(window1.__dict__)каша получится>>686895Не только переменные. Вообще всё.
>>686905Да нет, методы например проебутся. http://ideone.com/eg39BS
>>686903Так-то можно гитхаб читать, воды 0/10Мне кор очень понравился. На устарелость похуй.
>>686910Короче, единственный путь собрать несколько классов в один, имея все в одном неймспейсе и не проебать ни переменные, ни методы - http://ideone.com/dAyENnРейт, дискасс. Может есть способ получше.
>>686938Использовать super и наследование?
Попытался скачать PyCharm, чтобы быть как все, а он лагает, как сука. ЧЯДНТ?Решил попробовать перекатиться под Spyder, который шёл в комплекте с WinPython-оммимодебил
>>686976>под Spyderсо Spyder-aфикс
>>686976> PyCharm> java-поделие> лагаетНе вижу проблемы
>>686976https://www.sublimetext.com/3
>>687019Он умеет в автокомплит, например?
>>687020Умеет, есть ещё такие плюшки - http://damnwidget.github.io/anaconda/ .
У меня есть код, этот код игра, типа морской бой. Мне нужна так чтоб игра сохранялась и ее можно было залойдить через меню. Как мне это сделать, помогите пожалуйста, я ньюфаня. Делаю код для общего развития.Код прилогается по сылкеhttp://rghost.net/6Kc4BWDNs
>>687045Игровые данные, очевидно, хранятся в виде каких-то объектов.Объекты можно сохранить, очевидно, используя родную библиотеку pickle.мимодебил
>>687045 надо чтоб сохранялась в txt вот так http://rghost.net/6RSXQ7yX5
>>687048я это уже где читал, но все равно там не понятно
>>687053Да хуле тут разбираться. Лови, тебе понять этот код на пять минут.мимодебилimport cPickledef 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 datalevelToSave = raw_input('Введи уровень, мудак!')healthToSave = raw_input('Введи жизни, мудак!')SaveGame(levelToSave, healthToSave)del levelToSavedel healthToSavelevelLoaded, healthLoaded = LoadGame()print "Твои сохранённые жизни, сучёныш:",healthLoadedprint "И при этом ты на",levelLoaded,"уровне"
>>687037Хочешь сказать, что куча этого говна (плагинов) не будет лагать? У меня на Атоме нехуёво плагины жрут.
>>687067Спасибо, щас сделаю
>>687077Не знаю, мне встроенного автокомплита хватало.> У меня на Атоме нехуёво плагины жрут.Саблайм намного легковеснее, вряд ли самыми тяжелыми плагинами получится довести до тормознутости чистого атома.тоже атомом пользуюсь, но саблайм куда лучший выбор для пека-кофеварки
>>686721Ну я думаю надо в какой-нить контейнер засунуть Notebook этот.
>>686889> sqlite не позволяет модифицировать базу из других тредов.А должен https://www.sqlite.org/threadsafe.html
>>687081Ну, я-то орм использовал. Может в нём поддержки нет. На стаке лишь и разговоры о том, что так нельзя. Или коннекты к базе закрывай после каждого чиха или соси.
>>686976Geany попробуй
>>687134На gtk3 уже переписали?
>>687158Но зачем?
>>687159Чтобы не портировать gtk2 под wayland.
>>687160Какой нахуй wayland
>>687161А убивать иксы кто будет, ммм?
>>687161Ты отстал от жизни.
>>687162Никто. Иксы охуенны и вечны.
>>687164> Иксы> вечныУже помирают, разве что xwayland поживет благодаря иксоретардам.
Как мне найти чайлда виджета с заданным именем? Виджета нет в билдере, так что builder.get_object() не получится.
>>687166Нет. В нормальных юниксах никаких wayland`ов нет и не будет. Также как этих ваших systemd. Насчет переносимости тоже сомнения.Иксы есть под osx и даже винду.
>>687167Незнаю. Перебирай get_children рекурсивно.Если его нет в билдере, то ты его сам создаешь? Почему не сохранить ссылку на него в переменной какой-нить?
>>687171>Если его нет в билдере, то ты его сам создаешь?Я запилил widget_factory, которая каждый раз заново создаёт билдер, возвращает топ фрейм и вырубается. Буду наверное всю структуру возвращать, а не только его.Продолжаю охуевать с функциональности. Совсем не такого я ожидал.
>>687168> Нет. В нормальных юниксах никаких wayland`ов нет и не будет.Никто не заставит софтописателей продолжать поддерку иксов, а тем более мизерный процент среди разработчиков серверных ОС, так что ещё как будет.> Иксы есть под osx и даже винду.Костыли уровня xwayland, под виндой и osx никому не нужные.
>>687173> софтописателей продолжать поддерку иксовgtk3 или там qt перестанет работать под иксами? Или ты про дерганье xlib вручную, этого почти никто не далает.> под виндой и osx никому не нужные.Пока ты не захочешь, например, запустить wireshark на удаленной машине - иксы это сетевая прозначность. Или что-нить ещё.
>>686938http://ideone.com/jPJ3EO ?
>>687174> gtk3 или там qt перестанетGtk4 или там Qt6 перестанет.> Или ты про дерганье xlib вручную, этого почти никто не далает.Делают, особенно при работе с графическими api.> Пока ты не захочешь, например, запустить wireshark на удаленной машинеЧто помешает мне сделать это без иксов?
>>687181> Что помешает мне сделать это без иксов?Через vlc? Придется графический сервер и прочее говно ставить на сервере.
>>687184*vnc всмысле.
>>687184Через консольный wireshark tshark, очевидно.На самом деле сетевая прозрачность в редких случаях может быть действительно полезной, но ты смотришь на ситуацию не с той стороны, это не просто "фича" иксов, а их предназначение, в 99.999% используется костыль уровня пикрил и клиент-сервер общение происходит через сокеты, фунционал - никому не нужный оверхед.
>>687190> общение происходит через сокеты,Это норма. Некоторые вон хотят вообще микроядро - тогда даже с драйверами общение происходит через некоторые IPC.> Через консольный wireshark tshark, очевидно.Да можно записать дамп хоть tcpdump`ом и потом открыть этот файл для анализа на локальном wireshark, но удобней в реальном времени всё наблюдать иногда, запустив wireshark прям там.
Можно ли в Gtk заставить TextBuffer использовать подсунутую мной строку для хранения текста, или обратиться напрямую к TextBuffer.text? Нужно, чтобы в строке всегда находилось актуальное значение текста из поля ввода, а дёргать get_text() на каждое нажатие клавиши - извращенство.
>>687193Сделай как-нить @property которое будет get_text дергать само
>>687193И как ты вообще себе это представляяешь учитывая что строки немутабельны?
>>687196Да тут главное не сама строка, а наличие прямой ссылкм на переменную, её срдержащу.
>>687197Я же говорю запили property. Или используя https://habrahabr.ru/post/122082/ сделай универсальную заворачивалку для TextBuffer`ов.
https://channel9.msdn.com/Events/FSharp-Events/fsharpConf-2016/Cassandra-Docker-and-F-AwesomenessЛеночка
>>687233hnnnng
>>687233– В 10 лет я уже могла считать себя программистом, – рассказывает девушка. – К этому времени я изучила технологии С#, ADO.NET, SQL, HTML, CSS, Javascript. Чтобы получить карманные деньги и практический опыт, я стала выполнять отдельные заказы.В 15 лет Лена устроилась на первую работу по трудовой книжке: она занималась программированием серверных компонентов на C#, в том числе безопасных WEB-сервисов. В это же время она сдавала школьные выпускные экзамены
>>687238Вот что значит правильное воспитание.
>>687239Причем тут вообще воспитание? Просто интерес должен быть.Мне вот попалась книжка случайно про бейсик в младших классах, я её в туалете почитал и заинтересовался стал пробовать примеры кода что там были.
>>687233О чем видео то? Туториал по сассандра пересказывает?
>>687233Она не правильно докер использует. Тупая шлюха
>>687240Вот именно, что при всем оно!Батя смог заинтересовать ребенка и направить, дать нужные знания.
>>687244Она девственница еще.(сказала бережет чистоту для мужа)
>>687253Пруфы?
>>687255А чем обусловлено "siwa" на куртке, полагаю, шведа? А то по-китайски это 丝袜 и значит "чулки".
>>687265Фина.http://www.siwa.fi/fi/etusivu
>>687267А, точно. Забыл, что спурдо спарде это финское, а не шведское изобретение.
>>687268Мог бы догадаться по "Pekka" это стереотипное финское имя
>>687275Не, не мог. Я финских имён не знаю.
>>687255Пруфы давать не буду, это может повредить ее имиджу.
>>687284Бытие шлюхой повредит её имиджу не меньше.
>>687336пости свою жс дрисню в жс тредах
>>687336после питона все эти >...)>))>)кажутся какими-то тупорылыми смайлофажными насмешками
>>687343После руби все эти отступы и лишние скобочки в питоне тоже так выглядят.
>>687343жс дрисня, что еще сказать.Сижу, разглядываю листинг на Питоне. Отец, глянув издалека на монитор, спрашивает: Маяковского читаешь?
>>687344>end end endХотя я к отступам стал хуже относится со временем.
Почему под питон так мало библиотек?
>>687380Потому что меньше костылей надо вставить чтобы стало хорошо.
>>687240>я её в туалете почитал и заинтересовалсяТеперь мастурбация так называется? Oh you!
>>687380Потому что сколько костылей в питон не ставь, хорошо не станет.
>Почему под питон так мало библиотек? >Потому что сколько костылей в питон не ставь, хорошо не станет. Вербовщики жс дрисни подоспели.
>>687380> 252085А я то всегда думал что пистон лидирует по количеству либ.
Посоны, как в регулярных выражениях вытащить текст между специальными текстами?К примеру: %h;sample text% Как вытащить "sample text"?
>>687684
>>687692Попробовал: 're.findall('%h(.*?)%','tegs%h;\w+%dsd')', т.к. вместо 'sample text' может быть и другой текст, но выдаёт лишь: '\\w+'
https://habrahabr.ru/company/mailru/blog/279193/
>>687702А что должно выдавать по твоему?
>>687706Любой текст между %h; и %.
>>687705Пошел нахуй.
>>687707Ну и? У тебя там \w+ между ними. Вот это и возвращает.
>>687705>swiftДальше не читал.
>>687714А как сам текст вытащить?
>>687716Ты чего-то тупишь помоему.У тебя строка'tegs%h;\w+%dsd'Вот и получается что текст между ними это \w+
>>687720Чёт не понимаю. Я вижу лишь \\w+. А как любой текст получит?
Очередной вопрос по Gtk. Допустим, у меня есть css, который я загружаю CssProvider'ом и есть виджет, стиль которого я хочу менять динамически на описанный в css. Как мне это реалищовать?
>>687774Ты же сам написал там \w+re.findall('%h(.?)%','tegs%h;\w+%dsd')'%h(.?)%' - регулярка'tegs%h;\w+%dsd' - твоя строка. можешь что хочешь там писать 'baa%h;blabla%fooo %h;zzz%' например
>>687825Да понял, что там любой текст. Просто, я, к примеру, пишу: %h; ЛЮБОЙ ТЕКСТ% и выбирается текст между этими символами. А так я просто получаю \\w+ вместо того текста.
>>687867Че?
>>687878А. Во.
Как так?http://pastebin.com/dGGLDSx7
>>688065Пишов ты на хуй, я тебе интерпретатор штоле вникать.
Ньюфаг, который просил Анона сказать ему, что он выучит питон вкатывается в тред.Поясните по этому рисунку. Я ничего не понял.
>>688217И сам пример, который был.
>>688217Ой, ну это древнее изобретение ещё. Стек был даже на 8битных машинах. Суть в том что оно дохуя оптимально выделяет память под локальные переменные функций, и ещё это единственный способ хоть как-то совладать с рекурсией.
>>688227Как понимать этот рисунок? Я не понял ничего из текста.
>>688217>>688219Ну это короче так:объявил ты в начале модуля переменнуювот такcat='Муська'А потом в какой-нибудь функции объявил переменную с тем же именем:cat='Мурка'Что будет если ты сделаешьprint catв теле функции?
>>688233Мурка. Теперь понял. Локальные и глобальные переменные обсуждались в предыдущей главе. И что всё это значит?
>>688238Конкретно меня вводит в заблуждение последний стэк с bruce.
>>688238Ох.Ну вот ты бы сам как сделал вызовы функций?1. Локальные переменные внутри одного вызова не должны никак пересекаться с локальными переменными другого вызова.2. Функция должна как-то знать куда она сделает return.3. Одну и ту же функцию можно вызвать много раз.
>>688244Это всё понятно. Спасибо.Конкретно стэк с bruce вводит в заблуждение. Почему в примере показано, что при вызове он возвращает текст?
>>688238Стековая диаграмма всего лишь показывает название переменной и модуль в котором она создана в контексте цепочки вызова функцийТо есть когда одна функция вызывает другую, то локальные переменные вызвавшей функции могут быть переданы в вызванную функцию.А когда управление передается из вызывающей функции обратно, то все ее локальные переменные пропадают.
>>688249> То есть когда одна функция вызывает другую, то локальные переменные вызвавшей функции могут быть переданы в вызванную функцию.> А когда управление передается из вызывающей функции обратно, то все ее локальные переменные пропадают.Можешь примером показать, пожалуйста?
>>688248Ну эт видимо локальная переменная функции print_twice. И видимо это её аргумент. То что в предыдущем стеке называлось cat передалось как brucedef print_twice(bruce):видимо так
>>688255Нивапрос.http://ideone.com/EVWXrQВ этой фиговине нарисуй для себя такую диаграмму в точках отмеченных как ## и ###
>>688275Пардон, вот этоhttp://ideone.com/GQ0LA4
>>688277Теперь я еще больше запутался.
>>688286Иди почитай про то как память в компах устроена и как процессор работает. Открой для себя факт что перемещать куски памяти пиздец как дорого, а аллокейтить лучше всего именно что стеком, ибо одно за другим плотно идёт. И деаллокейтится не образуя дыр. То есть стеку чтобы чёта разместить нужен только адрес вершины и никаких тебе йоба структур данных.Вообще нахуя тебе оно в питоне? Выбрось эту книжку, возьми попроще что-нибудь.
>>688286Распутался. Понял. Спасибо.Другой вопрос.> Напишите функцию right_justify (выровнять по правому краю), которое принимает строку s в качестве параметра и печатает ее так, чтобы оставить слева столько пробелов, чтобы последняя буква была на 70-й позиции..Как узнать, точно ли последняя буква на 70-ой позиции?http://ideone.com/7K9zwC
>>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
>>688309Делишь длину строки на 70 нацело.Получаешь число полных кусков по 70 символов в строке.Потом получаешь остаток от деления на 70 и вычитаешь его из 70.Получаешь число пробеллов, которые и выводишь перед последним, неполным куском строки, дополняя его таким образом до 70 символов.
>>687253Она замужем за альфачем и переехала в СШП.
>>688466Читал это ещё когда тред про неё был. Ты опоздал. Да и не альфач это, а просто всратый мажорчик, из которого она деньги и гражданство тянет.
>>688467Будто она мало зарабатывала.Будто после выступлений на всяких конференциях на западе и будучи бабой её не взяли бы на работу в США и так.
Запилил всё сам. Нахуя? Не знаю.>>684699 - кун
>>688469Таких софтик как говна.http://gtgnome.net/Плюс в любой ide и редакторах типа vim/emacs это встроено.
>>688470Знаю. Так не интересно. Зато теперь я могу перед школьниками хвастаться.
Дайте статью на русском по asyncio, futures и т.п.
>>688472Гугл даст.
>>688466Ничего не пойму, она действительно что-то знает или просто распиаренная пизда из-за выступлений на конференциях и её список знаний просто ложь?
>>688516Фиг знает на гитхабе у неё какие-то helloworld`ы какая-то чушь типа(https://github.com/lenadroid/lenadroid.github.io/blob/master/despair.js/js/despair.js). На конференциях я потыкал немного - пересказывает tutorial с оф сайта походу, при этом через жопу используя докер.
Посоветуйте, что написать на этих ваших питонах для освоения языка?Плюс в этом семестре проект на питоне надо будет сдать, хочу совместить.
>>688519Чот проиграл. Сам себя не похвалишь - никто не похвалитhttps://github.com/lenadroid/dotnetfringe.github.io/commit/6c6f45e531b17eef0ec22fab8aae81a930680342#diff-236a4950d125dab8b20b783f4fb5d08cR20
>>688536Баззвордами разговаривает. Правильно, наверное, так себя продать проще.
>>688529Напиши систему учета заказов/километража/оплат/рабочего времени диспетчера для диспетчерской какой-нибудь службы такси.Или для какой-нибудь умозрительной логистической конторы.
>>688546О логистике думал, да, спасибо.
Аноны, на дворе 2016-й год.Как думаете, не поздно ли вкатываться в пайтон для веба практически с нуля?>>688483 мой пост.
>>688559Учи яваскрипт. Фронтенд кодеры всегда нужны.Питон умирающий язык.
>>688559Поздно. Веб умрёт через 2 года.
>>688560> Питон умирающий язык.ну хоть и с моим вопросом уровня б, мне кажется что это не совсем так.> Фронтендты имеешь в виду верстку или что? яваскрипт в вакууме не используется. Он используется с html, css. То есть целый стек.>>688563инсайдер-кун, ты опять выходишь на связь?Вот фронтэнд умереть может, а бэкэнд нужен как для веба, так для мобилочек.
>>688565питон тоже в вакууме не используется надо дофига всего знать.нет, не верстку, а фронтенд программирование. плюс нода ещё есть.
>>688540> Баззвордами разговариваетhttps://lenadroid.github.io/hireme.htmlDoing any kind of complicated solution architecture, distributed cloud programming, high load and performance, big data analysis, data science, functional programming and machine learning.
>>688571> complicatedcomplex is better than complicated
>>688573No, simple and clear is better.
На удалёнку питоноджуном реально? 27 лвл, дохуя давно в айти кручусь, но программёром не работал уже лет 7. Умею питон3 + стандартную библиотеку + нампи + сайпи + пандас и чуть фласк/джанго. По баблу мне похуй совсем, если чё.
>>688612Расскажи свою стори, с чего начинал, что изучал и вообще все подробности, интересно послушать.А по теме: крайне маловероятно что-то найти по заданным критериям, только если в офис, пошерсти на hh вакансии, требования, сразу поймешь какой расклад щас на рынке.
Посоны, как в 'gtk' на кнопку поставить это: px = Gtk.IconTheme.get_default().load_icon("emblem-default", 64, 0)'Pixbuf' из 'gi.repository.GdkPixbuf' я импортировал.
>>688904В чем проблема то?
>>688904Делаешь gtk.Image() в нем дергаешь set_from_icon_name или set_from_pixbugДля кнопки делаешь button.add(image)
>>688904http://www.pygtk.org/pygtk2tutorial/ch-ButtonWidget.html#buttonfigВот как-то так можно. В gtk3 аналогично делается.
>>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)), но тоже не даёт.
>>688924умвр
>>688912О, заработало.
>>688884В универе быдлокодил на пхп-4. Даже без ооп, просто такой самый быдлокод из быдлокодов.Потом была пиздатая карьера в сфере далёкой от айти - уволили в 2012. С 12го вяло восстанавливаю карьеру, но с учётом крымнаш и прочей хуйни - решил взяться за старенькое что бы хоть кем-нибудь устроиться смог есличто. Вот с октября учу питон. Прочитал штук 15 книженций уровня нуб/нуб+, доставили больше всего Think Python, Питон и анализ данных, Core Python Applications Programmig, The Python Standard Library by ExampleВсё, в принципе.В вебдев пытался вкатиться - но что-то не идёт, а пока могу находить вещи которые туда-сюда интересные и получаются - решил себя не насиловать джангой, которую я не понимаю совсем, хотя думаю рано или поздно придётся вникать и в неё.Переезжать куда-нибудь не могу, в целом. А в моей мухосрани ничего нету.
>>688884К слову русская контора это было бы замечательно, но не обязательно. Английский знаю туда-сюда.
>>689002Не переживай, из русских контор тут (ДС) скоро останется мылорушечка и все что она успела накупить и отжать, и может быть яндекс. А я вот сейчас наблюдаю за происходящим банкротством уже второй компании, в которой довелось поработать. Хуево все, короче. Надо переквалифицироваться в индуса.
Пожалуйста, объясните ньюфане, зачем юзать map, apply, reduce когда все это можно записать в виде генератора списков?
>>689016Да не, в ДС дохуя контор. И крупных и мелких.Мелкие часто банкротятся и раньше банкротились и новые появляются, это нормальный процесс.
>>689025>map, apply, reduceЯвное лучше неявного и простое лучше сложного.Чем каждый раз городить одну и ту же плохую реализацию на генераторах проще добавить в стандарт.
>>689025Незачем. Если тебе надо одну функцию применить, то map бывает удобней иногда типа map(str.strip, list_of_strings)Или filter(None, somelist)apply вообще Deprecated since version 2.3reduce редко бывает нужен совсем.
>>689016Ты же утрируешь? Скажи что утрируешь! У меня ёбанная паника от твоего поста. Серьезно, хуёво стало. Парни и девочки, он же неправ, да?
>>689092Тебе все советовали перед любым языком программирования выучить английский. Выучил бы - похуй бы было. Апворк или удаленка и ебись оно все конём
>>689098Говно этот ваш апворк
>>689092Айти не самодостаточно, оно живет за счет вливаний из реального сектора. Прямых или косвенных. Сейчас реальный сектор страдает и в первую очередь экономит на айтишых выебонах, рекламе (которая тоже в этих наших интернетах) и потом уже своих работниках.
>>689102Кто бы спорил. Работать вообще не самое пиздатое в жизни
>>689030Да и reduce тоже убрали и в functools закопали.
Стоит ли создавать в гитхабе мегарепозиторий со всякими маленькими проектами? Какую структуру лучше использовать?
>>689517> Какую структуру лучше использовать?trunk/branches/tags/https://ariejan.net/2006/11/24/svn-how-to-structure-your-repository/
>>689518>trunk>branches>tagsСвежесть дедушкиной мошонки.
ps = Popen('ls', stdout=PIPE, stderr=PIPE)out, err = ps.communicate()Какой тип будет у out, string или [string], если это массив то есть ли там символ перевода строки?Как в общем случае такую информацию получить?
>>689562str
>>689562> Как в общем случае такую информацию получить?1) читать документацию2) запустить это в интерактивном режиме и посмотреть какой type(out)
>>689568>type(out)то что нужно>читать документациюБез обид, но документация python - говно
>>689571у питона отличная документация ты видимо не сталкивался с проектами где документация действительно говно или вообще отсутствует.Плюс есть docstring`
>>689573Беру свои слова обратно, я смотрел онлайн документацию
>>688529П А Р С Е РАРСЕРБольше на нем никто и ничего не пишет
>>689616Мне надо к самому какому-либо аппарату прикрутить сайт и базу данных. Парсер, очевидно, не подходит для этих целей. А пилить имиджборду на питоне, как в одном гайде, мне западло.
>>689573Двачую, документация что надо. Еще и собрана в одном месте и рассортирована по версиям.
Анон, что с django 1.9 почему, она ищет вместо base.html другое имя коренного шаблона?
Господа, а вот раньше был google code search, как очевидно из названия - поиск по сорцам из открытых проектов. Но он сдох. Кто-нибудь чем новым пользуется? Я потыкал альтернативы - ну просто феерически наркоманские интерфейсы, никакующие фильтры ну и вообще не оче.
>>689655А все разобрался, ебать я наркоман.>>689517Алсо на гитхабе дизайн сменился, где там поиск теперь?
>>689712Там же где и был, строка сверху.
>>685693DRF же + django-mailing, gunicorn, fabric (или какой-то его форк для 3.x, забыл название).Не мастхэв, но часто приходится юзать django-push-notifications, python-social-auth/django-allauth, drf-nested-routers.
Можно подружить renpy с pycharm? А точнее .rpy
>>690126Логика подсказывает что можно. В чем проблема то? И по пакетам пайшарма пройдись.
>>690149>пайшарма
>>690149В том что синтаксис у ренпая другой. По пакетам прошелся, и в гугле прошелся.
Немножко брандербурха не по теме.Хочу помесить кнопку в нижний правый угол дива, сделал:position: relative;bottom: 0px;right: 0px;При "position: absolute;" как и ожидается, кнопка едет в нижний правый угол страницы, но при "relative" эта ебала не работет, и вопрос не почему, а кто придумал эту ебучую даунскую ксспарашу?
>>690168Фронтенд - свалка исторических костылей, где ни одна технология не оказалась по причине своей годноты. Используешь технологии фронтенда - жрешь говно.
Недавно тоже столкнулся с фронтэндомВ последний раз верстал чего руками году эдак в 2006м, и тогда жс был нужен ровно в объёме 5 строк просто что бы переключать картинки бля.А сейчас влез и охуел. Прям реально опизденел с этого всего куда оно скатилось.
>>690168А схуяли они должна ехать в угол при относительной позиции? Ты доки хоть осилил? Сдаётся мне,>ебучая даунская парашаЭто не технология, а твоя необучаемость.
>>684010 (OP)Шалом. Учусь кодить на пистоне и параллельно пытаюсь писать скрипт для вк. Столкнулся с проблемой: мне необходимо получить "списки" типа "user: group, group, group, group; user1: group, group, group, group; etc". Как это можно реализовать?
>>690426https://vk.com/dev/methodsUrllib, json. Дальше сам.
>>690435Я использую https://pypi.python.org/pypi/vk/2.0.2Смотри что я пытаюсь сделать:import vksession = 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 = 0for 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и не могу сообразить каким образом это сделать. То-есть я понимаю как сделать проверку, но не могу сообразить как сохранить информацию в нужном мне формате.
Питоны-питончики, а в чём прикол первого варианта в моём примере? Он вообще в каких-то случаях бывает удобнее/полезнее, чем второй?http://ideone.com/NbeXBO
>>690438
>>690438Я нихуя не понял. Чего ты хочешь добиться? Получить список пользователей, каждый из которых состоит в списке заданных групп?
>>690441Да.
>>690441В общем я хочу очистить группу от людей подписанных на мдк, падик, и прочий ЗШ.
>>690439Несусветная хуйня какая-то, откуда ты такое вообще нарыл? В чём проблема d['x'] += 1 сделать?Для статик метода лучше декоратор использовать, ты кошернее.
>>690442Создаешь словарь с user id в качестве ключа, значения - пустые списки, проходишься по по списку нужных групп, вызывая эту хуйню api.groups.isMember, проходишься по результату, добавляя в словарь номер группы, если test['member']==1, вроде result[id].append(group_id). Понел? (я эту либу не юзал, если че)
>>690445Но в словаре у ключа может быть только одно значение или нет?. Во всех примерах что я нахожу записывается так:>>> d{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
>>690447А у тебя список значением будет. Хуле нет? Значение может быть мутабельным, ключ -- нет.Бля, ты даже основ не знаешь, а лезешь в васянские либы. Нахуй так жить?
>>690450>Бля, ты даже основ не знаешь, а лезешь в васянские либы. Нахуй так жить?Если я не практикуюсь - то мгновенно всё забываю.>А у тебя список значением будет. Хуле нет? Всё равно я нихуя не понял. Сделай пример кавычками.
>>690452Такой пример устроит?d[k]=[]
>>690454Охуенный пример, я сразу всё понял. на самом деле нет
>>690458А! Допёр.>>> a = {123:['abc', 'def'], 321:['ttt', 'eee']}
>>690459http://youtube.com/watch?v=oyFQVZ2h0V8
Анон, задам ньюфаговопрос.Я дочитал Доусона, т.е. более или менее ознакомился с базовыми вещами, и пришло время практиковаться. Поскольку я хочу катиться в сторону бекенда - решил в качестве практики попробовать начать делать какие-нибудь вебстранички, начиная с простеньких. И понял что не знаю как вообще соединять питон и веб.Что прочитать по питону в веб и как вообще начать?
>>690630Документацию по tornado, aiohttp.
>>684010 (OP)Сажи за омерзительный оппик.
>>690809Удваиваю. ОП-хуй.
>>690630До веба тебе имхо рановато, после одного Доусона-то. Но дело житейское, конечно."2 Scoops of Django" и "Test-Driven-Development for web programming" по Django - годнота из годнотЕщё мне понравилась глава о джанге в "Core Python Applications Programming"Туториалы годные - официальный и Django Girls. Возможно с последнего стоило бы и начать, что бы сразу получить представление что за хуйню ты собираешься в итоге получать ковыряясь в джанго.По веб2пу (который возможно бы имело смысл глянуть после питона до джанго) всё совсем просто, прямо на уровне прошёл туториал - вкатился.По фласку специальной литературы я немного видел, но не трогал. После веб2пу наполовину интуитивно вкат идёт.
>>684377не пробовал с 1ЭСкакрусская, а с птичкой отлично работает, нужно pip install fdb и установить клиент firebird с оффсайта, если в PyCharm хочешь базу подключить, то еще нужно драйвер jdbc скачать, опять же с офф сайта firebird
Пишу чатик на сокетах + ткинтер. Если сокет не блокирующий, то я просто поток данных ловлю? Чет запутался, как постоянно слушать/принимать сообщения и крутить в ткинтере. Tk.after() ??? Направьте плиз, код не могу пока скинуть ,я с телефона.
Всем привет! Я только начинаю работать с джанго, но уже возник затык. В templatetag нужно обращаться к кукиз, кукиз можно взять из реквеста, но реквеста в контексте нет!Перепробовал все шаманские способы из стака, ничего не помогает. Как это можно разрулить?
Пистонисты, почему у вас в шапке не написан минимум знаний для начала работы?
Подскажите новичку, как под виндой изящнее решать вопросы архивации файлов, есть что-то удобнее zipfile?
>>6911367zip
>>691127Уверенный пользователь пека + ангельский.
>>691175Это чтобы стать тем самым 300к в час фрилансером?
>>691178И годы боли и унижений.
>>691062Нужно использовать мультитрединг, pyqt + quamash + asyncio или поочереди вызывать лупы гуя и сети.
>>666666
>>691266>>691267
>>691268>>691267>>691268>>661268>>666268>>666668>>666666
Можно ли в Gtk назначить focus_chain для глубоко лежащего виджета, не назначая при этом фокус для всех родителей?
>>691127Потому что на питон работы нет азаза
>>691336Рабист закукарекал.
http://stackoverflow.com/research/developer-survey-2016Раби как всегда на дне, даже ниже чем обычно.
Няшы, подскажите книг/сайтов для долбоебов, где можно обмазаться питоньими регулярочками? Вроде чужое понимаю, а сам не могу написать.
>>691717https://docs.python.org/3/howto/regex.html + https://docs.python.org/3/library/re.html
>>691717>чужое понимаюЛол. Я свое понять бывает не могу.Вбей в гугл regular expression online и поиграйся. Можешь еще дописать типа database или snippets и тоже полистать. Это точно работающий путь.Еще в Core Python Programming их туда-сюда объясняли, мне понравилось но выучил я их до этого
>>691736Ну, не то, чтобы понимаю, как это работает, но понимаю, что нужно скопипастить, чтобы сделало что-то.
Тут кто-нибудь умеет в джанго?
>>691746Нет.
У меня есть тупой нубский вопрос на который гугл не может мне ответить
>>691749Ясно.
Как достать сессии в Templatetag?
>>691162Я не пойму, ты клоун или клоун?
https://github.com/TheKnightsWhoSayNi/info/wiki/Yoba-guide-k-yspexy будет дополняться?
>>691840Дополню как только приду.
>>691840Пиздец, не знал что у нас столько страниц в вики. Я думал только одна.
Ну что, педики, признавайтесь, кто был на мейлрак питан митап.
>>691293Бамп
>>691984Да никто не был, тут одни хекки. Ну может ты один.
>>692055Да, я, к сожалению там был.
>>692061Ну и как? Сплошной самопиар и советы от капитана очевидности?
>>692062Отсидел два доклада из трех. Ничего инновационного, интересного. Первый доклад обзорного типа, второй реклама юпитера.
Посоны, поясните за бэкенд расклад.Написал один скрипт, крутится в бесконечном цикле, отсылает инфу на сайт. Как принято заворачивать всё это дело, шоб можно было мониторить там нормально, при падении самовосстанавливать и всё такое?
>>690460Братишка, я всё равно нихуя не понимаю. Чому он полностью переписывает словарь, вместо его обновления?http://dpaste.com/0R2D46R
>>692247Потому что у тебя append никогда не выполняется
>>692249Так его нужно использовать не только для добавления значения к уже существующему ключу, но и для добавления нового ключа:значения?
>>692250А нет, с добавлением у тебя все верно, это я тупанул. У тебя просто словарь переписывается (строка 29) в каждой итерации for element in testUsers, т.е. для каждого юзераПопробуй так - http://dpaste.com/3KHM462 будет полный словарь по всем группам и юзерамИли воткни zashquaredList = {} после for element in zashquaredGroups, будет после каждой группы сбрасываться.Алсо, что у тебя там за пустые айдишники? group_id=''? Мне vk на них еггогами сыпал, пришлось мдк воткнуть.
Давайте что-нибудь вместе запилим
>>692252>Алсо, что у тебя там за пустые айдишники? group_id=''? Мне vk на них еггогами сыпал, пришлось мдк воткнуть.listOfMembers = api.groups.getMembers(group_id='', count=500, offset=offset)?Это айди группы из которой происходит выгрузка пользователей. https://vk.com/dev/groups.getMembers
>>692255Но почему оно у тебя пустое?
>>692256ДЕАНОН@ТРАВЛЯУдалил. Только что скрип отработал, всё ништяк. Спасибо за помощь.
>>692110Бамп вопросу.
>>692110Сделай systemd unit же. Там ini-like файл в 5 строчек получится. Он и запускать будет, и мониторить, и логгировать, и перезапускать в случае падений.
>>692110monitsupervisord
>>692263>>692264Спасибо, няши.
>>692258В общем то всё хорошо кроме ЕБУЧИХ РАЗРЫВОВ СВЯЗИ. ААААААААААААААААААААААААААААААА АААААААААААААААААААААААААААА БЛЯТЬ!!! АААААААААААААААААААААААААА
>>692253Что например?
>>692110скрипт на шелле, который при падении заново запустит:#!/bin/bashwhile :; do python3 run.pydoneну а чтоб мониторить, внутри своего питоновского скрипта пиши в log.txt что хочешь
>>692397Десять костылей из десяти.
Пишу прилу для ВК АПИ под питоном, использую https://github.com/dimka665/vk. Есть такой метод https://vk.com/dev/messages.getHistoryAttachments, он иногда выдает next_from. Либа выдает только items. Исправив одну строчку в самой либе, теперь items обернут в response, но next_from получить не удалось. Так как же получить этот самый next_from?Мой кодimport vk,logginglogging.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')
>>692399зато при переносе на машину клиента не нужно всякие мониторщики объяснять как настраивать. я с заебался, так проще
>>692406systemd есть везде.
>>692416Дистрибутивы, в которых systemd установлен по умолчанию:Debian GNU/Linux версии 8 Ubuntu 15.04 и позже Fedora 15 и позже[13]Mageia 2[14]Mandriva 2011[15]RosaopenSUSE 12.1 и позже[16]Arch Linux 12.11[17][18][19] (предоставляет возможность использования как самописной системы инициализации (более не поддерживается[20]), так и любой другой (также без официальной поддержки со стороны дистрибутива))Sabayon 13.08[21]
>>692418Не вижу цетоси и красношапки, а должны быть. Но даже в оплоте анти-systemd - генте - теперь systemd. Короче, везде.
Ищу 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
>>692318Фильм снимем
>>692722Чур я на белом коне.
>>692722Снимай портки.
>>692421Может он и правда хорош?
>>692724Если коня найдёшь, то пожалуйста.>>692725Я тут режиссёр, поэтому ты снимай. (Автор этого поста был забанен. Помянем.)
>>692730Ага, а УЗКАЧИ носят потому-что это удобно.
>>692735Ты тут хуй. (Автор этого поста был забанен. Помянем.)
>>692736Кто такие узкачи?
>>692739
>>692741Меня мама в детстве заставляла колготки носить, поэтому теперь я ношу только ШИРОЧИ
>>692741Но от той бирюзовой жопы слева внизу я бы не отказался.
>>692743>я ношу только ШИРОЧИДеревенщина ебаная. Вся прогрессивная молодёжь ходит в узкачах.
>>692736А нормально аргументировать за недостатки, перевешивающие преимущества, можешь?
>>692746На яйца давит.
>>692746Я привожу аналогию. Что за systemd - то я, как юзер, вообще не заметил разницы.Debian Jessie.
>>692318Проект
>>692754Да нинужон он ваш проект, понятно?
>>692756Кому нинужон то?
>>692759Никому.
#500 пилит перекат
>>692761Чому ето?
>>692778Ну а кому он нужон?
Братишки, что за хуйня с импортом?Поставил себе vk api через pip, в интерпретаторе все заебись импортируется и запускается, а когда запускаю тот же код из скрипта, то все валится на второй же строке, сообщая мне о том, что у vk нет метода Session(). Как пофиксить?import vksession = vk.Session()Да, стоит Anaconda x64 с python 3.5.1
>>692796Какая версия модуля vk?
>>6928082.0.2
>>692811Замени на session = vk.AuthSession(app_id='', user_login='', user_password='')api = vk.API(session)
>>692747Покупай по размеру, аутист.
>>692814Такая же ошибка, только уже с AuthSession.Повторю, что пошагово через сосноль все работает: dir(vk) возвращает атрибуты, в числе которых Session, API и прочая хуйня. А вот скрипт возвращает только стандартные атрибуты.
>>692253Ты блядь даже не знаешь что запилить, а уже спрашивашь. В твоей голове пустота и рак, чернь ебаная, черви, двачинки нахуй, о чем мне с вами говорить, вы же все мрази блядь, с вами невозможно по-человечески. Запилим проект блядь, а стартпачик тебе не намутить, может переписать на тебя потом долю в IPO? Да ты же раковать на двощах только и умеешь, выблядок сраный, пользуешься чужим говном и ничего сам не создаешь, при первом же случае кинешь нахуй, в пизду такое отношение блядь, никогда я нахуй больше не буду иметь с такими дело, никакой блядь ответственности и головы на плечах, лишь бы пораковать и поугорать, да пошел ты нахуй, червь-пидор, я не для тебя учился программировать, запилить проект он блядь хочет, охуеть теперь.
>>692709Вы кто?
>>692854Пили перекат
>>692854>больше не буду иметь с такими делоБыл опыт с анонами?
>>693065 (OP)Переполз.
Проблема с логгированием и pybrain. В общем, есть примитивный код: http://pastebin.com/wcEhadUmИ, собственно, какого чёрта импорт pybrain'а влиет не только на существующие, но и вообще на все новые логгеры? Как так-то, блин?!Там в нём есть напрямую вызовы logging.warn(...), которые, вроде как, и есть проблемные места (в рут логгер, что ли, добавляется дефолтный хендлер, который вызывается всегда, так как является "родителем" всех логгеров полученных через менеджер). Но что это за бред-то, блин? Единственный способ получить чистый, личный логгер - это напрямую l = logging.Logger('mojo'), но тогда он в менеджер не запишется и я из другого модуля не смогу его через getLogger получить никак (создастся новый).Что я не так делаю-то, как мне быть? Хочу логгер через getLogger, но без "чужого" мусора в нём.
>>684414Вот за это я и люблю лжедвач!
>>693155Собственно, вот это можно запустить для иллюстрации проблемы (на идеоне не работает logging) — http://ideone.com/8p6md2
Найдётся ли тут Антон, который шарит с многопоточкой?
>>693195Нет. Пиши вопрос и тебе, возможно, ответят. Тут не биржа личных консультантов.
>>693198Понял, сча всё будет
Задача: генерация текстового файла больших размеров (>200Мб, как минимум) забитого рандомными строками.Сделал однопоточную версию программы, она думала его генерировала порядка 30 минут (300 Мб).Прочитал, что операция записи на диск дорогостоящая по времени, чтоб записывать по одной строке, поэтому стал добавлять по блоку в 2Мб в файл.Стало быстрее...Немного.Решил использовать пул потоков, для создания этих блоков.Но, написанный код всё равно выполняет их по очереди, и по этой же очереди записывает профита нет.Что в этом участке надо пофиксить, чтоб оно генерировало одновременно в нескольких потоках, а потом записывало в файл?
>>693219быстрофикс:немного неполная картинкаколичество блоков гораздо больше количества процессов в пуле. Количество процессов я поставил = 10.
>>693219Во-первых, стоит сначала найти проблемное место. Что-то мне подсказывает, что это не запись занимает полчаса, а генерация. Threading для cpu-bound задач не подходит, тут multiprocessing нужен.Какой бы дорогостоящей операцией запись ни была, даже 100 вызовов никак не будут влиять на общее время, если оно у тебя в минутах исчисляется, а быстрее скорости диска писать, естественно, ни треды, ни процессы не помогут.http://pastebin.com/EqzMd02KTotal time: 6.567Chars: 62914560File size: 251658240Generation time: 2.931Writing time: 3.618
>>693250Ну а затем замечаем, что генерация занимает меньше времени, чем письмо, и тут-то уже мультитрединг и можно подрубить: пока генерируется новая часть, предыдущую пишем.http://pastebin.com/9W6nYz4e (могут быть мелкие ошибки, перепечатывал вручную, т.к. запускал на другом компьютере, без доступа к двощам)Total: 6.332Generation time: 2.910Writing time: 6.125
>>693255А, ну и от multiprocessing'а толку уже никакого тоже не будет (в моём случае, по крайней мере), т.к. ~97% занимает запись на диск.Если у тебя сэсэдэ, можешь поиграться.
>>693259Впроче, если у тебя ssd, То и процессор вряд ли core2duo, лол.Простите за получившийся односторонний чятик.
>>6932602чая тебеи 40 девственниц сейчас буду разбираться в твоих кодах
Что учить после основ питона?Что кодить? Как побороть апатию и уныние?
>>693282>Что кодить?why not?http://www.checkio.org/
>>693282Соус?
>>693327Что это? Зашел, сайтик красивый, а в чем суть?
Надеюсь, я нашел верный тред.Господа, у меня вопрос.В питоне и джанго я новичок. Но умею программировать на си++( не полный нуб в программировании, короче).Собственно, вопросов у меня даже два.1) Какую иде поставить для питона+джанго на убунту?2) Какие есть хорошие учебники, желательно на русском?Жду ответов.
>>6934071. Заходишь в форму для регистрации.2. Регаешься.3. Жмёшь на один из активных островов(Home/Elementary, там простые задания)4. Выбираешь задание(палочками, с правой стороны, показана сложность).
>>6934355. Читаешь задание(в самом низу есть подсказки\пояснения), если оно тебе нравится - переходишь к выполнению.6. Собственно окно в котором ты пишешь код\вставляешь готовый. Try It - проверка твоего кода с заданным значением. Run&Check - проверка твоего кода с различными данными из задачи, ну и вывод результата: ___1. Всё хорошо.___2. Ошибка в строке %name%___3. Ошибка при проверке результа %value%7. Если всё хорошо.
>>6934191. PyCharm Community Edition (https://www.jetbrains.com/pycharm/download/#section=linux).2. Саммерфилд и\или Лутц(4-ое издание) - это по пайтону.
Подскажи, что не так, Анон?
>>693469у тебя функция ничего не возвращает
>>693484
Объясните, почему перебор по символам, а не по элементам?
Как в пайчарме файл .kv подключить к файлу .py?
Начал читать Укус Питона. С чем в паре его использовать для практики? checkio пойдет?
https://2ch.hk/pr/res/693723.html - перекат.
https://2ch.pm/pr/res/693065.htmlhttps://2ch.pm/pr/res/693065.htmlhttps://2ch.pm/pr/res/693065.htmlhttps://2ch.pm/pr/res/693065.htmlhttps://2ch.pm/pr/res/693065.htmlhttps://2ch.pm/pr/res/693065.html