TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #214 · 9.02

Традиционно программисты считают, что энтерпрайз разработка это переусложнённая и бюрократизированная вещь, где вместо интересных задач на алгоритмы люди просто перекладывают JSON'ы избыточным способом. В этом мнении есть доля истины, но я уже третий год работаю в энтерпрайзе, а до этого как раз занимался всякими стартап-стайл «интересными» алгоритмами. И хочу со своей стороны защитить энтерпрайз. Основная фишка в том, что одну программу разрабатывают много людей. И часть этих людей друг друга никогда не увидят. Поэтому обычно задача сделать работающий код дополняется двумя пунктами: 1. Другой человек, который первый раз видит ваш код, должен как можно быстрее понять, что этот код делает. 2. Другой человек, который будет дописывать ваш код, должен иметь как можно меньше шансов допустить ошибку и всё сломать. Окей, в реальной жизни есть ещё и третий пункт: 3. Вы ограничены в выборе инструментов и подходов к разработке, потому что легаси / корпоративная архитектура / секретность / отсутствие нужной лицензии / приказ начальства и так далее, нужное подчеркнуть. И это напоминает челленджи, которые геймеры себе придумывают для усложнения и повышения интереса. Пройти игру с одним пистолетом? Протащить через все уровни фигурку садового гнома из первой главы? Ни разу не получить ни одного повреждения? При этом вы ещё и в момент этого прохождения транслируете обучающий стрим, а другой игрок, загрузив ваши сейвы с любого места, должен быть способен пройти дальше, даже если он не про-геймер. Решать такие задачи на самом деле очень интересно. И отлично качает скилл в программировании, не хуже, чем эти ваши алгоритмы. Попробуй с первого раза сделай foolproof архитектуру, ещё и понятную. Есть о чём подумать. #dev

Hashtags

Резултати

Намерени 3 подобни публикации

Търсене: #threading

当前筛选 #threading清除筛选
djangoproject

@djangoproject · Post #157 · 06.09.2016 г., 19:55

https://docs.python.org/2/library/multiprocessing.html #multiprocessing is a package that supports spawning processes using an #API similar to the #threading module. The multiprocessing package offers both local and remote #concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of #threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows.

djangoproject

@djangoproject · Post #118 · 08.08.2016 г., 11:44

https://docs.python.org/3/library/multiprocessing.html multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows. The #multiprocessing module also introduces #APIs which do not have analogs in the #threading#module. A prime example of this is the Pool object which offers a convenient means of parallelizing the execution of a function across multiple input values, distributing the input data across processes (data #parallelism). The following example demonstrates the common practice of defining such functions in a module so that child processes can successfully import that module. This basic example of data parallelism using Pool,

djangoproject

@djangoproject · Post #107 · 02.08.2016 г., 15:22

https://github.com/python/asyncio The #asyncio#module provides infrastructure for writing #single-threaded concurrent code using #coroutines, #multiplexing#I/O access over sockets and other resources, running network clients and servers, and other related primitives. Here is a more detailed list of the package contents: a pluggable event loop with various system-specific implementations; transport and protocol abstractions (similar to those in Twisted); concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and others (some may be system-dependent); a Future class that mimics the one in the concurrent.futures module, but adapted for use with the event loop; #coroutines and #tasks based on yield from (PEP 380), to help write concurrent code in a sequential fashion; cancellation support for Futures and coroutines; synchronization primitives for use between coroutines in a single thread, mimicking those in the #threading module; an interface for passing work off to a threadpool, for times when you absolutely, positively have to use a library that makes blocking I/O calls. Note: The implementation of asyncio was previously called "Tulip".