@ru_python

Страница 5545 из 9768
Sergey
22.05.2018
21:40:48
и переменные объявленные в глобальной области видимости не видны внутри функций

там много чего

что ты не упомянул

Алексей
22.05.2018
21:41:14
Google
Алексей
22.05.2018
21:41:31
что ты не упомянул
говорил же, что долгая история

можно даже загуглить классическую статью на хабре про недостатки пыхи

Sergey
22.05.2018
21:47:55
В заключении, тот факт, что PHP программы оперируют на уровне запросов, означает, что рабочий процесс программиста является быстрым и эффективным, и остаётся быстрым после изменения приложения. Множество языков продуктивной разработки претендуют на это, но если они не очищают своё состояние при каждом запросе, и основной поток событий разделяет программный уровень состояния между запросами, они почти всегда требуют некоторое время на запуск. Для типичного сервера приложений на Python'е, типичный цикл отладки будет выглядеть примерно как «подумать, отредактировать, перезапустить сервер, отправить несколько тестовых запросов». Даже если «перезапустить сервер» занимает всего несколько секунд из общего количества часов, это забирает большой срез из 15-30 секунд наших человеческих мозгов на необходимость удержания в голове самой ненужной части текущего состояния.

тут он бред пишет

тот же фласк

и прочие через wsgi работают

там через пайпы сервер отдает запрос питоновскому приложению

и получает от него ответ

почти тож самое

Amir
22.05.2018
21:55:07
да какая разница пхп или питон

Sergey
22.05.2018
21:55:43
пхп уродец

Amir
22.05.2018
21:55:57
а ты считаешь что питон красавелла?

Sergey
22.05.2018
21:55:58
правда и питон хуйня полная так-то

Google
Алексей
22.05.2018
21:56:19
а ты считаешь что питон красавелла?
питон лучше пхп, точнее почти всё лучше пхп

Amir
22.05.2018
21:56:20
это рассизм девелоперский )))

Joss
22.05.2018
21:56:24
а ты считаешь что питон красавелла?
Он читаем и быстр в разработке

Алексей
22.05.2018
21:56:24
и да, питон красивый

Amir
22.05.2018
21:56:31
питон?

ну по мне руби быстрее(в разработке) и симпотичнее

хотя на перле я быстрее сделаю чем на пхп питоне или руби

все субъективно

Sergey
22.05.2018
21:57:07
там потоки прикрутили

Amir
22.05.2018
21:57:37
и часто ты прямо вот честно так потоками балуешься?

Sergey
22.05.2018
21:57:39
кто-то ж 20 лет ждал

Amir
22.05.2018
21:57:46
ну так что бы вообще понимать что там происходит, в ручном режиме?

Sergey
22.05.2018
21:57:56
ну например я тикет систему ща пишу

Amir
22.05.2018
21:58:06
а причем тут потоки?)

Sergey
22.05.2018
21:58:08
там тикеты из входящих писем формируются

письма в потоках парсятся

Amir
22.05.2018
21:58:46
в зеленых?

Sergey
22.05.2018
21:58:51
со всякими аттачами письмо метров 30 может весить

Amir
22.05.2018
21:58:59
т.е. ты точно знаешь какой сейчас поток в исполнении

Sergey
22.05.2018
21:59:06
уже приличное время занимает его обработка

Google
Amir
22.05.2018
21:59:23
может все таки лучше корутины?

Sergey
22.05.2018
21:59:38
а вот в цветах потоков я не разбираюсь

Sergey
22.05.2018
21:59:59
чем твои корутины лучше?

пидорская вещь

Roman
22.05.2018
22:00:20
Amir
22.05.2018
22:00:30
от опыта и к чему рука лежит )

Sergey
22.05.2018
22:00:35
если захотелось с калббеками асинками и эвейтами ебаться пиши на ноде

Amir
22.05.2018
22:00:59
а ты уверен что знаешь ноду?

Roman
22.05.2018
22:01:00
там потоки прикрутили
Потоки не нужны в большинстве случаев

Алексей
22.05.2018
22:01:01
Го прекрасен
Давай начнём с такого вопроса: может ли вообще язык, содержащий в себе такую вещь как goto называться прекрасным?

Nikolay
22.05.2018
22:01:02
ну извинити

другого питона у нас для вас нет

Amir
22.05.2018
22:01:11
исходники смотерл как устроены колбеки в стеке?)

Алексей
22.05.2018
22:01:15
Sergey
22.05.2018
22:01:20
на питоне много библиотек только вот в асинхронность большинство не может

Алексей
22.05.2018
22:01:27
Может
неправильный ответ

Sergey
22.05.2018
22:01:36
не то что в асинхронность а в банальную потокобезопасность

Amir
22.05.2018
22:01:37
как евентлуп себя поведет, если ты устроишь сильную нагрузку на проц с расчетами

Google
Amir
22.05.2018
22:01:56
хреново)

