@ru_python

Страница 2419 из 9768
Евгений
05.03.2017
20:47:28
Начать можно хоть с бекенд python(django), хоть с iOS swift/obj-c, хоть с js front/back

вроде джуниор без опыта как раз будет 40-50 получать

джанга уже нах никому не нужна

ios надо

Google
Евгений
05.03.2017
20:47:28
да ну ее впизду

js надо тогда учить чтобы четка

за нее еще платят

Потом из тестировщика в девопсы

нада новое учить пиздатое

а не старье всякое

Потом в погромисты

Потом в ПМ

джанго не старье

проект то развивается

Потом обратно в дворники :(

джанго нинужно имхо

Я питон за пару часов выучил (именно синтаксис, язык до сих пор познаю по необходимости). Перед реальной работой очень желательно набраться опыта самостоятельно на real-world-like проектах.

Google
Евгений
05.03.2017
20:47:28
Если совсем опыта нет, и времени тоже нет, начинай с фронтенда. Html, css, js.

Там можно очень быстро научиться делать хоть что-то.

Блин, за месяц ты все равно нихера не научишься нормально программировать. Но на фронтенде ты сделаешь больше, чем на бэкенде, а именно сверстаешь хоть какую-то страницу вместо программы, которая читает числа Фиб рекурсией за целый месяц.

Я лично сначала выучил Джаву. Три месяца от нуля в программировании до знания Java stdlib (без коллекций, мапов и многопоточности). Потом я взялся за Питон. На Питоне я реально писал бэкенд. На Джаве - 200 строк, но я ни разу не жалею, потому что оно в меня вдолбило ООП, которое мне сейчас надо при работе со Свифтом.

Да. На js + php, как все правильные хипстеры.

Правильные хипстеры даавно на ruby сидят, попивая свои любимые напитки.

Я бы рекомендовал начинать с Кернигана и Ричи, если знаешь, что такое переменная, функция, дабл-флоут-инт и тп. Если не совсем нуб, короче. Потом уже к джаве - это классика ООП, который тебе понадобится 90%. Только не поймите меня неправильно, не начинайте писать на джаве и на спринге.

Начинать надо на си, чтобы иметь представление о том, как работает железо.

Я учил по full java 8 reference. Такая книга на 1500 страниц. Первые 400 прочитал каждое слово.

Nikolay
05.03.2017
20:47:41
посмотри, как работает imap_unordered() в gevent

вот что-то такое и должно быть в нормальной реализации

вроде в 3.6 сделали

иди играй в checkio.org

CthUlhUzzz
05.03.2017
20:48:16
так это ортогональные понятия
Можешь юзкейс привести для ensure_future?

Nikolay
05.03.2017
20:48:37
Можешь юзкейс привести для ensure_future?
так я его как раз юзаю в паре с gather() сейчас

с помощью ensure_future делаю таски, сую в список, и на него делаю gather

Rocket
05.03.2017
20:48:53
так это ортогональные понятия
Делают то тоже самое. Gather тебе собирает много корутин в одну фючу. И из неё ты можешь достать результаты. Если хочешь. Ensure тебе дает на выход более сложный механизм.

Nikolay
05.03.2017
20:49:35
а gather явно ждет завершения всех воркеров

Google
Nikolay
05.03.2017
20:50:06
ну хотя да, я понял, о чем ты

Как это не говорит то?
не говорит, он просто пихает корутину в луп

больше он ничего не делает

возвращает фьючер на нее, да

Rocket
05.03.2017
20:51:35
Обе возвращают фючу

Nikolay
05.03.2017
20:51:53
Обе возвращают фючу
я понял твой пойнт

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

да, в этом смысле они похожи

но мне надо не фьючер на список, а итератор по результатам по мере готовности

CthUlhUzzz
05.03.2017
20:52:53
Очереди есть

Nikolay
05.03.2017
20:53:18
Очереди есть
понятно, что это можно реализовать с примитивами, будет как в поточном программировании

Rocket
05.03.2017
20:53:28
Вот он уже может возвращать результаты по мере готовности

Nikolay
05.03.2017
20:53:42
прикол в том, что в gevent, как я уже сказал, есть imap_unordered() :)

а тут нет

CthUlhUzzz
05.03.2017
20:54:52
Похоже, кстати

Wait for the Futures and coroutine objects given by the sequence futures to complete. Coroutines will be wrapped in Tasks. Returns two sets of Future: (done, pending).

Nikolay
05.03.2017
20:55:26
а, ты про это? https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.wait

Google
CthUlhUzzz
05.03.2017
20:56:12
asyncio.wait()

Rocket
05.03.2017
20:56:26
https://docs.python.org/3/library/asyncio-task.html#asyncio.wait

Nikolay
05.03.2017
20:57:22
а все, нашел

да

ну, это не совсем то

он просто возвращает управление, когда либо одна закончена, либо все

а мне надо итератор по результатам

грубо говоря, у меня есть set() из корутин и мне похрен на их порядок и когда какая закончит

я просто хочу получать результат сразу же, как он приходит

Admin
ERROR: S client not available

Nikolay
05.03.2017
20:59:31
я могу это сделать через asyncio.queue, да

но сахару бы

Nikolay
05.03.2017
20:59:56
Так wait это и делает!
не для одной корутины!

Rocket
05.03.2017
21:00:13
не для одной корутины!
Для любого количества он это делает.

Nikolay
05.03.2017
21:00:36
он не возвращает итератор

он возвращает два тупла

я могу его еще раз вызвать на втором тупле, да

в цикле

Google
Nikolay
05.03.2017
21:01:20
тогда это будет примерно то, что я хочу

Igor
05.03.2017
21:01:32
вы так много итераторы обсуждаете

пускай здесь полежит

Rocket
05.03.2017
21:01:53
?

Nikolay
05.03.2017
21:02:05


Igor
05.03.2017
21:02:31
ахахахах

Rocket
05.03.2017
21:05:13
тогда это будет примерно то, что я хочу
Именно. И, собственно, можешь взять и сделать себе сахарку ?. Хотя, я думаю, уже кто-то сделал.

Rocket
05.03.2017
21:06:06
ага, gevent, например)
Не на столько сладкого сахарку ?

Eldar
05.03.2017
21:07:32
Nikolay
05.03.2017
21:07:36
это будет что-то в духе: def imap_unordered(tasks): pending = tasks[:] while pending: done, pending = asyncio.wait(pending, return_when=asyncio.FIRST_COMPLETED) for task in done: yield task

нет, не так

ща

падажжи ебана

Nikolay
05.03.2017
21:09:20
поправил

но не, это херня

ибо мы делаем список в памяти каждый раз

а мне бы imap

Rocket
05.03.2017
21:10:08
Список тасков, но не результатов.

Так что все хорошо

Страница 2419 из 9768