- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
def run(self):
count = 0
while True:
if count < 5:
self.saveUsers(self.queue.get())
count += 5
else:
GlobalConfig().setUsers(self.db.selectUsers())
count = 0
self.db.close()
bormand 19.12.2012 17:06 # +1
P.S. А бул и правда не нужен:
Vindicar 19.12.2012 19:09 # +1
Правда, self.db.close не выполнится ни при каком раскладе.
А если queue - это синхронная queue, умеющая приостанавливать поток, то и базу особо насиловать не будет...
Dummy00001 21.12.2012 19:55 # +5
то как оно сверху оно конечно сафсем гавно, но знаю пару челов которые такое спокойно напишут с switch/case'ом и count'ом прыгающим между 0 и 1. если их спросить "ы?" как правило отвечают "а вдруг еще что-то надо будет в цикл добавить."
в общем, я думаю что это уже второе поколение программистов растет которое не умеет пользоватся машинами состояний. позже они их сами изобретают - и код вырождается в нечто подобное вышеописанному.
Nemoden 24.12.2012 08:38 # 0
anonimb84a2f6fd141 01.04.2013 19:40 # −3
Vindicar 03.04.2013 15:57 # 0
Для нелюбителей есть возможность передать аргументы телу потока.
anonimb84a2f6fd141 04.04.2013 21:42 # −1
Для параметров есть дополнительные параметры args и kwargs. Наследование Thread - явоидное говно, связанное с тем, что java cannot into closures. В фитоне не нужно. Назовите хоть одну причину, зачем это нужно.
Vindicar 05.04.2013 10:50 # 0
Навскидку: в нескольких точках программы создаем однотипные потоки. Можно вынести код создания потока в функцию-фабрику, а можно отнаследоваться и задать параметры потока (например тот-же daemon) в конструкторе.
Или если поток должен работать со слабой ссылкой на внешние данные, то при передаче параметров эту самую ссылку придется создавать вызывающему, а при наследовании эти данные можно бросить как есть конструктору: он создаст слабую ссылку, сохранит в поле, а его собственная сильная ссылка исчезнет, когда конструктор завершит работу.
Вообще я применяю оба подхода: стандартный Thread для разовых действий, наследование для ситуаций с несколькими однотипными потоками-worker'ами.
3.14159265 05.04.2013 15:10 # +1
anonimb84a2f6fd141 05.04.2013 20:08 # −1
anonimb84a2f6fd141 05.04.2013 20:10 # −1
Кстати, можно было бы писать
если бы в питоне лямбды нормально работали.
Vindicar 06.04.2013 18:26 # 0
3.14159265 05.04.2013 15:19 # +2
Да ну как это?
http://rghost.ru/45060024.view
bormand 05.04.2013 16:43 # 0
Это в версии 1.8?
roman-kashitsyn 05.04.2013 16:44 # +3
bormand 05.04.2013 16:50 # +1
? превращает в
roman-kashitsyn 05.04.2013 17:03 # +2
bormand 05.04.2013 17:06 # +1
Упс, спалился. Вредно писать в одно окно код, а в другое говнокод. Языки начинают влиять друг на друга.
defecate-plusplus 05.04.2013 21:51 # 0
я это тоже подметил, но не стал спугивать клиента
один уже по уши в крестах, другой измазался в православном стиле
так победим!
TarasB 05.04.2013 22:31 # +2
defecate-plusplus 05.04.2013 22:48 # 0
и только некоторые сатанисты прелюдно порицают, но сами продолжают брезгливо этим заниматься на скотном дворе, в говне, с гандонами из свиной кишки, и походу, гордятся этим
LispGovno 05.04.2013 23:15 # +1
крестоносцы начали крестовый поход во имя веры
они несут её в массы
roman-kashitsyn 05.04.2013 23:16 # +2
anonimb84a2f6fd141 05.04.2013 20:07 # −2
Ололо жавамакаки, им язык нормально писать не дает, так они придумывают свои define с замыканием на одну ide.
3.14159265 05.04.2013 20:11 # 0
Это фолдинг обычный.
> им язык нормально писать не дает
Иди лучше продолжай портировать на 3-ю версию.
anonimb84a2f6fd141 05.04.2013 20:18 # −1
Похуй, что это, главное, что работает в одной IDE.
>Иди лучше продолжай портировать на 3-ю версию.
Да у тебя же C#.
А мне лично ничего своего портировать не надо. Тут у других проблемы есть, вроде того, что в XBMC стоит питон 2,6 и попробуй этих макак уговори хотя бы 2,7 поставить, чтобы json искаропки был.
3.14159265 05.04.2013 20:20 # 0
С чего ты взял?
В NetBeans тоже похожее запилили. В эклипсе плагин есть.
>Да у тебя же C#.
У меня обратно совместимая Java. Именно шарперам и надо больше остальных думать о установке новых .net.
3.14159265 05.04.2013 20:28 # 0
Фолдинг можно настроить в любой среде, даже в notepad++.
http://lambda4jdt.googlecode.com/files/screen2b.gif
anonimb84a2f6fd141 05.04.2013 20:32 # −8
Пофиксил. Трахайся дальше.
----
А, так фолдинг - это просто скрытие "нинужного" текста? Жавамакаки, по костыльности вы уделали, все, что я до этого знал.
Если тебе посреди квартиры насрать, то ты газеткой накроешь и будешь вокруг ходить? Ололо, ололо.
3.14159265 05.04.2013 20:46 # 0
>А, так фолдинг - это просто скрытие "нинужного" текста
Омг. На говнокоде только что было совершено эпохальное открытие!
А когда пифон из одной строчки тебе сгенерирует тормозную кучу нативного говнокода, ты тоже туда лезешь дизасмом и смотришь?
anonimb84a2f6fd141 05.04.2013 21:33 # −4
Любая макака должна понимать, что у языков есть сфера применения и работу с бинарными данными фитону лучше не доверять. Однако, пока в жабе думали, что поддержка foreach, появившегося в 2004 году, нинужна, фитон с 2004 развился очень и очень сильно и вообще стал похожим на язык, а не на нагромождение дико текущих абстракций, которые без знания деталей реализации невозможно понять. А вот жавоиды до сих пор в стазисе сидят.
3.14159265 05.04.2013 21:55 # 0
>Любая макака должна понимать, что у языков есть сфера применения
Этот аргумент применяется обычно когда маячит слив в споре.
И в данном случае действительно бессмысленно сравнивать динамику со статикой. Думаю ты и сам это понимаешь.
anonimb84a2f6fd141 05.04.2013 22:23 # −2
Где замыкания?
Где лямбды?
Где литералы для хеш-массивов?
Классы - не first class object.
Кое-кто до сих пор принципиально не поддерживает foreach, появившийся в 2004.
Где хеш-аргументы?
Где switch с любым хешируемым типом (о да, string захуярили в 1,7, говоришь? когда это было)?
Где properties? Геттеры/сеттеры генерировать не заебешься?
>И в данном случае действительно бессмысленно сравнивать динамику со статикой. Думаю ты и сам это понимаешь.
Отлично, половина из вышенаписаного есть в C#.
roman-kashitsyn 05.04.2013 22:31 # +5
Когда уже из питона GIL выпилят?
anonimb84a2f6fd141 06.04.2013 08:08 # −1
Уже достигли максимального отступа?
bormand 06.04.2013 09:54 # +3
Чтобы распараллелить питоний код просто перепишите его на си.
anonimb84a2f6fd141 06.04.2013 21:34 # −1
Пардон, а чего ты хочешь от динамического языка? Скорости? Питоний код тормозит так, что параллелизацией не всегда спасешься. И да, проблема есть, но мне лично не мешает - я на нем хайлоад не пишу. Для хелловорлда по всякому лучше явы.
3.14159265 06.04.2013 16:51 # +1
>Где лямбды?
С 96-го года. Называется anonymous class.
>Кое-кто до сих пор принципиально
Кто?
>не поддерживает foreach, появившийся в 2004.
Какой foreach?
>(о да, string захуярили в 1,7, говоришь? когда это было)?
Зря кстати.
>Где switch с любым хешируемым типом
Не нужен. Нужен нормальный свитч с диапазонами.
>Где properties? Геттеры/сеттеры генерировать не заебешься?
Сахар. Не нужно.
>Отлично, половина из вышенаписаного есть в C#.
Всё, и даже больше есть в скала.
Кстати он (mono) по скорости сливает не только JVM, но даже компилированому js.
anonimb84a2f6fd141 06.04.2013 21:31 # −1
КОСТЫЛЬ. Слив #1
>Кто?
http://forum.vingrad.ru/index.php?showtopic=348566&view=findpost &p=2474183
На, сосни.
>Зря кстати.
Ну вот и пушка. Как на рнр сидят нубы, так на яве сидят тормоза.
>Не нужно.
Это линуксоидное "кококо нинужно", когда нинужен, например, флеш и другие вещи, которых нет или они работают хуево?
>Всё, и даже больше есть в скала.
Функциональное говно. Вот оно как раз не нужно.
3.14159265 06.04.2013 21:48 # 0
И что это значит?
Ссылка на какой-то говнофорум в качестве пруфа.
>Это линуксоидное "кококо нинужно"
Тебе объясняют что такой свитч не нужен (хоть даже его сделали, я не пользуюсь - какой-толк?)
Нужен по диапазонам. А вот его как раз нету.
anonimb84a2f6fd141 07.04.2013 00:41 # −2
>Ссылка на какой-то говнофорум в качестве пруфа.
Дыбилушка, может ты пойдешь туда и почитаешь? Или тебе няньку приставить надо, чтобы за тбя читала?
>Нужен по диапазонам. А вот его как раз нету.
Где мне это обьясняют?
> я не пользуюсь
А вот это многое обьясняет. Хочешь свой язык с блекджеком и шлюхами - пили его сам.
3.14159265 06.04.2013 21:59 # 0
>>Функциональное говно. Вот оно как раз не нужно.
Ты явно сумашедший.
anonimb84a2f6fd141 07.04.2013 00:39 # −4
3.14159265 08.04.2013 14:28 # 0
В чем костыль? Одни "ололо" и "кококо" ни одного аргумента.
> слишком функциональное говно.
Это эмоции. Каков четкий критерий между "слишком" функциональным и "не слишком"?
3.14159265 06.04.2013 16:58 # 0
Я так до сих пор и не услышал внятного ответа на свои вопросы и вообще какой-либо логики.
Вы сейчас напоминаете мне гуру питона, который объединил в одном посте "джава-хуесосов" и "Apache Hadoop".
anonimb84a2f6fd141 06.04.2013 21:32 # −1
3.14159265 06.04.2013 21:45 # 0
Что в яве "нинужно"? foreach? Или лямбды?
К чему ты вообще упомянул 2004 год?
anonimb84a2f6fd141 07.04.2013 00:42 # −2
anonimb84a2f6fd141 07.04.2013 23:26 # −4
3.14159265 08.04.2013 16:04 # 0
По крайней мере в яве он работает адекватно.
Вот тебе foreach по массиву! Вот тебе замыкание в бороду! Вот тебе сишарп под ребро!
http://ideone.com/5jaP3s
>Прочти по ссылке выше
Не нужны мне что кто-то где-то в интернете что-то сказал.
Это чужие мнения. Не надо за них прятаться.
Если ты знаешь проблему foreach - приводи пример.
anonimb84a2f6fd141 08.04.2013 18:36 # −4
http://forum.vingrad.ru/index.php?showtopic=348566&view=findpost &p=2474183
3.14159265 08.04.2013 18:47 # +2
Твой foreach соснул:
>http://ideone.com/5jaP3s
Рекомендую сделать то же - работающий пример на ideone или lws.
anonimb84a2f6fd141 02.05.2013 22:13 # −2
LispGovno 03.05.2013 09:31 # +1
http://ideone.com/8jXdm1
Просто нужно знать эту особенность.
anonimb84a2f6fd141 03.05.2013 11:49 # −2
3.14159265 06.05.2013 11:11 # 0
Да нихера ты не понял.
>http://ideone.com/5jaP3s
>http://ideone.com/8jXdm1
Два одинаковых замыкания, а работают по разному.
В яве вот кода больше, но сразу понятно что происходит.
Отсюда повторяю изначальную мысль, которую пытался донести сверху треда: лучше иметь свёрнутый код, и возможность посмотреть как оно внутри, чем такой убогий и неочевидный for-each.
anonimb84a2f6fd141 06.05.2013 14:18 # −2
anonimb84a2f6fd141 06.05.2013 14:24 # −2
3.14159265 06.05.2013 15:46 # 0
Проблема ровно одна: ты долбоёб с пафосом рассуждающий о замыканиях и for-each.
И в тоже время не можешь разобраться с простейшим примером.
Проблема в (замыканиях+foreach)
Не насторожила переменная j во втором примере:?
>Позднее связывание, как в питоне?
Но там-то введение дополнительной переменной никак не меняет картину:
http://ideone.com/lS5DWl
anonimb84a2f6fd141 06.05.2013 17:23 # −5
В сисярпе я не пиздец как силен.
guest 05.04.2013 21:11 # +3
Фолдинг есть даже на говнокоде!
3.14159265 06.04.2013 17:04 # +2
Конечно. Убирать говно я не буду. Его надо оставить чтобы натыкать туда носом того кто насрал.
Накрою газеткой, потом найду того кто это сделал и заставлю убрать.
Наверное это твоё, вынужденное по жизни терпильское занятие - убирать чужое говно. Гы-гы.
Вот ты обосрался с фолдингом, этого никто убирать не будет, но я буду тыкать тебя лицом в твои же фекалии, как шкодного кота.
>А, так фолдинг - это просто скрытие "нинужного" текста?
http://govnokod.ru/12855
Ну вот, собственно фолдинг во всей красе.
anonimb84a2f6fd141 06.04.2013 21:25 # −1
>http://govnokod.ru/12855
>Ну вот, собственно фолдинг во всей красе.
И нахуя ты это здесь запостил? Скажи пожалуйста.
3.14159265 06.04.2013 21:43 # −1
Твоё унылое питоньё говно прикрыли. Чтоб не воняло. Понятный даже идиотам пример приносимой фолдигом пользы. А вот еще один:
http://govnokod.ru/12317#comment174366
>И где же я обосрался?
Внимательно смотри сюда:
>"главное, что работает в одной IDE."
anonimb84a2f6fd141 07.04.2013 00:46 # −3
Питонье говно прикрыли? Вахахахаха, посмотрите, какой буйный. Из нормальных языков говно удаляют, а не газеткой прикрывают. Для буйных идиотов - газетка была метафора для фолдинга, а ты не въехал и на питон ее переклеил, бедненький.
3.14159265 08.04.2013 14:39 # 0
Странно. Вот почему-то на этом сайте у адептов питона и сисярпика посты такие будто их писал агрессивный школьник...
>газетка была метафора для фолдинга, а ты не въехал и на питон ее переклеил, бедненький.
Я привел пример, даже джва - как это бывает в жизни, а не в твоих метафорических фантазиях.
roman-kashitsyn 08.04.2013 14:43 # +2
Да потому что это и есть агрессивный школьник, оправдывающий "говнистостью" своё неосиляторство предмета.
anonimb84a2f6fd141 08.04.2013 18:11 # −2
roman-kashitsyn 08.04.2013 18:14 # 0
Как и любой живой язык. Многие вещи, кстати, в Java были изначально правильно сделаны, а в питоне появились лишь в третьей версии (внятное разделение разделение сырых бинарных массивов и юникодных строк, к примеру).
anonimb84a2f6fd141 08.04.2013 18:22 # −2
У современной тройки проблем на порядок меньше. В питоне одна из главных проблем - слишком большая динамичность, замедляющая переход с двойки.
anonimb84a2f6fd141 08.04.2013 18:13 # −2
anonimb84a2f6fd141 08.04.2013 18:20 # −2
3.14159265 08.04.2013 15:50 # 0
Исправил. Не благодари.
anonimb84a2f6fd141 08.04.2013 18:10 # −4
LispGovno 03.05.2013 15:13 # 0
Ъ
Ставлю. Главное не забыть. А ещё какие фолдинги она умеет? Это без доп. плагинов?
roman-kashitsyn 05.05.2013 19:15 # +4
Среда
Интегрированной
Разработки
Ориентированных
Программ
Думаю, Тарас одобрит
3.14159265 06.05.2013 11:13 # +2
Удачно. Сироп ассоциируется с синтаксичесим сахаром.
Govnocoder#0xFF 23.05.2013 22:44 # 0