Nikolay
22.05.2018
22:01:57
Идите спать уже, солнце скоро встанет, опять за весла

Sergey
22.05.2018
22:02:26
покемон грузит тем как устроены калбеки в ноде

Nikolay
22.05.2018
22:02:35
ок.

В интернете опять кто-то не прав?

Sergey
22.05.2018
22:03:58
как в питоне эти корутины работают

в сишарпе асинки просто над тредами синтаксический сахар

Алексей
22.05.2018
22:04:39
ну просто насколько я знаю, если в горутине будет крутиться числодробильный код, то планировщик го её не будет самостоятельно убирать из тредпула и если насоздавать кучу горутин с числодроблением, то всё зависнит к хренам

В ноде зависнит к хренам ещё раньше

Amir
22.05.2018
22:06:31
В ноде зависнит к хренам ещё раньше
да там просто тик из евентлупа не приплывет и рано или поздно стек с вашими колбеками кишками наружу вылзет

Александр
22.05.2018
22:07:51
Подскажите дешевый хостинг для питона. Дешевле 5$

Алексей
22.05.2018
22:08:05
в сишарпе асинки просто над тредами синтаксический сахар
если бы это было так, то async/await было бы просто вообще бессмысленной вещью

Sergey
22.05.2018
22:08:58
I am really glad someone asked this question, because for the longest time I also believed threads were necessary to concurrency. When I first saw event loops, I thought they were a lie. I thought to myself "there's no way this code can be concurrent if it runs in a single thread". Keep in mind this is after I already had gone through the struggle of understanding the difference between concurrency and parallelism. After research of my own, I finally found the missing piece: select(). Specifically, IO multiplexing, implemented by various kernels under different names: select(), poll(), epoll(), kqueue(). These are system calls that, while the implementation details differ, allow you to pass in a set of file descriptors to watch. Then you can make another call that blocks until the one of the watched file descriptors changes. Thus, one can wait on a set of IO events (the main event loop), handle the first event that completes, and then yield control back to the event loop. Rinse and repeat. How does this work? Well, the short answer is that it's kernel and hardware-level magic. There are many components in a computer besides the CPU, and these components can work in parallel. The kernel can control these devices and communicate directly with them to receive certain signals. These IO multiplexing system calls are the fundamental building block of single-threaded event loops like node.js or Tornado. When you await a function, you are watching for a certain event (that function's completion), and then yielding control back to the main event loop. When the event you are watching completes, the function (eventually) picks up from where it left off. Functions that allow you to suspend and resume computation like this are called coroutines.

Алексей
22.05.2018
22:09:56
I am really glad someone asked this question, because for the longest time I also believed threads were necessary to concurrency. When I first saw event loops, I thought they were a lie. I thought to myself "there's no way this code can be concurrent if it runs in a single thread". Keep in mind this is after I already had gone through the struggle of understanding the difference between concurrency and parallelism. After research of my own, I finally found the missing piece: select(). Specifically, IO multiplexing, implemented by various kernels under different names: select(), poll(), epoll(), kqueue(). These are system calls that, while the implementation details differ, allow you to pass in a set of file descriptors to watch. Then you can make another call that blocks until the one of the watched file descriptors changes. Thus, one can wait on a set of IO events (the main event loop), handle the first event that completes, and then yield control back to the event loop. Rinse and repeat. How does this work? Well, the short answer is that it's kernel and hardware-level magic. There are many components in a computer besides the CPU, and these components can work in parallel. The kernel can control these devices and communicate directly with them to receive certain signals. These IO multiplexing system calls are the fundamental building block of single-threaded event loops like node.js or Tornado. When you await a function, you are watching for a certain event (that function's completion), and then yielding control back to the main event loop. When the event you are watching completes, the function (eventually) picks up from where it left off. Functions that allow you to suspend and resume computation like this are called coroutines.
и что это?

Sergey
22.05.2018
22:10:04
ничего

Александр
22.05.2018
22:10:27
hetzner, scaleway
спасибо

Google
Sergey
22.05.2018
22:10:54
все эти корутины полезны только в приложениях, где функции: select(), poll(), epoll(), kqueue() часто вызываются

веб сервера

и всякие там парсеры

боты

Алексей
22.05.2018
22:11:33
вот именно

Sergey
22.05.2018
22:11:52
а он про что рассказывал

про вычисления

и питоновские корутины

и нода

одинаково загнутся

так что письма имеет смысл в тредах парсить

там пачка из 10 писем долго парсится

и корутины мне никак уж не помогут

Amir
22.05.2018
22:13:16
а ему вообще пофигу :)

Алексей
22.05.2018
22:13:41
корутины для cpu bound задач не предназначены, это в принципе очевидно

питоновские потоки тоже могут тут не особо помочь из-за GIL

тут уже надо смотреть на конкретную реализацию

МАТЬ
22.05.2018
22:23:43
Привет ребята , кто может бота создать в телеге?

Димон
22.05.2018
22:24:51
Любой зарегистрированный пользователь.

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